@font-face{font-family:QE Herbert Cooper;src:url(/fonts/QEHerbertCooper.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--water: #c8e0ed;--land: #f6f3eb;--land-edge: #ebe4d6;--bg: #f7f5ef;--panel: rgba(255, 255, 255, .92);--panel-solid: #ffffff;--border: rgba(46, 43, 38, .1);--border-strong: rgba(46, 43, 38, .18);--ink: #2a2723;--text: #4a463f;--text-dim: #7a7468;--text-faint: #a39c8f;--accent: #2f8fd0;--accent-soft: rgba(47, 143, 208, .12);--good: #3fad56;--good-soft: rgba(63, 173, 86, .12);--bad: #e05a4e;--bad-soft: rgba(224, 90, 78, .1);--warn: #efa02e;--warn-soft: rgba(239, 160, 46, .14);--shadow-sm: 0 2px 8px rgba(42, 39, 35, .06), 0 1px 2px rgba(42, 39, 35, .04);--shadow-md: 0 8px 28px rgba(42, 39, 35, .1), 0 2px 8px rgba(42, 39, 35, .05);--bubble-bg: #e9e9eb;--bubble-bg-happy: #c8ebd4;--bubble-bg-concerned: #ffe2a8;--bubble-bg-angry: #ffc7c2;--bubble-bg-outgoing: #007aff;--bubble-ink: #1c1c1e;--bubble-ink-happy: #0f3d1f;--bubble-ink-concerned: #5c3b00;--bubble-ink-angry: #5c1210;--bubble-ink-on-blue: #ffffff;--sans: "Nunito", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--serif: "Libre Baskerville", "Times New Roman", Times, serif;--paper: #f6efdf;--paper-deep: #f3ead6;--paper-edge: #e4d4b5;--ink-print: #1a1a1a;--ink-print-soft: rgba(26, 26, 26, .68);--ink-print-faint: rgba(26, 26, 26, .42);--rule: rgba(26, 26, 26, .35);--rule-strong: #2a2a2a;--rule-faint: rgba(26, 26, 26, .18);--shadow-paper-sm: 0 1px 0 rgba(255, 255, 255, .35) inset, 0 1px 2px rgba(26, 22, 14, .16);--shadow-paper-md: 0 1px 0 rgba(255, 255, 255, .35) inset, 0 2px 0 rgba(26, 22, 14, .07), 0 10px 24px rgba(26, 22, 14, .1);--grain-dots: radial-gradient(rgba(40, 32, 18, .05) .55px, transparent .7px);--good-ink: #2c7d5b;--warn-ink: #9a6a17;--accent-ink: #1c6ba3;--bad-ink: #b93a2c;--text-ui-display: 15px;--text-ui-title: 14px;--text-ui-body: 13px;--text-ui-caption: 11px;--text-ui-label: 10px;--radius: 2px;--phone-peek-h: 68px;font-family:var(--sans);font-size:15px;line-height:1.45;color:var(--text);background:#f3ead6;color-scheme:light;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:#f3ead6}body{margin:0;overflow:hidden;background:#f3ead6}#root{height:100svh;height:100dvh;position:relative;background:#f3ead6}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;color:var(--ink)}button{font-family:var(--sans);border:none;cursor:pointer;background:none;color:inherit;font-size:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;font-family:var(--serif);font-weight:700;font-size:var(--text-ui-body);letter-spacing:.02em;background:var(--paper);border:1px solid var(--rule);color:var(--ink-print);box-shadow:var(--shadow-paper-sm);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.btn:hover{border-color:var(--ink-print);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.btn.primary{background:var(--ink-print);border-color:var(--ink-print);color:var(--paper-deep)}.btn.primary:hover{background:#2a2a2a;border-color:#2a2a2a}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim);box-shadow:none}.btn.ghost:hover{border-color:var(--rule);box-shadow:none}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.term-link{color:var(--accent-ink);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.term-link:hover{color:#15547f}.title-screen{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;padding:clamp(28px,6vh,56px) 24px clamp(140px,24vh,240px);color:var(--ink-print);background:var(--paper-deep)}.title-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.title-bg-paper{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 32%),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(120,90,40,.018) 2px,rgba(120,90,40,.018) 3px),var(--paper-deep)}.title-bg-grain{position:absolute;inset:0;opacity:.07;background-image:radial-gradient(rgba(40,32,18,.55) .55px,transparent .7px);background-size:3px 3px}.title-bg-sketch-wrap{position:absolute;left:0;right:0;bottom:52px;height:clamp(120px,22vh,220px);display:flex;align-items:flex-end;justify-content:center;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 34%);mask-image:linear-gradient(180deg,transparent 0%,#000 34%)}.title-bg-sketch{display:block;width:min(1400px,96%);max-width:none;height:100%;object-fit:contain;object-position:bottom center;opacity:.34;-webkit-user-select:none;user-select:none}.title-bg-wash{position:absolute;inset:0;background:radial-gradient(ellipse 62% 48% at 50% 36%,rgba(243,234,214,.72) 0%,transparent 72%),linear-gradient(180deg,rgba(243,234,214,.42) 0%,transparent 26%,transparent 60%,rgba(243,234,214,.28) 100%)}.title-hero{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:720px;width:100%}.title-screen .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-print-soft);margin:0}.title-screen h1{display:flex;flex-direction:column;align-items:center;gap:.04em;font-family:Libre Baskerville,Times New Roman,Times,serif;font-size:clamp(48px,9vw,84px);font-weight:700;line-height:.98;letter-spacing:-.02em;color:var(--ink-print);text-shadow:none}.title-screen h1 .title-line{display:block}.title-screen h1 .title-line.accent{letter-spacing:-.015em;font-style:italic;font-weight:400}.title-screen .subtitle{margin:0;color:var(--ink-print-soft);max-width:46ch;font-family:Libre Baskerville,Times New Roman,Times,serif;font-size:clamp(14px,2vw,17px);font-weight:400;font-style:italic;letter-spacing:.01em;line-height:1.45}.title-screen .actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:10px;width:min(260px,100%)}.title-screen .btn.title-cta{width:100%;padding:13px 28px;font-family:var(--serif);font-size:14.5px;font-weight:700;letter-spacing:.03em;border-radius:2px;background:var(--ink-print);border:1.5px solid var(--ink-print);color:var(--paper-deep);box-shadow:none}.title-screen .btn.title-cta:hover{background:#2a2a2a;border-color:#2a2a2a;color:var(--paper-deep);transform:translateY(-1px);box-shadow:0 4px 14px #1a160e1f}.title-screen .btn.title-cta.secondary{background:var(--paper-deep);border:1px solid rgba(26,26,26,.55);color:var(--ink-print)}.title-screen .btn.title-cta.secondary:hover{background:#fbf5e8;border-color:var(--ink-print);color:var(--ink-print);box-shadow:none}.title-auth{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px;margin-top:10px}.title-auth-sep{color:var(--ink-print-faint)}.title-text-btn{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink-print-soft);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;padding:2px 0}.title-text-btn:hover{color:var(--ink-print)}.title-screen .error-note{color:#8b2e2e;font-size:13px}.title-footer{position:absolute;z-index:1;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 20px 20px;pointer-events:none}.title-footer>*{pointer-events:auto}.title-screen .signed-in-as{margin:0;color:var(--ink-print-faint);font-size:12px}.title-screen .signed-in-as .term-link{color:var(--ink-print-soft)}.title-screen .signed-in-as .term-link:hover{color:var(--ink-print)}.title-leaders{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-print-faint)}@media(max-width:520px){.title-screen h1{font-size:clamp(40px,12vw,56px)}.title-screen .subtitle{max-width:30ch}}.dot-row{display:flex;gap:10px;margin:4px 0 2px}.title-screen .dot-row span{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(26,26,26,.35);box-shadow:none;transition:transform .15s ease}.title-screen .dot-row span:hover{transform:scale(1.2)}.dot-row span{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--ink);transition:transform .15s ease}.dot-row span:hover{transform:scale(1.3)}.game-screen{flex:1;min-height:0;position:relative}.map-area{position:absolute;inset:0;background:var(--water);overflow:hidden;--dock-edge: max(14px, var(--safe-area-inset-left));--dock-rail-width: 50px;--dock-gap: 18px}.hud-top{position:absolute;top:max(14px,var(--safe-area-inset-top));left:max(16px,var(--safe-area-inset-left));right:max(16px,var(--safe-area-inset-right));display:flex;align-items:center;gap:12px;z-index:20;pointer-events:none}.hud-top>*{pointer-events:auto}.hud-folio{position:relative;z-index:2;display:inline-flex;flex-direction:column;max-width:100%;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 1px #1a160e0d;color:var(--ink-print)}.folio-vitals{display:flex;align-items:stretch}.folio-cell{flex:1;display:flex;flex-direction:column;gap:4px;padding:6px 10px 5px;min-width:0}.folio-cell+.folio-cell{border-left:1px solid var(--rule-faint)}.folio-term{min-width:78px}.folio-num-row{display:flex;align-items:baseline;gap:4px}.folio-num{font-family:var(--mono);font-size:16px;font-weight:500;line-height:1;letter-spacing:-.02em;display:inline-block}.folio-sub{font-family:var(--mono);font-size:10px;line-height:1;color:var(--ink-print-faint)}.folio-rule{height:2px;background:var(--rule-faint)}.folio-rule i{display:block;height:2px;background:var(--ink-print);transition:width .6s cubic-bezier(.22,1,.36,1)}.folio-lab{font-family:var(--serif);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1;white-space:nowrap;color:var(--ink-print-soft)}.folio-terms{display:block;width:100%;max-width:100%;height:auto}.folio-terms .term-done{fill:var(--ink-print)}.folio-terms .term-now{fill:none;stroke:var(--ink-print);stroke-width:1.2}.folio-terms .term-ahead{fill:none;stroke:#1a1a1a47;stroke-width:1.2}.folio-terms .term-pip{fill:var(--ink-print)}.folio-budget.is-warn .folio-num,.folio-budget.is-warn .folio-lab{color:var(--warn-ink)}.folio-budget.is-warn .folio-rule i{background:var(--warn-ink)}.folio-budget.is-bad .folio-num,.folio-budget.is-bad .folio-lab{color:var(--bad-ink)}.folio-budget.is-bad .folio-rule i{background:var(--bad-ink)}.folio-meters{border-top:1px solid var(--rule)}.folio-meters-toggle{display:none;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:5px 11px 6px;border:none;border-top:1px solid var(--rule);background:none;color:var(--ink-print-soft);font:inherit;cursor:pointer}.folio-pips{display:inline-flex;gap:5px}.folio-pips i{width:6px;height:6px;border-radius:50%;background:var(--ink-print-faint)}.folio-pips i.is-warn{background:var(--warn-ink)}.folio-pips i.is-bad{background:var(--bad-ink)}.folio-toggle-chev{font-size:9px;line-height:1}.folio-meters{position:relative;display:grid;grid-template-columns:repeat(3,auto);gap:7px 14px;padding:7px 11px 6px;cursor:default}.folio-meter{min-width:62px}.folio-meter-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.folio-meter-name{font-family:var(--serif);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1;white-space:nowrap;color:var(--ink-print-soft)}.folio-meter-val{font-family:var(--mono);font-size:11px;line-height:1}.folio-bar{height:2px;margin-top:3px;background:var(--rule-faint)}.folio-bar i{display:block;height:2px;background:var(--ink-print);transition:width .6s cubic-bezier(.22,1,.36,1)}.folio-meter.is-warn .folio-meter-name,.folio-meter.is-warn .folio-meter-val{color:var(--warn-ink)}.folio-meter.is-warn .folio-bar i{background:var(--warn-ink)}.folio-meter.is-bad .folio-meter-name,.folio-meter.is-bad .folio-meter-val{color:var(--bad-ink)}.folio-meter.is-bad .folio-bar i{background:var(--bad-ink)}.folio-meter.is-gent .folio-meter-name{border-bottom:1px dotted var(--ink-print-faint)}@media(prefers-reduced-motion:reduce){.folio-rule i,.folio-bar i{transition:none}}.metrics-pop{position:absolute;top:calc(100% + 9px);right:0;width:250px;padding:10px 12px;background:var(--paper-deep);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-paper-md);z-index:30}.metrics-pop:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}.metrics-pop-note{margin:0;font-size:var(--text-ui-caption);line-height:1.45;color:var(--ink-print-soft)}.metrics-pop-note strong{font-weight:700;color:var(--ink-print)}.metrics-pop-delta{display:flex;align-items:baseline;gap:5px;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--rule-faint);font-size:var(--text-ui-caption);color:var(--ink-print)}.metrics-pop-delta .gent-arrow{font-size:8px;line-height:1}.metrics-pop-delta .gent-arrow.up{color:var(--bad-ink)}.metrics-pop-delta .gent-arrow.down{color:var(--good-ink)}.float-panel{position:absolute;top:14px;right:14px;bottom:16px;width:332px;max-width:calc(100% - 28px);background:var(--grain-dots) 0 0 / 3px 3px,repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(120,90,40,.018) 2px,rgba(120,90,40,.018) 3px),linear-gradient(180deg,rgba(255,255,255,.22),transparent 28%),var(--paper-deep);border:1px solid var(--paper-edge);border-radius:2px;box-shadow:var(--shadow-paper-md);display:flex;flex-direction:column;min-height:0;z-index:40;overflow:hidden}.float-panel-scrim{display:none;position:absolute;inset:0;background:#2a272347;z-index:39}.float-panel-head{display:flex;align-items:center;gap:6px;border-bottom:3px double var(--rule-strong);margin:0 12px;padding:8px 0 6px}.back-btn{width:34px;height:34px;border-radius:50%;font-size:18px;color:var(--ink-print-soft);display:grid;place-items:center;transition:background .12s ease,color .12s ease}.back-btn:hover{background:#1a1a1a12;color:var(--ink-print)}.back-btn:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.float-panel .panel-title{flex:1;font-weight:700;font-size:var(--text-ui-title);padding:6px 4px;color:var(--ink-print)}.tl-masthead{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px}.tl-masthead-name{font-family:UnifrakturMaguntia,Times New Roman,serif;font-weight:400;font-size:21px;line-height:1;letter-spacing:.01em;color:var(--ink-print)}.tl-masthead-folio{font-size:9.5px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-print-soft)}.float-panel .panel-close{width:34px;height:34px;border-radius:50%;font-size:20px;color:var(--ink-print-soft);display:grid;place-items:center;transition:background .12s ease,color .12s ease}.float-panel .panel-close:hover{background:#1a1a1a12;color:var(--ink-print)}.float-panel .panel-close:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.hud-menu{position:absolute;top:14px;right:16px;z-index:26}.hud-menu-btn{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 16px 10px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--rule);font-family:var(--serif);font-weight:700;font-size:var(--text-ui-body);letter-spacing:.03em;color:var(--ink-print);box-shadow:var(--shadow-paper-sm);transition:transform .12s ease,background .12s ease,border-color .12s ease}.hud-menu-btn:hover{border-color:var(--ink-print);transform:translateY(-1px)}.hud-menu-btn:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.hud-menu-btn.open{background:var(--paper-deep);border-color:var(--rule);color:var(--ink-print-soft);box-shadow:inset 0 1px 3px #1a160e1f}.hud-menu-btn.pulse{animation:timeline-pulse 1.4s ease-out 1}.menu-cue-dot{position:absolute;top:-3px;right:-1px;width:9px;height:9px;border-radius:50%;background:#d0342c;box-shadow:0 0 0 1.5px var(--paper)}@keyframes timeline-pulse{0%{box-shadow:var(--shadow-paper-sm),0 0 #e05a4e73}70%{box-shadow:var(--shadow-paper-sm),0 0 0 12px #e05a4e00}to{box-shadow:var(--shadow-paper-sm),0 0 #e05a4e00}}.menu-pop{position:absolute;top:calc(100% + 8px);right:0;width:224px;display:flex;flex-direction:column;gap:2px;background:var(--paper-deep);border:1px solid var(--rule);border-radius:4px;box-shadow:var(--shadow-paper-md);padding:6px;z-index:40}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:3px;text-align:left;color:var(--ink-print);transition:background .12s ease}.menu-item:hover{background:#1a1a1a0f}.menu-item:focus-visible{outline:2px solid var(--ink-print);outline-offset:-2px}.menu-item-ico{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--rule-faint);background:var(--paper);color:var(--ink-print-soft);flex-shrink:0}.menu-item-text{display:flex;flex-direction:column;gap:1px;font-family:var(--serif);font-weight:700;font-size:var(--text-ui-body)}.menu-item-text em{font-family:var(--sans);font-style:normal;font-weight:500;font-size:var(--text-ui-caption);color:var(--ink-print-faint)}.float-panel .scroll{flex:1;overflow-y:auto;padding:14px}.bay-map{position:absolute;inset:0;width:100%;height:100%;background:var(--water);touch-action:none;overflow:visible}.hex-land{pointer-events:none;opacity:1}.shore-fringe,.peak-layer{pointer-events:none}.peak path{fill:none;stroke:#b8b4a6;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}.peak path.snow{stroke:#c6c3b2;stroke-width:1.2}.peak-label{font-family:var(--sans);font-size:9px;font-weight:500;fill:#b5b1a3;text-anchor:middle;transition:opacity .35s ease;paint-order:stroke;stroke:#fffdf6cc;stroke-width:3}.landmark-layer{pointer-events:none}.landmark{opacity:.26}.landmark path{fill:none;stroke:#a39c8f;stroke-width:1.35;stroke-linejoin:round;stroke-linecap:round}.landmark path.landmark-fill{fill:#8d85711a;stroke:none}.landmark-label{font-family:var(--sans);font-size:8.5px;font-weight:500;fill:#a39c8f;text-anchor:middle;opacity:.32;paint-order:stroke;stroke:#fffdf6bf;stroke-width:2.5}.bridge-seg{pointer-events:none}.bridge-seg .bridge-deck{fill:none;stroke-width:7.2;stroke-linecap:butt;stroke-linejoin:round}.bridge-seg .bridge-deck-fade{fill:none;stroke:#e0d6c4;stroke-width:7.2;stroke-linecap:round;stroke-linejoin:round;opacity:.92}.bridge-seg.bridge-golden-gate .bridge-deck,.bridge-seg.bridge-suspension .bridge-deck{stroke:#e8c4a8}.bridge-seg.bridge-bay-bridge .bridge-deck,.bridge-seg.bridge-cantilever .bridge-deck{stroke:#d4cfc4}.bridge-seg.bridge-richmond-san-rafael .bridge-deck{stroke:#b5c9be}.bridge-seg.bridge-san-mateo-hayward .bridge-deck{stroke:#c0ccd6}.bridge-seg.bridge-dumbarton .bridge-deck{stroke:#dcc8b0}.bridge-seg .bridge-structure{fill:none;stroke-width:1.45;stroke-linejoin:round;stroke-linecap:round;opacity:.72}.bridge-seg.bridge-golden-gate .bridge-structure,.bridge-seg.bridge-suspension .bridge-structure{stroke:#b88258}.bridge-seg.bridge-bay-bridge .bridge-structure,.bridge-seg.bridge-cantilever .bridge-structure{stroke:#8a8490}.bridge-seg.bridge-richmond-san-rafael .bridge-structure{stroke:#5f8070}.bridge-seg.bridge-san-mateo-hayward .bridge-structure{stroke:#6e7e8e}.bridge-seg.bridge-dumbarton .bridge-structure{stroke:#8a7358}.bridge-seg .bridge-cable{fill:none;stroke-width:.8;stroke-linecap:round;stroke-linejoin:round;opacity:.38}.bridge-seg.bridge-golden-gate .bridge-cable,.bridge-seg.bridge-suspension .bridge-cable{stroke:#c49a72}.bridge-seg.bridge-bay-bridge .bridge-cable,.bridge-seg.bridge-cantilever .bridge-cable{stroke:#8a8490}.bridge-seg.bridge-richmond-san-rafael .bridge-cable{stroke:#7a9a8c}.bridge-seg.bridge-san-mateo-hayward .bridge-cable{stroke:#8a9aa8}.bridge-seg.bridge-dumbarton .bridge-cable{stroke:#a89078}.deco-road-case,.deco-road-minor-case{fill:none;stroke:#ebe2d2;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.85;pointer-events:none}.deco-road,.deco-road-minor{fill:none;stroke:#e0d5c2;stroke-width:7.2;stroke-linecap:round;stroke-linejoin:round;opacity:.9;pointer-events:none}.deco-road-minor-case{stroke-width:7}.deco-road-minor{stroke-width:4.6}.hwy-case{fill:none;stroke:#ebe2d2;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.85;pointer-events:none}.hwy{fill:none;stroke:#e0d5c2;stroke-width:7.2;stroke-linecap:round;stroke-linejoin:round;opacity:.9;pointer-events:none}.base-rail-case{fill:none;stroke:#fffdf6e0;stroke-linecap:round;stroke-linejoin:round;opacity:.9;pointer-events:none}.base-rail{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.96;pointer-events:none}.ferry-route-case{fill:none;stroke:#fffdf6eb;stroke-width:5.2;stroke-dasharray:3 10;stroke-linecap:round;opacity:.95;pointer-events:none}.ferry-route{fill:none;stroke:#5a9fb0;stroke-width:3.5;stroke-dasharray:3 10;stroke-linecap:round;opacity:.95;pointer-events:none}.deco-station{fill:#fff;stroke:#6f6a5e;stroke-width:1.6;pointer-events:none}.district-g{cursor:pointer}.district-g.corridor-off{opacity:.3;filter:saturate(.4);transition:opacity .25s ease}.district-g.corridor-off .station-halo{display:none}.station-marker{fill:#fffdf8;stroke:var(--ink);stroke-width:2.6;stroke-linejoin:round;transition:transform .15s ease,stroke .15s ease,filter .15s ease;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 1px 1px rgba(42,39,35,.1))}.station-marker.hub{stroke-width:3.4}.station-marker.inked{stroke:#fffdf8;stroke-width:3.4;filter:drop-shadow(0 1px 2px rgba(42,39,35,.28))}.station-marker.inked.hub{stroke-width:4.2}.station-glyph{transform-box:fill-box;transform-origin:center;transition:transform .15s ease}.station-glyph.active{transform:scale(1.14)}.district-g.selected .station-marker{stroke:var(--accent)}.station-halo{fill:none;stroke:#2a272333;stroke-width:2;pointer-events:none}.station-halo.selected{stroke:var(--accent)}.station-halo.placing{stroke:var(--accent);stroke-dasharray:5 6;animation:spin-dash 1.3s linear infinite}.station-halo.drop{stroke:var(--accent);stroke-width:3.5;stroke-dasharray:none}.district-g.drop-hover .station-marker{stroke:var(--accent)}@keyframes spin-dash{to{stroke-dashoffset:-22}}.district-label{font-family:var(--serif);font-size:24px;font-weight:700;fill:#0f0e0c;letter-spacing:.045em;pointer-events:none;transition:fill .15s ease;paint-order:stroke fill;stroke:#fffdf6;stroke-width:7.5;stroke-linejoin:round;filter:drop-shadow(0 0 .75px rgba(26,22,14,.92)) drop-shadow(0 1px 0 rgba(255,255,255,.28))}.district-label.hub{font-size:29px;letter-spacing:.055em;stroke-width:9}.transit-line{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:.94;filter:drop-shadow(0 0 .5px rgba(255,253,246,.85)) drop-shadow(0 1px 0 rgba(255,255,255,.35))}.train{pointer-events:none;stroke:#fff;stroke-width:1.5}.passenger{fill:var(--ink);pointer-events:none;opacity:.8}.built-visuals{pointer-events:none}.viz-park .canopy{fill:#48a67652}.viz-park .tree{fill:#2e7d54}.viz-bike{fill:none;stroke:#8bc24a;stroke-width:2.5;stroke-dasharray:7 8;opacity:.85}.viz-housing rect,.viz-housing path{fill:#9a6bd0;opacity:.9}.viz-clt rect{fill:#9a6bd02e;stroke:#9a6bd0;stroke-width:2.5}.viz-road line{stroke:#b9b09a;stroke-width:3;stroke-linecap:round}.viz-road line.dash{stroke:#e05a4e;stroke-width:1.6;stroke-dasharray:7 7}.viz-pricing circle{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:3 8;opacity:.55}.map-stat{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:999px;padding:7px 14px;box-shadow:var(--shadow-sm);color:var(--ink);z-index:15;pointer-events:none}.map-stat-num{font-family:var(--mono);font-size:16px;font-weight:500}.placing-banner{position:absolute;top:calc(max(14px,var(--safe-area-inset-top)) + 118px);left:50%;transform:translate(-50%);background:var(--paper);color:var(--ink-print);border:1px solid var(--rule);border-radius:var(--radius);font-weight:500;font-size:var(--text-ui-title);padding:10px 16px;display:flex;gap:14px;align-items:center;z-index:30;box-shadow:0 1px #1a160e14}.placing-banner em{font-style:normal;font-weight:700;color:var(--ink-print)}.placing-banner button{color:var(--bad-ink);font-weight:600;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;white-space:nowrap}.placing-banner button:hover{color:var(--ink)}.layers-legend{margin-top:6px;padding:10px 10px 8px;border-top:1px dotted var(--rule)}.layers-legend-title{font-size:var(--text-ui-label);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-print-faint);margin-bottom:7px}.layers-legend-row{display:flex;align-items:center;gap:7px;font-size:var(--text-ui-body);color:var(--ink-print-soft);padding:2px 0}.layers-legend-row .legend-house{margin:0}.layers-legend-note{margin:8px 0 0;font-size:var(--text-ui-caption);line-height:1.45;color:var(--ink-print-faint)}.drag-ghost{position:fixed;top:0;left:0;z-index:60;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 9px;margin:14px 0 0 14px;background:#2a2723eb;color:#fdfcf7;border-radius:999px;font-size:var(--text-ui-body);font-weight:600;pointer-events:none;box-shadow:var(--shadow-md);transition:opacity .15s ease;will-change:transform}.drag-ghost .ghost-dot{width:13px;height:13px;border-radius:50%;border:2px solid #fff;flex-shrink:0}.speech-bubble{--bubble-fill: var(--bubble-bg);--bubble-accent: transparent;position:relative;max-width:196px;padding:8px 14px 9px;border-radius:18px 18px 18px 2px;font-family:var(--sans);font-size:var(--text-ui-body);font-weight:600;line-height:1.35;letter-spacing:.01em;background:var(--bubble-fill);color:var(--bubble-ink);border:none;box-shadow:0 1px 1px #00000014;pointer-events:none;overflow:visible}.speech-bubble.tip-right,.speech-bubble.outgoing{border-radius:18px 18px 2px}.speech-bubble.focus-lead{box-shadow:0 2px 10px #00000024}.speech-bubble.focus-secondary{max-width:168px;padding:6px 11px 7px;font-size:var(--text-ui-caption);box-shadow:0 1px 1px #0000000f}.speech-bubble.focus-lead.urgent{--bubble-fill: var(--bubble-bg-angry);color:var(--bubble-ink-angry)}.speech-bubble.outgoing{--bubble-fill: var(--bubble-bg-outgoing);color:var(--bubble-ink-on-blue)}.speech-bubble.focus-lead.urgent .bubble-speaker{color:inherit;opacity:.75}.bubble-tail{position:absolute;z-index:0;bottom:0;left:-11px;width:16px;height:18px;overflow:visible;pointer-events:none;color:var(--bubble-fill)}.bubble-tail path{fill:currentColor}.speech-bubble .bubble-tail{left:-12px;width:17px;height:19px}.speech-bubble.tip-right .bubble-tail,.speech-bubble.outgoing .bubble-tail,.cat-bubble.tip-right .bubble-tail{left:auto;right:-12px;transform:scaleX(-1)}.bubble-sender{position:relative;z-index:2;display:flex;align-items:center;gap:6px;margin-bottom:3px}.bubble-sender .char-avatar{border-width:1px;border-color:#1c1c1e24}.bubble-text{display:block;position:relative;z-index:2}.phone-district-card{background:var(--grain-dots) 0 0 / 3px 3px,linear-gradient(180deg,rgba(255,255,255,.22),transparent 28%),var(--paper-deep);border:1px solid var(--rule);border-radius:2px;box-shadow:var(--shadow-paper-md);margin-bottom:12px}.inspector-head{display:flex;align-items:center;gap:11px;padding:13px 14px 11px}.inspector-marker{flex-shrink:0}.phone-district-card h3{font-family:var(--serif);font-size:var(--text-ui-display);font-weight:700;letter-spacing:0;color:var(--ink-print);margin-bottom:1px}.phone-district-card .income{font-family:var(--mono);font-size:var(--text-ui-label);color:var(--ink-print-soft);text-transform:uppercase;letter-spacing:.08em;margin-top:3px}.phone-district-card .income b{font-weight:500;color:var(--ink-print)}.phone-district-card .income b.is-warn{color:var(--warn-ink)}.phone-district-card .income b.is-bad{color:var(--bad-ink)}.phone-district-close{margin-left:auto;align-self:flex-start;border:none;background:transparent;color:var(--ink-print);font-size:17px;line-height:1;cursor:pointer;padding:2px 5px;opacity:.55}.phone-district-close:hover{opacity:1}.inspector-group{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:11px 14px 5px;border-top:1px solid var(--rule);font-family:var(--serif);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-print-faint)}.inspector-group-note{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:.04em;text-transform:none}.inspector-row{display:flex;align-items:center;gap:10px;padding:5px 14px}.inspector-row.top{background:#1a1a1a0d}.inspector-row-ico{flex:none;display:grid;place-items:center;width:19px;color:var(--ink-print-soft)}.inspector-row.top .inspector-row-ico{color:var(--ink-print)}.inspector-row-name{flex:1;min-width:0;font-family:var(--serif);font-size:var(--text-ui-body);color:var(--ink-print)}.inspector-row.top .inspector-row-name{font-weight:700}.inspector-track{flex:none;display:flex;width:70px;height:4px;border-radius:2px;background:var(--rule-faint);overflow:hidden}.inspector-track.reversed{justify-content:flex-end}.inspector-track i{display:block;height:4px;border-radius:2px;transition:width .5s cubic-bezier(.22,1,.36,1)}.inspector-row-val{flex:none;width:26px;text-align:right;font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--ink-print)}.inspector-dests{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 13px}.inspector-dest{display:inline-flex;align-items:center;gap:7px;padding:4px 9px 4px 7px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);font-family:var(--serif);font-size:var(--text-ui-caption);color:var(--ink-print);white-space:nowrap}@media(prefers-reduced-motion:reduce){.inspector-track i{transition:none}}.project-dock{position:absolute;left:var(--dock-edge);top:50%;transform:translateY(-50%);display:flex;flex-direction:row;align-items:center;gap:8px;z-index:29;pointer-events:none}.project-dock>*{pointer-events:auto}.dock-title{font-family:var(--serif);font-weight:700;font-size:var(--text-ui-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-print-soft);padding:1px 0 2px}.dock-set{display:flex;flex-direction:column;align-items:center;gap:3px}.dock-label{position:absolute;top:0;left:calc(100% + 10px);display:flex;align-items:baseline;gap:8px;padding:5px 12px;border-radius:999px;background:#1e1c19e0;color:#fdfcf7;font-size:var(--text-ui-body);font-weight:600;box-shadow:var(--shadow-paper-sm);white-space:nowrap;pointer-events:none;z-index:1}.dock-label-cost{font-family:var(--mono);font-size:var(--text-ui-caption);color:#9fd0f5}.dock-label-hint{color:#fdfcf7cc;font-weight:500}.dock-label-hint .hint-short{display:none}@media(pointer:coarse){.dock-label-hint .hint-full{display:none}.dock-label-hint .hint-short{display:inline}}.dock-dots{display:flex;flex-direction:column;align-items:center;flex-wrap:nowrap;gap:3px;background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:8px 6px;box-shadow:var(--shadow-paper-sm);overflow:visible;scrollbar-width:none}.dock-dots::-webkit-scrollbar{display:none;width:0;height:0}.dock-dot{position:relative;width:32px;height:32px;border-radius:50%;padding:0;display:grid;place-items:center;transition:transform .12s ease;flex:0 0 auto;touch-action:none;background:transparent;border:none}.dock-dot-tip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);display:none;align-items:baseline;gap:8px;padding:5px 12px;border-radius:999px;background:#1e1c19eb;color:#fdfcf7;font-size:var(--text-ui-body);font-weight:600;white-space:nowrap;pointer-events:none;z-index:8;box-shadow:var(--shadow-paper-sm)}.dock-dot:hover .dock-dot-tip,.dock-dot:focus-visible .dock-dot-tip{display:flex}.dock-dot:focus-visible{outline:2px solid var(--ink-print);outline-offset:-2px;border-radius:50%}@media(min-width:721px)and (max-height:660px){.dock-dots{gap:1px;padding:6px 5px}.dock-dot{width:28px;height:28px}.dock-dot-core{width:14px;height:14px;border-width:2px}}.project-row{touch-action:none}.dock-dot-core{width:16px;height:16px;border-radius:50%;background:var(--dot);border:2.25px solid var(--ink);box-shadow:0 1px 3px #2a27232e,inset 0 0 0 1px #ffffff47;transition:transform .12s ease,box-shadow .12s ease}.dock-dot:hover:not(:disabled) .dock-dot-core{transform:scale(1.22)}.dock-dot.active .dock-dot-core{transform:scale(1.3);box-shadow:0 0 0 3px color-mix(in srgb,var(--dot) 45%,transparent)}.dock-dot.disabled{opacity:.28;cursor:not-allowed}.section-title{font-size:var(--text-ui-caption);font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);margin:2px 0 8px}.project-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.project-row{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:8px 10px;border-radius:12px;border:1.5px solid transparent;transition:background .12s ease,border-color .12s ease,transform .12s ease}.project-row:hover:not(:disabled){background:var(--bg);border-color:var(--border);transform:translate(2px)}.project-row.active{background:var(--accent-soft);border-color:#2f8fd059}.project-row:disabled{opacity:.4;cursor:not-allowed}.project-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--ink);flex-shrink:0}.project-meta{display:flex;flex-direction:column;min-width:0;flex:1}.project-meta .name{font-weight:600;font-size:var(--text-ui-body);color:var(--ink)}.project-meta .cost{font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--good)}.project-row:disabled .cost{color:var(--bad)}.consequences{background:#1a1a1a0a;border:1px solid var(--rule-faint);border-radius:2px;padding:12px 14px;margin-bottom:14px}.phone-receipt{background:var(--grain-dots) 0 0 / 3px 3px,linear-gradient(180deg,rgba(255,255,255,.22),transparent 28%),var(--paper-deep);border:1px solid var(--rule);border-radius:2px;padding:14px 16px;box-shadow:var(--shadow-paper-md);margin-bottom:12px}.consequences h3,.phone-receipt h3{font-family:var(--serif);font-size:var(--text-ui-title);font-weight:700;letter-spacing:0;color:var(--ink-print)}.consequences .where,.phone-receipt .where{font-size:var(--text-ui-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-print-faint);margin-bottom:6px}.consequences .group,.phone-receipt .group{margin-top:8px}.consequences .group-title,.phone-receipt .group-title{font-size:var(--text-ui-label);font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px}.consequences .group-title.benefits,.phone-receipt .group-title.benefits{color:var(--good-ink)}.consequences .group-title.costs,.phone-receipt .group-title.costs{color:var(--bad-ink)}.consequences .group-title.risks,.phone-receipt .group-title.risks{color:var(--warn-ink)}.consequences ul,.phone-receipt ul{margin:0;padding:0;list-style:none}.consequences li,.phone-receipt li{font-size:var(--text-ui-body);color:var(--ink-print-soft);padding:2px 0 2px 16px;position:relative}.consequences li:before,.phone-receipt li:before{content:"";position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:50%}.consequences .group.benefits li:before,.phone-receipt .group.benefits li:before{background:var(--good)}.consequences .group.costs li:before,.phone-receipt .group.costs li:before{background:var(--bad)}.consequences .group.risks li:before,.phone-receipt .group.risks li:before{background:var(--warn);border-radius:2px;transform:rotate(45deg)}.consequences .empty,.consequences.empty{color:var(--text-faint);font-size:var(--text-ui-body);padding:4px 0}.timeline-list{position:relative;padding-left:22px}.timeline-list:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--rule-faint)}.tl-event{position:relative;padding:5px 0 5px 6px}.tl-event:before{content:"";position:absolute;left:-21px;top:12px;width:11px;height:11px;border-radius:50%;border:2px solid var(--paper-deep);box-shadow:0 0 0 1px var(--rule)}.tl-event.action:before{background:var(--accent)}.tl-event.consequence:before{background:var(--warn)}.tl-event.insight:before{background:#9a6bd0}.tl-event.choice:before{background:var(--good)}.tl-event .tl-year{font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--ink-print-faint)}.tl-event .tl-label{font-size:var(--text-ui-body);color:var(--ink-print)}.tl-event .tl-cause{font-family:Caveat,Segoe Script,Bradley Hand,cursive;font-size:var(--text-ui-title);line-height:1.25;color:var(--ink-print-soft)}.tl-event .tl-cause span{color:var(--accent-ink)}.modal-backdrop{position:fixed;inset:0;background:#2620166b;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{width:460px;max-width:100%;max-height:86svh;overflow-y:auto;background:var(--grain-dots) 0 0 / 3px 3px,repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(120,90,40,.018) 2px,rgba(120,90,40,.018) 3px),linear-gradient(180deg,rgba(255,255,255,.22),transparent 28%),var(--paper-deep);border:1px solid var(--paper-edge);border-radius:2px;padding:24px 26px;box-shadow:var(--shadow-paper-md)}.modal h2{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:0;color:var(--ink-print);padding-bottom:8px;border-bottom:3px double var(--rule-strong)}.modal .where{color:var(--ink-print-faint);font-size:var(--text-ui-body);text-transform:uppercase;letter-spacing:.06em;margin:8px 0}.modal .desc{color:var(--ink-print-soft);font-size:var(--text-ui-title);margin:8px 0 14px}.modal .cost-line{font-family:var(--mono);font-size:16px;margin-bottom:14px;color:var(--ink-print)}.modal .cost-line .affordable{color:var(--good-ink)}.modal .cost-line .unaffordable{color:var(--bad-ink)}.preview-group{margin-bottom:12px}.preview-group h4{font-size:var(--text-ui-caption);text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.preview-group.benefits h4{color:var(--good-ink)}.preview-group.downsides h4{color:var(--bad-ink)}.preview-group.longterm h4{color:var(--warn-ink)}.preview-group ul{margin:0;padding-left:18px;color:var(--ink-print-soft);font-size:var(--text-ui-body)}.preview-group li{padding:1.5px 0}.modal .actions{display:flex;gap:10px;margin-top:18px}.modal .actions .btn{flex:1}.phone-confirm{width:100%;padding:16px 15px;box-shadow:none;border-color:var(--rule);margin-bottom:12px;max-height:none;overflow-y:visible}.phone-confirm h2{font-size:18px}.phone-timeline{padding-top:4px}.phone-shell{position:absolute;left:max(16px,var(--safe-area-inset-left));bottom:0;z-index:30;width:380px;max-width:calc(100% - 32px);touch-action:none;cursor:pointer}.phone-shell.peek{height:calc(var(--phone-peek-h) + var(--safe-area-inset-bottom));overflow:hidden}.phone-shell.peek .phone-panel{pointer-events:none;min-height:620px;transition:transform .18s ease}.phone-shell.open{bottom:max(12px,var(--safe-area-inset-bottom));height:min(560px,calc(100% - 100px));max-height:min(560px,calc(100dvh - 100px));overflow:visible;cursor:default;touch-action:auto;pointer-events:auto}.phone-shell.open .phone-panel{height:100%;min-height:0}.phone-peek-badge{flex:none;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:#d85a4a;color:#fff;font-family:var(--mono);font-size:var(--text-ui-label);font-weight:700;line-height:17px;text-align:center;pointer-events:none}@keyframes phone-buzz{0%,to{transform:rotate(0)}15%{transform:rotate(-7deg)}30%{transform:rotate(6deg)}45%{transform:rotate(-5deg)}60%{transform:rotate(4deg)}75%{transform:rotate(-2deg)}}.phone-shell.buzz .phone-panel{animation:phone-buzz .55s ease-in-out 2}@media(prefers-reduced-motion:reduce){.phone-shell.buzz .phone-panel{animation:none}}.phone-banners{position:absolute;left:max(16px,var(--safe-area-inset-left));bottom:calc(var(--phone-peek-h) + max(0px,var(--safe-area-inset-bottom)) + 10px);z-index:36;width:380px;max-width:calc(100% - 32px);display:flex;flex-direction:column;gap:8px;pointer-events:none}.map-area:has(.phone-shell.open) .phone-banners{left:auto;right:max(16px,var(--safe-area-inset-right))}.phone-banner{position:relative;width:100%;pointer-events:auto;display:grid;grid-template-columns:1fr;gap:2px;padding:9px 12px 10px;border-radius:13px;background:var(--paper-deep);border:1px solid var(--rule-faint);box-shadow:var(--shadow-paper-md);cursor:pointer;text-align:left}.phone-banner-head{display:flex;align-items:center;gap:6px;margin-bottom:1px}.phone-banner-app-ico{flex:none;display:grid;place-items:center;width:16px;height:16px;border-radius:4px;overflow:hidden;background:var(--paper);border:1px solid var(--rule-faint);font-size:9px;line-height:1;color:var(--ink-print-soft)}.phone-banner-app{flex:1;min-width:0;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-print-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-banner-when{flex:none;font-family:var(--mono);font-size:9px;color:var(--ink-print-faint)}.phone-banner:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.phone-banner-sender{font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print)}.phone-banner-line{font-size:var(--text-ui-body);line-height:1.32;color:var(--ink-print-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.phone-banner-alert.crisis .phone-banner-app-ico{border-color:#d2483a8c;color:#b93a2c}.phone-banner-alert.pressure .phone-banner-app-ico{border-color:#e0a33c99;color:#9a6a17}.phone-banner-alert.unhoused .phone-banner-app-ico{border-color:#6f655180;color:#6f6551}.phone-panel{width:100%;padding:9px;border-radius:26px;background:var(--paper-deep);border:1.5px solid rgba(26,26,26,.55);box-shadow:0 2px #1a160e0d,0 16px 32px #1a160e24;display:flex}.phone-screen{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--paper);border:1px solid var(--rule-faint)}.phone-home-indicator{flex:none;display:grid;place-items:center;width:100%;padding:10px 0 11px;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.phone-home-indicator svg{display:block;color:#1a1a1a66;transition:color .12s ease,transform .12s ease}.phone-home-indicator:hover svg{color:var(--ink-print)}.phone-home-indicator:active svg{transform:scale(.88)}.phone-home-indicator:focus-visible{outline:2px solid var(--ink-print);outline-offset:-3px;border-radius:var(--radius)}.phone-empty{margin:auto;padding:0 24px;font-size:var(--text-ui-body);text-align:center;color:var(--ink-print-faint)}.phone-section-label{margin:0;font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-print-faint)}.phone-inbox{padding:0}.phone-msg{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 14px;border:none;border-bottom:1px solid var(--rule-faint);background:none;text-align:left;cursor:pointer;transition:background .12s ease}.phone-msg:hover{background:#1a1a1a09}.phone-msg:focus-visible{outline:2px solid var(--ink-print);outline-offset:-2px}.phone-msg-pip{flex:none;width:6px;height:6px;margin-top:12px;border-radius:50%;background:transparent}.phone-msg.unread .phone-msg-pip{background:var(--bad-ink)}.phone-msg-av{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--rule);background:var(--paper-deep);font-family:var(--mono);font-size:11px;font-weight:500;color:var(--ink-print)}.phone-inbox-head{margin:0;padding:9px 14px 5px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-print-faint);background:#1a1a1a06;border-bottom:1px solid var(--rule-faint)}.phone-msg-av.district{border-color:#fffdf8e6;color:#fffdf8;font-family:var(--serif);font-size:15px;font-weight:700}.phone-msg-district.angry .phone-msg-from{color:var(--bad-ink)}.phone-msg-av.district{position:relative;border:none;background:none;border-radius:0}.phone-msg-av.district svg{position:absolute;inset:0;display:block}.phone-msg-av.district b{position:relative;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--paper-deep)}.phone-msg-alert.crisis .phone-msg-av{border-color:#d2483a99;color:var(--bad-ink)}.phone-msg-alert.pressure .phone-msg-av{border-color:#e0a33ca6;color:var(--warn-ink)}.phone-msg-alert.unhoused .phone-msg-av{border-color:#6f65518c;color:#6f6551}.phone-msg-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.phone-msg-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.phone-msg-from{font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print)}.phone-msg-when{flex:none;font-family:var(--mono);font-size:9.5px;color:var(--ink-print-faint);white-space:nowrap}.phone-msg-subject{font-family:var(--serif);font-size:var(--text-ui-caption);font-weight:700;color:var(--ink-print);line-height:1.3}.phone-msg-prev{font-size:var(--text-ui-caption);line-height:1.4;color:var(--ink-print-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.phone-msg-body{overflow:hidden;border-bottom:1px solid var(--rule-faint);background:var(--paper-deep)}.phone-msg-body p{margin:0;padding:8px 14px 0 58px;font-size:var(--text-ui-caption);line-height:1.5;color:var(--ink-print-soft)}.phone-msg-body p:last-child{padding-bottom:12px}.phone-msg-meta{font-family:var(--mono);font-size:9px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-print-faint)!important}.phone-msg-count{flex:none;margin-right:auto;min-width:17px;padding:1px 5px;border-radius:999px;background:#1a1a1a1a;font-family:var(--mono);font-size:9px;line-height:1.5;text-align:center;color:var(--ink-print-soft)}.phone-msg.unread .phone-msg-count{background:var(--bad-ink);color:var(--paper)}.phone-msg-district .phone-msg-prev b{font-weight:700;color:var(--ink-print)}.phone-thread{display:flex;flex-direction:column}.phone-thread-earlier{margin:0;padding:8px 14px 2px 58px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-print-faint)}.phone-thread-line{display:flex;flex-direction:column;gap:2px;margin:6px 14px 0 58px;padding:7px 10px 8px;border:none;border-left:2px solid var(--rule);border-radius:0 8px 8px 0;background:var(--paper);text-align:left;cursor:pointer;transition:background .12s ease}.phone-thread-line:last-child{margin-bottom:12px}.phone-thread-line:hover{background:#1a1a1a0a}.phone-thread-line:focus-visible{outline:2px solid var(--ink-print);outline-offset:-2px}.phone-thread-line.concerned{border-left-color:var(--warn-ink)}.phone-thread-line.angry{border-left-color:var(--bad-ink)}.phone-thread-line.happy{border-left-color:var(--good-ink)}.phone-thread-line.unread{background:#d2483a0d}.phone-thread-meta{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-print-faint)}.phone-thread-text{font-size:var(--text-ui-caption);line-height:1.45;color:var(--ink-print-soft)}.phone-status-bar{position:relative;z-index:3;flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:11px 14px 8px;color:var(--ink-print)}.phone-screen--app .phone-status-bar{padding-bottom:9px;border-bottom:1px solid var(--rule)}.phone-status-lead{display:flex;align-items:center;gap:7px;min-width:0}.phone-status-year{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.02em}.phone-status-title{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap;text-align:center}.phone-status-icons{display:flex;justify-content:flex-end;align-items:center;color:var(--ink-print)}.phone-status-battery{display:block}.phone-back{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 2px;margin-left:-2px;border:none;background:none;border-radius:var(--radius);font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-print-soft);cursor:pointer;transition:color .12s ease}.phone-back:hover{color:var(--ink-print)}.phone-back:focus-visible{outline:2px solid var(--ink-print);outline-offset:1px}.phone-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.phone-body-inner{flex:1;min-height:0;display:flex;flex-direction:column}.phone-app-scroll{flex:1;min-height:0;overflow-y:auto;padding:10px 12px 14px;scrollbar-width:thin;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.phone-goals{padding:0}.phone-goals-lede{margin:0;padding:11px 14px 10px;border-bottom:1px solid var(--rule-faint);font-style:italic;font-size:var(--text-ui-caption);line-height:1.45;color:var(--ink-print-soft)}.phone-goals-list{display:flex;flex-direction:column}.phone-goals-item{border-bottom:1px solid var(--rule-faint)}.phone-goals-row{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:none;background:none;text-align:left;cursor:pointer;transition:background .12s ease}.phone-goals-row:hover{background:#1a1a1a09}.phone-goals-row:focus-visible{outline:2px solid var(--ink-print);outline-offset:-2px}.phone-goals-ico{flex:none;color:var(--ink-print-soft)}.phone-goals-row.bad .phone-goals-ico{color:var(--bad-ink)}.phone-goals-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.phone-goals-name{font-family:var(--serif);font-weight:700;font-size:var(--text-ui-body);color:var(--ink-print)}.phone-goals-bar{height:4px;border-radius:2px;background:var(--rule-faint);overflow:hidden}.phone-goals-bar span{display:block;height:100%;border-radius:2px;background:var(--ink-print);transition:width .6s cubic-bezier(.22,1,.36,1)}.phone-goals-row.bad .phone-goals-bar span{background:var(--bad-ink)}.phone-goals-val{flex:none;font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--ink-print)}.phone-goals-row.bad .phone-goals-val{color:var(--bad-ink)}.phone-goals-detail{overflow:hidden}.phone-goals-detail p{margin:0;padding:0 14px 12px 46px;font-style:italic;font-family:var(--serif);font-size:var(--text-ui-caption);line-height:1.45;color:var(--ink-print-soft)}.phone-goals-detail p.bad{color:var(--bad-ink)}@media(prefers-reduced-motion:reduce){.phone-goals-bar span{transition:none}}.phone-settings{padding:0}.phone-settings-block{padding:14px 0 0}.phone-settings-block+.phone-settings-block{margin-top:0;padding-top:14px;border-top:1px solid var(--rule-faint)}.phone-settings-block .phone-section-label{padding:0 14px 7px}.phone-settings-hint{margin:8px 0 0;padding:0 14px;font-style:italic;font-size:var(--text-ui-caption);line-height:1.45;color:var(--ink-print-soft)}.phone-settings-stat{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--rule-faint);font-size:var(--text-ui-caption);color:var(--ink-print-soft)}.phone-settings-stat svg{flex:none;color:var(--ink-print-soft)}.phone-settings-stat.rising{color:var(--bad-ink)}.phone-settings-stat.rising svg,.phone-settings-stat.rising .phone-settings-stat-num{color:var(--bad-ink)}.phone-settings-stat-num{font-family:var(--mono);font-size:var(--text-ui-body);color:var(--ink-print)}.phone-settings-menu{display:flex;flex-direction:column}.phone-settings-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:11px 14px;border:none;border-top:1px solid var(--rule-faint);background:none;text-align:left;cursor:pointer;transition:background .12s ease}.phone-settings-item:hover{background:#1a1a1a09}.phone-settings-item:focus-visible{outline:2px solid var(--ink-print);outline-offset:-2px}.phone-settings-item-ico{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--rule);border-radius:7px;background:var(--paper-deep);color:var(--ink-print)}.phone-settings-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print)}.phone-settings-item-text em{font-style:italic;font-weight:400;font-size:var(--text-ui-caption);color:var(--ink-print-soft)}.phone-settings-cue{flex:none;width:7px;height:7px;border-radius:50%;background:var(--bad-ink)}.phone-map{padding:0}.phone-map-block{padding:14px 0 0}.phone-map-block+.phone-map-block{border-top:1px solid var(--rule-faint)}.phone-map-block .phone-section-label{padding:0 14px 7px}.phone-map-toggles{display:flex;flex-direction:column}.phone-map-toggle{display:flex;align-items:center;gap:11px;width:100%;padding:11px 14px;border:none;border-bottom:1px solid var(--rule-faint);background:none;text-align:left;cursor:pointer;transition:background .12s ease}.phone-map-toggle:hover{background:#1a1a1a09}.phone-map-toggle:focus-visible{outline:2px solid var(--ink-print);outline-offset:-2px}.phone-map-toggle-ico{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--rule);border-radius:7px;background:var(--paper-deep);color:var(--ink-print)}.phone-map-toggle-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print)}.phone-map-toggle-text em{font-style:italic;font-weight:400;font-size:var(--text-ui-caption);color:var(--ink-print-soft)}.phone-map-toggle-state{position:relative;flex:none;width:34px;height:19px;border-radius:10px;border:1.5px solid var(--ink-print);background:var(--paper);font-size:0;transition:background .14s ease}.phone-map-toggle-state:after{content:"";position:absolute;top:1.5px;left:1.5px;width:13px;height:13px;border-radius:50%;background:#1a1a1a52;transition:transform .14s ease,background .14s ease}.phone-map-toggle.on .phone-map-toggle-state{background:var(--ink-print)}.phone-map-toggle.on .phone-map-toggle-state:after{transform:translate(15px);background:var(--paper-deep)}@media(prefers-reduced-motion:reduce){.phone-map-toggle-state,.phone-map-toggle-state:after{transition:none}}.phone-map-legend-block .layers-legend{margin-top:0;padding:10px 12px;border:1px solid var(--rule-faint);border-radius:12px;background:var(--paper)}.phone-home{flex:1;min-height:0;display:flex;flex-direction:column;padding:2px 8px 6px}.phone-app-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 6px;padding:20px 14px 10px;align-content:space-evenly}.phone-app-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.phone-app-tile:active .phone-app-icon{transform:scale(.94)}.phone-app-icon{position:relative;display:grid;place-items:center;width:72px;height:72px;overflow:hidden;border:1px solid var(--rule);border-radius:16px;background:var(--paper);color:var(--ink-print);transition:transform .14s ease,background .12s ease}.phone-app-icon:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tint)}.phone-app-tile:hover .phone-app-icon{background:#fbf5e8}.phone-app-tile:focus-visible .phone-app-icon{outline:2px solid var(--ink-print);outline-offset:2px}.phone-app-label{max-width:84px;font-family:var(--serif);font-size:11px;font-weight:700;letter-spacing:.005em;line-height:1.1;text-align:center;color:var(--ink-print);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-app-badge{position:absolute;z-index:2;top:-4px;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad-ink);color:var(--paper);font-family:var(--mono);font-size:10px;font-weight:500;line-height:18px;text-align:center;box-shadow:0 0 0 1.5px var(--paper);pointer-events:none}.phone-voicemail-list{display:flex;flex-direction:column;padding:0}.phone-voicemail{padding:11px 14px;border-bottom:1px solid var(--rule-faint)}.phone-voicemail.needs-reply{background:#d0342c0b}.phone-vm-row{display:flex;align-items:center;gap:11px}.phone-voicemail.unread .phone-vm-name:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;vertical-align:1.5px;border-radius:50%;background:var(--bad-ink)}.phone-vm-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.phone-vm-name{font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print)}.phone-vm-sub{font-style:italic;font-family:var(--serif);font-size:var(--text-ui-caption);color:var(--ink-print-soft)}.phone-vm-duration{flex:none;font-family:var(--mono);font-size:9.5px;color:var(--ink-print-faint)}.phone-vm-play{display:flex;align-items:center;gap:9px;width:100%;margin-top:9px;padding:0;border:none;background:none;cursor:pointer;text-align:left}.phone-vm-play-ico{flex:none;display:grid;place-items:center;width:26px;height:26px;border:1.5px solid var(--ink-print);border-radius:50%;background:var(--paper-deep);font-size:8px;color:var(--ink-print);transition:background .12s ease,color .12s ease}.phone-vm-play.playing .phone-vm-play-ico{background:var(--ink-print);color:var(--paper-deep)}.phone-vm-play-label{flex:1;font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-print-soft)}.phone-vm-play:hover .phone-vm-play-label{color:var(--ink-print)}.phone-vm-play:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px;border-radius:var(--radius)}.phone-vm-transcript{margin-top:10px;padding-top:10px;border-top:1px solid var(--rule-faint);font-style:italic;font-family:var(--serif);font-size:var(--text-ui-caption);line-height:1.5;color:var(--ink-print-soft)}.phone-vm-transcript h3{margin:0 0 7px;font-style:normal;font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print)}.phone-catalog-hint{margin:0;padding:11px 14px 10px;border-bottom:1px solid var(--rule-faint);font-style:italic;font-size:var(--text-ui-caption);line-height:1.45;color:var(--ink-print-soft)}.phone-grant-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0}.phone-catalog{padding:0}.phone-catalog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.phone-catalog-item{display:flex;align-items:center;gap:11px;width:100%;padding:11px 14px;border:none;border-bottom:1px solid var(--rule-faint);background:none;cursor:pointer;text-align:left;touch-action:none;transition:background .12s ease}.phone-catalog-item:hover:not(.disabled){background:#1a1a1a09}.phone-catalog-item:focus-visible{outline:2px solid var(--ink-print);outline-offset:-2px}.phone-catalog-item.active{background:var(--ink-print)}.phone-catalog-item.active .phone-catalog-name{color:var(--paper-deep)}.phone-catalog-item.active .phone-catalog-cost,.phone-catalog-item.active .phone-catalog-family,.phone-catalog-item.active .phone-catalog-grant{color:#f3ead6b8}.phone-catalog-item.active .phone-catalog-dot{box-shadow:inset 0 0 0 1px #f3ead680}.phone-catalog-item.disabled{opacity:.42;cursor:not-allowed}.phone-catalog-dot{flex:none;width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px #1a1a1a59}.phone-catalog-dot.square{border-radius:1px}.phone-catalog-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.phone-catalog-name{font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print)}.phone-catalog-family{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-print-faint)}.phone-catalog-cost{flex:none;font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--ink-print)}.phone-catalog-grant{font-style:italic;font-family:var(--serif);font-size:var(--text-ui-caption);color:var(--good-ink)}.msg-year{flex:none;font-family:var(--mono);font-size:var(--text-ui-label);color:var(--text-faint);padding-top:3px}.msg-answered{margin-top:8px;font-size:var(--text-ui-body);font-weight:600;color:var(--good-ink)}.insight-card.needs-reply{box-shadow:0 0 0 1.5px #d0342c59,0 1px 1px #00000014,0 4px 16px #0000000f}.insight-card{--bubble-fill: var(--bubble-bg, #e9e9eb);position:relative;background:var(--bubble-fill);color:var(--bubble-ink, #1c1c1e);border:none;border-radius:20px 20px 20px 2px;padding:14px 16px 15px;box-shadow:0 1px 1px #00000014,0 4px 16px #0000000f;overflow:visible}.insight-card.success{--bubble-fill: var(--bubble-bg-happy);color:var(--bubble-ink-happy)}.insight-card.warning{--bubble-fill: var(--bubble-bg-concerned);color:var(--bubble-ink-concerned)}.insight-card.success h3,.insight-card.warning h3,.insight-card.success .char-name,.insight-card.warning .char-name{color:inherit}.insight-card.success p,.insight-card.warning p,.insight-card.success .char-role,.insight-card.warning .char-role,.insight-card.success .meta-line,.insight-card.warning .meta-line{color:inherit;opacity:.88}.insight-card .bubble-tail{bottom:0;left:-12px;width:17px;height:19px;color:var(--bubble-fill)}.insight-card .card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px;position:relative;z-index:1}.insight-card h3{font-family:var(--serif);font-size:var(--text-ui-title);font-weight:700;letter-spacing:0;line-height:1.25;color:var(--bubble-ink, #1c1c1e)}.insight-card .dismiss{color:#3c3c4373;font-size:18px;line-height:1;padding:2px 6px;border-radius:999px}.insight-card .dismiss:hover{color:#1c1c1e;background:#0000000f}.insight-card .char-head,.insight-card p,.insight-card .examples,.insight-card .choice-list{position:relative;z-index:1}.insight-card .char-head{margin-bottom:8px}.insight-card .char-name{color:#1c1c1e}.insight-card .char-role{color:#3c3c43a6}.insight-card .char-chip{background:#0000000f;color:#3c3c43cc;border:none}.insight-card p{font-size:var(--text-ui-body);line-height:1.42;color:#3a3a3c;margin:0 0 8px}.insight-card .meta-line{font-size:var(--text-ui-caption);text-transform:none;letter-spacing:.01em;color:#3c3c438c;margin:0 0 6px;font-weight:500}.insight-card .examples{font-size:var(--text-ui-body);color:#3c3c43b8;margin-bottom:8px;background:#ffffff8c;border-radius:14px;padding:7px 10px}.insight-card .examples b{color:#1c1c1e;font-weight:600}.insight-card .term-link{color:#007aff}.choice-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.choice-btn{text-align:left;background:#fff;border:none;border-radius:18px;padding:9px 12px;box-shadow:0 0 0 1px #0000000a;transition:background .12s ease,transform .12s ease}.choice-btn:hover:not(:disabled){background:#f2f2f7;transform:none}.choice-btn:disabled{opacity:.4;cursor:not-allowed}.choice-btn .c-label{font-family:var(--serif);font-weight:700;font-size:var(--text-ui-body);color:#1c1c1e;display:flex;justify-content:space-between}.choice-btn .c-cost{font-family:var(--mono);font-size:var(--text-ui-caption);color:#34c759}.choice-btn .c-desc{font-size:var(--text-ui-caption);color:#3c3c43b3}.encyclopedia-sheet{position:absolute;inset:44px 0 0;background:var(--grain-dots) 0 0 / 3px 3px,repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(120,90,40,.018) 2px,rgba(120,90,40,.018) 3px),var(--paper-deep);border-top:1px solid var(--paper-edge);border-radius:10px 10px 0 0;z-index:6;padding:18px;box-shadow:0 -6px 18px #2a27232e;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.encyclopedia-sheet .kicker{font-family:var(--mono);font-size:var(--text-ui-caption);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink)}.encyclopedia-sheet h2{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:0;color:var(--ink-print);padding-bottom:8px;border-bottom:1px solid var(--rule)}.encyclopedia-sheet p{margin:0;color:var(--ink-print-soft);font-size:var(--text-ui-title)}.encyclopedia-sheet .example{background:#ffffff59;border:1px solid var(--rule);border-radius:2px;padding:12px 14px;font-size:var(--text-ui-body);color:var(--ink-print-soft)}.encyclopedia-sheet .example b{color:var(--accent-ink);display:block;font-size:var(--text-ui-caption);text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px}.encyclopedia-sheet .close-row{margin-top:auto}.reflection{flex:1;overflow-y:auto;display:flex;justify-content:center;padding:48px 24px;background:var(--grain-dots) 0 0 / 3px 3px,var(--paper-deep);color:var(--ink-print)}.reflection .inner{width:720px;max-width:100%}.reflection .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)}.reflection h1{font-family:var(--serif);font-size:42px;margin:6px 0 28px}.grade-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:32px}.grade-cell{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 8px 12px;text-align:center;box-shadow:0 1px #1a160e0f}.grade-cell .g-name{font-family:var(--serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-print-soft);margin-bottom:6px}.grade-cell .g-grade{font-family:var(--mono);font-size:32px;font-weight:500}.grade-cell .g-score{font-family:var(--mono);font-size:11px;color:var(--ink-print-faint)}.reflection h2{font-family:var(--serif);font-size:21px;margin-bottom:12px;padding-top:14px;border-top:1px solid var(--rule)}.reflection .story p{font-family:var(--serif);color:var(--ink-print);font-size:14.5px;line-height:1.75;margin:0 0 14px}.reflection .actions{display:flex;gap:12px;margin-top:28px}.save-note{font-size:13px;color:var(--text-faint);margin-top:14px}.data-note{font-size:12px;color:var(--text-faint);margin-top:18px;border-top:1px solid var(--border);padding-top:10px}.data-note a{color:inherit;text-decoration:underline}.pba-strategy{font-size:13px;color:var(--text-muted, #6b675f);background:#40826d14;border-left:3px solid rgba(64,130,109,.55);padding:8px 10px;border-radius:0 6px 6px 0;margin:10px 0 0}.error-note{color:var(--bad);font-size:13px}.corridor-preview{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14 10;opacity:.75;pointer-events:none;animation:corridor-march .9s linear infinite}@keyframes corridor-march{to{stroke-dashoffset:-24}}.desire-lines path{fill:none;opacity:.14;stroke-linecap:round;pointer-events:none}.dest-pip{stroke:none;opacity:.92;pointer-events:none;transition:opacity .2s ease}.dest-pip.boarding{opacity:0;transition:opacity .35s ease}.dest-pip.spawning{opacity:0;animation:pip-spawn .48s ease forwards}.dest-pip.arriving{opacity:.92;animation:pip-arrive .42s ease forwards}@keyframes pip-arrive{0%{opacity:.92}to{opacity:0}}@keyframes pip-spawn{0%{opacity:0}to{opacity:.92}}@media(prefers-reduced-motion:reduce){.dest-pip.boarding,.dest-pip.spawning,.dest-pip.arriving{opacity:.92;animation:none;transition:none}}.station-demand{pointer-events:none}.frider.transit-rider{stroke:#fffdf88c;stroke-width:.8}.transit-line.selected{filter:drop-shadow(0 0 1.5px var(--accent)) drop-shadow(0 0 .5px var(--ink));opacity:1}.transit-line-hit{cursor:pointer;pointer-events:stroke}.transit-line-hit.selected{stroke:#f0a53059;stroke-width:26}.phone-fleet-card{padding:12px 14px 14px;background:var(--paper, #f3efe4);border:1px solid var(--rule);border-radius:2px;box-shadow:var(--shadow-paper-md);font-family:var(--font-ui, inherit);margin-bottom:12px}.fleet-tray-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--text-ui-title);letter-spacing:.02em}.fleet-tray-close{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:var(--ink);padding:0 4px}.fleet-tray-sub{margin:6px 0 10px;font-size:var(--text-ui-body);color:#5a554b;line-height:1.35}.fleet-tray-actions{display:flex;flex-wrap:wrap;gap:8px}.fleet-tray-actions button{flex:1 1 auto;min-width:72px;padding:7px 10px;border:1.5px solid var(--ink);background:#fffdf8;color:var(--ink);font-size:var(--text-ui-body);cursor:pointer}.fleet-tray-actions button:disabled{opacity:.4;cursor:not-allowed}.fleet-tray-actions button:not(:disabled):hover{background:#ebe4d4}.legend-dest-pip{display:inline-block;width:8px;height:8px;border-radius:50%;border:1px solid var(--ink);margin-right:2px;vertical-align:middle}.flow-layer{pointer-events:none;opacity:.75;animation:flow-pulse 2.6s ease-out}@keyframes flow-pulse{0%{opacity:1}60%{opacity:1}to{opacity:.75}}.frider{stroke:#fffdf6;stroke-width:3.7;pointer-events:none}.frider.road-rider.give-up{animation:give-up 7s ease-in-out infinite}.frider.transit-rider{opacity:.95}.fcar{fill:#6f6a5e;opacity:.7;pointer-events:none}.fcar.amber{fill:#d99a2b;opacity:.82}.fcar.jam{fill:#cf4b3c;opacity:.85}.fcar.crawl{fill:#b93a2c;opacity:.92}.fcar.stalled{fill:#8f2418;opacity:.95}.car-stream{pointer-events:none}.ftrain rect,.ftrain path{stroke:#fff;stroke-width:1.4;pointer-events:none}.ftrain.crowded rect{stroke:#2e2b26;stroke-width:1.2;filter:brightness(.82)}.fcar.give-up{animation:give-up 7s ease-in-out infinite}@keyframes give-up{0%,55%{opacity:.9}68%,92%{opacity:0}to{opacity:.9}}@media(prefers-reduced-motion:reduce){.flow-layer{display:none}}.demand-auras{pointer-events:none}.housing-dots{pointer-events:none;opacity:.5}.housing-flash-dot{stroke:#2e2b2680;stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:housing-breathe 1.6s ease-in-out infinite}@keyframes housing-breathe{0%,to{transform:scale(.7);stroke-opacity:.2}50%{transform:scale(1.3);stroke-opacity:.9}}@media(prefers-reduced-motion:reduce){.housing-flash-dot{animation:none}}.legend-house{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 3px 0 8px;border:1px solid rgba(255,253,246,.55);vertical-align:middle}.legend-house.susceptible{background:#7eacc4;margin-left:0}.legend-house.earlyGent{background:#c0aed4}.legend-house.becomingExcl{background:#e8bc90}@media(prefers-reduced-motion:reduce){.aura-local{animation:none}}.legend-rider{display:inline-block;width:7px;height:7px;border-radius:50%;border:1px solid var(--ink);vertical-align:middle}.legend-car{display:inline-block;width:9px;height:5px;border-radius:2px;background:#6f6a5e}.legend-train{display:inline-block;width:15px;height:7px;border-radius:2.5px;background:#2f8fd0;border:1px solid #fff}.station-glyph .station-pip{fill:var(--bad-ink);stroke:#fff;stroke-width:1.2}.tent-cluster{pointer-events:none}.tent path{fill:#cbbfa4;stroke:#8f8468;stroke-width:1;stroke-linejoin:round}.tent .tent-door{fill:#6f6551;stroke:none}.protest-cluster{pointer-events:none}.protest-sign{transform-box:fill-box;transform-origin:50% 100%;animation:protest-sway 2.2s ease-in-out infinite alternate}.protest-board{fill:#d8cdb2;stroke:#8f8468;stroke-width:1;stroke-linejoin:round}.protest-pole{stroke:#8f8468;stroke-width:1.2;stroke-linecap:round}.protest-head{fill:#6f6551;stroke:none}.protest-body{stroke:#6f6551;stroke-width:1.6;stroke-linecap:round}@keyframes protest-sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.alert-stack{position:absolute;left:50%;transform:translate(-50%);bottom:92px;z-index:24;display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none}.alert-chip{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-paper-sm);font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.alert-chip:hover{transform:translateY(-1px);border-color:var(--ink-print)}.alert-chip:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.alert-chip .alert-ico{font-size:var(--text-ui-body);line-height:1}.alert-chip.crisis{border-color:#d2483a8c;color:#b93a2c}.alert-chip.crisis .alert-ico{animation:alert-blink 1.2s ease-in-out infinite}.alert-chip.pressure{border-color:#e0a33c99;color:#9a6a17}.alert-chip.unhoused{border-color:#6f655180;color:#6f6551}@keyframes alert-blink{0%,to{opacity:1}50%{opacity:.35}}@media(max-width:720px){.alert-stack{bottom:148px;width:94vw}.alert-chip{font-size:var(--text-ui-caption);padding:7px 12px;text-align:left}}.need-icon{pointer-events:none}.cost-breakdown{font-size:var(--text-ui-body);color:var(--text-faint);font-weight:500}.inspector-hint{margin:0;padding:9px 14px 12px 33px;font-family:Caveat,Segoe Script,Bradley Hand,cursive;font-size:var(--text-ui-title);line-height:1.3;color:var(--ink-print-soft)}.reflection .mode-shift{margin:18px 0 6px;padding:10px 16px;background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--ink-print);border-radius:var(--radius);font-size:var(--text-ui-title);color:var(--ink-print-soft)}.reflection .mode-shift strong{font-family:var(--mono);font-weight:500;color:var(--ink-print)}.tutorial-guide{position:absolute;left:50%;bottom:86px;transform:translate(-50%)}.tutorial-guide{display:flex;flex-direction:column;align-items:center;gap:8px;z-index:35;pointer-events:none;padding-left:12px}.tutorial-cat{width:96px;height:96px;-webkit-user-select:none;user-select:none}.tutorial-cat .cc{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 14px rgba(46,43,38,.22))}.cat-bubble{--bubble-fill: var(--bubble-bg);pointer-events:auto;position:relative;width:min(340px,78vw);background:var(--bubble-fill);border:none;border-radius:20px 20px 20px 2px;padding:12px 15px 11px;color:var(--bubble-ink);box-shadow:0 1px 1px #00000014;overflow:visible}.cat-bubble .bubble-tail{left:-12px;width:17px;height:19px}.cat-bubble-sender{display:block;position:relative;z-index:2;font-size:var(--text-ui-caption);font-weight:600;color:var(--text-dim);margin-bottom:4px;letter-spacing:.01em}.cat-bubble p{position:relative;z-index:2;font-size:var(--text-ui-body);line-height:1.48;color:var(--bubble-ink);margin:0 0 9px}.cat-bubble-actions{position:relative;z-index:2;display:flex;align-items:center;gap:10px}.cat-step-count{font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--text-faint)}.cat-bubble .btn.small{padding:6px 14px;font-size:var(--text-ui-body)}.cat-waiting{font-size:var(--text-ui-body);font-weight:700;color:#f0a530;text-transform:uppercase;letter-spacing:.08em;animation:cat-waiting-blink 1.6s ease-in-out infinite}@keyframes cat-waiting-blink{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.cat-waiting{animation:none}}.cat-skip{margin-left:auto;font-size:var(--text-ui-body);color:var(--text-faint);text-decoration:underline}.cat-skip:hover{color:var(--text)}.cat-skip-inline{margin-left:0;font-size:var(--text-ui-body);text-decoration:none;border:1px solid var(--rule);border-radius:999px;padding:6px 12px;background:var(--paper)}.cat-skip-inline:hover{border-color:var(--ink-print-soft);color:var(--text)}body[data-tutorial-hint=phone-build] .phone-app-build .phone-app-icon,body[data-tutorial-hint=phone-build] .phone-shell.peek,body[data-tutorial-hint=advance] .phone-app-endterm .phone-app-icon,body[data-tutorial-hint=advance] .phone-shell.peek,body[data-tutorial-hint=legend] .phone-map-legend-block,body[data-tutorial-hint=gent] .folio-meter.is-gent,body[data-tutorial-hint=phone-laws] .phone-app-laws .phone-app-icon,body[data-tutorial-hint=waiting] .phone-district-card,body[data-tutorial-hint=demand] .phone-app-map .phone-app-icon,body[data-tutorial-hint=demand] .phone-map-demand-toggle,body[data-tutorial-hint=phone-goals] .phone-app-cityhall .phone-app-icon,body[data-tutorial-hint=phone-messages] .phone-app-messages .phone-app-icon,body[data-tutorial-hint=phone-coalition] .phone-app-cityhall .phone-app-icon,body[data-tutorial-hint=fleet] .phone-fleet-card[data-tutorial-fleet]{animation:tutorial-pulse 1.5s ease-in-out infinite}@keyframes tutorial-pulse{0%,to{box-shadow:0 0 #f0a5308c}50%{box-shadow:0 0 0 9px #f0a53000}}@media(max-width:720px){.tutorial-cat{width:72px;height:72px}}.clipper{position:absolute;inset:0;z-index:24;pointer-events:none;overflow:hidden}.clipper.is-talking{z-index:28}.clipper.is-hidden{opacity:0;visibility:hidden;transition:opacity .18s ease}.clipper-world{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.clipper-actor{position:absolute;top:0;left:0}.clipper-sprite{position:absolute;top:0;left:0;width:100px;height:100px;transform-origin:0 0}.clipper-gait{width:100%;height:100%;transform-origin:50% 92%}.clipper-cat{position:relative;display:block;width:100%;height:100%;pointer-events:auto;padding:0;border:none;background:none;line-height:0;cursor:pointer;transform-origin:50% 92%}.clipper-flip,.clipper-flip .cc{width:100%;height:100%;display:block}.clipper-flip{transition:transform .22s ease}@media(prefers-reduced-motion:reduce){.clipper-flip{transition:none}}.clipper .cc{filter:drop-shadow(0 5px 10px rgba(46,43,38,.2))}.clipper[data-phase=sleep] .cc{filter:drop-shadow(0 3px 7px rgba(46,43,38,.16)) saturate(.85);opacity:.9;transition:opacity .3s ease,filter .3s ease}.clipper .clipper-cat:hover .cc{opacity:1;filter:drop-shadow(0 5px 10px rgba(46,43,38,.26))}.cc .cc-pose{opacity:0;transition:opacity .22s ease}.cc[data-phase=walk] .cc-pose-walk,.cc[data-phase=sit] .cc-pose-sit,.cc[data-phase=sleep] .cc-pose-sleep{opacity:1}.cc .cc-leg,.cc .cc-tail,.cc .cc-eye,.cc .cc-head,.cc .cc-breathe{transform-box:view-box}.cc[data-phase=walk] .cc-leg-a{animation:cc-step-a .4s ease-in-out infinite}.cc[data-phase=walk] .cc-leg-b{animation:cc-step-b .4s ease-in-out infinite}@keyframes cc-step-a{0%,to{transform:rotate(24deg)}50%{transform:rotate(-24deg)}}@keyframes cc-step-b{0%,to{transform:rotate(-24deg)}50%{transform:rotate(24deg)}}.cc[data-phase=walk] .cc-head{animation:cc-nod .4s ease-in-out infinite}@keyframes cc-nod{0%,to{transform:translateY(0)}50%{transform:translateY(1.6px)}}.cc[data-phase=walk] .cc-pose-walk .cc-tail{transform-origin:28px 52px;animation:cc-sway .8s ease-in-out infinite}@keyframes cc-sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(10deg)}}.cc[data-phase=sit] .cc-pose-sit .cc-tail{transform-origin:68px 78px;animation:cc-flick 3.6s ease-in-out infinite}@keyframes cc-flick{0%,62%,to{transform:rotate(0)}72%{transform:rotate(-14deg)}84%{transform:rotate(4deg)}}.cc[data-phase=sit] .cc-eye,.cc[data-phase=walk] .cc-eye{animation:cc-blink 4.6s linear infinite}@keyframes cc-blink{0%,91%,97%,to{transform:scaleY(1)}93.5%{transform:scaleY(.08)}}.cc[data-phase=sleep] .cc-breathe{animation:cc-breathe 3.4s ease-in-out infinite}@keyframes cc-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035,1.06)}}@media(prefers-reduced-motion:reduce){.cc .cc-leg,.cc .cc-head,.cc .cc-tail,.cc .cc-eye,.cc .cc-breathe{animation:none!important}}.clipper-say{position:absolute;transform:translate(-50%);width:max-content;padding-bottom:58px}.clipper-bubble.thought{--cloud-ink: #2b2118;--cloud-paper: var(--paper, #fdf6e8);background:none;border-radius:34px;box-shadow:none;padding:20px 24px 17px;margin:26px 22px 24px}.clipper-bubble.thought .tc-layer{position:absolute;inset:0;pointer-events:none}.clipper-bubble.thought .tc-layer:before{content:"";position:absolute;border-radius:34px}.clipper-bubble.thought .tc-ink{z-index:0;filter:drop-shadow(0 2px 6px rgba(46,43,38,.22))}.clipper-bubble.thought .tc-ink:before{inset:10px;background:var(--cloud-ink)}.clipper-bubble.thought .tc-fill{z-index:1}.clipper-bubble.thought .tc-fill:before{inset:14px;background:var(--cloud-paper)}.clipper-bubble.thought .tc-layer i{position:absolute;display:block;border-radius:50%;transform:translate(-50%,-50%)}.clipper-bubble.thought .tc-ink i{background:var(--cloud-ink)}.clipper-bubble.thought .tc-fill i{background:var(--cloud-paper)}.clipper-bubble.thought .td{position:absolute;border-radius:50%;background:var(--cloud-paper);border:2.5px solid var(--cloud-ink);pointer-events:none}.clipper-bubble.thought .td-big{width:18px;height:16px;bottom:-38px}.clipper-bubble.thought .td-small{width:11px;height:10px;bottom:-54px}.clipper-zzz{position:absolute;right:-4px;top:-10px;display:flex;align-items:flex-end;gap:2px;font-family:var(--serif);font-size:12px;color:var(--text-faint);pointer-events:none}.clipper-zzz i{font-style:italic;animation:clipper-zzz 3.2s ease-in-out infinite}.clipper-zzz i:nth-child(2){font-size:10px;animation-delay:.45s}.clipper-zzz i:nth-child(3){font-size:8px;animation-delay:.9s}@keyframes clipper-zzz{0%{opacity:0;transform:translateY(4px)}35%{opacity:.9}to{opacity:0;transform:translate(6px,-12px)}}.clipper-ask{position:absolute;left:50%;bottom:calc(100% - 6px);transform:translate(-50%);white-space:nowrap;font-size:var(--text-ui-caption);color:var(--bubble-ink);background:var(--bubble-bg);border-radius:999px;padding:3px 10px;box-shadow:0 1px 2px #0000001f;pointer-events:none;line-height:1.4}@media(prefers-reduced-motion:reduce){.clipper-zzz i{animation:none;opacity:.7}}.screen-layer{position:absolute;inset:0;min-height:0;display:flex;flex-direction:column;background:#f3ead6}.opening-screen{flex:1;min-height:0;position:relative;overflow:hidden;background:#f3ead6}.opening-camera{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;display:flex;justify-content:center;align-items:flex-start;padding:max(40px,calc(var(--safe-area-inset-top) + 10px)) 20px max(40px,calc(var(--safe-area-inset-bottom) + 12px));background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 36%),radial-gradient(ellipse 80% 55% at 50% 0%,rgba(228,212,181,.55),transparent 62%),#f3ead6}.opening-screen.zooming .opening-camera{overflow:hidden;pointer-events:none;will-change:transform}.opening-welcome{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 30%),#f3ead6;pointer-events:auto}.opening-welcome-grain{position:absolute;inset:0;opacity:.08;background-image:radial-gradient(rgba(60,40,10,.35) .5px,transparent .5px);background-size:3px 3px;pointer-events:none}.opening-welcome .paper-reveal-copy{position:relative;z-index:1}.paper-reveal{position:absolute;inset:0;z-index:90;overflow:hidden;pointer-events:none;background:transparent;contain:layout paint}.paper-reveal-sheet{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 30%),#f3ead6;box-shadow:0 8px 28px #14100a1f;display:flex;align-items:center;justify-content:center;overflow:hidden;contain:layout paint}.paper-reveal-grain{position:absolute;inset:0;opacity:.08;background-image:radial-gradient(rgba(60,40,10,.35) .5px,transparent .5px);background-size:3px 3px;pointer-events:none}.page-flick{position:fixed;inset:0;z-index:200;overflow:hidden;pointer-events:auto;perspective:1200px}.page-flick-shadow{position:absolute;left:50%;top:50%;width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;opacity:0;background:radial-gradient(closest-side,rgba(30,24,12,.32),rgba(30,24,12,.12) 55%,transparent 78%);will-change:transform,opacity;animation:page-flick-shadow 1.15s linear both}.page-flick-sheet{position:absolute;left:50%;top:50%;width:110vmax;height:138vmax;margin:-69vmax 0 0 -55vmax;background:linear-gradient(180deg,rgba(255,255,255,.24),transparent 30%),var(--paper-deep);border:1px solid var(--paper-edge);border-radius:4px;transform-origin:50% 50%;backface-visibility:hidden;will-change:transform;animation:page-flick-sheet 1.15s linear both}.page-flick-grain{position:absolute;inset:0;opacity:.08;background-image:radial-gradient(rgba(60,40,10,.35) .5px,transparent .5px);background-size:3px 3px}.page-flick-ghost{position:absolute;inset:0;transform:scaleX(-1);opacity:.1;display:flex;flex-direction:column;align-items:center;gap:2.6vmax;padding-top:50vmax;color:#1a1a1a;background:repeating-linear-gradient(90deg,transparent 0,transparent 8.6vmax,rgba(26,26,26,.35) 8.6vmax,rgba(26,26,26,.35) calc(8.6vmax + 1px));font-family:Libre Baskerville,Times New Roman,Times,serif}.page-flick-masthead{font-size:6.5vmax;font-weight:700;letter-spacing:.01em;white-space:nowrap}.page-flick-rule{width:74%;height:.55vmax;background:#1a1a1a}.page-flick-rule.thin{width:64%;height:.18vmax}.page-flick-curl{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(102deg,#1a160e1a,#fff0 28%,#fff3 50%,#fff0 66%,#1a160e1f 94%)}@keyframes page-flick-sheet{0%{transform:translate3d(60vw,42vh,0) rotate(22deg) rotateY(72deg) scale(.12);animation-timing-function:cubic-bezier(.3,.4,.25,1)}52%{transform:translate3d(-2vw,-2vh,0) rotate(7deg) rotateY(8deg) scale(1.02);animation-timing-function:linear}60%{transform:translate3d(-5vw,-3vh,0) rotate(4deg) rotateY(0) scale(1.06);animation-timing-function:cubic-bezier(.6,0,.85,.55)}to{transform:translate3d(-150vw,-16vh,0) rotate(-5deg) rotateY(-24deg) scale(1.18)}}@keyframes page-flick-shadow{0%{transform:translate3d(46vw,32vh,0) scale(.3);opacity:0;animation-timing-function:cubic-bezier(.3,.4,.25,1)}12%{opacity:.3}52%{transform:translate3d(-8vw,-9vh,0) scale(1.12);opacity:.34;animation-timing-function:linear}64%{opacity:0}to{transform:translate3d(-70vw,-14vh,0) scale(1.2);opacity:0}}.paper-reveal-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:min(920px,100%);padding:0 clamp(20px,5vw,40px);text-align:center;overflow:visible;box-sizing:border-box}.paper-reveal-handwrite{margin:0;width:100%;font-family:QE Herbert Cooper,Caveat,Segoe Script,Bradley Hand,cursive;font-size:clamp(26px,4.6vw,50px);font-weight:400;line-height:1.5;letter-spacing:.02em;color:#1a1a2e;text-align:center;white-space:normal;text-wrap:balance;overflow-wrap:break-word}.handwrite-word{display:inline;white-space:nowrap}.handwrite-char{display:inline-block;opacity:0;clip-path:inset(-20% 100% -20% 0);animation:handwrite-char-in .28s ease-out forwards}@keyframes handwrite-char-in{0%{opacity:0;clip-path:inset(-20% 100% -20% 0)}60%{opacity:1}to{opacity:1;clip-path:inset(-20% -10% -20% 0)}}.paper-reveal-ready-wrap{min-height:2.5rem;display:flex;align-items:center;justify-content:center}.paper-reveal-ready{appearance:none;border:1px solid rgba(40,32,18,.28);background:#fffcf58c;color:#2a2418;font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;letter-spacing:.04em;padding:.65em 1.45em;border-radius:2px;cursor:pointer;box-shadow:0 1px #ffffff73 inset;transition:background .2s ease,border-color .2s ease,color .2s ease}.paper-reveal-ready:hover{background:#fffcf5d9;border-color:#2820126b}.paper-reveal-ready:focus-visible{outline:2px solid rgba(40,32,18,.45);outline-offset:3px}.opening-inner{width:560px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.opening-inner.wide{width:720px}.opening-inner .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim)}.opening-inner h1{font-size:clamp(26px,4.5vw,38px);letter-spacing:-.03em;line-height:1.08}.opening-hint{color:var(--text-dim);font-size:14.5px;margin-top:-6px}.opening-inner.news-phase{position:relative;z-index:6;width:min(880px,100%);text-align:left;align-items:stretch}.opening-inner.news-phase>.btn{align-self:center}.news-clipping{--news-ink: #1a1a1a;--news-rule: #2a2a2a;--news-paper: #f3ead6;--news-paper-edge: #e4d4b5;width:100%;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 28%),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(120,90,40,.015) 2px,rgba(120,90,40,.015) 3px),var(--news-paper);color:var(--news-ink);border:1px solid var(--news-paper-edge);border-radius:2px;padding:14px 16px 18px;min-height:0;box-shadow:0 1px #ffffff59 inset,0 10px 28px #2a27232e;text-align:left;font-family:Libre Baskerville,Times New Roman,Times,serif;transform-origin:48% 38%;backface-visibility:hidden}.news-nameplate{text-align:center;margin-bottom:8px}.news-ears{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px}.news-ear{border:1px solid var(--news-rule);padding:4px 8px;text-align:left;max-width:42%;line-height:1.2}.news-ear.right{text-align:right;margin-left:auto}.news-ear strong{display:block;font-size:9px;letter-spacing:.04em;text-transform:uppercase}.news-ear span{display:block;font-size:9.5px;font-style:italic;opacity:.85}.news-title{font-family:UnifrakturMaguntia,Times New Roman,serif;font-size:clamp(42px,9vw,72px);font-weight:400;line-height:.95;letter-spacing:.01em;margin:2px 0 6px;color:var(--news-ink)}.news-folio{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;border-top:2px solid var(--news-rule);border-bottom:2px solid var(--news-rule);padding:5px 0;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase}.news-folio span:first-child{text-align:left}.news-folio span:nth-child(2){text-align:center;font-weight:700;white-space:nowrap}.news-folio span:last-child{text-align:right}.news-banner{margin:10px 0 6px;font-family:Libre Baskerville,Times New Roman,Times,serif;font-size:clamp(22px,4.2vw,34px);font-weight:700;line-height:1.05;letter-spacing:-.01em;text-align:center;text-wrap:balance;color:var(--news-ink)}.news-decks{border-top:1px solid var(--news-rule);border-bottom:3px double var(--news-rule);padding:7px 4px 8px;margin-bottom:12px;text-align:center}.news-decks p{margin:0;font-size:clamp(12px,1.8vw,14.5px);font-weight:700;line-height:1.25}.news-decks p+p{margin-top:4px;font-size:clamp(11px,1.6vw,13px);font-weight:400;font-style:italic}.news-body{display:grid;grid-template-columns:1.1fr 1.1fr .9fr;gap:0;column-gap:0}.news-col{padding:0 11px;border-right:1px solid rgba(26,26,26,.35)}.news-col:first-child{padding-left:0}.news-col:last-child{border-right:none;padding-right:0}.news-hed{font-size:12.5px;font-weight:700;letter-spacing:.01em;line-height:1.2;text-transform:uppercase;margin:0 0 7px;text-align:left}.news-hed.center{text-align:center}.news-subhed{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:10px 0 5px}.news-col p{margin:0 0 8px;font-size:11px;line-height:1.4;text-align:justify;-webkit-hyphens:auto;hyphens:auto;color:var(--news-ink)}.news-dateline{font-weight:700;font-style:normal;text-transform:uppercase;font-size:10.5px;letter-spacing:.02em}.news-aside-kicker{text-align:center!important;font-size:10px!important;font-style:italic;margin-bottom:8px!important}.news-bullets{list-style:none;margin:0 0 10px;padding:0}.news-bullets li{position:relative;padding:3px 0 3px 11px;font-size:11px;line-height:1.35;border-bottom:1px dotted rgba(26,26,26,.25)}.news-bullets li:before{content:"•";position:absolute;left:0;top:3px}.news-rule{height:0;border:none;border-top:2px solid var(--news-rule);margin:8px 0 10px}.news-brief{font-size:10.5px!important;line-height:1.35!important;margin-bottom:7px!important}.news-brief strong{font-weight:700}@media(max-width:700px){.news-ears{display:none}.news-title{font-size:clamp(36px,12vw,52px)}.news-folio{grid-template-columns:1fr;gap:2px;text-align:center}.news-folio span:first-child,.news-folio span:last-child{text-align:center}.news-body{grid-template-columns:1fr;gap:14px}.news-col{border-right:none;padding:0 0 12px;border-bottom:1px solid rgba(26,26,26,.25)}.news-col:last-child{border-bottom:none;padding-bottom:0}}.news-goals{margin-top:4px}.news-goals-rule{margin:14px 0 12px;border-top:3px double var(--news-rule)}.news-goals-kicker{margin-bottom:10px!important}.news-goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.news-goal{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#ffffff59;border:1px solid rgba(26,26,26,.35);border-radius:2px;padding:9px 10px;color:var(--news-ink);font-family:Libre Baskerville,Times New Roman,Times,serif;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;cursor:pointer}.news-goal:hover:not(.full):not(:disabled){background:#ffffffa6;border-color:var(--news-ink)}.news-goal.selected{background:#1a1a1a;border-color:#1a1a1a;color:#f3ead6;box-shadow:inset 0 0 0 1px #f3ead6}.news-goal.full{opacity:.4;cursor:default}.news-goal-ico{display:inline-flex;color:inherit;opacity:.9}.news-goal-name{font-weight:700;font-size:var(--text-ui-body);letter-spacing:.01em}.news-goal-desc{font-size:var(--text-ui-label);line-height:1.35;opacity:.88}.news-goals-cta{display:flex;justify-content:center;padding-top:4px}.news-goals-cta .take-office{font-family:var(--serif)}@media(max-width:700px){.news-goal-grid{grid-template-columns:1fr 1fr}}.mandate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}.mandate-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;background:var(--panel-solid);border:1.5px solid var(--border);border-radius:16px;padding:14px 15px;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease,opacity .12s ease}.mandate-card:hover:not(.full){border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.mandate-card.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink),var(--shadow-sm)}.mandate-card.full{opacity:.45;cursor:default}.mandate-ico{color:var(--ink);background:var(--bg);border-radius:10px;padding:6px;display:inline-flex}.mandate-card.selected .mandate-ico{background:var(--ink);color:#fff}.mandate-name{font-weight:700;font-size:var(--text-ui-title);color:var(--ink)}.mandate-desc{font-size:var(--text-ui-body);color:var(--text-dim);line-height:1.45}.take-office{padding:13px 28px;font-size:var(--text-ui-display);margin-top:4px}.tenure-line{margin:-14px 0 20px;padding:12px 16px;border-radius:12px;font-size:14.5px;color:var(--text);background:var(--good-soft);border:1px solid rgba(63,173,86,.3)}.tenure-line.recalled,.tenure-line.takeover{background:var(--bad-soft);border-color:#e05a4e4d}.mandate-results{display:flex;flex-direction:column;gap:8px;margin-bottom:26px}.mandate-result{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 14px}.mandate-result .m-status{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius);border:1px solid currentColor}.mandate-result.kept .m-status{color:var(--good-ink)}.mandate-result.broken .m-status{color:var(--bad-ink)}.mandate-result .m-name{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--ink-print)}.mandate-result .m-final{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--ink-print-faint)}.ending-card{margin:14px 0 22px;padding:24px 28px 18px;border-radius:var(--radius);border:1px solid var(--rule);border-top:3px double var(--ink-print);background:var(--paper);box-shadow:0 1px #1a160e0f}.ending-card.tone-triumph{border-top-color:var(--good-ink)}.ending-card.tone-mixed{border-top-color:var(--warn-ink)}.ending-card.tone-failure{border-top-color:var(--bad-ink)}.ending-card h1{font-family:var(--serif);font-size:38px;margin:0 0 12px;line-height:1.12;color:var(--ink-print)}.ending-card .epitaph{margin:0;font-family:var(--serif);font-style:italic;font-size:15.5px;line-height:1.7;color:var(--ink-print-soft)}.ending-card .signed{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--ink-print-faint)}.epilogues{display:flex;flex-direction:column;gap:10px;margin-bottom:26px}.epilogue-card{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper)}.epilogue-card .ep-name{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--ink-print);margin-bottom:3px}.epilogue-card .ep-role{font-family:var(--sans);font-weight:400;font-size:12px;color:var(--ink-print-faint);margin-left:6px}.epilogue-card p{margin:0;font-family:var(--serif);font-style:italic;font-size:13.5px;line-height:1.6;color:var(--ink-print-soft)}.compare-strip{display:flex;flex-direction:column;gap:6px;min-height:58px;margin:0 0 26px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--rule);border-left:3px solid var(--ink-print);background:var(--paper)}.compare-strip .c-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-print-faint)}.compare-strip .c-line{font-size:14px;line-height:1.5;color:var(--ink-print)}.compare-strip .c-skeleton{display:block;height:14px;width:70%;border-radius:7px;background:linear-gradient(90deg,#2a272312,#2a272324,#2a272312);background-size:200% 100%;animation:skeleton-slide 1.3s ease-in-out infinite}@keyframes skeleton-slide{0%{background-position:150% 0}to{background-position:-50% 0}}@media(max-width:720px){.reflection{padding:32px 14px}.ending-card{padding:20px 18px 16px}.ending-card h1{font-size:30px}.grade-grid{grid-template-columns:repeat(3,1fr)}.mandate-result{flex-wrap:wrap}.mandate-result .m-final{margin-left:0;width:100%}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}::-webkit-scrollbar-track{background:transparent}@media(max-width:1100px){.float-panel{width:280px}}@media(max-width:720px){.hud-top{right:12px;left:12px;flex-wrap:wrap}.hud-folio{width:100%}.folio-meters{display:none;grid-template-columns:repeat(2,auto);gap:6px 12px}.hud-folio.meters-open .folio-meters,body[data-tutorial-hint=gent] .folio-meters{display:grid}.folio-meters-toggle{display:flex}.folio-cell{padding:6px 8px 5px}.folio-lab{font-size:8px;letter-spacing:.05em}.folio-term{min-width:88px}.folio-num{font-size:15px}.float-panel{inset:auto 0 0;width:100%;max-width:100%;height:46%;border-radius:4px 4px 0 0}.float-panel-scrim{display:block}.project-dock{left:max(10px,var(--safe-area-inset-left));right:max(10px,var(--safe-area-inset-right));top:auto;bottom:max(10px,var(--safe-area-inset-bottom));transform:none;flex-direction:column;align-items:stretch;gap:5px;max-width:none}.dock-set{flex-direction:row;flex:1;min-width:0;gap:0}.dock-label{position:static;align-self:flex-start;order:1;padding:4px 10px;font-size:11px;max-width:100%;overflow:hidden}.dock-label-hint .hint-full{display:none}.dock-label-hint .hint-short{display:inline}.grant-chips{position:static;order:0;flex-direction:row;flex-wrap:wrap}.dock-dots{order:3;flex-direction:row;justify-content:flex-start;gap:0;padding:4px 4px 4px 2px;width:100%;box-sizing:border-box}.dock-dot{flex:1 1 0;width:auto;min-width:0;max-width:40px;height:40px;margin:0}.dock-dot-tip{display:none!important}.dock-dot-core{width:13px;height:13px;border-width:2px}.dock-divider{width:1px;height:16px;margin:0 2px;flex:0 0 auto}.dock-laws-toggle{flex:0 0 auto;width:40px;height:40px}.placing-banner{top:calc(max(14px,var(--safe-area-inset-top)) + 94px);bottom:auto;max-width:calc(100% - 24px);font-size:var(--text-ui-body);padding:10px 14px}.phone-shell.open{top:96px;left:0;right:0;bottom:max(10px,var(--safe-area-inset-bottom));margin:auto;width:min(440px,calc(100% - 20px));height:min(560px,calc(100% - 128px));max-height:none}.phone-shell.peek{left:0;right:0;margin:0 auto;width:min(440px,calc(100% - 20px))}.mandate-row-val{display:none}.mandate-grid{grid-template-columns:repeat(2,1fr)}.tutorial-guide{left:50%;bottom:118px}.phone-banners{left:0;right:0;margin:0 auto;width:min(440px,calc(100% - 20px))}.map-area:has(.phone-shell.open) .phone-banners{left:0;right:0;bottom:auto;top:calc(max(14px,var(--safe-area-inset-top)) + 98px)}}.char-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}.char-avatar{flex:none;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border-strong)}.char-avatar img{width:100%;height:100%;object-fit:cover;display:block}.char-initials{color:#fff;font-weight:700;letter-spacing:.02em}.char-id{display:flex;flex-direction:column;min-width:0}.char-name{font-weight:600;font-size:var(--text-ui-body);color:var(--ink);line-height:1.2}.char-role{font-size:var(--text-ui-caption);color:var(--text-dim);display:flex;align-items:center;gap:6px}.char-chip{font-size:var(--text-ui-label);text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 7px}.bubble-speaker{display:block;position:relative;z-index:2;font-size:var(--text-ui-caption);font-weight:600;letter-spacing:.01em;color:var(--text-dim);line-height:1.2}.speech-bubble.outgoing .bubble-speaker{color:#ffffffd1}.act-banner{position:absolute;top:84px;left:50%;transform:translate(-50%);z-index:34;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--grain-dots) 0 0 / 3px 3px,linear-gradient(180deg,rgba(255,255,255,.22),transparent 28%),var(--paper-deep);border:1px solid var(--rule);border-radius:2px;padding:14px 34px;box-shadow:var(--shadow-paper-md);text-align:center;cursor:pointer}.act-banner .act-kicker{font-size:var(--text-ui-caption);text-transform:uppercase;letter-spacing:.22em;color:var(--ink-print-soft);font-weight:700;padding-bottom:3px;border-bottom:1px solid var(--rule);margin-bottom:3px}.act-banner .act-title{font-family:var(--serif);font-size:23px;font-weight:700;letter-spacing:-.01em;color:var(--ink-print)}.act-banner .act-years{font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--ink-print-faint)}.tl-act-header{display:flex;flex-direction:column;align-items:center;gap:1px;margin:12px 0 8px -18px;padding:6px 10px 5px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:none;border-radius:0;text-align:center;font-family:var(--serif);font-size:var(--text-ui-caption);font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-print)}.tl-act-header .tl-act-years{font-family:var(--mono);font-weight:400;font-size:var(--text-ui-label);letter-spacing:.04em;color:var(--ink-print-faint)}.grant-modal{max-width:400px;padding:18px 20px}.grant-lead{font-size:var(--text-ui-body);color:var(--ink-print-soft);margin:2px 0 12px}.grant-options{display:flex;flex-direction:column;gap:8px}.grant-opt{text-align:left;background:#ffffff59;border:1px solid var(--rule);border-radius:2px;padding:10px 13px;transition:border-color .12s ease,background .12s ease,transform .12s ease}.grant-opt:hover{border-color:var(--ink-print);background:#ffffffa6;transform:translate(3px)}.grant-opt:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.grant-opt .g-label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600;font-size:var(--text-ui-body);color:var(--ink-print)}.grant-opt .g-chip{flex:none;font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--good-ink);background:var(--good-soft);border-radius:999px;padding:2px 9px}.grant-opt .g-desc{display:block;font-size:var(--text-ui-caption);color:var(--ink-print-soft);margin-top:2px}.grant-pass{margin-top:10px;align-self:center;width:100%;text-align:center;font-size:var(--text-ui-body);color:var(--ink-print-faint);padding:6px;border-radius:2px}.grant-pass:hover{color:var(--ink-print);background:#1a1a1a0f}.grant-chips{position:absolute;bottom:calc(100% + 8px);left:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.grant-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:var(--text-ui-label);color:var(--good);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:999px;padding:3px 10px;box-shadow:var(--shadow-sm)}.grant-chip em{font-style:normal;color:var(--text-faint)}.grant-chip.voucher{color:var(--accent)}.dock-label-grant{font-family:var(--mono);font-size:var(--text-ui-label);color:var(--good);background:var(--good-soft);border-radius:999px;padding:1px 8px;margin-left:6px}.cost-grant{font-size:var(--text-ui-body);color:var(--good);margin-left:6px}.cost-grant s{color:var(--text-faint)}@media(max-width:720px){.act-banner{top:auto;bottom:170px;width:max-content;max-width:calc(100% - 24px);padding:12px 26px}.grant-modal{max-width:calc(100% - 24px)}}.gent-chip{border-color:#8b6bb573}.gent-chip .gent-arrow{font-size:9px;line-height:1}.gent-chip .gent-arrow.up{color:var(--bad)}.gent-chip .gent-arrow.down{color:var(--good)}.gent-toast{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;padding:7px 11px;border-radius:var(--radius);background:var(--paper-deep);border:1px solid var(--rule);border-left:3px solid var(--bad-ink);box-shadow:var(--shadow-paper-sm);font-size:var(--text-ui-caption);color:var(--ink-print);margin-bottom:10px}.gent-toast.down{border-left-color:var(--good-ink)}.gent-toast-title{font-family:var(--serif);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--bad-ink)}.gent-toast.down .gent-toast-title{color:var(--good-ink)}.gent-toast-line{font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--ink-print);white-space:nowrap}.dock-divider{width:18px;height:1px;background:var(--rule);margin:2px 0;flex-shrink:0}.dock-laws-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:34px;height:auto;min-width:0;min-height:0;padding:5px 0 4px;border-radius:12px;font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print-soft);border:1px solid var(--rule);background:var(--paper);flex:0 0 auto;transition:color .12s ease,border-color .12s ease,background .12s ease}.dock-laws-toggle:hover{color:var(--ink-print);border-color:var(--ink-print)}.dock-laws-toggle:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.dock-laws-toggle.on{color:#fff;background:#8b6bb5;border-color:#8b6bb5}.dock-laws-text{display:block;font-size:var(--text-ui-label);letter-spacing:.06em;text-transform:uppercase}.dock-dots.laws{border-style:dashed;border-color:#8b6bb58c;background:var(--paper);border-radius:999px}@media(min-width:721px){.dock-dots.laws .dock-set{flex-wrap:wrap;align-content:center;justify-content:center;max-height:calc(100vh - 240px)}}.dock-dot.law .dock-dot-core{border-radius:5px}.dock-label-family{font-size:var(--text-ui-label);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.law-family{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:var(--text-ui-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.law-family.produce{color:#2c7d5b;background:#3aa77a24}.law-family.preserve{color:#8a6115;background:#c28f2c29}.law-family.protect{color:#6b4a9e;background:#9a6bd024}.law-family.mobility{color:#1f6ea6;background:#2f8fd024}.gent-preview{font-size:var(--text-ui-body);margin:8px 0 0;padding:7px 10px;border-radius:10px}.gent-preview.up{background:#8b6bb51a;color:#6b4a9e}.gent-preview.down{background:var(--good-soft);color:#2c7d5b}.law-grounding{font-size:var(--text-ui-body);color:var(--text-dim);margin:8px 0 0;padding-top:8px;border-top:1px dashed var(--border-strong)}.law-grounding a{color:var(--accent)}.gent-scorecard{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}.gent-scorecard .score-cell{flex:1 1 150px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px}.gent-scorecard .score-label{font-family:var(--serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-print-soft)}.gent-scorecard .score-value{font-family:var(--mono);font-size:17px;color:var(--ink-print);margin-top:3px}.gent-scorecard .score-note{font-size:11.5px;color:var(--ink-print-faint);margin-top:3px;line-height:1.4}@media(pointer:fine){:root{--cursor-dot: url(/cursor-dot.png) 12 12, default;--cursor-dot-lg: url(/cursor-dot-lg.png) 14 14, default;--cursor-dot-sm: url(/cursor-dot-sm.png) 10 10, default;--cursor-dot-grab: url(/cursor-dot-grab.png) 14 14, default}@supports (cursor: -webkit-image-set(url(/cursor-dot.png) 1x,url(/cursor-dot@2x.png) 2x) 12 12,default){:root{--cursor-dot: -webkit-image-set(url(/cursor-dot.png) 1x, url(/cursor-dot@2x.png) 2x) 12 12, default;--cursor-dot-lg: -webkit-image-set(url(/cursor-dot-lg.png) 1x, url(/cursor-dot-lg@2x.png) 2x) 14 14, default;--cursor-dot-sm: -webkit-image-set(url(/cursor-dot-sm.png) 1x, url(/cursor-dot-sm@2x.png) 2x) 10 10, default;--cursor-dot-grab: -webkit-image-set(url(/cursor-dot-grab.png) 1x, url(/cursor-dot-grab@2x.png) 2x) 14 14, default}}html .bay-map,html .dock-dot,html .project-row{cursor:var(--cursor-dot-grab)!important}html{cursor:var(--cursor-dot)!important}html *{cursor:inherit!important}html a,html button,html [role=button],html label[for],html select,html summary,html .btn,html .term-link,html .news-goal:not(.full):not(:disabled),html .mandate-card:not(.full):not(:disabled),html .choice-btn:not(:disabled),html .paper-reveal-ready,html .take-office:not(:disabled),html .alert-chip,html .act-banner,html .district-g,html input[type=range],html .frider{cursor:var(--cursor-dot-lg)!important}html a:active,html button:active,html [role=button]:active,html .btn:active,html .news-goal:active:not(.full):not(:disabled),html .mandate-card:active:not(.full):not(:disabled),html .choice-btn:active:not(:disabled),html .paper-reveal-ready:active,html .take-office:active:not(:disabled){cursor:var(--cursor-dot-sm)!important}html .news-goal.full,html .mandate-card.full{cursor:var(--cursor-dot)!important}html .bay-map.panning,html .dock-dot:active,html .project-row:active,html body.dragging-project,html body.dragging-project *{cursor:var(--cursor-dot-sm)!important}html :disabled,html .disabled,html .blocked{cursor:not-allowed!important}}.news-broadcast{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.55),transparent 60%),#f3ead6;color:var(--ink);--nb-accent: var(--warn);--nb-paper: #fdf7e7;--nb-portrait: clamp(126px, 18vw, 208px);--nb-gap: clamp(26px, 7vw, 110px);--nb-desk-bottom: 84px;--nb-desk-h: 70px;--nb-anchor-lift: 30px;--nb-anchor-offset: calc((var(--nb-portrait) + var(--nb-gap)) / 2);--nb-bubble-bottom: calc( var(--nb-desk-bottom) + var(--nb-desk-h) - var(--nb-anchor-lift) + var(--nb-portrait) + 24px )}.news-broadcast.tone-improving{--nb-accent: var(--good)}.news-broadcast.tone-declining{--nb-accent: var(--bad)}.nb-masthead{display:flex;align-items:baseline;gap:18px;padding:max(14px,calc(var(--safe-area-inset-top) + 6px)) 22px 10px;border-bottom:3px double var(--ink)}.nb-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:var(--text-ui-body);font-weight:700;letter-spacing:.22em;color:#b3261e}.nb-live-dot{width:9px;height:9px;border-radius:50%;background:#b3261e;animation:nb-blink 1.4s ease-in-out infinite}@keyframes nb-blink{50%{opacity:.25}}.nb-paper{font-family:UnifrakturMaguntia,Times New Roman,serif;font-size:clamp(26px,4vw,38px);line-height:1;margin-inline:auto}.nb-slug{font-family:var(--mono);font-size:var(--text-ui-caption);letter-spacing:.14em;color:var(--text-dim);white-space:nowrap}.nbtv-stage{position:relative;flex:1;min-height:0;overflow:hidden;cursor:pointer}.nbtv-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#c8e0ed8c,#c8e0ed00 62%);pointer-events:none}.nbtv-backdrop{position:absolute;inset:-4%;background-image:url(/title-bay-sketch.svg);background-repeat:no-repeat;background-position:center 44%;background-size:min(1260px,148%) auto;opacity:.2;pointer-events:none}.nbtv-grain{position:absolute;inset:0;z-index:9;pointer-events:none;background-image:radial-gradient(rgba(72,58,44,.16) .5px,transparent .6px),radial-gradient(120% 100% at 50% 45%,transparent 55%,rgba(70,56,42,.16));background-size:3px 3px,100% 100%;mix-blend-mode:multiply;opacity:.7}.nbtv-camera{position:absolute;inset:0;z-index:6;transform-origin:50% 88%;will-change:transform}.nbtv-bug{position:absolute;top:14px;right:clamp(14px,3vw,40px);z-index:6;display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border-strong);border-radius:999px;padding:6px 14px 6px 8px;font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--ink);white-space:nowrap;box-shadow:var(--shadow-sm);pointer-events:none}.nbtv-bug-year{background:var(--ink);color:#f3ead6;border-radius:999px;padding:3px 10px;font-weight:700;letter-spacing:.1em}.nbtv-desk-area{position:absolute;left:50%;bottom:var(--nb-desk-bottom);transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center}.nbtv-anchors{display:flex;align-items:flex-end;gap:var(--nb-gap);margin-bottom:calc(var(--nb-anchor-lift) * -1);z-index:1}.nbtv-anchor{display:flex;flex-direction:column;align-items:center;transform-origin:50% 90%}.nbtv-portrait{position:relative;width:var(--nb-portrait);height:var(--nb-portrait);border-radius:50%;overflow:hidden;border:3px solid var(--ink);background:var(--panel-solid);box-shadow:var(--shadow-md);filter:saturate(.82);opacity:.9;transition:filter .3s ease,opacity .3s ease,box-shadow .3s ease}.nbtv-anchor.speaking .nbtv-portrait{filter:none;opacity:1;box-shadow:var(--shadow-md),0 0 0 4px var(--nb-accent)}.nbtv-portrait img{width:100%;height:100%;object-fit:cover;display:block}.nbtv-face{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.nbtv-glint{position:absolute;top:-12%;left:0;width:30%;height:124%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.05) 30%,rgba(255,255,255,.72) 50%,rgba(255,255,255,.05) 70%,transparent);transform:skew(-18deg);pointer-events:none}.nbtv-tag{z-index:2;margin-top:-14px;padding:3px 14px;border:2px solid var(--ink);border-radius:999px;color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.35);box-shadow:var(--shadow-sm)}.nbtv-desk{width:min(600px,82vw);height:var(--nb-desk-h);display:flex;align-items:flex-end;padding-bottom:9px;justify-content:center;background:linear-gradient(180deg,#3a352e,var(--ink));border-radius:12px 12px 0 0;box-shadow:var(--shadow-md)}.nbtv-desk-plate{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#f3ead6;border:2px double #f3ead6;border-radius:6px;padding:5px 18px;opacity:.9}.nbtv-bubbles{position:absolute;inset:0;z-index:8;pointer-events:none}.nb-bubble-slot{position:absolute;pointer-events:none;width:min(34vw,380px)}.nb-bubble-slot.left,.nb-bubble-slot.right{bottom:var(--nb-bubble-bottom)}.nb-bubble-slot.left{left:calc(50% - var(--nb-anchor-offset));transform:translate(-62%)}.nb-bubble-slot.right{left:calc(50% + var(--nb-anchor-offset));transform:translate(-38%)}.nb-bubble-slot.call{z-index:8;top:clamp(150px,25vh,240px);right:clamp(16px,5vw,78px);width:min(38vw,400px)}.nb-bubble{position:relative;background:var(--nb-paper);border:2px solid var(--ink);border-radius:14px;padding:16px 18px 14px;box-shadow:var(--shadow-md);transform-origin:50% 100%}.nb-bubble.side-left{rotate:-.7deg}.nb-bubble.side-right{rotate:.7deg}.nb-bubble.side-call{rotate:-.5deg;border-style:dashed;transform-origin:70% 0}.nb-bubble-name{position:absolute;top:-12px;left:14px;padding:2px 11px;border:2px solid var(--ink);border-radius:999px;color:#fff;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.35);white-space:nowrap}.nb-bubble-text{margin:4px 0 0;font-family:Libre Baskerville,Times New Roman,Times,serif;font-size:clamp(13.5px,1.35vw,16px);line-height:1.55;color:var(--ink);min-height:3.1em}.nb-bubble.side-call .nb-bubble-text{font-style:italic}.nb-bubble-caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.14em;background:var(--nb-accent);animation:nb-caret .9s steps(2,end) infinite}@keyframes nb-caret{50%{opacity:0}}.nb-bubble-more{position:absolute;right:12px;bottom:6px;color:var(--nb-accent);font-size:13px;animation:nbtv-next-pulse 1.2s ease-in-out infinite}.nb-bubble-tail{position:absolute;top:100%;margin-top:-2px;width:44px;height:28px;overflow:visible}.side-left .nb-bubble-tail{left:58%}.side-right .nb-bubble-tail{left:34%}.side-call .nb-bubble-tail{top:auto;bottom:100%;margin:0 0 -2px;left:68%;transform:scaleY(-1)}.nb-tail-fill{fill:var(--nb-paper)}.nb-tail-line{fill:none;stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.nb-board{position:absolute;left:clamp(14px,4vw,52px);top:46%;z-index:5;translate:0 -50%;width:min(28vw,286px);padding:14px 16px 16px;background:var(--nb-paper);border:2px solid var(--ink);border-radius:10px;box-shadow:var(--shadow-md);pointer-events:none}.nb-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;margin-bottom:10px;border-bottom:3px double var(--ink)}.nb-board-title{font-family:Libre Baskerville,Times New Roman,Times,serif;font-size:clamp(14px,1.5vw,17px);font-weight:700}.nb-board-span{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--text-dim)}.nb-board-rows{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.nb-board-row{display:grid;grid-template-columns:5.2em 1fr 3.1em;align-items:center;gap:8px;font-family:var(--mono);font-size:11px}.nb-board-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.nb-board-track{position:relative;height:9px;border-radius:999px;background:#3a30261a}.nb-board-track:before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:#3a302659}.nb-board-bar{position:absolute;top:0;bottom:0;left:50%;width:50%;border-radius:999px;transform-origin:left center;background:var(--text-dim)}.nb-board-bar.left{left:auto;right:50%;transform-origin:right center}.nb-board-row.good .nb-board-bar{background:var(--good)}.nb-board-row.bad .nb-board-bar{background:var(--bad)}.nb-board-value{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.nb-board-row.good .nb-board-value{color:var(--good)}.nb-board-row.bad .nb-board-value{color:var(--bad)}.nb-memo{position:absolute;left:clamp(14px,4vw,52px);top:46%;z-index:5;translate:0 -50%;width:min(30vw,310px);padding:14px 18px 16px;background:#fbf3df;border:1px solid var(--border-strong);border-left:6px solid var(--nb-accent);border-radius:4px;box-shadow:var(--shadow-md);pointer-events:none}.nb-memo-head{display:block;margin-bottom:6px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--nb-accent)}.nb-memo p{margin:0;font-family:Libre Baskerville,Times New Roman,Times,serif;font-size:clamp(13px,1.3vw,15px);line-height:1.5}.nbtv-caller{position:absolute;top:clamp(58px,11vh,104px);right:clamp(16px,5vw,78px);z-index:5;display:flex;align-items:center;gap:11px;overflow:hidden;background:var(--panel-solid);border:2px solid var(--ink);border-radius:12px;padding:15px 16px 11px;box-shadow:var(--shadow-md);pointer-events:none}.nbtv-caller-tag{position:absolute;top:0;left:12px;background:#b3261e;color:#fff;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-radius:0 0 4px 4px;padding:2px 8px}.nbtv-caller-portrait{display:block;width:54px;height:54px;border-radius:50%;overflow:hidden;border:2px solid var(--ink);transform-origin:50% 80%}.nbtv-caller-portrait img{width:100%;height:100%;object-fit:cover;display:block}.nbtv-caller-portrait.live{box-shadow:0 0 0 3px #b3261e80}.nbtv-caller-id{display:flex;flex-direction:column;gap:1px}.nbtv-caller-id b{font-size:13.5px;color:var(--ink)}.nbtv-caller-id span{font-size:11px;color:var(--text-dim)}.nbtv-caller-static{position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(58,48,38,.07) 0 1px,transparent 1px 4px);pointer-events:none}.nbtv-slate{position:absolute;left:-6%;right:-6%;top:38%;z-index:10;display:flex;align-items:baseline;justify-content:center;gap:18px;padding:14px 40px;background:var(--ink);border-top:3px double #f3ead6;border-bottom:3px double #f3ead6;box-shadow:var(--shadow-md);pointer-events:none}.nbtv-slate-kicker{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--nb-accent)}.nbtv-slate-title{font-family:Libre Baskerville,Times New Roman,Times,serif;font-size:clamp(20px,3.4vw,36px);font-weight:700;letter-spacing:.02em;color:#f7efdc}.nbtv-chyron{position:absolute;left:clamp(12px,3vw,40px);right:clamp(12px,3vw,40px);bottom:12px;z-index:8;display:flex;align-items:stretch;gap:0;background:var(--ink);border-radius:5px;box-shadow:var(--shadow-md);overflow:hidden;pointer-events:none}.nbtv-chyron-bug{display:flex;align-items:center;padding:0 14px;background:var(--nb-accent);color:#1e1a16;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.nbtv-chyron-slot{position:relative;flex:1;min-width:0;display:grid;align-items:center;height:44px;overflow:hidden}.nbtv-chyron-text{grid-area:1 / 1;padding:0 16px;font-family:var(--mono);font-size:clamp(11px,1.25vw,14px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f7efdc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nbtv-chyron-count{display:flex;align-items:center;padding:0 14px;font-family:var(--mono);font-size:10.5px;color:#f7efdc99;white-space:nowrap}.nbtv-next{color:var(--nb-accent);animation:nbtv-next-pulse 1.2s ease-in-out infinite}@keyframes nbtv-next-pulse{50%{opacity:.25}}.nbtv-back{align-self:center;min-height:36px;padding:8px 16px;box-shadow:var(--shadow-sm);white-space:nowrap}.nbtv-back .arrow{display:inline-block;transition:transform .15s ease}.nbtv-back:hover .arrow{transform:translate(4px)}.nb-ticker{display:flex;align-items:stretch;height:42px;background:var(--ink);color:#f3ead6;border-top:3px double #f3ead6;overflow:hidden;flex:0 0 auto}.nb-ticker-bug{display:flex;align-items:center;padding:0 16px;background:#b3261e;color:#fff;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.nb-crawl{flex:1;min-width:0;display:flex;align-items:center;overflow:hidden}.nb-crawl-track{display:flex;gap:64px;white-space:nowrap;animation:nb-crawl 28s linear infinite;will-change:transform;padding-left:100%}.nb-crawl-track span,.nb-crawl-static{font-family:Libre Baskerville,Times New Roman,Times,serif;font-size:14.5px;letter-spacing:.04em;white-space:nowrap}.nb-crawl-static{padding:0 16px;overflow:hidden;text-overflow:ellipsis}@keyframes nb-crawl{to{transform:translate(calc(-100% - 64px))}}@media(prefers-reduced-motion:reduce){.nb-crawl-track,.nb-live-dot,.nbtv-next,.nb-bubble-caret,.nb-bubble-more{animation:none}.nbtv-portrait{transition:none}}@media(max-width:980px){.nb-bubble-slot{width:min(42vw,320px)}.nb-board,.nb-memo{width:min(34vw,260px)}}@media(max-width:720px){.news-broadcast{--nb-portrait: 96px;--nb-gap: 18px;--nb-desk-bottom: 54px;--nb-desk-h: 44px;--nb-anchor-lift: 22px}.nb-masthead{gap:10px;flex-wrap:wrap;align-items:center;padding:max(10px,calc(var(--safe-area-inset-top) + 6px)) 14px 8px}.nb-slug{display:none}.nbtv-back{min-height:32px;padding:6px 12px;font-size:13px}.nbtv-bug{display:none}.nbtv-desk{width:90vw}.nbtv-desk-plate{display:none}.nb-bubble-slot.left,.nb-bubble-slot.right,.nb-bubble-slot.call{left:50%;right:auto;top:auto;bottom:calc(var(--nb-bubble-bottom) + 6px);width:92vw;transform:translate(-50%)}.nb-bubble-tail{display:none}.nb-bubble{padding:13px 14px 11px}.nb-bubble-text{min-height:2.6em}.nb-board,.nb-memo{left:10px;top:10px;bottom:auto;translate:0 0;width:min(72vw,300px)}.nb-board{padding:10px 12px 12px}.nbtv-caller{top:10px;right:10px;padding:13px 12px 9px}.nbtv-caller-id b{font-size:12px}.nbtv-caller-id span{display:none}.nbtv-slate{top:34%;gap:10px;padding:10px 20px}.nbtv-chyron{left:8px;right:8px;bottom:8px}.nbtv-chyron-slot{height:38px}.nbtv-chyron-count{display:none}}.sound-mute{display:flex;align-items:center;gap:11px;width:100%;padding:9px 0 11px;border:none;background:none;text-align:left;cursor:pointer}.sound-mute-ico{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--rule);border-radius:7px;background:var(--paper-deep);color:var(--ink-print);transition:color .15s ease,border-color .15s ease}.sound-mute.is-muted .sound-mute-ico{color:var(--ink-print-faint);border-color:var(--rule-faint)}.sound-mute-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-family:var(--serif);font-size:var(--text-ui-body);font-weight:700;color:var(--ink-print)}.sound-mute-text em{font-style:italic;font-weight:400;font-size:var(--text-ui-caption);color:var(--ink-print-soft)}.sound-mute:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.sound-fader{display:flex;align-items:center;gap:10px;padding:5px 0;font-family:var(--mono);font-size:var(--text-ui-caption);color:var(--ink-print-soft)}.sound-fader.is-disabled{opacity:.42}.sound-fader-label{flex:none;width:52px}.sound-fader-value{flex:none;width:24px;text-align:right;font-variant-numeric:tabular-nums}.sound-fader input[type=range]{flex:1;min-width:0;height:2px;appearance:none;background:var(--rule-faint);border-radius:0;cursor:pointer}.sound-fader input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border-radius:50%;background:var(--ink-print);border:none;cursor:pointer}.sound-fader input[type=range]::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--ink-print);border:none;cursor:pointer}.sound-fader input[type=range]:focus-visible{outline:2px solid var(--ink-print);outline-offset:4px}.title-version{position:fixed;bottom:2px;left:50%;transform:translate(-50%);z-index:40;font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--ink-print-faint);pointer-events:none}.title-sound-btn{position:absolute;top:max(18px,var(--safe-area-inset-top));right:max(18px,var(--safe-area-inset-right));z-index:3;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--rule-faint);border-radius:var(--radius);background:#ffffff59;color:var(--ink-print-soft);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,opacity .4s ease}.title-sound-btn:hover{color:var(--ink-print);border-color:var(--rule);background:#fff9}.title-sound-btn.is-muted{color:var(--ink-print-faint)}.title-sound-btn:focus-visible{outline:2px solid var(--ink-print);outline-offset:2px}.delivery-basis{font-size:13px;line-height:1.5;color:var(--text-faint);background:#00000008;border-left:2px solid var(--line, rgba(0, 0, 0, .15));padding:8px 10px;margin:8px 0 0;border-radius:3px}@media(prefers-color-scheme:dark){.delivery-basis{background:#ffffff0d}}.rubric-modal{max-width:640px}.rubric-intro{font-size:14px;line-height:1.55;margin:0 0 14px}.rubric-list{display:flex;flex-direction:column;gap:14px}.rubric-row{display:flex;flex-direction:column;gap:3px}.rubric-head{display:flex;justify-content:space-between;align-items:baseline}.rubric-head label{font-weight:600;font-size:14px}.rubric-pct{font-variant-numeric:tabular-nums;font-size:13px;color:var(--text-faint)}.rubric-row input[type=range]{width:100%}.rubric-blurb{font-size:12.5px;line-height:1.45;margin:0}.rubric-basis{font-size:11.5px;line-height:1.4;margin:0;color:var(--text-faint);font-style:italic}.rubric-preview{margin-top:18px;padding-top:12px;border-top:1px solid var(--line, rgba(0, 0, 0, .12))}.rubric-preview h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.rubric-preview ol{margin:0;padding-left:20px;font-size:13.5px}.rubric-preview li{display:flex;justify-content:space-between;padding:1px 0}.rubric-score{font-variant-numeric:tabular-nums;color:var(--text-faint)}.rubric-note{font-size:12.5px;line-height:1.45;margin:8px 0 0}.phone-pressure-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.phone-pressure-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:5px 8px;border-radius:5px;background:#00000009}@media(prefers-color-scheme:dark){.phone-pressure-row{background:#ffffff0f}}.phone-pressure-row .pp-name{flex:1;font-weight:600}.phone-pressure-row .pp-why{color:var(--text-faint);font-size:12px}.phone-pressure-row .pp-eta{font-variant-numeric:tabular-nums;font-size:12px}.phone-pressure-row.critical .pp-eta,.phone-pressure-row.fusing .pp-eta{font-weight:700}.phone-pressure-bar{height:3px;border-radius:2px;background:currentColor;opacity:.9}.coalition-approval{display:flex;align-items:baseline;justify-content:space-between;padding:8px 10px;margin:8px 0 10px;border-radius:6px;background:#0000000b}@media(prefers-color-scheme:dark){.coalition-approval{background:#ffffff12}}.ca-label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.ca-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.coalition-list{display:flex;flex-direction:column;gap:3px}.coalition-row{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:6px 4px;cursor:pointer;font:inherit;color:inherit;text-align:left}.coalition-row .cf-name{flex:0 0 108px;font-size:13px;font-weight:600}.coalition-row .cf-bar{flex:1;height:6px;border-radius:3px;overflow:hidden;background:#0000001a}@media(prefers-color-scheme:dark){.coalition-row .cf-bar{background:#ffffff24}}.coalition-row .cf-bar>span{display:block;height:100%;border-radius:3px;background:currentColor}.coalition-row.strong{color:#4a7c4e}.coalition-row.mixed{color:#9a7d3a}.coalition-row.weak{color:#b5722f}.coalition-row.hostile{color:#a8433a}.coalition-row .cf-val{flex:0 0 54px;text-align:right;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text)}.coalition-row .cf-val em{font-style:normal;font-size:11px;margin-left:3px}.coalition-row .cf-val em.up{color:#4a7c4e}.coalition-row .cf-val em.down{color:#a8433a}.coalition-detail{overflow:hidden;padding:0 4px 8px 112px}.coalition-detail p{font-size:12.5px;line-height:1.45;margin:0 0 3px}.cf-weight{color:var(--text-faint)}.rent-strip{display:flex;flex-direction:column;gap:2px;padding:7px 8px;margin-bottom:8px;border-radius:6px;background:#0000000a}@media(prefers-color-scheme:dark){.rent-strip{background:#ffffff0f}}.rent-row{display:flex;align-items:baseline;gap:7px;font-size:12.5px;font-variant-numeric:tabular-nums}.rent-row .rent-who{flex:0 0 52px;font-weight:700}.rent-row .rent-where{flex:1;color:var(--text-faint);font-size:11.5px}.rent-row .rent-amt{font-weight:600}.rent-row .rent-amt em{font-style:normal;font-size:11px;margin-left:3px}.rent-row .rent-amt em.up{color:#a8433a}.rent-row .rent-amt em.down{color:#4a7c4e}.rent-row .rent-burden{flex:0 0 34px;text-align:right;color:var(--text-faint)}.rent-row.burdened .rent-burden{color:#b5722f;font-weight:600}.rent-row.severe .rent-burden{color:#a8433a;font-weight:700}.alignment-picker{margin:10px 0 4px}.alignment-lede{font-size:12.5px;line-height:1.45;margin:0 0 6px;color:var(--text-faint)}.alignment-options{display:flex;gap:6px}.alignment-opt{flex:1;display:flex;flex-direction:column;gap:1px;padding:7px 8px;border-radius:5px;cursor:pointer;border:1px solid var(--line, rgba(0, 0, 0, .18));background:transparent;font:inherit;color:inherit;text-align:left}.alignment-opt.active{border-color:currentColor;background:#0000000d;font-weight:600}@media(prefers-color-scheme:dark){.alignment-opt.active{background:#ffffff17}}.alignment-opt.blocked{opacity:.42;cursor:not-allowed}.alignment-opt .ao-name{font-size:13px}.alignment-opt .ao-note{font-size:11px;color:var(--text-faint)}.alignment-blurb{font-size:12px;line-height:1.45;margin:6px 0 0;color:var(--text-faint)}.waiting-band{fill:#fffdf8;stroke:none;pointer-events:none;opacity:.88;transition:fill .7s ease,stroke .7s ease}.waiting-band.warn-critical{animation:band-breathe 2.2s ease-in-out infinite}.waiting-band.warn-fusing{animation:band-breathe 1.1s ease-in-out infinite}@keyframes band-breathe{0%,to{opacity:.88}50%{opacity:.18}}@media(prefers-reduced-motion:reduce){.waiting-band.warn-critical,.waiting-band.warn-fusing{animation:none}}path.waiting-band,.waiting-band.ring{fill:none;stroke:#fffdf8;stroke-linecap:round}.call-scrim{position:absolute;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(24px,var(--safe-area-inset-bottom));background:#2a272347}.call-card{width:380px;max-width:100%;max-height:min(560px,calc(100dvh - 100px));display:flex;flex-direction:column;border-radius:26px;border:1px solid var(--border-strong);background:var(--panel-solid);box-shadow:var(--shadow-md);padding:22px 20px;overflow:hidden}.call-ringing{align-items:center;text-align:center;gap:4px}.call-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}.call-avatar{border-radius:50%;line-height:0}.call-avatar.ringing{animation:call-avatar-ring 1.4s ease-in-out infinite}.call-avatar.ringing.still{animation:none}@keyframes call-avatar-ring{0%,to{transform:rotate(0) scale(1)}12%{transform:rotate(-5deg) scale(1.03)}24%{transform:rotate(4deg) scale(1.03)}36%{transform:rotate(-3deg) scale(1.02)}48%{transform:rotate(0) scale(1)}}.call-name{margin:8px 0 0;font-size:20px;font-weight:700;color:var(--ink)}.call-role{margin:2px 0 0;font-size:13px;color:var(--text-dim)}.call-actions{display:flex;gap:14px;justify-content:center;margin-top:20px;width:100%}.call-btn{flex:1;max-width:150px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 8px 9px;border-radius:16px;border:1px solid var(--border-strong);font-size:12px;font-weight:600;cursor:pointer;background:var(--panel-solid);color:var(--text)}.call-btn.accept{background:var(--good);border-color:var(--good);color:#fff}.call-btn.decline{background:var(--bad-soft);border-color:#e05a4e66;color:var(--bad)}.call-btn.wide{max-width:none;flex-direction:row;justify-content:center;padding:9px 12px}.call-btn:active{transform:translateY(1px)}.call-active{gap:10px}.call-head{display:flex;align-items:center;gap:10px}.call-head .call-name{margin:0;font-size:15px;display:block}.call-head .call-role{margin:0;font-size:12px;display:block}.call-id{flex:1;min-width:0;display:flex;flex-direction:column}.call-avatar.small.talking{animation:call-talk .24s ease-in-out}@keyframes call-talk{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.call-timer{font-family:var(--mono);font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.call-subject{margin:2px 0 0;font-size:14px;font-weight:700;color:var(--ink)}.call-transcript{flex:1;min-height:90px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}.call-line{margin:0;font-size:13.5px;line-height:1.55;color:var(--text);cursor:pointer}.call-line.done{cursor:default;color:var(--text-dim)}.call-caret{display:inline-block;width:7px;height:13px;margin-left:2px;vertical-align:-2px;background:var(--text-dim);animation:call-caret-blink .9s steps(1) infinite}@keyframes call-caret-blink{50%{opacity:0}}.call-choices{margin-top:2px;overflow-y:auto}@media(max-width:720px){.call-scrim{align-items:center}.call-card{max-height:calc(100dvh - 48px)}}.phone-receipt-line{display:flex;align-items:center;gap:8px;width:100%;padding:4px 0;border:none;background:none;cursor:pointer;font-size:12.5px;color:var(--text);text-align:left}.phone-receipt-check{flex:none;width:17px;height:17px;border-radius:50%;background:var(--good-soft);color:var(--good);font-size:11px;line-height:17px;text-align:center}.phone-receipt-what{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-receipt-what b{color:var(--ink)}.phone-receipt-cue{flex:none;font-family:var(--mono);font-size:10.5px;color:var(--accent)}.phone-receipt-body{overflow:hidden}.phone-cityhall-block{padding:10px 0 14px;border-bottom:1px solid var(--border)}.phone-cityhall-block:last-child{border-bottom:none}.phone-cityhall-block .phone-settings-stat{margin-top:8px}
