:root{--font:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;--bg:#f6f2ea;--bg-glow:#ffc53d29;--surface:#fffdf8;--surface-2:#f1ebdf;--border:#e3dac8;--text:#221d16;--muted:#736a5c;--accent:#b7700d;--accent-strong:#e9a52a;--on-accent:#231400;--link:#5b4bc4;--ok:#1d8f4e;--warn:#b77406;--bad:#c73c32;--off:#a79d8d;--xp:#8b54e0;--rested:#3f82e0;--radius:12px;--shadow:0 1px 2px #3c280a0f, 0 4px 16px #3c280a0d;--cls-mix:62%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f0d1a;--bg-glow:#ffb02e12;--surface:#1a1729;--surface-2:#242038;--border:#2f2a46;--text:#ece8f6;--muted:#9e97b5;--accent:#ffc53d;--accent-strong:#ffc53d;--on-accent:#231400;--link:#b8b0ff;--ok:#46d483;--warn:#ffb03a;--bad:#ff6b5e;--off:#6d6784;--xp:#9b63f2;--rested:#5aa0ff;--shadow:0 1px 0 #ffffff08 inset, 0 8px 24px #00000040;--cls-mix:100%}}*{box-sizing:border-box}html,body{margin:0}body{font:14px/1.45 var(--font);background:radial-gradient(1200px 520px at 50% -180px, var(--bg-glow), transparent 70%) no-repeat, var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh}::selection{background:color-mix(in srgb, var(--accent-strong) 40%, transparent)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.mono,code{font-family:var(--mono);font-size:12.5px}.ok-text{color:var(--ok)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}.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}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.topbar{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.2);border-bottom:1px solid var(--border);min-height:52px;padding:8px 20px;padding-top:max(8px, env(safe-area-inset-top));z-index:5;flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex;position:sticky;top:0}.brand{font:700 17px/1 var(--font-display);color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;display:inline-flex}.brand-logo{border-radius:7px;flex:none;width:26px;height:26px}.brand-version{font:500 11px/1 var(--font);color:var(--muted);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 6px}.brand:hover{text-decoration:none}.topbar nav{flex:1;gap:4px;display:flex}.topbar nav a{color:var(--muted);border-radius:6px;padding:6px 10px}.topbar nav a:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.topbar nav a.active{color:var(--text);background:var(--surface-2);font-weight:500}.link{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.link-dot{background:var(--off);border-radius:50%;width:8px;height:8px}.link-open .link-dot{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 20%, transparent)}.link-stopped .link-dot{background:var(--bad)}.update-ctl{align-items:center;gap:8px;min-width:0;display:inline-flex}.update-btn{white-space:nowrap;padding:5px 12px;font-size:13px}.update-pill{cursor:help}.update-note{max-width:280px;font-size:12px}@media (width<=760px){.update-note{display:none}.update-note[role=alert]{display:inline}}.banner{background:color-mix(in srgb, var(--warn) 16%, var(--surface));border-bottom:1px solid color-mix(in srgb, var(--warn) 35%, var(--border));padding:8px 20px;font-size:13px}.banner.bad{background:color-mix(in srgb, var(--bad) 14%, var(--surface));border-color:color-mix(in srgb, var(--bad) 35%, var(--border))}.page{max-width:1680px;margin:0 auto;padding:20px}.crumbs{margin-bottom:12px;font-size:13px}.stack{flex-direction:column;gap:16px;display:flex}.grid{grid-template-columns:repeat(var(--columns,12), minmax(0, 1fr));align-items:start;gap:16px;display:grid}.grid>*{grid-column:span var(--span,var(--columns,12));min-width:0}@media (width<=760px){.grid>*{grid-column:1/-1}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-title{letter-spacing:.07em;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}.section-title{letter-spacing:.07em;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:20px 0 10px;font-size:12px;font-weight:600}.widget-error{border-color:color-mix(in srgb, var(--bad) 45%, var(--border))}.widget-error .card-title{color:var(--bad);margin-bottom:6px}.widget-error p{white-space:pre-wrap;word-break:break-word}.empty{text-align:center;padding:20px 0}.notice{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));padding:12px 14px}.notice.bad{background:color-mix(in srgb, var(--bad) 10%, var(--surface));border-color:color-mix(in srgb, var(--bad) 35%, var(--border))}.dot{width:10px;height:10px;box-shadow:0 0 0 2px var(--ring,var(--surface));border-radius:50%;flex:none;display:inline-block}.dot-in_game{background:var(--ok)}.dot-away{background:radial-gradient(circle at 78% 24%, var(--ring,var(--surface)) 0 3.2px, var(--warn) 3.7px)}.dot-offline{background:var(--ring,var(--surface));border:2px solid var(--off)}.cls{color:color-mix(in oklab, var(--cls) var(--cls-mix), black);font-weight:600}.char-name{font-weight:600}.chips{vertical-align:1px;gap:4px;margin-left:8px;display:inline-flex}.chip{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 6px;font-size:11px;font-weight:500;line-height:16px;display:inline-block}.chip.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 35%, var(--border))}.chip.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, var(--border))}.chip.bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, var(--border))}td .chip{margin-left:6px}.presence-label-in_game{color:var(--ok);font-weight:500}.presence-label-away{color:var(--warn);font-weight:500}.presence-label-offline{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.money{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.money .coin{flex:none}.money .u{margin-left:1px;font-size:.72em;font-weight:600}.money .u-g{color:var(--accent)}.money .u-s{color:#a7adba}.money .u-c{color:#c7835a}.delta{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:3px;font-weight:600;display:inline-flex}.delta>span[aria-hidden]{font-size:.78em}.delta.up{color:var(--ok)}.delta.down{color:var(--bad)}.roster-card{box-shadow:none;background:0 0;border:0;padding:0}.roster-card>.card-head{flex-wrap:wrap;margin-bottom:16px}.roster-card .card-title{font:700 22px/1.2 var(--font-display);text-transform:none;letter-spacing:-.01em;color:var(--text)}.roster-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 14px;display:flex}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:2px;display:inline-flex}.seg-btn{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-size:12.5px;font-weight:500}.seg-btn:hover{color:var(--text)}.seg-btn[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000038}.roster-group+.roster-group{margin-top:24px}.group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:0 0 10px;font-size:12px;font-weight:600;display:flex}.group-title:after{content:"";background:var(--border);flex:1;height:1px}.roster{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=600px){.roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.roster{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}.rcard,.rrow{--edge:color-mix(in oklab, var(--cls,var(--off)) var(--cls-mix), black)}.rcard{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--edge,var(--off));border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);color:var(--text);font-variant-numeric:tabular-nums;flex-direction:column;gap:12px;padding:14px 16px 14px 14px;transition:transform .12s,border-color .12s,background-color .12s;display:flex}.rcard:hover,.rcard:focus-visible{border-color:color-mix(in srgb, var(--text) 18%, var(--border));border-left-color:var(--edge,var(--off));text-decoration:none;transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.rcard:hover,.rcard:focus-visible{transform:none}}.rcard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rcard-head{align-items:center;gap:12px;display:flex}.avatar{background:var(--surface-2);border:1px solid color-mix(in srgb, var(--cls,var(--off)) 40%, var(--border));border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.avatar-letter{font:700 17px/1 var(--font-display);color:color-mix(in oklab, var(--cls,var(--muted)) var(--cls-mix), black)}.avatar .dot{width:12px;height:12px;position:absolute;bottom:-1px;right:-1px}.avatar .dot-away{background:radial-gradient(circle at 78% 24%, var(--ring,var(--surface)) 0 3.8px, var(--warn) 4.3px)}.rcard-id{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.rcard-name{font:600 18px/1.25 var(--font-display);overflow-wrap:anywhere;min-width:0}.rcard-name .realm{margin-left:6px;font-size:12.5px}.rcard-sub{font-size:13px}.rcard-lc{color:var(--text)}.rcard-presence{white-space:nowrap;align-self:flex-start;margin-top:3px;font-size:12.5px}.rcard-where{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:13.5px;display:flex}.rcard-zone{min-width:0}.rcard-coords{font-size:12.5px}.rcard .chips{flex-wrap:wrap;margin:-4px 0 0}.presence-offline .rcard-name,.presence-offline .avatar-letter,.presence-offline .xp,.presence-offline .tiles{opacity:.7}.xp{--fill:color-mix(in oklab, var(--cls,var(--xp)) var(--cls-mix), black);flex-direction:column;gap:6px;display:flex}.xp-head{align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.xp-level{color:var(--text);white-space:nowrap;font-weight:700}.xp-to{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.xp-pct{color:var(--text);margin-left:auto;font-weight:600}.xpbar{background:color-mix(in srgb, var(--text) 10%, transparent);--fill:color-mix(in oklab, var(--cls,var(--xp)) var(--cls-mix), black);border-radius:999px;height:6px;position:relative;overflow:hidden}.xpbar-fill,.xpbar-rested{border-radius:inherit;transition:width .6s;position:absolute;inset:0 auto 0 0}.xpbar-fill{background:var(--fill)}.xpbar-rested,.swatch{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--fill) 55%, transparent) 0 3px, color-mix(in srgb, var(--fill) 22%, transparent) 3px 6px)}.xp-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:12px;display:flex}.xp-rested{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:3px;width:14px;height:6px;display:inline-block}.xp-detail{gap:8px}.xp-detail .xp-head{font-size:15px}.xp-detail .xp-level{font:700 17px/1 var(--font-display)}.xp-detail .xpbar{height:10px}.xp-detail .xp-foot{font-size:12.5px}.tiles{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin:0;display:grid}.tile{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.tile dd{margin:0}.tile-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.tile-value{font:600 20px/1.25 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}.tile-unit{color:var(--muted);margin-left:1px;font-size:.72em;font-weight:500}.tile-delta{font-size:12px}.tile-delta:empty{display:none}.tile-hint{color:var(--muted);font-size:11.5px}.tiles-card{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px 28px;padding-top:10px;display:flex}.tiles-card .tile{background:0 0;border-radius:0;padding:0}.tiles-card .tile-value{font-size:16px}.rrows{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.rrow{--ring:var(--surface);border-top:1px solid var(--border);border-left:3px solid var(--edge,var(--off));min-height:44px;color:var(--text);font-variant-numeric:tabular-nums;grid-template-columns:12px minmax(150px,1.3fr) 104px 52px minmax(110px,1fr) minmax(150px,1.4fr) 150px 72px;align-items:center;gap:14px;padding:0 16px 0 13px;font-size:13.5px;display:grid}.rrow:first-child{border-top:0}.rrow-head{background:var(--surface-2);min-height:30px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-left-color:#0000;font-size:11px;font-weight:600}a.rrow:hover{background:color-mix(in srgb, var(--text) 4%, var(--surface));text-decoration:none}a.rrow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:0}.rrow-name,.rrow-zone,.rrow-presence{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.rrow-name .char-name{font-size:14.5px}.rrow-lv{color:var(--muted)}.rrow-xp{align-items:center;gap:8px;display:flex}.rrow-xp .xpbar{flex:1;height:4px}.rrow-xp .small{text-align:right;width:3ch}.rrow-gold,.rrow-rate{text-align:right;justify-self:end}.rrow.presence-offline>:not(.dot){opacity:.72}@media (width<=1099px){.rrow{grid-template-columns:12px minmax(120px,1.3fr) 96px 48px minmax(90px,1fr) 140px 64px;gap:12px}.rrow-zone{display:none}}.detail-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.detail-head>div:first-child{flex-direction:column;gap:2px;display:flex}.detail-name{font:700 24px/1.2 var(--font-display);align-items:center;gap:10px;display:flex}.detail-name .dot{width:12px;height:12px}.detail-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.detail-money{font:600 20px/1.2 var(--font-display)}.detail .tiles{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px;font-weight:500}.table td{border-bottom:1px solid var(--border);padding:7px 8px}.table tr:last-child td{border-bottom:0}.table .num{text-align:right}.chart{width:100%;min-height:220px}.chart .vega-embed{width:100%}.toggles{flex-direction:column;display:flex}.toggle{border-top:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.toggles .toggle:first-child{border-top:0}.toggle.disabled{opacity:.5;cursor:default}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:var(--border);border-radius:999px;flex:none;width:34px;height:20px;margin-top:1px;transition:background .15s;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.toggle input:checked+.toggle-track{background:var(--ok)}.toggle input:checked+.toggle-track:after{transform:translate(14px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.toggle-text{flex-direction:column;display:flex}.toggle-label{font-weight:500}.ghost{background:var(--surface-2);border-radius:8px;margin-bottom:8px;padding:4px 12px}.ghost.on{background:color-mix(in srgb, var(--warn) 16%, var(--surface))}.ghost .toggle{border-top:0}.kv{grid-template-columns:max-content 1fr;gap:8px 14px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.form{flex-direction:column;gap:10px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}input[type=url],input[type=text],input:not([type]){font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 9px}input:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:0;border-color:var(--accent)}.form-actions{align-items:center;gap:12px;display:flex}.btn{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px;font-weight:500}.btn:hover{border-color:var(--muted)}.btn.primary{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-strong) 80%, white), var(--accent-strong));border-color:color-mix(in srgb, var(--accent-strong) 70%, black);color:var(--on-accent);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn:disabled{opacity:.6;cursor:default}.map-card>.card-head{flex-wrap:wrap}.map-tools{flex-wrap:wrap;gap:6px;display:flex}.map-tools select{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;max-width:180px;padding:4px 6px;font-size:12.5px}.map-frame{background:#2a2418;border-radius:8px;width:100%;max-height:72vh;position:relative;overflow:hidden}.map-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map-svg.pannable{cursor:grab}.map-svg.pannable:active{cursor:grabbing}.map-svg .terrain,.map-svg .place-names.areas{transition:opacity .45s ease-out}.map-svg .terrain image{opacity:0;transition:opacity .3s ease-out}.map-svg .art-leaving{opacity:0;animation:.5s ease-out map-art-out}.map-svg .art-in{animation:.4s ease-out map-art-in}@keyframes map-art-out{0%{opacity:var(--from,1)}to{opacity:0}}@keyframes map-art-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.map-svg .art-leaving,.map-svg .art-in{animation:none}}.map-svg .terrain image.loaded{opacity:1}.map-svg .place-names text{text-anchor:middle;paint-order:stroke;stroke:#180e04d1;stroke-linejoin:round;pointer-events:none;font-family:var(--font-display);animation:.35s ease-out map-label-in}.map-svg .place-names .zone{fill:#ffd66b;letter-spacing:.08em;font-variant-caps:all-small-caps;font-weight:700}.map-svg .place-names .area{fill:#fff1d0;font-weight:600}.map-svg [data-tip]{cursor:pointer}.map-svg .layer-dots circle:hover,.map-svg .objective:hover,.map-svg .qglyph:hover circle,.map-svg .route .stop:hover circle{stroke:#fff}.map-tip{z-index:3;pointer-events:none;color:#f4ead6;background:#16110bf0;border:1px solid #ffd66b47;border-radius:9px;max-width:min(280px,80%);padding:8px 11px;font-size:12.5px;line-height:1.4;animation:.12s ease-out map-tip-in;position:absolute;box-shadow:0 6px 22px #00000061}.map-tip.pinned{pointer-events:auto}.map-tip-kicker{letter-spacing:.06em;text-transform:uppercase;color:#c9b894;align-items:center;gap:6px;font-size:10.5px;font-weight:600;display:flex}.map-tip-swatch{border:1px solid #00000080;border-radius:50%;flex:none;width:8px;height:8px}.map-tip-title{color:#fff;margin:1px 0 2px;font-size:13.5px;font-weight:700}.map-tip-line{color:#ddd0b4}@keyframes map-label-in{0%{opacity:0}to{opacity:1}}@keyframes map-tip-in{0%{opacity:0}to{opacity:1}}.map-svg .trail,.map-svg .trail-casing{fill:none;stroke-linecap:round;stroke-linejoin:round}.map-svg .trail-casing{stroke:#140c048c}.map-svg .marker .dot{stroke:#000000bf}.map-svg .marker .heading{stroke:#000c;stroke-linejoin:round}.map-svg .marker .label{fill:#fff;stroke:#000c;paint-order:stroke;text-anchor:middle;font-weight:600;font-family:var(--font)}.map-svg .marker.away,.map-svg .marker.offline{opacity:.6}.map-svg .marker.away .dot,.map-svg .marker.offline .dot{stroke-dasharray:2 1.5;stroke:#ffffffd9}.map-svg .marker.focused .dot{stroke:#fff}.map-svg .marker:hover .label{text-decoration:underline}.map-svg .pulse{fill:none;opacity:.8;transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite map-pulse}@keyframes map-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.map-svg .pulse{opacity:0;animation:none}}.map-zoom{flex-direction:column;gap:4px;display:flex;position:absolute;top:8px;right:8px}.map-zoom .btn{text-align:center;width:30px;box-shadow:var(--shadow);padding:2px 0;line-height:22px}.map-zoom .btn.small{width:auto;padding:2px 8px;font-size:12px}.map-elsewhere{margin-top:8px}.linklike{font:inherit;color:var(--link);cursor:pointer;background:0 0;border:0;padding:0}.linklike:hover{text-decoration:underline}.invites{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.invites li{align-items:center;gap:10px;display:flex}.code{background:var(--surface-2);letter-spacing:.05em;border-radius:6px;padding:4px 10px;font-size:16px}@media (width<=560px){.page{padding:12px}.topbar{gap:8px 10px;padding:8px 12px}.detail-head{flex-direction:column}.detail-side{align-items:flex-start}}.realm{margin-left:8px;font-size:.7em;font-weight:400}.account{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-name{font-weight:500}.signin{max-width:520px;margin:8vh auto 0}.signin input{letter-spacing:.05em;font-size:18px}.check{align-items:center;gap:8px;margin-top:12px;display:flex}.modal-backdrop{z-index:20;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{width:min(620px,100%);max-height:calc(100vh - 32px);overflow:auto}.add-device{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:20px;margin-top:16px;display:grid}.qr-col{flex-direction:column;gap:10px;display:flex}.qr{background:#fff;border-radius:12px;padding:16px;line-height:0;box-shadow:0 0 0 1px #0000001f,0 6px 20px #00000040}.qr svg{width:100%;height:auto;transition:opacity .2s}.add-device.expired .qr svg{opacity:.12}.countdown{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.countdown .num{color:var(--text);font-weight:600}.fallback{line-height:1.8}.fallback .code{white-space:nowrap;font-size:15px}.copy-row{gap:6px;margin-top:4px;display:flex}.copy-row input{flex:1;min-width:0}@media (width<=520px){.add-device{grid-template-columns:minmax(0,1fr)}.qr-col{width:100%;max-width:260px;margin:0 auto}}.installs{flex-direction:column;gap:8px;display:flex}.install{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.install.selected{border-color:color-mix(in srgb, var(--link) 60%, var(--border));background:color-mix(in srgb, var(--link) 8%, var(--surface))}.install input{accent-color:var(--link);flex:none;margin:0}.install-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.install-name{font-weight:500}.install-path{overflow-wrap:anywhere}.install .chip{flex:none}.download{margin-top:4px}.download a{font-weight:600}.steps{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;display:flex}.card-head-title{align-items:center;gap:10px;min-width:0;display:flex}.step-num{width:26px;height:26px;font:700 13px/1 var(--font);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;display:grid}.steps .card-title{font:600 16px/1.3 var(--font-display);text-transform:none;letter-spacing:0;color:var(--text)}.steps .card-head{flex-wrap:wrap}.state-pill{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.state-pill.ok{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, var(--surface));border-color:color-mix(in srgb, var(--ok) 32%, var(--border))}.state-pill.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, var(--surface));border-color:color-mix(in srgb, var(--warn) 35%, var(--border))}.state-pill.bad{color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, var(--surface));border-color:color-mix(in srgb, var(--bad) 35%, var(--border))}.disclosure{border-top:1px solid var(--border);padding-top:12px}.disclosure summary{cursor:pointer;color:var(--muted);width:max-content;font-size:13px}.disclosure summary:hover{color:var(--text)}.disclosure[open] summary{margin-bottom:12px}.map-tools .btn.small{padding:4px 10px;font-size:12.5px}.map-tools .btn.active{border-color:var(--accent);color:var(--accent)}.map-svg .layer-dots circle{stroke:#000000b3}.map-svg .qglyph circle{stroke:#000c}.map-svg .qglyph text,.map-svg .route text{fill:#1a1200;text-anchor:middle;font-weight:800;font-family:var(--font);pointer-events:none}.map-svg .qglyph.turnin circle{fill:#ffd200}.map-svg .objective{fill:#ff5a3cbf;stroke:#3c0000cc}.map-svg .route polyline{fill:none;stroke:#fff4c0;opacity:.9;stroke-linecap:round}.map-svg .gps-path{pointer-events:none}.map-svg .gps-path polyline{fill:none;stroke:#5be37d;opacity:.85;stroke-linecap:round;stroke-linejoin:round}.map-svg .gps-path circle{fill:#5be37d;stroke:#000000b3}.map-svg .route .stop circle{fill:#fff4c0;stroke:#000c}.map-svg .route .stop.pickup circle{fill:#ffd200}.map-svg .route .stop.objective circle{fill:#ff9a7a}.map-layers{z-index:2;background:var(--surface);width:min(260px,100% - 60px);max-height:calc(100% - 16px);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex;position:absolute;top:8px;left:8px;overflow:auto}.map-layers-head{justify-content:space-between;align-items:center;display:flex}.map-layers input[type=search]{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:6px;padding:5px 8px}.map-layers fieldset{border:0;flex-direction:column;gap:3px;margin:0;padding:0;display:flex}.map-layers legend{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11.5px;font-weight:600}.map-layers label{cursor:pointer;align-items:center;gap:6px;display:flex}.map-layers .swatch{border:1px solid #00000080;border-radius:50%;width:10px;height:10px;display:inline-block}.quest-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 20px;margin-top:10px;font-size:13px;display:grid}.quest-list h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:12px}.quest-list ol,.quest-list ul{flex-direction:column;gap:2px;margin:0;padding-left:20px;display:flex}.quest-list ul{padding-left:0;list-style:none}.qlevel{text-align:center;font-variant-numeric:tabular-nums;min-width:22px;font-weight:700;display:inline-block}.qlevel.impossible{color:#e0322a}.qlevel.hard{color:#e87a1a}.qlevel.normal{color:#c9a400}.qlevel.easy{color:#2e9e3e}.qlevel.trivial{color:var(--off)}.settings{grid-template-columns:208px minmax(0,1fr);align-items:start;gap:28px;max-width:1040px;margin:0 auto;display:grid}.settings .steps{width:100%;max-width:760px;margin:0}.settings-nav{flex-direction:column;gap:18px;display:flex;position:sticky;top:72px}.settings-nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.settings-nav-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 6px 10px;font-size:11px;font-weight:600}.settings-nav a{color:var(--muted);border-radius:8px;align-items:center;gap:9px;padding:7px 10px;font-weight:500;display:flex;position:relative}.settings-nav a:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.settings-nav a.active{color:var(--text);background:var(--surface-2)}.settings-nav a.active:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.nav-step{width:20px;height:20px;font:700 11px/1 var(--font);border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.settings-nav a.active .nav-step{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));color:var(--text)}.nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-badge{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;flex:none;padding:0 6px;font-size:11px;font-weight:600;line-height:16px}.settings-find{width:100%;font:inherit;color:var(--muted);text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px 7px 10px;font-size:13px;display:flex}.settings-find:hover{color:var(--text);border-color:color-mix(in srgb, var(--text) 18%, var(--border))}.next-step{text-align:right;font-size:13.5px;font-weight:500}@media (width<=760px){.settings{grid-template-columns:minmax(0,1fr);gap:14px}.settings-nav{scrollbar-width:thin;flex-direction:row;gap:6px;padding-bottom:4px;position:static;overflow-x:auto}.settings-find,.settings-nav-title{display:none}.settings-nav-group{display:contents}.settings-nav ul{flex-direction:row;gap:6px}.settings-nav a{white-space:nowrap;border:1px solid var(--border);background:var(--surface);padding:5px 10px}.settings-nav a.active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.settings-nav a.active:before{display:none}}.choice{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 0 10px 46px;display:flex}.choice.disabled{opacity:.5}.choice .seg-btn:disabled{cursor:default}.choice .seg-btn{min-width:38px}.suboptions{border-left:2px solid color-mix(in srgb, var(--accent) 45%, var(--border));margin-left:16px;padding-left:14px;transition:border-color .15s}.suboptions.disabled{border-left-color:var(--border)}.suboptions>.toggle,.suboptions>.choice{border-top:1px solid var(--border)}.compass-preview{aspect-ratio:16/5;border:1px solid color-mix(in srgb, #ffd66b 18%, var(--border));background:radial-gradient(90% 70% at 70% 100%,#ffa04647,#0000 70%),linear-gradient(#1b2440 0%,#3a3a5c 46%,#7a5a5a 72%,#b07a52 100%);border-radius:10px;min-height:150px;position:relative;overflow:hidden;box-shadow:inset 0 0 60px #00000073}.cp-scene{width:100%;height:100%;position:absolute;inset:0}.cp-hill.far{fill:#2b2a3d}.cp-hill.near{fill:#161522}.cp-tower{fill:#242235}.cp-road{fill:none;stroke:#ffd6962e;stroke-width:6px;stroke-linecap:round}.cp-bar{height:auto;width:min(100%, calc(66% * var(--cp-scale,1)));filter:drop-shadow(0 2px 6px #00000073);transition:width .2s;position:absolute;top:10px;left:50%;overflow:visible;transform:translate(-50%)}.cp-letter{fill:#efe3c4;font:700 11px var(--font-display);text-anchor:middle;letter-spacing:.02em}.cp-letter.north{fill:#ff8a6a}.cp-tick{stroke:#efe3c499;stroke-width:1.2px}.cp-tick.minor{stroke:#efe3c44d;stroke-width:1px}.cp-caret{fill:#ffd66b}.cp-dot{stroke:#140c00d9;stroke-width:1.5px}.cp-pickup .cp-dot,.cp-turnin .cp-dot{fill:#ffd200}.cp-objective .cp-dot{fill:#ff9a7a}.cp-marker.current .cp-dot{fill:#ffd200;stroke:#fff4c0;stroke-width:1.5px}.cp-glow{fill:#ffd20038}.cp-glyph{fill:#1a1200;text-anchor:middle;font-weight:800;font-family:var(--font)}.cp-edge{fill:#efe3c4}.cp-label{fill:#fff4d6;font:600 12.5px var(--font);text-anchor:middle;paint-order:stroke;stroke:#0c0802d9;stroke-width:3px;stroke-linejoin:round}.cp-sep{fill:#fff4d68c}.cp-dist{fill:#ffd66b}.cp-off{text-align:center;color:#efe3c4b3;font-size:13px;font-style:italic;position:absolute;top:18px;left:0;right:0}@media (width<=560px){.compass-preview{aspect-ratio:16/8}.cp-bar{width:min(100%, calc(96% * var(--cp-scale,1)))}}.compass-status{color:var(--muted);align-items:baseline;gap:8px;font-size:13px;display:flex}.compass-status:before{content:"";background:var(--off);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.compass-status.ok{color:var(--text)}.compass-status.ok:before{background:var(--ok)}.compass-status.warn{color:var(--warn)}.compass-status.warn:before{background:var(--warn);border-radius:1px;transform:translateY(-1px)rotate(45deg)}.kbd{text-align:center;min-width:18px;font:600 11px/16px var(--font);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:1px 5px;display:inline-block}.palette-trigger{min-width:190px;font:inherit;color:var(--muted);cursor:pointer;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;padding:5px 6px 5px 10px;font-size:13px;display:inline-flex}.palette-trigger:hover{color:var(--text);border-color:color-mix(in srgb, var(--text) 18%, var(--border))}.palette-trigger-text{text-align:left;flex:1}.search-icon{flex:none}@media (width<=760px){.palette-trigger{min-width:0}.palette-trigger-text,.palette-trigger .kbd{display:none}}.palette-backdrop{z-index:30;-webkit-backdrop-filter:blur(2px);background:#06050c94;justify-content:center;align-items:flex-start;padding:min(14vh,120px) 16px 16px;animation:.12s ease-out palette-fade;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(620px,100%);max-height:min(560px,100vh - 32px);animation:.14s ease-out palette-in;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073,inset 0 0 0 1px #ffffff08}.palette-search{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:12px 14px;display:flex}.palette-search input[type=text]{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:4px 0;font-size:15.5px}.palette-search input[type=text]:focus{outline:none}.palette-list{overscroll-behavior:contain;flex:1;padding:6px;overflow-y:auto}.palette-group{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px;font-size:11px;font-weight:600}.palette-item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex;position:relative}.palette-item.active{background:var(--surface-2)}.palette-item.active:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:7px;bottom:7px;left:0}.palette-item.disabled{cursor:default}.palette-item.disabled .palette-title{color:var(--muted);opacity:.7}.palette-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.palette-title mark{color:var(--accent);background:0 0;font-weight:700}.palette-hint{color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:none;padding:1px 7px;font-size:11.5px;font-weight:600}.palette-empty{text-align:center;padding:20px 10px}.palette-foot{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 50%, var(--surface));gap:16px;padding:8px 14px;display:flex}.palette-foot span{align-items:center;gap:4px;display:inline-flex}@keyframes palette-fade{0%{opacity:0}to{opacity:1}}@keyframes palette-in{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:none}}.toast{z-index:40;background:var(--surface);border:1px solid var(--border);max-width:min(480px,100vw - 32px);box-shadow:var(--shadow);border-radius:10px;padding:10px 14px;font-size:13px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.bad{border-color:color-mix(in srgb, var(--bad) 45%, var(--border));color:var(--bad)}
