:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#0f1218;--panel:#171b24;--panel-2:#1f2430;--text:#e8ecf3;--muted:#8d97a8;--line:#2b3240;--accent:#5aa9ff;--warn:#ffcf5a;--sea:#0b1322;--radius:10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--bg:#f4f6fa;--panel:#fff;--panel-2:#eef1f6;--text:#1a1f29;--muted:#5f6878;--line:#d6dbe5;--accent:#1e6fd9;--warn:#9a6a00;--sea:#d9e4f3}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent)}button,input{font:inherit;color:inherit}h1{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0;font-size:1.35rem;display:flex}h2{margin:1.2rem 0 .5rem;font-size:1rem}.tagline{color:var(--muted);font-size:.95rem;font-weight:400}.muted{color:var(--muted)}.warn{color:var(--warn)}.layout{flex-direction:column;gap:14px;max-width:1400px;margin:0 auto;padding:16px;display:flex}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.seg{border:1px solid var(--line);background:var(--panel);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;background:0 0;border:0;padding:5px 12px}.seg button.on{background:var(--accent);color:#fff}.consent{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.consent p{max-width:70ch;margin:4px 0 0;font-size:.9rem}.consent-actions{gap:8px;display:flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.controls{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 14px;display:flex}.field{flex-direction:column;gap:4px;min-width:150px;display:flex}.field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.field.grow{flex:280px}.controls input[type=text],.controls input[type=date]{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;width:100%;min-height:38px;padding:8px 10px}.controls input.invalid{border-color:#e5484d}.btn{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;min-height:38px;padding:8px 12px}.btn:hover{border-color:var(--accent)}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.zone-picker{position:relative}.zone-picker input{text-overflow:ellipsis}.zone-picker-list{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:8px;max-height:320px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 10px 30px #00000059}.zone-picker-list li{cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr;align-items:baseline;gap:0 8px;padding:6px 8px;display:grid}.zone-picker-list li.active{background:var(--panel-2)}.zone-city{font-weight:600}.zone-id{color:var(--muted);font-size:.85rem}.zone-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:.8rem;overflow:hidden}.time-input{align-items:center;gap:8px;display:flex}.time-input input[type=text]{width:7.5em}.time-input input[type=range]{width:180px;accent-color:var(--accent)}.summary{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:10px 14px;display:flex}.summary strong{font-size:1.1em}.here-changes{flex-wrap:wrap;gap:1.2rem;font-size:.9rem;display:flex}.main{grid-template-columns:minmax(0,2.2fr) minmax(300px,1fr);align-items:start;gap:16px;display:grid}@media (max-width:980px){.main{grid-template-columns:1fr}}.map-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.map{aspect-ratio:2;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.map:active{cursor:grabbing}.map-sea{fill:var(--sea)}.graticule{fill:none;stroke:#ffffff1f;stroke-width:.5px;pointer-events:none;vector-effect:non-scaling-stroke}@media (prefers-color-scheme:light){.graticule{stroke:#00000026}}.zone{stroke:#00000073;stroke-width:.5px;vector-effect:non-scaling-stroke;transition:opacity .15s}.zone.hover{stroke:#fff;stroke-width:1.5px}.zone-hatch{pointer-events:none;opacity:.8}.map-overlay{pointer-events:none}.ocean-shade{fill:#0a143247}.land-borders{fill:none;stroke:#00000059;stroke-width:.6px;vector-effect:non-scaling-stroke}.coast{fill:none;stroke:#000000bf;stroke-width:.9px;vector-effect:non-scaling-stroke}.zone-outline{fill:none;stroke:#ff3b6b;stroke-width:2.5px;vector-effect:non-scaling-stroke;pointer-events:none;paint-order:stroke}.zone-watched{fill:none;stroke:#19e3c1;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.map-loading{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.map-tooltip{z-index:10;pointer-events:none;color:#e8ecf3;background:#0f1218f2;border:1px solid #2b3240;border-radius:8px;max-width:320px;padding:8px 10px;font-size:.85rem;position:absolute;box-shadow:0 8px 24px #0006}.map-tooltip .muted{color:#a2abbb}.tt-title{font-weight:600}.tt-time{font-size:1.05rem}.tt-others{margin-top:4px;font-size:.8rem}.tt-hint{margin-top:4px;font-size:.78rem;font-style:italic}.watch-empty{margin:10px 2px;font-size:.9rem}.watch{margin-top:8px}.watch-head{justify-content:space-between;align-items:center;display:flex}.watch-head h2{margin:6px 0}.btn.small{min-height:0;padding:4px 10px;font-size:.85rem}.watch-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:6px;display:grid}.watch-card{border:2px solid #19e3c1;border-radius:8px;padding:10px 12px;position:relative}.watch-card.dark{color:#f2f4f8}.watch-card.light{color:#1a1f29}.watch-city{padding-right:22px;font-weight:600}.watch-id{opacity:.75;font-size:.8rem;font-weight:400}.watch-time{align-items:baseline;gap:8px;font-size:1.5rem;font-weight:700;display:flex}.watch-day{background:#00000040;border-radius:999px;padding:1px 6px;font-size:.75rem;font-weight:600}.watch-card.light .watch-day{background:#0000001f}.watch-meta{opacity:.85;font-size:.78rem}.watch-remove{cursor:pointer;opacity:.7;background:0 0;border:0;font-size:1.2rem;line-height:1;position:absolute;top:6px;right:8px}.watch-remove:hover{opacity:1}.watch-ref{cursor:pointer;opacity:.85;background:0 0;border:0;margin-top:6px;padding:0;font-size:.78rem;text-decoration:underline}.map-legend{border-radius:4px;height:10px;margin:0 14px 22px;display:flex;position:relative;overflow:visible}.map-legend>span{flex:1}.map-legend>span:first-of-type{border-radius:4px 0 0 4px}.map-legend-labels{color:var(--muted);justify-content:space-between;font-size:.72rem;display:flex;position:absolute;top:12px;left:0;right:0}.hint{margin:8px 2px;font-size:.82rem}.side{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.calendar-head{align-items:center;gap:4px;margin-bottom:6px;display:flex}.calendar-head button{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:6px;width:28px;height:28px}.calendar-title{text-align:center;flex:1;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-dow{text-align:center;color:var(--muted);padding:2px 0;font-size:.72rem}.calendar-cell{aspect-ratio:1;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;font-size:.9rem;display:grid;position:relative}.calendar-cell.empty{cursor:default}.calendar-cell:not(.empty):hover{background:var(--panel-2)}.calendar-cell.selected{background:var(--accent);color:#fff}.calendar-cell.marked{border-color:var(--line)}.calendar-cell.marked-selected{border-color:#ff3b6b}.calendar-dot{color:#000;text-align:center;background:#ff9f43;border-radius:999px;min-width:7px;height:7px;padding:0 2px;font-size:.6rem;font-weight:700;line-height:7px;position:absolute;bottom:2px;right:3px}.calendar-cell.marked-selected .calendar-dot{color:#fff;background:#ff3b6b}.jump-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.jump-row .btn{flex:1;padding:6px 8px;font-size:.85rem}.foot{text-align:center;padding:8px 0 16px;font-size:.8rem}
