:root{--bg1:#07070d;--bg2:#11111f;--panel:#ffffff09;--panel-2:#ffffff05;--border:#ffffff1a;--text:#e6e7ee;--muted:#8b8da3;--cyan:#22d3ee;--mag:#f472b6;--amber:#fbbf24;--green:#34d399;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "Menlo", "Consolas", monospace;--sans:system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--bg1);min-height:100vh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(120% 90% at 50% -10%,#22d3ee1f,#0000 60%),radial-gradient(90% 70% at 100% 110%,#f472b61a,#0000 60%),linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:auto,auto,42px 42px,42px 42px;background-attachment:fixed}.app{flex-direction:column;gap:26px;max-width:760px;margin:0 auto;padding:clamp(20px,5vw,48px) 18px 40px;display:flex}.hero{text-align:center;position:relative}.title{letter-spacing:.08em;background:linear-gradient(100deg, var(--cyan), var(--mag) 55%, var(--amber));color:#0000;text-shadow:0 0 40px #22d3ee26;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(30px,8vw,52px);font-weight:900;line-height:1}.subtitle{color:var(--muted);letter-spacing:.12em;margin:10px 0 0;font-size:13px}.machine{background:linear-gradient(180deg, var(--panel), var(--panel-2));border-radius:22px;padding:clamp(16px,4vw,26px);position:relative;box-shadow:0 20px 60px #00000073,inset 0 1px #ffffff0f}.machine:before{content:"";background:linear-gradient(120deg, var(--cyan), var(--mag), var(--amber), var(--cyan));-webkit-mask-composite:xor;pointer-events:none;background-size:300% 100%;border-radius:22px;padding:1px;animation:6s linear infinite borderShift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes borderShift{to{background-position:300% 0}}.reels{grid-template-columns:repeat(3,1fr);gap:clamp(8px,2.5vw,14px);display:grid}.reel{flex-direction:column;gap:8px;min-width:0;display:flex}.reel-label{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.reel-window{border:1px solid var(--border);background:linear-gradient(#0000008c,#00000059);border-radius:14px;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #0009}.reel-strip{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#00000059 12%,#000 34% 66%,#00000059 88%,#0000 100%);mask-image:linear-gradient(#0000 0%,#00000059 12%,#000 34% 66%,#00000059 88%,#0000 100%)}.reel-row{text-align:center;will-change:transform;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0 4px;transition:filter .2s;display:flex;position:absolute;top:0;left:0;right:0}.reel-icon{font-size:18px;line-height:1}.reel-text{font-family:var(--mono);color:var(--text);word-break:break-word;font-size:13px;font-weight:600;line-height:1.2}.reel-window[data-spinning=true] .reel-row{filter:blur(.7px)}.reel-highlight{border:2px solid var(--cyan);pointer-events:none;z-index:3;background:linear-gradient(#22d3ee0d,#f472b60d);border-radius:10px;position:absolute;left:0;right:0;box-shadow:0 0 18px #22d3ee59,inset 0 0 18px #22d3ee1f}.controls{justify-content:center;margin-top:clamp(18px,4vw,26px);display:flex}.spin-btn{appearance:none;cursor:pointer;font-family:var(--sans);letter-spacing:.12em;color:#08111a;background:linear-gradient(100deg, var(--cyan), var(--mag));border:none;border-radius:999px;padding:15px 46px;font-size:17px;font-weight:900;transition:transform .12s,box-shadow .2s,filter .2s;box-shadow:0 10px 30px #22d3ee59,0 4px 12px #f472b64d,inset 0 1px #ffffff80}.spin-btn:hover{filter:brightness(1.08)}.spin-btn:active{transform:translateY(2px)scale(.99);box-shadow:0 4px 14px #22d3ee4d}.spin-btn--busy{color:var(--muted);cursor:progress;background:linear-gradient(100deg,#3a3a4f,#4a4a60);box-shadow:inset 0 1px #ffffff0d}.result{border:1px solid var(--border);opacity:.55;background:#00000059;border-radius:16px;flex-direction:column;gap:12px;min-height:92px;padding:18px;transition:opacity .3s,border-color .3s;display:flex}.result--show{opacity:1;border-color:#fbbf2466;box-shadow:0 0 30px #fbbf2414}.result-placeholder{text-align:center;color:var(--muted);font-family:var(--mono);margin:auto 0;font-size:13px}.result-meta{flex-wrap:wrap;gap:8px;display:flex}.badge{font-family:var(--mono);letter-spacing:.05em;border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.badge--status{color:var(--amber);background:#fbbf2414;border-color:#fbbf2466}.badge--sev{color:var(--mag);background:#f472b614;border-color:#f472b666}.result-text{color:var(--text);margin:0;font-size:15px;font-weight:500;line-height:1.8}.result-note{color:var(--muted);font-size:12px;font-family:var(--mono);margin:0}.result-actions{flex-wrap:wrap;gap:10px;margin-top:2px;display:flex}.action-btn{appearance:none;cursor:pointer;font-family:var(--sans);border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;transition:transform .12s,background .2s,border-color .2s}.action-btn:hover{background:#ffffff17}.action-btn:active{transform:translateY(1px)}.action-btn--copy{color:var(--green);border-color:#34d39973}.action-btn--x{color:var(--text);border-color:#ffffff40}.foot{text-align:center;color:var(--muted);opacity:.7;letter-spacing:.03em;font-size:11px}button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}@media (width<=520px){.reel-text{font-size:11.5px}.reel-icon{font-size:15px}.result-text{font-size:14px}}@media (prefers-reduced-motion:reduce){.machine:before,.machine--jackpot,.jackpot-strobe,.confetti,.atsu-text{animation:none!important}}.mute-btn{appearance:none;cursor:pointer;border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:10px;place-items:center;width:38px;height:38px;font-size:17px;line-height:1;transition:background .2s,transform .12s;display:grid;position:absolute;top:0;right:0}.mute-btn:hover{background:#ffffff17}.mute-btn:active{transform:scale(.95)}.machine--jackpot{animation:.18s linear infinite shake}@keyframes shake{0%{transform:translate(0)rotate(0)}25%{transform:translate(-2px,1px)rotate(-.3deg)}50%{transform:translate(2px,-1px)rotate(.3deg)}75%{transform:translate(-1px,2px)rotate(-.2deg)}to{transform:translate(1px,-2px)rotate(.2deg)}}.reel-window--jackpot .reel-highlight{border-color:var(--amber);box-shadow:0 0 26px #fbbf2499,inset 0 0 22px #fbbf2433}.badge--atsu{color:#1a1206;background:linear-gradient(100deg, var(--amber), #ffe66d);border-color:#fbbf24b3;font-weight:800;animation:.7s infinite alternate atsBadge}@keyframes atsBadge{to{transform:scale(1.06)}}.jackpot-overlay{z-index:9999;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.jackpot-strobe{filter:blur(8px);mix-blend-mode:screen;background:conic-gradient(#fbbf2452,#f472b647,#22d3ee47,#fbbf2452);animation:.45s linear infinite strobe;position:absolute;inset:-20%}@keyframes strobe{to{transform:rotate(360deg)scale(1.1)}}.confetti{will-change:transform;text-shadow:0 0 8px #0006;animation-name:confettiFall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-8vh}@keyframes confettiFall{0%{opacity:0;transform:translateY(-8vh)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(112vh)rotate(720deg)}}.atsu-text{z-index:1;font-family:var(--sans);letter-spacing:.04em;background:linear-gradient(180deg, #fff7d6, var(--amber) 45%, #ff5a3c 85%);color:#0000;text-shadow:0 0 50px #fbbf2499;filter:drop-shadow(0 6px #00000040);-webkit-background-clip:text;background-clip:text;font-size:clamp(54px,18vw,140px);font-weight:900;line-height:1;animation:.5s cubic-bezier(.18,1.6,.4,1) both atsPop,.6s .5s infinite alternate atsPulse;position:relative}@keyframes atsPop{0%{opacity:0;transform:scale(.2)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes atsPulse{to{transform:scale(1.08)}}
