:root{--classic-shadow:0 10px 26px rgba(8,47,82,.07);--classic-line:#e4e8ec;--classic-soft:#f8fafb}

/* Classic premium pass — keeps all learning features, removes oversized arcade styling */
.top{background:rgba(255,255,255,.97);box-shadow:0 2px 14px rgba(8,47,82,.04)}
.topin{min-height:74px}
.brand img{width:auto;height:58px;max-width:180px;object-fit:contain;object-position:left center}
.langs{gap:2px;padding:3px;border-radius:14px;box-shadow:none}
.langs button{min-width:43px;height:38px;border-radius:11px;font-size:13px}
.langs button.active{background:var(--navy);box-shadow:0 3px 0 #041f37,0 6px 12px rgba(8,47,82,.12);transform:translateY(-1px)}

.hero{background:linear-gradient(180deg,#fffdf9 0%,#fff 100%)}
.hero:after{font-size:180px;right:2%;bottom:-45px;color:rgba(8,47,82,.025)}
.hero-in{padding:28px 0 25px;grid-template-columns:minmax(0,1fr) 150px;gap:24px}
.hero h1{margin:7px 0 8px;font-size:clamp(34px,5vw,52px);line-height:1.02}
.hero p{font-size:14px;line-height:1.55}
.meta{margin-top:14px;gap:7px}
.pill{padding:8px 11px;font-size:11px;box-shadow:none;background:#fffdf8}
.hero-badge{aspect-ratio:1;box-shadow:none;background:#fff;border-color:#eadfbe}
.hero-badge:before{font-size:52px}
.hero-badge strong{bottom:22px;font-size:8px}

main{padding:18px 0 48px}
.back{margin:2px 0 14px;font-size:12px}

/* Small tactile resource controls. Only the title is visible until opened. */
.resource-launchers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.big-3d,.big-3d.red{min-height:58px;padding:0 14px;border:1px solid #dfe5ea;border-radius:14px;background:#fff;color:var(--navy);box-shadow:0 3px 0 #d5dde3,0 8px 18px rgba(8,47,82,.06);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;text-align:left;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.big-3d.red{border-color:#ead9dd;box-shadow:0 3px 0 #dec9ce,0 8px 18px rgba(179,31,53,.05)}
.big-3d:hover{transform:translateY(-1px);border-color:#cfd8df}
.big-3d:active,.big-3d[aria-expanded="true"],.big-3d.red:active,.big-3d.red[aria-expanded="true"]{transform:translateY(2px);box-shadow:0 1px 0 #d5dde3,0 4px 10px rgba(8,47,82,.06);background:#fbfcfd}
.big-3d .icon{font-size:20px;line-height:1}
.big-3d b{display:block;margin:0;font:900 14px/1.2 Inter,Arial,sans-serif;letter-spacing:.01em}
.big-3d small{display:none!important}
.big-3d .chev{position:static;transform:none;font-size:17px;color:#7d8b98;transition:transform .2s}
.big-3d[aria-expanded="true"] .chev{transform:rotate(180deg)}

.drawer.open{margin-bottom:14px}
.drawer-card{border-radius:16px;box-shadow:var(--classic-shadow)}
.drawer-head{padding:13px 15px;background:#fbfcfd}
.drawer-head h2{font:900 19px Georgia,serif}
.drawer-body{padding:15px}
.music-box{border-radius:14px;padding:14px;background:#fffdf7}
.music-title{font-size:20px}
.music-status{font-size:12px}
.actions{gap:7px;margin-top:10px}
.mini-3d{min-height:36px;padding:0 12px;border-radius:10px;font-size:11px;box-shadow:0 3px 0 #d3dbe1,0 6px 12px rgba(8,47,82,.06);background:#fff;color:var(--navy);border:1px solid #dbe2e7}
.mini-3d.alt{box-shadow:0 3px 0 #d3dbe1,0 6px 12px rgba(8,47,82,.05)}
.mini-3d.gold{background:#fff9e8;color:#6d5115;border-color:#ead7a3;box-shadow:0 3px 0 #dec889,0 6px 12px rgba(201,148,34,.07)}
.mini-3d:not(.alt):not(.gold){background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 3px 0 #041f37,0 6px 12px rgba(8,47,82,.10)}
.mini-3d:active{transform:translateY(2px);box-shadow:0 1px 0 #cfd7dd}
.lyrics{font-size:14px;line-height:1.7}

/* Learning studio: classic lesson dashboard instead of a giant banner. */
.studio{margin-top:22px}
.studio-top{padding:18px 20px;border:1px solid var(--classic-line);border-left:4px solid var(--gold);border-radius:18px;background:#fff;color:var(--ink);box-shadow:var(--classic-shadow)}
.studio-top:after{content:"♫";right:18px;top:5px;color:rgba(8,47,82,.035);font-size:64px;transform:none}
.studio-kicker{color:#9b7117;font-size:10px}
.studio-top h2{margin:5px 0 5px;color:var(--navy);font-size:clamp(25px,4vw,34px);line-height:1.08}
.studio-top p{color:var(--muted);font-size:13px;line-height:1.5}
.progress-row{margin-top:13px;gap:10px}
.progress-track{height:7px;background:#edf1f4}
.progress-fill{background:linear-gradient(90deg,var(--navy),var(--gold))}
.progress-count{min-width:54px;color:#6b7783;font-size:11px}

.lesson-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.lesson-card{min-height:144px;padding:14px 14px 52px;border-radius:16px;border:1px solid var(--classic-line);box-shadow:0 7px 18px rgba(8,47,82,.045);background:#fff}
.lesson-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(8,47,82,.07)}
.lesson-card.locked{opacity:.58;background:#fafbfc}
.lesson-num{width:30px;height:30px;border-radius:9px;font-size:12px}
.lesson-card h3{margin:9px 0 5px;font:900 16px/1.15 Georgia,serif}
.lesson-card p{font-size:11px;line-height:1.45}
.lesson-open{left:14px;right:14px;bottom:13px;min-height:34px;border:1px solid #dce3e8;border-radius:9px;background:#fff;color:var(--navy);font-size:11px;box-shadow:0 3px 0 #d5dde3}
.lesson-open:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 #d5dde3}
.lesson-open:disabled{cursor:not-allowed}

.practice-panel{margin-top:12px;padding:16px;border-radius:16px;box-shadow:var(--classic-shadow)}
.practice-head h3{font-size:20px}
.close-panel{width:34px;height:34px;font-size:18px}
.speed-row{gap:7px;margin-top:11px}
.speed-btn{min-width:68px;min-height:36px;border-radius:10px;font-size:11px;box-shadow:0 3px 0 #d2dae0}
.section-tabs button{min-height:34px;padding:0 11px;font-size:11px}
.section-view{padding:14px;border-radius:13px;font-size:14px}
.ab-box{gap:8px;margin-top:11px}
.ab-point{padding:11px;border-radius:12px}
.ab-point strong{font-size:17px}
.karaoke-stage{min-height:180px;padding:22px 18px;border-radius:16px;box-shadow:none}
.karaoke-line{font-size:clamp(24px,5vw,38px)}
.memory-text{padding:14px;border-radius:14px;font-size:15px}
.record-box{padding:14px;border-radius:14px}
.tip{font-size:11px}
.footer{font-size:11px}

@media(max-width:700px){
  .shell{width:min(100% - 22px,980px)}
  .topin{min-height:68px}
  .brand img{height:54px;max-width:125px}
  .langs button{min-width:38px;height:36px;font-size:12px}
  .hero-in{display:block;padding:22px 0 20px}
  .hero-badge{display:none}
  .hero h1{font-size:34px}
  .hero p{font-size:13px}
  .meta{gap:6px}
  .pill{padding:7px 9px;font-size:10px}
  .resource-launchers{grid-template-columns:1fr 1fr;gap:8px}
  .big-3d,.big-3d.red{min-height:54px;padding:0 11px;border-radius:12px;gap:7px}
  .big-3d .icon{font-size:18px}
  .big-3d b{font-size:12px}
  .big-3d .chev{font-size:15px}
  .drawer-head{padding:11px 13px}
  .drawer-head h2{font-size:17px}
  .drawer-body{padding:12px}
  .studio-top{padding:16px;border-radius:15px}
  .studio-top h2{font-size:25px}
  .lesson-grid{grid-template-columns:1fr 1fr;gap:8px}
  .lesson-card{min-height:135px;padding:12px 11px 47px;border-radius:14px}
  .lesson-card h3{font-size:14px}
  .lesson-card p{font-size:10px;line-height:1.4}
  .lesson-num{width:27px;height:27px;border-radius:8px;font-size:11px}
  .lesson-open{left:10px;right:10px;bottom:10px;min-height:31px;font-size:10px}
  .practice-panel{padding:13px}
  .practice-head h3{font-size:18px}
  .karaoke-stage{min-height:155px;padding:18px 12px}
}

@media(max-width:380px){
  .brand img{max-width:108px}
  .langs button{min-width:34px}
  .resource-launchers{grid-template-columns:1fr}
  .lesson-grid{grid-template-columns:1fr 1fr}
}
