@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-devanagari-500-normal-B_DH_jja.woff2)format("woff2"),url(/assets/rajdhani-devanagari-500-normal-BPH8g_s8.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-ext-500-normal-DiyUS11w.woff2)format("woff2"),url(/assets/rajdhani-latin-ext-500-normal-CyRWJZ5B.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-500-normal-ByNUCHrt.woff2)format("woff2"),url(/assets/rajdhani-latin-500-normal-DfvNI-Td.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-devanagari-600-normal-DhS7ScYx.woff2)format("woff2"),url(/assets/rajdhani-devanagari-600-normal-BtY48IV_.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-ext-600-normal-C9ZjJQAt.woff2)format("woff2"),url(/assets/rajdhani-latin-ext-600-normal-BleIgkPp.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(/assets/rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-devanagari-700-normal-BQQOj9BB.woff2)format("woff2"),url(/assets/rajdhani-devanagari-700-normal-DBRwWuxA.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-ext-700-normal-S6aYESQK.woff2)format("woff2"),url(/assets/rajdhani-latin-ext-700-normal-BPaQ7tlD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(/assets/rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b1014;--bg-2:#0e1519;--panel:#10171b;--panel-2:#141f25;--panel-3:#1a272e;--border:#85a5ad29;--border-2:#85a5ad4d;--gold:#f5d67b;--gold-2:#e6c468;--gold-soft:#f5d67b21;--gold-ink:#191308;--text:#f5f7f4;--text-2:#b8c7c3;--text-3:#8da19d;--green:#7bd88f;--green-soft:#7bd88f26;--orange:#ff7a5c;--orange-soft:#ff7a5c26;--red:#ff5c5c;--red-soft:#ff5c5c26;--blue:#6fb3ff;--blue-soft:#6fb3ff1f;--green-line:#7bd88f73;--orange-line:#ff7a5c66;--red-line:#ff5c5c73;--blue-line:#6fb3ff66;--gold-line:#f5d67b73;--border-control:#85a5ad99;--map-canvas:#121b20;--paper:#fff;--paper-ink:#0b1014;--paper-body:#34403f;--paper-subtle:#5d6b68;--paper-border:#34403f;--focus-ring:2px solid var(--gold);--focus-offset:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.1rem;--fs-xl:1.4rem;--fs-2xl:2rem;--fs-3xl:2.5rem;--dur-fast:80ms;--dur-normal:.12s;--dur-slow:.24s;--ease-out:cubic-bezier(.2, .7, .3, 1);--z-map-ui:2;--z-sticky:20;--z-dropdown:30;--z-toast:50;--z-skip:100;--topbar-h:58px;--tabs-top:var(--topbar-h);--radius:14px;--radius-sm:9px;--font-display:"Rajdhani", "Inter Variable", "Avenir Next", "Segoe UI", sans-serif;--font-body:"Inter Variable", "Inter", "Avenir Next", "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--maxw:1180px;--shadow:0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-padding-top:112px}body{background:radial-gradient(1200px 600px at 20% -10%, #f5d67b0f, transparent 60%), var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 .4em;font-weight:600;line-height:1.15}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{margin:0 0 .8em}a{color:var(--gold)}code,.mono{font-family:var(--font-mono)}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:6px}::selection{background:#f5d67b47}.muted{color:var(--text-3)}.lead{color:var(--text-2);font-size:1.05rem}.m-0{margin:0}.heading-sm{font-size:var(--fs-lg)}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sr-only,.pins-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-skip);border-radius:var(--radius-sm);background:var(--gold);color:var(--gold-ink);padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:12px}.skip-link:focus{top:8px}.main:focus{outline:none}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:var(--z-sticky);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0b1014d9;position:sticky;top:0}.topbar-inner{max-width:var(--maxw);height:var(--topbar-h);align-items:center;gap:18px;margin:0 auto;padding:0 20px;display:flex}.brand{color:var(--text);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.brand svg{width:32px;height:32px}.brand small{font-family:var(--font-body);font-weight:500;font-size:var(--fs-xs);color:var(--text-3);letter-spacing:0;text-transform:none;margin-left:2px}.topnav{gap:4px;margin-left:8px;display:flex}.topnav a{color:var(--text-2);border-radius:var(--radius-sm);padding:8px 12px;font-weight:500;text-decoration:none}.topnav a:hover{color:var(--text);background:var(--panel-2)}.topnav a.active{color:var(--gold);background:var(--gold-soft)}.topnav-placeholder{visibility:hidden}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.callsign-chip{color:var(--text-2);border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:6px 10px;font-weight:500;text-decoration:none}.lang-switch{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch button{color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 10px;font-size:.8rem;font-weight:600}.lang-switch button[aria-pressed=true]{background:var(--gold-soft);color:var(--gold)}.main{min-height:calc(100vh - var(--topbar-h));width:100%;max-width:var(--maxw);flex:1;margin:0 auto;padding:28px 20px 60px}.main-narrow{max-width:560px}.footer{border-top:1px solid var(--border);color:var(--text-3);text-align:center;padding:18px 20px;font-size:.85rem}@media (width<=720px){.topbar{position:static}.topbar-inner{flex-wrap:wrap;row-gap:4px;height:auto;padding:8px 14px}.topnav{order:3;width:100%;min-height:37px;margin-left:0}.brand small{display:none}.main{padding:18px 14px 40px}:root{--tabs-top:0px}html{scroll-padding-top:56px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header h1{margin-bottom:.2em}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-control);background:var(--panel-2);color:var(--text);cursor:pointer;white-space:nowrap;transition:background var(--dur-normal) ease, border-color var(--dur-normal) ease, transform var(--dur-fast) ease;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{background:var(--panel-3);border-color:var(--border-control)}.btn:not(.btn-primary)[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}.btn-primary:hover{background:var(--gold-2);border-color:var(--gold-2)}.btn-danger{border-color:var(--red-line);color:var(--red);background:0 0}.btn-danger:hover{background:var(--red-soft)}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--gold-soft);color:var(--text)}.btn-sm{padding:5px 10px;font-size:.85rem}.btn-lg{padding:12px 22px;font-size:1.05rem}.btn-block{width:100%}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card+.card{margin-top:16px}.card-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-title h2,.card-title h3{margin:0}.card-link{color:inherit;transition:border-color var(--dur-normal) ease, background var(--dur-normal) ease;text-decoration:none;display:block}.card-link:hover{border-color:var(--border-2);background:var(--panel-2)}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-tight{gap:6px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=720px){.grid-2{grid-template-columns:1fr}}.empty{text-align:center;border:1px dashed var(--border-2);border-radius:var(--radius);color:var(--text-2);padding:48px 20px}.empty h2{color:var(--text)}.field{flex-direction:column;gap:6px;display:flex}.field label,.field-label{color:var(--text-2);font-size:.9rem;font-weight:600}.field .hint{font-size:var(--fs-sm);color:var(--text-3)}.field-counter{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums;align-self:flex-end}.field .error-text{color:var(--red);font-size:.85rem}input[type=text],input[type=number],input[type=email],input[type=search],select,textarea{font:inherit;color:var(--text);background:var(--bg-2);border:1px solid var(--border-control);border-radius:var(--radius-sm);width:100%;min-width:0;padding:9px 12px}@media (width<=768px){input[type=text],input[type=number],input[type=email],input[type=search],select,textarea{font-size:max(16px,1rem)}}input[type=color]{border:1px solid var(--border-control);border-radius:var(--radius-sm);background:var(--bg-2);cursor:pointer;width:42px;height:38px;padding:2px}input:focus,select:focus,textarea:focus{outline:var(--focus-ring);outline-offset:0;border-color:var(--gold)}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--red)}input[type=file]{color:var(--text-2)}.checkbox{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-2);color:var(--text-2);background:var(--panel-2);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.badge-draft{color:var(--text-3)}.badge-published{color:var(--blue);border-color:var(--blue-line);background:var(--blue-soft)}.badge-live{color:var(--green);border-color:var(--green-line);background:var(--green-soft)}.badge-paused{color:var(--orange);border-color:var(--orange-line);background:var(--orange-soft)}.badge-ended{color:var(--text-3)}.badge-cancelled{color:var(--red);border-color:var(--red-line);background:var(--red-soft)}.badge-paid{color:var(--green);border-color:var(--green-line);background:var(--green-soft)}.badge-unpaid{color:var(--gold);border-color:var(--gold-line);background:var(--gold-soft)}.dot{border:1px solid #ffffff40;border-radius:50%;width:10px;height:10px;display:inline-block}.tabs{top:var(--tabs-top);z-index:calc(var(--z-sticky) - 1);background:var(--bg);box-shadow:inset 0 -1px 0 var(--border);gap:2px;margin-bottom:20px;display:flex;position:sticky;overflow:auto hidden}.tabs a{color:var(--text-2);white-space:nowrap;border-bottom:2px solid #0000;padding:10px 14px;font-weight:600;text-decoration:none}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--gold);border-bottom-color:var(--gold)}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}.table th{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.table-wrap{position:relative;overflow-x:auto}.table-scroll{max-width:100%;position:relative;overflow-x:auto}dialog.dialog{background:var(--panel);color:var(--text);border:1px solid var(--border-2);border-radius:var(--radius);width:min(520px,100vw - 32px);box-shadow:var(--shadow);padding:22px}dialog.dialog::backdrop{background:#0009}.dialog-actions{background:var(--panel);margin:8px -22px -22px;padding:12px 22px 22px;position:sticky;bottom:-22px}.one-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toasts{z-index:var(--z-toast);flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--panel-3);border:1px solid var(--border-2);border-left:4px solid var(--gold);border-radius:var(--radius-sm);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 14px;display:flex}.toast-text{flex:1}.toast-action{font:inherit;color:var(--gold);cursor:pointer;background:0 0;border:0;padding:6px 8px;font-weight:600}.toast-close{width:28px;height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin:-4px -6px -4px 0;font-size:1.2rem;line-height:1;display:grid}.toast-close:hover{color:var(--text);background:var(--panel-2)}.toast-error{border-left-color:var(--red)}.toast-success{border-left-color:var(--green)}.alert{border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--panel-2);padding:12px 14px}.alert-warn{border-color:var(--orange-line);background:var(--orange-soft)}.alert-ok{border-color:var(--green-line);background:var(--green-soft)}.alert-error{border-color:var(--red-line);background:var(--red-soft)}.spinner{border:3px solid var(--border-2);border-top-color:var(--gold);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}.spinner-sm{border-width:2px;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.center{justify-content:center;align-items:center;padding:40px;display:flex}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:.95rem;display:grid}.kv dt{color:var(--text-3)}.kv dd{margin:0}.map{border-radius:var(--radius);border:1px solid var(--border-2);background:var(--bg-2);width:100%;height:520px;overflow:hidden}@media (width<=720px){.map{height:380px}}.maplibregl-ctrl-attrib{font-size:10px}.not-found{text-align:center;max-width:560px;margin:40px auto}@media print{.topbar,.footer,.no-print{display:none}body{color:#000;background:#fff}}.signin-mark{flex:none;width:44px;height:44px}.map-style-toggle{z-index:var(--z-map-ui);border:1px solid var(--border-2);background:var(--panel);border-radius:8px;margin:0;padding:2px;display:flex;position:absolute;bottom:28px;right:10px;box-shadow:0 2px 8px #00000059}.map-style-toggle button{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:13px}.map-style-toggle button.active{background:var(--gold);color:var(--gold-ink);font-weight:600}.datetime{align-items:stretch;gap:8px;display:flex}.datetime-date{flex:auto;min-width:0;position:relative}.datetime-date input{padding-right:40px}.datetime-open{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.datetime-open:hover{color:var(--gold)}.datetime .datetime-time{text-align:center;flex:0 0 5.5em;width:5.5em}.calendar{z-index:var(--z-dropdown);border:1px solid var(--border-2);background:var(--panel-2);border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000073}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.calendar-head button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:0;font-size:1.2rem}.calendar-head button:hover{background:var(--panel-3)}.calendar-title{font-weight:600}.calendar-grid{border-collapse:collapse}.calendar-grid th{color:var(--text-3);padding:4px 0;font-size:.75rem;font-weight:500}.calendar-grid td{padding:1px}.calendar-grid button{border-radius:var(--radius-sm);width:34px;height:32px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000}.calendar-grid button:hover:not(:disabled){background:var(--panel-3)}.calendar-grid button.today{border-color:var(--border-2)}.calendar-grid button.selected{background:var(--gold);color:var(--gold-ink);font-weight:600}.calendar-grid button:disabled{color:var(--text-3);opacity:.4;cursor:default}.signin-providers{flex-direction:column;align-items:center;gap:12px;display:flex}.signin-google{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:300px;max-width:100%;height:44px}.signin-apple{width:280px;max-width:100%;height:40px}.danger-card{border-color:var(--red-line)}.meeting-marker{cursor:pointer;filter:drop-shadow(0 2px 3px #00000080);outline:none;flex-direction:column-reverse;align-items:center;display:flex}.meeting-marker span{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--gold-ink,#0b1014);background:var(--gold);border-radius:4px;margin-bottom:2px;padding:1px 5px;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden}.meeting-marker:focus-visible svg{box-shadow:0 0 0 2px var(--bg), 0 0 0 5px var(--gold);border-radius:50%;outline:none}@media (pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:40px}.checkbox{min-height:44px}.checkbox input[type=checkbox]{width:20px;height:20px}.datetime-open{width:40px;height:40px;right:1px}.calendar-head button,.calendar-grid button,.maplibregl-ctrl-group button{width:40px;height:40px}.maplibregl-ctrl-attrib a{padding:6px 0;display:inline-block}.map-style-toggle button{padding:10px 12px}.toast-close{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card-link{transition:none}.btn:active{transform:none}.spinner{animation-duration:1.6s}}.phase-list,.phase-switcher-list{margin:0;padding:0;list-style:none}.phase-list{flex-direction:column;gap:10px;display:flex}.phase-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2);gap:10px;padding:12px}.phase-row-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.phase-row-title{color:var(--text-2);font-weight:600}.phase-row-tools{gap:6px;margin-left:auto;display:flex}.phase-number{background:var(--gold-soft);width:26px;height:26px;color:var(--gold);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.phase-fields{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;display:grid}.phase-area-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.phase-area-row .phase-save{margin-left:auto}dialog.dialog:has(.phase-area-dialog){width:min(880px,100vw - 32px)}.phase-area-dialog .map{height:min(440px,52vh)}.phase-filter{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.phase-filter .field{min-width:220px}.phase-filter .hint{padding-bottom:8px}.phase-switcher{border-color:#f5d67b59;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.phase-switcher-now{flex-direction:column;flex:260px;gap:4px;min-width:0;display:flex}.phase-switcher-goal{font-size:.9rem}.phase-switcher-list{flex-direction:column;flex:320px;gap:6px;display:flex}.phase-switcher-list li{align-items:center;gap:10px;min-height:34px;display:flex}.phase-switcher-name{overflow-wrap:anywhere;flex:1;min-width:0}.phase-switcher-list li.is-active .phase-switcher-name{font-weight:600}@media (width<=720px){.phase-fields{grid-template-columns:1fr}.phase-row-tools{width:100%;margin-left:0}.phase-area-row .phase-save{margin-left:0}.phase-filter .field{flex:100%;min-width:0}}.roster-totals{flex-wrap:wrap;gap:14px}.roster-chip{color:var(--text-2)}.roster-jump{gap:8px}.roster-jump-link{border:1px solid var(--border-2);border-radius:999px;max-width:100%;min-height:36px;padding:4px 12px;text-decoration:none}.roster-jump-link:hover{border-color:var(--border-control)}.roster-jump-link .one-line{min-width:0;max-width:16em}.roster-side{scroll-margin-top:72px}.roster-side-head{flex-wrap:wrap;gap:10px}.roster-side-title{min-width:0;margin:0}.roster-side-name{overflow-wrap:anywhere;min-width:0}.roster-count{font-size:var(--fs-sm);white-space:nowrap;font-weight:500}.roster-hint{font-size:var(--fs-sm)}.roster-pick{font-size:var(--fs-sm);gap:8px}.roster-pick select,.roster-controls select{width:auto;min-width:0;max-width:200px;font-size:var(--fs-sm);padding:4px 8px}.roster-squad{margin-top:12px}.roster-squad-head{border-radius:var(--radius-sm);background:var(--panel-2);gap:12px;padding:8px 10px}.roster-squad-name{min-width:0;font-size:var(--fs-md);overflow-wrap:anywhere}.roster-squad-empty{padding:10px 0}.roster-list{margin:0;padding:0;list-style:none}.roster-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"who menu""controls controls";align-items:center;gap:4px 10px;padding:8px 0;display:grid}.roster-row:last-child{border-bottom:0}.roster-who{grid-area:who;gap:4px 8px;min-width:0}.roster-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.roster-joined{font-size:var(--fs-xs);white-space:nowrap}.roster-tag{padding:1px 8px;font-size:.7rem}.badge-organizer{color:var(--gold);border-color:var(--gold)}.medic-mark{flex:none}.roster-controls{grid-area:controls;gap:8px;min-width:0}.roster-controls select{flex:auto;max-width:100%;min-height:40px}.roster-status{font-weight:600;font-size:var(--fs-sm);flex:none}.roster-status-alive{color:var(--green)}.roster-status-bleeding_out{color:var(--orange)}.roster-status-dead{color:var(--red)}.roster-menu-wrap{grid-area:menu;justify-self:end;position:relative}.roster-menu-button{width:44px;height:44px;min-height:44px;padding:0;font-size:1.3rem;line-height:1}.roster-menu{z-index:var(--z-dropdown);border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--panel-3);flex-direction:column;width:max-content;min-width:200px;max-width:min(320px,100vw - 32px);padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000073}.roster-menu[hidden]{display:none}.roster-menu-item{text-align:left;white-space:normal;justify-content:flex-start;gap:8px;width:100%;min-height:44px}.roster-menu-text{overflow-wrap:anywhere;min-width:0}.roster-menu-danger{color:var(--red)}@media (width>=721px){.roster-row{grid-template-columns:minmax(0,1fr) auto 44px;grid-template-areas:"who controls menu";padding:6px 0}.roster-controls select{flex:0 auto;width:200px;min-height:36px}}@media (width<=720px){.roster-side{padding:14px 12px}.roster-side-head{flex-direction:column;align-items:flex-start}.roster-pick{flex-wrap:wrap;width:100%}.roster-pick select{flex:160px;max-width:100%;min-height:40px;padding:6px 10px}.roster-controls select{padding:6px 10px}}.template-meta{flex-wrap:wrap;gap:14px}.template-sides{flex-wrap:wrap;gap:10px}.editor-fieldset{border:0;min-width:0;margin:0;padding:0}.editor-sides{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}@media (width<=720px){.editor-sides{grid-template-columns:1fr}}.editor-sides .card+.card{margin-top:0}.side-card{border-top:4px solid var(--side-colour,var(--border-2))}.swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0}.swatch[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 2px var(--bg)}.squad-row{grid-template-columns:minmax(0,1fr) 96px auto;align-items:start;gap:8px;display:grid}.squad-row .error-text{color:var(--red);grid-column:1/-1;font-size:.85rem}.cap-row{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;display:grid}.cap-row input[type=range]{width:100%;accent-color:var(--gold)}.area-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.area-vertex{background:var(--gold);border:2px solid var(--gold-ink);cursor:grab;border-radius:50%;width:16px;height:16px}.area-vertex-first{cursor:pointer;width:20px;height:20px;box-shadow:0 0 0 3px #f5d67b73}.area-mid{cursor:copy;background:#f5d67b59;border:1px solid #f5d67bcc;border-radius:50%;width:12px;height:12px}.option-toggle{flex-direction:column;gap:2px;display:flex}.option-toggle .hint{color:var(--text-3);padding-left:26px;font-size:.82rem}.option-toggle input:disabled+span{color:var(--text-3)}.squad-row-full{grid-column:1/-1}.editor-savebar{z-index:var(--z-sticky);padding:var(--space-3) 0 calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--border-2);position:sticky;bottom:0}.editor-savebar-text{color:var(--text-2);flex:100%;font-size:.9rem}@media (width>=721px){.editor-savebar-text{flex:auto}}html:has(.editor-savebar){scroll-padding-bottom:96px}@media (pointer:coarse){.swatches{gap:8px}.swatch{width:32px;height:32px}.area-vertex:before,.area-mid:before{content:"";border-radius:50%;position:absolute}.area-vertex:before{inset:-10px}.area-vertex-first:before{inset:-8px}.area-mid:before{inset:-11px}}
