:root{--ink:#201848;--muted:#6c6783;--pink:#ff4f87;--yellow:#ffd34d;--mint:#4fd5b2;--purple:#7c5cff;--blue:#51a8ff;--paper:#fffdfa;--line:rgba(32,24,72,.13)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 10% 15%,var(--wash,#fff0b9),transparent 28%),radial-gradient(circle at 93% 22%,#e7dcff,transparent 26%),linear-gradient(180deg,#fffdfa,#fff6ed 65%,#f6f1ff);min-height:100vh}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:950;letter-spacing:-.04em}.mark{width:37px;height:37px;border:4px solid #fff;border-radius:50%;background:conic-gradient(var(--pink) 0 25%,var(--yellow) 0 50%,var(--mint) 0 75%,var(--purple) 0);box-shadow:0 5px 14px #4433782c}.back{color:var(--ink);text-decoration:none;border:1.5px solid var(--ink);border-radius:999px;padding:10px 16px;background:#fff;box-shadow:3px 3px 0 var(--ink);font-size:.86rem;font-weight:850}.main{padding:40px 0 78px}.intro{text-align:center;max-width:760px;margin:0 auto 34px}.emoji{font-size:3.6rem;filter:drop-shadow(0 5px 0 #fff);display:block;margin-bottom:8px}.intro h1{font-size:clamp(2.8rem,5.5vw,5.3rem);line-height:.92;letter-spacing:-.065em;margin:0 0 17px}.intro p{font-size:1.06rem;line-height:1.65;color:var(--muted);margin:0 auto;max-width:650px}.play{display:grid;grid-template-columns:minmax(430px,1fr) 300px;gap:46px;align-items:center}.wheel-wrap{position:relative;aspect-ratio:1;max-width:650px;margin:auto;width:100%;filter:drop-shadow(0 28px 36px rgba(67,41,111,.2))}.wheel{position:absolute;inset:0;border-radius:50%;border:12px solid #fff;box-shadow:inset 0 0 0 3px #20184822,0 0 0 3px var(--ink);transition:transform 4.6s cubic-bezier(.12,.68,.08,1)}.wheel:after{content:"";position:absolute;inset:13%;border-radius:50%;border:2px dashed #ffffffa8}.pointer{position:absolute;z-index:6;top:-13px;left:50%;transform:translateX(-50%);width:40px;height:56px;background:var(--ink);clip-path:polygon(0 0,100% 0,50% 100%)}.spin{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:116px;height:116px;border-radius:50%;border:7px solid #fff;background:var(--ink);color:#fff;font-size:1.16rem;font-weight:950;letter-spacing:.08em;box-shadow:0 8px 0 #5a45be;cursor:pointer}.spin:hover{transform:translate(-50%,calc(-50% - 3px)) rotate(-3deg)}.label{position:absolute;z-index:3;left:50%;top:50%;width:43%;height:28px;transform-origin:0 50%;padding-left:21%;display:flex;align-items:center;color:#fff;text-shadow:0 1px 3px #261b5488;font-weight:900;white-space:nowrap;font-size:clamp(.7rem,1.25vw,1rem)}.winner{position:absolute;z-index:20;inset:27%;display:grid;place-items:center;text-align:center;border:3px solid var(--ink);border-radius:50%;background:#fff;box-shadow:8px 10px 0 var(--ink);transform:scale(0);transition:.35s cubic-bezier(.2,1.5,.5,1);padding:18px;cursor:pointer}.winner.show{transform:scale(1)}.winner small{display:block;color:var(--pink);font-weight:900;text-transform:uppercase;letter-spacing:.11em;margin-bottom:5px}.winner b{font-size:clamp(1.05rem,2vw,1.85rem)}.editor{background:#ffffffcc;border:1px solid #fff;padding:25px;border-radius:30px;box-shadow:0 20px 45px #43296f1d;backdrop-filter:blur(12px)}.editor-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.editor h2{font-size:1.1rem;margin:0}.count{font-size:.74rem;color:var(--muted);font-weight:800}.choices{display:flex;flex-direction:column;gap:7px;max-height:370px;overflow:auto;padding-right:3px}.row{display:grid;grid-template-columns:10px 1fr 26px;gap:9px;align-items:center}.dot{height:10px;border-radius:50%}.row input{width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 0;color:var(--ink);font-weight:650;outline:none}.row input:focus{border-bottom-color:var(--purple)}.remove{border:0;background:none;color:#aaa;font-size:1.15rem;cursor:pointer}.add{width:100%;margin-top:14px;padding:11px;border:1.5px dashed #aaa2d8;border-radius:14px;background:#f7f3ff;color:#5b45c5;font-weight:850;cursor:pointer}.actions{display:flex;justify-content:space-between;margin-top:14px}.actions button{border:0;background:none;color:var(--muted);font-size:.76rem;font-weight:850;cursor:pointer}.more{padding:85px 0;border-top:1px solid var(--line)}.more h2{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.055em;margin:0 0 25px}.links{display:flex;gap:12px;flex-wrap:wrap}.links a{color:var(--ink);text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 17px;font-weight:800}.links a:hover{background:var(--yellow)}.footer{border-top:1px solid var(--line);padding:30px 0 40px;color:var(--muted);font-size:.8rem}.confetti{position:fixed;z-index:99;width:10px;height:16px;top:-20px;pointer-events:none;animation:fall 2.8s linear forwards}@keyframes fall{to{transform:translate(var(--x),105vh) rotate(850deg)}}@media(max-width:850px){.play{grid-template-columns:1fr}.wheel-wrap{width:min(90vw,580px)}.editor{max-width:580px;width:100%;margin:auto}}@media(max-width:550px){.shell{width:calc(100% - 24px)}.topbar{height:65px}.main{padding-top:25px}.intro h1{font-size:3rem}.wheel-wrap{width:94vw}.editor{padding:20px}.back{padding:9px 12px}.back span{display:none}}.row{grid-template-columns:10px 1fr 34px 26px}.lock{border:0;background:#f4f0ff;border-radius:9px;width:32px;height:32px;cursor:pointer;font-size:.9rem;display:grid;place-items:center}.lock.locked{background:#ddd4ff;box-shadow:inset 0 0 0 1px #7c5cff}.actions{gap:8px;align-items:center}.actions button#generateMore{color:#5b45c5;background:#f1ecff;border-radius:999px;padding:8px 11px}.actions button#generateMore:hover{background:#e5dcff}
/* Desktop: equal outer rails keep the wheel centered on the page. The empty left rail is reserved for a future ad placement. */
@media(min-width:1121px){.main{width:min(1480px,calc(100% - 40px))}.play{grid-template-columns:minmax(180px,1fr) minmax(430px,650px) minmax(280px,1fr);gap:36px}.play:before{content:"";min-width:0}.wheel-wrap{grid-column:2}.editor{grid-column:3;justify-self:start;width:300px}}

/* Keep the wheel comfortably within the viewport and remove the inner guide ring. */
.wheel-wrap{max-width:535px}
.wheel:after{content:none}
@media(min-width:1121px){.play{grid-template-columns:minmax(180px,1fr) minmax(430px,535px) minmax(280px,1fr)}}

.subgroup-picker{margin:0 0 16px}.subgroup-picker>span{display:block;margin-bottom:8px;color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.subgroup-picker>div{display:flex;flex-wrap:wrap;gap:7px}.subgroup-picker button{border:1px solid #dcd5f2;background:#fff;border-radius:999px;padding:8px 10px;color:var(--ink);font-size:.72rem;font-weight:800;cursor:pointer}.subgroup-picker button:hover{border-color:var(--purple)}.subgroup-picker button.active{border-color:var(--purple);background:#ede7ff;color:#5138bd;box-shadow:inset 0 0 0 1px var(--purple)}
.dinner-category-nav{margin:0 auto 34px;text-align:center;scroll-margin-top:24px}.dinner-category-nav>span{font-size:.82rem;margin-bottom:12px}.dinner-category-nav>div{justify-content:center;gap:12px}.dinner-category-nav button{padding:12px 18px;font-size:.88rem;box-shadow:0 8px 20px rgba(65,46,113,.08)}.dinner-category-nav button.active{box-shadow:0 8px 22px rgba(92,68,190,.18),inset 0 0 0 1px var(--purple)}#dinner-wheel-home,#dinner-wheel-fast,#dinner-wheel-restaurants{scroll-margin-top:26px}
.dinner-category-ad{height:88px;margin:0 0 28px;border:1px dashed rgba(108,103,131,.24);border-radius:18px;background:rgba(255,255,255,.32);display:grid;place-items:center;color:#8d879e;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.dinner-category-nav a{display:inline-flex;padding:12px 18px;border:1px solid #dcd5f2;border-radius:999px;background:#fff;color:var(--ink);font-size:.88rem;font-weight:850;text-decoration:none;box-shadow:0 8px 20px rgba(65,46,113,.08)}.dinner-category-nav a:hover,.dinner-category-nav a.active{border-color:var(--purple);background:#ede7ff;color:#5138bd;box-shadow:0 8px 22px rgba(92,68,190,.18),inset 0 0 0 1px var(--purple)}.dinner-section-heading{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 22px;scroll-margin-top:16px}.dinner-section-heading>span{font-size:2.4rem}.dinner-section-heading small{display:block;color:var(--pink);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.dinner-section-heading h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.05em;margin:0}.dinner-later-heading{margin-top:48px;padding-top:30px;border-top:1px solid var(--line)}.dinner-scroll-section{margin-bottom:12px}@media(max-width:850px){.dinner-later-heading{margin-top:38px;padding-top:24px}}
.dare-warning{display:inline-block;margin:9px 0 0;padding:8px 13px;border:1px solid #ffc8d8;border-radius:999px;background:#fff0f5;color:#8d2448;font-size:.78rem;font-weight:800;letter-spacing:0;line-height:1.25}.dare-warning::first-letter{font-size:.9em}@media(max-width:850px){.dare-warning{font-size:.72rem;text-align:center}}
.dinner-section-links{display:flex;gap:8px;flex-wrap:wrap;margin-left:22px}.dinner-section-links a{padding:8px 12px;border:1px solid #dcd5f2;border-radius:999px;background:#fff;color:#5b45c5;font-size:.75rem;font-weight:850;text-decoration:none}.dinner-section-links a:hover{border-color:var(--purple);background:#ede7ff}@media(max-width:850px){.dinner-section-heading{flex-wrap:wrap}.dinner-section-links{width:100%;justify-content:center;margin-left:0}}

.label{overflow:hidden;text-overflow:ellipsis;padding-right:8px}
@media(max-width:550px){.label{width:45%;height:32px;padding-left:17%;padding-right:4px;font-size:var(--mobile-wheel-label-size,.94rem);font-weight:950;letter-spacing:.01em;text-shadow:-1px -1px 0 #201848,1px -1px 0 #201848,-1px 1px 0 #201848,1px 1px 0 #201848,0 2px 4px #201848b8;-webkit-text-stroke:.2px #201848}.spin{width:84px;height:84px;border-width:5px;font-size:1rem;box-shadow:0 6px 0 #5a45be}}
