:root{color:#233047;background:#dfe5e9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{overflow:hidden}button{border:0;font:inherit;color:inherit;cursor:pointer}.app{min-height:100vh;min-height:100svh;display:grid;place-items:center;background:radial-gradient(circle at 18% 8%,rgba(255,215,111,.13),transparent 24%),radial-gradient(circle at 88% 22%,rgba(98,212,200,.11),transparent 28%),linear-gradient(180deg,#e5eaed,#d5dde2);padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));touch-action:none;color:#233047;transition:background .18s ease,color .18s ease}.app.theme-dark{color:#eef5ff;background:radial-gradient(circle at 18% 8%,rgba(255,204,66,.12),transparent 24%),radial-gradient(circle at 88% 22%,rgba(37,199,183,.15),transparent 28%),linear-gradient(180deg,#141d2d,#0d1320)}.phone-shell{width:min(100%,430px);height:min(100svh - 24px,860px);min-height:610px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px;position:relative}.phone-shell.screen-playing.mode-roguelite{grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto;gap:9px}.shake-power-2{animation:screen-shake-soft .26s ease}.shake-power-3{animation:screen-shake-medium .36s ease}.shake-power-4,.shake-power-5{animation:screen-shake-strong .46s ease}.shake-power-6{animation:screen-shake-fantastic .64s ease}.topbar,.run-info,.status-row,.menu-top{display:flex;align-items:center;justify-content:space-between}.eyebrow{margin:0;color:#6c7892;font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;line-height:1;letter-spacing:0}h1{font-size:2.6rem}h2{font-size:4rem}.score-card{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:8px;background:#f8fbfcc7;box-shadow:inset 0 0 0 1px #7892a638;font-weight:850}.theme-dark .score-card,.theme-dark .status-row button,.theme-dark .modal button,.theme-dark .piece-card,.theme-dark .mode-card{background:#172236c7;box-shadow:inset 0 0 0 1px #b2c8eb29}.theme-dark .modal button{background:#25c7b7;color:#07111f;box-shadow:0 10px 24px #25c7b733}.status-row button,.modal button,.end-run-button,.menu-setting button{min-height:38px;border-radius:8px;padding:0 14px;background:#f8fbfcbd;box-shadow:inset 0 0 0 1px #7892a638;font-weight:800}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:98px}.end-run-button{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;min-width:98px}.run-score{min-width:72px;text-align:center;font-size:2.25rem;line-height:1;font-weight:900}.run-info{min-height:24px;color:#657186;font-size:.72rem;font-weight:850;text-transform:uppercase}.run-info span{display:inline-flex;align-items:center;gap:4px}.theme-dark .run-info{color:#a9b8cf}.menu-screen{min-height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px}.menu-top{padding-top:4px}.menu-top h1{font-size:2.35rem}.menu-toggles{display:flex;gap:8px}.icon-button{width:38px;min-height:38px;padding:0;border-radius:8px;display:grid;place-items:center;background:#f8fbfcbd;box-shadow:inset 0 0 0 1px #7892a638}.mode-cards{align-self:center;display:grid;gap:12px}.mode-card{min-height:108px;border-radius:8px;padding:18px;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;background:#f8fbfcc2;box-shadow:inset 0 0 0 1px #8296b438,0 18px 34px #6079a01f}.mode-card span{font-size:1.35rem;font-weight:900}.mode-card strong{font-size:2.2rem;line-height:1}.mode-card small{grid-column:1 / -1;color:#64728c;font-weight:800}.theme-dark .mode-card small,.theme-dark .eyebrow,.theme-dark .status-row,.theme-dark .modal p{color:#a9b8cf}.classic-card{border-left:8px solid #6bbcff}.spinout-card{border-left:8px solid #62d4c8}.roguelite-card{border-left:8px solid #d98cff}.menu-board{align-self:start;justify-self:center;width:min(28%,96px);aspect-ratio:1;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:4px;padding:6px;border-radius:8px;background:#a4bccd47;transform:rotate(-5deg)}.menu-board span{border-radius:5px;background:#f8fbfc9e}.menu-board .lit:nth-child(3n){background:#6bbcff}.menu-board .lit:nth-child(3n+1){background:#ffd76f}.menu-board .lit:nth-child(3n+2){background:#ff88a8}.menu-setting{min-height:44px;border-radius:8px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;color:#64728c;background:#f8fbfc8f;box-shadow:inset 0 0 0 1px #7892a629;font-weight:850}.menu-setting button{min-height:32px;min-width:58px;padding:0 10px}.menu-setting button.setting-on{color:#07111f;background:#ffd76f}.board-wrap{min-height:0;display:grid;place-items:center;position:relative}.board{width:min(100%,calc(100svh - 330px),390px);height:auto;max-width:100%;aspect-ratio:var(--cols) / var(--rows);display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);gap:3px;padding:7px;border-radius:8px;background:#a0b7ca80;box-shadow:0 20px 50px #58748b2e,inset 0 0 0 1px #748ea433}.board-roguelite{width:min(100%,calc((100svh - 365px)*.8),370px)}.theme-dark .board,.theme-dark .menu-board{background:#41577a85;box-shadow:0 20px 50px #0003,inset 0 0 0 1px #becfeb24}.cell{min-width:0;min-height:0;border-radius:5px;background:#f4f8fa94;box-shadow:inset 0 0 0 1px #7892a61f;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease}.theme-dark .cell{background:#e8f0ff21;box-shadow:inset 0 0 0 1px #e8f0ff14}.cell.filled{background:linear-gradient(145deg,rgba(255,255,255,.3),transparent 42%),var(--block);box-shadow:inset 0 -3px #0000001a,inset 0 0 0 1px #ffffff3d}.cell.preview-valid{background:linear-gradient(145deg,rgba(255,255,255,.42),transparent 44%),color-mix(in srgb,var(--preview),white 22%);box-shadow:inset 0 0 0 3px #ffffff85,0 0 0 2px color-mix(in srgb,var(--preview),black 12%),0 0 18px color-mix(in srgb,var(--preview),transparent 40%);transform:scale(1.06)}.cell.preview-invalid{background:#ff6c8f8f;box-shadow:inset 0 0 0 3px #ffffff6b,0 0 0 2px #dc365c80;transform:scale(1.03)}.cell.clearing{animation:clear-pop .36s ease both}.clear-power-2 .cell.clearing{animation-name:clear-pop-strong;animation-duration:.46s}.clear-power-3 .cell.clearing,.clear-power-4 .cell.clearing{animation-name:clear-pop-burst;animation-duration:.62s}.clear-power-4 .cell.clearing{box-shadow:inset 0 0 0 2px #ffffff8a,0 0 22px #ffd76f94}.cell.line-hint:not(.preview-valid):not(.preview-invalid){animation:line-hint-flash .62s ease-in-out infinite;box-shadow:inset 0 0 0 2px #ffd76fd1,0 0 16px #ffd76f7a}.cell.board-event{animation:board-event-pulse .9s ease both;box-shadow:inset 0 0 0 3px #ffd76fdb,0 0 20px #ffd76f85}@keyframes clear-pop{0%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.12);filter:brightness(1.35)}to{transform:scale(.2);opacity:0}}@keyframes clear-pop-strong{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(1.18) rotate(2deg);filter:brightness(1.45) saturate(1.18)}to{transform:scale(.08) rotate(-8deg);opacity:0}}@keyframes clear-pop-burst{0%{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.24) rotate(4deg);filter:brightness(1.6) saturate(1.28)}55%{transform:scale(.92) rotate(-4deg)}to{transform:scale(.04) rotate(12deg);opacity:0}}@keyframes line-hint-flash{0%,to{filter:brightness(1)}50%{filter:brightness(1.32);transform:scale(1.03)}}@keyframes board-event-pulse{0%{transform:scale(.84);filter:brightness(1.5)}35%{transform:scale(1.1);filter:brightness(1.35)}to{transform:scale(1);filter:brightness(1)}}@keyframes screen-shake-soft{0%,to{transform:translateZ(0)}30%{transform:translate3d(2px,-1px,0)}65%{transform:translate3d(-2px,1px,0)}}@keyframes screen-shake-medium{0%,to{transform:translateZ(0)}18%{transform:translate3d(3px,-2px,0)}36%{transform:translate3d(-4px,2px,0)}58%{transform:translate3d(3px,2px,0)}78%{transform:translate3d(-2px,-1px,0)}}@keyframes screen-shake-strong{0%,to{transform:translateZ(0)}14%{transform:translate3d(5px,-3px,0) rotate(.15deg)}30%{transform:translate3d(-6px,3px,0) rotate(-.15deg)}48%{transform:translate3d(5px,3px,0)}66%{transform:translate3d(-4px,-2px,0)}84%{transform:translate3d(2px,1px,0)}}@keyframes screen-shake-fantastic{0%,to{transform:translateZ(0) scale(1)}10%{transform:translate3d(7px,-4px,0) rotate(.2deg) scale(1.006)}24%{transform:translate3d(-8px,5px,0) rotate(-.2deg) scale(1.008)}38%{transform:translate3d(7px,4px,0) rotate(.14deg) scale(1.004)}54%{transform:translate3d(-5px,-3px,0) rotate(-.12deg)}72%{transform:translate3d(3px,2px,0)}}.acquired-perks{position:relative;display:grid;gap:4px;z-index:18}.acquired-perks.expanded{gap:2px;z-index:28}.perk-strip{width:100%;min-height:34px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;border-radius:8px;color:#53637b;background:#f8fbfc8f;box-shadow:inset 0 0 0 1px #7892a629;text-align:left}.perk-strip-label{font-size:.68rem;font-weight:900;text-transform:uppercase}.perk-icons{min-width:0;display:flex;gap:5px;overflow-x:auto}.acquired-perks.expanded .perk-icons{display:none}.acquired-perks.expanded .perk-strip{min-height:28px;padding:3px 8px}.perk-icon-chip{flex:0 0 auto;width:26px;height:26px;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--rarity);background:#0d1320d6;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rarity),transparent 56%)}.perk-icon-chip strong{position:absolute;right:-4px;bottom:-4px;min-width:15px;height:15px;border-radius:999px;display:grid;place-items:center;color:#07111f;background:var(--rarity);font-size:.58rem;font-weight:950;line-height:1}.empty-perks{color:#7a879b;font-size:.72rem;font-weight:850}.theme-dark .perk-strip{color:#d9e5f7;background:#172236c7;box-shadow:inset 0 0 0 1px #b2c8eb29}.perk-details{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:30;max-height:min(240px,calc(100svh - 250px));overflow-y:auto;display:grid;gap:7px;padding:8px 9px;border-radius:8px;background:#0d1320f7;box-shadow:0 18px 44px #00000057,inset 0 0 0 1px #b2c8eb2e}.perk-detail{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;color:var(--rarity)}.perk-detail-used{opacity:.46;filter:grayscale(1)}.perk-detail h4{margin:0 0 2px;color:var(--rarity);font-size:.78rem;line-height:1.1}.perk-detail p,.empty-perks-note{margin:0;color:#c4cfdd;font-size:.72rem;line-height:1.28;font-weight:700}.perk-detail-used p{color:#7f8ba0}.inventory-wrap{position:relative;z-index:20}.inventory{min-height:40px;display:grid;grid-template-columns:repeat(5,46px);justify-content:center;gap:6px}.inventory-help-target{width:46px;min-width:46px}.inventory-item{width:46px;min-width:46px;min-height:40px;border-radius:8px;padding:0 6px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-items:center;gap:4px;color:#d9e5f7;background:#0d1320db;box-shadow:inset 0 0 0 1px #b2c8eb29}.inventory-item svg{width:19px;height:19px;justify-self:center}.inventory-button:disabled{cursor:default}.inventory-button:disabled svg,.inventory-button:disabled i,.inventory-button:disabled strong{opacity:.48}.inventory-item span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.inventory-item strong{min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;color:#07111f;background:#ffd76f;font-size:.66rem;font-weight:950}.inventory-item i{width:16px;height:16px;border-radius:4px;background:var(--piece);box-shadow:inset 0 0 0 1px #ffffff57}.inventory-help{position:absolute;left:0;right:0;bottom:calc(100% + 7px);z-index:34;min-height:58px;border-radius:8px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;color:#edf4ff;background:#090e18f7;box-shadow:0 16px 38px #00000057,inset 0 0 0 1px #b2c8eb2e;pointer-events:none;animation:inventory-help-in .14s ease both}.inventory-help strong{color:#ffd76f;font-size:.78rem;line-height:1.1;text-transform:uppercase}.inventory-help span{min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;color:#07111f;background:#ffd76f;font-size:.72rem;font-weight:950}.inventory-help p{grid-column:1 / -1;margin:0;color:#cfd8e3;font-size:.76rem;line-height:1.28;font-weight:700}@keyframes inventory-help-in{0%{transform:translateY(4px);opacity:0}to{transform:translateY(0);opacity:1}}.event-toast{position:absolute;bottom:10px;left:50%;transform:translate(-50%);min-height:28px;display:inline-flex;align-items:center;border-radius:8px;padding:0 10px;color:#07111f;background:#ffd76f;box-shadow:0 10px 24px #59667d33;font-size:.72rem;font-weight:900;text-transform:uppercase;pointer-events:none}.board-wrap.full-clear-burst:before,.board-wrap.full-clear-burst:after{content:"";position:absolute;inset:7%;z-index:10;border-radius:12px;pointer-events:none}.board-wrap.full-clear-burst:before{border:2px solid rgba(255,215,111,.8);box-shadow:0 0 28px #ffd76f94,inset 0 0 34px #fff3;animation:full-clear-ring 1.1s ease both}.board-wrap.full-clear-burst:after{background:radial-gradient(circle,rgba(255,255,255,.72),transparent 10%),radial-gradient(circle at 25% 35%,rgba(255,215,111,.58),transparent 12%),radial-gradient(circle at 72% 28%,rgba(124,199,255,.5),transparent 11%),radial-gradient(circle at 64% 76%,rgba(217,140,255,.45),transparent 12%);filter:blur(1px);animation:full-clear-spark 1.15s ease both}.clear-celebration{position:absolute;left:50%;top:44%;z-index:12;transform:translate(-50%,-50%);color:#fff;font-size:1.7rem;line-height:1;font-weight:950;text-transform:uppercase;text-shadow:0 2px 0 rgba(7,17,31,.48),0 0 18px rgba(255,215,111,.82);pointer-events:none;animation:clear-celebration-pop .9s ease both}.celebration-power-3{color:#9bd9ff;font-size:1.95rem}.celebration-power-4,.celebration-power-5{color:#ffd76f;font-size:2.2rem;text-shadow:0 3px 0 rgba(7,17,31,.58),0 0 20px rgba(255,215,111,.95),0 0 42px rgba(217,140,255,.44)}.celebration-power-6{color:#fff;font-size:2.45rem;text-shadow:0 3px 0 rgba(7,17,31,.62),0 0 16px rgba(255,255,255,.92),0 0 34px rgba(255,215,111,.82),0 0 56px rgba(124,199,255,.58);animation:clear-celebration-fantastic 1.2s ease both}@keyframes full-clear-ring{0%{transform:scale(.8);opacity:0}18%{transform:scale(1.02);opacity:1}70%{transform:scale(1.14);opacity:.72}to{transform:scale(1.24);opacity:0}}@keyframes full-clear-spark{0%{transform:scale(.78) rotate(-8deg);opacity:0}16%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(1.34) rotate(12deg);opacity:0}}@keyframes clear-celebration-fantastic{0%{transform:translate(-50%,-36%) scale(.58) rotate(-5deg);opacity:0;letter-spacing:0}16%{transform:translate(-50%,-50%) scale(1.24) rotate(2deg);opacity:1}48%{transform:translate(-50%,-58%) scale(1);opacity:1}to{transform:translate(-50%,-94%) scale(.86) rotate(-2deg);opacity:0;letter-spacing:.05em}}@keyframes clear-celebration-pop{0%{transform:translate(-50%,-38%) scale(.72) rotate(-3deg);opacity:0;letter-spacing:0}18%{transform:translate(-50%,-50%) scale(1.18) rotate(2deg);opacity:1}52%{transform:translate(-50%,-56%) scale(1);opacity:1}to{transform:translate(-50%,-84%) scale(.92) rotate(-1deg);opacity:0;letter-spacing:.04em}}.tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:105px}.piece-card{height:105px;border-radius:8px;display:grid;place-items:center;position:relative;background:#f8fbfca3;box-shadow:inset 0 0 0 1px #8296b433,0 12px 26px #6079a01a;transition:transform .13s ease,opacity .16s ease;-webkit-user-select:none;user-select:none}.piece-card:not(.used):active{transform:scale(.96)}.piece-card.tap-rotates{cursor:grab}.piece-card.used{opacity:.28}.reroll-button{position:absolute;top:7px;right:7px;width:28px;min-height:28px;padding:0;border-radius:8px;display:grid;place-items:center;color:#07111f;background:#ffd76f;box-shadow:0 6px 14px #59667d2e;z-index:2}.pocket-button{position:absolute;top:7px;left:7px;width:28px;min-height:28px;padding:0;border-radius:8px;display:grid;place-items:center;color:#07111f;background:#d98cff;box-shadow:0 6px 14px #59667d2e;z-index:2}.spin-button{position:absolute;bottom:7px;right:7px;width:28px;min-height:28px;padding:0;border-radius:8px;display:grid;place-items:center;color:#07111f;background:#7cc7ff;box-shadow:0 6px 14px #59667d2e;z-index:2}.piece-grid{display:grid;grid-template-columns:repeat(var(--piece-cols),18px);grid-template-rows:repeat(var(--piece-rows),18px);gap:3px}.mini-cell{width:18px;height:18px;border-radius:5px}.mini-cell.on{background:linear-gradient(145deg,rgba(255,255,255,.32),transparent 46%),var(--piece);box-shadow:inset 0 -2px #0000001a,0 5px 12px color-mix(in srgb,var(--piece),transparent 70%)}.drag-piece{position:fixed;z-index:20;transform:translate(-50%,-50%) scale(1.45);pointer-events:none;filter:drop-shadow(0 20px 28px rgba(38,65,103,.3)) brightness(1.06)}.drag-piece .mini-cell{width:20px;height:20px}.status-row{min-height:42px;color:#61708c;font-weight:800}.footer-actions{display:flex;gap:8px}.overlay{position:absolute;inset:0;display:grid;place-items:center;border-radius:16px;background:#e2ecf1b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30}.modal{width:min(82%,300px);border-radius:8px;padding:26px;text-align:center;background:#f8fbfce6;box-shadow:0 24px 70px #46627838}.modal h3{margin:8px 0 2px;font-size:1.25rem;line-height:1.1}.theme-dark .modal{background:#141f31eb;box-shadow:0 24px 70px #00000052}.modal p{margin:10px 0 18px;color:#65738c;font-weight:800}.modal button{color:#fff;background:#5f9eea}.modal-actions{display:flex;justify-content:center;gap:8px}.perk-modal{width:min(92%,360px);padding:30px 22px;color:#edf4ff;background:#0c121ff5;box-shadow:0 24px 70px #0000005c,inset 0 0 0 1px #becfeb24}.perk-modal h3{margin-top:6px;font-size:1.45rem}.perk-modal .eyebrow{color:#94a3b8}.perk-choices{display:grid;gap:14px;margin-top:24px;margin-bottom:4px}.perk-choice{min-height:96px;border:2px solid color-mix(in srgb,var(--rarity),transparent 18%);border-radius:8px;padding:16px 15px;display:grid;grid-template-columns:48px 1fr;gap:6px 14px;align-items:center;text-align:left;color:#edf4ff;background:#0b1220;box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 26px #0000002e}.modal button.perk-choice,.theme-dark .modal button.perk-choice{background:#0b1220;color:#edf4ff;box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 26px #0000002e}.perk-choice-icon{grid-row:1 / 3;width:48px;height:100%;min-height:64px;display:grid;place-items:center;border-radius:8px;color:var(--rarity);background:#ffffff09;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--rarity),transparent 45%),0 0 18px color-mix(in srgb,var(--rarity),transparent 74%)}.perk-choice-icon svg{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--rarity),transparent 40%)) drop-shadow(0 2px 0 rgba(0,0,0,.34))}.perk-choice-name{color:var(--rarity);font-size:1.05rem;font-weight:900;line-height:1.12}.perk-choice p{grid-column:2;margin:0;color:#cfd8e3;font-size:.82rem;line-height:1.34;font-weight:650}.rarity-common{--rarity: #cfd8e3}.rarity-rare{--rarity: #7cc7ff}.rarity-epic{--rarity: #d98cff}.rarity-legendary{--rarity: #ffae70}.app.theme-neon{color:#f2fbff;background:radial-gradient(circle at 18% 10%,rgba(0,255,214,.18),transparent 28%),radial-gradient(circle at 82% 18%,rgba(255,63,220,.16),transparent 30%),linear-gradient(180deg,#120927,#050611)}.theme-neon .score-card,.theme-neon .status-row button,.theme-neon .piece-card,.theme-neon .mode-card,.theme-neon .menu-setting,.theme-neon .icon-button,.theme-neon .end-run-button,.theme-neon .perk-strip,.theme-neon .inventory-item{color:#f2fbff;background:#0a1123d1;box-shadow:inset 0 0 0 1px #4cf0ff38,0 0 18px #ff3fdc17}.theme-neon .board,.theme-neon .menu-board{gap:1px;padding:2px;background:linear-gradient(135deg,#583eff75,#00ffd64d 48%,#ff3fdc6b),#04081c42;box-shadow:0 0 0 1px #54c6ff94,0 0 18px #54c6ff47,0 0 36px #9747ff2e,inset 0 0 28px #6347ff2e}.theme-neon .cell{border-radius:0;background:radial-gradient(circle at 50% 50%,rgba(147,94,255,.08),transparent 58%),#090c275c;box-shadow:inset 0 0 0 1px #7850ff5c,inset 1px 0 #56d1ff2e,inset 0 1px #bd5eff2e}.theme-neon .cell.filled{background:linear-gradient(145deg,rgba(255,255,255,.36),transparent 42%),var(--block);box-shadow:inset 0 -3px #0003,inset 0 0 0 1px #ffffff57,0 0 14px color-mix(in srgb,var(--block),transparent 46%)}.theme-neon .cell.preview-valid{background:linear-gradient(145deg,rgba(255,255,255,.46),transparent 44%),color-mix(in srgb,var(--preview),#00ffd6 34%);box-shadow:inset 0 0 0 3px #ebffffb3,0 0 0 2px #00ffd6,0 0 22px #00ffd6b8,0 0 34px #ff3fdc47}.theme-neon .cell.preview-invalid{background:#ff2d76b8;box-shadow:inset 0 0 0 3px #ffebf794,0 0 0 2px #ff2d76,0 0 22px #ff2d76bd}.theme-neon .cell.line-hint:not(.preview-valid):not(.preview-invalid){box-shadow:inset 0 0 0 2px #fff369f5,0 0 18px #fff3699e}.theme-neon .cell.board-event{box-shadow:inset 0 0 0 3px #ff5ee6f5,0 0 22px #ff5ee6b3}.theme-neon .clear-power-4 .cell.clearing{box-shadow:inset 0 0 0 2px #ffffffb3,0 0 24px #40f0ffb8}.theme-neon .run-info,.theme-neon .mode-card small,.theme-neon .eyebrow,.theme-neon .status-row,.theme-neon .modal p{color:#a6d9f6}.theme-neon .modal{background:#080b1bf0;box-shadow:0 24px 70px #0000006b,inset 0 0 0 1px #4cf0ff2e}.theme-neon .modal button:not(.perk-choice){color:#08101c;background:#40f0ff;box-shadow:0 10px 28px #40f0ff38}.theme-neon .menu-setting button.setting-on{color:#07111f;background:#ff5ee6}.theme-neon .inventory-help,.theme-neon .perk-details{background:#050712fa;box-shadow:0 18px 44px #0006,inset 0 0 0 1px #4cf0ff2e}.app.theme-mono{color:#f3f4f6;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.08),transparent 24%),linear-gradient(180deg,#202226,#0b0c0f)}.theme-mono .score-card,.theme-mono .status-row button,.theme-mono .piece-card,.theme-mono .mode-card,.theme-mono .menu-setting,.theme-mono .icon-button,.theme-mono .end-run-button,.theme-mono .perk-strip,.theme-mono .inventory-item{color:#f3f4f6;background:#1d1f24db;box-shadow:inset 0 0 0 1px #eceef226}.theme-mono .board,.theme-mono .menu-board{gap:4px;padding:8px;background:linear-gradient(135deg,rgba(255,255,255,.06) 25%,transparent 25%) 0 0 / 12px 12px,linear-gradient(315deg,rgba(255,255,255,.04) 25%,transparent 25%) 0 0 / 12px 12px,#141518f0;box-shadow:0 0 0 1px #ffffff52,0 0 0 3px #000000b8,0 20px 50px #0000004d,inset 0 0 0 1px #eceef21a}.theme-mono .cell{border-radius:3px;background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 52%),#eef2f71a;box-shadow:inset 0 0 0 1px #ffffff26,inset 0 -1px #00000057}.theme-mono .cell.filled{background:linear-gradient(145deg,rgba(255,255,255,.36),transparent 42%),var(--block);filter:grayscale(1) contrast(1.12);box-shadow:inset 0 -3px #00000038,inset 0 0 0 1px #fff6}.theme-mono .cell.preview-valid{background:linear-gradient(145deg,rgba(255,255,255,.62),transparent 44%),color-mix(in srgb,var(--preview),white 68%);box-shadow:inset 0 0 0 3px #ffffffdb,0 0 0 2px #050608,0 0 0 4px #ffffffc2,0 0 22px #ffffff6b}.theme-mono .cell.preview-invalid{background:repeating-linear-gradient(45deg,#ffffffb8 0 5px,#5c5f66b8 5px 10px);box-shadow:inset 0 0 0 3px #08090b94,0 0 0 2px #f5f6f8,0 0 16px #ffffff57}.theme-mono .cell.line-hint:not(.preview-valid):not(.preview-invalid){box-shadow:inset 0 0 0 2px #ffffffeb,0 0 0 1px #000000e6,0 0 16px #ffffff57}.theme-mono .cell.board-event{box-shadow:inset 0 0 0 3px #fffffff2,0 0 0 2px #000000eb,0 0 18px #fff6}.theme-mono .clear-power-4 .cell.clearing{box-shadow:inset 0 0 0 2px #ffffffdb,0 0 24px #ffffff75}.theme-mono .run-info,.theme-mono .mode-card small,.theme-mono .eyebrow,.theme-mono .status-row,.theme-mono .modal p{color:#b8bdc7}.theme-mono .modal{background:#16181cf0;box-shadow:0 24px 70px #00000061}.theme-mono .modal button:not(.perk-choice),.theme-mono .menu-setting button.setting-on{color:#111318;background:#f3f4f6}.theme-mono .rarity-common{--rarity: #dadde3}.theme-mono .rarity-rare{--rarity: #b9bec7}.theme-mono .rarity-epic{--rarity: #969ca8}.theme-mono .rarity-legendary{--rarity: #ffffff}.theme-mono .inventory-help,.theme-mono .perk-details{background:#0c0d0ffa}.app.theme-candy{color:#3a2a45;background:radial-gradient(circle at 18% 8%,rgba(255,196,214,.55),transparent 26%),radial-gradient(circle at 86% 20%,rgba(151,226,255,.45),transparent 30%),linear-gradient(180deg,#fff0f6,#eaf7ff)}.theme-candy .score-card,.theme-candy .status-row button,.theme-candy .piece-card,.theme-candy .mode-card,.theme-candy .menu-setting,.theme-candy .icon-button,.theme-candy .end-run-button,.theme-candy .perk-strip,.theme-candy .inventory-item{color:#3a2a45;background:#ffffffc2;box-shadow:inset 0 0 0 1px #cd95bf33,0 14px 30px #8c6eaa1a}.theme-candy .board,.theme-candy .menu-board{background:#ffcae075;box-shadow:0 20px 50px #789ebe29,inset 0 0 0 1px #a778a62b}.theme-candy .cell{background:#ffffff9e;box-shadow:inset 0 0 0 1px #a778a61a}.theme-candy .cell.filled{background:linear-gradient(145deg,rgba(255,255,255,.38),transparent 42%),var(--block);box-shadow:inset 0 -3px #0000001a,inset 0 0 0 1px #ffffff4d,0 5px 12px color-mix(in srgb,var(--block),transparent 76%)}.theme-candy .cell.preview-valid{background:linear-gradient(145deg,rgba(255,255,255,.56),transparent 44%),color-mix(in srgb,var(--preview),#19b7ff 38%);box-shadow:inset 0 0 0 3px #ffffffc2,0 0 0 2px #1688ff,0 0 20px #1688ff75}.theme-candy .cell.preview-invalid{background:#e7306bad;box-shadow:inset 0 0 0 3px #fff5f9b8,0 0 0 2px #cc1f62,0 0 18px #cc1f626b}.theme-candy .cell.line-hint:not(.preview-valid):not(.preview-invalid){box-shadow:inset 0 0 0 2px #b459ffeb,0 0 16px #b459ff6b}.theme-candy .cell.board-event{box-shadow:inset 0 0 0 3px #ff8e20f0,0 0 18px #ff8e207a}.theme-candy .clear-power-4 .cell.clearing{box-shadow:inset 0 0 0 2px #ffffffc2,0 0 24px #ea6eb68f}.theme-candy .run-info,.theme-candy .mode-card small,.theme-candy .eyebrow,.theme-candy .status-row,.theme-candy .modal p,.theme-candy .empty-perks{color:#776080}.theme-candy .modal{background:#fffafdf0;box-shadow:0 24px 70px #8c6eaa38}.theme-candy .modal button:not(.perk-choice){color:#fff;background:#ea6eb6}.theme-candy .menu-setting button.setting-on{color:#3a2a45;background:#ffe277}.theme-candy .perk-strip{background:#ffffffad}.theme-candy .perk-details,.theme-candy .inventory-help{color:#f7fbff;background:#322342f5}.app.theme-ios-dark{color:#f5f5f7;background:#000;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Inter,sans-serif}.theme-ios-dark .score-card,.theme-ios-dark .status-row button,.theme-ios-dark .piece-card,.theme-ios-dark .mode-card,.theme-ios-dark .menu-setting,.theme-ios-dark .icon-button,.theme-ios-dark .end-run-button,.theme-ios-dark .perk-strip,.theme-ios-dark .inventory-item{color:#f5f5f7;background:#1c1c1edb;box-shadow:inset 0 0 0 1px #54545894}.theme-ios-dark .board,.theme-ios-dark .menu-board{gap:4px;padding:0;background:transparent;box-shadow:none}.theme-ios-dark .cell{border-radius:6px;background:linear-gradient(180deg,#48484c3d,#1c1c1e33);box-shadow:inset 0 0 0 1px #f2f2f70e,inset 0 1px #ffffff09}.theme-ios-dark .cell.filled{background:linear-gradient(145deg,rgba(255,255,255,.3),transparent 42%),var(--block);box-shadow:inset 0 -3px #00000029,inset 0 1px #ffffff42,inset 0 0 0 1px #fff3,0 6px 12px #0000002e}.theme-ios-dark .cell.preview-valid{background:linear-gradient(145deg,rgba(255,255,255,.3),transparent 44%),color-mix(in srgb,var(--preview),#0a84ff 42%);box-shadow:inset 0 0 0 3px #f5f5f799,0 0 0 2px #0a84ff,0 0 20px #0a84ff8f}.theme-ios-dark .cell.preview-invalid{background:#ff453ab3;box-shadow:inset 0 0 0 3px #ffebe985,0 0 0 2px #ff453a,0 0 18px #ff453a8c}.theme-ios-dark .cell.line-hint:not(.preview-valid):not(.preview-invalid){box-shadow:inset 0 0 0 2px #ffd60af5,0 0 16px #ffd60a7a}.theme-ios-dark .cell.board-event{box-shadow:inset 0 0 0 3px #bf5af2f5,0 0 20px #bf5af28f}.theme-ios-dark .clear-power-4 .cell.clearing{box-shadow:inset 0 0 0 2px #ffffffa8,0 0 24px #0a84ff9e}.theme-ios-dark .run-info,.theme-ios-dark .mode-card small,.theme-ios-dark .eyebrow,.theme-ios-dark .status-row,.theme-ios-dark .modal p{color:#a1a1a6}.theme-ios-dark .modal{background:#1c1c1ef0;box-shadow:0 24px 70px #00000070}.theme-ios-dark .modal button:not(.perk-choice),.theme-ios-dark .menu-setting button.setting-on{color:#fff;background:#0a84ff}.theme-ios-dark .inventory-help,.theme-ios-dark .perk-details{background:#121214fa;box-shadow:0 18px 44px #00000075,inset 0 0 0 1px #54545885}.landscape-note{display:none}@media(max-height:720px){.phone-shell{min-height:0;gap:8px}.phone-shell.screen-playing.mode-roguelite{gap:6px}.phone-shell.screen-playing.mode-roguelite .topbar{min-height:34px}.phone-shell.screen-playing.mode-roguelite .end-run-button,.phone-shell.screen-playing.mode-roguelite .icon-button{min-height:34px;height:34px}.phone-shell.screen-playing.mode-roguelite .run-score{font-size:1.85rem}.phone-shell.screen-playing.mode-roguelite .run-info{min-height:18px;font-size:.66rem}.phone-shell.screen-playing.mode-roguelite .perk-strip{min-height:30px;padding:4px 8px}.phone-shell.screen-playing.mode-roguelite .inventory{min-height:36px;grid-template-columns:repeat(5,42px);gap:5px}.phone-shell.screen-playing.mode-roguelite .inventory-help-target,.phone-shell.screen-playing.mode-roguelite .inventory-item{width:42px;min-width:42px}.phone-shell.screen-playing.mode-roguelite .inventory-item{min-height:36px;padding:0 5px}.phone-shell.screen-playing.mode-roguelite .inventory-item svg{width:17px;height:17px}.phone-shell.screen-playing.mode-roguelite .inventory-item strong{min-width:16px;height:16px;font-size:.62rem}.phone-shell.screen-playing.mode-roguelite .board-roguelite{width:min(100%,calc((100svh - 315px)*.8),340px)}.tray{min-height:86px}.piece-card{height:86px}.piece-grid{grid-template-columns:repeat(var(--piece-cols),15px);grid-template-rows:repeat(var(--piece-rows),15px)}.mini-cell{width:15px;height:15px}}@media(max-height:650px){.phone-shell.screen-playing.mode-roguelite{gap:5px}.phone-shell.screen-playing.mode-roguelite .topbar{min-height:30px}.phone-shell.screen-playing.mode-roguelite .end-run-button{min-width:78px;min-height:30px;height:30px;padding:0 8px;font-size:.72rem}.phone-shell.screen-playing.mode-roguelite .top-actions{min-width:78px}.phone-shell.screen-playing.mode-roguelite .icon-button{width:31px;min-height:31px;height:31px}.phone-shell.screen-playing.mode-roguelite .run-score{min-width:56px;font-size:1.55rem}.phone-shell.screen-playing.mode-roguelite .run-info{min-height:16px;font-size:.6rem}.phone-shell.screen-playing.mode-roguelite .perk-strip{min-height:27px;padding:3px 7px}.phone-shell.screen-playing.mode-roguelite .perk-strip-label,.phone-shell.screen-playing.mode-roguelite .empty-perks{font-size:.62rem}.phone-shell.screen-playing.mode-roguelite .perk-icon-chip{width:23px;height:23px}.phone-shell.screen-playing.mode-roguelite .inventory{min-height:32px;grid-template-columns:repeat(5,38px);gap:4px}.phone-shell.screen-playing.mode-roguelite .inventory-help-target,.phone-shell.screen-playing.mode-roguelite .inventory-item{width:38px;min-width:38px}.phone-shell.screen-playing.mode-roguelite .inventory-item{min-height:32px;padding:0 4px}.phone-shell.screen-playing.mode-roguelite .inventory-item svg{width:15px;height:15px}.phone-shell.screen-playing.mode-roguelite .inventory-item strong{min-width:15px;height:15px;font-size:.58rem}.phone-shell.screen-playing.mode-roguelite .board-roguelite{width:min(100%,calc((100svh - 280px)*.8),310px)}.phone-shell.screen-playing.mode-roguelite .tray{min-height:74px;gap:7px}.phone-shell.screen-playing.mode-roguelite .piece-card{height:74px}.phone-shell.screen-playing.mode-roguelite .piece-grid{grid-template-columns:repeat(var(--piece-cols),13px);grid-template-rows:repeat(var(--piece-rows),13px);gap:2px}.phone-shell.screen-playing.mode-roguelite .mini-cell{width:13px;height:13px;border-radius:4px}.phone-shell.screen-playing.mode-roguelite .status-row{min-height:28px;font-size:.72rem}}@media(max-height:590px){.phone-shell.screen-playing.mode-roguelite{gap:4px}.phone-shell.screen-playing.mode-roguelite .run-info{font-size:.56rem}.phone-shell.screen-playing.mode-roguelite .board-roguelite{width:min(100%,calc((100svh - 250px)*.8),288px)}.phone-shell.screen-playing.mode-roguelite .tray{min-height:66px}.phone-shell.screen-playing.mode-roguelite .piece-card{height:66px}.phone-shell.screen-playing.mode-roguelite .piece-grid{grid-template-columns:repeat(var(--piece-cols),12px);grid-template-rows:repeat(var(--piece-rows),12px)}.phone-shell.screen-playing.mode-roguelite .mini-cell{width:12px;height:12px}}@media(orientation:landscape)and (max-height:560px){.phone-shell{display:none}.landscape-note{display:block;color:#31425f;font-weight:850}}
