:root{color:#eaf8ff;font-synthesis:none;background:#071021;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#071021;min-width:320px;margin:0}button{font:inherit;touch-action:manipulation}button:focus-visible,summary:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #fff}.app{min-height:100svh;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));isolation:isolate;place-items:center;display:grid;overflow:hidden}.starfield{z-index:-1;background:radial-gradient(circle at 20% 15%,#4e75bc33,#0000 25%),radial-gradient(circle at 83% 75%,#cb79f527,#0000 30%),linear-gradient(160deg,#071021,#0b1230 55%,#071021);position:fixed;inset:0}.starfield:after{content:"";opacity:.38;background-image:radial-gradient(#b9e9ff 1px,#0000 1.5px);background-size:37px 41px;position:absolute;inset:0}.brand{top:max(15px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));z-index:1;align-items:center;gap:9px;display:flex;position:fixed}.brand img{width:98px;height:auto}.brand span{letter-spacing:.18em;color:#a9cfe2;border-left:1px solid #a8dff055;padding-left:9px;font:700 10px/1 ui-monospace,monospace}.game-shell{width:min(100%,700px);position:relative}.hud{color:#dff6ff;justify-content:space-between;align-items:end;gap:12px;padding:0 8px 11px;display:flex}.hud strong{letter-spacing:-.04em;font-size:clamp(1.15rem,4vw,1.55rem);display:block}.eyebrow{letter-spacing:.16em;color:#93c5df;font:700 .68rem/1.2 ui-monospace,SFMono-Regular,monospace}.hud-right{color:#acd1e3;gap:12px;font:.72rem ui-monospace,monospace;display:flex}.legend{flex-wrap:wrap;justify-content:center;gap:8px;padding:8px 8px 11px;display:flex}.legend span{color:#d9edf7;align-items:center;gap:4px;font-size:.73rem;display:inline-flex}.legend b{color:var(--glow);text-shadow:0 0 11px var(--glow);font-size:1rem}.board{background:linear-gradient(145deg,#102250cc,#08152fcf);border:1px solid #b8efff36;border-radius:28px;grid-template-columns:repeat(3,minmax(62px,1fr));align-items:center;gap:clamp(3px,1.3vw,12px);min-height:min(61svh,460px);padding:clamp(12px,3vw,25px);display:grid;box-shadow:inset 0 1px #e5ffff22,0 18px 70px #0008}.tube{color:#b9efff;filter:drop-shadow(0 6px 8px #0008);background:0 0;border:0;min-width:0;padding:0;transition:transform .18s,color .18s;position:relative}.tube svg{width:100%;height:auto;max-height:194px;display:block;overflow:visible}.tube:hover:not(:disabled){color:#fff;transform:translateY(-3px)}.tube:disabled{cursor:default}.tube.is-selected{color:#fff;filter:drop-shadow(0 0 11px #a6edff)drop-shadow(0 8px 8px #000);transform:translateY(-9px)}.tube.is-hinted{color:#fff;filter:drop-shadow(0 0 14px #ffe898)drop-shadow(0 8px 8px #000);animation:1s ease-in-out infinite hint}.tube-number{color:#ceefff;background:#071021;border:1px solid #b9efff66;border-radius:50%;width:22px;height:22px;font:700 .7rem/20px ui-monospace,monospace;position:absolute;bottom:-1px;left:50%;translate:-50%}.active-controls{grid-template-columns:repeat(5,1fr);gap:7px;padding:11px 2px 0;display:grid}.active-controls button,.card-actions button{color:#dff6ff;background:#0c1d3d;border:1px solid #a8dff055;border-radius:12px;min-height:44px;padding:7px 6px;font-size:.8rem;font-weight:700}.active-controls button:hover:not(:disabled),.card-actions button:hover{background:#183666}.active-controls button:disabled{color:#6c91a5}.active-controls .pause{border-color:#8ca7ff88}.active-controls .exit{color:#ffd3cf;border-color:#ffb0ad88}.overlay{z-index:2;background:#07102160;border-radius:28px;place-items:center;padding:10px;display:grid;position:absolute;inset:42px 0 55px}.card{text-align:center;background:linear-gradient(145deg,#122b5efa,#0a1431fa);border:1px solid #d6f4ff66;border-radius:24px;width:min(100%,365px);max-height:calc(100svh - 110px);padding:clamp(18px,5vw,30px);overflow:auto;box-shadow:0 24px 70px #000a,inset 0 1px #fff3}.card h1{letter-spacing:-.09em;color:#f3fcff;text-shadow:0 0 22px #b7f4ff77;margin:18px 0;font-size:clamp(3.5rem,13vw,5.5rem);line-height:.78}.card h1 em{color:#ce8dff;text-shadow:0 0 22px #ce8dff88;font-style:normal}.card h2{letter-spacing:-.06em;color:#f3fcff;margin:14px 0;font-size:clamp(1.9rem,8vw,2.7rem)}.card p{color:#b8d4e4;font-size:.91rem;line-height:1.5}.primary{color:#071021;background:linear-gradient(105deg,#79e8f6,#c78cff);border:0;border-radius:14px;width:100%;min-height:50px;margin:8px 0 13px;font-weight:900;box-shadow:0 7px 20px #9b86ff44}.primary:hover{filter:brightness(1.12)}.level-picker{justify-content:center;gap:7px;margin:4px 0 14px;display:flex}.level-picker button{color:#b8dbe8;background:#0a1b3e;border:1px solid #a8dff055;border-radius:50%;width:35px;height:35px;font-weight:800;position:relative}.level-picker button.current{color:#071021;background:#a8f0ff;border-color:#fff}.level-picker small{color:#aafbc2;font-size:.75rem;position:absolute;top:-7px;right:-5px}details{text-align:left;color:#b8d4e4;border-top:1px solid #a8dff033;margin-top:4px;padding-top:12px;font-size:.78rem}summary{cursor:pointer;color:#e4f7ff;font-weight:700}.setting{color:#8fb9ce;justify-content:center;align-items:center;gap:7px;margin-top:15px;font-size:.75rem;display:flex}.setting input{accent-color:#a8f0ff}.card-actions{gap:7px;display:flex}.card-actions button{flex:1}.save-note,.status{color:#9ec1d4;font:.71rem/1.45 ui-monospace,SFMono-Regular,monospace}.status{text-align:center;margin:12px 5px 0}.status span{color:#6f9ab2}.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}@keyframes hint{50%{transform:translateY(-7px)}}@media (width>=620px){.board{grid-template-columns:repeat(6,minmax(72px,1fr));min-height:360px}.overlay{inset:50px 0 54px}.tube svg{max-height:220px}}@media (width<=430px),(height<=610px){.app{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.brand{display:none}.hud{padding-bottom:6px}.hud strong{font-size:1.1rem}.legend{padding:3px 5px 6px}.board{border-radius:21px;gap:0;height:min(57svh,400px);min-height:0;padding:8px}.tube svg{max-height:132px}.tube-number{width:19px;height:19px;font-size:.62rem;line-height:17px;bottom:0}.overlay{padding:4px;inset:33px 0 44px}.card{max-height:calc(100svh - 66px);padding:15px}.card h1{margin:10px 0;font-size:3.45rem}.card h2{margin:8px 0;font-size:1.75rem}.card p{margin:8px 0;font-size:.8rem}.primary{min-height:43px;margin:5px 0 8px}.active-controls{gap:4px;padding-top:6px}.active-controls button{min-height:39px;padding:4px;font-size:.68rem}.status{margin-top:6px;font-size:.62rem}}@media (orientation:landscape) and (height<=500px){.app{padding:7px max(10px,env(safe-area-inset-right))}.game-shell{width:min(100%,780px)}.hud{padding:0 5px 4px}.legend{padding:0 2px 4px}.board{border-radius:18px;grid-template-columns:repeat(6,minmax(48px,1fr));gap:2px;height:calc(100svh - 103px);min-height:0;padding:5px}.tube svg{max-height:calc(100svh - 144px)}.overlay{inset:25px 0 38px}.card{max-width:350px;padding:12px}.card h1{margin:6px;font-size:3.25rem}.card h2{margin:6px;font-size:1.65rem}.card p{margin:6px;font-size:.77rem}.primary{min-height:38px;margin:3px 0 7px}.active-controls{padding-top:4px}.active-controls button{min-height:34px;padding:3px;font-size:.67rem}.status{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (orientation:landscape) and (height<=500px){.board{height:calc(100svh - 137px)}.tube svg{max-height:calc(100svh - 178px)}}@media (height<=610px),(width<=430px){.active-controls button{min-height:44px}}
