:root{--bg:#04070f;--bg-soft:#0a1120;--panel:#101a2ec7;--border:#78aadc38;--text:#eaf3ff;--muted:#8fb0cf;--accent:#5adcff;--accent-2:#7dffcf;--gold:#ffd45e;--danger:#ff7d7d;--radius:16px;--shadow:0 18px 50px #00000073}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{background:radial-gradient(1200px 700px at 15% -10%, #306ebe47, transparent 60%), radial-gradient(900px 600px at 110% 10%, #28b4aa2e, transparent 55%), var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}.shell{max-width:1080px;margin:0 auto;padding:32px 20px 64px}.brand{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.brand h1{letter-spacing:.34em;background:linear-gradient(120deg,#eafcff,#5adcff 60%,#7dffcf);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.4rem,7vw,4.2rem);line-height:1}.brand .tag{color:var(--muted);font-size:.95rem}.lede{color:var(--muted);max-width:62ch;margin:14px 0 28px;line-height:1.6}.section-title{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin:34px 0 14px;font-size:.82rem;display:flex}.section-title:after{content:"";background:var(--border);flex:1;height:1px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.daily{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.daily .kicker{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem}.daily h2{margin:6px 0 4px;font-size:1.5rem}.daily p{color:var(--muted);margin:0}.level-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:6px;display:grid}.level-card{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(160deg,#16243ed9,#090f1cd9);padding:18px;transition:transform .14s,border-color .14s,box-shadow .14s;display:block;position:relative}.level-card:hover{border-color:#5adcff99;transform:translateY(-3px);box-shadow:0 14px 34px #145a8c59}.level-card .num{letter-spacing:.24em;color:var(--accent);font-size:.72rem}.level-card .name{margin:8px 0 12px;font-size:1.12rem;font-weight:650}.level-card .meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.stars{color:var(--gold);letter-spacing:.14em;font-size:.95rem}.stars.dim{color:#8fb0cf73}.btn{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:#142037e6;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:600;transition:transform .12s,background .12s,border-color .12s;display:inline-flex}.btn:hover{border-color:#5adcff8c;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{color:#02121a;background:linear-gradient(120deg,#1f9fd6,#35c9b0);border-color:#0000}.btn.ghost{background:0 0}.btn.small{padding:8px 14px;font-size:.86rem}.how{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.how .step{padding:16px 18px}.how .step h3{margin:0 0 6px;font-size:.95rem}.how .step p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.game-shell{flex-direction:column;gap:12px;max-width:1160px;min-height:100vh;margin:0 auto;padding:18px 16px 40px;display:flex}.topbar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.topbar .grow{flex:1}.topbar .title{letter-spacing:.04em;margin:0;font-size:1rem;font-weight:700}.topbar .subtitle{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:3px;font-size:.68rem;font-weight:500;display:block}.stat-row{flex-wrap:wrap;gap:10px;display:flex}.stat{border:1px solid var(--border);background:#0c1424cc;border-radius:12px;min-width:92px;padding:9px 14px}.stat .label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.stat .value{font-size:1.35rem;font-weight:700;line-height:1.1}.stat .value.accent{color:var(--accent)}.stat .value.gold{color:var(--gold)}.stage{border:1px solid var(--border);min-height:380px;box-shadow:var(--shadow);touch-action:manipulation;background:#04070f;border-radius:18px;flex:1;position:relative;overflow:hidden}.stage canvas{cursor:crosshair;width:100%;height:100%;display:block}.stage-msg{border:1px solid var(--border);color:var(--muted);pointer-events:none;background:#060c18cc;border-radius:999px;padding:8px 14px;font-size:.82rem;position:absolute;bottom:14px;left:14px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;background:#03070fb8;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.result{text-align:center;border-radius:20px;width:min(560px,100%);padding:26px}.result h2{margin:4px 0 6px;font-size:1.7rem}.result .sub{color:var(--muted);margin:0 0 16px}.result .big{color:var(--accent);font-size:3.4rem;font-weight:800;line-height:1}.result .stars{margin:10px 0 4px;font-size:2rem}.result .card-preview{border:1px solid var(--border);border-radius:14px;width:min(280px,70%);margin:8px auto 16px;display:block}.result .actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.result .fail{color:var(--danger);font-size:2.6rem;font-weight:800;line-height:1}.footnote{color:var(--muted);text-align:center;margin-top:18px;font-size:.78rem}.footnote .hint{color:var(--text);margin-bottom:4px;font-size:.86rem;display:block}.toast{border:1px solid var(--border);color:var(--text);z-index:50;background:#0a1424f2;border-radius:999px;padding:10px 18px;font-size:.86rem;animation:.2s rise;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:620px){.shell{padding:20px 14px 48px}.daily{flex-direction:column;align-items:stretch}.stat{min-width:74px;padding:8px 10px}.stat .value{font-size:1.1rem}.game-shell{padding:12px 8px 24px}.stage{aspect-ratio:1000/600;flex:none;min-height:0}.stage canvas{position:absolute;inset:0}.overlay{position:fixed;overflow-y:auto}}
