:root{color-scheme:light;--canvas:#f4f6fb;--surface:#fff;--ink:#18243b;--muted:#526078;--line:#cbd2de;--control:#738198;--accent:#2458c6;--focus:#164cc5;--error:#a4233a;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{min-height:44px;padding:10px 14px;border:1px solid var(--control);background:#fff;color:var(--ink);border-radius:7px;font-size:14px;font-weight:650;cursor:pointer;touch-action:manipulation}button:hover:not(:disabled){background:#edf2fd;border-color:var(--accent)}button:disabled{color:#6c7789;opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:var(--accent);text-underline-offset:4px}h1,h2,h3,p{margin-top:0}p{line-height:1.55}h2{font-size:20px}h3{font-size:16px}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--control);border-radius:7px;background:#fff;color:var(--ink)}input[type="range"]{padding:8px 0;accent-color:var(--accent);border:0}input[type="file"]{font-size:12px;padding:9px}label{display:block;font-size:13px;font-weight:650;margin-bottom:16px}label input,label textarea,label select{margin-top:7px}textarea{resize:vertical;line-height:1.65;font-size:16px;min-height:340px}fieldset{border:0;margin:0;padding:0;min-width:0}[hidden]{display:none!important}.site-header{height:64px;display:flex;align-items:center;gap:32px;background:#fff;border-bottom:1px solid var(--line);padding:0 max(24px,calc((100vw - 1512px)/2));white-space:nowrap}.brand{display:flex;align-items:center;gap:9px;font-size:22px;font-weight:800;letter-spacing:-.65px;text-decoration:none;color:var(--ink)}.brand svg{width:32px;height:32px}.site-header nav{display:flex;gap:6px;margin:auto}.site-header nav a{display:flex;align-items:center;padding:12px 18px;min-height:44px;font-size:14px;font-weight:650;color:var(--muted);text-decoration:none;border-radius:6px}.site-header nav a[aria-current]{color:var(--accent);background:#edf2fd}.preview-tag{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:5px 8px}main{max-width:1560px;padding:0 24px;margin:auto}.tool-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}.tool-toolbar h1{font-size:24px;font-weight:750;letter-spacing:-.6px;margin:0}.toolbar-actions{display:flex;align-items:center;gap:20px;font-size:13px}.toolbar-actions button{background:transparent;border-color:transparent}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;padding-top:14px}.wheel-panel{min-width:0;display:flex;flex-direction:column;align-items:center;padding:0 10px}.wheel-wrap{position:relative;width:min(100%,700px);aspect-ratio:1;flex-shrink:0}.wheel-rim{position:absolute;inset:0;border-radius:50%;background:var(--ink);box-shadow:0 0 0 7px var(--ink),0 15px 30px #18243b24;overflow:hidden}.wheel-rim svg{width:100%;height:100%;display:block;transform-origin:center;will-change:transform}.pointer{position:absolute;left:calc(50% - 22px);top:-23px;width:44px;height:58px;z-index:3;filter:drop-shadow(0 2px 2px #18243b30)}.spin-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;width:112px;height:112px;border:3px solid var(--ink);border-radius:50%;background:white;box-shadow:0 5px 0 #18243b30,0 0 0 7px #ffffff30;font-size:21px;font-weight:850;letter-spacing:.04em;padding:8px;overflow:hidden;opacity:1!important;line-height:1.2}.spin-hub:focus-visible{outline-offset:8px;outline-width:4px}.spin-hub:disabled{cursor:default}.spin-hub img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.spin-hub.with-image span{position:relative;background:#fffE;color:var(--ink);border-radius:4px;font-size:15px;padding:3px 4px;letter-spacing:0}.spin-hub span{position:relative;display:block;overflow-wrap:anywhere}.wheel-caption{display:flex;align-items:center;justify-content:center;gap:16px;margin:24px 0 12px;font-size:13px;color:var(--muted)}.wheel-caption p{margin:0}.local-label{font-size:11px;color:#23714b;border-left:1px solid var(--line);padding-left:14px}.result-strip{width:min(100%,700px);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line)}#result{font-size:18px;font-weight:700;overflow-wrap:anywhere}#score{font-size:13px;color:var(--muted);margin:6px 0 0}.actions{display:flex;gap:8px;flex-shrink:0}.actions button{font-size:12px;padding:8px 10px;background:transparent}.error{color:var(--error);font-size:14px;font-weight:650;align-self:stretch;padding:8px 0;margin:0;overflow-wrap:anywhere}.error:empty,#score:empty{display:none}.setup-panel{height:700px;background:white;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 12px #18243b06}.tabs{display:flex;flex-shrink:0;padding:0 8px;border-bottom:1px solid var(--line)}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;flex:1;min-height:52px;padding:12px 8px;font-size:14px;background:transparent;color:var(--muted)}.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--accent)}.tabs span{display:inline-block;margin-left:5px;background:#edf0f6;padding:2px 5px;border-radius:4px;font-size:10px;vertical-align:1px}.tab-panel{padding:16px;overflow:auto;min-height:0;flex:1}.editor-tools{display:flex;gap:7px;margin-bottom:14px}.editor-tools button{padding:7px 10px;flex:1;font-size:12px}.entry-options{margin-top:14px}.check{display:flex;gap:10px;align-items:center;min-height:44px;font-weight:550}.check input{width:20px;min-height:20px;margin:0;accent-color:var(--accent)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{font-size:12px;color:var(--muted);font-weight:400}.choice-preview{display:flex;gap:10px;margin:20px 0}.choice-preview span{flex:1;text-align:center;background:#edf2fd;border:1px solid #b7c8ee;padding:28px 10px;color:#2559c7;font-size:25px;font-weight:800;border-radius:8px}.choice-preview span+span{background:#fceef1;border-color:#edbcc6;color:#be3151}details{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}summary{min-height:44px;cursor:pointer;font-size:13px;font-weight:650;padding:12px 0}.button-row{display:flex;gap:6px;flex-wrap:wrap}.button-row button{font-size:12px;padding:8px 10px}.choice-list{overflow-wrap:anywhere;font-size:13px;color:var(--muted);max-height:180px;overflow:auto}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading span{font-size:11px;color:var(--muted)}#history{list-style:none;margin:0;padding:0}#history li{display:flex;align-items:center;gap:14px;padding:16px 5px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}#history li span{font-size:11px;color:var(--muted);min-width:22px}#history li strong{font-size:16px;font-weight:600;min-width:0}#history li:first-child{background:#edf2fd;border-radius:6px;padding-inline:12px}output{float:right;font-weight:450;color:var(--muted)}.setting-switches{border-block:1px solid var(--line);margin:20px 0 12px;padding:8px 0}.setting-switches .check{margin-bottom:0}.image-settings{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.image-settings button{font-size:12px}.storage{display:flex;justify-content:space-between;align-items:start;gap:24px;border-top:1px solid var(--line);margin-top:28px;padding:20px 0 30px;font-size:12px;color:var(--muted)}.storage p{max-width:850px;margin:0}.storage button{flex-shrink:0;border:0;background:transparent;font-size:12px;text-decoration:underline;padding:0}.help{border-top:1px solid var(--line);padding:40px 0;max-width:1200px;margin:auto}.help-intro{margin-bottom:28px}.help-intro h2{font-size:26px;margin-bottom:10px;letter-spacing:-.6px}.help-intro p{color:var(--muted);font-size:15px}.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:32px}.help-grid article{position:relative;padding-top:10px}.step-number{display:grid;place-items:center;width:28px;height:28px;background:#e4ebfa;color:var(--accent);font-size:12px;font-weight:750;border-radius:50%;margin-bottom:14px}.help-grid p,.help-notes p{font-size:14px;color:var(--muted)}.related{display:flex;flex-wrap:wrap;gap:22px;margin-top:26px;font-size:14px}footer{padding:24px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:12px}dialog{width:min(520px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--control);border-top:5px solid var(--accent);border-radius:16px;padding:38px 32px 24px;color:var(--ink);background:white;box-shadow:0 24px 80px #0004;text-align:center}dialog::backdrop{background:#0f172a85;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:26px;line-height:1;padding:4px;width:44px}.dialog-eyebrow{font-size:11px;letter-spacing:.16em;color:var(--muted);font-weight:700;margin-bottom:14px}#winnerTitle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#winnerName{font-size:clamp(32px,5vw,52px);font-weight:800;letter-spacing:-1px;line-height:1.12;overflow-wrap:anywhere;margin:0 0 20px}#winnerNote{font-size:14px;color:var(--muted)}.dialog-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.primary{background:var(--accent);border-color:var(--accent);color:#fff;padding-inline:22px}.primary:hover:not(:disabled){background:#1748af;color:#fff}.text-button{border:0;background:transparent;font-size:13px;text-decoration:underline;margin-top:10px}#weightsList{max-height:42dvh;overflow:auto;text-align:left}#weightsList label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0;padding:8px 0;border-bottom:1px solid var(--line)}#weightsList input{width:75px;margin:0}#weightsList span{overflow-wrap:anywhere}#confettiLayer{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:hidden}#confettiLayer i{position:absolute;top:-20px;width:9px;height:15px;animation:confetti-fall 2s cubic-bezier(.1,.5,.4,1) forwards}@keyframes confetti-fall{to{translate:var(--drift) 105vh;rotate:600deg;opacity:0}}.presenting .site-header,.presenting .setup-panel,.presenting .storage,.presenting .help,.presenting footer,.presenting .tool-toolbar h1,.presenting .toolbar-actions>a{display:none}.presenting .workspace{display:block;padding-top:20px}.presenting .wheel-wrap{width:min(90vw,calc(100dvh - 160px),1000px)}.presenting .tool-toolbar{min-height:50px}.presenting #present{position:fixed;right:16px;top:12px;z-index:10;background:white;border:1px solid var(--control)}.presenting .wheel-caption{margin-top:18px}.presenting .result-strip{max-width:700px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;left:16px;top:-70px;background:white;padding:10px;z-index:30}.skip:focus{top:10px}[aria-invalid=true]{border-color:var(--error);background:#fff6f7}
@media(max-width:900px){.site-header{height:auto;min-height:58px;padding:10px 16px;gap:10px;flex-wrap:wrap}.brand{font-size:19px}.brand svg{width:27px;height:27px}.preview-tag{margin-left:auto;order:2}.site-header nav{order:3;flex-basis:100%;justify-content:space-between;gap:0}.site-header nav a{padding:10px 14px;font-size:13px}main{padding:0 16px}.tool-toolbar{min-height:68px;gap:8px}.tool-toolbar h1{font-size:21px}.toolbar-actions{gap:5px}.toolbar-actions>a{display:none}.toolbar-actions button{padding:10px 6px;font-size:12px}.workspace{grid-template-columns:1fr;gap:20px;padding-top:10px}.wheel-panel{padding:0 5px}.wheel-wrap{width:min(100%,420px)}.wheel-rim{box-shadow:0 0 0 5px var(--ink),0 12px 22px #18243b20}.pointer{width:32px;height:44px;left:calc(50% - 16px);top:-16px}.spin-hub{width:84px;height:84px;font-size:17px}.wheel-caption{font-size:12px;gap:10px;margin:18px 0 10px}.local-label{font-size:10px;padding-left:10px}.result-strip{display:block;padding-top:10px;text-align:center}#result{font-size:20px}.actions{justify-content:center;margin-top:12px}.setup-panel{height:auto;min-height:400px}.tab-panel{overflow:visible}.tab-panel[hidden]{display:none!important}textarea{min-height:280px}.storage{gap:16px;align-items:start;margin-top:24px}.storage button{max-width:110px;white-space:normal;line-height:1.5}.help{padding-top:28px}.help-grid{grid-template-columns:1fr;gap:12px}.help-intro h2{font-size:23px}dialog{padding:34px 22px 20px}.presenting .wheel-wrap{width:min(90vw,calc(100dvh - 230px),1000px)}.presenting .workspace{padding-top:40px}.presenting .result-strip{padding-top:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}#confettiLayer{display:none}.wheel-rim svg{transition:none!important}}
