:root{--paper:#FAF9F7;--ink:#27241D;--muted:#756F67;--purple:#653CAD;--purple-light:#F0EAF8;--line:#E8E4DE;color-scheme:light;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #A68BDC;outline-offset:4px}button svg{flex-shrink:0}[hidden]{display:none!important}.site-shell{max-width:1328px;padding:0 48px;margin:auto}.site-header{height:96px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:32px}.brand{font-size:30px;font-weight:750;letter-spacing:-1.7px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px;white-space:nowrap}.brand>span{color:var(--purple);margin-left:-10px}.brand>svg{width:34px;height:34px;fill:var(--purple);stroke:var(--paper);stroke-width:1.3}.brand>svg circle:last-child{fill:var(--paper)}.header-note{display:flex;gap:9px;align-items:center;margin:auto;font-size:12px;color:var(--muted)}.header-note>i{width:6px;height:6px;background:#AD9B7B;border-radius:50%}.icon-button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:transparent;border-radius:24px;padding:10px 14px;color:var(--muted);font-size:12px}.icon-button svg{width:17px;height:17px}.icon-button:hover{background:white;color:var(--ink)}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:42px 0 34px}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:650;margin:0 0 17px;color:var(--muted);display:flex;align-items:center;gap:7px}.eyebrow>span{color:var(--purple);font-size:15px;line-height:1}h1{font-size:clamp(32px,3.5vw,49px);font-weight:650;letter-spacing:-2px;margin:0;line-height:1.13}h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--purple);letter-spacing:-2.1px}.intro-description{font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 2px;max-width:340px}.play-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:26px;align-items:start}.wheel-panel{position:relative;border-radius:24px;overflow:hidden;min-width:0;padding:25px 28px 22px;background-color:#F0EEE9;background-image:radial-gradient(#D8D3CA .65px,transparent .65px);background-size:15px 15px}.wheel-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;z-index:1}.section-kicker{font-size:9px;letter-spacing:1.2px;font-weight:650;margin:0;color:var(--muted)}.chance-badge{display:inline-flex;align-items:center;gap:6px;color:#666C5D;background:#FAF9F7;padding:6px 9px;border-radius:20px;font-size:10px;white-space:nowrap}.chance-badge>i{width:5px;height:5px;background:#8B9E72;border-radius:50%}.wheel-stage{position:relative;display:grid;place-items:center;padding:28px 0 23px}.wheel-wrap{position:relative;width:min(100%,420px);aspect-ratio:1;isolation:isolate}.wheel-wrap:after{content:"";position:absolute;inset:4px;border:9px solid white;border-radius:50%;pointer-events:none;box-shadow:0 7px 9px #27241D12,0 16px 30px #27241D0C;z-index:-1;background:white}#wheel{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 2px #27241D09)}.wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:65px;height:65px;display:grid;place-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 6px #27241D12;border:7px solid #FFF9;pointer-events:none}.wheel-hub svg{width:25px;height:25px;fill:var(--purple)}.pointer{position:absolute;z-index:2;top:-14px;left:50%;width:30px;transform:translateX(-50%);filter:drop-shadow(0 3px 2px #27241D18)}.pointer svg{display:block;fill:var(--ink);stroke:#FAF9F7;stroke-width:2.2px;width:100%}.decoration{position:absolute;color:#AB9EBD;pointer-events:none}.decoration-one{font-size:36px;top:52px;right:0;transform:rotate(15deg)}.decoration-two{font-size:22px;bottom:42px;left:0;color:#B5AD94;transform:rotate(-12deg)}.wheel-controls{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.spin-button{border:0;border-radius:13px;background:var(--purple);color:white;padding:17px 22px;display:flex;align-items:center;justify-content:center;gap:11px;font-size:15px;font-weight:600;min-width:258px;box-shadow:0 4px 0 #4C2887;transition:background .15s,transform .15s,box-shadow .15s}.spin-button svg{width:20px;height:20px}.spin-button:hover:not(:disabled){background:#563091;transform:translateY(-1px);box-shadow:0 5px 0 #4C2887}.spin-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #4C2887}.spin-button:disabled{background:#A798BB;box-shadow:0 4px 0 #90839F}.button-arrow{font-size:19px;margin-left:24px;font-weight:400}.result-area{margin-top:20px;min-height:35px;max-width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;text-align:center}.result-area>span{font-size:11px;color:var(--muted);line-height:1.5}.result-area>strong{font-size:23px;font-weight:650;letter-spacing:-.5px;overflow-wrap:anywhere;max-width:100%;line-height:1.2;color:var(--purple)}.result-area.has-result{min-height:55px}.empty-wheel{position:absolute;inset:9px;border-radius:50%;background:#E7E1EE;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding:30px;z-index:1;border:4px dashed #CEC2DC}.empty-wheel span{font-family:Georgia,serif;font-size:29px;font-style:italic;color:var(--purple);line-height:1.2}.empty-wheel small{font-size:12px;color:#6C5A82;margin-top:15px;line-height:1.5}.editor-panel{padding:30px 27px 20px;border:1px solid var(--line);border-radius:24px;background:white;min-width:0}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.editor-heading .section-kicker{font-size:8px;letter-spacing:1.1px;margin-bottom:10px}h2{font-size:25px;letter-spacing:-.8px;font-weight:650;display:flex;align-items:center;gap:11px;margin:0}.count-badge{background:var(--purple-light);color:var(--purple);font-size:12px;letter-spacing:0;display:grid;place-items:center;min-width:27px;height:27px;border-radius:8px}.editor-spark{width:33px;height:33px;fill:#EFE7D5;stroke:#C5BCA7;stroke-width:1px;transform:rotate(8deg);flex-shrink:0}.editor-description{font-size:12px;line-height:1.7;margin:15px 0 21px;color:var(--muted)}.entries{display:flex;flex-direction:column;gap:9px;max-height:389px;overflow:auto;scrollbar-width:thin;scrollbar-color:#D8CFE5 transparent;padding:2px 4px 2px 2px;margin:0 -4px 0 -2px}.entry-row{display:flex;align-items:center;gap:9px;border:1px solid #E9E5DF;background:#FFFEFD;padding:0 9px;border-radius:10px;min-height:40px;flex-shrink:0;transition:border-color .15s,box-shadow .15s}.entry-row:focus-within{border-color:#A991CD;box-shadow:0 0 0 3px #F0EAF8}.entry-color{width:9px;height:9px;border-radius:3px;flex-shrink:0}.entry-row input{font-size:13px;color:var(--ink);min-width:0;flex:1;width:100%;padding:10px 0;border:0;outline:0;background:transparent;line-height:20px}.entry-row input::placeholder{color:#A09A92}.entry-row input:disabled{color:#8E858F}.delete-button{color:#A49D94;border:0;background:transparent;display:grid;place-items:center;width:27px;height:28px;border-radius:5px;padding:5px}.delete-button:hover:not(:disabled){color:#A92836;background:#FFF0F0}.delete-button svg{width:14px;height:14px}.add-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px 12px;margin-top:12px;border:1px dashed #C7B6E0;border-radius:10px;background:#FCFAFF;color:var(--purple);font-size:12px;font-weight:550}.add-button>span{font-size:18px;line-height:16px}.add-button:hover:not(:disabled){background:var(--purple-light);border-color:var(--purple)}.add-button:disabled{color:#A49AAA;border-color:#DED8E2}.editor-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #F0EDE8;padding-top:17px;margin-top:19px}.save-note{display:flex;align-items:center;gap:4px;font-size:9px;color:#888176;line-height:1.5}.save-note svg{width:14px;height:14px;color:#7C8C72;flex-shrink:0}.text-button{background:transparent;border:0;padding:3px;color:#756786;font-size:10px;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:var(--purple)}.editor-message{font-size:11px;color:#8E4F38;margin:8px 0 0;line-height:1.5}.editor-message:empty{display:none}.site-footer{display:flex;justify-content:space-between;align-items:center;padding:27px 0 24px;gap:16px}.site-footer p{font-size:11px;margin:0;color:#81796E}.site-footer p span{color:var(--ink)}.site-footer>span{font-size:10px;color:#938B81;display:flex;align-items:center;gap:11px}.site-footer b{color:#A69AB6;font-size:19px;font-weight:400}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.confetti i{position:absolute;top:-20px;width:7px;height:12px;animation:confetti-fall 2.6s ease-out forwards}.wheel-panel.is-spinning .spin-button svg{animation:button-spin 1.5s linear infinite}@keyframes confetti-fall{to{transform:translate(var(--drift),720px) rotate(var(--turn));opacity:0}}@keyframes button-spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.site-shell{padding-top:15px}.intro{padding-top:56px;padding-bottom:44px}.wheel-wrap{width:440px}.wheel-stage{padding-top:32px}.wheel-panel{padding-bottom:25px}.editor-panel{padding-top:34px}.entries{gap:10px}.entry-row{min-height:43px}}
@media(max-width:1050px){.site-shell{padding:0 28px}.intro{gap:20px}.intro-description{max-width:265px;font-size:12px}h1{font-size:39px}.play-layout{grid-template-columns:minmax(0,1.2fr) minmax(310px,1fr);gap:18px}.wheel-panel{padding:23px 19px}.editor-panel{padding:26px 21px 20px}.wheel-stage{padding:37px 0 30px}.wheel-wrap{width:100%}.decoration-one{right:-3px;top:13px;font-size:25px}.decoration-two{left:-3px;bottom:11px}.wheel-hub{width:56px;height:56px}.header-note{font-size:11px}.eyebrow{font-size:8px}}
@media(max-width:780px){.site-shell{max-width:600px;padding:0 22px}.site-header{height:83px;justify-content:space-between}.header-note{display:none}.brand{font-size:27px}.brand>svg{width:30px;height:30px}.icon-button{font-size:11px;padding:9px 11px}.intro{display:block;padding:34px 0 27px}.eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:14px}h1{font-size:clamp(30px,7vw,42px);letter-spacing:-1.5px}h1 em{letter-spacing:-1.7px}.intro-description{margin-top:16px;max-width:100%;font-size:12px;line-height:1.7}.intro-description br{display:none}.play-layout{grid-template-columns:1fr;gap:21px}.wheel-panel{padding:21px 21px 23px}.wheel-stage{padding:31px 5px 25px}.wheel-wrap{width:min(100%,390px)}.spin-button{min-width:248px;padding:16px 20px}.editor-panel{padding:26px 23px 20px}.entries{max-height:396px}.entry-row{min-height:44px}.entry-row input{font-size:14px}.delete-button{width:31px;height:32px}.save-note{font-size:10px}.text-button{font-size:11px}.site-footer{display:block;text-align:center;line-height:1.5;padding:25px 0}.site-footer>span{justify-content:center;font-size:9px;margin-top:9px;gap:7px}.site-footer b{font-size:15px}.wheel-topline .section-kicker{font-size:8px}.chance-badge{font-size:9px}.result-area>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.confetti{display:none}}
/* Keep the primary action visible on ordinary laptop screens. */
@media(min-width:781px) and (max-height:950px){.site-header{height:78px}.intro{padding:28px 0}.eyebrow{margin-bottom:12px}h1{font-size:42px}.wheel-panel{padding:20px 25px 18px}.wheel-stage{padding:20px 0 18px}.wheel-wrap{width:min(100%,350px)}.spin-button{padding:14px 20px}.result-area{margin-top:15px;min-height:28px}.editor-panel{padding:25px 25px 18px}.editor-description{margin:12px 0 17px}.entries{max-height:340px;gap:7px}.entry-row{min-height:34px}.entry-row input{padding:7px 0;line-height:18px}.editor-footer{margin-top:15px;padding-top:14px}.site-footer{padding-top:21px}}
@media(max-width:780px){.entries{max-height:420px}.entry-row input{padding:10px 0}.delete-button{font-size:20px}.chance-badge{display:none}}
@media(max-width:780px){.entry-row input{font-size:16px}}
/* The fixed mount and moving flapper share the wheel simulation's clock. */
.pointer{top:-18px;width:31px;pointer-events:none}
.pointer svg{overflow:visible;stroke-width:1.4px}
.pointer-mount{fill:#D9D2C7;stroke:#FAF9F7;stroke-width:1.5px}
.pointer .flapper-body{fill:#302B3B;stroke:#FAF9F7;stroke-width:1.6px;stroke-linejoin:round}
.pointer .flapper-highlight{fill:none;stroke:#7D718C;stroke-width:.9px;opacity:.6}
.pointer .pointer-pivot{fill:#C3B7D3;stroke:#FAF9F7;stroke-width:1.2px}
.pointer .pointer-screw{fill:none;stroke:#645574;stroke-width:1.2px;stroke-linecap:round}
.wheel-peg{filter:drop-shadow(0 1px 1px #27241D30)}
.peg-outline{stroke:#786D82;stroke-width:6.5px;stroke-linecap:round}
.peg-face{stroke:#FFFDF6;stroke-width:4.2px;stroke-linecap:round}
.wheel-hub{transition:box-shadow .16s ease}
.is-teetering .wheel-hub{box-shadow:0 0 0 7px #F8E3A340,0 2px 9px #653CAD28}
.is-teetering .pointer .flapper-body{fill:#653CAD}
@media(prefers-reduced-motion:reduce){.wheel-hub{transition:none}}
