:root{font-family:ui-rounded,"Segoe UI",system-ui,sans-serif;color:#edeafb;background:#191824;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:wait}button:focus-visible,canvas:focus-visible{outline:2px solid #7cc4ff;outline-offset:4px}button{transition:background .15s,transform .15s}button:active:not(:disabled){transform:scale(.95)}[hidden]{display:none!important}.player{position:relative;max-width:480px;min-height:100svh;margin:auto;background:#201f30}.game-screen{height:100svh;min-height:420px;max-height:1100px;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 10px env(safe-area-inset-bottom)}.hud{height:88px;min-height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;border-bottom:1px solid #373448;padding:0 8px}.hud-actions{display:flex;gap:8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;width:40px;height:40px;padding:10px;background:#383650;color:#bcb8ef;flex-shrink:0}.icon-button:hover{background:#484466}.icon-button svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.hud-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:110px}#difficulty{font-size:12px;font-weight:750;color:#65c5ff;white-space:nowrap}.hearts{display:flex;align-items:center;justify-content:center;gap:2px;min-height:30px}.heart{display:inline-block;font-size:27px;line-height:1;color:#f14c75;will-change:opacity,transform}.level-label{justify-self:end;font-size:11px;color:#9290ac;white-space:nowrap}.board{position:relative;flex:1;min-height:220px;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas.dragging{cursor:grabbing}.guides{position:absolute;right:10px;bottom:16px;width:48px;height:48px;padding:13px;background:#39364f;box-shadow:0 4px 18px #14132355}.guides[aria-pressed="true"]{background:#6c55b9;color:#fff}.scene-footer{display:none!important}output{display:block;font-size:12px;color:#cbc6e5;min-height:16px}.gesture-hint{font-size:10px;color:#827d9a}.home-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 32px}.eyebrow{font-size:10px;letter-spacing:.2em;color:#a29bbb}h1{font-size:76px;letter-spacing:-.07em;line-height:1.1;margin:20px 0}h1 span{display:inline-block;color:#9d85f6;font-size:58px;vertical-align:top;margin-left:6px}p{color:#aaa3be;font-size:14px;line-height:1.6}.home-level{margin:36px 0 24px;display:flex;flex-direction:column;gap:8px}.home-level span{font-size:25px;font-weight:650}.home-level small{color:#65c5ff;font-size:13px}.primary,.secondary{border:0;border-radius:16px;min-height:52px;padding:14px 24px;font-size:15px;font-weight:650}.primary{background:#8764e8;color:white;box-shadow:0 5px 22px #09071322}.primary:hover{background:#9877f2}.secondary{background:#38344d;color:#d3cde7}.secondary:hover{background:#46405e}.home-screen>.primary{width:100%;max-width:310px}.home-status{font-size:12px;min-height:40px;max-width:310px}dialog{border:1px solid #53496c;border-radius:26px;background:#2c293e;color:#edeafb;width:calc(100% - 44px);max-width:360px;padding:0;box-shadow:0 24px 80px #0006}dialog::backdrop{background:#12111ed9;backdrop-filter:blur(4px)}.modal-content{text-align:center;padding:32px 24px 24px}.modal-symbol{display:block;font-size:32px;color:#b9a4fc;line-height:1.2}h2{font-size:25px;letter-spacing:-.025em;margin:14px 0 8px}.modal-content p{margin:0 0 24px;font-size:13px}.modal-actions{display:flex;flex-direction:column;gap:10px}.stars{font-size:44px;letter-spacing:8px;margin:6px 0 24px;color:#f5c76d;white-space:nowrap}.stars .empty{color:#575065}@media(max-width:355px){.hud{padding:0;gap:4px}.hud-actions{gap:4px}.icon-button{width:36px;height:36px;padding:9px}.hud-center{min-width:96px}.level-label{font-size:10px}.gesture-hint{font-size:9px}h1{font-size:65px}}@media(max-height:630px){.hud{height:74px;min-height:74px}.scene-footer{min-height:44px;padding-bottom:6px}.gesture-hint{display:none}.guides{bottom:10px}}@media(prefers-reduced-motion:reduce){button{transition:none}dialog::backdrop{backdrop-filter:none}}

.storage-status:empty{display:none}.storage-status{font-size:11px;color:#f5c76d;line-height:1.4}
.home-screen{height:100svh;min-height:100svh;justify-content:stretch;padding:0 0 env(safe-area-inset-bottom)}.home-content{flex:1;min-height:0;width:100%;overflow:auto;padding:34px 24px 18px;display:flex;align-items:flex-start;justify-content:center}.tab-panel{width:100%;max-width:380px;text-align:center;margin-block:auto}.tab-panel[hidden]{display:none}.home-screen .home-level{margin:28px 0 18px}.home-screen .home-status{margin:12px auto;min-height:38px}.wide{width:100%;max-width:330px;margin:8px auto}.bottom-nav{flex:0 0 auto;width:100%;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:#191824;border-top:1px solid #373448}.bottom-nav button{border:0;background:transparent;color:#9691aa;padding:9px 2px;font-size:10px}.bottom-nav button[aria-current=page]{color:#b9a4fc;font-weight:750}.tab-panel h2{margin:10px 0 18px}.calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin:16px 0}.calendar-head .secondary{padding:4px;min-height:40px;font-size:22px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{font-size:10px;color:#817c96;padding:5px 0}.day-cell,.level-cell{border:0;border-radius:10px;background:#302d43;color:#e7e2f6;min-width:0;min-height:39px;padding:3px;font-size:12px}.day-cell:disabled{opacity:.22}.day-cell.selected{outline:2px solid #a98afa;background:#51456f}.day-cell.completed{background:#294947;color:#9de2c7}.day-blank{min-height:1px}.tab-panel #daily-status{min-height:40px;font-size:12px}.level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:55svh;overflow:auto;padding:3px}.level-cell{white-space:pre-line;min-height:54px}.level-cell:not(:disabled):hover{background:#46405e}.tutorial-hint{position:absolute;z-index:2;top:calc(env(safe-area-inset-top) + 94px);left:18px;right:18px;display:flex;flex-direction:column;gap:7px;padding:12px 14px;border:1px solid #625782;border-radius:16px;background:#28253beF;box-shadow:0 8px 26px #100e1c66;font-size:12px;color:#d6d0e9}.tutorial-hint strong{color:#c4b2ff}.tutorial-hint button{align-self:flex-end;min-height:36px;padding:8px 14px;font-size:12px}.tutorial-hint[hidden]{display:none}.tab-panel>p{font-size:13px}
.collection-panel{max-width:440px}.achievement-list{text-align:left;display:flex;flex-direction:column;gap:18px;padding-bottom:12px}.achievement-group h3{font-size:14px;margin:10px 0;color:#c6b6fa}.achievement-cards{display:grid;grid-template-columns:1fr;gap:8px}.achievement-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 10px;text-align:left;padding:12px 13px;border:1px solid #403b56;border-radius:14px;background:#29273a}.achievement-card strong{font-size:13px}.achievement-card>span:not(.achievement-status){grid-column:1 / -1;color:#aaa3be;font-size:11px;line-height:1.4}.achievement-card .achievement-progress{font-variant-numeric:tabular-nums}.achievement-card .achievement-status{grid-column:2;grid-row:1;color:#9691aa;font-size:10px;align-self:start}.achievement-card.unlocked{border-color:#655789;background:#302b43}.achievement-card.unlocked .achievement-status{color:#9de2c7}.achievement-card.locked{opacity:.72}
.achievement-family{display:block;padding:0;overflow:hidden}.achievement-family summary{list-style:none;cursor:pointer}.achievement-family summary::-webkit-details-marker{display:none}.achievement-family-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:13px}.achievement-family-summary:after{content:'⌄';grid-column:2;grid-row:1;color:#aaa3be;font-size:16px}.achievement-family[open] .achievement-family-summary:after{content:'⌃'}.achievement-family-summary strong{grid-column:1;grid-row:1}.achievement-family-summary span{grid-column:1 / -1;color:#aaa3be;font-size:10px}.achievement-family-condition{display:block;padding:0 13px 10px;color:#aaa3be;font-size:11px;line-height:1.4}.achievement-tier-list{display:flex;flex-direction:column;gap:5px;padding:0 9px 10px}.achievement-tier{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 10px;border-radius:10px;background:#201f30;font-size:11px}.achievement-tier>span:last-child{color:#9691aa;font-size:10px}.achievement-tier.unlocked>span:nth-child(2){color:#9de2c7}.achievement-tier.locked{opacity:.72}
.level-pages{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;margin:14px auto 4px;max-width:380px}.level-pages .secondary{min-height:42px;padding:8px 14px}.level-pages .secondary:disabled{opacity:.38}
@media(max-width:355px){.bottom-nav button{font-size:9px}.calendar{gap:3px}.day-cell{min-height:35px}}
.settings-panel{text-align:left;padding-bottom:16px}.settings-panel .wide{max-width:none}.settings-panel h2{text-align:center}.settings-panel>p{text-align:center}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;margin:7px 0;border:1px solid #403b56;border-radius:13px;background:#29273a;color:#ded9eb;font-size:13px}.setting-row select{max-width:52%;min-height:38px;padding:5px 28px 5px 10px;border:1px solid #5a536d;border-radius:9px;background:#201f30;color:inherit;font:inherit}.setting-row input{width:22px;height:22px;accent-color:#8764e8;flex:none}.achievement-card{grid-template-columns:24px 1fr auto}.achievement-card .achievement-badge{grid-column:1;grid-row:1 / span 2;align-self:center;font-size:19px}.achievement-card>strong{grid-column:2;grid-row:1}.achievement-card .achievement-status{grid-column:3;grid-row:1}.achievement-card>span:not(.achievement-status):not(.achievement-badge){grid-column:2 / -1}
html[data-theme="light"]{color-scheme:light;background:#e9e8f0;color:#292638}html[data-theme="light"] body{background:#e9e8f0}html[data-theme="light"] .player{background:#faf9fd;color:#292638}html[data-theme="light"] .hud{border-color:#e0dce9}html[data-theme="light"] #difficulty,html[data-theme="light"] .home-level small{color:#4c69aa}html[data-theme="light"] .icon-button{background:#ebe8f4;color:#64549a}html[data-theme="light"] .secondary{background:#ebe8f4;color:#39334b}html[data-theme="light"] .bottom-nav{background:#f0eef6;border-color:#dfdbe8}html[data-theme="light"] .bottom-nav button{color:#777186}html[data-theme="light"] .bottom-nav button[aria-current=page]{color:#6348b5}html[data-theme="light"] .day-cell,html[data-theme="light"] .level-cell{background:#eeecf5;color:#383448}html[data-theme="light"] .day-cell.completed{background:#d8eee5;color:#28624f}html[data-theme="light"] .day-cell.selected{background:#e3dcf5}html[data-theme="light"] .achievement-card,html[data-theme="light"] .setting-row{background:#f1eff7;border-color:#ded9e8;color:#302c3f}html[data-theme="light"] .achievement-tier{background:#e8e5ef}html[data-theme="light"] .setting-row select{background:#fff;color:#302c3f}html[data-theme="light"] dialog{background:#faf9fd;color:#292638;border-color:#d6d0e1}html[data-theme="light"] .tutorial-hint{background:#faf9f4;color:#343043;border-color:#d9d1ee}html[data-theme="light"] .tutorial-hint strong{color:#6449a8}html[data-theme="light"] .gesture-hint,html[data-theme="light"] .level-label{color:#777186}

.achievement-cups{display:grid;gap:8px;padding:0 9px 10px}

/* Home screen: keep the first action and current level as the only content. */
.home-screen .home-content{padding:24px 24px 16px}
.home-screen #tab-home{max-width:340px}
.home-screen #tab-home h1{font-size:48px;line-height:1;margin:0 0 54px;letter-spacing:-.075em}
.home-screen #tab-home h1 span{font-size:36px;margin-left:4px}
.home-screen .home-level{margin:0 0 22px}
.home-screen .home-level span{font-size:23px}
.home-screen #play{width:100%;max-width:none;min-height:58px;font-size:16px}
.home-screen #choose-levels{display:block;margin:16px auto 0;padding:8px 12px;border:0;background:transparent;color:#aaa3be;font-size:13px;font-weight:600}
.home-screen #choose-levels:hover{color:#d3cde7;text-decoration:underline;text-underline-offset:4px}
.home-screen .home-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[data-theme="light"] .home-screen #choose-levels{color:#777186}
html[data-theme="light"] .home-screen #choose-levels:hover{color:#39334b}
.home-screen #tab-home{transform:translateY(-6svh)}
.home-screen #tab-home h1{font-size:44px;margin-bottom:34px}
.home-screen #tab-home h1 span{font-size:33px}
.home-screen .home-level{margin-bottom:18px}
.home-screen .home-level span{font-size:21px}
.home-screen #play{max-width:320px;min-height:56px;border-radius:18px}
.home-screen #choose-levels{min-height:44px;margin-top:6px;font-size:14px}
.bottom-nav{min-height:82px;padding:9px 10px calc(10px + env(safe-area-inset-bottom));background:#262438;border-top:1px solid #49455d}
.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;border-radius:14px;color:#aaa6bf;font-size:10px;font-weight:600}
.bottom-nav button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bottom-nav button:hover{background:#302d43;color:#d3cde7}
.bottom-nav button[aria-current="page"]{background:#39344f;color:#c7b7ff;font-weight:750}
html[data-theme="light"] .bottom-nav{background:#eeecf5;border-color:#d4cfdf}
html[data-theme="light"] .bottom-nav button{color:#777186}
html[data-theme="light"] .bottom-nav button:hover{background:#e5e1ef;color:#39334b}
html[data-theme="light"] .bottom-nav button[aria-current="page"]{background:#e0d8f3;color:#6348b5}
@media(max-height:700px){.home-screen #tab-home{transform:translateY(-2svh)}}
