:root{color-scheme:dark;--bg:#10182b;--panel:#19243a;--ink:#f1f5ff;--muted:#96a6bf;--accent:#b8f171;--line:#2a3750;--c1:#6495fa;--c2:#b992ff;--c3:#f5bb68;--c4:#68d5b4;--c5:#f585a8;--tile:#233149;--shadow:rgba(0,0,0,.25)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 10%,#24334d 0,transparent 46%),radial-gradient(ellipse at 90% 60%,#1c2c40 0,transparent 55%),var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100dvh}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--muted)}[hidden]{display:none!important}.app{max-width:480px;margin:auto;padding:20px 22px max(24px,env(safe-area-inset-bottom))}.header{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.brand strong{display:block;font-size:13px;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:1.9px;color:var(--muted);margin-top:3px}.header-actions{display:flex;align-items:center;gap:9px}.coins{font-size:13px;background:#273448;padding:8px 10px;border-radius:20px}.coins span{color:var(--accent)}.icon-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;font-size:15px;color:var(--muted)}.intro{margin:27px 0 19px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--accent);font-weight:750}.intro h1{font-size:28px;font-weight:650;letter-spacing:-1px;margin:6px 0}.modes{display:flex;background:#1a2438;padding:5px;border-radius:14px;gap:5px}.modes button{flex:1;background:transparent;padding:10px 2px;border-radius:10px;color:var(--muted);font-size:12px;font-weight:650}.modes button.active{background:var(--accent);color:#1a2d21;box-shadow:0 3px 12px #0002}.modes span{font-size:10px;opacity:.7;margin-left:3px}.modes i{display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%;margin-left:4px}.stats{display:grid;grid-template-columns:1fr 1fr 1fr;padding:21px 10px 16px}.stats>div{text-align:center}.stats>div+div{border-left:1px solid var(--line)}.stats span{display:block;color:var(--muted);font-size:8px;letter-spacing:1.6px}.stats strong{display:block;font-size:27px;font-variant-numeric:tabular-nums;line-height:1.2;margin-top:5px;letter-spacing:-.8px}.combo-stat strong{color:var(--accent)}.arena{background:linear-gradient(140deg,#1f2d45,#1b263b);border:1px solid #31425a;border-radius:22px;padding:14px;box-shadow:0 14px 35px var(--shadow)}.arena-caption{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding:0 3px 12px}.arena-caption>span:first-child{color:#c8d4e6}.board-wrap{position:relative}.board{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;aspect-ratio:1;background:#121c30;padding:7px;border-radius:13px;touch-action:none;user-select:none}.cell{padding:0;border-radius:5px;background:var(--tile);position:relative;transition:background .12s,transform .12s;border:1px solid #ffffff04;aspect-ratio:1}.cell.filled,.mini-cell.filled{background:var(--color);box-shadow:inset 0 2px 0 #ffffff35,inset 0 -3px 0 #0002;border:1px solid #ffffff15}.cell.crystal{background:#5b5379;box-shadow:inset 0 0 0 1px #b9a5ef}.cell.crystal:after{content:'◆';color:#e9cfff;font-size:20px}.cell.preview{background:var(--color);opacity:.65;transform:scale(.9);outline:2px solid #ffffff8a}.cell.invalid{background:#b36170}.cell.bomb-preview{background:#814959;outline:1px solid #f59baa}.cell.clearing{animation:clear .4s ease}.float-message{pointer-events:none;position:absolute;top:37%;left:0;right:0;text-align:center;font-size:26px;font-weight:850;text-shadow:0 3px 12px #000;color:var(--accent);opacity:0}.float-message.show{animation:float 1.1s ease}.tray{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px;min-height:79px}.piece{min-width:0;position:relative;background:#152035aa;border:1px solid transparent;border-radius:11px;padding:8px 5px;display:flex;justify-content:center;align-items:center;touch-action:none;user-select:none;min-height:79px}.piece.selected{border-color:var(--accent);background:#253644}.piece.empty{opacity:.3}.piece.empty:after{content:'✓';font-size:21px;color:var(--muted)}.mini-grid{display:grid;gap:3px;pointer-events:none}.mini-cell{width:15px;height:15px;border-radius:3px}.hint{color:var(--muted);text-align:center;font-size:10px;margin:11px 0 1px;min-height:15px}.tools{display:flex;gap:10px;margin-top:14px}.tool{flex:1;background:#1c293e;border:1px solid var(--line);border-radius:13px;padding:12px 8px;display:flex;align-items:center;gap:9px;text-align:left}.tool-icon{font-size:25px;line-height:1;color:var(--accent);width:25px;text-align:center}.tool b{display:block;font-size:11px;font-weight:600}.tool small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.game-actions{display:flex;justify-content:space-between;margin:9px 0 20px}.text-button{background:transparent;color:var(--muted);font-size:11px;padding:11px 4px}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{font-size:15px;margin:0;font-weight:650}.section-title>span{font-size:10px;color:var(--muted)}.subtle{font-size:11px;color:var(--muted);line-height:1.6}.ranking{border-top:1px solid var(--line);padding-top:21px}.ranking>.subtle{margin-top:5px}.rank-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.rank-row .rank-pos{width:17px;color:var(--accent)}.rank-row .rank-name{flex:1;color:#c9d6e9}.rank-row b{font-variant-numeric:tabular-nums}.rank-row.me{background:#b8f1710c;border-radius:6px;padding-inline:8px}.shop{margin-top:21px;border:1px solid var(--line);border-radius:12px;background:#1a2438}.shop summary{cursor:pointer;font-size:12px;padding:15px;color:#b8c8df}.shop-body{padding:0 15px 15px}.shop h2{font-size:16px}.shop p{font-size:12px;line-height:1.6}.shop strong{font-size:13px}.terms-check{display:flex;gap:8px;font-size:10px;line-height:1.5;margin:15px 0;align-items:flex-start}.terms-check input{margin-top:3px;accent-color:var(--accent)}footer{padding:27px 0 0;text-align:center;color:#6e819d;font-size:9px;line-height:1.8}footer>span{letter-spacing:1.5px}footer p{font-size:9px}dialog{border:1px solid #3b4c66;border-radius:23px;padding:27px 24px 23px;background:#1c2940;color:var(--ink);max-width:410px;width:calc(100% - 36px);max-height:90dvh;overflow:auto;box-shadow:0 25px 100px #0007}dialog::backdrop{background:#080e1dc9;backdrop-filter:blur(8px)}dialog h2{font-size:26px;letter-spacing:-.6px;margin:10px 0 17px;line-height:1.15}dialog p{font-size:12px;line-height:1.65;color:#b9c8db}.dialog-close{position:absolute;right:14px;top:12px;font-size:24px;background:transparent;color:var(--muted)}.primary,.secondary{border-radius:12px;padding:14px 13px;font-size:13px;font-weight:650;width:100%;display:block;margin-top:12px}.primary{background:var(--accent);color:#1c3021}.secondary{background:#2b3b55;border:1px solid #425472;color:var(--ink)}.wide{width:100%;display:block}.instructions{padding:0;list-style:none;counter-reset:step}.instructions li{counter-increment:step;padding-left:34px;position:relative;margin:18px 0}.instructions li:before{content:counter(step);position:absolute;left:0;top:0;border:1px solid #556342;border-radius:50%;width:23px;height:23px;text-align:center;line-height:23px;font-size:10px;color:var(--accent)}.instructions b{display:block;font-size:13px}.instructions span{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:4px}.demo-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin:20px 0}.demo-grid i{height:27px;border-radius:4px;background:var(--c1);box-shadow:inset 0 2px 0 #fff3}.demo-grid .demo-gap{background:#24374e;border:2px dashed var(--c1)}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.level-grid button{background:#2b3b54;border:1px solid #40526d;border-radius:12px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:700}.level-grid button.current{background:var(--accent);color:#1c3021}.level-grid small{font-size:8px;color:#e2b76b}.result-score{display:block;font-size:52px;letter-spacing:-2px;color:var(--accent);line-height:1}.goal{padding:0 2px 10px}.goal>div:first-child{display:flex;justify-content:space-between;font-size:10px;padding-bottom:7px}.progress{height:4px;border-radius:3px;background:#32425c;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}.toast{position:fixed;z-index:120;left:50%;bottom:25px;transform:translate(-50%,15px);opacity:0;pointer-events:none;max-width:90%;width:max-content;background:#e6edf9;color:#142236;padding:12px 18px;border-radius:12px;box-shadow:0 8px 40px #0004;font-size:12px;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.drag-ghost{position:fixed;pointer-events:none;z-index:100;opacity:.9;filter:drop-shadow(0 6px 7px #0008)}.drag-ghost .mini-cell{width:var(--drag-cell);height:var(--drag-cell);border-radius:5px}.ad-overlay{position:fixed;inset:0;z-index:200;display:flex;justify-content:center;align-items:center;flex-direction:column;background:#0d152cdd;font-size:13px;pointer-events:auto}.loader{height:35px;width:35px;border:3px solid #486050;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.theme-aurora{--bg:#21182e;--panel:#322542;--accent:#e0b3ff;--tile:#3a2d50;--c1:#d6a8ff;--c2:#88d8e8;--c3:#e8b2ce;--c4:#a9d7b3;--c5:#e6c28b}.theme-aurora .arena{background:linear-gradient(140deg,#362749,#2a213d)}.theme-aurora .board{background:#211b32}.theme-aurora .primary,.theme-aurora .modes button.active{color:#382346}@keyframes clear{0%{background:#fff;transform:scale(1)}40%{background:var(--accent);transform:scale(.8)}100%{transform:scale(1)}}@keyframes float{0%{opacity:0;transform:translateY(12px) scale(.8)}20%,65%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-30px)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:360px){.app{padding:15px 13px}.intro{margin-top:20px}.intro h1{font-size:25px}.mini-cell{width:13px;height:13px}.tool{gap:5px}.tool b{font-size:10px}.board{gap:3px}.arena{padding:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.float-message.show{opacity:1}}
