:root{--custom-bg-image:none;--page-base:#2a0f38;--page-top:#4a1a61;--page-stripe-a:#8b4eba4d;--page-stripe-b:#541f7670;--ui-ink:#271133;--ui-ink-inverted:#fff6ff;--ui-muted:#78558e;--ui-shadow:#160820;--ui-surface:#fff7ff;--ui-surface-alt:#f2ddff;--ui-surface-strong:#ead0ff;--ui-primary:#5f1b7d;--ui-primary-deep:#40105a;--ui-primary-soft:#d8a8ff;--ui-primary-hot:#cf55dd;--ui-accent:#ff68c9;--ui-accent-soft:#ffd5f0;--ui-leaf:#91e36f;--ui-leaf-deep:#2f6932;--ui-gold:#f4cd63;--ui-gold-soft:#fff0a8;--ui-overlay:#240c339e;--fever-core:#fff0a8;--fever-glow:#ff68c9b8;--fever-glow-soft:#f4cd6366;color:var(--ui-ink);background:linear-gradient(135deg, var(--page-stripe-a) 0 25%, transparent 25% 50%, var(--page-stripe-b) 50% 75%, transparent 75%), linear-gradient(180deg, var(--page-top) 0%, var(--page-base) 100%);font-synthesis:none;text-rendering:optimizelegibility;background-size:32px 32px,auto;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root.has-custom-bg{background:var(--custom-bg-image) center / cover no-repeat fixed, linear-gradient(180deg, var(--page-top) 0%, var(--page-base) 100%)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(100%,880px);min-height:100vh;margin:0 auto;padding:18px;display:grid;position:relative}.score-strip{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(92px,.7fr);gap:10px;display:grid}.score-tile{border:2px solid var(--ui-shadow);background:var(--ui-surface);min-height:76px;box-shadow:5px 5px 0 var(--ui-shadow);border-radius:8px;align-content:center;gap:3px;padding:13px 16px;display:grid}.score-tile.primary{background:linear-gradient(180deg, var(--ui-primary) 0%, var(--ui-primary-deep) 100%)}.score-tile.primary .label,.score-tile.primary strong{color:var(--ui-ink-inverted)}.score-tile.compact{min-width:0}.label{color:var(--ui-muted);letter-spacing:0;font-size:.72rem;font-weight:800}.score-tile strong{min-width:0;color:var(--ui-ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.22rem,4.5vw,2.1rem);line-height:1;overflow:hidden}.score-tile.compact strong{font-size:clamp(1rem,3vw,1.35rem)}.play-wrap{grid-template-columns:minmax(0,430px) 150px;justify-content:center;align-items:stretch;gap:14px;min-height:0;display:grid}.board-frame{aspect-ratio:430/680;border:3px solid var(--ui-shadow);background:var(--ui-surface);width:min(100%,430px);min-height:0;box-shadow:8px 8px 0 var(--ui-shadow);touch-action:none;border-radius:26px;place-self:start center;transition:border-color .18s,box-shadow .18s,filter .18s;position:relative;overflow:hidden}.board-frame:after{content:"";pointer-events:none;opacity:0;box-shadow:inset 0 0 34px var(--fever-glow), inset 0 0 68px var(--fever-glow-soft);border-radius:22px;transition:opacity .18s;position:absolute;inset:0}#game{cursor:crosshair;width:100%;height:100%;display:block}.side-panel{grid-template-rows:repeat(4,auto);align-self:start;gap:10px;display:grid}.next-panel,.combo-panel{border:2px solid var(--ui-shadow);background:var(--ui-surface);box-shadow:5px 5px 0 var(--ui-shadow);border-radius:8px}.next-panel{justify-items:center;gap:4px;padding:12px 10px 8px;display:grid}#next-preview{width:116px;height:116px;display:block}.combo-panel{background:linear-gradient(180deg, var(--ui-primary-soft) 0%, var(--ui-primary-hot) 100%);align-content:center;gap:4px;min-height:86px;padding:14px;display:grid}.combo-panel strong{color:var(--ui-ink-inverted);font-size:2rem;line-height:1}.combo-panel .label{color:var(--ui-gold-soft)}.fever-meter{pointer-events:none;z-index:4;border:2px solid var(--ui-gold-soft);min-width:92px;color:var(--ui-ink-inverted);background:linear-gradient(180deg, var(--ui-primary-hot) 0%, var(--ui-primary) 100%);box-shadow:0 0 18px var(--fever-glow), 3px 3px 0 var(--ui-shadow);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:7px 10px;font-weight:900;display:grid;position:absolute;top:14px;right:14px}.fever-meter span{color:var(--ui-gold-soft);font-size:.72rem}.fever-meter strong{font-size:1.18rem;line-height:1}.button-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:8px;display:grid}.evolution-panel{border:2px solid var(--ui-shadow);background:linear-gradient(180deg, var(--ui-primary) 0%, var(--ui-primary-hot) 56%, var(--ui-accent-soft) 100%);width:150px;box-shadow:5px 5px 0 var(--ui-shadow);border-radius:8px;justify-self:end;justify-items:center;gap:2px;padding:8px 6px 6px;display:grid}.evolution-panel-top{grid-template-columns:1fr auto;place-items:center;gap:4px;width:100%;padding-left:18px;display:grid}.evolution-panel .label{color:var(--ui-gold-soft);text-shadow:0 2px #271133b8,1px 0 #27113394;font-size:.82rem}#evolution-ring{cursor:zoom-in;width:138px;height:138px;display:block}.mini-icon-button{aspect-ratio:1;width:24px;color:var(--ui-ink);background:var(--ui-gold-soft);cursor:pointer;border:1px solid #160820b8;border-radius:6px;place-items:center;display:inline-grid;box-shadow:2px 2px #160820b8}.mini-icon-button svg{stroke-width:2.5px;width:15px;height:15px}.mini-icon-button:hover{background:var(--ui-surface)}.evolution-zoom{z-index:20;background:var(--ui-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;padding:22px;display:grid;position:fixed;inset:0}.evolution-zoom-panel{border:3px solid var(--ui-shadow);background:linear-gradient(180deg, var(--ui-primary) 0%, var(--ui-primary-hot) 50%, var(--ui-accent-soft) 100%);width:min(92vw,430px);box-shadow:8px 8px 0 var(--ui-shadow);border-radius:12px;gap:10px;padding:14px;display:grid}.evolution-zoom-top{color:var(--ui-gold-soft);text-shadow:0 2px #271133b8,1px 0 #27113394;justify-content:space-between;align-items:center;gap:12px;font-size:1.15rem;font-weight:900;display:flex}#evolution-large{aspect-ratio:1;justify-self:center;width:min(100%,360px);display:block}.icon-button,.action-button{border:2px solid var(--ui-shadow);color:var(--ui-ink);background:var(--ui-surface);box-shadow:4px 4px 0 var(--ui-shadow);cursor:pointer;border-radius:8px;transition:transform .13s,box-shadow .13s,background .13s}.icon-button{aspect-ratio:1;place-items:center;width:44px;display:inline-grid}.icon-button svg,.action-button svg{stroke-width:2.4px;width:20px;height:20px}.icon-button:hover,.action-button:hover{background:var(--ui-accent)}.icon-button:active,.action-button:active{box-shadow:1px 1px 0 var(--ui-shadow);transform:translate(3px,3px)}.toast{pointer-events:none;z-index:4;border:2px solid var(--ui-shadow);max-width:calc(100% - 32px);color:var(--ui-ink);background:var(--ui-gold);box-shadow:4px 4px 0 var(--ui-shadow);white-space:nowrap;border-radius:8px;padding:9px 12px;font-weight:800;position:absolute;top:116px;left:50%;transform:translate(-50%)}.danger-countdown{pointer-events:none;z-index:4;color:#fff;box-shadow:0 0 32px #ff3b6ba6, 5px 5px 0 var(--ui-shadow);text-align:center;background:linear-gradient(#ff3b6b 0%,#c01a3d 100%);border:3px solid #ffe9e9;border-radius:14px;justify-items:center;gap:6px;padding:18px 28px;font-weight:900;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.danger-countdown-label{letter-spacing:.18em;color:#ffe9e9;font-size:.78rem}.danger-countdown strong{text-shadow:0 2px #00000040;font-size:3.4rem;line-height:1}.danger-countdown.pulse{animation:.42s ease-out dangerCountdownPulse}@keyframes dangerCountdownPulse{0%{box-shadow:0 0 48px #ff3b6be6, 5px 5px 0 var(--ui-shadow);transform:translate(-50%,-50%)scale(1.35)}to{box-shadow:0 0 32px #ff3b6ba6, 5px 5px 0 var(--ui-shadow);transform:translate(-50%,-50%)scale(1)}}.game-over{z-index:5;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff7ffdb;align-content:center;place-items:center;gap:14px;padding:28px;display:grid;position:absolute;inset:0}.game-over-kicker{color:var(--ui-accent);letter-spacing:0;margin:0;font-size:.8rem;font-weight:900}.game-over h1{max-width:12em;margin:0;font-size:clamp(1.6rem,8vw,3rem);line-height:1.04}.game-over-score{color:var(--ui-muted);margin:0;font-weight:800}.action-button{justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:850;display:inline-flex}.action-button.wide{min-width:164px}.hint-bar{border:2px solid var(--ui-shadow);background:var(--ui-surface);min-height:42px;box-shadow:5px 5px 0 var(--ui-shadow);color:var(--ui-muted);border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:.82rem;font-weight:800;display:flex}.fever-target{z-index:14;aspect-ratio:1;border:2px solid var(--fever-core);width:84px;color:var(--ui-ink);background:radial-gradient(circle at 50% 48%, #ffffffeb 0 32%, transparent 33%), radial-gradient(circle, var(--fever-core) 0 42%, var(--ui-accent) 68%, var(--ui-primary) 100%);box-shadow:0 0 0 4px #ffffff2e, 0 0 26px var(--fever-glow), 0 0 72px var(--fever-glow-soft);cursor:pointer;opacity:0;border-radius:50%;place-items:center;padding:0;transition:opacity .18s,transform .18s;animation:1.4s ease-in-out infinite feverTargetFloat,.85s ease-in-out infinite feverTargetPulse;display:grid;position:fixed;transform:translate(-50%,-50%)scale(.72)}.fever-target:not(.hidden){opacity:1;transform:translate(-50%,-50%)scale(1)}.fever-target canvas{filter:drop-shadow(0 4px #16082047);width:66px;height:66px;display:block}.fever-target:hover{transform:translate(-50%,-50%)scale(1.08)}body.fever-active .board-frame{border-color:var(--fever-core);box-shadow:0 0 0 3px var(--ui-primary-hot), 0 0 28px var(--fever-glow), 0 0 78px var(--fever-glow-soft), 8px 8px 0 var(--ui-shadow);filter:saturate(1.12)}body.fever-active .board-frame:after{opacity:1}body.fever-active .score-tile,body.fever-active .next-panel,body.fever-active .combo-panel,body.fever-active .evolution-panel,body.fever-active .hint-bar{box-shadow:0 0 18px #ff68c94d, 5px 5px 0 var(--ui-shadow)}kbd{border:1px solid var(--ui-shadow);min-width:28px;min-height:24px;color:var(--ui-ink);background:var(--ui-surface-alt);box-shadow:2px 2px 0 var(--ui-shadow);border-radius:6px;place-items:center;padding:3px 8px;font-family:inherit;font-size:.78rem;font-weight:900;line-height:1;display:inline-grid}.hidden{display:none}@keyframes feverTargetFloat{0%,to{margin-top:0}50%{margin-top:-9px}}@keyframes feverTargetPulse{0%,to{box-shadow:0 0 0 4px #ffffff2e, 0 0 26px var(--fever-glow), 0 0 72px var(--fever-glow-soft)}50%{box-shadow:0 0 0 8px #ffffff24, 0 0 42px var(--fever-glow), 0 0 92px var(--fever-glow-soft)}}@media (width<=899px),(pointer:coarse){.fever-target{display:none!important}}@media (width<=700px){.app-shell{gap:10px;padding:10px}.score-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(84px,.7fr);gap:8px}.score-tile{min-height:58px;box-shadow:3px 3px 0 var(--ui-shadow);padding:10px 12px}.score-tile.compact{grid-column:auto;min-height:58px}.play-wrap{grid-template-columns:minmax(0,430px);justify-items:center}.board-frame{width:min(100%,430px)}.side-panel{grid-template-rows:auto;grid-template-columns:minmax(96px,1fr) minmax(76px,.72fr) auto;align-items:stretch;width:min(100%,430px)}.next-panel{grid-template-columns:auto 1fr;place-items:center start;min-height:92px;padding:8px 10px}#next-preview{justify-self:end;width:82px;height:82px}.combo-panel{min-height:92px;padding:10px}.button-grid{grid-template-columns:repeat(3,44px);place-content:center end;width:auto}.evolution-panel{display:none}.hint-bar{justify-content:flex-start}}@media (width<=460px){.board-frame{box-shadow:4px 4px 0 var(--ui-shadow);border-radius:20px}.hint-bar{font-size:.76rem}kbd{min-width:24px;padding-inline:6px}}
