:root{--ink:#f8f6ff;--muted:#9993a5}*{box-sizing:border-box}html,body{margin:0;background:#09080e;color:var(--ink);font-family:Arial,"Noto Sans JP",sans-serif}button,input{font:inherit}button{cursor:pointer}main{min-height:100svh;overflow:hidden;position:relative;background:radial-gradient(circle at 75% 35%,#6736c22a,transparent 28%),linear-gradient(135deg,#0b0911,#09080d 65%,#0d0814)}.noise{position:fixed;inset:0;opacity:.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hidden{display:none!important}header{height:90px;max-width:1400px;margin:auto;padding:24px 40px;display:flex;justify-content:space-between;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;color:white;background:none;border:0;text-align:left;font-size:9px;line-height:1.1;letter-spacing:.18em}.brand>b{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#8b5cf6,#db2777);font-size:20px;box-shadow:0 0 30px #8b5cf655}.brand i{font-style:normal;color:#a78bfa}.sound{width:42px;height:42px;border-radius:50%;border:1px solid #ffffff18;background:#ffffff08;color:#c4b5fd}.setup{width:min(1180px,calc(100% - 48px));margin:5vh auto 60px}.eyebrow{color:#a78bfa;font-size:10px;letter-spacing:.3em;font-weight:800}.setup h1{font-size:clamp(60px,8vw,116px);line-height:.84;letter-spacing:-.075em;margin:25px 0 30px}.setup h1 em,aside h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #c4b5fd;text-shadow:0 0 45px #8b5cf655}.lead{color:var(--muted);line-height:1.8;font-size:14px}.grid{display:grid;grid-template-columns:1fr 340px;gap:18px;margin-top:45px}.card{border-radius:22px;background:linear-gradient(145deg,#191627e6,#0d0c15d0);border:1px solid #ffffff12;box-shadow:0 26px 70px #0008}.entry{padding:26px}.cardtitle{display:flex;gap:16px}.cardtitle small{height:max-content;padding:5px 7px;border:1px solid #8b5cf644;border-radius:6px;color:#a78bfa}.cardtitle b,.cardtitle span{display:block}.cardtitle span{font-size:11px;color:#716d7d;margin-top:5px}.inputrow{display:flex;gap:8px;margin:24px 0 18px}.inputrow input{width:100%;height:52px;padding:0 16px;border:1px solid #ffffff14;border-radius:12px;background:#09080d99;color:white;outline:none}.inputrow input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf622}.inputrow button{width:52px;border:0;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#db2777);color:white;font-size:25px}.chips{display:flex;flex-wrap:wrap;gap:8px;min-height:75px;align-content:flex-start}.chips button{border:1px solid #ffffff12;border-radius:30px;padding:8px 11px 8px 14px;color:#d8d4e3;background:#ffffff08;font-size:12px}.chips b{margin-left:9px;color:#777180}.entry footer{border-top:1px solid #ffffff0d;padding-top:18px;margin-top:18px;display:flex;justify-content:space-between;font:700 10px monospace;color:#686374}.entry footer button{border:0;background:none;color:#756f80;font-size:10px}.preview{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.preview label{position:absolute;top:20px;left:20px;font:700 9px monospace;letter-spacing:.18em;color:#777181}.miniwheel{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;border:7px solid #17131e;box-shadow:0 0 45px #8b5cf633;transform:rotate(-15deg)}.miniwheel i{width:48px;height:48px;background:#111019;border:6px solid #ffffff12;border-radius:50%}.preview p{font-size:11px;color:#777181}.preview p b{font-size:15px;color:white}.launch{margin:26px 0 0 auto;width:340px;height:65px;border:0;border-radius:14px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;background:#f7f5ff;color:#0b0910;font-weight:900;box-shadow:0 18px 50px #8b5cf633;transition:.2s}.launch:hover{transform:translateY(-3px)}.launch:disabled{opacity:.35;cursor:not-allowed}.launch>b{font-size:24px}.game{width:min(1380px,calc(100% - 48px));margin:auto;min-height:calc(100svh - 90px);position:relative}.back{position:absolute;top:12px;z-index:4;border:0;background:none;color:#837d91;font-size:12px}.gamegrid{display:grid;grid-template-columns:minmax(500px,1.2fr) minmax(300px,.8fr);align-items:center;gap:7vw;min-height:calc(100svh - 110px)}.wheelwrap{width:min(68vh,670px);aspect-ratio:1;position:relative;justify-self:center}.glow{position:absolute;inset:4%;border-radius:50%;background:#8b5cf6;filter:blur(70px);opacity:.28}.wheel{position:absolute;inset:5%;border-radius:50%;border:12px solid #15121c;box-shadow:0 0 0 2px #ffffff25,0 25px 80px #000c;transition:transform 7.2s cubic-bezier(.08,.68,.025,1);overflow:hidden}.wheel:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,transparent 0 46%,#fff1 47%,transparent 51%)}.slice{position:absolute;left:calc(50% - 42px);top:50%;width:84px;height:50%;transform-origin:50% 0;display:flex;justify-content:center;padding-top:8%;font-size:clamp(15px,2vw,24px);font-weight:900;text-shadow:0 2px 4px #0008}.slice b{height:max-content}.hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:17%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#211c2b,#0a090e);border:5px solid #ffffff18;color:#a78bfa;font-size:clamp(24px,4vw,52px);font-weight:950}.pointer{position:absolute;right:-1%;top:50%;transform:translateY(-50%);z-index:6;width:58px;height:58px;background:white;clip-path:polygon(100% 0,100% 100%,0 50%);filter:drop-shadow(0 0 20px #fff8)}.moving .pointer{animation:tick .115s linear infinite}@keyframes tick{50%{transform:translateY(-50%) rotate(6deg)}}aside{max-width:440px}aside>small{color:#a78bfa;font:700 10px monospace;letter-spacing:.3em}aside h2{font-size:clamp(42px,5.4vw,78px);line-height:.93;letter-spacing:-.06em;margin:23px 0}aside p{color:#8c8798;font-size:13px}.spin{margin-top:38px;width:min(300px,100%);aspect-ratio:1;border-radius:50%;border:1px solid #a78bfa;background:radial-gradient(circle at 35% 30%,#a78bfa,#7c3aed 48%,#3b0764);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 12px #8b5cf611,0 0 80px #8b5cf666;transition:.3s}.spin:hover{transform:scale(1.045)}.spin b{font-size:35px}.spin span{font-size:10px;opacity:.65}.hint{margin-top:28px;font-size:10px;color:#635e6d;text-align:center;width:300px}.hint kbd{border:1px solid #ffffff1a;border-radius:5px;padding:4px 8px;margin-right:7px}.winner{position:fixed;inset:0;z-index:30;background:#07050de5;backdrop-filter:blur(16px);display:grid;place-items:center;overflow:hidden;animation:flash .5s}.rays{position:absolute;width:130vmax;aspect-ratio:1;background:repeating-conic-gradient(#8b5cf61c 0 8deg,transparent 8deg 17deg);animation:rays 14s linear infinite}@keyframes rays{to{transform:rotate(360deg)}}@keyframes flash{from{background:white}}.winnerbox{text-align:center;z-index:2;animation:pop .7s cubic-bezier(.17,.89,.29,1.35)}@keyframes pop{from{transform:scale(.35) rotate(-8deg);opacity:0}}.winnerbox label{font:800 11px monospace;letter-spacing:.34em;color:#f0abfc}.winnerbox p{color:#aaa3b4;margin:30px 0 0}.winnerbox h3{font-size:clamp(70px,14vw,190px);line-height:.9;margin:8px 0 40px;max-width:90vw;overflow-wrap:anywhere;background:linear-gradient(90deg,#fff,#c4b5fd,#f9a8d4,#fff);background-size:200%;-webkit-background-clip:text;color:transparent;animation:shine 2s linear infinite}@keyframes shine{to{background-position:200%}}.winnerbox button{border:1px solid #ffffff2b;border-radius:99px;background:#ffffff0d;color:white;padding:15px 28px}.winnerbox small{display:block;margin-top:18px;color:#4e4956}#confetti i{position:absolute;top:-20px;left:var(--x);width:8px;height:18px;background:hsl(var(--h),90%,60%);animation:fall var(--dur) linear infinite;animation-delay:var(--delay)}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}
@media(max-width:900px){header{height:76px;padding:20px 22px}.setup{width:calc(100% - 32px);margin-top:4vh}.setup h1{font-size:64px}.lead br{display:none}.grid{grid-template-columns:1fr}.preview{display:none}.launch{width:100%}.game{width:calc(100% - 28px)}.gamegrid{grid-template-columns:1fr;padding:65px 0 35px;gap:24px}.wheelwrap{width:min(88vw,54vh)}.wheel{border-width:8px}.pointer{width:38px;height:38px}.slice{font-size:13px}aside{text-align:center;margin:auto}aside h2{margin:12px 0}.spin{width:180px;margin:22px auto 0}.spin b{font-size:25px}.hint{display:none}}@media(max-width:480px){.setup h1{font-size:54px}.entry{padding:19px}.wheelwrap{width:92vw}aside h2{font-size:40px}.winnerbox h3{font-size:22vw}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}.wheel{transition-duration:.01ms}}
