@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101117;--surface:#191b25;--muted:#999aaf;--line:#2a2c39;--accent:#ad9aff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f2fa;font-family:'DM Sans',sans-serif;font-size:16px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #62dcc8;outline-offset:5px}.shell{max-width:1280px;margin:auto;padding:0 64px}header{height:106px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:inherit;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:32px;letter-spacing:-1.5px;display:flex;align-items:center}.brand-icon{font-size:43px;color:var(--accent);margin-right:12px}.brand-dot{color:var(--accent)}.header-actions{display:flex;gap:12px}.quiet{border:1px solid var(--line);background:transparent;border-radius:9px;color:#d9d7e5;padding:11px 16px;font-size:14px}.quiet:hover{background:#232431}.intro{padding-top:42px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--accent)}h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(34px,5vw,52px);font-weight:500;letter-spacing:-2px;margin:12px 0 8px}h1 span{color:var(--accent)}.intro p{color:var(--muted);margin:0}.workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:76px;align-items:center;padding:24px 0 35px}.play{text-align:center;min-width:0}.wheel-wrap{position:relative;max-width:530px;margin:0 auto 24px;aspect-ratio:1;isolation:isolate}.wheel-wrap:before{content:'';position:absolute;inset:12px;border-radius:50%;box-shadow:0 0 90px #7c5cff16;z-index:-1}#wheel{display:block;width:100%;height:100%;filter:drop-shadow(0 14px 25px #0007);transform:rotate(0deg)}.pointer{position:absolute;top:0;left:calc(50% - 15px);width:30px;height:38px;background:#f7f1df;clip-path:polygon(0 0,100% 0,100% 40%,50% 100%,0 40%);z-index:3;filter:drop-shadow(0 3px 3px #000)}.hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;background:#181922;border:6px solid #f4f2fa;color:#fff;font-size:40px;box-shadow:0 3px 12px #0005}.spin{display:flex;align-items:center;justify-content:center;gap:65px;background:#b8a6ff;color:#181125;border:0;border-radius:12px;padding:17px 27px;margin:auto;min-width:270px;font-weight:700;box-shadow:0 5px 0 #7861bb}.spin:hover:not(:disabled){background:#c8bbff}.spin span{font-size:23px;line-height:1}.hint{color:var(--muted);font-size:13px;margin:17px 0 0}kbd{font:inherit;border:1px solid #3b3c4b;border-radius:4px;padding:2px 6px;margin-left:4px}.sidebar{align-self:center;max-width:380px;width:100%;display:flex;flex-direction:column;gap:24px}.entries-panel,.results-panel{background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:18px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}h2{font-family:'Space Grotesk',sans-serif;margin:0;font-size:19px;font-weight:500}.count{padding:4px 10px;background:#292638;border-radius:6px;color:#c8baff;font-size:12px}.entries{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;max-height:260px;overflow:auto}.entry{display:flex;align-items:center;gap:10px;min-width:0;font-size:14px}.entry span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swatch{width:10px;height:10px;flex:none;border-radius:3px}.entry.done{opacity:.4}.entry.done span:last-child{text-decoration:line-through}.text-button{background:none;border:0;color:#b1abc5;font-size:13px;padding:4px}.empty{text-align:center;padding:17px 0 22px;color:var(--muted)}.empty>span{font-size:36px;color:#706581}.empty p{font-size:14px;margin:10px 0 6px}.empty small{font-size:12px;color:#727386}.result{display:flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--line)}.result:first-child{border-top:0}.rank{font-size:12px;color:#ac9ade;font-variant-numeric:tabular-nums}.result-name{overflow-wrap:anywhere}.result:last-child .result-name{color:#d4c8ff}#results{max-height:250px;overflow:auto}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 26px;color:#75768b;font-size:12px}#footer-count{font-size:10px;letter-spacing:1.6px}dialog{background:#1c1d28;color:#f4f2fa;border:1px solid #3e3c50;border-radius:22px;padding:30px;width:min(560px,calc(100% - 32px));max-height:90dvh;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#070811bb;backdrop-filter:blur(8px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start}.dialog-heading h2{font-size:28px;margin-top:10px;letter-spacing:-.7px}.close{background:none;border:0;color:#adacbd;font-size:28px;line-height:1;padding:0 4px}.config-copy,.note{color:#a6a5b9;line-height:1.6;font-size:14px}.note{font-size:12px;margin:18px 0 8px}.editor-head{display:grid;grid-template-columns:62px 1fr;font-size:10px;letter-spacing:1px;color:#858498;padding:14px 0 8px}#editor{display:flex;flex-direction:column;gap:8px;max-height:290px;overflow:auto}.edit-row{display:flex;gap:8px;align-items:center}.edit-rank{width:30px;text-align:center;color:#b4a0ef;font-size:14px}.edit-row input{min-width:0;flex:1;background:#12131b;color:white;border:1px solid #3c3b4d;border-radius:7px;padding:10px;font-size:14px}.edit-row button{background:#282735;color:#c7c4d9;border:0;border-radius:5px;width:27px;height:30px;font-size:14px}.edit-row input:focus{outline:2px solid #ad9aff}.add{background:none;color:#c2afff;border:1px dashed #4b425f;width:100%;border-radius:8px;padding:12px;margin-top:12px;font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.primary{background:#b8a6ff;color:#191126;font-weight:700;border:0;padding:13px 20px;border-radius:9px}#error{color:#ff9cae;font-size:14px}#winner{text-align:center;padding:38px 28px}#winner .close{position:absolute;right:20px;top:16px}.winner-mark{font-size:70px;color:#c3afff;margin-bottom:12px}#winner h2{font-size:clamp(30px,6vw,48px);overflow-wrap:anywhere;margin:16px 0;font-weight:600}#winner p{color:#a6a5b9;font-size:14px}#winner .primary{margin-top:14px}#confetti{position:fixed;inset:0;pointer-events:none;z-index:10;overflow:hidden}.confetto{position:absolute;top:-20px;width:8px;height:14px;animation:fall 2.8s ease-in forwards}@keyframes fall{to{transform:translate(var(--drift),105vh) rotate(650deg)}}body.presentation .intro,body.presentation .sidebar,body.presentation footer,body.presentation #settings{display:none}body.presentation .workspace{display:block;padding-top:24px}body.presentation .wheel-wrap{max-width:min(65dvh,650px)}body.presentation header{height:70px;border:0}body.presentation .shell{max-width:1500px}@media(max-width:850px){.shell{padding:0 24px}.workspace{gap:28px}.sidebar{max-width:none}.entries-panel,.results-panel{padding:18px}.wheel-wrap{margin-bottom:18px}}@media(max-width:650px){header{height:80px}.header-actions{gap:6px}.quiet{padding:10px}.intro{padding-top:28px}.workspace{grid-template-columns:1fr;gap:32px}.wheel-wrap{max-width:440px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.entries{grid-template-columns:1fr}footer{gap:16px}.hub{width:66px;height:66px;font-size:32px}#footer-count{display:none}}@media(max-width:420px){.sidebar{grid-template-columns:1fr}.entries{grid-template-columns:1fr 1fr}.header-actions span{display:none}.shell{padding:0 18px}}@media(prefers-reduced-motion:reduce){.confetto{display:none}}
