:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--t-xs:11px;--t-s:13px;--t-m:15px;--t-l:20px;--t-xl:28px;--r-s:12px;--r-l:24px;--r-pill:999px;--d-fast:.12s;--d-med:.22s;--ease:cubic-bezier(.2,.7,.2,1);--sab:env(safe-area-inset-bottom,0px);--sat:env(safe-area-inset-top,0px);--hud-top:0px;--hud-dock:100%;--brand:#4B2994;--brand-text:#4B2994;--on-brand:#fff;--deep:#1A0F3A;--surface:#fff;--surface-1:#F5F3FB;--surface-2:#EBE7F6;--tint:rgba(75,41,148,.1);--line:rgba(26,15,58,.1);--ink:#171321;--ink-2:#4F4A63;--ink-3:#6A6580;--ok:#0A6B4D;--warn:#85590A;--bad:#B0342A;--e1:0 2px 8px rgba(26,15,58,.18);--e2:0 -8px 32px rgba(26,15,58,.28);--scrim:rgba(10,6,24,.4);--map-scrim:rgba(22,13,48,.62);--hud-bg:rgba(22,13,48,.62);--hud-ink:#fff;--hud-ink-2:rgba(255,255,255,.8);--hud-track:rgba(255,255,255,.24);--shadow-text:0 1px 2px rgba(10,6,24,.8),0 0 6px rgba(10,6,24,.5);--font:"Avenir Next","Avenir","Futura","Jost","Century Gothic",ui-sans-serif,system-ui,sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--brand:#6E4FCB;--brand-text:#B9A6F5;--surface:#1B1535;--surface-1:#261E4A;--surface-2:#31275E;--tint:rgba(185,166,245,.14);--line:rgba(255,255,255,.1);--ink:#F3F1FA;--ink-2:#C9C4DE;--ink-3:#A29DBE;--ok:#3FBF8E;--warn:#D9A441;--bad:#E8776B;--scrim:rgba(0,0,0,.55);color-scheme:dark}}:root[data-theme=dark]{--brand:#6E4FCB;--brand-text:#B9A6F5;--surface:#1B1535;--surface-1:#261E4A;--surface-2:#31275E;--tint:rgba(185,166,245,.14);--line:rgba(255,255,255,.1);--ink:#F3F1FA;--ink-2:#C9C4DE;--ink-3:#A29DBE;--ok:#3FBF8E;--warn:#D9A441;--bad:#E8776B;--scrim:rgba(0,0,0,.55);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;background:var(--deep);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:var(--t-m);line-height:1.4;overscroll-behavior:none;font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;background:none;padding:0}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px}[hidden]{display:none!important}h2,h3,p{margin:0}.small{font-size:var(--t-s);color:var(--ink-2)}.bad{color:var(--bad)}.pos{color:var(--ok)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#labels{position:fixed;inset:0;pointer-events:none;overflow:hidden}#labels>*{position:absolute;left:0;top:0}.lbl{white-space:nowrap;font-size:var(--t-xs);font-weight:600;color:#fff;text-shadow:var(--shadow-text);will-change:transform;transition:opacity var(--d-med);background:var(--map-scrim);padding:1px 6px;border-radius:var(--r-pill)}.lbl.town{font-size:var(--t-xs);font-weight:600;letter-spacing:.02em}.lbl.npc{font-weight:500;opacity:.92}.lbl.me{font-weight:700}.lbl.remote{color:#bfe6fa}.lbl.say{background:#fff;color:#171321;font-weight:500;padding:4px 8px;border-radius:var(--r-s);box-shadow:var(--e1);text-shadow:none}.pin{pointer-events:auto;display:flex;align-items:center;gap:var(--s1);color:#fff;font-size:var(--t-xs);font-weight:600;text-shadow:var(--shadow-text);transition:opacity var(--d-med);position:relative}.pin:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;min-width:44px;transform:translate(-50%,-50%)}.pin i{width:16px;height:16px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-style:normal;font-size:var(--t-xs);text-shadow:none;box-shadow:0 1px 3px #00000073}.pin span{display:flex;align-items:baseline;gap:var(--s1);white-space:nowrap;background:var(--map-scrim);padding:1px 6px;border-radius:var(--r-pill)}.pin small{font-size:var(--t-xs);font-weight:400;opacity:.85}.parish{pointer-events:none;text-align:center;font-size:var(--t-xs);color:#fff;text-shadow:var(--shadow-text);font-weight:500;background:var(--map-scrim);padding:2px 8px;border-radius:var(--r-s)}.parish b{display:block;font-size:var(--t-m);font-weight:600}.parish small{display:block;font-size:var(--t-xs);opacity:.8}.lbl.off,.pin.off{opacity:0;pointer-events:none!important}#hud{position:fixed;inset:0;pointer-events:none;display:flex;flex-direction:column;padding:var(--sat) 0 var(--sab)}#hud>*{pointer-events:auto}#hud .spacer{flex:1;pointer-events:none!important}.top{position:relative;margin:var(--s2) var(--s2) 0;padding:var(--s2) var(--s3) var(--s3);border-radius:var(--r-s);background:var(--hud-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--hud-ink);overflow:hidden;display:flex;flex-direction:column;gap:var(--s2)}.top .row1{display:flex;align-items:center;gap:var(--s3);min-width:0}.top .id{display:flex;align-items:center;gap:var(--s2);flex:1;min-width:0;text-align:left;color:inherit;position:relative}.top .id:after{content:"";position:absolute;inset:-6px -4px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:600;font-size:var(--t-s);flex:none}.top .who{min-width:0;display:flex;flex-direction:column;line-height:1.25}.top .who b{font-size:var(--t-m);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .sub{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-xs);color:var(--hud-ink-2);white-space:nowrap;overflow:hidden;min-width:0}.top .sub>span{overflow:hidden;text-overflow:ellipsis}.top .cash{text-align:right;line-height:1.15;flex:none;display:flex;flex-direction:column}.top .cash b{font-size:var(--t-l);font-weight:600;letter-spacing:-.01em}.top .cash span{font-size:var(--t-xs);color:var(--hud-ink-2);white-space:nowrap}.top .sub b,.top .cash span b{display:inline;font-size:inherit;font-weight:600;letter-spacing:0;color:#fff}.dot{width:7px;height:7px;border-radius:50%;background:#7fe3bc;flex:none;animation:pulse 2s infinite}.dot.off{background:#ffb4ac;animation:none}@keyframes pulse{50%{opacity:.35}}#hIsland{display:inline-flex;gap:var(--s2);white-space:nowrap;overflow:hidden;min-width:0}#hIsland>span{flex:none}#hIsland .off{color:#ffd27a}.vitals,.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);position:relative;min-height:28px;text-align:left;color:inherit;width:100%}.vitals:after{content:"";position:absolute;inset:-8px -6px}.vitals .v{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:var(--t-xs);color:var(--hud-ink-2)}.vitals .v>span:first-child{display:flex;justify-content:space-between;gap:var(--s1)}.vitals .v b{font-weight:600;color:var(--hud-ink)}.vitals .t{height:3px;border-radius:var(--r-pill);background:var(--hud-track);overflow:hidden}.vitals .t i{display:block;height:100%;background:#fff;border-radius:var(--r-pill);transition:width .4s}.vitals .t i.lo{background:#ffa799}.kpi{display:flex;flex-direction:column;min-width:0;line-height:1.2}.kpi b{font-size:var(--t-m);font-weight:600}.kpi span{font-size:var(--t-xs);color:var(--hud-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tickbar{position:absolute;left:0;bottom:0;height:2px;width:0;background:#fff;opacity:.85;transition:width 1s linear}.chips-line{display:flex;gap:var(--s2);overflow-x:auto;scrollbar-width:none;padding:0 var(--s2);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}.chips-line::-webkit-scrollbar{display:none}.chips-line{overflow-y:hidden;touch-action:pan-x;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.tchips{margin-top:var(--s2);min-height:0}.tchips:empty,.chips-line:empty{display:none}.tchip,.overlays button{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:0 var(--s3);border-radius:var(--r-pill);background:var(--hud-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:var(--t-xs);font-weight:600;line-height:1.2;white-space:nowrap;position:relative}.tchip:after,.overlays button:after{content:"";position:absolute;inset:-8px -2px}.tchip u{width:6px;height:6px;border-radius:50%;background:#dccfff;flex:none;text-decoration:none}.tchip.ok u{background:#7fe3bc}.tchip.warn u{background:#ffd27a}.tchip.bad u{background:#ffb4ac}.tchip.warn{background:#6e4608d1}.tchip.bad{background:#8c241cd9}.tchip[data-ladder]{background:var(--brand)}.tchip s{display:inline-flex;gap:2px;text-decoration:none}.tchip s i{width:5px;height:5px;border-radius:50%;background:#ffffff4d}.tchip s i.on{background:#fff}.tchip>span{overflow:hidden;text-overflow:ellipsis}.overlays{margin-top:var(--s2);-webkit-mask-image:none;mask-image:none}.overlays button[aria-pressed=true]{background:var(--brand)}.legend{align-self:center;margin-top:var(--s2);display:flex;align-items:center;gap:var(--s2);font-size:var(--t-xs);color:#fff;text-shadow:var(--shadow-text);pointer-events:none!important}.legend i{width:72px;height:4px;border-radius:var(--r-pill);background:linear-gradient(90deg,#e4dcf7,#a995d6,#4b2994,#1a0f3a)}.ai{display:flex;gap:var(--s2);align-items:center;background:var(--hud-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-radius:var(--r-s);padding:var(--s2) var(--s3);margin:0 var(--s2) var(--s2);max-width:420px;opacity:0;transform:translateY(6px);transition:opacity var(--d-med),transform var(--d-med);pointer-events:none!important}.ai.show{opacity:1;transform:none;pointer-events:auto!important}.ai .dot{width:24px;height:24px;border-radius:50%;background:var(--brand);display:grid;place-items:center;font-size:var(--t-xs);font-weight:600;animation:none}.ai p{font-size:var(--t-s);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai b{color:#fff}.hint{align-self:center;font-size:var(--t-xs);color:#fff;text-shadow:var(--shadow-text);margin-bottom:var(--s2);pointer-events:none!important;text-align:center;padding:0 var(--s4)}.dock{display:flex;gap:var(--s1);margin:0 var(--s2) var(--s2);padding:var(--s1);border-radius:var(--r-s);background:var(--hud-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dock button{flex:1 1 0;min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:calc(var(--r-s) - 3px);color:#fff;font-size:var(--t-xs);font-weight:500;line-height:1.15;white-space:nowrap;padding:var(--s1) 2px}.dock button svg{width:18px;height:18px;flex:none;color:#dccfff}.dock button:active{background:#ffffff24}.dock button.primary{background:var(--brand)}.dock button.primary svg{color:#fff}.dock button.clock b{font-size:var(--t-xs);font-weight:600}.slots{display:flex;gap:var(--s1);align-items:center;min-height:18px}.slots i{width:8px;height:8px;border-radius:50%;background:#dccfff;display:inline-block}.slots i.used{background:#ffffff4d}.sheet .slots i{background:var(--brand)}.sheet .slots i.used{background:var(--surface-2)}.toast{position:fixed;left:50%;top:calc(var(--hud-top) + var(--s2));transform:translate(-50%,-8px);opacity:0;background:var(--deep);color:#fff;padding:var(--s2) var(--s3);border-radius:var(--r-s);font-size:var(--t-s);max-width:min(380px,calc(100vw - 32px));transition:opacity var(--d-med),transform var(--d-med);z-index:40;pointer-events:none;text-align:center;box-shadow:var(--e1)}.toast.on{opacity:1;transform:translate(-50%)}.fade{position:fixed;inset:0;background:var(--deep);opacity:0;pointer-events:none;transition:opacity .6s;z-index:30;display:grid;place-items:center;color:#fff;font-size:var(--t-l);font-weight:300}.fade.on{opacity:.85}.nogl{position:fixed;inset:0;display:grid;place-items:center;padding:var(--s6);text-align:center;color:#fff}.start{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--s6) var(--s4) calc(var(--s6) + var(--sab));background:linear-gradient(180deg,#1a0f3a00 30%,#1a0f3aeb 72%);color:#fff;gap:var(--s3)}.start>*{max-width:430px;width:100%;margin:0 auto}.wordmark{display:flex;align-items:baseline;gap:var(--s2)}.wordmark b{font-size:44px;font-weight:300;letter-spacing:-.03em;line-height:1}.wordmark span{font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:#c7b4ff}.tagline{font-size:var(--t-l);font-weight:300;color:#e9e3ff;margin-top:calc(var(--s2) * -1)}.island{background:#ffffff1a;border-radius:var(--r-s);padding:var(--s3) var(--s4);display:grid;grid-template-columns:1fr auto;gap:var(--s2) var(--s3);font-size:var(--t-s);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.island span{color:#ffffffc7}.island b{font-weight:600;text-align:right}.island .live{color:#7fe3bc;display:inline-flex;align-items:center;gap:6px}.island .live:before{content:"";width:7px;height:7px;border-radius:50%;background:#7fe3bc;animation:pulse 2s infinite}.island .off{color:#ffd27a}.start .fine{font-size:var(--t-s);color:#ffffffb8}.start .asother{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:#ffffffd9;font-size:var(--t-s);text-decoration:underline;align-self:center;width:auto}.sheet-wrap{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);z-index:20}.sheet{position:relative;background:var(--surface);color:var(--ink);width:100%;max-width:460px;max-height:76vh;max-height:76dvh;border-radius:var(--r-l) var(--r-l) 0 0;display:flex;flex-direction:column;box-shadow:var(--e2);animation:rise var(--d-med) var(--ease)}.sheet.tall{max-height:92vh;max-height:92dvh}@keyframes rise{0%{transform:translateY(24px)}}.sheet:before{content:"";position:absolute;top:6px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:var(--r-pill);background:var(--surface-2)}.sheet header{flex:none;display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s4) var(--s2) var(--s4);min-height:60px}.sheet header h2{flex:1 1 auto;min-width:0;font-size:var(--t-l);font-weight:600;letter-spacing:-.01em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet header .meta{flex:0 1 auto;min-width:0;max-width:52%;font-size:var(--t-s);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.sheet header .x{position:relative;flex:none;display:grid;place-items:center;width:44px;height:44px;margin:-6px -8px -6px 0;color:var(--ink-2)}.sheet header .x:before{content:"";grid-area:1/1;width:32px;height:32px;border-radius:50%;background:var(--surface-1)}.sheet header .x:after{content:"";grid-area:1/1;width:14px;height:14px;transform:rotate(45deg);background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat}.sheet .in{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--s2) var(--s4) calc(var(--s4) + var(--sab));display:flex;flex-direction:column;gap:var(--s4);scroll-padding:var(--s2) 0 var(--s4)}.sheet .in>*{flex:none;min-width:0}.sheet .in>div[id$=body],.sheet .in>#pl,.sheet .in>#posts{display:flex;flex-direction:column;gap:var(--s4)}.sh-foot{flex:none;display:flex;gap:var(--s3);padding:var(--s3) var(--s4) calc(var(--s3) + var(--sab));background:var(--surface);box-shadow:0 -1px 0 var(--line)}.sh-foot .btn{width:auto;flex:1}.sh-foot .btn.ghost{flex:0 0 38%}.sheet.tall .in{padding-bottom:var(--s4)}.sec{display:flex;flex-direction:column;gap:var(--s2)}.sec-h{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);min-height:24px}.sec h3,.in>h3,.grp{font-size:var(--t-s);font-weight:600;color:var(--ink-3);letter-spacing:.01em}.sec .small+.small{margin-top:0}.tbl{width:100%;border-collapse:collapse;font-size:var(--t-m)}.tbl td{padding:var(--s3) 0;vertical-align:top;border-top:1px solid var(--line)}.tbl tr:first-child td{border-top:0}.tbl td:first-child{color:var(--ink-2);padding-right:var(--s3);text-align:left}.tbl td:last-child{text-align:right;font-weight:600;color:var(--ink)}.tbl td small{display:block;font-size:var(--t-s);font-weight:400;color:var(--ink-3)}.tbl tr.sub td:first-child{padding-left:var(--s4);color:var(--ink-3)}.tbl tr.sub td:last-child{font-weight:400;color:var(--ink-2)}.tbl td.pos{color:var(--ok)}.act{display:flex;gap:var(--s3);align-items:center;width:100%;text-align:left;padding:var(--s3) var(--s4);margin:0 calc(var(--s4) * -1);width:calc(100% + var(--s4) * 2);min-height:56px;border-top:1px solid var(--line);background:none;border-radius:0}.act:first-of-type,.grp+.act,.act.first{border-top:0}.act:active{background:var(--surface-1)}.act:disabled{opacity:.45}.act .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.act .t b{font-size:var(--t-m);font-weight:600}.act .t>span{font-size:var(--t-s);color:var(--ink-2);line-height:1.35}.act .t em.q{font-style:normal;font-size:var(--t-s);color:var(--ink-3)}.act .t em.q:empty{display:none}.act .t em.q.no{color:var(--warn)}.act .tag{font-size:var(--t-s);font-weight:600;color:var(--brand-text);white-space:nowrap}.act.blocked .t b,.act.blocked .tag{color:var(--ink-3)}.act.blocked{background:none}.seatrow,.row{display:flex;justify-content:space-between;align-items:center;gap:var(--s3)}.seatrow{padding:var(--s3) 0;border-top:1px solid var(--line);font-size:var(--t-m)}.seatrow:first-child{border-top:0}.stats{display:grid;gap:var(--s2);grid-template-columns:1fr 1fr}.stats.c3{grid-template-columns:repeat(3,1fr)}.stats.c4{grid-template-columns:repeat(4,1fr)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.k2{background:var(--surface-1);border-radius:var(--r-s);padding:var(--s3);display:flex;flex-direction:column;gap:2px;min-width:0}.k2 b{font-size:var(--t-l);font-weight:600;letter-spacing:-.01em;line-height:1.2;overflow-wrap:anywhere}.k2 span{font-size:var(--t-s);color:var(--ink-2)}.stats.c3 .k2 b{font-size:var(--t-m)}.panel,.card{display:flex;flex-direction:column;gap:var(--s2)}.panel>.row h3,.card>.row h3,.panel>h3,.card>h3{font-size:var(--t-m);font-weight:600;color:var(--ink)}.callout{background:var(--surface-1);border-radius:var(--r-s);padding:var(--s3) var(--s4)}.share,.goal{border-radius:var(--r-s);padding:var(--s4);background:var(--brand);color:#fff;display:flex;flex-direction:column;gap:var(--s1)}.share .big{font-size:var(--t-xl);font-weight:300}.share .eyebrow,.goal .eyebrow,.share .small,.goal .small{color:#ffffffeb}.eyebrow{font-size:var(--t-s);font-weight:600;color:var(--ink-3)}.chip{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 var(--s2);border-radius:var(--r-pill);background:var(--surface-2);font-size:var(--t-s);font-weight:500;color:var(--ink-2);line-height:1.3;white-space:nowrap;text-align:center}.chip.on{background:var(--brand);color:#fff}.chip.ok{background:var(--tint);color:var(--ok)}.chip.warn{color:var(--warn)}.chip.bad,.chip.off{color:var(--ink-3)}.chip.me{background:var(--brand);color:#fff}.cost{display:inline-flex;align-items:center;padding:0 var(--s2);min-height:24px;border-radius:var(--r-pill);background:var(--tint);color:var(--brand-text);font-size:var(--t-s);font-weight:600;white-space:nowrap}.fx{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2)}.fx span{font-size:var(--t-s);color:var(--ink-2)}.fx .up{color:var(--ok)}.fx .down{color:var(--bad)}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:48px;padding:0 var(--s4);border-radius:var(--r-s);background:var(--brand);color:var(--on-brand);font-weight:600;font-size:var(--t-m);line-height:1.2}.btn.ghost{background:var(--surface-2);color:var(--ink)}.btn.text,.linkbtn{background:none;color:var(--brand-text);min-height:44px;width:auto}.btn.sm{width:auto;min-height:44px;padding:0 var(--s4);font-size:var(--t-s)}.btns>.btn.sm{flex:1 1 auto}.btn:disabled{opacity:.4}.btn:active:not(:disabled){filter:brightness(.94)}.btn.white{background:#fff;color:var(--deep)}.btn.ghostw{background:#ffffff29;color:#fff}.btns{display:flex;flex-direction:column;gap:var(--s2)}.btns.row-wrap{flex-direction:row;flex-wrap:wrap}.linkbtn{display:inline-flex;align-items:center;justify-content:center;font-size:var(--t-s);text-decoration:underline;align-self:center;padding:0 var(--s3)}.tabs{display:flex;gap:var(--s1);background:var(--surface-1);padding:var(--s1);border-radius:var(--r-s)}.tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:calc(var(--r-s) - 3px);font-size:var(--t-s);font-weight:600;color:var(--ink-2);text-align:center}.tabs button[aria-selected=true]{background:var(--surface);color:var(--brand-text);box-shadow:var(--e1)}.mtr{display:grid;grid-template-columns:96px 1fr 36px;gap:var(--s3);align-items:center;font-size:var(--t-s);color:var(--ink-2)}.mtr .t{height:6px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.mtr .t i{display:block;height:100%;border-radius:var(--r-pill);background:var(--brand)}.mtr .t i.lo{background:var(--bad)}.mtr span:last-child{text-align:right;font-weight:600;color:var(--ink)}.vit{display:flex;flex-direction:column;gap:var(--s1)}.vit .mtr{grid-template-columns:96px 1fr 36px}.vit p{font-size:var(--t-s);color:var(--ink-3)}.slotsrow{display:flex;gap:var(--s2);align-items:center}.policy,.cand,.post,.promise{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) 0;border-top:1px solid var(--line)}.sec>.policy:first-of-type,#pl .policy:first-of-type,#posts .post:first-child,.cand:first-of-type{border-top:0}.policy.done{opacity:.6}.cand.picked{background:var(--tint);margin:0 calc(var(--s4) * -1);padding:var(--s3) var(--s4)}.cand ul{margin:0;padding-left:var(--s4);font-size:var(--t-s);color:var(--ink-2)}.promise{flex-direction:row;align-items:flex-start;gap:var(--s3);cursor:pointer}.promise input{margin-top:2px;width:22px;height:22px;accent-color:var(--brand);flex:none}.promise b{display:block;font-size:var(--t-m)}.promise .t{flex:1}.promise .t span{font-size:var(--t-s);color:var(--ink-2)}.post.system{opacity:.85}.post .by{display:flex;justify-content:space-between;gap:var(--s2);align-items:center;font-size:var(--t-s)}.post .by b,.post p{font-size:var(--t-m)}.post .acts{display:flex;gap:var(--s2);flex-wrap:wrap}.post .acts button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--s3);border-radius:var(--r-pill);background:var(--surface-2);font-size:var(--t-s);font-weight:500}.post .acts button[disabled]{opacity:.5}.alloc{display:grid;grid-template-columns:1fr auto;gap:var(--s1) var(--s3);align-items:center;padding:var(--s3) 0;border-top:1px solid var(--line)}.alloc:first-child{border-top:0}.alloc .b{grid-column:1/-1;height:4px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.alloc .b i{display:block;height:100%;background:var(--brand);transition:width .3s}.step{display:flex;gap:var(--s2);align-items:center;font-weight:600}.step span{min-width:44px;text-align:center}.step button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-s);background:var(--surface-2);font-size:var(--t-l)}.log{display:flex;flex-direction:column}.log .e{display:flex;gap:var(--s3);align-items:flex-start;font-size:var(--t-s);padding:var(--s2) 0;border-top:1px solid var(--line)}.log .e:first-child{border-top:0}.log .e .mo{color:var(--ink-3);white-space:nowrap;min-width:36px}.log .e.turn{color:var(--ink-3)}.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}.scores .k2 b{font-size:var(--t-m)}.spark{display:block;width:100%;height:56px;margin-bottom:var(--s2)}.spark path{fill:none;stroke:var(--brand-text);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.spark .base{stroke:var(--line);stroke-width:1}.spark circle{fill:var(--brand-text)}.ending p{font-size:var(--t-m)}.ending h3{font-size:var(--t-l);font-weight:600;color:var(--ink)}.decs{display:flex;flex-direction:column;gap:var(--s3)}.dec{display:grid;grid-template-columns:24px 1fr;gap:var(--s3);align-items:start}.dec .n{width:24px;height:24px;border-radius:50%;background:var(--tint);color:var(--brand-text);display:grid;place-items:center;font-size:var(--t-xs);font-weight:600}.dec b{font-size:var(--t-m);font-weight:600}.dec .chain{display:block;font-size:var(--t-s);color:var(--ink-2);padding-left:var(--s3);border-left:2px solid var(--line);margin-top:var(--s1)}.dec .chain:before{content:"then ";color:var(--ink-3)}.bgp{display:flex;gap:var(--s2);flex-wrap:wrap}.bgp button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--s4);border-radius:var(--r-pill);background:var(--surface-1);font-size:var(--t-s);font-weight:600}.bgp button[aria-pressed=true]{background:var(--brand);color:#fff}.choice{display:flex;flex-direction:column;gap:var(--s2)}.choice h3{font-size:var(--t-l);font-weight:600;color:var(--ink)}.advice{display:flex;gap:var(--s3);align-items:flex-start;font-size:var(--t-s);color:var(--ink-2)}.advice .dot{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:var(--t-xs);font-weight:600;flex:none;animation:none}.sheet input:not([type=checkbox]):not([type=radio]),.sheet textarea,.sheet select{display:block;width:100%;font-family:var(--font);font-size:16px;line-height:1.3;color:var(--ink);background:var(--surface-1);border:0;border-radius:var(--r-s);padding:var(--s3) var(--s4);min-height:48px;appearance:none;-webkit-appearance:none;margin:0}.sheet select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%238A8A96' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.sheet textarea{min-height:88px;resize:vertical}.sheet input:focus,.sheet textarea:focus,.sheet select:focus{outline:none;box-shadow:0 0 0 2px var(--brand-text)}.sheet input::placeholder,.sheet textarea::placeholder{color:var(--ink-3);opacity:1}.sheet input:user-invalid{box-shadow:0 0 0 2px var(--bad)}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--t-s);font-weight:600;color:var(--ink-2)}.row .field{flex:1;min-width:0}.field input{box-sizing:border-box;width:100%;min-width:0}.check{display:flex;align-items:flex-start;gap:var(--s3);font-size:var(--t-s);line-height:1.4;color:var(--ink-2);cursor:pointer;min-height:44px}.check input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--brand)}.err{color:var(--bad);font-size:var(--t-s)}.sheet form.btns{gap:var(--s3)}.composer{display:flex;flex-direction:column;gap:var(--s2)}.composer .row select{flex:1}.sayrow{display:flex;gap:var(--s2);align-items:stretch}.sayrow input{flex:1}.sayrow .btn.sm{min-height:48px;padding:0 var(--s4)}.pw{position:relative;display:block}.pw input{padding-right:52px!important}.pw .eye{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;color:var(--ink-2);display:flex;align-items:center;justify-content:center}.pw .eye svg{width:22px;height:22px}.pw .eye[aria-pressed=true]{color:var(--brand-text)}.pwmeter{display:flex;gap:var(--s1)}.pwmeter i{flex:1;height:4px;border-radius:2px;background:var(--surface-2)}.pwmeter[data-level="1"] i:nth-child(1){background:var(--warn)}.pwmeter[data-level="2"] i:nth-child(-n+2){background:var(--brand)}.pwmeter[data-level="3"] i{background:var(--ok)}.auth p{margin:0}.sr-user{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.stepper{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);background:var(--surface-1);border-radius:var(--r-s);padding:var(--s1)}.stepper button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:calc(var(--r-s) - 3px);background:var(--surface);font-size:var(--t-l);box-shadow:var(--e1)}.stepper b{font-size:var(--t-m);font-weight:600}.axis{display:flex;flex-direction:column;gap:var(--s2)}.seg{display:flex;gap:var(--s2);flex-wrap:wrap}.plots{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2)}.seg button,.plots button{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:var(--s3);border-radius:var(--r-s);background:var(--surface-1);color:var(--ink);text-align:left}.seg button{flex:1 1 30%}.seg button b,.plots button b{font-size:var(--t-s);font-weight:600}.seg button span,.plots button span{font-size:var(--t-xs);color:var(--ink-2)}.seg button[aria-checked=true],.plots button[aria-checked=true]{background:var(--brand);color:#fff}.seg button[aria-checked=true] span,.plots button[aria-checked=true] span{color:#ffffffd9}.preview{display:flex;align-items:center;min-height:44px}.preview .q{font-style:normal;font-size:var(--t-s);color:var(--ink-2)}.preview .q.no{color:var(--warn)}.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2)}.strip.site{grid-template-columns:repeat(3,1fr)}.plot,.strip.site>div{background:var(--surface-1);border-radius:var(--r-s);padding:var(--s2);display:flex;flex-direction:column;gap:2px;min-width:0}.plot b,.strip.site b{font-size:var(--t-xs);font-weight:600;line-height:1.2}.plot span,.strip.site span{font-size:var(--t-xs);color:var(--ink-2)}.plot i{font-style:normal;font-size:var(--t-xs);color:var(--ink-3)}.plot.ripe,.strip.site>div.done{background:var(--tint)}.plot.ripe span,.strip.site>div.done span{color:var(--ok)}.plot.flat span{color:var(--bad)}.plot.locked{outline:1px dashed var(--ink-3);outline-offset:-1px}.pips{display:flex;gap:var(--s1);margin-top:2px}.pips i{flex:1;height:4px;border-radius:var(--r-pill);background:#ffffff47}.pips i.on{background:#fff}.goal b{font-size:var(--t-l);font-weight:600}.ladder{display:flex;flex-direction:column}.rung{display:grid;grid-template-columns:28px 1fr;gap:var(--s3);align-items:start;padding:var(--s3) 0;border-top:1px solid var(--line)}.rung:first-child{border-top:0}.rung>i{width:28px;height:28px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-style:normal;font-size:var(--t-s);font-weight:600;color:var(--ink-3)}.rung b{display:block;font-size:var(--t-m)}.rung span{display:block;font-size:var(--t-s);color:var(--ink-2)}.rung em{display:block;font-style:normal;font-size:var(--t-s);color:var(--ink-3);margin-top:2px}.rung.done>i{background:var(--brand);color:#fff}.rung.next{background:var(--tint);margin:0 calc(var(--s2) * -1);padding:var(--s3) var(--s2);border-radius:var(--r-s);border-top-color:transparent}.rung.next>i{background:var(--surface);color:var(--brand-text)}.rung.next+.rung{border-top-color:transparent}.ladder.compact{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s3)}.ladder.compact .rung{grid-template-columns:24px 1fr;gap:var(--s2);padding:var(--s2) 0}.ladder.compact .rung>i{width:24px;height:24px;font-size:var(--t-xs)}.ladder.compact .rung b{font-size:var(--t-s)}.ladder.compact .rung:nth-child(2){border-top:0}.cal{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2)}.cal>div{border-radius:var(--s2);padding:var(--s2);display:flex;flex-direction:column;gap:1px;min-width:0}.cal b{font-size:var(--t-xs);font-weight:600;color:var(--ink-3)}.cal span{font-size:var(--t-xs);line-height:1.25;color:var(--ink-2)}.cal .now{background:var(--tint)}.cal .now b{color:var(--brand-text)}.mk{display:flex;flex-direction:column;gap:var(--s3)}.mk-top{display:flex;gap:var(--s3);align-items:stretch}.mk-view{flex:none;width:118px;height:148px;border-radius:var(--r-s);background:var(--surface-1);overflow:hidden;touch-action:pan-y}.mk-view canvas{display:block;width:100%;height:100%;cursor:grab}.mk-id{display:flex;flex-direction:column;gap:var(--s2);justify-content:center;min-width:0}.mk-id .eyebrow{color:var(--brand-text);font-size:var(--t-m)}.mk-link{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;color:var(--brand-text);font-size:var(--t-s);font-weight:600}.mk-row{display:flex;flex-direction:column;gap:var(--s2)}.mk-row .chips{display:grid;gap:var(--s2)}.mk-row .chips-seg{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.mk-row .chips-sw{grid-template-columns:repeat(4,1fr);justify-items:center}.mk-opt{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:0 var(--s3);border-radius:var(--r-pill);background:var(--surface-1);color:var(--ink);font-size:var(--t-s);font-weight:600;line-height:1.2;white-space:nowrap}.mk-opt[aria-checked=true]{background:var(--brand);color:#fff}.mk .sw{width:100%;height:44px;display:grid;place-items:center;border-radius:var(--r-s)}.mk .sw i{display:block;width:32px;height:32px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1.5px #0000002e}.mk .sw[aria-checked=true] i{box-shadow:inset 0 0 0 1.5px #0000002e,0 0 0 3px var(--surface),0 0 0 5px var(--brand-text)}.mk-can{display:flex;flex-direction:column;gap:var(--s2)}.mk-can h3{font-size:var(--t-m);font-weight:600;color:var(--ink)}.mk-can ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--s2)}.mk-can li{position:relative;padding-left:var(--s4);font-size:var(--t-s);line-height:1.35;color:var(--ink)}.mk-can li:before{content:"";position:absolute;left:2px;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--brand)}.mk-can .mk-generic{color:var(--ink-3)}.mk-foot{display:contents}.seed{font-size:var(--t-s);color:var(--ink-3);display:inline-flex;align-items:center;gap:var(--s2)}.seed button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 var(--s3);border-radius:var(--r-s);background:var(--surface-2);font-size:var(--t-s);color:var(--ink-2)}.remote{opacity:.95}.field.narrow{flex:0 0 112px}.mtr.petition{grid-template-columns:1fr 90px}.meters{display:flex;flex-direction:column;gap:var(--s2)}.mono{font-size:var(--t-s);color:var(--ink-2)}.act-end{display:inline-flex;gap:var(--s2);align-items:center}.sec>:first-child,.sec-h+*,.small+.policy{border-top:0}.card .list .row{padding:var(--s2) 0}.row .field input{min-width:0;width:100%}.row>.btn{flex:none;width:auto;min-width:72px}.row:has(>.field):has(>.btn){align-items:flex-end}.wt{display:flex;flex-direction:column;gap:var(--s2)}.wt b{font-size:var(--t-l);line-height:1.2}.wt>span{font-size:var(--t-m);color:var(--ink-2)}.wt-meter{display:flex;align-items:center;gap:var(--s3)}.wt-meter em{font-style:normal;font-size:var(--t-xs);color:var(--ink-3)}.wt-meter s,.sheet s{display:inline-flex;gap:3px;text-decoration:none}.wt-meter s i{width:12px;height:6px;border-radius:var(--r-pill);background:var(--surface-2)}.wt-meter s i.on{background:var(--brand)}.wi{padding:var(--s2) 0}.wi.weak{background:var(--surface-1);border-radius:var(--r-s);padding:var(--s2) var(--s3);margin:0 calc(-1 * var(--s3))}.wsub{margin:var(--s3) 0 var(--s1);font-size:var(--t-xs);font-weight:600;color:var(--ink-3);text-transform:none}.wvote{display:grid;grid-template-columns:1fr;gap:var(--s2);margin-top:var(--s2)}.wvote .btn{width:100%;min-height:44px;padding:0 var(--s2);white-space:nowrap}.wvote.two{grid-template-columns:1fr 1fr}.tbl td.wn{width:100%;max-width:0}.tbl td.wn>span,.tbl td.wn>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbl td.wn>span{color:var(--ink)}.wcur{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s1);margin-bottom:var(--s2)}.wcur>div{display:flex;flex-direction:column;gap:var(--s1);min-width:0}.wcur i{height:6px;border-radius:var(--r-pill);background:var(--surface-2)}.wcur .done i{background:var(--ok)}.wcur .now i{background:var(--brand)}.wcur span{font-size:var(--t-xs);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wcur .now span{color:var(--ink);font-weight:600}.wvote .btn[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.fut-tabs button{min-width:0}.fut-banner{position:fixed;left:var(--s4);right:var(--s4);top:calc(var(--hud-top, 140px) + var(--s2));z-index:30;background:var(--hud-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:var(--r-s);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2)}.fut-banner p{margin:0;display:flex;flex-direction:column;gap:2px}.fut-banner p b{font-size:var(--t-s)}.fut-banner p span{font-size:var(--t-xs);color:var(--hud-ink-2,#DCCFFF);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fut-seg{display:flex;gap:var(--s1)}.fut-seg button{flex:1;min-height:44px;border-radius:var(--r-s);background:var(--hud-track,rgba(255,255,255,.18));color:#fff;font-weight:600;font-size:var(--t-s)}.fut-seg button[aria-pressed=true]{background:#fff;color:#1a0f3a}.fut-seg button.back{flex:2;background:var(--brand);color:var(--on-brand)}.howto{margin:0;padding:0;list-style:none;counter-reset:h;display:flex;flex-direction:column;gap:var(--s2);color:var(--ink-2);font-size:var(--t-s)}.howto li{counter-increment:h;display:grid;grid-template-columns:20px 1fr;gap:var(--s2)}.howto li:before{content:counter(h) ".";color:var(--brand-text);font-weight:600}.start .btn.text{color:#ffffffd9;text-decoration:underline;text-underline-offset:3px}.start .btns:has(>.btn.text){flex-direction:row;justify-content:center;flex-wrap:wrap;gap:var(--s2) var(--s5)}.invite-link{height:auto;min-height:44px;padding:var(--s3);font-size:var(--t-s);font-weight:600;word-break:break-all;overflow-wrap:anywhere;text-align:center;white-space:normal}.invite .btn{text-decoration:none;text-align:center}.sheet-wrap.stacked{display:none}.sheet header .back{position:relative;flex:none;display:grid;place-items:center;width:44px;height:44px;margin:-6px 0 -6px -8px;color:var(--ink-2)}.sheet header .back:before{content:"";grid-area:1/1;width:32px;height:32px;border-radius:50%;background:var(--surface-1)}.sheet header .back:after{content:"";grid-area:1/1;width:9px;height:9px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(2px) rotate(45deg)}.lbl.partner{pointer-events:auto;display:flex;align-items:baseline;gap:var(--s1);position:relative;font-size:var(--t-xs)}.lbl.partner small{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.lbl.partner:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}.pin span small{margin-left:var(--s1)}.pcard{display:grid;gap:var(--s1);padding:var(--s4);border-radius:var(--r-s);margin-bottom:var(--s3)}.pcard b{font-size:var(--t-l);line-height:1.15;overflow-wrap:anywhere}.pcard span{font-size:var(--t-m);opacity:.92;overflow-wrap:anywhere}.pswatch{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;font-size:var(--t-xs);font-weight:800;margin-right:var(--s2);vertical-align:-4px}.pnote{display:flex;gap:var(--s2);align-items:flex-start;padding:var(--s2) var(--s3);margin-bottom:var(--s3);border-radius:var(--r-s);background:var(--surface-1);font-size:var(--t-s);line-height:1.35}.pnote .chip{flex:none}.pperk{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) 0}.pperk>div{display:grid;gap:2px;min-width:0}.pcode{font-size:var(--t-l);font-weight:700;letter-spacing:.08em;overflow-wrap:anywhere}
