.level-screen{padding:clamp(14px,3vw,34px);background:#10021bd8;backdrop-filter:blur(12px)}
.level-shell{width:min(1050px,100%);height:100%;margin:auto;padding:clamp(18px,3vw,32px);border:1px solid #ffffff30;border-radius:32px;background:linear-gradient(155deg,#341264ed,#170329f5);box-shadow:inset 0 1px #ffffff40,0 25px 80px #08000bb3;overflow:auto}
.level-shell header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:22px}.level-shell h2{margin:4px 0 0;font-size:clamp(1.7rem,4vw,2.5rem)}
.level-progress{display:flex;align-items:baseline;gap:6px;padding:12px 17px;border:1px solid #ffffff26;border-radius:18px;background:#12022188}.level-progress b{font-size:1.5rem;color:#57eaff}.level-progress span{font-size:.8rem;color:#c7afd9}
.level-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.level-card{position:relative;min-height:112px;padding:14px;border:1px solid #ffffff24;border-radius:20px;background:linear-gradient(145deg,#54209b,#2a0a55);cursor:pointer;text-align:left;overflow:hidden;transition:.2s transform,.2s border-color}.level-card:hover:not(:disabled){transform:translateY(-4px);border-color:#ffffff88}.level-card:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.48}.level-card.cleared:after{content:'✓';position:absolute;right:10px;top:9px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#35d79a;color:#08231a;font-weight:900}.level-number{display:block;color:#ffd861;font-size:.72rem;font-weight:900;letter-spacing:.1em}.level-card strong{display:block;margin:7px 0 4px;font-size:1.2rem}.level-card small{display:block;color:#cbb7df;font-size:.72rem;line-height:1.45}.level-card .lock{position:absolute;right:12px;bottom:10px;font-size:1rem}
.level-goal{position:absolute;top:max(22px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);padding:8px 14px;border:1px solid #ffffff26;border-radius:99px;background:#1b083e9e;color:#e8d9f5;font-size:.78rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}.level-goal:empty{display:none}
.level-badge{color:#ffd862;margin-right:8px}.result-panel.level-pass{box-shadow:inset 0 1px #fff4,0 0 55px #36e6aa55,0 30px 80px #08000bb3}.result-panel.level-fail{box-shadow:inset 0 1px #fff4,0 0 45px #ff4c8350,0 30px 80px #08000bb3}
.shop-grid{grid-template-columns:repeat(4,1fr)}.trail-preview{background:#21103b}.trail-preview:after{background:var(--trail)}
@media(max-width:1000px){.shop-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.level-grid{grid-template-columns:repeat(4,1fr)}.level-card{min-height:96px;padding:11px}.level-shell{border-radius:24px}.level-goal{top:74px;font-size:.7rem}}
@media(max-width:680px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.level-grid{grid-template-columns:repeat(3,1fr);gap:8px}.level-shell{padding:14px}.level-shell header{gap:10px;margin-bottom:14px}.level-progress{padding:8px 10px}.level-progress span{display:none}.level-card{min-height:88px;border-radius:15px}.level-card strong{font-size:1rem}.level-card small{font-size:.65rem}.level-goal{top:66px}.shop-grid{grid-template-columns:1fr}}
@media(max-height:560px) and (orientation:landscape){.level-grid{grid-template-columns:repeat(8,1fr)}.level-card{min-height:76px;padding:8px}.level-card strong{font-size:.9rem;margin:3px 0}.level-card small{font-size:.6rem}.level-shell header{margin-bottom:8px}.level-shell h2{font-size:1.35rem}.level-goal{top:12px}}

.utility-bar{position:absolute;z-index:80;top:max(14px,env(safe-area-inset-top));left:50%;display:flex;gap:6px;padding:6px;border:1px solid #ffffff24;border-radius:18px;background:#10031fd9;box-shadow:0 12px 35px #05000970,inset 0 1px #ffffff25;backdrop-filter:blur(14px);transform:translateX(-50%);pointer-events:none}
.utility-bar button{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:7px;min-width:74px;height:40px;padding:0 13px;border:1px solid #ffffff25;border-radius:12px;background:linear-gradient(145deg,#2c1350,#18082f);color:#f9e6bd;font:800 .78rem/1 system-ui,-apple-system,"Microsoft YaHei",sans-serif;cursor:pointer;box-shadow:inset 0 1px #ffffff22;transition:transform .16s,background .16s,border-color .16s}
.utility-bar button:hover{transform:translateY(-2px);border-color:#ffd66f99;background:linear-gradient(145deg,#4d216f,#24103e)}.utility-bar button:active{transform:translateY(0) scale(.96)}.utility-bar button span{font-size:1rem}.utility-bar button.active{color:#20122b;background:linear-gradient(135deg,#fff0a8,#ffbf65)}
.app.day-mode .utility-bar{background:#fff9e9e8;border-color:#6c427533}.app.day-mode .utility-bar button{color:#472956;background:linear-gradient(145deg,#fffefa,#f0ddff);border-color:#6b467e35}.app.day-mode .utility-bar button.active{background:linear-gradient(135deg,#33204e,#7d3ead);color:#fff}.app.day-mode .grain{opacity:.16}.app.day-mode .swipe-hint{color:#4f3268;text-shadow:0 1px #ffffffaa}.app.day-mode .hud-score{padding:8px 14px;border-radius:18px;background:#24103dbd;box-shadow:0 8px 24px #47216635}.app.day-mode .hud-score small,.app.day-mode .hud-score b{color:#fff;text-shadow:0 2px 8px #140423}.hud.active .level-goal{top:70px}
.app{transform:scale(var(--view-scale,1));transform-origin:center;transition:transform .22s ease}.utility-bar button:disabled{opacity:.38;cursor:not-allowed;transform:none}
@media(max-width:920px){.utility-bar button{min-width:46px;padding:0 9px}.utility-bar button b{display:none}}
@media(max-width:620px){.utility-bar{top:auto;bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px));gap:3px;padding:4px;border-radius:15px}.utility-bar button{width:42px;min-width:42px;height:38px;padding:0;border-radius:10px}.hud.active .level-goal{top:68px}}
@media(max-height:560px) and (orientation:landscape){.utility-bar{top:8px;bottom:auto}.utility-bar button{height:34px}.hud.active .level-goal{top:50px}}

.settings-trigger span{font-size:1.25rem}.settings-modal{position:absolute;z-index:160;inset:0;display:grid;place-items:center;padding:20px;background:#090014b8;backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:.2s opacity,.2s visibility}.settings-modal.active{opacity:1;visibility:visible}.settings-panel{position:relative;width:min(480px,94vw);padding:34px;border:1px solid #ffffff38;border-radius:30px;background:linear-gradient(150deg,#361263f5,#150326fa);box-shadow:inset 0 1px #ffffff55,0 25px 90px #050008cc;text-align:center}.settings-panel h2{margin:4px 0 24px;font-size:clamp(2rem,5vw,3rem)}.settings-close{position:absolute;right:18px;top:15px;width:42px;height:42px;border:1px solid #ffffff35;border-radius:50%;background:#260944;color:#ffd46c;font:800 2rem/1 system-ui;cursor:pointer}.sound-options{display:grid;gap:14px}.sound-option{display:grid;grid-template-columns:54px 1fr 78px;align-items:center;gap:14px;width:100%;padding:17px;border:1px solid #ffffff22;border-radius:20px;background:#ffffff0c;color:#fff;text-align:left;cursor:pointer;transition:.18s transform,.18s border-color,.18s background}.sound-option:hover{transform:translateY(-2px);border-color:#8eeaff77;background:#ffffff15}.sound-icon{font-size:1.8rem;text-align:center}.sound-option b{display:block;font-size:1.15rem}.sound-option small{display:block;margin-top:4px;color:#bfaad2;font-size:.75rem}.sound-option i{position:relative;width:70px;height:36px;border-radius:99px;background:#554e58;box-shadow:inset 0 2px 6px #0008}.sound-option i:after{content:attr(data-state);position:absolute;top:50%;right:9px;transform:translateY(-50%);color:#cfc7d0;font:800 .65rem/1 system-ui}.sound-option i em{position:absolute;left:4px;top:4px;width:28px;height:28px;border-radius:50%;background:#e8e6ef;box-shadow:0 2px 6px #0007;transition:.2s transform}.sound-option.on i{background:linear-gradient(90deg,#25d4cf,#7d43ef)}.sound-option.on i:after{left:10px;right:auto;color:#fff}.sound-option.on i em{transform:translateX(34px);background:#fff}.settings-panel>p{margin:18px 0 0;color:#ddc9ee;font-size:.78rem}.app.day-mode .settings-modal{background:#47315a80}.app.day-mode .settings-panel{background:linear-gradient(145deg,#fffefa,#eadbff);color:#402551;border-color:#fff}.app.day-mode .sound-option{background:#6e438c12;color:#402551;border-color:#5c317e24}.app.day-mode .sound-option small,.app.day-mode .settings-panel>p{color:#755c82}@media(max-width:520px){.settings-panel{padding:28px 18px 22px;border-radius:24px}.sound-option{grid-template-columns:44px 1fr 68px;padding:14px 12px}.sound-option i{width:62px}.sound-option.on i em{transform:translateX(26px)}}
