@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-950:#14201c;--ink-700:#40504a;--ink-600:#5e6b66;--ink-500:#78837e;--ink-400:#87918c;--paper-50:#f7f8f5;--paper-100:#f0f2ee;--paper-200:#e4e8e4;--paper-300:#d4dad5;--brand-700:#0d594d;--brand-600:#167a68;--brand-400:#55b29e;--brand-300:#7cc6b4;--brand-100:#dcefe9;--brand-50:#eff8f5;--bg:var(--paper-50);--surface:#fff;--surface-muted:var(--paper-100);--surface-sunken:var(--paper-200);--glass:#ffffffdb;--fg:var(--ink-950);--fg-secondary:var(--ink-700);--fg-muted:var(--ink-600);--fg-faint:var(--ink-500);--line:var(--paper-200);--line-strong:var(--paper-300);--line-control:var(--ink-400);--focus:var(--brand-600);--brand:var(--brand-600);--brand-hover:var(--brand-700);--brand-fg:var(--brand-700);--brand-soft:var(--brand-50);--brand-soft-strong:var(--brand-100);--on-brand:#fff;--vote-favor:var(--brand-600);--vote-against:#7568a8;--vote-abstain:#9a7530;--vote-absent:var(--ink-400);--scrim:#14201c6b;--shadow-float:0 1px 2px #14201c0a, 0 8px 24px -12px #14201c2e;--shadow-overlay:0 24px 64px -24px #14201c52;--font-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-serif:"Source Serif 4 Variable", "Iowan Old Style", Georgia, serif;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--gutter:24px;--panel-w:400px;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--edge-t:calc(var(--sat) + 16px);--edge-l:calc(var(--gutter) + var(--sal));--edge-r:calc(var(--gutter) + var(--sar));--edge-b:calc(var(--sab) + 44px);--panel-space:calc(var(--panel-w) + var(--sar) + 36px);--vvh:100dvh;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);height:100dvh;color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}input,.panel__body,.popover{-webkit-user-select:text;user-select:text}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:1;position:fixed;inset:0}#ui>*{pointer-events:auto}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}a{color:var(--brand-fg);text-underline-offset:.2em;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, currentColor 40%, transparent);text-decoration-color:color-mix(in oklab, currentColor 40%, transparent)}a:hover{text-decoration-color:currentColor}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--edge-l);z-index:50;background:var(--brand);min-height:44px;color:var(--on-brand);border-radius:var(--radius-full,999px);align-items:center;padding:0 16px;display:inline-flex;position:fixed;top:-60px}.skip:focus{top:var(--edge-t)}.label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0;font-size:12px;font-weight:500;line-height:16px}.tabular{font-variant-numeric:tabular-nums}.icon{flex:none;width:18px;height:18px}.btn{height:44px;font:500 14px/1 var(--font-sans);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn--primary{background:var(--brand);color:var(--on-brand)}.btn--primary:hover{background:var(--brand-hover)}.btn--secondary{background:var(--surface);color:var(--fg);border:1px solid var(--line-control)}.btn--secondary:hover{border-color:var(--fg);background:var(--surface-muted)}.btn--tonal{background:var(--brand-soft);color:var(--brand-fg)}.btn--tonal:hover{background:var(--brand-soft-strong)}.btn--sm{height:36px;padding:0 14px}.btn--lg{height:52px;padding:0 24px;font-size:16px}.iconbtn{border:1px solid var(--line);background:var(--glass);width:44px;height:44px;color:var(--fg-secondary);cursor:pointer;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px)saturate(1.2);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.iconbtn:hover{color:var(--fg);background:var(--surface)}.iconbtn:active{transform:scale(.95)}.iconbtn[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-fg);border-color:#0000}.iconbtn--flat{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-color:#0000}.iconbtn--flat:hover{background:var(--surface-muted)}.swatch{background:var(--c);border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.badge{border-radius:var(--radius-sm);border:1px solid var(--line-strong);color:var(--fg-secondary);overflow-wrap:anywhere;align-items:center;gap:6px;max-width:100%;padding:1px 8px;font-size:12px;font-weight:500;display:inline-flex}.badge--brand{background:var(--brand-soft);color:var(--brand-fg);border-color:#0000}.topbar{padding:var(--edge-t) var(--edge-r) 0 var(--edge-l);align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0;right:0;pointer-events:none!important}.topbar>*{pointer-events:auto}.wordmark{background:var(--glass);border:1px solid var(--line);height:44px;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px)saturate(1.2);letter-spacing:-.035em;color:var(--fg);border-radius:999px;align-items:center;gap:10px;margin:0;padding:0 16px 0 12px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.topbar__spacer{flex:1}.topbar__search{width:min(340px,40vw)}body[data-mode=corridor] .topbar__search,body[data-mode=flying] .topbar__search,body[data-mode=flying] .topbar .iconbtn{visibility:hidden}body:has(.panel:not([hidden])) .topbar{padding-right:var(--panel-space)}.search{position:relative}.search__icon{color:var(--fg-muted);pointer-events:none;position:absolute;top:13px;left:14px}.search__input{border:1px solid var(--line);background:var(--glass);width:100%;height:44px;color:var(--fg);font:400 16px var(--font-sans);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px)saturate(1.2);transition:border-color var(--duration-fast) var(--ease-standard);border-radius:999px;padding:0 16px 0 40px}.search__input::placeholder{color:var(--fg-muted)}.search__input:focus{border-color:var(--focus);background:var(--surface);outline:none}.search__input::-webkit-search-cancel-button{-webkit-appearance:none}.search__list{max-height:calc(var(--vvh) - var(--sat) - var(--sab) - 200px);overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);margin:8px 0 0;padding:6px;list-style:none;position:absolute;left:0;right:0;overflow:hidden auto}.search__list:empty{display:none}.search__opt{border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:4px 10px;font-size:15px;display:flex}.search__opt[aria-selected=true],.search__opt:hover{background:var(--surface-muted)}.search__empty{color:var(--fg-muted);padding:10px;font-size:14px}.intro{left:var(--edge-l);bottom:calc(var(--edge-b) + 12px);width:min(380px, calc(100vw - var(--edge-l) - var(--edge-r)));border-radius:var(--radius-xl);background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(16px)saturate(1.2);transition:opacity var(--duration-slow) var(--ease-enter), transform var(--duration-slow) var(--ease-enter), visibility 0s;padding:20px;position:absolute}.intro h1{font-family:var(--font-serif);letter-spacing:-.03em;text-wrap:balance;margin:0 0 8px;font-size:28px;font-weight:400;line-height:32px}.intro__actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.walk-hint{color:var(--fg-muted);font-size:13px}.hint--touch{display:none}@media (pointer:coarse){.hint--keys{display:none}.hint--touch{display:inline}}.intro__text{color:var(--fg-secondary);margin:0 0 16px;font-size:14px;line-height:20px}body:not([data-mode=corridor]) .intro{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard), visibility 0s var(--duration-normal);transform:translateY(12px)}.prompt{left:50%;bottom:calc(var(--edge-b) + 76px);box-shadow:var(--shadow-overlay);animation:rise var(--duration-slow) var(--ease-enter) both;position:absolute;transform:translate(-50%)}.prompt__key{border-color:color-mix(in oklab, var(--on-brand) 45%, transparent);color:var(--on-brand);background:0 0}body:not([data-mode=corridor]) .prompt{display:none}.joy{left:var(--edge-l);bottom:calc(var(--edge-b) + 176px);background:var(--glass);border:1px solid var(--line);width:112px;height:112px;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px);touch-action:none;border-radius:50%;place-items:center;display:none;position:absolute}.joy__knob{background:var(--surface);border:1px solid var(--line-strong);width:44px;height:44px;box-shadow:var(--shadow-float);border-radius:50%;transition:transform 60ms linear}@media (pointer:coarse){body[data-mode=corridor][data-walk] .joy{display:grid}body[data-mode=corridor][data-walk] .intro{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}.prompt__key{display:none}body[data-mode=corridor][data-walk] .prompt{left:auto;right:var(--edge-r);animation:none;transform:none;display:inline-flex!important}body[data-mode=corridor]:not([data-walk]) .prompt{display:none}}.btn--glass{background:var(--glass);border-color:var(--line);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px)saturate(1.2)}.btn .icon{width:16px;height:16px}@keyframes rise{0%{opacity:.01;transform:translate(-50%,10px)}}@keyframes fade-up{0%{opacity:.01;transform:translateY(8px)}}.stagger>*{animation:fade-up var(--duration-slow) var(--ease-enter) both;animation-delay:calc(var(--i,0) * 40ms)}.panel__body{transition:opacity var(--duration-fast) var(--ease-standard)}.panel__body.is-swapping{opacity:.01}.panel.is-closing{animation:panel-out var(--duration-normal) cubic-bezier(.7, 0, .84, 0) both}@keyframes panel-out{to{opacity:.01;transform:translate(16px)}}.search__opt{animation:fade-up var(--duration-normal) var(--ease-enter) both;animation-delay:calc(var(--i,0) * 25ms)}.legend{left:var(--edge-l);bottom:var(--edge-b);max-width:min(520px, calc(100vw - var(--edge-l) - var(--edge-r) - 120px));border-radius:var(--radius-lg);background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px)saturate(1.2);transition:opacity var(--duration-normal) var(--ease-standard);padding:8px;position:absolute}.legend__chips{flex-wrap:wrap;gap:6px;display:flex}.legend__toggle{display:none}body[data-mode=corridor] .legend,body[data-mode=map] .controls .btn--secondary,body[data-mode=flying] .legend,body[data-mode=corridor] .controls,body[data-mode=flying] .controls{opacity:0;visibility:hidden}.chip{border-radius:var(--radius-md);height:32px;color:var(--fg);font:500 13px var(--font-sans);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip:hover{background:var(--surface-muted)}.chip__count{font-family:var(--font-mono);color:var(--fg-muted);font-variant-numeric:tabular-nums;font-size:12px}.chip[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand)}.legend.has-filter .chip[aria-pressed=false]{opacity:.5}.controls{right:var(--edge-r);bottom:var(--edge-b);transition:opacity var(--duration-normal) var(--ease-standard);gap:8px;display:flex;position:absolute}body:has(.panel:not([hidden])) .controls{right:var(--panel-space)}.footer{padding:0 var(--edge-r) calc(var(--sab) + 12px) var(--edge-l);color:var(--fg-muted);pointer-events:none;font-size:12px;line-height:16px;position:absolute;bottom:0;left:0;right:0}.footer p{border-radius:var(--radius-sm);background:var(--glass);margin:0;padding:2px 8px;display:inline}.footer a{color:var(--fg-secondary);pointer-events:auto}body:has(.panel:not([hidden])) .footer{padding-right:var(--panel-space)}.popover{top:calc(var(--sat) + 68px);right:var(--edge-r);width:min(320px, calc(100vw - var(--edge-l) - var(--edge-r)));max-height:calc(100dvh - var(--sat) - var(--sab) - 80px);overscroll-behavior:contain;overflow-wrap:anywhere;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-overlay);z-index:5;padding:16px;font-size:14px;position:absolute;overflow-y:auto}.popover dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:8px 0 16px;display:grid}.popover dt{font-family:var(--font-mono);color:var(--fg);font-size:12px}.popover dd{color:var(--fg-secondary);margin:0}.popover p{color:var(--fg-secondary);margin:8px 0 0}kbd{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-width:22px;font:500 12px var(--font-mono);text-align:center;border-bottom-width:2px;padding:1px 6px;display:inline-block}.tooltip{z-index:20;background:var(--surface);max-width:280px;color:var(--fg);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);will-change:transform;flex-direction:column;gap:2px;padding:8px 12px;font-size:14px;display:flex;position:fixed;top:0;left:0;pointer-events:none!important}.tooltip.is-visible{opacity:1}.tooltip strong{font-size:15px;font-weight:600}.tooltip__meta{color:var(--fg-muted);align-items:center;gap:6px;font-size:13px;display:flex}.panel{top:calc(var(--sat) + 12px);right:calc(var(--sar) + 12px);bottom:calc(var(--sab) + 12px);width:var(--panel-w);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay);animation:panel-in var(--duration-slow) var(--ease-enter);outline:none;flex-direction:column;display:flex;position:absolute;overflow:hidden}@keyframes panel-in{0%{opacity:.01;transform:translate(16px)}}.panel__grab{display:none}.panel__head{z-index:2;position:absolute;top:12px;right:12px}.panel__bar{gap:4px;display:flex}.panel__body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;padding:24px;overflow:hidden auto}.card-head{grid-template-columns:72px 1fr;align-items:start;gap:16px;padding-bottom:20px;padding-right:88px;display:grid}.card-head>div{min-width:0}.photo{border-radius:var(--radius-md);background:var(--surface-muted);place-items:center;width:72px;height:90px;display:grid;position:relative;overflow:hidden}.photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--duration-normal) var(--ease-standard);display:block;position:absolute;inset:0}.photo.has-photo img{opacity:1}.photo__initials{font:500 22px var(--font-sans);color:var(--fg-muted)}.card-head h2{font-family:var(--font-serif);letter-spacing:-.03em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;margin:0 0 8px;font-size:28px;font-weight:400;line-height:32px}.card-badges{flex-wrap:wrap;gap:6px;display:flex}.card-sub{color:var(--fg-muted);margin:8px 0 0;font-size:13px}.loading{border-radius:var(--radius-md);background:var(--surface-muted);height:120px;animation:1.6s ease-in-out infinite skeleton}@keyframes skeleton{50%{opacity:.55}}.sec{border-top:1px solid var(--line);margin-top:20px;padding:20px 0 0}.sec .label{margin-bottom:12px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.stats>div{border-radius:var(--radius-md);background:var(--surface-muted);padding:12px}.stats dt{color:var(--fg-muted);font-size:12px;line-height:16px}.stats dd{font:500 22px/28px var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 0}.votebar{gap:2px;height:8px;margin:16px 0 12px;display:flex}.votebar span{border-radius:2px;min-width:2px}.v-favor{background:var(--vote-favor)}.v-against{background:var(--vote-against)}.v-abstain{background:var(--vote-abstain)}.v-absent{box-shadow:inset 0 0 0 1px var(--vote-absent);background:0 0}.votes{gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.votes li{grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;display:grid}.votes .dot{border-radius:50%;width:10px;height:10px}.num{font-family:var(--font-mono);color:var(--fg-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.note{color:var(--fg-muted);margin:10px 0 0;font-size:12px;line-height:16px}.empty{color:var(--fg-muted);margin:0;font-size:14px}.list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.list li{gap:2px;display:grid}.li-title{color:var(--fg);font-size:14px;line-height:20px}.li-meta{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.more{margin-top:12px}.more summary{color:var(--fg-secondary);font-size:13px;list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"+ ";font-family:var(--font-mono)}.more[open] summary:before{content:"− "}.more[open] summary{margin-bottom:12px}.speeches{gap:8px;margin:0;padding:0;list-style:none;display:grid}.speeches li{border-radius:var(--radius-md);background:var(--surface-muted);padding:12px}.speeches .li-title{margin:4px 0 6px;font-weight:500;display:block}.speeches blockquote{font:400 15px/22px var(--font-serif);color:var(--fg-secondary);margin:0 0 8px}.speeches a{font-size:13px}.facts{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;font-size:14px;display:grid}.facts dt{color:var(--fg-muted)}.facts dd{margin:0}.li-title,.facts dd,.speeches blockquote,.source{overflow-wrap:anywhere}.links{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.source{font-family:var(--font-mono);color:var(--fg-faint);margin:16px 0 0;font-size:11px;line-height:16px}.veil{background:var(--bg);opacity:0;transition:opacity var(--duration-normal) var(--ease-standard);z-index:30;position:fixed;inset:0;pointer-events:none!important}.veil.is-on{opacity:1}.fatal{z-index:60;text-align:center;background:var(--bg);place-content:center;padding:24px;display:grid;position:fixed;inset:0}@media (pointer:coarse){.chip{min-height:44px}.btn--sm{height:44px;padding:0 16px}.more summary{align-items:center;min-height:44px;display:flex}}@media (max-width:720px),(max-height:500px){:root{--gutter:16px;--edge-t:calc(var(--sat) + 12px);--edge-b:calc(var(--sab) + 16px)}.footer{display:none}body:has(.panel:not([hidden])) .topbar__search{display:none}.legend{max-width:none;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;padding:0}.legend__toggle{max-width:calc(100vw - var(--edge-l) - var(--edge-r) - 168px);display:inline-flex}.legend__toggle>span:last-child{text-overflow:ellipsis;overflow:hidden}.legend__chips{width:min(440px, calc(100vw - var(--edge-l) - var(--edge-r)));border-radius:var(--radius-lg);background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(16px)saturate(1.2);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:4px;padding:6px;display:none;position:absolute;bottom:calc(100% + 8px);left:0}.legend.is-open .legend__chips{display:grid}.chip{min-height:44px;padding:0 8px}.chip__count{margin-left:auto}.intro{bottom:var(--edge-b)}.joy{bottom:calc(var(--edge-b) + 8px)}.prompt{bottom:calc(var(--edge-b) + 40px)}}@media (max-width:379px){.controls .btn__label{display:none}.controls .btn--secondary{width:44px;padding:0}}@media (max-width:720px){.topbar{flex-wrap:wrap;gap:8px}.topbar__search{order:5;width:100%}body:has(.panel:not([hidden])) .topbar{padding-right:var(--edge-r)}body[data-mode=seat] .topbar__search{display:none}.intro{right:var(--edge-r);width:auto;padding:20px}:is(body:has(.panel:not([hidden])) .controls,body:has(.panel:not([hidden])) .legend){display:none}.panel{top:auto;left:var(--sal);right:var(--sar);width:auto;height:calc(100dvh - var(--sat) - 64px);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;transition:transform var(--duration-slow) var(--ease-enter);will-change:transform;touch-action:none;border-bottom:0;animation:none;position:fixed;bottom:0;transform:translateY(100%)}.panel.is-dragging{transition:none}.panel.is-closing{animation:none}.panel__head{flex:none;justify-content:flex-end;align-items:center;height:52px;padding:4px 8px 0;display:flex;position:relative;top:auto;right:auto}.panel__grab{cursor:grab;background:0 0;border:0;place-items:center;width:96px;height:44px;padding:0;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.panel__grab span{background:var(--line-strong);border-radius:3px;width:40px;height:5px}.panel__body{touch-action:none;padding:0 var(--gutter) calc(24px + var(--sab));overflow-y:hidden}.panel[data-snap=full] .panel__body{touch-action:pan-y;overflow-y:auto}.card-head{grid-template-columns:56px 1fr;gap:12px;padding-right:0}.photo{width:56px;height:70px}.card-head h2{font-size:24px;line-height:28px}.stats dd{font-size:19px}}@media (max-height:500px) and (min-width:721px){:root{--panel-w:min(360px, 44vw)}.intro{width:min(400px, calc(100vw - var(--edge-l) - var(--edge-r)));padding:16px 20px}.intro h1{font-size:24px;line-height:28px}.intro__text{margin-bottom:12px}.panel__body{padding:20px}.card-head{grid-template-columns:56px 1fr;gap:12px;padding-right:48px}.photo{width:56px;height:70px}.card-head h2{font-size:24px;line-height:28px}}@media (max-height:620px) and (max-width:720px){.intro{padding:16px}.intro h1{font-size:24px;line-height:28px}.intro__text{margin-bottom:12px;font-size:13px;line-height:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.logo{align-items:center;gap:calc(var(--logo-size) * .32);color:var(--fg);line-height:1;display:inline-flex}.logo-mark{width:calc(var(--logo-size) * 1.4);height:calc(var(--logo-size) * 1.4);overflow:visible}.logo-stroke{fill:none;stroke:var(--fg);stroke-linecap:round;stroke-linejoin:round}.logo-dot{fill:var(--brand);transform-box:fill-box;transform-origin:50%}.logo-word{font:600 var(--logo-size) / 1 var(--font-sans);letter-spacing:-.03em}.gmark{width:var(--s);height:var(--s);box-shadow:inset 0 0 0 1px var(--line), 0 -2px 0 0 var(--c) inset;font:600 10px/1 var(--font-sans);color:#fff;background:#fff;border-radius:4px;flex:none;place-items:center;display:inline-grid;overflow:hidden}.gmark:not(:has(img)){background:var(--c);box-shadow:none}.gmark img{width:calc(var(--s) - 2px);height:calc(var(--s) - 4px);object-fit:contain}.badge--group{padding-left:3px}.card-registry{color:var(--fg-muted);margin:-4px 0 8px;font-size:12px}.search__name{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.search__opt .badge{flex:none}.search__registry{color:var(--fg-muted);font-size:12px}.aula-hint{left:50%;top:calc(var(--sat) + 84px);width:max-content;max-width:calc(100vw - var(--edge-l) - var(--edge-r));text-align:center;text-wrap:balance;background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px);color:var(--fg);border-radius:22px;margin:0;padding:10px 18px;font-size:15px;line-height:20px;display:none;position:absolute;transform:translate(-50%);pointer-events:none!important}body[data-mode=overview] .aula-hint,body[data-mode=map] .aula-hint{animation:rise var(--duration-slow) var(--ease-enter) .6s both;display:block}:is(body:has(.panel:not([hidden])) .aula-hint,body:has(.legend.is-open) .aula-hint,body:has(.search__list:not(:empty)) .aula-hint),.hint__tap{display:none}@media (hover:none){.hint__click{display:none}.hint__tap{display:inline}}@media (max-width:720px){.aula-hint{top:calc(var(--sat) + 120px);font-size:14px}}@media (max-height:500px) and (min-width:721px){.aula-hint{top:calc(var(--sat) + 68px);font-size:14px}}@media (hover:none){.tooltip{display:none}}
