:root{--bg:#0a0a0b;--bg-elevated:#121214;--bg-card:#18181a;--border:#2a2a2c;--text:#e4e4e6;--text-muted:#8a8a8e;--accent:#c9a227;--accent-dim:#8a7020;--available:#6ec4b6;--started:#e6a817;--completed:#3dba6d;--locked:#6a6a6e;--danger:#c44;--bg-hover:#222224;--radius:8px;--radius-lg:12px;--header-height:100px;--logo-margin:.3rem;--accent-soft:#c9a22726;--teal-soft:#6ec4b624;--shadow-card:0 1px 2px #0006;--shadow-pop:0 10px 30px #00000080;--font:"Segoe UI", system-ui, -apple-system, sans-serif;--card-width:272px;--footer-height:2.1rem;--footer-height-notices:auto}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--available);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#2a4540}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;line-height:1.5}#root{min-height:100dvh}#root:has(.app){height:100dvh;overflow:hidden}.app{background:radial-gradient(ellipse 90% 42% at 50% 0%, #ffffff0a, transparent 55%), radial-gradient(ellipse 55% 35% at 50% 100%, #00000073, transparent 50%), var(--bg);flex-direction:column;height:100dvh;min-height:0;max-height:100dvh;display:flex;overflow:hidden}.app--home{--header-height:0px}.app--home .main-layout{min-height:0}.app-footer{height:var(--footer-height);min-height:var(--footer-height);max-height:var(--footer-height);color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg);-webkit-user-select:none;user-select:none;box-sizing:border-box;z-index:40;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;padding:0 .75rem;font-size:.62rem;line-height:1.25;display:flex}.app-footer--with-notices{height:auto;max-height:none;min-height:var(--footer-height);align-items:stretch;padding:.35rem .85rem .3rem}.app-footer-notices{flex-direction:column;gap:.2rem;width:100%;max-width:72rem;margin:0 auto;display:flex}.footer-notice{color:var(--accent);text-align:center;margin:0;font-size:.68rem;line-height:1.3}.footer-notice--warn{color:#e0a030}.app-footer-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;line-height:1;display:flex}.app-footer-feedback{appearance:none;color:var(--accent);font:inherit;font-size:inherit;letter-spacing:.02em;cursor:pointer;text-underline-offset:.15em;background:0 0;border:0;margin:0;padding:0;font-weight:650;text-decoration:underline}.app-footer-feedback:hover{color:var(--text)}.app-footer-updated{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.app-footer-updated-label{color:var(--text-muted)}.app-footer-logout{appearance:none;color:#e09090;font:inherit;font-size:inherit;letter-spacing:.02em;cursor:pointer;text-underline-offset:.15em;background:0 0;border:0;margin:0;padding:0;font-weight:650;text-decoration:underline}.app-footer-logout:hover{color:#f0b0b0}.app-footer-visits{letter-spacing:.02em;color:var(--text-muted)}.app-footer-online{letter-spacing:.02em;color:var(--text-muted);align-items:center;gap:.3rem;display:inline-flex}.app-footer-online-dot{background:#3dba6d;border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem;box-shadow:0 0 0 2px #3dba6d40}.loading-screen,.error-screen{text-align:center;padding:2rem;padding-bottom:calc(var(--footer-height) + .5rem);justify-content:center;align-items:center;gap:1rem;position:relative}.loading-screen>.app-footer,.error-screen>.app-footer{width:100%;position:absolute;bottom:0;left:0;right:0}.loader{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-header{z-index:50;height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);box-sizing:border-box;border-bottom:1px solid var(--border);background:linear-gradient(#141416 0%,#080809 100%);position:sticky;top:0;overflow:visible}.header-grid{box-sizing:border-box;grid-template-rows:100%;grid-template-columns:minmax(7.5rem,14rem) minmax(0,1fr) minmax(0,max-content);align-items:center;gap:.3rem .75rem;height:100%;min-height:0;max-height:100%;padding:.35rem .75rem .35rem 0;display:grid}.header-grid:has(.header-logo--with-access){grid-template-columns:minmax(12rem,20rem) minmax(0,1fr) minmax(0,max-content)}.header-logo{min-width:0;height:100%;max-height:100%;padding:var(--logo-margin) .25rem var(--logo-margin) calc(var(--logo-margin) + .15rem);grid-area:1/1;align-self:center;align-items:center;gap:.55rem;display:flex}.header-logo--with-access .header-logo-btn{flex-shrink:1;width:auto;min-width:0}.header-logo--with-access .header-access-code{margin-left:50px}.header-access-code{appearance:none;border-radius:var(--radius);background:var(--teal-soft);color:#8de3d3;min-width:6.5rem;height:2rem;font:inherit;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border:1px solid #2a5a52;flex-shrink:0;justify-content:center;align-items:center;padding:0 .7rem;font-size:.68rem;font-weight:800;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.header-access-code:hover:not(:disabled){color:#b8f5e8;background:#6ec4b638;border-color:#6ec4b6}.header-access-code:disabled{opacity:.7;cursor:wait}.header-access-code--revealed{isolation:isolate;color:#e8e8ea;background:radial-gradient(90% 80% at 50% 40%,#ffffff14,#0000 70%),#0a0a0b;border-color:#3a3a3c;min-width:5.75rem;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #ffffff0f,0 0 8px #00000073}.header-access-code-crt{pointer-events:none;z-index:0;position:absolute;inset:0}.header-access-code-scanlines{opacity:.55;mix-blend-mode:multiply;background:repeating-linear-gradient(#00000038 0 1px,#0000 1px 3px);animation:4.5s linear infinite header-access-scan;position:absolute;inset:0}.header-access-code-glow{background:linear-gradient(#0000 0%,#ffffff0d 45%,#ffffff1a 50%,#ffffff0d 55%,#0000 100%);animation:3.8s ease-in-out infinite header-access-roll;position:absolute;inset:-20% 0}.header-access-code-digits{z-index:1;letter-spacing:.24em;font-variant-numeric:tabular-nums;text-shadow:0 0 4px #78ffa0a6,0 0 10px #50dc7859;font-size:1.1rem;font-weight:800;animation:2.8s steps(2,end) infinite header-access-flicker;position:relative}.header-access-code--revealed.is-error{border-color:var(--danger);color:#e88;background:#280c0ce6;box-shadow:inset 0 0 10px #cc444440}.header-access-code--revealed.is-error .header-access-code-digits{letter-spacing:.08em;text-shadow:0 0 6px #ff646480;font-size:.85rem}.header-access-code:focus-visible{outline-offset:2px;outline:2px solid #6ec4b6}@keyframes header-access-flicker{0%,92%,to{opacity:1;transform:translate(0)}93%{opacity:.82;transform:translate(.4px)}94%{opacity:1;transform:translate(-.3px)}96%{opacity:.9}}@keyframes header-access-scan{0%{background-position:0 0}to{background-position:0 12px}}@keyframes header-access-roll{0%,to{opacity:.35;transform:translateY(-30%)}50%{opacity:.7;transform:translateY(30%)}}@media (prefers-reduced-motion:reduce){.header-access-code-scanlines,.header-access-code-glow,.header-access-code-digits{animation:none}}.brand-logo{width:100%;height:auto;max-height:calc(var(--header-height) - 1.1rem);object-fit:contain;object-position:left center;display:block}.brand-logo--gorditos{max-height:calc(var(--header-height) - .9rem);width:auto;max-width:11rem}.header-logo-btn{appearance:none;cursor:pointer;border-radius:var(--radius);background:0 0;border:0;width:100%;max-width:100%;padding:0;display:block}.header-logo-btn:hover .brand-logo{filter:brightness(1.08)}.header-mode-badge{border:1px solid var(--accent-dim);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;padding:.22rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.header-mode-badge.seasonal{color:#e8a57a;background:#b85c2e33;border-color:#8a4522}.header-mode-badge.routes{background:var(--teal-soft);color:#8de3d3;border-color:#2a5a52}.header-tabs{flex-flow:wrap;grid-area:1/2;justify-content:center;align-items:center;gap:.35rem;min-width:0;display:flex}.header-controls-top{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem .55rem;width:100%;min-width:0;display:flex}.header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.45rem;display:flex}.btn-wipe{padding:.28rem .55rem;font-size:.68rem}.btn-admin-panel{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius);white-space:nowrap;border:1px solid #c9a22773;padding:.28rem .55rem;font-size:.68rem;font-weight:650;text-decoration:none}.btn-admin-panel:hover{border-color:var(--accent);color:var(--text)}.log-sync-text{max-width:8.5rem}.header-right{flex-flow:row;grid-area:1/3;justify-content:flex-end;align-self:center;align-items:center;gap:.45rem;min-width:0;padding:0;display:flex}.view-filters{grid-column:1/-1;align-items:center;gap:.5rem;width:min(36rem,100%);min-width:0;margin:0 0 .35rem;display:flex}.view-filter-select{background:var(--bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a8e8a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right .65rem center;border:1px solid var(--border);border-radius:var(--radius);min-width:0;height:2rem;color:var(--text);font:inherit;cursor:pointer;appearance:none;flex:0 14rem;padding:.3rem 1.75rem .3rem .6rem;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.view-filter-select:hover{border-color:var(--accent-dim)}.view-filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.segmented{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.1rem;padding:.12rem;display:inline-flex}.segmented-item{color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .7rem;font-size:.78rem;font-weight:600;transition:background .18s,color .18s;display:inline-flex;position:relative}.segmented-item:hover{color:var(--text)}.segmented-item.active{background:var(--accent);color:#1b1305;box-shadow:0 1px 4px #00000059}.segmented-sub{padding:.2rem}.segmented-sub .segmented-item{padding:.28rem .65rem;font-size:.75rem}.seg-count{background:var(--bg-card);min-width:1.3rem;height:1.2rem;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.segmented-item.active .seg-count{color:#1b1305;background:#00000038}.game-mode-control{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);align-items:stretch;display:inline-flex;overflow:hidden}.game-mode-btn{appearance:none;color:var(--text-muted);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;padding:.22rem .4rem;font-size:.68rem;font-weight:700;transition:background .15s,color .15s}.game-mode-btn+.game-mode-btn{border-left:1px solid var(--border)}.game-mode-btn:hover{color:var(--text);background:var(--bg-hover)}.game-mode-btn.active{background:var(--accent);color:#1b1305}.game-mode-btn.seasonal.active{color:#fff8f2;background:#b85c2e}.home-usage{background:radial-gradient(90% 50% at 50% 0,#ffffff0d,#0000 55%),radial-gradient(60% 40% at 50% 100%,#0000008c,#0000 50%),#0a0a0b;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2rem;width:100%;height:100%;min-height:0;padding:clamp(1.25rem,4vw,2.5rem);display:flex;position:relative;overflow:auto}.home-usage-hero{text-align:center;width:100%;max-width:min(48rem,92vw)}.home-usage-logo{object-fit:contain;width:min(48rem,92vw);height:auto;margin:0 auto 1.15rem;display:block}.home-usage-logo--gorditos{background:0 0;width:min(28rem,78vw)}.home-usage-hero h1{letter-spacing:.02em;color:#d8e6e4;margin:0 0 .45rem;font-size:clamp(1.35rem,2.8vw,1.85rem);font-weight:800}.home-usage-hero p{color:#7a8e8a;margin:0;font-size:.95rem;line-height:1.45}.home-usage-strip{background:linear-gradient(#1c1c1ef2 0%,#0a0a0cfa 100%);border:1px solid #2a2a2c;grid-template-columns:repeat(3,minmax(0,1fr));width:min(56rem,100%);display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 8px 28px #00000073}.home-usage-strip--with-admin{grid-template-columns:repeat(4,minmax(0,1fr));width:min(72rem,100%)}a.home-usage-card{color:inherit;text-decoration:none}.home-usage-card{appearance:none;min-height:5.5rem;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-right:1px solid #222224;border-radius:0;flex-direction:row;align-items:center;gap:.9rem;padding:.95rem 1.15rem;transition:background .15s;display:flex;position:relative}.home-usage-card:last-child{border-right:0}.home-usage-card:hover{background:linear-gradient(#ffffff0f,#00000040)}.home-usage-card:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #a0a0a4}.home-usage-card-icon{filter:drop-shadow(0 2px 4px #0000008c);flex-shrink:0;width:3.4rem;height:3.4rem;transition:transform .15s}.home-usage-card:hover .home-usage-card-icon{transform:scale(1.06)}.home-usage-card-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.home-usage-card-title{letter-spacing:.01em;color:#e4e4e6;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:700;line-height:1.15}.home-usage-card-tag{letter-spacing:.14em;text-transform:uppercase;color:#8a8a8e;font-size:.68rem;font-weight:600}.home-usage-card-info{color:#9ab0ac;border:1px solid #5a706c;border-radius:50%;justify-content:center;align-items:center;width:1.05rem;height:1.05rem;font-size:.65rem;font-style:italic;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:.55rem;right:.65rem}.home-daily-code-btn{appearance:none;color:#d0d0d4;font:inherit;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#202022f2,#0a0a0cfa);border:1px solid #3a3a3c;margin-top:.15rem;padding:.7rem 1.35rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;box-shadow:0 6px 18px #00000059}.home-daily-code-btn:hover{color:#f0f0f2;background:linear-gradient(#303034fa,#0e0e10fa);border-color:#6a6a6e}.home-daily-code-btn:focus-visible{outline-offset:2px;outline:2px solid #a0a0a4}@media (width<=900px){.home-usage-strip,.home-usage-strip--with-admin{grid-template-columns:1fr}.home-usage-card{border-bottom:1px solid #1a2e2b;border-right:0;min-height:4.75rem}.home-usage-card:last-child{border-bottom:0}}.btn-trader-levels{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font:inherit;border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:.22rem .45rem;font-size:.68rem;font-weight:700;transition:border-color .15s,color .15s,background .15s}.btn-trader-levels:hover{border-color:var(--accent-dim);color:var(--text)}.btn-trader-levels.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.header-level{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.25rem;font-size:.7rem;display:inline-flex}.header-level-label{font-weight:600}.header-level input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:2.6rem;height:1.55rem;color:var(--text);font:inherit;text-align:center;padding:.1rem .25rem;font-size:.78rem;transition:border-color .15s,box-shadow .15s}.header-level input:hover{border-color:var(--accent-dim)}.header-level input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.lang-flags{z-index:2;flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex;position:relative}.lang-flag{background:var(--bg-card);cursor:pointer;border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:1.35rem;padding:0;transition:border-color .15s,box-shadow .15s,transform 80ms;display:inline-flex;overflow:hidden}.lang-flag img{object-fit:cover;width:100%;height:100%;display:block}.lang-flag:hover{border-color:var(--accent-dim)}.lang-flag.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.lang-flag:active{transform:scale(.96)}.view-mode-toggle{align-items:center;gap:.35rem;display:inline-flex}.view-mode-btn{background:var(--bg-card);width:2rem;height:1.35rem;color:var(--text-muted);cursor:pointer;border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,box-shadow .15s,color .15s,transform 80ms;display:inline-flex}.view-mode-btn:hover{color:var(--text);border-color:var(--accent-dim)}.view-mode-btn.active{color:var(--accent);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.view-mode-btn:active{transform:scale(.96)}.data-source-control{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem .5rem;min-width:0;display:inline-flex}.data-source-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.25rem;padding:.15rem;display:inline-flex}.data-source-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.25rem .65rem;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.data-source-btn:hover:not(:disabled){color:var(--text)}.data-source-btn.active{background:var(--accent-soft);color:var(--accent)}.data-source-btn:disabled{opacity:.4;cursor:not-allowed}.help-icon{border:1px solid var(--border);width:1.1rem;height:1.1rem;color:var(--text-muted);cursor:help;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;line-height:1;transition:border-color .15s,color .15s;display:inline-flex}.help-icon:hover,.help-icon:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.log-sync-status{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;font-size:.72rem;display:inline-flex}.log-sync-dot{background:var(--completed);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;box-shadow:0 0 0 3px #5ac8822e}.log-sync-text{white-space:nowrap;text-overflow:ellipsis;max-width:12rem;overflow:hidden}.log-sync-dot--warn{background:#e0a030;box-shadow:0 0 0 3px #e0a03033}.log-sync-stats{color:var(--text-muted);white-space:nowrap;border-left:1px solid var(--border-soft,#ffffff1f);margin-left:.15rem;padding-left:.5rem;font-size:.68rem}.log-sync-stats--warn{color:#e0a030;cursor:help}.log-sync-unmatched{outline:none;align-items:center;display:inline-flex;position:relative}.log-sync-unmatched:focus-visible .log-sync-stats--warn{outline-offset:2px;border-radius:3px;outline:1px solid #e0a030b3}.log-sync-unmatched-tip{z-index:70;text-align:left;white-space:normal;pointer-events:none;background:linear-gradient(160deg,#241c10fa 0%,#0e0e10f7 100%);border:1px solid #e0a03073;border-radius:6px;width:min(18.5rem,100vw - 1.5rem);padding:.7rem .75rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 10px 28px #00000080,inset 0 1px #ffffff0d}.log-sync-unmatched-tip:before{content:"";border:6px solid #0000;border-bottom-color:#e0a03073;position:absolute;bottom:100%;right:.7rem}.log-sync-unmatched-tip-title{color:#f0d080;margin:0 0 .35rem;font-size:.82rem;font-weight:700;line-height:1.3;display:block}.log-sync-unmatched-tip-body,.log-sync-unmatched-tip-status,.log-sync-unmatched-tip-ok{color:#ebe8dce6;margin:0;font-size:.78rem;line-height:1.4}.log-sync-unmatched-tip-status{color:#e0a030f2;margin-top:.4rem;font-weight:600}.log-sync-unmatched-tip-ok{color:#a0c8a0f2;border-top:1px solid #ffffff14;margin-top:.45rem;padding-top:.4rem;font-size:.74rem}.log-sync-hint{white-space:normal;cursor:default;max-width:24rem}.log-sync-status--error .log-sync-error{color:#f0a0a0;white-space:normal;max-width:28rem;text-overflow:unset;overflow:visible}.btn-connect-logs{border:1px solid var(--accent-dim);background:var(--accent-soft);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.3rem .7rem;font-size:.72rem;font-weight:600;transition:background .15s,border-color .15s}.btn-connect-logs:hover{border-color:var(--accent)}.btn-icon-ghost{width:1.5rem;height:1.5rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.btn-icon-ghost:hover{background:var(--bg-hover);color:var(--text)}.wipe-start-picker{flex-shrink:0;position:relative}.data-source-control .btn-icon-ghost,.data-source-toggle,.data-source-control .help-icon{flex-shrink:0}.wipe-start-backdrop{z-index:55;position:fixed;inset:0}.wipe-start-menu{z-index:60;min-width:15rem;max-width:20rem;max-height:min(18rem, calc(100vh - var(--header-height) - 1rem));background:var(--bg-panel,#141416);border:1px solid var(--border-soft,#ffffff1f);border-radius:.6rem;flex-direction:column;gap:.1rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;overflow-y:auto;box-shadow:0 10px 30px #00000073}.wipe-start-menu-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:.3rem .5rem;font-size:.68rem;font-weight:700}.wipe-start-menu-divider{background:var(--border-soft,#ffffff1f);height:1px;margin:.25rem .3rem}.wipe-start-option{text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:.4rem;align-items:center;gap:.3rem;padding:.4rem .5rem;font-size:.76rem;display:flex;overflow:hidden}.wipe-start-option:hover{background:var(--bg-hover)}.wipe-start-option.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.btn-icon-ghost.is-warn{color:#e6a817}.log-profiles-menu{min-width:17rem;max-width:22rem}.log-profiles-hint{color:var(--text-muted);white-space:normal;margin:0 0 .35rem;padding:0 .5rem .35rem;font-size:.68rem;line-height:1.35}.log-profile-row{border-radius:.4rem;flex-direction:column;gap:.25rem;padding:.4rem .45rem;display:flex}.log-profile-row+.log-profile-row{border-top:1px solid var(--border-soft,#ffffff14)}.log-profile-meta{flex-direction:column;gap:.1rem;font-size:.72rem;display:flex}.log-profile-meta strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.log-profile-meta span{color:var(--text-muted)}.log-profile-actions{gap:.25rem;display:flex}.log-profile-mode-btn{white-space:normal;text-align:center;flex:1;justify-content:center}.log-profile-unassigned{color:#e6a817;font-size:.65rem}.wipe-start-auto-tag{color:var(--accent);font-weight:600}.link-btn{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-weight:700;text-decoration:underline}.link-btn:hover{color:var(--text)}.task-actions.log-locked button,.detail-actions.log-locked button,.task-table-actions-inner.log-locked button{opacity:.4;cursor:not-allowed}.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}.btn-wipe{color:#f0a0a0;cursor:pointer;white-space:nowrap;background:#dc50501f;border:1px solid #dc505073;border-radius:999px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s}.btn-wipe:hover{background:#dc50503d;border-color:#dc5050b3}.search-input{background:var(--bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a8e8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat .7rem center;border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;height:2rem;color:var(--text);font:inherit;flex:1;padding:.3rem .7rem .3rem 2rem;transition:border-color .15s,box-shadow .15s}.search-input::placeholder{color:var(--text-muted)}.search-input:hover{border-color:var(--accent-dim)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.active-tasks-view{flex-direction:column;grid-column:1/-1;gap:1.5rem;min-width:0;display:flex}.active-tasks-view-table{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;display:grid}@media (width<=1100px){.active-tasks-view-table{grid-template-columns:1fr}}.map-section-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.btn-map{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border-color:var(--accent-dim);margin-left:auto;padding:.2rem .65rem;font-size:.75rem;font-weight:600}.btn-map:hover{background:var(--bg-hover);border-color:var(--accent)}.map-section-header h2{color:var(--accent);margin:0;font-size:1.1rem}.map-count{color:var(--text-muted);font-size:.8rem}.map-section-grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-width), 1fr));align-items:stretch;gap:.75rem;display:grid}.map-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.map-modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;flex-direction:column;width:90vw;height:min(92vh,100%);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000080}.map-modal--with-legend{width:90vw}.map-modal-header{z-index:1;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:relative}.map-modal-header h3{color:var(--accent);margin:0;font-size:1rem}.map-modal-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.map-modal-external{white-space:nowrap;font-size:.8rem}.map-modal-close{font-size:.8rem}.map-modal-place-banner{color:var(--accent);background:#e5e2001f;border-bottom:1px solid #e5e20059;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.map-modal-place-cancel{flex-shrink:0;font-size:.75rem}.map-modal-body{background:#0a0a0a;flex-direction:row;flex:1;align-items:stretch;min-height:0;display:flex;overflow:visible}.map-modal-map-area{z-index:2;touch-action:none;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;display:flex;position:relative;overflow:visible}.map-modal-map-viewport{z-index:0;pointer-events:none;justify-content:center;align-items:center;padding:.5rem;display:flex;position:absolute;inset:0;overflow:hidden}.map-modal-map-viewport .map-modal-image-wrap{pointer-events:auto}.map-modal-map-area--placing .map-modal-image-wrap{cursor:crosshair}.map-modal-map-area--zoomed:not(.map-modal-map-area--placing){cursor:grab}.map-modal-map-area--zoomed.map-modal-map-area--placing,.map-modal-map-area--zoomed.map-modal-map-area--placing .map-modal-image-wrap{cursor:crosshair}.map-modal-map-area.is-panning,.map-modal-map-area.is-panning .map-modal-image-wrap{cursor:grabbing!important}.map-modal-map-area.is-drawing-arrow,.map-modal-map-area.is-drawing-arrow .map-modal-image-wrap{cursor:crosshair!important}.map-modal-image-wrap{isolation:isolate;flex-shrink:0;line-height:0;position:relative}.map-modal-image{z-index:0;width:100%;height:100%;display:block;position:relative}.map-modal-markers{pointer-events:none;position:absolute;inset:0}.map-modal-markers--overlay{z-index:2;overflow:visible}.map-zone-annotation{box-sizing:border-box;pointer-events:none;z-index:5;background:#e5393524;border:2.5px dashed #e53935;position:absolute}.map-zone-annotation-label{color:#e53935;letter-spacing:.02em;white-space:nowrap;text-shadow:0 1px 2px #000000d9;pointer-events:none;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.75rem,2.2cqi,1.05rem);font-weight:700;position:absolute;top:.35rem;left:50%;transform:translate(-50%)}.map-quest-marker{pointer-events:auto;cursor:pointer;z-index:1;flex-direction:column;align-items:center;gap:.15rem;max-width:8rem;display:flex;position:absolute;overflow:visible;transform:translate(-50%,-100%)}.map-quest-marker-pin{background:#e5e200;border:2px solid #1a1a00;border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:0 0 0 2px #e5e20059,0 2px 6px #0009}.map-quest-marker--custom .map-quest-marker-pin{background:#6ec4b6;border-color:#0a1a18;box-shadow:0 0 0 2px #5eb8ff59,0 2px 6px #0009}.map-quest-marker--custom .map-quest-marker-label{border-color:#5eb8ff8c}.map-quest-marker-label{text-align:center;color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#000000c7;border:1px solid #e5e20073;border-radius:3px;max-width:100%;padding:.1rem .35rem;font-size:.65rem;font-weight:600;line-height:1.2;overflow:hidden}.map-quest-marker.is-hovered .map-quest-marker-pin{transform:scale(1.35);box-shadow:0 0 0 3px #e5e200bf,0 0 14px #e5e2008c,0 2px 8px #000000b3}.map-quest-marker.is-hovered .map-quest-marker-label{border-color:#e5e200d9;box-shadow:0 0 10px #e5e20059}.map-modal-legend-point-toggles{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.map-modal-legend-point-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border-radius:4px;align-items:center;gap:.2rem;padding:.15rem .35rem;font-size:.7rem;font-weight:650;display:inline-flex}.map-modal-legend-point-toggle input{accent-color:var(--accent);cursor:pointer;margin:0}.map-modal-legend-point-toggle:hover,.map-modal-legend-point-toggle.is-highlighted{color:var(--text);background:#e5e2001a;border-color:#e5e200a6}.map-modal-legend-point-toggle.is-hidden-marker{opacity:.55}.map-floating-tooltip{--map-tooltip-accent:var(--accent,#e5e200);z-index:1200;border:1px solid color-mix(in srgb, var(--map-tooltip-accent) 55%, transparent);pointer-events:none;text-align:left;background:linear-gradient(160deg,#1c2026f7 0%,#0e1014f5 100%);border-radius:6px;align-items:stretch;gap:.65rem;width:min(17.5rem,70vw);max-width:calc(100vw - 1rem);padding:.65rem .7rem;display:flex;position:fixed;transform:translate(-50%,calc(-100% - .55rem));box-shadow:0 8px 24px #0000008c,inset 0 1px #ffffff0f}.map-floating-tooltip.is-below{transform:translate(-50%,.55rem)}.map-floating-tooltip:after{content:"";border:6px solid #0000;border-top-color:color-mix(in srgb, var(--map-tooltip-accent) 55%, transparent);position:absolute;top:100%;left:50%;transform:translate(-50%)}.map-floating-tooltip.is-below:after{border-top-color:#0000;border-bottom-color:color-mix(in srgb, var(--map-tooltip-accent) 55%, transparent);top:auto;bottom:100%}.map-floating-tooltip-icon{object-fit:cover;object-position:center top;border:1px solid color-mix(in srgb, var(--map-tooltip-accent) 45%, transparent);background:#111;border-radius:4px;flex-shrink:0;width:3.25rem;height:3.25rem}.map-floating-tooltip-icon[src*=extract-]{object-fit:contain;object-position:center;padding:.2rem}.map-floating-tooltip-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.map-floating-tooltip-title{color:#f4f1e4;letter-spacing:.01em;font-size:.9rem;font-weight:700;line-height:1.25}.map-floating-tooltip-subtitle{letter-spacing:.04em;text-transform:uppercase;color:var(--map-tooltip-accent);font-size:.7rem;font-weight:600}.map-floating-tooltip-desc{color:#ebe8dceb;white-space:pre-line;margin:.2rem 0 0;font-size:.82rem;line-height:1.4}.map-floating-tooltip.has-items{width:min(20rem,78vw)}.map-floating-tooltip-items{flex-wrap:wrap;gap:.3rem;margin-top:.45rem;display:flex}.map-floating-tooltip-item{border:1px solid color-mix(in srgb, var(--map-tooltip-accent) 35%, transparent);color:#f4f1e4f2;background:#ffffff0d;border-radius:3px;align-items:center;gap:.25rem;max-width:100%;padding:.15rem .35rem;font-size:.68rem;font-weight:600;line-height:1.2;display:inline-flex}.map-floating-tooltip-item img{object-fit:contain;background:#00000059;border-radius:2px;flex-shrink:0;width:1.15rem;height:1.15rem}.map-floating-tooltip-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.map-modal-legend{z-index:3;background:var(--bg-elevated);flex-direction:column;flex-shrink:0;gap:.75rem;width:min(300px,34vw);padding:.75rem;display:flex;position:relative;overflow-y:auto}.map-modal-legend--left{border-right:1px solid var(--border);order:-1}.map-modal-legend--right{border-left:1px solid var(--border)}@media (width<=720px){.map-modal-body{flex-direction:column}.map-modal-legend{width:100%;max-height:32vh}.map-modal-legend--left{border-right:none;border-bottom:1px solid var(--border);order:0}.map-modal-legend--right{border-left:none;border-top:1px solid var(--border)}}.map-modal-legend-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 .4rem;font-size:.75rem;font-weight:600}.map-modal-legend-muted h4{color:var(--text-muted)}.map-modal-legend-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.map-modal-legend-list li{flex-direction:column;font-size:.8rem;display:flex}.map-modal-legend-item{border:1px solid var(--border);background:#ffffff08;border-radius:4px;padding:.45rem .5rem;transition:border-color .12s,background .12s,box-shadow .12s}.map-modal-legend-item.is-highlighted{background:#e5e20014;border-color:#e5e200a6;box-shadow:0 0 0 1px #e5e20033}.map-modal-legend-row{justify-content:space-between;align-items:stretch;gap:.5rem;min-height:3.25rem;display:flex}.map-modal-legend-aside{flex-shrink:0;align-items:stretch;gap:.3rem;display:flex}.map-modal-legend-trader{object-fit:cover;object-position:center top;border:1px solid var(--border);background:#111;border-radius:4px;width:3.1rem;height:100%;min-height:100%;display:block}.map-modal-legend-aside .map-marker-clear{align-self:flex-start}.map-modal-legend-text{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.map-modal-legend-name{color:var(--text);font-size:.82rem;font-weight:650;line-height:1.25;display:block}.map-modal-legend-desc{color:var(--text-muted);font-size:.72rem;line-height:1.35;display:block}.map-marker-clear{flex-shrink:0;min-width:1.5rem;padding:0 .4rem;font-size:1rem;line-height:1}.map-modal-place-hint{color:var(--text-muted);margin:0 0 .5rem;font-size:.75rem}.map-modal-route-points{flex-direction:column;gap:.25rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.map-modal-route-points li{color:var(--text);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.map-modal-route-points .route-point-dot{border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem}.map-modal-route-points span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.map-modal-route-points--editable li,.map-modal-route-point-row{align-items:center}.map-modal-route-point-input,.route-maps-personal-point-input{flex:1;min-width:0}.map-modal-route-point-actions,.route-maps-point-actions-icons{flex-shrink:0;align-items:center;gap:.25rem;margin-left:auto;display:flex}.btn-icon-action{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.btn-icon-action:hover:not(:disabled){color:var(--text);border-color:var(--accent-dim)}.btn-icon-action:disabled{opacity:.35;cursor:not-allowed}.route-arrow-list-icon{text-align:center;color:#22c55e;flex-shrink:0;width:.9rem;font-weight:700;line-height:1}.route-maps-point-list li.route-maps-point-item--personal,.route-maps-point-list li.route-maps-point-item--arrow{align-items:center}.route-maps-personal-point-edit{flex:1;min-width:0}button.route-map-marker{appearance:none;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;padding:0}.map-modal-place-btn{text-align:left;background:var(--bg-card);border:1px solid var(--border);width:100%;color:inherit;cursor:pointer;border-radius:4px;flex-direction:column;gap:.15rem;padding:.35rem .5rem;display:flex}.map-modal-place-btn:hover{background:var(--bg-hover);border-color:var(--accent-dim)}.map-modal-place-btn.is-active{border-color:var(--accent);background:#e5e20014}.map-modal-place-btn span{color:var(--accent);font-size:.7rem}.task-list.active-tab{grid-template-columns:unset;display:block}.settings-panel{background:var(--bg-elevated);border-bottom:1px solid var(--border);padding:1rem 1.5rem}.settings-panel h3{color:var(--text);margin:0 0 .35rem;font-size:.9rem}.trader-levels-panel{position:relative}.trader-levels-panel-header{grid-template-columns:1fr auto;align-items:start;gap:.25rem 1rem;margin-bottom:.75rem;display:grid}.trader-levels-hint{color:var(--text-muted);grid-column:1;max-width:52rem;margin:0;font-size:.78rem}.btn-icon-close{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);border-radius:var(--radius);cursor:pointer;grid-area:1/2/span 2;width:1.75rem;height:1.75rem;font-size:1.1rem;line-height:1}.btn-icon-close:hover{color:var(--text);border-color:var(--accent-dim)}.trader-levels{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.trader-levels label{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.trader-levels input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:3rem;color:var(--text);text-align:center;padding:.3rem}.settings-actions{flex-wrap:wrap;gap:.5rem;display:flex}.main-layout{flex:auto;grid-template-columns:minmax(0,1fr) minmax(260px,min(420px,38vw));min-width:0;min-height:0;display:grid;overflow:hidden}.main-layout>*{min-width:0}.task-list{grid-template-columns:repeat(auto-fill, minmax(var(--card-width), 1fr));max-height:calc(100dvh - var(--header-height) - var(--footer-height));align-content:start;align-items:stretch;gap:.75rem;padding:1rem;display:grid;overflow:clip auto;container:cards/inline-size}.empty-list{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:2rem}.task-card-collector{grid-column:1/-1;width:100%;max-width:none}.task-card:not(.task-card-collector){width:100%;max-width:none}.task-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;isolation:isolate;height:100%;min-height:190px;box-shadow:var(--shadow-card);flex-direction:column;padding:.875rem 38% .875rem .875rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden}.task-card.has-trader-bg:before{content:"";background-image:var(--trader-image);pointer-events:none;z-index:0;background-position:top;background-repeat:no-repeat;background-size:cover;width:33%;max-width:33%;height:100%;position:absolute;top:0;right:0}.task-card.has-trader-bg:after{content:"";background:linear-gradient(to right, var(--bg-card) 0%, #1c2129d9 30%, #1c212933 70%, transparent 100%);pointer-events:none;z-index:0;width:33%;max-width:33%;height:100%;position:absolute;top:0;right:0}.task-card>*{z-index:1;position:relative}.task-card:hover{border-color:var(--accent-dim);transform:translateY(-2px);box-shadow:0 6px 18px #00000073}.task-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim), 0 6px 18px #00000073}.task-card.state-locked{opacity:.65}.kappa-corner{z-index:2;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);pointer-events:none;text-shadow:0 1px 3px #000000d9;font-size:.7rem;font-weight:700;position:absolute;top:.5rem;right:.5rem}.task-card-header{gap:.5rem;margin-bottom:.5rem;padding-right:3rem;display:flex}.state-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.state-badge.state-available{background:var(--teal-soft);color:var(--available)}.state-badge.state-started{color:var(--started);background:#e6a81733}.state-badge.state-completed{color:var(--completed);background:#3dba6d33}.state-badge.state-locked{color:var(--locked);background:#5c657840}.loyalty-badge{letter-spacing:.03em;color:var(--accent);background:#c9a2272e;border-radius:4px;padding:.15rem .4rem;font-size:.7rem;font-weight:700}.task-name{margin:0 0 .5rem;font-size:1rem;font-weight:600}.task-meta{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.trader-tag,.level-tag,.map-tag{background:var(--bg-elevated);color:var(--text-muted);border-radius:4px;padding:.1rem .4rem;font-size:.72rem}.task-prereqs{color:var(--text-muted);margin:0 0 .5rem;font-size:.78rem}.task-keys{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.key-chip{background:var(--bg-elevated);border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .4rem;font-size:.72rem;display:inline-flex}.key-chip img{object-fit:contain;width:18px;height:18px}.task-actions{pointer-events:none;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.task-actions .btn{pointer-events:auto}.btn{border-radius:var(--radius);font:inherit;cursor:pointer;border:1px solid #0000;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:filter .15s,transform 80ms,background .15s,border-color .15s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn-start{background:var(--available);color:#fff}.btn-complete{background:var(--completed);color:#fff}.btn-reset{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-reset:hover{filter:none;color:var(--text);border-color:var(--accent-dim);background:var(--bg-hover)}.btn-icon{flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex}.btn-ghost{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.task-detail{border-left:1px solid var(--border);background:var(--bg-elevated);max-height:calc(100dvh - var(--header-height) - var(--footer-height));padding:1.25rem;overflow-y:auto}.task-detail.empty{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.detail-header{justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;display:flex}.detail-header-main{flex:1;min-width:0}.detail-header h2{margin:.5rem 0 .25rem;padding-right:.25rem;font-size:1.25rem}.detail-trader{color:var(--accent);margin:0;font-size:.9rem}.log-detection-hint{color:var(--text-muted);margin:.3rem 0 0;font-size:.72rem}.log-detection-hint--warn{color:#e0a030}.detail-stats{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin:1rem 0;font-size:.85rem;display:flex}.detail-stats strong{color:var(--text);margin-right:.25rem}.kappa-line{color:var(--accent)}.wiki-link{color:var(--available);margin-bottom:1rem;font-size:.85rem;display:inline-block}.wiki-btn{min-width:6.5rem;color:var(--available);background:linear-gradient(165deg,#6ec4b62e 0%,#142422f2 55%,#0c1010fa 100%);border:1px solid #6ec4b673;border-radius:.55rem;flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:.05rem;margin:0;padding:.55rem 1rem .5rem;line-height:1.1;text-decoration:none;transition:border-color .15s,background .15s,transform 80ms,filter .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 4px 14px #00000059}.wiki-btn:hover{border-color:var(--available);filter:brightness(1.1);color:#d8f4ef}.wiki-btn:active{transform:translateY(1px)}.wiki-btn-label{letter-spacing:.04em;color:#d8f4efb8;font-size:.68rem;font-weight:600}.wiki-btn-brand{letter-spacing:.14em;color:#9fd9cf;font-size:.95rem;font-weight:800}.task-detail section{margin-bottom:1.25rem}.task-detail h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem}.task-detail ul,.objectives-list{margin:0;padding-left:0;font-size:.9rem;list-style:none}.objective-item{margin-bottom:.55rem}.objective-check{cursor:pointer;align-items:flex-start;gap:.55rem;display:flex}.objective-check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--completed);cursor:pointer;flex-shrink:0;margin:.15rem 0 0}.objective-body{flex:1;min-width:0;line-height:1.45}.objective-item.done .objective-body{color:var(--text-muted);-webkit-text-decoration:line-through #7a8e8aa6;text-decoration:line-through #7a8e8aa6}.objectives-list li{margin-bottom:.5rem}.req-status{color:var(--text-muted);font-size:.8rem}.keys-grid{flex-direction:column;gap:.5rem;display:flex}.key-item{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.key-item img{object-fit:contain;width:32px;height:32px}.obj-type{text-transform:uppercase;background:var(--bg-card);color:var(--text-muted);border-radius:3px;margin-right:.35rem;padding:.1rem .35rem;font-size:.65rem;display:inline-block}.obj-maps{color:var(--text-muted);font-size:.85rem}.fir-tag{color:var(--started);font-size:.75rem;font-weight:600}.optional-tag{color:var(--text-muted);font-size:.75rem}.objectives-list li.optional{opacity:.75}.rewards-list{padding:0;list-style:none}.rewards-list li{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.rewards-list img{object-fit:contain;width:24px;height:24px}.detail-actions{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}.locked-hint{color:var(--text-muted);margin:0;font-size:.85rem}.prev-quests-list{padding-left:1.25rem;list-style:outside}.prereq-link-wrap{display:inline;position:relative}.prereq-link-trigger{font:inherit;color:var(--available);cursor:help;text-align:left;text-underline-offset:2px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline}.prereq-link-trigger:hover{color:var(--accent)}.task-preview-tooltip{z-index:1000;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);pointer-events:none;width:min(320px,70vw);max-height:min(420px,60vh);padding:.875rem;position:fixed;overflow-y:auto;transform:translate(-100%,-50%);box-shadow:0 8px 24px #00000073}.tooltip-header{flex-direction:column;gap:.35rem;margin-bottom:.65rem;display:flex}.tooltip-title{font-size:.95rem;line-height:1.3}.tooltip-trader{color:var(--accent);font-size:.85rem}.tooltip-stats{color:var(--text-muted);flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.tooltip-stats strong{color:var(--text);margin-right:.25rem}.tooltip-section{margin-bottom:.65rem}.tooltip-section:last-child{margin-bottom:0}.tooltip-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.35rem;font-size:.7rem;font-weight:600;display:block}.tooltip-objectives{margin:0;padding-left:1.1rem;font-size:.8rem;line-height:1.4}.tooltip-objectives li{margin-bottom:.35rem}.tooltip-objectives li.optional{opacity:.75}.tooltip-more{color:var(--text-muted);margin-left:-1.1rem;font-style:italic;list-style:none}.tooltip-rewards{margin:0;padding:0;font-size:.8rem;list-style:none}.tooltip-rewards li{margin-bottom:.2rem}@media (width<=1100px){.main-layout{grid-template-columns:1fr}.task-detail{border-left:none;border-top:1px solid var(--border);max-height:none}.task-list{max-height:none}}@media (width<=900px){.app-header{height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);position:static}.header-grid{grid-template-rows:100%;grid-template-columns:minmax(5.5rem,9rem) minmax(0,1fr) minmax(0,max-content);gap:.35rem .5rem;height:100%;min-height:0;padding:.3rem .6rem .3rem 0;overflow-x:auto}.header-logo{padding:var(--logo-margin);grid-area:1/1;justify-self:start}.brand-logo{max-height:calc(var(--header-height) - 1.1rem);width:auto;max-width:min(40vw,160px)}.header-controls-top{flex-wrap:wrap}.header-tabs{grid-area:auto;justify-self:center}.header-right{grid-area:auto;justify-content:flex-start;align-items:stretch}.header-controls-top{justify-content:flex-start}.view-filters{width:100%}}.story-node-card{padding-right:.875rem}.chapter-tag{color:var(--accent);background:#c9a22726;border-radius:4px;padding:.1rem .4rem;font-size:.72rem}.story-type-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .45rem;font-size:.65rem;font-weight:600}.story-type-badge.type-optional{color:var(--text-muted);background:#5a706c47}.story-type-badge.type-choice{color:#e88;background:#c4444433}.story-item-hints{color:var(--text-muted);margin:0 0 .5rem;padding-left:1rem;font-size:.75rem}.story-item-hints li{margin-bottom:.15rem}.story-item-more{margin-left:-1rem;font-style:italic;list-style:none}.story-chapter-desc{color:var(--text-muted);margin:0 0 1rem;font-size:.88rem;line-height:1.5}.task-list.story-tree-tab{padding:.75rem 1rem 1rem;display:block;overflow:auto}.story-view-tree{flex-direction:column;align-items:center;gap:1.25rem;width:100%;min-width:min-content;display:flex}.story-tree-view{flex-direction:column;align-items:center;gap:2rem;width:100%;display:flex}.story-tree-chapter{flex-direction:column;align-items:center;width:100%;display:flex}.story-tree-chapter-header{text-align:center;margin-bottom:.75rem}.story-tree-chapter-header h3{color:var(--accent);letter-spacing:.02em;margin:0;font-size:1rem}.story-tree-canvas-wrap{justify-content:center;padding-bottom:.5rem;display:flex;overflow:auto visible}.story-tree-canvas{flex-shrink:0;display:block}.story-tree-edges path{transition:stroke .2s,opacity .2s}.story-tree-node-fo{overflow:visible}.story-tree-node-fo.dimmed{opacity:.35}.story-tree-node{text-align:left;background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:100%;height:100%;color:inherit;font:inherit;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.45rem .55rem;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex;box-shadow:0 2px 8px #00000040}.story-tree-node:hover{border-color:var(--accent-dim);box-shadow:0 4px 12px #00000059}.story-tree-node.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 4px 14px #c9a22733}.story-tree-node.state-completed{border-color:#4caf5073}.story-tree-node.state-started{border-color:#c9a2278c}.story-tree-node.state-locked{opacity:.72}.story-tree-node .state-badge{padding:.1rem .35rem;font-size:.6rem}.story-tree-node .story-type-badge{padding:.08rem .35rem;font-size:.58rem}.story-tree-node-trader{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.58rem}.story-tree-node-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.story-api-tasks{border-top:1px solid var(--border);padding-top:1rem}.story-api-tasks-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.story-api-tasks-grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-width), 1fr));gap:.75rem;display:grid}.story-items-list{margin:0;padding:0;list-style:none}.story-items-list li{margin-bottom:.35rem;font-size:.9rem}.task-list.table-view-tab{display:block}.task-table-view{flex-direction:column;gap:1.25rem;display:flex}.task-table-top{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}.task-table-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:.8rem;font-weight:700;display:flex}.task-table-section-count{background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:700}.task-table-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:1.5rem;font-size:.85rem}.task-table-scroll{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);overflow-x:auto}table.task-table{border-collapse:collapse;width:100%;font-size:.85rem}table.task-table thead th{z-index:1;background:var(--bg-elevated);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem .75rem;font-size:.68rem;font-weight:700;position:sticky;top:0}table.task-table th.task-table-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}table.task-table th.task-table-sortable:hover{color:var(--text)}table.task-table th[aria-sort=ascending],table.task-table th[aria-sort=descending]{color:var(--accent)}.task-table-sort-arrow{color:var(--accent);margin-left:.3rem;font-size:.6rem;display:inline-block}table.task-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--border)}table.task-table td{vertical-align:middle;white-space:nowrap;padding:.9rem .75rem}table.task-table td.task-table-cell-name,table.task-table td.task-table-cell-items{white-space:normal}.task-table-row{cursor:pointer;background-color:var(--bg-card);height:4.5rem;transition:background-color .15s}.task-table-row:hover,.task-table-row.selected{background-color:var(--bg-hover)}.task-table-row.state-locked,.task-table-row.state-failed{opacity:.75}.task-table-row.state-available td:first-child{box-shadow:inset 3px 0 0 var(--available)}.task-table-row.state-started td:first-child{box-shadow:inset 3px 0 0 var(--started)}.task-table-row.state-completed td:first-child{box-shadow:inset 3px 0 0 var(--completed)}.task-table-row.state-locked td:first-child{box-shadow:inset 3px 0 0 var(--locked)}.task-table-row.state-failed td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.task-table-row.selected td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.task-table-col-trader{text-align:center;width:88px}table.task-table td.task-table-cell-trader{width:88px;padding:0}.task-table-cell-trader.has-trader-bg{background-image:var(--trader-image);background-position:50%;background-repeat:no-repeat;background-size:cover}.task-table-cell-name{min-width:200px}.task-table-name{align-items:center;gap:.4rem;font-size:.92rem;font-weight:600;display:flex}.task-table-kappa{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.62rem;font-weight:700}.task-table-cell-items .task-keys{max-width:260px;margin-bottom:0}.task-table-cell-actions{white-space:nowrap}.task-table-actions-inner{align-items:center;gap:.5rem;display:flex}.task-table-collapsible{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);overflow:hidden}.task-table-collapsible summary{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8rem;font-weight:700;list-style:none;display:flex}.task-table-collapsible summary::-webkit-details-marker{display:none}.task-table-collapsible summary:before{content:"▸";color:var(--accent);transition:transform .15s;display:inline-block}.task-table-collapsible[open] summary:before{transform:rotate(90deg)}.task-table-collapsible .task-table-section{padding:0 1rem 1rem}@media (width<=1100px){.task-table-top{grid-template-columns:1fr}}.app.compact{--card-width:230px}.app.compact .task-list,.app.compact .map-section-grid{grid-template-columns:repeat(auto-fill, var(--card-width));gap:.55rem}.app.compact .task-card:not(.task-card-collector){width:var(--card-width);justify-self:start;max-width:100%}.app.compact .task-card{border-top-style:solid;border-top-width:3px;min-height:118px;padding:.5rem 34% .5rem .6rem}.app.compact .task-card.state-available{border-top-color:var(--available)}.app.compact .task-card.state-started{border-top-color:var(--started)}.app.compact .task-card.state-completed{border-top-color:var(--completed)}.app.compact .task-card.state-locked{border-top-color:var(--locked)}.app.compact .task-card.state-failed{border-top-color:var(--danger)}.app.compact .task-card.selected{border-top-color:var(--accent)}.app.compact .task-card .state-badge{display:none}.app.compact .task-card-header:not(:has(.story-type-badge)){display:none}.app.compact .task-card-header{margin-bottom:.2rem;padding-right:2.25rem}.app.compact .kappa-corner{font-size:.62rem;top:.3rem}.app.compact .task-name{margin:0 0 .25rem;font-size:.9rem;line-height:1.25}.app.compact .task-meta,.app.compact .task-prereqs,.app.compact .task-keys{margin-bottom:.25rem}.app.compact .task-meta .map-tag,.app.compact .chapter-tag{padding:.05rem .35rem;font-size:.66rem}.app.compact .key-chip{padding:.1rem .3rem;font-size:.66rem}.app.compact .key-chip img{width:14px;height:14px}.app.compact .story-item-hints{margin-bottom:.25rem;font-size:.68rem}.app.compact .task-prereqs{font-size:.7rem;line-height:1.3}.app.compact .task-actions{gap:.35rem;margin-top:auto;padding-top:.3rem}.app.compact .task-actions .btn-start{padding:.3rem .6rem;font-size:.76rem}.app.compact .task-actions .btn-complete{padding:.2rem .45rem;font-size:.68rem;font-weight:600}.app.compact .task-actions .btn-icon{width:1.6rem;height:1.6rem}.app.compact .story-node-card{padding-right:.6rem}.main-layout--routes{grid-template-columns:1fr}.route-maps-view{min-height:0;max-height:calc(100dvh - var(--header-height) - var(--footer-height));flex:1;padding:1rem 1.25rem 1.5rem;overflow-y:auto}.route-maps-view--editor{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:.75rem;padding:.75rem;display:grid;overflow:hidden}.route-maps-intro h2{margin:0 0 .35rem;font-size:1.25rem}.route-maps-intro p{color:var(--text-muted);max-width:42rem;margin:0 0 1.25rem;font-size:.9rem}.route-maps-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}@media (width<=1100px){.route-maps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.route-maps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.route-map-card{appearance:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);cursor:pointer;text-align:left;flex-direction:column;align-items:stretch;gap:0;padding:0;transition:border-color .15s,background .15s,transform 80ms;display:flex;overflow:hidden}.route-map-card:hover{border-color:var(--accent-dim);background:var(--bg-hover)}.route-map-card:hover .route-map-card-thumb img{transform:scale(1.04)}.route-map-card-thumb{aspect-ratio:16/10;border-bottom:1px solid var(--border);background:#0a0e10;display:block;overflow:hidden}.route-map-card-thumb img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .2s;display:block}.route-map-card-info{flex-direction:column;gap:.2rem;padding:.7rem .85rem .8rem;display:flex}.route-map-card-name{font-size:.95rem;font-weight:700}.route-map-card-meta{color:var(--text-muted);font-size:.75rem}.route-maps-sidebar{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.85rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.route-maps-back{align-self:flex-start}.route-maps-map-title{margin:0;font-size:1.1rem}.route-maps-editor-hint{color:var(--text-muted);margin:0;font-size:.78rem}.route-maps-colors h3,.route-maps-points h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.8rem}.route-color-rows{flex-direction:column;gap:.35rem;margin-bottom:.5rem;display:flex}.route-color-row{border-radius:var(--radius);background:var(--bg-card);border:1px solid #0000;align-items:center;gap:.45rem;padding:.2rem .3rem;display:flex}.route-color-row.active{border-color:var(--accent-dim);background:var(--accent-soft)}.route-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;flex-shrink:0;width:1.45rem;height:1.45rem;padding:0;box-shadow:inset 0 0 0 1px #00000059}.route-color-swatch.active{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.route-color-name-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;height:1.7rem;color:var(--text);font:inherit;flex:1;padding:.2rem .45rem;font-size:.78rem}.route-color-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.route-color-custom{flex-shrink:0;align-items:center;display:inline-flex}.route-color-custom input[type=color]{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:999px;width:1.45rem;height:1.45rem;padding:0;overflow:hidden}.route-maps-points-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.route-maps-points-header h3{margin:0}.route-maps-points--fixed-accordion{border-top:1px solid var(--border);margin-top:auto;padding-top:.35rem}.route-maps-points--fixed-accordion.is-collapsed{padding-bottom:.1rem}.route-maps-accordion-header{gap:.35rem;margin-bottom:0}.route-maps-accordion-trigger{appearance:none;border-radius:var(--radius);min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:.4rem;margin:0;padding:.2rem .15rem;display:inline-flex}.route-maps-accordion-trigger:hover{background:#ffffff0a}.route-maps-accordion-trigger:focus-visible{outline:2px solid var(--available);outline-offset:1px}.route-maps-accordion-trigger h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.82rem;font-weight:700}.route-maps-accordion-chevron{width:.9rem;color:var(--text-muted);flex-shrink:0;font-size:.75rem;line-height:1}.route-maps-accordion-body{margin-top:.55rem}.route-maps-points--fixed-accordion.is-open .route-maps-accordion-header{margin-bottom:0}.route-maps-visibility-toggle{border-radius:var(--radius);flex-shrink:0;width:1.75rem;height:1.75rem}.route-maps-visibility-toggle.is-off{color:var(--text-muted);opacity:.7}.fixed-layer-toggles{flex-direction:column;gap:.3rem;margin:.45rem 0 .35rem;display:flex}.fixed-layer-toggle{border:1px solid var(--border);background:#ffffff08;border-radius:4px;align-items:center;gap:.4rem;min-width:0;padding:.2rem .3rem;display:flex}.fixed-layer-toggle.is-off{opacity:.55}.fixed-layer-toggle-icon{object-fit:contain;flex-shrink:0;width:1.35rem;height:1.75rem}.fixed-layer-toggle-label{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.72rem;line-height:1.2;overflow:hidden}.fixed-layer-toggle .route-maps-visibility-toggle{width:1.5rem;height:1.5rem}.map-modal-legend-section .fixed-layer-toggles{margin:.5rem 0}.route-maps-point-item--extract{align-items:center;gap:.45rem;display:flex}.route-maps-point-item--extract.is-layer-hidden{opacity:.45}.route-maps-point-meta{flex-direction:column;gap:.1rem;min-width:0;display:flex}.route-maps-point-meta strong{font-size:.8rem;line-height:1.25}.route-maps-point-extract-faction{color:var(--text-muted);font-size:.7rem}.route-maps-points.is-hidden-layer .route-maps-points-header h3{opacity:.65}.route-maps-point-actions{gap:.35rem;display:flex}.route-maps-empty{color:var(--text-muted);margin:0;font-size:.8rem}.route-maps-point-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.route-maps-point-list li{border-radius:var(--radius);background:var(--bg-card);border:1px solid #0000;align-items:center;gap:.5rem;padding:.3rem .35rem;font-size:.82rem;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.route-maps-point-list li.route-maps-point-item--fixed{align-items:flex-start}.route-maps-point-list li.route-maps-point-item--fixed>.route-point-dot{margin-top:.35rem}.route-maps-point-list li.route-maps-point-item--fixed>.btn-icon-close{margin-top:.15rem}.route-maps-point-list li.route-maps-point-item--hovered{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-dim)}.route-point-dot{border-radius:999px;flex-shrink:0;width:.7rem;height:.7rem}.route-maps-point-list .btn-icon-close{margin-left:auto}.route-maps-canvas{border:1px solid var(--border);border-radius:var(--radius-lg);background:#0a0e10;height:100%;min-height:0;max-height:none}.route-map-marker{cursor:pointer;z-index:2;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex-direction:column;align-items:center;margin:-.35rem -.35rem 0;padding:.35rem .35rem 0;display:flex;position:absolute;transform:translate(-50%,-100%)}.route-map-marker--draggable{cursor:grab}.route-map-marker--dragging{cursor:grabbing;z-index:6}.route-map-marker-body{flex-direction:column;align-items:center;display:flex}.route-map-marker--hovered .route-map-marker-pin{transform:rotate(-45deg)scale(1.25);box-shadow:0 0 0 2px #fff,0 2px 8px #000000a6}.route-map-marker--hovered .route-map-marker-label{outline-offset:1px;outline:2px solid #fff}.route-map-marker-pin{box-sizing:border-box;background:var(--route-marker-color,var(--accent));border:2px solid #fff;border-radius:50% 50% 50% 0;flex-shrink:0;width:14px;height:14px;margin-bottom:3px;transform:rotate(-45deg);box-shadow:0 1px 4px #0000008c}.route-map-marker-label{text-align:center;color:#111;background:var(--route-marker-color,var(--accent));text-overflow:ellipsis;white-space:nowrap;border-radius:4px;min-width:1.1rem;max-width:5.5rem;margin:0 0 .2rem;padding:.05rem .25rem;font-size:.65rem;font-weight:700;line-height:1.2;overflow:hidden;box-shadow:0 1px 2px #0006}.route-map-marker--fixed{cursor:default}.route-map-marker--has-image,.admin-routes-page .route-map-marker--fixed{cursor:pointer}.route-map-marker--fixed .route-map-marker-pin{box-shadow:0 0 0 2px #0a0e10, 0 0 0 4px var(--route-marker-color,var(--accent)), 0 1px 4px #0000008c}.route-map-marker--fixed .route-map-marker-label{outline:1px dashed #ffffffa6}.route-map-marker--has-image:not(.route-map-marker--icon) .route-map-marker-label:after{content:"";vertical-align:middle;background:#ffffff8c;border:1px solid #00000073;border-radius:2px;width:.45rem;height:.45rem;margin-left:.2rem;display:inline-block}.route-map-marker--icon{box-shadow:none;background:0 0;margin:0;padding:0}.route-map-marker--extract{margin:-.2rem -.25rem 0;padding:.2rem .25rem 0}.route-map-marker-label--extract{color:#0b1210;letter-spacing:.01em;max-width:7.5rem;margin-bottom:.15rem;font-size:.62rem}.route-map-marker--extract-scav .route-map-marker-label--extract{color:#1a1008}.route-map-marker-icon{filter:drop-shadow(0 1px 3px #0000008c);pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;width:1.85rem;height:auto;display:block}.route-map-marker--question .route-map-marker-icon{width:1.7rem}.route-map-marker--icon.route-map-marker--hovered .route-map-marker-icon{transform:scale(1.1)}.route-map-marker--kb.route-map-marker--hovered .route-map-marker-icon{filter:drop-shadow(0 2px 6px #00c8ff66)}.route-map-marker--question.route-map-marker--hovered .route-map-marker-icon{filter:drop-shadow(0 2px 6px #f0c14a73)}.route-maps-marker-type{margin-bottom:.75rem}.route-maps-marker-type h3{margin:0 0 .35rem}.route-maps-marker-type-options{flex-wrap:wrap;gap:.35rem;display:flex}.route-maps-marker-type-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-muted);font:inherit;cursor:pointer;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.75rem;display:inline-flex}.route-maps-marker-type-btn:hover:not(:disabled){border-color:var(--accent-dim);color:var(--text)}.route-maps-marker-type-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.route-maps-marker-type-btn--icon img,.route-point-icon-thumb{background:0 0;flex-shrink:0;width:1.15rem;height:auto;display:block}.route-point-icon-thumb{width:1.25rem;margin-top:.1rem}.route-fixed-image-tooltip{z-index:1200;pointer-events:none;background:linear-gradient(160deg,#1c2026f7 0%,#0e1014f5 100%);border:1px solid #e5e20066;border-radius:6px;flex-direction:column;gap:.4rem;max-width:min(22rem,100vw - 1.5rem);padding:.5rem;display:flex;position:fixed;transform:translate(-50%,calc(-100% - .75rem));box-shadow:0 10px 28px #0000008c,inset 0 1px #ffffff0f}.route-fixed-image-tooltip.is-below{transform:translate(-50%,.55rem)}.route-fixed-image-tooltip img{object-fit:contain;background:#000;border:1px solid #ffffff14;border-radius:4px;width:100%;max-height:16rem;display:block}.route-fixed-image-tooltip-label{letter-spacing:.02em;color:#f4f1e4;text-align:center;font-size:.78rem;font-weight:700}.route-fixed-image-tooltip--document{background:#000;border-color:#222;gap:.45rem;padding:.55rem .55rem .45rem}.route-fixed-image-tooltip--document .route-fixed-image-tooltip-label{letter-spacing:.06em;text-transform:uppercase;color:#fff;font-size:1.05rem;font-weight:800;line-height:1.15}.route-point-image-modal-overlay{z-index:1300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000d1;justify-content:center;align-items:center;padding:.4rem;display:flex;position:fixed;inset:0}.route-point-image-modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);flex-direction:column;width:min(75vw,100%);height:min(85vh,100%);max-height:min(85vh,100%);display:flex;overflow:hidden;box-shadow:0 18px 48px #0000008c}.route-point-image-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;display:flex}.route-point-image-modal-header h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;font-weight:650;overflow:hidden}.route-point-image-modal-close{flex-shrink:0;font-size:.8rem}.route-point-image-modal-body{background:#050607;flex:1;justify-content:center;align-items:center;min-height:0;padding:.35rem;display:flex;overflow:hidden}.route-point-image-modal-body img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.route-point-image-modal--document{background:#000;border-color:#222}.route-point-image-modal--document .route-point-image-modal-header{background:#000;border-bottom-color:#222}.route-point-image-modal--document .route-point-image-modal-header h3{color:#fff;letter-spacing:.05em;text-transform:uppercase;font-weight:800}.route-point-image-modal--document .route-point-image-modal-body{background:#000;flex-direction:column;gap:.4rem;padding:.4rem .45rem .5rem}.route-point-image-modal-doc-title{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:#fff;flex-shrink:0;width:100%;margin:0;font-size:clamp(.95rem,1.8vw,1.35rem);font-weight:800;line-height:1.1}.route-point-image-modal--document .route-point-image-modal-body img{object-fit:contain;flex:auto;width:auto;max-width:100%;height:auto;min-height:0;max-height:100%}.route-maps-image-draft{flex-direction:column;gap:.4rem;margin-top:.75rem;display:flex}.route-maps-image-draft h3{margin:0}.route-maps-image-actions{flex-wrap:wrap;gap:.35rem;display:flex}.route-maps-image-thumb-btn{cursor:zoom-in;border-radius:var(--radius);background:0 0;border:0;width:100%;padding:0;display:block}.route-maps-image-thumb{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:#000;width:100%;max-height:7rem;display:block}.route-maps-fixed-edit{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.route-maps-point-label{align-items:center;gap:.3rem;min-width:0;display:inline-flex}.route-maps-has-image{color:var(--text-muted);flex-shrink:0;display:inline-flex}.route-maps-view--editor.is-busy .map-modal-image-wrap{cursor:wait;opacity:.85}.route-maps-layer-hint,.route-maps-busy,.route-maps-error{color:var(--text-muted);margin:0 0 .55rem;font-size:.75rem;line-height:1.35}.route-maps-error,.admin-action-error,.admin-login-error{color:#e08080}.route-point-dot--fixed{box-shadow:0 0 0 2px var(--bg-card), 0 0 0 3px currentColor}.route-color-swatch-hex{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:.72rem}.route-maps-label-draft{margin-bottom:.75rem}.route-maps-label-draft h3{color:var(--text-muted);margin:0 0 .35rem;font-size:.8rem}.admin-routes-page{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.admin-routes-page--login{justify-content:center;align-items:center;padding:1.5rem}.admin-login-card{background:linear-gradient(165deg, #c9a2270f, transparent 40%), var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(24rem,100%);box-shadow:var(--shadow-pop);flex-direction:column;gap:.75rem;padding:1.4rem 1.45rem 1.35rem;display:flex}.admin-login-card h1{letter-spacing:-.02em;margin:0;font-size:1.35rem}.admin-login-card p,.admin-login-hint{color:var(--text-muted);margin:0;font-size:.85rem}.admin-login-error{color:var(--danger,#c45);margin:0;font-size:.8rem}.admin-page{background:radial-gradient(ellipse 80% 50% at 10% -10%, #c9a22714, transparent 55%), radial-gradient(ellipse 60% 40% at 90% 0%, #6ec4b60d, transparent 50%), var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.admin-page--login{justify-content:center;align-items:center;gap:.75rem;padding:1.5rem}.admin-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .15rem;font-size:.7rem}.admin-toolbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#121214e6;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem 1rem;padding:.7rem 1.1rem;display:grid;position:sticky;top:0}.admin-toolbar-main{flex-wrap:wrap;justify-self:start;align-items:center;gap:.75rem 1.1rem;min-width:0;display:flex}.admin-toolbar-title h1{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700}.admin-toolbar-title .admin-eyebrow{margin:0 0 .1rem}.admin-toolbar-nav{justify-content:center;justify-self:center;display:flex}.admin-toolbar-nav-link{background:var(--accent-soft);color:var(--accent);font:inherit;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #c9a22773;border-radius:999px;justify-content:center;align-items:center;padding:.38rem 1.15rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s,filter .15s;display:inline-flex}.admin-toolbar-nav-link:hover{border-color:var(--accent);background:var(--accent);color:#1b1305;filter:none}.admin-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:.45rem;display:flex}@media (width<=820px){.admin-toolbar{grid-template-columns:1fr;justify-items:stretch}.admin-toolbar-main,.admin-toolbar-nav,.admin-toolbar-actions{justify-self:stretch}.admin-toolbar-actions{justify-content:flex-start}}.admin-brand{flex-shrink:0;align-items:center;line-height:0;text-decoration:none;display:flex}.admin-brand:hover .admin-brand-logo{filter:brightness(1.1)}.admin-brand-logo{object-fit:contain;object-position:left center;width:auto;max-width:9.5rem;height:2.35rem;transition:filter .15s;display:block}.admin-dashboard{box-sizing:border-box;flex-direction:column;gap:1.1rem;width:100%;max-width:1180px;margin:0 auto;padding:1.15rem 1.25rem 2rem;display:flex}.admin-stat-grid{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;display:grid}.admin-stat-card{background:linear-gradient(165deg, var(--bg-card) 0%, var(--bg-elevated) 100%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;gap:.2rem;padding:.95rem 1rem .85rem;display:flex;position:relative;overflow:hidden}.admin-stat-card:before{content:"";background:var(--accent);opacity:.55;width:2px;position:absolute;inset:0 auto 0 0}.admin-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.admin-stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:700;line-height:1.15}.admin-stat-value--sm{padding-top:.25rem;font-size:1.05rem}.admin-stat-delta{color:var(--text-muted);font-size:.72rem}.admin-stat-delta.is-up{color:var(--completed)}.admin-stat-delta.is-down{color:var(--danger)}.admin-stat-foot{color:var(--text-muted);margin-top:.2rem;font-size:.72rem}.admin-layout-split{grid-template-columns:minmax(0,1.65fr) minmax(14rem,1fr);gap:1.1rem;display:grid}@media (width<=860px){.admin-layout-split{grid-template-columns:1fr}}.admin-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1rem 1.1rem 1.15rem}.admin-panel--chart{min-width:0}.admin-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;margin-bottom:.85rem;display:flex}.admin-panel-head h2{letter-spacing:-.01em;margin:0;font-size:1.02rem}.admin-muted{color:var(--text-muted);margin:0;font-size:.82rem}.admin-banner{background:var(--accent-soft);border-bottom:1px solid #c9a22740;margin:0;padding:.55rem 1.25rem;font-size:.85rem}.admin-banner--error{color:#f0a0a0;background:#cc44441f;border-bottom-color:#cc444459}.admin-segmented{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);gap:.15rem;padding:.15rem;display:inline-flex}.admin-segmented button{appearance:none;color:var(--text-muted);font:inherit;border-radius:calc(var(--radius) - 2px);cursor:pointer;background:0 0;border:0;padding:.3rem .65rem;font-size:.75rem}.admin-segmented button.active{background:var(--bg-card);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.admin-segmented button:hover:not(.active){color:var(--text)}.admin-chart-wrap{width:100%;position:relative}.admin-chart{width:100%;height:auto;display:block}.admin-chart-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 4;opacity:.7}.admin-chart-axis{stroke:var(--border);stroke-width:1px}.admin-chart-tick,.admin-chart-label{fill:var(--text-muted);font-size:10px;font-family:var(--font)}.admin-chart-bar--visits{fill:var(--accent);opacity:.88}.admin-chart-bar--uniqueVisitors{fill:var(--available);opacity:.8}.admin-chart-bar.is-active{opacity:1;filter:brightness(1.12)}.admin-chart-hit{fill:#0000;cursor:crosshair}.admin-chart-line{stroke:#e4e4e659;stroke-width:1.5px;pointer-events:none}.admin-chart-focus{fill:var(--bg);stroke:var(--accent);stroke-width:2px;pointer-events:none}.admin-chart-tooltip{z-index:4;min-width:9.5rem;color:var(--text);pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(165deg,#c9a2271f,#0000 55%),#0c0c0ef5;border:1px solid #c9a22773;border-radius:8px;padding:.55rem .7rem .6rem;position:absolute;transform:translate(-10%,-110%);box-shadow:0 10px 28px #0000008c}.admin-chart-tooltip.is-left{transform:translate(-90%,-110%)}.admin-chart-tooltip:after{content:"";background:#0c0c0ef5;border-bottom:1px solid #c9a22773;border-right:1px solid #c9a22773;width:10px;height:10px;position:absolute;bottom:-6px;left:18%;transform:rotate(45deg)}.admin-chart-tooltip.is-left:after{left:auto;right:18%}.admin-chart-tooltip-date{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem;font-size:.72rem;font-weight:700}.admin-chart-tooltip-stats{grid-template-columns:1fr 1fr;gap:.45rem .85rem;margin:0;display:grid}.admin-chart-tooltip-stats dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;font-size:.65rem}.admin-chart-tooltip-stats dd{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.1rem 0 0;font-size:1.05rem;font-weight:700}[data-admin-tip]{position:relative}[data-admin-tip]:after{content:attr(data-admin-tip);z-index:8;min-width:max-content;max-width:16rem;color:var(--text);white-space:pre-wrap;opacity:0;pointer-events:none;background:#0c0c0ef5;border:1px solid #c9a22766;border-radius:6px;padding:.4rem .55rem;font-size:.72rem;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 8px 22px #00000073}[data-admin-tip]:hover:after,[data-admin-tip]:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.admin-health-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.admin-health-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:.75rem;padding-bottom:.55rem;font-size:.82rem;display:flex}.admin-health-list li:last-child{border-bottom:0;padding-bottom:0}.admin-health-list span{color:var(--text-muted)}.admin-health-list strong{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.admin-health-list strong.is-warn{color:var(--danger)}.admin-snapshot-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.admin-snapshot-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:.55rem;padding:.85rem .95rem;display:flex}.admin-snapshot-card.is-fresh{border-color:#3dba6d59}.admin-snapshot-card.is-stale{border-color:#c446}.admin-snapshot-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-snapshot-card-head h3{margin:0;font-size:.92rem}.admin-freshness{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border);color:var(--text-muted);border-radius:.25rem;padding:.12rem .4rem;font-size:.65rem}.admin-freshness--fresh{color:var(--completed);border-color:currentColor}.admin-freshness--warm{color:var(--started);border-color:currentColor}.admin-freshness--stale{color:var(--danger);border-color:currentColor}.admin-snapshot-count{align-items:baseline;gap:.4rem;margin:0;display:flex}.admin-snapshot-count strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.55rem}.admin-snapshot-count span{color:var(--text-muted);font-size:.75rem}.admin-snapshot-meta{grid-template-columns:1fr 1fr;gap:.4rem .65rem;margin:0;display:grid}.admin-snapshot-meta dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;font-size:.65rem}.admin-snapshot-meta dd{font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:.8rem}.admin-snapshot-meta code{font-size:.72rem}.admin-snapshot-source{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.68rem;overflow:hidden}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.82rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.45rem .55rem}.admin-table tbody tr:hover td{background:#ffffff05}.admin-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.admin-table code{font-size:.75rem}.admin-cell-source,.admin-cell-error{word-break:break-word;max-width:14rem}.admin-footnote{color:var(--text-muted);margin:.65rem 0 0;font-size:.72rem}.admin-pill{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em;border-radius:.25rem;padding:.12rem .45rem;font-size:.7rem;display:inline-block}.admin-pill--success{color:var(--completed);background:#3dba6d1a;border-color:currentColor}.admin-pill--failed{color:var(--danger);background:#cc44441a;border-color:currentColor}.admin-pill--pending{color:var(--started);border-color:currentColor}.admin-stat-grid--compact,.admin-usage-daily{margin-bottom:1rem}.admin-usage-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}.admin-usage-filter{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-direction:column;flex:none;align-items:flex-start;gap:.3rem;font-size:.72rem;display:flex}.admin-usage-select{background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a8e8a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right .55rem center;border:1px solid var(--border);border-radius:var(--radius);width:auto;min-width:11.5rem;max-width:16rem;height:2rem;color:var(--text);font:inherit;text-transform:none;letter-spacing:normal;cursor:pointer;appearance:none;padding:.25rem 1.75rem .25rem .6rem;font-size:.85rem;line-height:1.2}.admin-usage-select:hover{border-color:var(--accent-dim)}.admin-usage-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.admin-usage-filter-counts{flex-wrap:wrap;gap:.4rem;display:flex}.admin-usage-chip{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font:inherit;border-radius:var(--radius);cursor:pointer;align-items:center;gap:.4rem;padding:.3rem .55rem;font-size:.72rem;display:inline-flex}.admin-usage-chip strong{color:var(--text);font-variant-numeric:tabular-nums}.admin-usage-chip:hover:not(:disabled){border-color:var(--accent-dim);color:var(--text)}.admin-usage-chip.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.admin-usage-chip:disabled{cursor:default;opacity:.75}.admin-usage-filter-note{margin:0 0 .85rem}.admin-pill--access{text-transform:none;letter-spacing:0;color:var(--available);border-color:#6ec4b673;font-size:.7rem}.admin-usage-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}@media (width<=860px){.admin-usage-split{grid-template-columns:1fr}}.admin-subhead{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .55rem;font-size:.85rem}.admin-event-name{font-weight:600;display:block}.admin-event-code{color:var(--text-muted);margin-top:.1rem;font-size:.68rem;display:block}.admin-login-label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.8rem;display:flex}.admin-login-label input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);height:2.25rem;color:var(--text);font:inherit;padding:.4rem .65rem}.admin-back-link{color:var(--accent);text-align:center;font-size:.8rem}.admin-env-hint{opacity:.8;margin:.35rem 0 .65rem;font-size:.85rem}.admin-env-segmented{width:fit-content;margin-top:.25rem}.admin-routes-toolbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#121214e6;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem 1rem;padding:.7rem 1.1rem;display:grid;position:sticky;top:0}.admin-routes-toolbar-main{flex-wrap:wrap;justify-self:start;align-items:center;gap:.75rem 1.1rem;min-width:0;display:flex}.admin-routes-toolbar-title h1{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700}.admin-routes-toolbar-title .admin-eyebrow{margin:0 0 .1rem}.admin-routes-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:.45rem;display:flex}.admin-env-segmented{flex-shrink:0}@media (width<=820px){.admin-routes-toolbar{grid-template-columns:1fr;justify-items:stretch}.admin-routes-toolbar-main,.admin-routes-toolbar .admin-toolbar-nav,.admin-routes-toolbar-actions{justify-self:stretch}.admin-routes-toolbar-actions{justify-content:flex-start}}.admin-action-error{margin:0;padding:.5rem 1rem;font-size:.8rem}.admin-routes-body{flex:1;min-height:0;padding:.75rem}.admin-routes-body .route-maps-view--editor{height:calc(100vh - 4.75rem)}@media (width<=900px){.route-maps-view--editor{grid-template-rows:auto minmax(280px,1fr);grid-template-columns:1fr;overflow-y:auto}.route-maps-canvas{min-height:280px}}.tv-login{--tv-phosphor:#9dffb0;--tv-phosphor-dim:#3d7a4a;--tv-font:"Share Tech Mono", "Courier New", monospace;z-index:9999;color:var(--tv-phosphor);font-family:var(--tv-font);background:#050605;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.tv-login-noise{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;opacity:.55;pointer-events:none;filter:contrast(1.35)brightness(.85);position:absolute;inset:0}.tv-login-scanlines{pointer-events:none;mix-blend-mode:multiply;opacity:.75;background:repeating-linear-gradient(#00000047 0 1px,#0000 1px 3px);animation:7s linear infinite tv-scan-drift;position:absolute;inset:0}.tv-login-vignette{pointer-events:none;background:radial-gradient(#0000 35%,#000000b8 100%),linear-gradient(#00000059,#0000 18% 82%,#00000073);position:absolute;inset:0}.tv-login-glow{pointer-events:none;background:radial-gradient(circle at 50% 45%,#ffffff0f,#0000 42%);animation:3.2s steps(2,end) infinite tv-flicker;position:absolute;inset:-10%}.tv-login-panel{z-index:1;text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#040a068c;border:1px solid #9dffb047;width:min(92vw,28rem);padding:1.75rem 1.5rem 1.5rem;animation:4s ease-in-out infinite tv-panel-hum;position:relative;box-shadow:0 0 0 1px #0009,0 0 40px #9dffb014,inset 0 0 60px #00000073}.tv-login-eyebrow{letter-spacing:.28em;color:var(--tv-phosphor-dim);text-transform:uppercase;margin:0 0 .65rem;font-size:.78rem;animation:2.8s step-end infinite tv-glitch-text}.tv-login-title{letter-spacing:.08em;text-shadow:0 0 8px #9dffb073,2px 0 #ff505040,-2px 0 #50a0ff33;margin:0;font-size:clamp(1.35rem,4.5vw,1.9rem);font-weight:400;line-height:1.15}.tv-login-status{letter-spacing:.14em;color:#c8f5d2;opacity:.9;min-height:1.2em;margin:.85rem 0 1.35rem;font-size:.82rem}.tv-login--error .tv-login-status{color:#ffb0b0;text-shadow:0 0 10px #ff505073}.tv-login-form{text-align:left;gap:.65rem;display:grid}.tv-login-label{letter-spacing:.22em;text-transform:uppercase;color:var(--tv-phosphor-dim);font-size:.72rem}.tv-login-input{box-sizing:border-box;width:100%;color:var(--tv-phosphor);font:inherit;letter-spacing:.35em;caret-color:var(--tv-phosphor);background:#0000008c;border:1px solid #9dffb059;border-radius:0;outline:none;padding:.85rem .95rem;font-size:1.15rem;box-shadow:inset 0 0 20px #9dffb00f}.tv-login-input::placeholder{color:#9dffb040;letter-spacing:.35em}.tv-login-input:focus{border-color:var(--tv-phosphor);box-shadow:inset 0 0 24px #9dffb01a,0 0 0 1px #9dffb040}.tv-login-input:disabled{opacity:.65}.tv-login-submit{color:var(--tv-phosphor);font:inherit;letter-spacing:.28em;cursor:pointer;background:linear-gradient(#ffffff1f,#ffffff0a);border:1px solid #9dffb080;margin-top:.35rem;padding:.75rem 1rem;font-size:.9rem;transition:background .12s,color .12s,transform .12s}.tv-login-submit:hover:not(:disabled){background:#9dffb038;transform:translateY(-1px)}.tv-login-submit:disabled{cursor:wait;opacity:.7}.tv-login--shake .tv-login-panel{animation:.5s linear tv-shake}.tv-login--error .tv-login-noise{opacity:.78;filter:contrast(1.6)brightness(1.05)hue-rotate(-20deg)}.tv-login--booting{background:#030403}.tv-login-boot{z-index:1;font-family:var(--tv-font);letter-spacing:.28em;color:var(--tv-phosphor);margin:0;animation:1.1s steps(2,end) infinite tv-flicker;position:relative}@keyframes tv-scan-drift{0%{transform:translateY(0)}to{transform:translateY(3px)}}@keyframes tv-flicker{0%,to{opacity:1}48%{opacity:.82}50%{opacity:.55}52%{opacity:.95}}@keyframes tv-panel-hum{0%,to{filter:none}50%{filter:brightness(1.05)}}@keyframes tv-glitch-text{0%,90%,to{opacity:.85;transform:none}91%{opacity:1;transform:translate(2px,-1px)}92%{transform:translate(-2px,1px)}93%{transform:none}}@keyframes tv-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)skew(-2deg)}40%{transform:translate(7px)skew(2deg)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}@media (width<=520px){.tv-login-panel{padding:1.35rem 1.1rem 1.2rem}.tv-login-input{letter-spacing:.22em}}.tv-modal-backdrop{z-index:10000;background:#000000b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.tv-modal{--tv-phosphor:#9dffb0;--tv-phosphor-dim:#3d7a4a;--tv-font:"Share Tech Mono", "Courier New", monospace;width:min(92vw,28rem);color:var(--tv-phosphor);font-family:var(--tv-font);background:#050605;border:1px solid #9dffb047;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0009,0 0 50px #9dffb01a}.tv-modal .tv-login-noise,.tv-modal .tv-login-scanlines,.tv-modal .tv-login-vignette,.tv-modal .tv-login-glow{position:absolute;inset:0}.tv-modal .tv-login-noise{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;opacity:.5;pointer-events:none;filter:contrast(1.35)brightness(.85)}.tv-modal-panel{z-index:1;text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#040a068c;gap:.55rem;padding:1.75rem 1.5rem 1.4rem;display:grid;position:relative}.tv-modal-code{letter-spacing:.35em;text-indent:.35em;text-shadow:0 0 12px #9dffb08c,2px 0 #ff505038,-2px 0 #50a0ff2e;margin:.35rem 0 .15rem;font-size:clamp(2.6rem,10vw,3.4rem);line-height:1;animation:2.4s steps(2,end) infinite tv-flicker}.tv-modal-day{letter-spacing:.18em;color:var(--tv-phosphor-dim);margin:0 0 .55rem;font-size:.72rem}.tv-modal .tv-login-title{font-size:clamp(1.1rem,3.8vw,1.45rem)}.tv-modal .tv-login-submit{margin-top:.25rem}.crt-transition{z-index:20000;pointer-events:all;background:#050605;place-items:center;animation:.7s ease-in-out forwards crt-transition-shell;display:grid;position:fixed;inset:0;overflow:hidden}.crt-transition-noise{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;opacity:.72;filter:contrast(1.45)brightness(.9);position:absolute;inset:0}.crt-transition-scanlines{mix-blend-mode:multiply;opacity:.8;background:repeating-linear-gradient(#00000059 0 1px,#0000 1px 3px);animation:.7s linear forwards crt-scan-jitter;position:absolute;inset:0}.crt-transition-roll{pointer-events:none;background:linear-gradient(#0000,#ffffff0f,#ffffff24,#ffffff0f,#0000);height:28%;animation:.7s linear forwards crt-roll;position:absolute;left:0;right:0}.crt-transition-vignette{pointer-events:none;background:radial-gradient(#0000 30%,#000000c7 100%),linear-gradient(#0006,#0000 20% 80%,#00000073);position:absolute;inset:0}.crt-transition-logo-wrap{z-index:1;place-items:center;width:min(42rem,78vw);animation:.7s ease-in-out forwards crt-logo-blink;display:grid;position:relative}.crt-transition-logo-wrap:before{content:"";pointer-events:none;background:radial-gradient(#000000f2 0%,#000000bf 32%,#00000047 55%,#0000 72%);position:absolute;inset:18% 22%}.crt-transition-logo{z-index:1;object-fit:contain;filter:drop-shadow(0 0 2px #000000e6)drop-shadow(0 0 6px #00000073)contrast(1.05)brightness(1.08);-webkit-user-select:none;user-select:none;background:0 0;width:100%;height:auto;position:relative}@keyframes crt-transition-shell{0%{opacity:0;filter:brightness(2.2);transform:scaleY(.02)}12%{opacity:1;filter:brightness(1.35);transform:scaleY(1)}78%{opacity:1;filter:brightness();transform:scaleY(1)}to{opacity:0;filter:brightness(1.8);transform:scaleY(.04)}}@keyframes crt-logo-blink{0%{opacity:0}14%{opacity:.75}28%{opacity:.45}42%{opacity:.85}58%{opacity:.55}74%{opacity:.9}to{opacity:0}}@keyframes crt-roll{0%{top:-30%}to{top:110%}}@keyframes crt-scan-jitter{0%,to{transform:translateY(0)}25%{transform:translateY(2px)}50%{transform:translateY(-1px)}75%{transform:translateY(3px)}}.feedback-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.feedback-modal{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(#1c1c1efa,#0c0c0efa);width:min(32rem,100%);max-height:min(90vh,44rem);overflow:auto;box-shadow:0 18px 48px #0000008c}.feedback-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.feedback-modal-header h2{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.feedback-modal-close{appearance:none;border:1px solid var(--border);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;font-size:1.25rem;line-height:1}.feedback-modal-close:hover{color:var(--text);border-color:var(--accent-dim)}.feedback-modal-body{flex-direction:column;gap:.85rem;padding:1rem;display:flex}.feedback-field{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:650;display:flex}.feedback-field input,.feedback-field textarea{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);width:100%;color:var(--text);font:inherit;resize:vertical;padding:.55rem .7rem;font-weight:500}.feedback-field input:focus,.feedback-field textarea:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.feedback-hint{color:var(--text-muted);margin:0;font-size:.72rem;font-weight:500;line-height:1.35}.feedback-attach-actions{align-items:center;gap:.65rem;display:flex}.feedback-attach-count{color:var(--text-muted);font-size:.72rem;font-weight:600}.feedback-thumbs{flex-wrap:wrap;gap:.5rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.feedback-thumbs li{border:1px solid var(--border);background:#111;border-radius:.35rem;width:4.5rem;height:4.5rem;position:relative;overflow:hidden}.feedback-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.feedback-thumb-remove{color:#fff;cursor:pointer;background:#000000b3;border:0;border-radius:999px;width:1.25rem;height:1.25rem;font-size:.9rem;line-height:1;position:absolute;top:.15rem;right:.15rem}.feedback-modal-error{color:#f0a0a0;margin:0;font-size:.78rem}.feedback-modal-success{color:var(--text);margin:0;font-size:.92rem;line-height:1.4}.feedback-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}*{margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
