.approval-ballot{border:none;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.approval-choice{display:block;position:relative}.approval-choice input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.approval-choice span{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--field);min-height:52px;color:var(--fg);overflow-wrap:anywhere;align-items:center;gap:12px;padding:10px 14px;font-weight:600;transition:background-color .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.approval-choice span:before{content:"";border:2px solid var(--border-strong);background:var(--field);border-radius:6px;flex:none;width:22px;height:22px;transition:background-color .12s,border-color .12s}.approval-choice span:after{content:"";background:var(--accent-fg);width:22px;height:22px;-webkit-mask:var(--icon-check) center / 14px no-repeat;-webkit-mask:var(--icon-check) center / 14px no-repeat;mask:var(--icon-check) center / 14px no-repeat;opacity:0;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.approval-choice:hover input:enabled:not(:checked)+span{background:var(--surface-hover)}.approval-choice input:checked+span{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.approval-choice input:checked+span:before{border-color:var(--accent);background:var(--accent)}.approval-choice input:checked+span:after{opacity:1}.approval-choice input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.approval-choice input:disabled+span{opacity:.6}.approval-results{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.approval-result{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:12px 14px}.approval-result[data-winner=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.approval-result-head{align-items:baseline;gap:10px;display:flex}.approval-rank{background:var(--surface-sunken);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.approval-result[data-winner=true] .approval-rank{background:var(--accent);color:var(--accent-fg)}.approval-result-label{overflow-wrap:anywhere;flex:1;font-weight:600}.approval-result-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.approval-bar{background:var(--surface-sunken);border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.approval-bar-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .3s}[data-judgment=Excellent],[data-mention=Excellent]{--mention:#065f46;--mention-fg:#fff}[data-judgment=VeryGood],[data-mention=VeryGood]{--mention:#15803d;--mention-fg:#fff}[data-judgment=Good],[data-mention=Good]{--mention:#86efac;--mention-fg:#0b0b0b}[data-judgment=Fair],[data-mention=Fair]{--mention:#f9f1c4;--mention-fg:#0b0b0b}[data-judgment=Passable],[data-mention=Passable]{--mention:#fecaca;--mention-fg:#0b0b0b}[data-judgment=Inadequate],[data-mention=Inadequate]{--mention:#ef4444;--mention-fg:#0b0b0b}[data-judgment=Bad],[data-mention=Bad]{--mention:#7f1d1d;--mention-fg:#fff}body[data-colorblind=true] :is([data-judgment=Excellent],[data-mention=Excellent]){--mention:#d4d4d4;--mention-fg:#0b0b0b}body[data-colorblind=true] :is([data-judgment=VeryGood],[data-mention=VeryGood]){--mention:#b9b9b9;--mention-fg:#0b0b0b}body[data-colorblind=true] :is([data-judgment=Good],[data-mention=Good]){--mention:#9e9e9e;--mention-fg:#0b0b0b}body[data-colorblind=true] :is([data-judgment=Fair],[data-mention=Fair]){--mention:#848484;--mention-fg:#0b0b0b}body[data-colorblind=true] :is([data-judgment=Passable],[data-mention=Passable]){--mention:#6a6a6a;--mention-fg:#fff}body[data-colorblind=true] :is([data-judgment=Inadequate],[data-mention=Inadequate]){--mention:#525252;--mention-fg:#fff}body[data-colorblind=true] :is([data-judgment=Bad],[data-mention=Bad]){--mention:#3b3b3b;--mention-fg:#fff}.mj-ballot-row,.mj-dropdown-row{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 0;display:flex}.mj-ballot-row:last-child,.mj-dropdown-row:last-child{border-bottom:1px solid var(--border)}.mj-ballot{flex-direction:column;display:flex}.mj-scale-legend{color:var(--muted);align-items:center;gap:10px;padding-bottom:10px;font-size:13px;font-weight:600;display:flex}.mj-scale-legend:before{content:"";background:var(--border-strong);flex:1;order:1;height:1px}.mj-scale-legend span:last-child{order:2}.mj-scale-legend+.mj-ballot-row{border-top:none;padding-top:6px}.mj-ballot-row-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.mj-ballot-option{overflow-wrap:anywhere;font-weight:600}.mj-ballot-chosen{color:var(--muted);flex:none;font-size:14px}.mj-ballot-chosen[data-mention]{color:var(--fg);align-items:center;gap:6px;font-weight:600;display:inline-flex}.mj-ballot-chosen[data-mention]:before{content:"";background:var(--mention);width:10px;height:10px;box-shadow:inset 0 0 0 1px var(--mention-edge);border-radius:50%}.mj-scale{gap:4px;display:flex;container-type:inline-size}.mj-scale-step{min-height:var(--tap);flex:1;position:relative}.mj-scale-step input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.mj-scale-step input:disabled{cursor:not-allowed}.mj-scale-mark{border-radius:var(--radius-small);background:var(--mention);box-shadow:inset 0 0 0 1px var(--mention-edge);transition:opacity .15s,box-shadow .15s;position:absolute;inset:0}.mj-scale:has(input:checked) .mj-scale-mark{opacity:.3}.mj-scale-step:hover input:enabled+.mj-scale-mark{opacity:1;box-shadow:inset 0 0 0 1px var(--mention-edge), 0 0 0 2px var(--surface-raised), 0 0 0 4px var(--border-strong)}.mj-scale .mj-scale-step input:checked+.mj-scale-mark{opacity:1;box-shadow:inset 0 0 0 1px var(--mention-edge), 0 0 0 2px var(--surface-raised), 0 0 0 4px var(--fg)}.mj-scale-step input:checked+.mj-scale-mark:after{content:"";background:var(--mention-fg);-webkit-mask:var(--icon-check) center / 20px no-repeat;-webkit-mask:var(--icon-check) center / 20px no-repeat;mask:var(--icon-check) center / 20px no-repeat;position:absolute;inset:0}.mj-scale-step input:focus-visible+.mj-scale-mark{outline:2px solid var(--focus);outline-offset:6px}.mj-scale .mj-scale-step input:disabled+.mj-scale-mark{opacity:.25}.mj-scale-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=640px){.mj-ballot-row{grid-template-columns:minmax(7rem,1fr) 4fr;align-items:center;gap:16px;display:grid}.mj-ballot-row-head{flex-direction:column;gap:2px}}@container (width>=480px){.mj-scale-step{min-height:52px}.mj-scale-name{clip-path:none;white-space:normal;width:auto;height:auto;color:var(--mention-fg);text-align:center;-webkit-hyphens:auto;hyphens:auto;pointer-events:none;place-items:center;padding:2px 3px;font-size:clamp(10px,2.55cqi - 1.7px,12px);font-weight:600;line-height:1.15;display:grid;inset:0}.mj-scale:has(input:checked) .mj-scale-name{color:var(--fg)}.mj-scale .mj-scale-step:hover .mj-scale-name,.mj-scale-step input:checked~.mj-scale-name{color:var(--mention-fg)}.mj-scale-step input:checked+.mj-scale-mark:after{content:none}}.mj-dropdowns{flex-direction:column;display:flex}.mj-dropdown-row label{overflow-wrap:anywhere;font-weight:600}.mj-dropdown-row select[data-mention]{border-color:var(--mention);background-color:var(--mention);box-shadow:inset 0 0 0 1px var(--mention-edge);color:var(--mention-fg);font-weight:600}.mj-dropdown-row select option{background:var(--field);color:var(--fg)}@media (width>=640px){.mj-dropdown-row{flex-direction:row;align-items:center;gap:16px}.mj-dropdown-row label{flex:0 0 40%}}.mj-results-card{border:1px solid var(--border);background:var(--card);border-radius:10px;margin-bottom:12px;padding:12px 14px 10px;position:relative;container-type:inline-size}.mj-results-card[data-compact=true]{margin-bottom:6px;padding:8px 10px}.mj-results-header{align-items:center;min-height:28px;margin-bottom:10px;display:flex}.mj-results-title-section{align-items:center;gap:10px;min-width:0;display:flex}.mj-results-title{overflow-wrap:anywhere;font-weight:600}.mj-rank-container{flex:none;align-items:center;gap:8px;display:flex}.mj-rank-badge{background:var(--fg);width:26px;height:26px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;box-shadow:0 2px 4px #0003}.mj-rank-badge[data-medal=gold]{color:#3d2c00;text-shadow:0 1px #ffffff59;background:linear-gradient(135deg,gold 0%,#ffed4e 25%,gold 50%,#b8860b 75%,gold 100%);border:2px solid #8b6914;box-shadow:0 2px 4px #0003,inset 0 1px #ffffff4d}.mj-rank-badge[data-medal=silver]{color:#1f1f1f;text-shadow:0 1px #ffffff59;background:linear-gradient(135deg,silver 0%,#e8e8e8 25%,silver 50%,#a0a0a0 75%,silver 100%);border:2px solid #606060;box-shadow:0 2px 4px #0003,inset 0 1px #ffffff4d}.mj-rank-badge[data-medal=bronze]{color:#2b1708;text-shadow:0 1px #ffffff40;background:linear-gradient(135deg,#cd7f32 0%,#daa520 25%,#cd7f32 50%,#8b4513 75%,#cd7f32 100%);border:2px solid #654321;box-shadow:0 2px 4px #0003,inset 0 1px #fff3}.mj-ex-aequo{background:var(--surface-sunken);color:var(--muted);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:12px;font-style:italic}.mj-results-card[data-winner=true]{animation:2.5s ease-in-out infinite goldenShimmer}@keyframes goldenShimmer{0%{box-shadow:0 0 10px #ffa500b3,0 0 20px #ff8c0066}33%{box-shadow:1px 0 10px #ffa500e6,1px 0 20px #ff8c0080}66%{box-shadow:-1px 0 10px #ffa500e6,-1px 0 20px #ff8c0080}to{box-shadow:0 0 10px #ffa500b3,0 0 20px #ff8c0066}}.mj-results-chart{position:relative}.mj-results-bars{background:var(--border);height:28px;display:flex;position:relative;overflow:hidden}.mj-results-card[data-compact=true] .mj-results-bars{height:16px}.mj-results-bars:after{content:"";box-shadow:inset 0 0 0 1px var(--muted);pointer-events:none;position:absolute;inset:0}.mj-results-bar{background:var(--mention);flex:none;height:100%;transition:opacity .15s}.mj-results-bar[data-dimmed=true]{opacity:.25}.mj-results-tooltip{bottom:calc(100% + 10px);left:var(--at);z-index:2;color:#fff;white-space:nowrap;transform:translateX(calc(-1 * var(--at)));pointer-events:none;background:#000000e0;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:5px 9px;font-size:12px;line-height:1.3;display:flex;position:absolute}.mj-results-axis{height:17px;position:relative}.mj-tick{top:0;left:var(--left);position:absolute}.mj-tick:before{content:"";background:var(--muted);width:1px;height:4px;position:absolute;top:0;left:0;transform:translate(-50%)}.mj-tick-label{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:9px;line-height:1;position:absolute;top:8px;left:0;transform:translate(-50%)}.mj-tick:first-child:before,.mj-tick:first-child .mj-tick-label{transform:none}.mj-tick:last-child:before,.mj-tick:last-child .mj-tick-label{transform:translate(-100%)}.mj-tick[data-major=true]:before{background:var(--fg);width:2px;height:6px}.mj-tick[data-major=true] .mj-tick-label{color:var(--fg);font-weight:700}@container (width<=360px){.mj-tick:not([data-major=true]):nth-child(2n) .mj-tick-label{visibility:hidden}}.mj-results-badges-below{justify-content:flex-end;margin-top:6px;display:flex}.mj-results-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 6px;display:flex}.mj-results-hint{color:var(--muted);white-space:nowrap;font-size:12px;font-style:italic}.mj-results-badge+.mj-results-hint{margin-left:10px}.mj-results-badge,.mj-score-badge{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:12px}.mj-results-badge{background:var(--mention);color:var(--mention-fg)}.mj-score-badge{color:#000;font-variant-numeric:tabular-nums;background:#a6a6a6;font-weight:500}@container (width<=400px){.mj-results-badges{grid-template-columns:auto auto;gap:4px 8px;display:grid}.mj-results-badges>.mj-results-hint{justify-self:end;margin-left:0}.mj-results-badges>.mj-results-badge,.mj-results-badges>.mj-score-badge{justify-self:start}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f4f5f7)var(--lightningcss-dark,#0f1115);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171a20);--surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1f232a);--surface-sunken:var(--lightningcss-light,#eef0f3)var(--lightningcss-dark,#111318);--surface-hover:var(--lightningcss-light,#f4f5f7)var(--lightningcss-dark,#232832);--field:var(--lightningcss-light,#fff)var(--lightningcss-dark,#111318);--card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1f25);--hover:color-mix(in srgb, currentColor 8%, transparent);--fg:var(--lightningcss-light,#15171c)var(--lightningcss-dark,#eceef2);--muted:var(--lightningcss-light,#5b6170)var(--lightningcss-dark,#a3a9b6);--border:var(--lightningcss-light,#e1e4e9)var(--lightningcss-dark,#2b3039);--border-strong:var(--lightningcss-light,#7c8290)var(--lightningcss-dark,#727988);--mention-edge:var(--lightningcss-light,#00000024)var(--lightningcss-dark,#ffffff29);--accent:var(--lightningcss-light,#2f4ad0)var(--lightningcss-dark,#4560e8);--accent-hover:var(--lightningcss-light,#2539a8)var(--lightningcss-dark,#3a52d6);--accent-fg:#fff;--accent-text:var(--lightningcss-light,#2f4ad0)var(--lightningcss-dark,#9db0ff);--accent-soft:var(--lightningcss-light,#e9edfc)var(--lightningcss-dark,#1b2139);--focus:var(--lightningcss-light,#2f4ad0)var(--lightningcss-dark,#9db0ff);--danger:var(--lightningcss-light,#c42d27)var(--lightningcss-dark,#cc3a33);--danger-hover:var(--lightningcss-light,#a6241f)var(--lightningcss-dark,#b8302a);--danger-fg:#fff;--danger-text:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff8b82);--danger-soft:var(--lightningcss-light,#fcebea)var(--lightningcss-dark,#2b1718);--warning-text:var(--lightningcss-light,#8a4a00)var(--lightningcss-dark,#f0b45e);--backdrop:var(--lightningcss-light,#0f111573)var(--lightningcss-dark,#0009);--toast:var(--lightningcss-light,#23272f)var(--lightningcss-dark,#eceef2);--toast-fg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#15171c);--shadow-color:var(--lightningcss-light,#11182712)var(--lightningcss-dark,#0006);--shadow-1:0 1px 2px var(--shadow-color);--shadow-2:0 1px 2px var(--shadow-color), 0 6px 20px var(--shadow-color);--shadow-3:0 10px 32px var(--shadow-color), 0 24px 64px var(--shadow-color);--glow-red:var(--lightningcss-light,#e38a7240)var(--lightningcss-dark,#e38a7217);--glow-yellow:var(--lightningcss-light,#eccb624d)var(--lightningcss-dark,#eccb620f);--glow-green:var(--lightningcss-light,#93bf8f4d)var(--lightningcss-dark,#93bf8f12);--map-land:var(--lightningcss-light,#e3e6eb)var(--lightningcss-dark,#2a2f38);--map-ink:var(--lightningcss-light,#2f4ad0)var(--lightningcss-dark,#6f86f0);--radius-large:16px;--radius:12px;--radius-small:8px;--tap:44px;--header-height:56px;--page-width:760px;--gutter:16px;--panel-padding:16px;--section-gap:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");--icon-warning:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-appearance=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5}body:before{content:"";z-index:-1;background:linear-gradient(200deg, var(--glow-red), var(--glow-yellow) 50%, var(--glow-green));pointer-events:none;height:480px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 20%,#0000);mask-image:linear-gradient(#000 20%,#0000)}h1,h2,h3{text-wrap:balance;line-height:1.2}h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(24px,6.2vw,32px);font-weight:700}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:18px;font-weight:600}h3{font-weight:600}p{margin:0}a{color:var(--accent-text);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hint{color:var(--muted);font-size:14px}.empty{color:var(--muted)}.error-text{color:var(--danger-text);font-weight:600}.panel.error-text{background:var(--danger-soft);box-shadow:none;border-color:#0000}.badge{background:var(--surface-sunken);color:var(--muted);vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-header{z-index:10;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);position:sticky;top:0}.app-header-inner{grid-template-columns:var(--tap) 1fr var(--tap);max-width:var(--page-width);min-height:var(--header-height);padding:0 max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));align-items:center;margin:0 auto;display:grid}.brand{border-radius:var(--radius-small);color:var(--fg);letter-spacing:-.03em;justify-self:center;align-items:center;gap:8px;padding:4px 8px;font-size:21px;font-weight:750;line-height:1;text-decoration:none;display:inline-flex}.logo{aspect-ratio:1;width:30px;height:auto;box-shadow:0 0 0 1px var(--border), var(--shadow-1);border-radius:22.35%;flex:none;display:block}.app-name{white-space:nowrap}.page{gap:var(--section-gap);max-width:var(--page-width);padding:var(--gutter) max(var(--gutter), env(safe-area-inset-right)) 32px max(var(--gutter), env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}.panel{padding:var(--panel-padding);border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow-1)}.section-header{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.section-header h2{flex:1;margin:0}@media (width>=640px){:root{--gutter:24px;--panel-padding:24px;--section-gap:20px}}@media (width>=960px){.layout[data-page=home]{--page-width:1080px}}.button{min-height:var(--tap);border-radius:var(--radius);font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,transform .1s;display:inline-flex}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed}.button .icon{width:20px;height:20px;margin-inline-start:-2px}.button.primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-1)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.secondary{border-color:var(--border-strong);background:var(--surface);color:var(--fg)}.button.secondary:hover:not(:disabled){background:var(--surface-hover)}.button.danger{background:var(--danger);color:var(--danger-fg);box-shadow:var(--shadow-1)}.button.danger:hover:not(:disabled){background:var(--danger-hover)}.button.link{color:var(--accent-text);text-underline-offset:3px;background:0 0;padding:0 8px;text-decoration:underline;text-decoration-thickness:1px}.button.link:hover:not(:disabled){text-decoration-thickness:2px}.button.wide{width:100%}.button-row{flex-wrap:wrap;gap:8px;display:flex}.icon-button,.icon-button-placeholder{width:var(--tap);height:var(--tap);color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;transition:background-color .12s;display:inline-grid}.icon-button:hover{background:var(--hover)}input:not([type=radio],[type=checkbox]),select{width:100%;min-height:var(--tap);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--field);color:var(--fg);font:inherit;padding:10px 12px;font-size:max(16px,1em);transition:border-color .12s}input::placeholder{color:var(--muted);opacity:1}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237d8492' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;padding-right:40px}input:hover:not(:disabled,:focus),select:hover:not(:disabled,:focus){border-color:var(--muted)}input:focus-visible,select:focus-visible{outline-offset:-1px}input[aria-invalid=true]{border-color:var(--danger-text)}fieldset.field{border:none;min-width:0;margin:0;padding:0}.field{flex-direction:column;gap:8px;display:flex}.field>label,.field>legend,.segmented>legend{padding:0;font-weight:600}.hint[data-tone=warning]{color:var(--warning-text);padding-left:24px;position:relative}.hint[data-tone=warning]:before{content:"";width:17px;height:17px;-webkit-mask:var(--icon-warning) center / contain no-repeat;-webkit-mask:var(--icon-warning) center / contain no-repeat;mask:var(--icon-warning) center / contain no-repeat;background:currentColor;position:absolute;top:1px;left:0}.results-after input{max-width:7em}.field-problem{color:var(--danger-text);font-size:14px;font-weight:600}.segmented{border:none;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.segmented>legend{margin-bottom:8px}.segmented-options{border-radius:var(--radius);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border);gap:4px;padding:4px;display:flex}.segmented-option{flex:1;position:relative}.segmented-option input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.segmented-option span{border-radius:var(--radius-small);min-height:40px;color:var(--muted);text-align:center;justify-content:center;align-items:center;padding:4px 8px;font-size:15px;font-weight:600;line-height:1.2;transition:background-color .12s,color .12s;display:flex}.segmented-option:hover input:not(:checked)+span{color:var(--fg)}.segmented-option input:checked+span{background:var(--surface-raised);color:var(--fg);box-shadow:0 1px 3px var(--shadow-color), 0 0 0 1px var(--border)}.segmented-option input:focus-visible+span{outline:2px solid var(--focus);outline-offset:1px}.hero{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 4px 12px;display:flex}.hero .logo{width:64px;margin-bottom:4px}.hero h1{letter-spacing:-.03em;margin:0;font-size:clamp(32px,9vw,44px);line-height:1.1}.hero p{max-width:34em;font-size:17px}.home-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 4px 8px;display:flex}.home-hero .wordmark{letter-spacing:.14em;margin:0;white-space:nowrap;margin-inline-end:-.14em;font-size:clamp(36px,11vw,60px);font-weight:800;line-height:1.05}.home-hero .wordmark-s{vertical-align:-.08em;width:.85em;margin-inline-end:.14em;display:inline-block}.home-hero p{max-width:24em;color:var(--muted);text-wrap:balance;margin:0;font-size:17px;font-style:italic}.home-start,.home-actions{gap:var(--section-gap);flex-direction:column;width:100%;max-width:560px;margin-inline:auto;display:flex}.start{gap:0;padding:0;display:grid}.start>*{padding:var(--panel-padding)}.start-new{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.start-new p{margin:0;font-weight:600}@media (width>=640px){.start{grid-template-columns:1fr 1fr;justify-content:center;width:fit-content;margin-inline:auto}.start>*{padding:20px 36px}.start .join-row input{flex:none;width:7.5em;padding-inline:10px}.start>.start-new{border-inline-end:1px solid var(--border)}}@media (width<=639.98px){.start>.start-new{border-bottom:1px solid var(--border)}}.home-section{flex-direction:column;gap:12px;margin-top:24px;display:flex}@media (width>=960px){.home-section{margin-top:48px}}.home-section h2{letter-spacing:-.02em;margin:0;font-size:clamp(20px,5.4vw,26px)}.home-section h3{margin:0;font-size:17px}.home-section p{max-width:34em;margin:0}.how-and-support{gap:var(--section-gap);display:grid}.how-and-support>section:first-child>h2{margin-bottom:16px}@media (width>=720px){.how-and-support{gap:var(--section-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.steps{counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;gap:2px;min-height:44px;padding:0 0 20px 56px;display:grid;position:relative}.steps li:last-child{padding-bottom:0}.steps li:before{content:counter(step);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;inset:0 auto auto 0}.steps li:not(:last-child):after{content:"";background:var(--border-strong);opacity:.5;width:2px;position:absolute;inset:44px auto 4px 19px}.steps h3{align-self:end}.steps p{color:var(--muted)}.support{flex-direction:column;gap:12px;display:flex}.beside>div,.agent-prompt{flex-direction:column;align-items:flex-start;gap:12px;margin:0;display:flex}.agent-prompt{align-items:stretch}@media (width>=960px){.beside{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:32px;display:grid}.beside>div{top:calc(var(--header-height) + 24px);padding-top:8px;position:sticky}}.systems{gap:12px;display:grid}.systems article{flex-direction:column;gap:8px;display:flex}.systems h3,.systems p{margin:0}.systems p{color:var(--muted)}@media (width>=640px){.systems{gap:var(--section-gap);grid-template-columns:repeat(2,minmax(0,1fr))}}.schema{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.schema-bar{background:var(--surface-sunken);border-radius:7px;height:14px;display:flex;overflow:hidden}.graded .schema-bar>span{background:var(--mention);flex-basis:0}.graded{position:relative}.graded:after{content:"";background:var(--fg);opacity:.6;width:2px;margin-left:-1px;position:absolute;inset:-3px auto -3px 50%}.approved .schema-bar>span{background:var(--border-strong)}.approved .schema-bar[data-first]>span{background:var(--accent)}.compare{margin:0}.compare table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:15px;line-height:1.35}.compare th,.compare td{border-bottom:1px solid var(--border);text-align:center;vertical-align:middle;padding:10px 4px}.compare tbody tr:last-child>*{border-bottom:none}.compare thead th{-webkit-hyphens:auto;hyphens:auto;vertical-align:bottom;font-size:13px;font-weight:600;line-height:1.25}.compare thead .hint{margin-top:2px;font-size:12px;font-weight:400;display:block}.compare thead td{width:34%}@media (width>=400px){.compare thead td{width:46%}}.compare tbody th{text-align:start;padding-inline-start:0;font-weight:400}.compare [data-highlight]{background:var(--accent-soft)}.compare thead [data-highlight]{border-radius:var(--radius-small) var(--radius-small) 0 0}.compare tbody tr:last-child [data-highlight]{border-radius:0 0 var(--radius-small) var(--radius-small)}.compare td .icon{margin:auto;display:block}.compare [data-mark=yes]{color:var(--accent-text)}.compare [data-mark=partly],.compare [data-mark=no]{color:var(--muted)}.compare [data-mark=no] .icon{width:18px;height:18px}.compare figcaption{margin-top:12px}.agent-prompt blockquote{border-radius:var(--radius);background:var(--surface-sunken);overflow-wrap:anywhere;margin:0;padding:12px 16px}.agent-prompt .button{align-self:flex-start}.copy-labels{display:inline-grid}.copy-labels>span{grid-area:1/1}.copy-labels>[aria-hidden=true]{visibility:hidden}.support .button-row{margin-top:4px}.good-to-know ul{gap:12px;margin:0;padding-left:20px;display:grid}.good-to-know li:last-child{grid-column:1/-1}.good-to-know li::marker{color:var(--muted)}@media (width>=960px){.good-to-know ul{-moz-column-gap:40px;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}}.join-code{font-family:var(--font-mono);letter-spacing:.08em;font-weight:600}.join-form{flex-direction:column;gap:8px;display:flex}.join-form>label{font-weight:600}.start .join-form{text-align:center;align-items:center}.start .join-row{justify-content:center}.join-row{gap:8px;display:flex}.join-row input{text-transform:uppercase;flex:1;min-width:0}.poll-list{margin:4px calc(-1 * var(--panel-padding)) calc(-1 * var(--panel-padding) + 8px);flex-direction:column;padding:0;list-style:none;display:flex}.poll-list li+li{border-top:1px solid var(--border)}.poll-list-item{min-height:60px;padding:10px 44px 10px var(--panel-padding);color:var(--fg);flex-direction:column;gap:2px;text-decoration:none;transition:background-color .12s;display:flex;position:relative}.poll-list-item:after{content:"";top:50%;right:calc(var(--panel-padding) - 2px);border-top:2px solid var(--muted);border-right:2px solid var(--muted);width:9px;height:9px;position:absolute;transform:translate(-25%,-50%)rotate(45deg)}.poll-list-item:hover{background:var(--hover)}.poll-list-item:focus-visible{outline-offset:-2px;border-radius:var(--radius-small)}.poll-list-title{overflow-wrap:anywhere;font-weight:600}.poll-list-meta,.poll-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:14px;display:flex}.create-poll{flex-direction:column;gap:24px;display:flex}.create-poll h1{margin:0}.create-poll-notes{flex-direction:column;gap:4px;display:flex}.option-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.option-row{align-items:center;gap:4px;display:flex}.poll-header{padding:8px 4px 0}.poll-header h1{overflow-wrap:anywhere;margin-bottom:8px}.poll-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.callout.ready{text-align:start;flex-direction:column;justify-content:flex-start;align-items:stretch}.ready p{margin:0}.ready>p:first-child{font-weight:600}.ready-code{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ready-code .join-code{color:var(--fg);font-size:22px}.ready .share-link{flex-wrap:wrap}.ready .share-link input{flex:14em}.keep{border-color:var(--warning-text);flex-direction:column;gap:8px;display:flex}.keep h2{color:var(--warning-text);align-items:center;gap:8px;margin:0;display:flex}.keep h2:before{content:"";width:20px;height:20px;-webkit-mask:var(--icon-warning) center / contain no-repeat;-webkit-mask:var(--icon-warning) center / contain no-repeat;mask:var(--icon-warning) center / contain no-repeat;background:currentColor;flex:none}.keep p{margin:0}.callout{background:var(--accent-soft);box-shadow:none;border-color:#0000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ballot{padding:var(--panel-padding);border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface-raised);box-shadow:var(--shadow-2);flex-direction:column;gap:12px;display:flex}.ballot .section-header{margin:0}.ballot-body{flex-direction:column;gap:16px;display:flex}.ballot-body>.button.link{align-self:flex-start;margin-left:-8px}.ballot-status{font-size:14px;font-weight:600}.ballot-status[data-counted=true]:before{content:"";vertical-align:-3px;background:var(--accent-text);width:16px;height:16px;-webkit-mask:var(--icon-check) center / contain no-repeat;-webkit-mask:var(--icon-check) center / contain no-repeat;mask:var(--icon-check) center / contain no-repeat;margin-right:6px;display:inline-block}.results-count,.invitation-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.live-status{background:var(--surface-sunken);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.live-status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.live-status[data-state=live]{background:var(--accent-soft);color:var(--accent-text)}.live-status[data-state=live]:before{animation:2s ease-in-out infinite live-pulse}.live-status[data-state=offline]{color:var(--warning-text)}@keyframes live-pulse{50%{opacity:.3}}.results .hint{margin-bottom:12px}.results-footer{justify-content:flex-end;margin-top:4px;display:flex}.voter-names{border-top:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:12px;margin-top:20px;padding-top:20px;display:flex}.voter-names h3{margin:0;font-size:15px}.results .voter-names .hint{margin:0}.name-cloud{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.name-cloud li{background:var(--accent-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;padding:5px 14px;font-weight:600;animation:.4s ease-out name-arrives;overflow:hidden}@keyframes name-arrives{0%{opacity:0;transform:scale(.6)}}.expiry{text-align:center}.confirm{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-sunken);flex-direction:column;gap:12px;padding:14px;display:flex}.confirm:has(.button.danger){border-color:var(--danger-text);background:var(--danger-soft)}.owner-actions .confirm{margin-top:16px}.owner-actions .share-link,.owner-actions .admin-reveal{margin-bottom:16px}.invitations{flex-direction:column;gap:16px;display:flex}.invitations .section-header{margin:0}.invitations>.button{align-self:flex-start}.invitation-list{margin:0;padding:0;list-style:none}.invitation{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding:6px 0;display:flex}.invitation:last-child{border-bottom:1px solid var(--border)}.invitation-text{flex-direction:column;flex:1;min-width:0;display:flex}.invitation-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.invitation-name[data-anonymous=true]{color:var(--muted)}.invitation-status{color:var(--muted);align-items:center;gap:4px;font-size:14px;display:inline-flex}.invitation[data-used=true] .invitation-status{color:var(--accent-text);font-weight:600}.invitation-status .icon{width:16px;height:16px}.invitation .confirm{flex-basis:100%;margin:4px 0 6px}.invite-form{flex-direction:column;gap:8px;display:flex}.invite-form>label{font-weight:600}.invite-row{gap:8px;display:flex}.invite-row input{flex:1;min-width:0}.dev-tool{border-style:dashed;border-color:var(--border-strong);box-shadow:none;background:0 0}.dev-tool input{max-width:7em}.notice{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.notice h1{margin:0}.dialog{border:1px solid var(--border);background:var(--surface-raised);width:min(100% - 32px,480px);max-height:calc(100dvh - 32px);color:var(--fg);box-shadow:var(--shadow-3);border-radius:20px;padding:0}.dialog[open]{animation:.18s ease-out dialog-in}.dialog::backdrop{background:var(--backdrop)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.dialog-body{flex-direction:column;gap:16px;padding:12px 20px 20px;display:flex}.dialog-header{justify-content:space-between;align-items:center;gap:12px;margin-right:-10px;display:flex}.dialog-header h2{margin:0;font-size:20px}@media (width<=639px){.dialog{border-bottom:none;border-radius:20px 20px 0 0;width:100%;max-width:100%;margin:auto 0 0}.dialog[open]{animation-name:sheet-in;animation-duration:.22s}.dialog-body{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.settings{flex-direction:column;gap:24px;display:flex}.share-link{gap:8px;display:flex}.share-link input{min-width:0;font-family:var(--font-mono);flex:1;font-size:16px}.share-qr{border-radius:var(--radius);box-shadow:0 0 0 1px var(--border);background:#fff;align-self:center;padding:8px;line-height:0}.share-code{border-radius:var(--radius);background:var(--surface-sunken);flex-direction:column;align-items:center;gap:2px;padding:14px 12px;display:flex}.share-code-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.share-code .join-code{font-size:clamp(34px,11vw,48px);line-height:1.15}.app-footer{max-width:var(--page-width);padding:0 var(--gutter) calc(24px + env(safe-area-inset-bottom));color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:4px;margin:0 auto;font-size:14px;display:flex}.app-footer p{margin:0}.app-footer nav{flex-wrap:wrap;justify-content:center;gap:0 16px;display:flex}.app-footer a,.app-footer button{color:inherit;padding:10px 2px;display:inline-block}.app-footer button{font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;text-decoration:underline;text-decoration-thickness:1px}.app-footer a:hover,.app-footer button:hover{color:var(--fg);text-decoration-thickness:2px}.about-section h2{margin-top:0}.about-section h3{margin:24px 0 4px;font-size:17px}.about-section p+p{margin-top:12px}.references{flex-direction:column;gap:14px;margin:16px 0 0;padding-left:22px;display:flex}.references li::marker{color:var(--muted)}.references li>.hint{margin-top:2px;display:block}.facts{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.facts li::marker{color:var(--muted)}.toasts{top:calc(var(--header-height) + env(safe-area-inset-top));z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:8px 16px;display:flex;position:fixed;left:0;right:0}.toast{border-radius:var(--radius);background:var(--toast);width:100%;max-width:480px;color:var(--toast-fg);box-shadow:var(--shadow-3);align-items:center;gap:8px;padding:4px 4px 4px 16px;font-weight:600;animation:.2s ease-out toast-in;display:flex}.toast .icon-button{pointer-events:auto}.toast span{flex:1}.toast[data-kind=error]{background:var(--danger);color:var(--danger-fg)}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}}
