:root{--bg:#fff8ef;--ink:#1d1d2c;--muted:#6b6b80;--card:#ffffff;--line:#ecdcc8;--accent:#ff6b35;--accent-dark:#c94a1c;--btn:#ffffff;--error:#c1121f}@media (prefers-color-scheme:dark){:root{--bg:#15151f;--ink:#f4f1ea;--muted:#a3a3b8;--card:#1f1f2d;--line:#3a3a52;--btn:#24243a;--error:#ff7b86}}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink)}body{font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}main{max-width:600px;margin:0 auto;padding:28px 16px 64px}header{text-align:center;margin-bottom:28px}h1{font-size:clamp(2.8rem,13vw,4.6rem);margin:0;letter-spacing:-.04em;line-height:.95;font-weight:900}h1 span{color:var(--accent);display:inline-block;transform:rotate(-4deg)}.tag{color:var(--muted);font-size:1.25rem;font-weight:700;margin:14px 0 0}.step{margin-top:30px}.step h2{font-size:clamp(1.6rem,6vw,2.1rem);margin:0 0 14px;font-weight:900;letter-spacing:-.02em;display:flex;align-items:center;gap:12px}.step h2 b{display:inline-grid;place-items:center;width:1.4em;height:1.4em;border-radius:50%;background:var(--ink);color:var(--bg);font-size:.8em}a,button{font:inherit;cursor:pointer;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}button:disabled{opacity:.6;cursor:default}.big{display:flex;align-items:center;justify-content:center;gap:8px;min-height:68px;padding:0 18px;border-radius:18px;background:var(--btn);color:var(--ink);border:3px solid var(--line);font-size:1.35rem;font-weight:800;transition:transform .08s,background .15s,border-color .15s}.big:active,.tile:active{transform:scale(.97)}.big.on,.tile.on{background:var(--accent);border-color:var(--accent);color:#fff}.where{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:12px;gap:12px}.big-input{min-height:68px;width:100%;min-width:0;padding:0 18px;border-radius:18px;border:3px solid var(--line);background:var(--btn);color:var(--ink);font:inherit;font-size:1.6rem;font-weight:800;text-align:center;letter-spacing:.08em}.big-input::placeholder{color:var(--muted);letter-spacing:0;font-weight:700}.big-input:focus{outline:none;border-color:var(--accent)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:10px;gap:10px}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:96px;padding:10px;border-radius:18px;background:var(--btn);color:var(--ink);border:3px solid var(--line);font-size:1.05rem;font-weight:800;line-height:1.15;text-align:center;transition:transform .08s}.tile .emoji{font-size:2.2rem;line-height:1}.prices{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.prices.two{grid-template-columns:1fr 1fr;margin-top:10px}.prices .big{padding:0 8px;font-size:1.25rem}.go{display:flex;align-items:center;justify-content:center;width:100%;min-height:84px;margin-top:36px;border:none;border-radius:24px;background:var(--accent);color:#fff;font-size:clamp(1.7rem,7vw,2.2rem);font-weight:900;letter-spacing:-.01em;box-shadow:0 7px 0 var(--accent-dark);transition:transform .08s,box-shadow .08s}.go:active{transform:translateY(5px);box-shadow:0 2px 0 var(--accent-dark)}.error{color:var(--error);font-weight:800;font-size:1.15rem;text-align:center;margin:16px 0 0}.notice{border:2px dashed var(--line);border-radius:14px;padding:10px 14px;margin:0 0 8px}.hint,.notice{color:var(--muted);text-align:center}.hint{font-size:1.05rem;font-weight:600;margin-top:14px}.stage{margin-top:44px;padding-top:12px;scroll-margin-top:12px}.wheel-wrap{position:relative;width:min(100%,520px);aspect-ratio:1;margin:18px auto 0}.wheel{width:100%;height:100%;display:block;filter:drop-shadow(0 12px 22px rgba(0,0,0,.2))}.slice{cursor:pointer;outline:none}.slice path{transition:filter .15s}.slice:focus-visible path,.slice:hover path{filter:brightness(1.12)}.pointer{top:-10px;transform:translateX(-50%);width:0;height:0;z-index:2;border-left:22px solid transparent;border-right:22px solid transparent;border-top:42px solid var(--ink);filter:drop-shadow(0 3px 3px rgba(0,0,0,.3))}.hub,.pointer{position:absolute;left:50%}.hub{top:50%;transform:translate(-50%,-50%);width:25%;aspect-ratio:1;border-radius:50%;background:#fff;color:var(--accent);font-weight:900;font-size:clamp(1.1rem,5vw,1.7rem);border:6px solid #1d1d2c;box-shadow:0 5px 14px rgba(0,0,0,.3);z-index:1}.hub:not(:disabled):hover{transform:translate(-50%,-50%) scale(1.06)}.modal{position:fixed;inset:0;background:rgba(10,10,20,.6);display:grid;place-items:center;padding:16px;z-index:10;animation:fade .2s}.result{position:relative;overflow:hidden;background:var(--card);border-radius:28px;padding:34px 22px 22px;width:min(100%,460px);text-align:center;animation:pop .3s cubic-bezier(.2,1.5,.4,1)}.result.won{animation-duration:.45s}.close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:none;background:transparent;color:var(--muted);font-size:1.4rem;z-index:1}.kicker{text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;color:var(--accent);font-weight:900;margin:0}.result h3{font-size:clamp(2rem,9vw,2.7rem);line-height:1.05;margin:8px 0 14px;font-weight:900;letter-spacing:-.02em}.meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 10px;font-weight:700;font-size:1.05rem}.meta span{background:var(--bg);border-radius:999px;padding:5px 12px}.meta .open{color:#138a43}.meta .closed{color:var(--error)}.addr{color:var(--muted);margin:4px 0 0;font-size:1.05rem}.addr a{color:inherit}.actions{display:grid;grid-gap:10px;gap:10px;margin-top:4px}.actions .go{margin-top:16px;min-height:72px;font-size:1.6rem}.confetti span{position:absolute;top:-40px;font-size:2rem;animation:drop 1.7s ease-in forwards;pointer-events:none}@keyframes drop{to{transform:translateY(520px) rotate(320deg);opacity:0}}@keyframes pop{0%{transform:scale(.7);opacity:0}}@keyframes fade{0%{opacity:0}}.themes{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:18px}.theme{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:16px;background:var(--btn);color:var(--ink);border:3px solid var(--line);font-weight:800;font-size:.95rem}.theme.on{border-color:var(--accent)}.swatch{width:40px;height:40px;border-radius:50%;border:3px solid #1d1d2c}