.level-page{padding-bottom:60px}.level-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:20px 0 28px}.level-heading h1{font-size:clamp(2rem,5vw,3.3rem);margin:8px 0}.level-heading p{margin:0;color:#aebcc8}.level-layout{display:grid;grid-template-columns:minmax(0,660px) minmax(220px,310px);gap:28px;justify-content:center}.level-machine{min-width:0;background:#192a35;border:1px solid #40515a;border-radius:24px;padding:14px;box-shadow:0 24px 70px #0004}.level-hud{display:flex;justify-content:space-between;align-items:center;padding:7px 7px 18px;color:#f2ead7;font-variant-numeric:tabular-nums;gap:10px}.level-stage{position:relative;isolation:isolate;overflow:hidden;border-radius:16px}.liquid-stage{background:radial-gradient(ellipse at 50% 20%,#34495b,#192c3b 72%);min-height:380px;display:grid;align-items:center;border:1px solid #64748055}.tube-board{display:flex;flex-wrap:wrap;justify-content:center;gap:32px 20px;padding:42px 20px 35px;max-width:630px;margin:auto}.tube{position:relative;background:transparent;border:0;padding:0 5px 24px;width:64px;min-height:154px;color:#e7eef1;transition:transform .18s;touch-action:manipulation}.tube-glass{height:126px;display:flex;flex-direction:column-reverse;justify-content:flex-start;border:3px solid #a7c9dd80;border-top:5px solid #b9d6e5;border-radius:5px 5px 22px 22px;overflow:hidden;background:linear-gradient(90deg,#ffffff18,transparent 45%,#ffffff15);box-shadow:inset 4px 0 0 #ffffff16,0 12px 15px #0003}.liquid-layer{height:25%;flex:0 0 25%;width:100%;color:#182937;text-shadow:0 1px #ffffff55;font-size:12px;line-height:29px;font-weight:800;box-shadow:inset 4px 0 #ffffff20,inset 0 1px #ffffff3a}.tube-number{position:absolute;bottom:0;left:0;right:0;font-size:12px;color:#b7c9d4}.tube.selected{transform:translateY(-13px)}.tube.selected .tube-glass,.tube.hinted .tube-glass{border-color:#ffe29a;box-shadow:0 0 18px #ffe29a55}.tube.pour-target .tube-glass{border-color:#96d7b9}.tube:focus-visible{outline:2px solid #ffe29a;outline-offset:5px;border-radius:8px}.tube.poured{animation:pour-settle .38s ease-out}.level-status{min-height:42px;margin:15px 5px 8px;color:#c5d4dc;font-size:14px}.level-tools{display:flex;gap:8px;flex-wrap:wrap}.level-tools .btn{flex:1;white-space:nowrap}.level-aside .side-panel{margin-bottom:16px}.level-overlay{position:absolute;inset:0;background:#14242cf2;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;gap:12px;color:#f6eddc;backdrop-filter:blur(5px)}.level-overlay[hidden]{display:none}.level-overlay h2{margin:0;font-size:30px}.level-overlay p{max-width:330px}.level-overlay .btn{min-width:170px}#result-stars{font-size:42px;letter-spacing:8px;color:#f1cc79}.parking-stage{max-width:480px;margin:auto;background:#384951}.parking-stage canvas{display:block;width:100%;height:auto;touch-action:none;outline-offset:-4px}.parking-controls{display:flex;justify-content:space-between;gap:12px;max-width:480px;margin:12px auto 0}.parking-controls>div{display:flex;gap:8px}.parking-controls button{border:1px solid #62737c;border-radius:12px;background:#314550;color:#f2efde;min-width:58px;min-height:58px;font-size:13px;font-weight:800;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.parking-controls button[data-drive=left],.parking-controls button[data-drive=right]{font-size:25px}.parking-controls button.active{background:#76967b;color:#101e22;transform:translateY(2px)}.level-map{width:min(610px,calc(100% - 24px));max-height:85dvh;overflow:auto}.level-map h3{font-size:16px;margin:22px 0 12px}.level-grid-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.level-grid-row button{background:#233a45;border:1px solid #536c76;color:#eef0e6;border-radius:12px;padding:12px 2px;font-size:19px;min-height:67px}.level-grid-row button small{display:block;font-size:11px;letter-spacing:1px;color:#f2cd79}.level-grid-row button:disabled{opacity:.38}.level-grid-row button[aria-current=true]{border-color:#e3c481;box-shadow:0 0 0 1px #e3c481}.level-map::backdrop{background:#071b25bf}@keyframes pour-settle{50%{transform:translateY(5px)}100%{transform:translateY(0)}}@media(max-width:800px){.level-layout{grid-template-columns:minmax(0,1fr);max-width:660px;margin:auto}.level-aside{max-width:660px}.level-heading{align-items:flex-start;flex-direction:column;gap:14px}.level-machine{padding:10px}.tube-board{gap:24px 12px;padding:32px 12px}.tube{width:53px;padding:0 3px 22px;min-height:141px}.tube-glass{height:118px}.liquid-layer{line-height:27px}.level-heading h1{font-size:2.4rem}.parking-controls button{min-width:52px;min-height:56px}.parking-controls>div{gap:6px}.level-hud{font-size:13px}.level-page{width:100%;box-sizing:border-box}.level-overlay h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.tube{transition:none}.tube.poured{animation:none}}

.level-page .btn-outline{color:#e2e8e4;border-color:#71818a;background:#ffffff05}.level-page .btn-outline:hover{background:#3b505b;color:#fff}.level-aside .side-panel{background:#1c303b;border-color:#40555f;color:#dce7e8}.level-aside h2{color:#f0eadb}.level-aside p,.level-aside .small-muted{color:#b8c9cf}.level-aside .small-link{color:#c8ddc4}.level-page .level-heading{min-width:0}.level-heading>div{min-width:0}
.tube-board{width:100%}.tube-board.dense{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 16px}.tube-board.dense .tube{width:100%;max-width:64px;justify-self:center}@media(max-width:600px){.tube-board{gap:24px 10px}.tube{width:50px}.tube-board.dense{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 10px}}
.pour-ghost{position:absolute!important;z-index:1000;pointer-events:none;transform-origin:50% 12%;margin:0!important}.pour-ghost .tube-number{visibility:hidden}.pour-stream{position:absolute;z-index:999;pointer-events:none;width:6px;height:45px;border-radius:5px;transform-origin:top;animation:liquid-stream 950ms ease-in-out forwards;box-shadow:0 0 12px #ffffff20}@keyframes liquid-stream{0%,30%{transform:scaleY(0);opacity:0}40%,70%{transform:scaleY(1);opacity:.9}80%,100%{transform:scaleY(0);opacity:0}}
