:root,:root[data-theme=dark]{color-scheme:dark;--bg:#0a0b0d;--surface:#131518;--surface-2:#1a1c20;--surface-3:#22252a;--line:#282b30;--line-strong:#383b40;--text:#f4f4f2;--text-2:#adadac;--text-3:#8d9096;--accent:#2fd99b;--accent-ink:#06110c;--accent-dim:#1c8f67;--danger:#ee7b6e;--danger-line:#73342e;--warn:#e3b341;--focus:#7cf0c6}:root[data-theme=light]{color-scheme:light;--bg:#f7f7f5;--surface:#ffffff;--surface-2:#efefec;--surface-3:#e5e5e1;--line:#deded9;--line-strong:#c4c4bd;--text:#121315;--text-2:#4a4c50;--text-3:#5f6268;--accent:#0b8a5f;--accent-ink:#ffffff;--accent-dim:#0b8a5f;--danger:#b3382b;--danger-line:#e0a79f;--warn:#8a6500;--focus:#0b6b4a}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;color:var(--text);font:16px/1.55 var(--font-sans,"Geist",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono,"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace)}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px}@media (min-width:1024px){.wrap{padding:0 48px}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15;letter-spacing:-.02em}h1,h2{margin:0;font-weight:650}h2{font-size:1.35rem;line-height:1.25;letter-spacing:-.01em}h3{font-size:1rem;font-weight:600}h3,p{margin:0}.muted{color:var(--text-2)}.label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px}.card-pad{padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;border-radius:6px;border:1px solid var(--line-strong);background:transparent;color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{background:var(--surface-2)}.btn[aria-disabled=true],.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-danger{color:var(--danger);border-color:var(--danger-line)}.btn-sm{min-height:36px;padding:6px 12px;font-size:.875rem}.field{display:grid;grid-gap:6px;gap:6px}.input,.select,.textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:6px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font:inherit}.textarea{min-height:180px;resize:vertical;line-height:1.6}.input.mono,.textarea.mono{font-family:var(--font-mono,ui-monospace,Menlo,monospace)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.pill{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid var(--line-strong);font-size:.75rem;color:var(--text-2)}.pill-ok{color:var(--accent);border-color:var(--accent-dim)}.pill-bad{color:var(--danger);border-color:var(--danger-line)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:500}.error-box{border:1px solid var(--danger-line);border-radius:8px;padding:14px 16px;background:color-mix(in srgb,var(--danger) 8%,transparent)}.error-box strong{color:var(--danger);display:block}.ad-slot{min-height:250px;border:1px dashed var(--line);border-radius:8px;display:grid;place-items:center;color:var(--text-3);font-size:.75rem}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.t-stack{display:grid;grid-gap:16px;gap:16px;align-content:start}.t-stack.center{justify-items:center;text-align:center}.t-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.grow{flex:1 1 220px}.ctl{display:grid;grid-gap:6px;gap:6px}.actions{display:flex;flex-wrap:wrap;gap:10px}.hint{font-size:.8rem}kbd{border:1px solid var(--line-strong);border-radius:4px;padding:1px 6px;font-size:.75rem}.chip,kbd{color:var(--text-2)}.chip{display:inline-flex;align-items:center;gap:8px;font-size:.8rem}.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.site-header-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:650;text-decoration:none}.brand-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent)}.brand-logo{max-height:28px;width:auto}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}.site-nav a:not(.btn){display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;color:var(--text-2);font-size:.9rem;border-bottom:2px solid transparent}.site-nav a:not(.btn):hover,.site-nav a[aria-current=page]{color:var(--text)}.site-nav a[aria-current=page]:not(.btn){border-bottom-color:var(--accent)}.menu-btn{display:none}@media (min-width:900px){.site-nav{display:flex;flex:1 1;justify-content:space-between;align-items:center}}@media (max-width:899px){.menu-btn{display:inline-flex}.site-nav{display:none;flex-basis:100%;padding:8px 0 16px}.site-nav.open{display:grid;grid-gap:12px;gap:12px}.site-nav ul{flex-direction:column;align-items:stretch}.site-nav .nav-end{flex-direction:row;flex-wrap:wrap;align-items:center}}.site-footer{border-top:1px solid var(--line);margin-top:64px;padding:24px 0 40px}.site-footer-in{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}.site-footer a{color:var(--text-2);text-decoration:none;display:inline-flex;min-height:44px;align-items:center}.site-footer a:hover{color:var(--text)}.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:10px;padding:12px 16px;max-width:760px;margin:0 auto;font-size:.9rem}.consent-actions{display:flex;gap:8px}.toast-region{position:fixed;left:0;right:0;bottom:88px;display:grid;justify-items:center;z-index:50;pointer-events:none}.toast{background:var(--text);color:var(--bg);padding:10px 16px;border-radius:8px;font-weight:600;font-size:.9rem}.result-page,.tool-page{padding-block:32px 0;display:grid;grid-gap:40px;gap:40px}.result-page{gap:20px}.tool-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px}.micro{font-size:.75rem}.tool{grid-gap:16px;gap:16px}.how,.tool{display:grid}.how{grid-gap:12px;gap:12px;border-top:1px solid var(--line);padding-top:32px;max-width:760px}.t-prose h2{margin-top:20px}.t-prose h2:first-child{margin-top:0}.t-prose li,.t-prose p{color:var(--text-2)}.t-prose p{margin-top:8px}.others{border-top:1px solid var(--line);padding-top:32px;display:grid;grid-gap:16px;gap:16px}.others ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:0 24px;gap:0 24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.others a{display:grid;grid-template-columns:auto 1fr;grid-gap:2px 12px;gap:2px 12px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;min-height:44px}.others a:hover strong{color:var(--accent)}.others a .muted:last-child{grid-column:2;font-size:.85rem}.santa{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.ad-wrap{display:grid;grid-gap:6px;gap:6px}.ad-wrap .ad-slot{min-height:100px;overflow:hidden}@media (min-width:768px){.ad-wrap .ad-slot{min-height:90px}}.ad-slot img{max-width:100%;height:auto;display:block}.visor{padding:20px;display:grid;grid-gap:14px;gap:14px}.visor-main{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;min-height:120px}.digits{display:flex;gap:.08em;font-size:clamp(4.5rem,16vw,9rem);line-height:1;font-weight:500}.digits span{color:var(--surface-3)}.digits span.on,.visor-list{color:var(--accent)}.visor-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:clamp(1.5rem,5vw,2.4rem);max-height:220px;overflow:auto}.visor-meta{display:grid;grid-gap:4px;gap:4px;justify-items:end;font-size:.8rem}.ruler{display:flex;justify-content:space-between;align-items:flex-end;height:22px}.ruler i{display:block;width:1px;height:8px;background:var(--line-strong)}.ruler i.major{height:14px;background:var(--text-3)}.ruler i.hit{height:22px;width:2px;background:var(--accent)}.ruler-labels{display:flex;justify-content:space-between;font-size:.7rem}.panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:0;gap:0;overflow:hidden}.panel .ctl{padding:14px 16px;border-right:1px solid var(--line);align-content:center}.panel .input{font-size:1.4rem;border:0;background:transparent;padding:4px 0;min-height:44px}.panel .go{border-right:0}.panel .go .btn{width:100%}.sentence{font-size:.9rem}.list-editor{display:grid;grid-template-columns:auto 1fr;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface-2);overflow:hidden}.list-editor.invalid{border-color:var(--danger)}.list-editor .gutter,.list-editor textarea{margin:0;font-size:.9rem;line-height:1.6;padding:10px 12px;height:220px}.gutter{overflow:hidden;text-align:right;color:var(--text-3);border-right:1px solid var(--line);-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:3.2ch}.list-editor textarea{border:0;outline-offset:-2px;background:transparent;color:var(--text);resize:vertical;width:100%;white-space:pre;overflow:auto}.list-info{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.85rem;color:var(--text-2)}.warn{color:var(--warn)}.field-error{color:var(--danger)}.winners{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:clamp(1.6rem,5vw,2.6rem);font-weight:600;color:var(--accent)}.winners.mono{font-weight:500}.coin-result{font-size:2.4rem;font-weight:650;color:var(--accent)}.teams-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.team{padding:16px}.team ul{margin:10px 0 0;padding-left:18px;color:var(--text-2)}.draw-result{display:grid;grid-gap:16px;gap:16px}.result-link{gap:4px 12px;align-items:baseline;word-break:break-all;font-size:.9rem}.result-link,.save-invite{display:flex;flex-wrap:wrap}.save-invite{gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.wheel-grid{display:grid;grid-gap:16px;gap:16px}@media (min-width:900px){.wheel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.wheel-box{padding:16px;display:grid;justify-items:center}.wheel-svg{width:100%;max-width:440px;height:auto}.sector{stroke:var(--line-strong);stroke-width:1}.sector.even{fill:var(--surface-2)}.sector.odd{fill:var(--surface-3)}.sector.win{fill:color-mix(in srgb,var(--accent) 35%,var(--surface-2));stroke:var(--accent)}.sector-label{fill:var(--text);font-size:12px}.rim{fill:none;stroke:var(--line-strong);stroke-width:2}.hub{fill:var(--bg);stroke:var(--accent);stroke-width:2}.pointer{fill:var(--accent)}.coin-stage{display:grid;grid-gap:24px;gap:24px;justify-items:center;padding-block:32px}.coin-scene{width:180px;height:180px;perspective:800px}.coin{position:relative;width:100%;height:100%;transform-style:preserve-3d}.coin .face{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:2px solid var(--accent);background:var(--surface-2);color:var(--accent);font-size:1.4rem;font-weight:600;box-shadow:inset 0 0 0 8px var(--surface),inset 0 0 0 9px var(--line-strong)}.coin .back{transform:rotateY(180deg)}.result-wrap{color:var(--text)}.result-logo{max-height:48px;width:auto;justify-self:start}.facts{display:grid;grid-template-columns:max-content 1fr;grid-gap:10px 24px;gap:10px 24px;margin:0}.facts dt{color:var(--text-3);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;padding-top:3px}.facts dd{margin:0;min-width:0}.seed{word-break:break-all;font-size:.85rem}@media (max-width:560px){.facts{grid-template-columns:1fr;gap:2px}.facts dd{margin-bottom:10px}}.same-count{margin-top:14px;font-size:.9rem}.plist{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.plist summary{cursor:pointer;min-height:32px}.plist ol{max-height:320px;overflow:auto;margin:8px 0 0;padding-left:3.2ch;color:var(--text-2);font-size:.9rem}.verdict{font-weight:600}.claim-note.ok,.verdict.ok{color:var(--accent)}.claim-note.bad,.verdict.bad{color:var(--danger)}