:root{
  --ink:#1f2933;--muted:#667085;--paper:#f7f3eb;--surface:#fffefa;--line:#ddd6ca;
  --accent:#295f57;--accent-soft:#e8f1ee;--danger:#a33434;--danger-soft:#f9e9e7;
  --shadow:0 10px 30px rgba(48,40,30,.08);--radius:22px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);min-height:100vh}
button,input,select{font:inherit} button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;border-right:1px solid var(--line);background:rgba(255,254,250,.94)}
.brand{font-family:Georgia,serif;font-size:24px;margin:0 0 24px;padding:0 10px}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;padding:12px 14px;text-align:left;border-radius:14px;color:var(--ink)}.nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.nav button:hover{background:#f1ece3}
.main{padding:32px clamp(18px,4vw,56px) 80px;max-width:1500px;width:100%;margin:0 auto}.topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}.title{font-family:Georgia,serif;font-size:clamp(32px,5vw,56px);line-height:1.02;margin:.2em 0}.lead{color:var(--muted);max-width:760px;line-height:1.6}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card h3{margin-top:0}.btn{border:1px solid var(--line);background:var(--surface);padding:11px 16px;border-radius:14px;color:var(--ink);font-weight:700}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn.danger{background:var(--danger);border-color:var(--danger);color:white}.btn.ghost{background:transparent}.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(41,95,87,.25);outline-offset:2px}.stack{display:grid;gap:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:13px}.status{padding:7px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800}.status.offline{background:#f3eadc;color:#8b5b18}.divider{height:1px;background:var(--line);margin:18px 0}.memo{border-left:4px solid var(--accent);background:#f2f7f5;border-radius:16px;padding:16px 18px}.memo strong{display:block;margin-bottom:6px}.field{display:grid;gap:7px}.field label{font-weight:700;font-size:14px}.field input,.field select{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:12px 14px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.choice{border:1px solid var(--line);border-radius:16px;background:white;padding:16px;text-align:left}.choice.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(41,95,87,.12)}
.hero-home{min-height:72vh;display:grid;place-items:center;text-align:center}.hero-home .inside{max-width:760px}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px}.avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;background:#ece6da;display:grid;place-items:center;font-size:26px;font-weight:800;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.pin-row{display:flex;justify-content:center;gap:8px;margin:20px 0}.pin-box{width:46px;height:52px;border:1px solid var(--line);border-radius:12px;background:white;text-align:center;font-size:24px}.modal-backdrop{position:fixed;inset:0;background:rgba(28,25,22,.44);display:grid;place-items:center;padding:20px;z-index:50}.modal{width:min(520px,100%);background:var(--surface);border-radius:24px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.2)}
.progress{height:9px;background:#ebe5db;border-radius:999px;overflow:hidden}.progress > span{display:block;height:100%;background:var(--accent);border-radius:999px}.metric{font-family:Georgia,serif;font-size:32px}.page-placeholder{min-height:300px;display:grid;place-items:center;text-align:center}
/* Writing lab */
.lab-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(330px,1.15fr);gap:20px;align-items:start}.script-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.script-tabs button{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 12px}.script-tabs button.active{background:var(--accent);color:white;border-color:var(--accent)}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;max-height:440px;overflow:auto;padding-right:3px}.char-btn{aspect-ratio:1;border:1px solid var(--line);background:white;border-radius:14px;font-size:25px}.char-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:800}.practice-panel{min-height:530px}.practice-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.big-char{font-size:clamp(80px,13vw,150px);line-height:1;margin:12px 0 6px;font-family:"Noto Sans CJK JP","Yu Gothic","Malgun Gothic",sans-serif}.reading{font-size:20px}.romanization{display:inline-flex;align-items:center;gap:8px;border:1px dashed var(--line);border-radius:12px;padding:8px 10px}.hidden-romaji{filter:blur(7px);user-select:none}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.mode-grid button{border:1px solid var(--line);border-radius:14px;background:white;padding:12px;text-align:left}.mode-grid button.active{border-color:var(--accent);background:var(--accent-soft)}.canvas-wrap{position:relative;aspect-ratio:1;max-width:440px;margin:14px auto;border:1px solid var(--line);border-radius:18px;overflow:hidden;background-color:white;background-image:linear-gradient(#eee9e0 1px,transparent 1px),linear-gradient(90deg,#eee9e0 1px,transparent 1px);background-size:50% 50%}.canvas-guide{position:absolute;inset:0;display:grid;place-items:center;font-size:220px;color:rgba(31,41,51,.08);pointer-events:none}.draw-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.quiz-character{font-size:100px;text-align:center;margin:30px 0}.answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.answer-btn{padding:16px;border:1px solid var(--line);background:white;border-radius:14px}.answer-btn.good{border-color:#2d7a4b;background:#edf8f1}.answer-btn.bad{border-color:#a33434;background:#fbefee}.association-image{height:190px;border-radius:18px;background:#f3eee5;display:grid;place-items:center;font-size:90px;margin:16px 0}.reading-line{font-size:clamp(28px,5vw,46px);line-height:1.5;margin:20px 0}.kicker{display:inline-block;padding:6px 10px;border-radius:999px;background:#eee8de;color:#655f55;font-size:12px;font-weight:800}.save-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2d7a4b;margin-right:6px}
.mobilebar{display:none}
@media (max-width:900px){.app-shell{display:block}.sidebar{display:none}.main{padding:20px 16px 94px}.grid.cols-2,.grid.cols-3,.lab-layout{grid-template-columns:1fr}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;background:rgba(255,254,250,.96);border-top:1px solid var(--line);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:40;justify-content:space-around}.mobilebar button{border:0;background:transparent;padding:8px 9px;font-size:12px;color:var(--muted)}.mobilebar button.active{color:var(--accent);font-weight:800}.practice-panel{min-height:auto}.character-grid{max-height:310px}.canvas-guide{font-size:160px}}
@media (max-width:520px){.mode-grid,.answers{grid-template-columns:1fr}.pin-box{width:40px}.title{font-size:38px}}

/* V0.2 — parcours, séances, mémos et données réelles */
.standalone-page{padding:32px clamp(18px,5vw,64px)}
.compact{gap:8px}.danger-text{color:var(--danger)}
.dashboard-next{margin:20px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.dashboard-next h2{margin:.25em 0}
.language-switch,.level-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.language-switch button,.level-tabs button{border:1px solid var(--line);background:var(--surface);padding:10px 14px;border-radius:999px}.language-switch button.active,.level-tabs button.active{background:var(--accent);color:white;border-color:var(--accent)}
.breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:18px 0}.breadcrumbs button{border:0;background:transparent;padding:0;color:var(--accent);font-weight:700}.path-head{justify-content:space-between;align-items:flex-end}
.module-grid{display:grid;gap:14px}.module-card{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.module-card h2{margin:.1em 0}.module-number{font-family:Georgia,serif;font-size:34px;color:var(--accent)}.module-card .btn{margin-top:14px}.locked-soft{opacity:.68;box-shadow:none}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800}.badge.quiet{background:#f0ece5;color:#746c62}
.module-hero,.chapter-hero{margin-bottom:18px}.chapter-list{display:grid;gap:12px}.chapter-card{display:grid;grid-template-columns:48px 1fr;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}.chapter-index{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800}.chapter-card h3{margin:.1em 0}.lesson-list{display:grid;gap:10px;margin-bottom:20px}.lesson-row{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px}.lesson-status{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f0ece5;font-weight:800}.lesson-status.done{background:var(--accent-soft);color:var(--accent)}.lesson-copy h3{margin:.15em 0}
.empty-state{text-align:center;min-height:220px;display:grid;place-items:center}.empty-state>*{max-width:620px}.session-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.session-shell{max-width:920px;margin:0 auto}.session-top{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-bottom:26px}.session-progress{height:8px;background:#ebe5db;border-radius:999px;overflow:hidden}.session-progress span{display:block;height:100%;background:var(--accent);border-radius:999px}.session-title{font-family:Georgia,serif;font-size:clamp(30px,5vw,48px);margin:.2em 0 .7em}.learning-stage{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,5vw,46px);box-shadow:var(--shadow);min-height:430px;display:grid;align-items:center}.stage-copy{max-width:720px;width:100%;margin:0 auto}.stage-copy h2{font-family:Georgia,serif;font-size:clamp(28px,4vw,40px);margin:.35em 0}.stage-text{font-size:20px;line-height:1.65;color:#3f4a50}.stage-actions{justify-content:flex-end;margin-top:24px}.memo.large{font-size:18px;line-height:1.65}.choice-answers{display:grid;gap:10px;margin:20px 0}.choice-answer{border:1px solid var(--line);background:white;border-radius:16px;padding:16px;text-align:left;font-weight:700}.choice-answer:hover:not(:disabled){border-color:var(--accent)}.choice-answer.good{border-color:#2d7a4b;background:#edf8f1}.choice-answer.bad{border-color:var(--danger);background:var(--danger-soft)}.feedback-box{margin-top:16px;border-radius:16px;padding:15px 17px}.feedback-box.success{background:#edf8f1;border:1px solid #b9dec7}.feedback-box.retry{background:var(--danger-soft);border:1px solid #ebc5c0}.feedback-box p{margin:.35em 0 0}.large-input{width:100%;border:1px solid var(--line);background:white;border-radius:16px;padding:15px 16px;font:inherit;resize:vertical}.large-input:focus{outline:3px solid rgba(41,95,87,.16);border-color:var(--accent)}
.review-list{display:grid;gap:12px;margin-bottom:20px}.review-item{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}.review-item h3{margin:.2em 0}.vocab-form{display:grid;grid-template-columns:1.1fr 1.2fr .8fr auto;gap:12px;align-items:end}.vocab-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px}.vocab-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}.vocab-term{font-family:Georgia,serif;font-size:28px;margin-top:5px}.resource-slot{border:1px dashed var(--line);border-radius:18px;padding:18px;margin-top:14px;display:grid;gap:6px}.resource-slot span{color:var(--muted);font-size:13px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.progress-detail{margin-top:18px}.progress-language{margin:16px 0}.memo-library{display:grid;gap:12px}.memo-card h3{margin:.25em 0}.profile-settings{display:grid;grid-template-columns:1.3fr .8fr;gap:18px}
.semantic-cue{min-height:140px;border:1px solid var(--line);background:#f4f0e8;border-radius:18px;display:grid;place-items:center;text-align:center;padding:20px;margin:16px 0}.semantic-cue strong{font-family:Georgia,serif;font-size:34px}.big-char{text-align:center}
@media (max-width:900px){.dashboard-next,.review-item{align-items:stretch;flex-direction:column}.profile-settings,.resource-grid{grid-template-columns:1fr}.vocab-form{grid-template-columns:1fr 1fr}.lesson-row{grid-template-columns:46px 1fr}.lesson-row .btn{grid-column:2}.module-card{grid-template-columns:52px 1fr}.module-number{font-size:28px}}
@media (max-width:620px){.vocab-form{grid-template-columns:1fr}.session-top{grid-template-columns:auto 1fr}.session-top>.small{display:none}.learning-stage{min-height:360px}.stage-text{font-size:18px}.topline{align-items:flex-start;flex-direction:column}.topline .row{width:100%;justify-content:space-between}}

/* =========================================================
   V0.4 — DIRECTION VISUELLE "ACADÉMIE VIVANTE"
   Effets utiles, hiérarchie forte, anglais en premier vertical.
   ========================================================= */
:root{
  --ink:#18242a;--ink-2:#33434a;--muted:#6d7477;--paper:#f2ede4;--surface:#fffdf8;--surface-2:#f8f3ea;
  --line:#ddd2c2;--line-strong:#cdbda7;--accent:#1f5d57;--accent-2:#2b6f67;--accent-soft:#e3efeb;
  --gold:#c6a46c;--gold-soft:#f2e4c9;--plum:#754d62;--blue:#293953;--danger:#9a3f3d;
  --shadow:0 18px 48px rgba(39,45,42,.10);--shadow-strong:0 30px 90px rgba(26,38,40,.16);--radius:24px;
}
html{background:var(--paper)}
body{
  background:
    radial-gradient(circle at 88% 8%,rgba(198,164,108,.11),transparent 28rem),
    radial-gradient(circle at 20% 80%,rgba(31,93,87,.07),transparent 34rem),
    linear-gradient(180deg,#f4efe7 0%,#eee8de 100%);
  color:var(--ink);overflow-x:hidden
}
button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
button:not(:disabled):active{transform:translateY(1px) scale(.995)}
.btn{border-color:rgba(140,126,107,.32);box-shadow:0 4px 14px rgba(43,49,46,.035);backdrop-filter:blur(14px)}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px rgba(43,49,46,.08)}
.btn.primary{background:linear-gradient(135deg,var(--accent),#244d4b);box-shadow:0 12px 28px rgba(31,93,87,.22)}
.btn.primary:hover{background:linear-gradient(135deg,#246a63,#1f4f4a)}
.btn.large{padding:14px 21px;border-radius:16px;font-size:15px}
.btn.soft{background:rgba(255,253,248,.74)}
.btn.glass,.glass{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.25);color:#fff;box-shadow:none}
.btn.ghost.soft{color:var(--ink)}
.title,.session-title,.welcome-title,.dashboard-hero h1,.journey-intro h2,.rich-module-hero h2,.rich-chapter h2,.insight-panel h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.eyebrow{color:#7d6f60;letter-spacing:.16em;font-size:11px}
.kicker{background:rgba(31,93,87,.09);color:#245852;border:1px solid rgba(31,93,87,.12)}

/* entrance */
.welcome-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);align-items:stretch;background:#152d2d;color:#f7f0e4;position:relative;overflow:hidden}
.welcome-shell::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(198,164,108,.19),transparent 28rem),radial-gradient(circle at 90% 75%,rgba(103,145,137,.17),transparent 32rem);pointer-events:none}
.welcome-copy{position:relative;z-index:2;padding:clamp(42px,7vw,92px);display:flex;flex-direction:column;justify-content:center;max-width:760px}
.academy-seal{display:inline-flex;align-items:center;align-self:flex-start;border:1px solid rgba(238,220,184,.28);padding:9px 13px;border-radius:999px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e7d8ba;margin-bottom:28px;background:rgba(255,255,255,.04)}
.welcome-title{font-size:clamp(52px,6.6vw,92px);line-height:.96;margin:0 0 26px;max-width:720px;font-weight:500}
.welcome-title em{font-weight:500;color:#d5b57b}
.welcome-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.7;color:#d4ded8;max-width:650px;margin:0}
.welcome-copy .hero-actions{justify-content:flex-start;margin:30px 0 34px}
.home-note{display:flex;gap:14px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.12);padding-top:23px;max-width:620px;color:#d2ddd8}.home-note>span{color:#d8b879;font-size:22px}.home-note strong{display:block;color:#fff6e8;margin-bottom:5px}.home-note p{margin:0;line-height:1.55;font-size:14px}
.welcome-visual{position:relative;min-height:640px;display:flex;align-items:stretch;padding:22px 22px 22px 0}.welcome-visual img{width:100%;height:100%;object-fit:cover;border-radius:34px;box-shadow:-30px 25px 80px rgba(0,0,0,.22)}
.visual-float{position:absolute;left:-28px;bottom:70px;display:flex;gap:8px;flex-wrap:wrap;width:320px}.visual-float span{padding:9px 13px;border:1px solid rgba(255,255,255,.38);background:rgba(17,38,39,.64);backdrop-filter:blur(14px);border-radius:999px;color:#fff7e8;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.12)}

/* app frame */
.app-shell{grid-template-columns:286px 1fr;position:relative}
.sidebar{padding:22px 17px;background:linear-gradient(180deg,rgba(18,43,43,.985),rgba(22,39,49,.985));color:#f7efe2;border-right:0;box-shadow:14px 0 50px rgba(20,37,37,.10);display:flex;flex-direction:column;z-index:20}
.brand-wrap{display:flex;align-items:center;gap:12px;padding:8px 9px 22px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:14px}
.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#d7b77c,#9f7f4d);color:#18302f;font-family:Georgia,serif;font-weight:800;box-shadow:0 9px 25px rgba(0,0,0,.2)}
.brand{color:#fff7e9;margin:0;font-size:19px;letter-spacing:-.02em}.brand-wrap span{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#91aaa4;margin-top:3px}
.nav{gap:3px}.nav button{color:#c9d6d2;padding:10px 12px;display:flex;align-items:center;gap:11px;border-radius:13px}.nav button:hover{background:rgba(255,255,255,.055);color:#fff}.nav button.active{background:linear-gradient(90deg,rgba(215,183,124,.17),rgba(255,255,255,.07));color:#fff5e5;box-shadow:inset 0 0 0 1px rgba(218,192,144,.12)}
.nav-dot{width:7px;height:7px;border-radius:50%;border:1px solid #89a49e;flex:0 0 auto}.nav button.active .nav-dot{background:#d1ad6e;border-color:#d1ad6e;box-shadow:0 0 0 4px rgba(209,173,110,.12)}
.sidebar-profile{margin-top:auto;padding:14px 10px 4px;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.sidebar-profile strong{display:block;color:#fff;font-size:13px}.sidebar-profile span{display:block;color:#8da39f;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:135px}.avatar-small{width:36px;height:36px;font-size:13px;background:#d4b77f;color:#1b3534}.icon-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:12px;color:#d5e0dc}
.main{position:relative;isolation:isolate;padding-top:26px}.main>*:not(.ambient){position:relative;z-index:2}.ambient{position:fixed;border-radius:50%;filter:blur(65px);opacity:.12;pointer-events:none;z-index:0}.ambient-a{width:330px;height:330px;background:#b79255;right:4%;top:7%}.ambient-b{width:420px;height:420px;background:#3f756f;left:28%;bottom:-12%}
.topline{margin-bottom:24px}.save-state{display:flex;align-items:center;gap:8px;font-size:12px;color:#5e6c69;background:rgba(255,253,248,.52);border:1px solid rgba(190,177,157,.35);border-radius:999px;padding:7px 11px;backdrop-filter:blur(12px)}.save-dot{box-shadow:0 0 0 4px rgba(45,122,75,.09)}
.card{background:rgba(255,253,248,.88);border-color:rgba(200,187,168,.62);box-shadow:var(--shadow);backdrop-filter:blur(10px)}

/* dashboard */
.dashboard-hero{min-height:470px;border-radius:34px;background:linear-gradient(135deg,#193f3d 0%,#203b46 58%,#27324c 100%);color:#f7f0e3;overflow:hidden;display:grid;grid-template-columns:1fr minmax(380px,.9fr);box-shadow:var(--shadow-strong);position:relative;margin-bottom:18px}
.dashboard-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 12%,rgba(213,181,123,.18),transparent 31rem),linear-gradient(90deg,transparent 0 59%,rgba(255,255,255,.035) 59% 100%);pointer-events:none}.dashboard-hero-copy{padding:clamp(34px,5vw,64px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}.dashboard-hero .eyebrow{color:#c7b797}.dashboard-hero h1{font-size:clamp(42px,5vw,68px);line-height:1;margin:.18em 0}.dashboard-hero p{color:#d1dcda;line-height:1.65;font-size:17px;max-width:680px}.dashboard-hero .hero-actions{justify-content:flex-start;margin:22px 0}.hero-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}.hero-meta span{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:999px;padding:7px 10px;font-size:11px;color:#d5dfdc}
.dashboard-hero-visual{position:relative;padding:24px 24px 24px 0;display:grid;place-items:center}.dashboard-hero-visual img{width:100%;max-height:390px;object-fit:cover;border-radius:26px;box-shadow:0 24px 70px rgba(0,0,0,.25);transform:rotate(1.2deg)}.floating-chip{position:absolute;left:-8px;bottom:54px;background:rgba(255,252,245,.92);color:#243335;border-radius:17px;padding:12px 15px;box-shadow:0 15px 45px rgba(0,0,0,.16);backdrop-filter:blur(16px)}.floating-chip strong,.floating-chip span{display:block}.floating-chip strong{font-family:Georgia,serif}.floating-chip span{font-size:11px;color:#68736f;margin-top:3px}
.dashboard-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.dashboard-strip article{background:rgba(255,253,248,.74);border:1px solid rgba(200,187,168,.55);border-radius:19px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;box-shadow:0 9px 30px rgba(42,47,43,.055)}.metric-small{width:45px;height:45px;display:grid;place-items:center;border-radius:15px;background:#e8eee9;font-family:Georgia,serif;font-size:22px;color:#1e5d57}.dashboard-strip strong{font-size:13px}.dashboard-strip p{margin:3px 0 0;color:#767a78;font-size:11px}.link-btn{border:0;background:transparent;color:#2a635d;font-weight:800;font-size:12px;padding:8px}
.insight-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center;padding:28px;border-radius:28px;background:linear-gradient(135deg,rgba(255,253,248,.78),rgba(236,228,214,.74));border:1px solid rgba(200,187,168,.55)}.insight-panel h2{font-size:clamp(25px,3vw,36px);margin:.25em 0;max-width:760px}.compact-memo{margin:0;background:rgba(229,239,235,.74)}

/* path / journey */
.journey-intro{display:grid;grid-template-columns:1fr minmax(260px,.42fr);gap:24px;align-items:center;padding:28px 30px;margin-bottom:26px;border-radius:28px;background:linear-gradient(135deg,#f8f2e7,#edf1ec);border:1px solid rgba(198,185,164,.55);overflow:hidden}.journey-intro h2{font-size:clamp(28px,3.6vw,44px);margin:.35em 0}.journey-intro p{color:#66706e;line-height:1.6;max-width:720px}.journey-visual-mini img{width:100%;border-radius:20px;box-shadow:0 14px 35px rgba(37,49,46,.12)}
.module-journey{position:relative;display:grid;gap:17px;padding-left:27px}.module-journey::before{content:"";position:absolute;left:49px;top:28px;bottom:28px;width:2px;background:linear-gradient(#b89b69,#cfd6d1 58%,#ded6c9);border-radius:999px}.module-stop{position:relative;display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:center}.route-node{position:relative;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fffaf0;border:2px solid #cbb58c;color:#7a633f;font-family:Georgia,serif;font-weight:800;box-shadow:0 7px 20px rgba(38,47,44,.09)}.active-stop .route-node{background:#205d57;color:#fff;border-color:#205d57;box-shadow:0 0 0 7px rgba(31,93,87,.09),0 10px 28px rgba(31,93,87,.16)}.completed-stop .route-node{background:#b79055;border-color:#b79055;color:#fff}.journey-card{margin:0;padding:22px 24px}.journey-card h2{margin:.35em 0;font-family:Georgia,serif;font-size:27px}.journey-card p{line-height:1.55}.future-stop .journey-card{opacity:.72;box-shadow:none;background:rgba(255,253,248,.55)}
.rich-module-hero{display:grid;grid-template-columns:1fr minmax(330px,.65fr);gap:28px;align-items:center;padding:0;overflow:hidden;border:1px solid rgba(197,182,160,.58);background:linear-gradient(135deg,#fffaf2,#eef1ec);border-radius:30px;box-shadow:var(--shadow)}.module-hero-copy{padding:clamp(28px,4vw,46px)}.rich-module-hero h2{font-size:clamp(34px,4vw,52px);margin:.3em 0}.rich-module-hero p{line-height:1.65;color:#56615f}.module-hero-art{height:100%;min-height:330px;padding:18px 18px 18px 0}.module-hero-art img{width:100%;height:100%;object-fit:cover;border-radius:23px;box-shadow:0 20px 55px rgba(37,49,46,.16)}.module-facts{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.module-facts span{background:#fff;border:1px solid rgba(193,180,160,.5);border-radius:999px;padding:7px 10px;font-size:11px;color:#5b6865}
.chapter-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.route-card{min-height:210px;padding:22px;align-items:flex-start;box-shadow:0 12px 34px rgba(42,48,45,.07)}.route-card:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(42,48,45,.1)}.route-card h3{font-family:Georgia,serif;font-size:24px;margin:.28em 0}.route-card p{color:#626c69;line-height:1.55}
.rich-chapter{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#fffaf2,#edf2ee);border:1px solid rgba(197,183,163,.55);margin-bottom:16px}.rich-chapter h2{font-size:clamp(32px,4vw,48px);margin:.35em 0}.rich-chapter p{color:#5e6967;line-height:1.6}.chapter-score{width:122px;height:122px;border-radius:50%;display:grid;place-items:center;align-content:center;background:#1f5d57;color:#fff;box-shadow:0 14px 35px rgba(31,93,87,.2)}.chapter-score strong{font-family:Georgia,serif;font-size:30px}.chapter-score span{font-size:10px;color:#cfe0dc;text-align:center}.chapter-progress{max-width:520px}.rich-lessons{gap:11px}.rich-lessons .lesson-row{background:rgba(255,253,248,.86);box-shadow:0 9px 26px rgba(43,48,45,.045);padding:16px 18px}.rich-lessons .lesson-row:hover{border-color:#bba887;transform:translateX(2px)}.lesson-done{background:linear-gradient(90deg,rgba(229,239,235,.9),rgba(255,253,248,.86))!important}.chapter-memo{margin-top:18px}

/* session */
.immersive-session{max-width:1050px}.session-top{position:sticky;top:16px;z-index:20;padding:8px;background:rgba(242,237,228,.78);backdrop-filter:blur(18px);border:1px solid rgba(193,181,163,.38);border-radius:16px}.session-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:26px 0 15px}.session-title{font-size:clamp(34px,4.4vw,56px);margin:.16em 0}.session-token{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#1e5d57;color:#fff;font-weight:900;letter-spacing:.06em;box-shadow:0 10px 25px rgba(31,93,87,.2)}
.learning-stage{min-height:510px;border-radius:31px;padding:clamp(26px,5vw,54px);background:rgba(255,253,248,.91);border:1px solid rgba(196,182,161,.62);box-shadow:0 24px 70px rgba(42,48,45,.11);position:relative;overflow:hidden}.learning-stage::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-130px;top:-130px;background:rgba(31,93,87,.045);pointer-events:none}.stage-scene{background:linear-gradient(145deg,#fdf9f1,#eef3ef)}.stage-pronunciation{background:linear-gradient(145deg,#f8faf8,#edf2f4)}.stage-memo{background:linear-gradient(145deg,#fbf6ea,#f2eadb)}.stage-mission{background:linear-gradient(145deg,#f6f0e7,#edf0ec)}
.stage-copy{position:relative;z-index:2}.stage-number{position:absolute;right:0;top:-18px;font-family:Georgia,serif;font-size:70px;color:rgba(31,93,87,.055);font-weight:800}.intro-stage .stage-text{max-width:730px}.stage-actions{margin-top:28px;justify-content:flex-end}
.scene-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.scene-head h2{margin:.2em 0;font-size:clamp(30px,4vw,44px);font-family:Georgia,serif}.scene-head p{margin:0;color:#737b78}.dialogue-stage{display:grid;gap:11px;padding:20px;border-radius:23px;background:#173b3a;color:#f7f0e3;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 18px 45px rgba(26,50,48,.12)}.dialogue-line{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-radius:16px;background:rgba(255,255,255,.06);max-width:82%}.dialogue-line.you{margin-left:auto;background:rgba(209,173,110,.15)}.speaker-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#d4b16f;color:#1b3534;font-weight:900}.dialogue-line.you .speaker-avatar{background:#8db3aa}.dialogue-line strong{font-size:11px;color:#d0b985;letter-spacing:.1em;text-transform:uppercase}.dialogue-line p{margin:4px 0 0;color:#fff;font-size:17px;line-height:1.5}
.chunk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.chunk-card{padding:17px;border-radius:17px;background:#fff;border:1px solid #e1d8cb;box-shadow:0 7px 20px rgba(42,48,45,.04)}.chunk-card strong{display:block;font-size:18px;color:#1e5d57}.chunk-card span{display:block;margin-top:6px;color:#5e6966}.chunk-card small{display:block;margin-top:6px;color:#8a8178}
.pronounce-card{border-radius:25px;padding:25px;background:linear-gradient(135deg,#193e3c,#243b4c);color:#fff;box-shadow:0 20px 55px rgba(30,54,54,.16)}.sound-target{font-family:Georgia,serif;font-size:clamp(28px,4.5vw,48px);line-height:1.25}.pronounce-card p{color:#cbd8d5;line-height:1.6}.native-media-note{display:flex;gap:12px;align-items:flex-start;margin-top:13px;border:1px dashed #cfc5b6;border-radius:16px;padding:13px 15px;color:#64706d}.native-media-note strong{white-space:nowrap;color:#775f38}.premium-memo{display:flex;gap:16px;align-items:flex-start;border-left:0;background:linear-gradient(135deg,#f2e7cf,#e6efe9);border:1px solid rgba(186,166,131,.48);box-shadow:0 12px 38px rgba(43,48,45,.07)}.memo-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:#1f5d57;color:#f1d9ac}.premium-memo strong{font-family:Georgia,serif;font-size:20px}
.choice-answers{grid-template-columns:repeat(1,minmax(0,1fr))}.choice-answer{padding:18px;border-radius:18px;position:relative}.choice-answer:hover:not(:disabled){transform:translateX(3px);box-shadow:0 8px 22px rgba(43,48,45,.06)}
.mission-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:15px;align-items:stretch;margin-top:19px}.mission-input{height:100%;min-height:250px}.criteria-card{padding:20px;border-radius:21px;background:#193e3c;color:#fff}.criteria-card>strong{display:block;font-family:Georgia,serif;font-size:21px;margin-bottom:14px}.criteria-card label{display:flex;gap:9px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;color:#d7e1de}.criteria-card input{margin-top:2px;accent-color:#d1ad6e}
.session-footer-note{display:flex;justify-content:space-between;gap:12px;color:#7b7f7c;font-size:10px;padding:11px 5px}.section-title{font-family:Georgia,serif;font-size:30px;margin:28px 0 12px}.secondary-title{margin-top:44px;color:#65706d}.rich-picker{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.session-card{position:relative;overflow:hidden}.session-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#1f5d57,#c3a168)}.session-card h3{font-family:Georgia,serif;font-size:21px}


/* external learning media — embedded, credited, never used as decoration */
.video-stage{max-width:880px!important}.video-purpose{font-size:17px;line-height:1.65;color:#56625f;max-width:760px;margin:0 0 18px}.video-frame{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#111f22;box-shadow:0 24px 64px rgba(20,36,38,.18);border:1px solid rgba(117,102,79,.22)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-credit{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:11px 13px;border-radius:14px;background:rgba(255,253,248,.64);border:1px solid rgba(196,183,164,.44);font-size:11px;color:#66706d}.media-credit a{color:#1f5d57;font-weight:800;text-decoration:none}.media-credit a:hover{text-decoration:underline}
/* visual life without turning CSS into scenery */
@keyframes ambientDrift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(18px,-14px,0) scale(1.035)}}
@keyframes heroFloat{0%,100%{transform:rotate(1.2deg) translateY(0)}50%{transform:rotate(.6deg) translateY(-5px)}}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.ambient{animation:ambientDrift 14s ease-in-out infinite}.ambient-b{animation-delay:-6s}.dashboard-hero-visual img{animation:heroFloat 8s ease-in-out infinite}.floating-chip,.visual-float{animation:chipFloat 6.5s ease-in-out infinite}.route-card,.journey-card,.dashboard-strip article,.vocab-card,.profile-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.journey-card:hover,.dashboard-strip article:hover,.vocab-card:hover,.profile-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(42,48,45,.09);border-color:rgba(173,151,117,.62)}

/* soft motion - only communicates state */
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes routePulse{0%,100%{box-shadow:0 0 0 7px rgba(31,93,87,.07),0 10px 28px rgba(31,93,87,.14)}50%{box-shadow:0 0 0 11px rgba(31,93,87,.035),0 12px 30px rgba(31,93,87,.18)}}
.page-enter{animation:pageIn .36s ease both}.active-stop .route-node{animation:routePulse 2.8s ease-in-out infinite}.progress>span,.session-progress span{transition:width .42s ease}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media (max-width:1120px){.dashboard-hero{grid-template-columns:1fr .72fr}.dashboard-hero-copy{padding:38px}.welcome-shell{grid-template-columns:1fr 1fr}.welcome-copy{padding:54px}.chapter-route{grid-template-columns:1fr}.rich-module-hero{grid-template-columns:1fr .55fr}}
@media (max-width:900px){
  .welcome-shell{grid-template-columns:1fr;min-height:100svh}.welcome-copy{padding:38px 22px 20px}.welcome-title{font-size:clamp(48px,14vw,72px)}.welcome-visual{min-height:380px;padding:10px 14px 28px}.welcome-visual img{border-radius:26px}.visual-float{left:26px;bottom:46px;width:calc(100% - 52px)}
  .app-shell{display:block}.sidebar{display:none}.main{padding:18px 14px 98px}.topline{padding:0 2px}.dashboard-hero{grid-template-columns:1fr;border-radius:26px}.dashboard-hero-copy{padding:30px 23px 14px}.dashboard-hero-visual{padding:10px 20px 28px}.dashboard-hero-visual img{max-height:260px}.floating-chip{left:28px;bottom:48px}.dashboard-strip{grid-template-columns:1fr}.insight-panel{grid-template-columns:1fr;padding:22px}.journey-intro{grid-template-columns:1fr;padding:22px}.journey-visual-mini{display:none}.module-journey{padding-left:4px}.module-journey::before{left:26px}.module-stop{grid-template-columns:46px 1fr;gap:10px}.journey-card{padding:18px}.rich-module-hero{grid-template-columns:1fr}.module-hero-art{padding:0 18px 18px;min-height:240px}.rich-chapter{grid-template-columns:1fr}.chapter-score{width:auto;height:auto;border-radius:17px;padding:12px;display:flex;justify-content:center;gap:8px}.chapter-score strong{font-size:22px}.learning-stage{min-height:430px;padding:24px 18px;border-radius:25px}.mission-grid{grid-template-columns:1fr}.chunk-grid{grid-template-columns:1fr}.scene-head{flex-direction:column}.dialogue-line{max-width:95%}.session-heading{align-items:center}.session-title{font-size:34px}.session-token{width:44px;height:44px;border-radius:13px}.session-footer-note{flex-direction:column}.mobilebar{background:rgba(250,247,240,.92);backdrop-filter:blur(18px);box-shadow:0 -10px 40px rgba(43,48,45,.08)}.mobilebar button{display:grid;gap:4px;place-items:center}.mobile-dot{width:5px;height:5px;border-radius:50%;background:#b3b5b0}.mobilebar button.active .mobile-dot{background:#1f5d57;box-shadow:0 0 0 3px rgba(31,93,87,.1)}}
@media (max-width:560px){.welcome-copy .hero-actions{display:grid;width:100%}.welcome-copy .btn{width:100%}.academy-seal{font-size:9px}.dashboard-hero h1{font-size:42px}.dashboard-hero p{font-size:15px}.hero-meta{gap:5px}.rich-lessons .lesson-row{grid-template-columns:42px 1fr}.rich-lessons .lesson-row .btn{grid-column:2;width:100%}.module-stop{grid-template-columns:38px 1fr}.route-node{width:38px;height:38px;font-size:12px}.module-journey::before{left:22px}.scene-head .btn{width:100%}.sound-target{font-size:30px}.native-media-note{display:grid}.native-media-note strong{white-space:normal}}

/* V0.5 immersive functional surfaces: media, phone, agenda and documents */
.podcast-shell{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:stretch;margin-top:20px}.podcast-cover{min-height:220px;border-radius:26px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(155deg,#173b3a,#2e5552);color:#fff;box-shadow:0 22px 54px rgba(25,59,58,.18);position:relative;overflow:hidden}.podcast-cover::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-45px;top:-35px;border:1px solid rgba(255,255,255,.18)}.podcast-cover span{position:absolute;top:20px;left:20px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#d5b77f;color:#173b3a;font-weight:900}.podcast-cover strong{font-family:Georgia,serif;font-size:38px;letter-spacing:.04em}.podcast-cover small{color:#d8e3e0;margin-top:6px}.podcast-player{padding:22px;border-radius:24px;background:#fff;border:1px solid #e3dbcf}.podcast-player audio{width:100%;margin:14px 0 18px}.transcript{margin-top:16px;border-top:1px solid #e4ddd2;padding-top:14px}.transcript summary{cursor:pointer;font-weight:800;color:#1f5d57}.transcript p{line-height:1.75;color:#56625f;white-space:pre-wrap}
.phone-sim{width:min(100%,390px);margin:20px auto;border:10px solid #1a2526;border-radius:38px;background:#f5f3ee;box-shadow:0 28px 70px rgba(20,33,34,.22);overflow:hidden}.phone-top,.fake-device-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:11px;background:#f8f7f3;color:#34413f}.phone-contact{display:flex;align-items:center;gap:10px;padding:12px 15px;border-top:1px solid #e9e4dc;border-bottom:1px solid #e9e4dc;background:#fff}.contact-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#1f5d57;color:#fff;font-weight:900}.phone-contact small{display:block;color:#79817e}.phone-messages{padding:18px 14px;display:grid;gap:9px;min-height:290px}.phone-bubble{max-width:82%;padding:10px 12px;border-radius:17px;display:grid;gap:4px;font-size:14px;line-height:1.45}.phone-bubble.theirs{background:#fff;border:1px solid #e1ddd5}.phone-bubble.mine{margin-left:auto;background:#1f5d57;color:#fff}.phone-bubble small{font-size:9px;opacity:.62;text-align:right}.phone-compose{margin:8px 12px 14px;border:1px solid #d9d4cb;background:#fff;border-radius:19px;padding:8px 9px 8px 13px;display:flex;justify-content:space-between;align-items:center;color:#969b98;font-size:12px}.phone-compose button{border:0;width:28px;height:28px;border-radius:50%;background:#1f5d57;color:#fff;font-weight:900}
.fake-device{margin-top:20px;border:1px solid #d8d1c6;border-radius:26px;background:#fff;box-shadow:0 22px 60px rgba(42,48,45,.10);overflow:hidden}.fake-device-bar{padding:13px 18px;border-bottom:1px solid #ebe5dc;text-transform:capitalize}.fake-rows{display:grid}.fake-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:14px;padding:17px 19px;border-bottom:1px solid #eee8df;align-items:center}.fake-row:last-child{border-bottom:0}.fake-row-lead{font-size:12px;font-weight:900;color:#1f5d57;letter-spacing:.03em}.fake-row strong{display:block}.fake-row small{display:block;color:#777f7c;margin-top:4px}.fake-device.notifications .fake-row{grid-template-columns:120px 1fr}.fake-device.voice-note .fake-row-lead{font-variant-numeric:tabular-nums}.fake-device.compare .fake-row{grid-template-columns:100px 1fr}
.timeline-list{position:relative;margin:24px 0 6px;display:grid;gap:0}.timeline-list::before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:2px;background:#d5c8b5}.timeline-event{position:relative;display:grid;grid-template-columns:32px 86px 1fr;gap:14px;align-items:start;padding:12px 0}.timeline-dot{width:13px;height:13px;border-radius:50%;background:#1f5d57;border:4px solid #edf3f0;box-shadow:0 0 0 1px #1f5d57;margin:4px 0 0 9px;z-index:1}.timeline-time{font-weight:900;color:#8b6d42;font-variant-numeric:tabular-nums}.timeline-event p{margin:5px 0 0;color:#6a7471}
.calendar-sim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.calendar-slot{border:1px solid #ddd4c7;border-radius:18px;padding:18px;background:#fff;text-align:left;display:grid;gap:7px;cursor:pointer;transition:.18s ease}.calendar-slot strong{font-size:16px}.calendar-slot span{color:#747d79;font-size:12px}.calendar-slot:hover:not(:disabled){transform:translateY(-2px);border-color:#9bb4ae;box-shadow:0 10px 25px rgba(42,48,45,.08)}.calendar-slot.good{border-color:#4b8a7c;background:#edf7f3}.calendar-slot.bad{border-color:#bf7d70;background:#fbefec}
@media (max-width:720px){.podcast-shell{grid-template-columns:1fr}.podcast-cover{min-height:180px}.calendar-sim{grid-template-columns:1fr}.fake-row{grid-template-columns:90px 1fr}.timeline-event{grid-template-columns:32px 64px 1fr}.phone-sim{border-width:7px;border-radius:31px}}


/* V0.6 — spatial immersion: purposeful diagrams, not CSS scenery */
.room-explorer{position:relative;margin-top:20px;border-radius:28px;overflow:hidden;background:#e9eee9;border:1px solid #d6d0c6;box-shadow:0 24px 64px rgba(29,45,43,.14)}.room-explorer>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.room-hotspot{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;display:flex;align-items:center;gap:7px}.room-hotspot>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1f5d57;border:2px solid #1f5d57;font-weight:900;box-shadow:0 8px 20px rgba(20,45,42,.2);transition:.2s ease}.room-hotspot>b{opacity:0;transform:translateX(-6px);pointer-events:none;background:rgba(21,52,50,.94);color:#fff;padding:8px 10px;border-radius:10px;font-size:11px;white-space:nowrap;transition:.2s ease}.room-hotspot.revealed>span{background:#1f5d57;color:#fff}.room-hotspot.revealed>b{opacity:1;transform:none}.tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.tour-view{border-radius:22px;overflow:hidden;background:#fff;border:1px solid #ddd5c9;box-shadow:0 12px 34px rgba(42,48,45,.07)}.tour-view img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.tour-view div{padding:14px}.tour-view p{margin:5px 0 0;color:#6a7471;font-size:12px;line-height:1.5}
.property-screen{display:grid;grid-template-columns:minmax(280px,.9fr) 1fr;gap:0;border-radius:28px;overflow:hidden;background:#fff;border:1px solid #d9d2c6;box-shadow:0 22px 58px rgba(42,48,45,.11);margin-top:18px}.property-media{position:relative;min-height:360px;background:#e9eee9}.property-media img{width:100%;height:100%;object-fit:cover;display:block}.property-tag{position:absolute;left:18px;top:18px;background:#fff;color:#1f5d57;padding:8px 10px;border-radius:999px;font-size:10px;font-weight:900;box-shadow:0 8px 25px rgba(42,48,45,.13)}.property-copy{padding:26px}.property-price{font-family:Georgia,serif;font-size:34px;color:#183e3b}.property-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 22px}.property-meta span{border:1px solid #ded6ca;background:#faf7f1;border-radius:999px;padding:7px 9px;font-size:11px}.property-features{display:grid;gap:0;border-top:1px solid #ebe5db}.property-features>div{padding:14px 0;border-bottom:1px solid #ebe5db}.property-features p{margin:4px 0 0;color:#68716e;font-size:12px}.lost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.lost-card{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;border-radius:20px;padding:18px;background:linear-gradient(145deg,#fff,#f4efe6);border:1px solid #ded6ca}.lost-id{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#1f5d57;color:#fff;font-weight:900}.lost-card p{margin:6px 0 0;color:#69726f;font-size:12px;line-height:1.5}.map-stage{margin-top:18px;border-radius:26px;overflow:hidden;border:1px solid #d8d1c5;background:#edf1eb;box-shadow:0 20px 50px rgba(42,48,45,.09)}.map-stage img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.map-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.map-legend span{display:flex;gap:6px;align-items:center;border:1px solid #ddd5c9;background:#fff;border-radius:999px;padding:8px 10px;font-size:11px}.map-legend strong{color:#1f5d57}.stage-room-tour,.stage-visual-tour,.stage-property,.stage-lost-found,.stage-map{background:linear-gradient(145deg,#f8f6f0,#edf2ef)}
@media (max-width:850px){.tour-grid{grid-template-columns:1fr}.property-screen{grid-template-columns:1fr}.property-media{min-height:250px}.lost-grid{grid-template-columns:1fr}.room-hotspot>b{max-width:140px;white-space:normal}.room-explorer>img{aspect-ratio:4/3;object-fit:cover}}

/* V0.7 — profils immersifs / carte 2.5D */
.profile-hall{min-height:100vh;position:relative;overflow:hidden;background:#102b2a;color:#fff;padding:clamp(28px,5vw,74px);display:grid;align-items:center}.profile-hall-scene{position:absolute;inset:0;overflow:hidden}.profile-hall-scene img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.02);transform:scale(1.035)}.profile-hall-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,30,.94) 0%,rgba(10,31,30,.77) 42%,rgba(10,31,30,.54) 100%),linear-gradient(0deg,rgba(7,23,23,.82),transparent 50%)}.profile-hall-content{position:relative;z-index:2;width:min(1180px,100%);margin:auto}.profile-hall-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}.profile-hall-head h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,76px);line-height:.96;max-width:780px;margin:18px 0 12px;letter-spacing:-.035em}.profile-hall-head p{max-width:680px;color:#c9d4d0;font-size:16px;line-height:1.6}.profile-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px;perspective:1300px}.profile-passport{--tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;--shine-y:50%;position:relative;min-height:365px;border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:18px;background:linear-gradient(145deg,rgba(248,242,226,.96),rgba(228,216,190,.94));color:#173b3a;box-shadow:0 30px 70px rgba(0,0,0,.24);transform-style:preserve-3d;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .18s ease,box-shadow .25s ease;overflow:hidden}.profile-passport::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--shine-x) var(--shine-y),rgba(255,255,255,.48),transparent 34%);pointer-events:none;mix-blend-mode:soft-light}.profile-passport:hover{box-shadow:0 38px 84px rgba(0,0,0,.31)}.passport-glow{position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-80px;background:rgba(194,157,91,.24);filter:blur(6px)}.passport-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#61706c;transform:translateZ(18px)}.passport-seal{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(26,71,68,.25);font-family:Georgia,serif;color:#214c48;font-size:12px}.passport-photo{width:132px;height:150px;border-radius:52% 52% 44% 44%/42% 42% 58% 58%;margin:26px auto 18px;background:#1d4f4b;box-shadow:0 18px 32px rgba(22,55,52,.21);display:grid;place-items:center;overflow:hidden;color:#fff;font-family:Georgia,serif;font-size:54px;transform:translateZ(42px)}.passport-photo img{width:100%;height:100%;object-fit:cover}.passport-copy{text-align:center;position:relative;z-index:2;transform:translateZ(24px)}.passport-copy small{text-transform:uppercase;letter-spacing:.15em;color:#7b817c;font-size:9px}.passport-copy h2{font-family:Georgia,serif;font-size:30px;margin:5px 0 10px}.passport-copy p{color:#65706c;line-height:1.45}.passport-languages{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.passport-languages span{display:inline-grid;place-items:center;min-width:34px;height:25px;border:1px solid rgba(31,89,83,.18);background:rgba(31,89,83,.08);border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}.passport-open{position:absolute;z-index:4;left:16px;right:16px;bottom:16px;border:0;border-radius:16px;padding:13px 15px;background:#173f3c;color:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:800;cursor:pointer;transform:translateZ(28px)}.profile-passport-new{border-style:dashed;background:linear-gradient(145deg,rgba(20,58,56,.84),rgba(14,45,44,.88));color:#fff;cursor:pointer;display:grid;align-content:center}.profile-passport-new .passport-copy small,.profile-passport-new .passport-copy p{color:#b9cbc5}.profile-passport-new .passport-open{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15)}.new-profile-orbit{width:88px;height:88px;border-radius:50%;margin:0 auto 24px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;font-size:42px;box-shadow:0 0 0 12px rgba(255,255,255,.04),0 0 0 28px rgba(255,255,255,.025);transform:translateZ(40px)}.fake-button{pointer-events:none}.profile-hall-note{display:flex;gap:10px;align-items:center;margin-top:22px;color:#c8d6d1;font-size:12px}.profile-hall-note p{margin:0}

.profile-studio-layer{position:fixed;inset:0;z-index:120;background:#0d2827;color:#fff;overflow:auto}.profile-studio-shell{min-height:100vh;position:relative;overflow:hidden;display:grid;place-items:center;padding:84px 28px 44px}.studio-backdrop{position:absolute;inset:0}.studio-backdrop img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);filter:saturate(.72) contrast(1.04)}.studio-backdrop-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,27,.96) 0%,rgba(8,30,29,.9) 46%,rgba(7,26,26,.66) 100%),linear-gradient(0deg,rgba(5,20,19,.55),transparent 60%)}.studio-close{position:fixed;top:24px;right:24px;z-index:4;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(13,38,37,.62);backdrop-filter:blur(12px);color:#fff;font-size:26px;cursor:pointer}.studio-progress{position:fixed;top:30px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center}.studio-progress span{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#a9bdb8;background:rgba(10,34,33,.6);backdrop-filter:blur(8px)}.studio-progress span.active{background:#d0ad6a;color:#173a38;border-color:#d0ad6a;box-shadow:0 0 0 7px rgba(208,173,106,.11)}.studio-progress span.done{background:#275e58;color:#fff;border-color:#4c7f78}.studio-progress span i{font-style:normal;font-size:11px;font-weight:900}.studio-progress b{width:46px;height:1px;background:rgba(255,255,255,.18)}.profile-studio-grid{position:relative;z-index:2;width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);gap:clamp(30px,6vw,82px);align-items:center}.studio-copy-panel{padding:clamp(10px,3vw,34px)}.studio-kicker{text-transform:uppercase;letter-spacing:.17em;color:#d2b16f;font-size:10px;font-weight:900}.studio-copy-panel h1{font-family:Georgia,serif;font-size:clamp(40px,5vw,67px);line-height:1.02;letter-spacing:-.035em;margin:13px 0 15px}.studio-lead{color:#c2d0cc;line-height:1.65;font-size:15px;max-width:680px;margin-bottom:26px}.studio-field{display:grid;gap:8px}.studio-field label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#aabdb8}.studio-field input{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.28);border-radius:0;background:transparent;color:#fff;padding:12px 2px;font-family:Georgia,serif;font-size:30px;outline:none}.studio-field input:focus{border-bottom-color:#d0ad6a}.avatar-drop{margin-top:20px;border:1px dashed rgba(255,255,255,.24);border-radius:22px;padding:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:rgba(255,255,255,.05);cursor:pointer}.avatar-drop input{position:absolute;opacity:0;pointer-events:none}.avatar-drop-icon{width:48px;height:48px;border-radius:16px;background:rgba(208,173,106,.14);color:#e1c78e;display:grid;place-items:center;font-size:23px}.avatar-drop strong,.avatar-drop small{display:block}.avatar-drop small{color:#9db0ab;margin-top:3px}.avatar-drop-action{font-size:11px;color:#d8bc82}.language-door-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.language-door{position:relative;min-height:112px;text-align:left;border:1px solid rgba(255,255,255,.13);border-radius:19px;background:rgba(255,255,255,.055);color:#fff;padding:16px;display:grid;align-content:center;gap:3px;cursor:pointer;transition:.2s ease}.language-door:hover{transform:translateY(-2px);background:rgba(255,255,255,.09)}.language-door.selected{background:rgba(208,173,106,.12);border-color:rgba(226,194,132,.55);box-shadow:inset 0 0 0 1px rgba(208,173,106,.12)}.language-door strong{font-family:Georgia,serif;font-size:21px}.language-door small{color:#96aaa5;font-size:10px}.language-code{font-size:9px;letter-spacing:.15em;color:#dfc58d;font-weight:900}.door-check{position:absolute;right:13px;top:13px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#c6d3cf}.language-door.selected .door-check{background:#d0ad6a;color:#173a38}.studio-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.studio-option{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.05);color:#fff;padding:16px;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;cursor:pointer}.studio-option>span{grid-row:1/3;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.07);display:grid;place-items:center}.studio-option strong{font-size:13px}.studio-option small{color:#94aaa4}.studio-option.selected{border-color:rgba(213,180,114,.55);background:rgba(208,173,106,.12)}.studio-rhythm{margin-top:18px;border-top:1px solid rgba(255,255,255,.11);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.studio-rhythm strong,.studio-rhythm small{display:block}.studio-rhythm small{color:#91a6a1;margin-top:3px}.rhythm-pills{display:flex;gap:6px;flex-wrap:wrap}.rhythm-pills button,.pin-length-toggle button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#cbd8d4;border-radius:999px;padding:9px 13px;cursor:pointer}.rhythm-pills button.selected,.pin-length-toggle button.selected{background:#d0ad6a;color:#173a38;border-color:#d0ad6a;font-weight:900}.pin-length-toggle{display:flex;gap:8px;margin:4px 0 16px}.studio-pin-panel{width:min(410px,100%);border:1px solid rgba(255,255,255,.13);border-radius:26px;background:rgba(4,20,20,.28);backdrop-filter:blur(12px);padding:22px}.studio-pin-panel>small{display:block;text-align:center;text-transform:uppercase;letter-spacing:.13em;color:#b1c3be;font-size:9px}.studio-pin-dots{display:flex;justify-content:center;gap:10px;margin:20px 0}.studio-pin-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.34);transition:.18s}.studio-pin-dot.filled{background:#d0ad6a;border-color:#d0ad6a;transform:scale(1.12);box-shadow:0 0 0 5px rgba(208,173,106,.08)}.studio-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.studio-keypad button{min-height:52px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(255,255,255,.06);color:#fff;font-size:17px;cursor:pointer}.studio-keypad button:hover{background:rgba(255,255,255,.12)}.studio-keypad .keypad-ghost{font-size:10px;color:#9bb0aa}.studio-pin-hint{text-align:center;color:#8da39d;font-size:10px;margin-top:12px}.studio-error{margin-top:16px;border-left:2px solid #e4a183;background:rgba(196,92,58,.12);padding:10px 12px;color:#ffd5c5;font-size:12px}.studio-nav{margin-top:25px;display:flex;justify-content:space-between;align-items:center;gap:12px}.studio-preview-wrap{perspective:1400px}.studio-scene-card{--tilt-x:0deg;--tilt-y:0deg;position:relative;aspect-ratio:4/5;border-radius:36px;overflow:hidden;box-shadow:0 48px 100px rgba(0,0,0,.42);transform-style:preserve-3d;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .16s ease;border:1px solid rgba(255,255,255,.2);background:#173a38}.studio-scene-image{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;filter:saturate(.82) brightness(.8);transform:translateZ(-28px) scale(1.08)}.studio-scene-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,27,26,.85),rgba(8,27,26,.02) 70%),radial-gradient(circle at 65% 15%,rgba(244,219,162,.25),transparent 35%)}.studio-scene-depth{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.depth-one{width:160px;height:160px;background:rgba(210,177,109,.18);right:-45px;top:80px;transform:translateZ(10px)}.depth-two{width:120px;height:120px;border:1px solid rgba(255,255,255,.16);left:-38px;bottom:110px;transform:translateZ(18px)}.studio-passport-float{position:absolute;z-index:3;width:62%;left:19%;bottom:10%;min-height:46%;padding:16px;border-radius:24px;background:linear-gradient(145deg,rgba(247,240,221,.97),rgba(218,201,165,.96));color:#173b3a;box-shadow:0 24px 55px rgba(0,0,0,.28);transform:translateZ(58px) rotate(-2deg);display:grid;grid-template-columns:86px 1fr;grid-template-rows:auto auto auto 1fr;column-gap:13px}.studio-passport-head{grid-column:1/-1;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.12em;color:#64726d}.studio-passport-photo{grid-row:2/5;width:82px;height:96px;border-radius:16px;background:#1e5550;overflow:hidden;display:grid;place-items:center;color:#fff;font-size:34px;font-family:Georgia,serif;margin-top:11px}.studio-passport-photo img{width:100%;height:100%;object-fit:cover}.studio-passport-name{align-self:end;font-family:Georgia,serif;font-size:22px;margin-top:12px}.studio-passport-stamps{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.studio-passport-stamps span{font-size:7px;font-weight:900;border:1px solid rgba(24,75,70,.23);border-radius:999px;padding:3px 6px}.studio-passport-meta{display:flex;gap:8px;align-items:end;color:#71807a;font-size:7px;text-transform:uppercase;letter-spacing:.07em}.studio-preview-caption{color:#9cb0aa;font-size:10px;line-height:1.5;text-align:center;max-width:420px;margin:13px auto 0}.profile-passport,.studio-scene-card{will-change:transform}

@media(max-width:900px){.profile-hall{padding:28px 18px 80px;align-items:start}.profile-hall-head{align-items:flex-start;flex-direction:column}.profile-hall-head h1{font-size:48px}.profile-deck{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-studio-shell{padding:80px 18px 30px}.profile-studio-grid{grid-template-columns:1fr}.studio-preview-wrap{order:-1;width:min(440px,82vw);margin:auto}.studio-scene-card{aspect-ratio:16/10}.studio-passport-float{width:54%;left:23%;bottom:7%;min-height:63%;grid-template-columns:72px 1fr}.studio-passport-photo{width:68px;height:78px}.studio-copy-panel{padding:8px 0 30px}.studio-copy-panel h1{font-size:42px}.studio-preview-caption{display:none}}
@media(max-width:620px){.profile-deck{grid-template-columns:1fr}.profile-passport{min-height:330px}.profile-hall-head h1{font-size:42px}.profile-hall-head .btn{width:100%}.studio-progress b{width:26px}.studio-progress{top:22px}.studio-close{top:16px;right:14px}.profile-studio-shell{padding-top:70px}.studio-preview-wrap{width:100%}.studio-scene-card{aspect-ratio:16/11;border-radius:24px}.studio-passport-float{width:62%;left:19%;bottom:6%;padding:10px;border-radius:18px;grid-template-columns:58px 1fr}.studio-passport-photo{width:54px;height:64px;border-radius:10px;margin-top:7px}.studio-passport-name{font-size:15px;margin-top:7px}.studio-passport-head,.studio-passport-meta{font-size:6px}.studio-copy-panel h1{font-size:36px}.language-door-grid,.studio-option-grid{grid-template-columns:1fr}.studio-rhythm{align-items:flex-start;flex-direction:column}.studio-nav .btn{flex:1}.avatar-drop{grid-template-columns:auto 1fr}.avatar-drop-action{display:none}}
@media(prefers-reduced-motion:reduce){.profile-passport,.studio-scene-card{transform:none!important;transition:none!important}}


/* V0.8 — motion system + commerce immersion */
body.motion-ready{background:
  radial-gradient(circle at 15% 8%,rgba(208,173,106,.10),transparent 24rem),
  radial-gradient(circle at 90% 22%,rgba(41,95,87,.09),transparent 28rem),var(--paper)}
.main{position:relative}.main::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:100% 7px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 70%,transparent)}
.learning-stage{animation:stageIn .48s cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 20%}.session-heading{animation:fadeSlide .4s ease both}.session-progress>span{position:relative;overflow:hidden}.session-progress>span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transform:translateX(-120%);animation:progressSheen 1.8s ease infinite}
.btn{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(30,35,32,.09)}.btn.is-pressing{transform:translateY(1px) scale(.985)}
.nav button,.mobilebar button{transition:transform .18s ease,background .18s ease,color .18s ease}.nav button:hover{transform:translateX(3px)}
.card,.module-card,.chapter-card,.chunk-card,.tour-view{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease}.card:hover,.module-card:hover,.chapter-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(42,35,27,.11);border-color:#cfc4b5}.chunk-card:hover,.tour-view:hover{transform:translateY(-2px)}
.motion-reveal{opacity:0;transform:translateY(14px) scale(.992);transition:opacity .52s ease var(--reveal-delay,0ms),transform .52s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms)}.motion-reveal.is-visible{opacity:1;transform:none}
.profile-hall-scene{transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.035);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.profile-hall-vignette{animation:vignetteBreathe 7s ease-in-out infinite alternate}.profile-passport::after,.studio-scene-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine-x,65%) var(--shine-y,20%),rgba(255,255,255,.24),transparent 28%);mix-blend-mode:screen;opacity:.55}
.studio-progress span.active{animation:stepPulse 1.7s ease-in-out infinite}.studio-passport-float{animation:passportFloat 4.8s ease-in-out infinite}.studio-scene-depth.depth-one{animation:orbDrift 8s ease-in-out infinite alternate}.studio-scene-depth.depth-two{animation:orbDrift 10s ease-in-out infinite alternate-reverse}
.dialogue-line{animation:dialogueIn .42s both}.dialogue-line:nth-child(2){animation-delay:.07s}.dialogue-line:nth-child(3){animation-delay:.14s}.dialogue-line:nth-child(4){animation-delay:.21s}.phone-bubble{animation:bubbleIn .4s cubic-bezier(.2,.9,.2,1) both}.phone-bubble:nth-child(2){animation-delay:.08s}.phone-bubble:nth-child(3){animation-delay:.16s}.phone-bubble:nth-child(4){animation-delay:.24s}.timeline-dot{animation:dotPulse 2.2s ease-in-out infinite}

.commerce-stage{max-width:1050px;margin:auto}.commerce-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.commerce-head h2{margin-bottom:.2em}.commerce-head p{color:var(--muted);margin:0}.commerce-budget{border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:999px;font-weight:900;color:var(--accent)}
.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.market-item{position:relative;min-height:145px;border:1px solid var(--line);background:linear-gradient(145deg,#fffefa,#f5efe4);border-radius:20px;padding:18px;text-align:left;display:grid;align-content:end;gap:4px;color:var(--ink);box-shadow:0 8px 22px rgba(45,38,30,.05);transition:.24s ease}.market-item::before{content:"";position:absolute;inset:13px 13px auto auto;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,rgba(41,95,87,.12),rgba(208,173,106,.18))}.market-item:hover{transform:translateY(-4px) rotateX(1deg);box-shadow:0 18px 38px rgba(45,38,30,.12)}.market-item.selected{border-color:var(--accent);background:linear-gradient(145deg,#eef6f3,#fffefa);box-shadow:0 0 0 2px rgba(41,95,87,.10),0 18px 38px rgba(45,38,30,.10)}.market-item strong{font-family:Georgia,serif;font-size:20px}.market-item b{color:var(--accent)}.market-item small{color:var(--muted)}.market-pick{position:absolute;right:24px;top:24px;z-index:2;font-size:19px;color:var(--accent);transition:transform .2s}.market-item.selected .market-pick{transform:rotate(45deg)}
.commerce-dock{margin:14px 0 4px;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:rgba(255,255,255,.78);display:flex;justify-content:space-between;gap:12px;align-items:center}.commerce-dock span{font-weight:800}.commerce-dock small{color:var(--muted)}
.menu-board-sim{border-radius:28px;background:linear-gradient(150deg,#163d3a,#0e2b29);padding:14px;box-shadow:0 22px 60px rgba(13,42,40,.22);display:grid;gap:8px}.menu-item{border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.055);color:#fff;padding:15px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;text-align:left;transition:.22s}.menu-item:hover{background:rgba(255,255,255,.10);transform:translateX(3px)}.menu-item.selected{border-color:#d0ad6a;background:rgba(208,173,106,.16)}.menu-item small{display:block;color:#a9beb8;margin-top:3px}.menu-item b{color:#e0c589}.menu-index{font-size:10px;color:#7ea098;letter-spacing:.1em}
.store-rack-sim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-item{position:relative;border:1px solid var(--line);border-radius:22px;background:#fff;padding:16px;display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;text-align:left;color:var(--ink);transition:.24s}.shop-item:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(37,33,28,.10)}.shop-item.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(41,95,87,.10)}.fabric-swatch{width:52px;height:62px;border-radius:15px;background:linear-gradient(145deg,#2e5c59,#d0ad6a);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.shop-item:nth-child(2n) .fabric-swatch{background:linear-gradient(145deg,#27364a,#6f798b)}.shop-item:nth-child(3n) .fabric-swatch{background:linear-gradient(145deg,#c6d2d7,#7e9faf)}.shop-item small{display:block;color:var(--muted);margin-top:3px}.shop-item b{color:var(--accent)}.shop-check{position:absolute;right:10px;top:10px;width:23px;height:23px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:.2s}.shop-item.selected .shop-check{opacity:1;transform:scale(1)}
.receipt-stage{display:grid;justify-items:center}.receipt-stage>.eyebrow,.receipt-stage>h2{justify-self:start;width:min(620px,100%)}.receipt-paper{width:min(480px,100%);background:#fffdf7;padding:28px 28px 32px;border:1px solid #ded6c8;border-radius:5px 5px 18px 18px;box-shadow:0 24px 55px rgba(39,34,29,.15);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;transform:rotate(-.5deg);position:relative}.receipt-paper::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:16px;background:linear-gradient(135deg,transparent 8px,#fffdf7 0) 0 0/16px 16px repeat-x}.receipt-brand{text-align:center;font-weight:900;letter-spacing:.08em}.receipt-date{text-align:center;font-size:11px;color:#777;margin-top:6px}.receipt-rule{border-top:1px dashed #aaa;margin:16px 0}.receipt-row{display:flex;justify-content:space-between;gap:15px;margin:8px 0;font-size:13px}.receipt-total{display:flex;justify-content:space-between;align-items:end;margin-top:12px}.receipt-total strong{font-size:24px}.receipt-footer{text-align:center;font-size:10px;color:#777;margin-top:22px;line-height:1.5}
.checkout-terminal{width:min(560px,100%);margin:auto;border-radius:28px;padding:18px;background:linear-gradient(155deg,#24302e,#111a19);box-shadow:0 30px 70px rgba(18,28,27,.28);color:#fff;border:1px solid rgba(255,255,255,.08)}.checkout-display{border-radius:18px;background:#dce8c5;color:#203227;padding:20px;text-align:right;box-shadow:inset 0 0 0 1px rgba(29,57,38,.22)}.checkout-display small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.checkout-display strong{font-family:ui-monospace,monospace;font-size:42px}.checkout-lines{margin:14px 2px}.checkout-lines>div{display:flex;justify-content:space-between;gap:16px;padding:8px 5px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;color:#cad6d2}.terminal-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.terminal-pad span{min-height:38px;border-radius:10px;background:rgba(255,255,255,.07);display:grid;place-items:center;color:#c8d3d0;font-size:12px}.terminal-pad span:last-child{background:#2f7a63;color:#fff}

@keyframes stageIn{from{opacity:0;transform:translateY(14px) scale(.99);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes fadeSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes progressSheen{0%,35%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}@keyframes vignetteBreathe{from{opacity:.68}to{opacity:.9}}@keyframes stepPulse{50%{box-shadow:0 0 0 11px rgba(208,173,106,.04)}}@keyframes passportFloat{0%,100%{transform:translateZ(58px) rotate(-2deg) translateY(0)}50%{transform:translateZ(58px) rotate(-1.4deg) translateY(-6px)}}@keyframes orbDrift{from{transform:translateZ(10px) translate(0,0)}to{transform:translateZ(10px) translate(14px,-10px)}}@keyframes dialogueIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}@keyframes bubbleIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes dotPulse{50%{box-shadow:0 0 0 7px rgba(41,95,87,.08)}}
@media(max-width:760px){.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-rack-sim{grid-template-columns:1fr}.commerce-head{align-items:flex-start;flex-direction:column}.commerce-dock{align-items:flex-start;flex-direction:column}.menu-item{grid-template-columns:30px 1fr auto}}
@media(max-width:480px){.market-grid{grid-template-columns:1fr}.checkout-display strong{font-size:34px}.receipt-paper{padding:22px 18px}.menu-item{grid-template-columns:1fr auto}.menu-index{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.motion-reveal{opacity:1!important;transform:none!important}}

/* V0.9 — phone-first responsive pass */
html{min-width:320px;background:var(--paper);scroll-padding-bottom:96px}
body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,video,iframe,canvas,svg{max-width:100%}
button,input,select,textarea{max-width:100%}
.mobile-topbar{display:none}

@media (max-width:900px){
  :root{--phone-gutter:clamp(14px,4vw,20px);--phone-nav-h:72px}
  body{min-height:100dvh}
  .app-shell{min-height:100dvh;padding-top:calc(62px + env(safe-area-inset-top));overflow:clip}
  .main{max-width:none;padding:14px var(--phone-gutter) calc(var(--phone-nav-h) + 28px + env(safe-area-inset-bottom));overflow:visible}
  .topline{display:none}
  .mobile-topbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;position:fixed;z-index:70;top:0;left:0;right:0;min-height:calc(58px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));background:rgba(250,247,240,.88);border-bottom:1px solid rgba(205,195,180,.7);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 8px 28px rgba(32,40,37,.06)}
  .mobile-profile-button,.mobile-memo-button{width:42px;height:42px;border:1px solid rgba(41,95,87,.14);border-radius:14px;background:rgba(255,255,255,.82);display:grid;place-items:center;color:var(--accent);padding:0;overflow:hidden;font-weight:900;box-shadow:0 7px 18px rgba(32,40,37,.06)}
  .mobile-profile-button img{width:100%;height:100%;object-fit:cover}.mobile-profile-button>span{font-family:Georgia,serif;font-size:17px}.mobile-memo-button{font-size:18px}
  .mobile-brand-context{min-width:0;display:grid;gap:2px}.mobile-brand-context strong{font-family:Georgia,serif;font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-brand-context>span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-brand-context .save-dot{width:6px;height:6px;margin-right:5px}
  .mobilebar{height:auto;min-height:var(--phone-nav-h);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:7px max(5px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));background:rgba(250,247,240,.93);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-top-color:rgba(205,195,180,.74)}
  .mobilebar button{position:relative;min-width:0;min-height:50px;padding:5px 2px;border-radius:13px;display:grid;grid-template-rows:23px 13px;align-content:center;gap:2px;font-size:9px;line-height:1;color:#737b78;touch-action:manipulation}
  .mobilebar button.active{background:rgba(41,95,87,.085);color:var(--accent)}
  .mobilebar button.active::before{content:"";position:absolute;left:24%;right:24%;top:-7px;height:2px;border-radius:999px;background:var(--accent);box-shadow:0 0 12px rgba(41,95,87,.28)}
  .mobile-icon{font-size:18px;line-height:1;display:grid;place-items:center}.mobile-label{overflow:hidden;text-overflow:ellipsis}.mobile-dot{display:none}
  .title{font-size:clamp(34px,10vw,46px);line-height:1.03;letter-spacing:-.025em}.lead{font-size:15px;line-height:1.58}.eyebrow{font-size:10px;letter-spacing:.12em}.section-title{font-size:27px;margin-top:24px}
  .card{padding:17px;border-radius:19px}.btn{min-height:44px;padding:11px 14px;border-radius:13px;touch-action:manipulation}.btn.large{min-height:48px}
  .row{gap:8px}.row>.spacer{min-width:0}
  .grid.cols-2,.grid.cols-3,.resource-grid,.profile-settings,.lab-layout{grid-template-columns:minmax(0,1fr)}
  .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{padding:14px;min-height:54px}
  .dashboard-hero,.rich-module-hero,.chapter-route,.mission-grid,.insight-panel,.journey-intro{min-width:0}
  .dashboard-hero-copy{padding:26px 20px 10px}.dashboard-hero h1{font-size:clamp(39px,11vw,52px)}.dashboard-hero-visual{padding:8px 14px 22px}.dashboard-hero-visual img{max-height:220px}.floating-chip{left:20px;right:20px;bottom:30px;width:auto}
  .dashboard-strip{gap:10px}.dashboard-strip article{padding:15px}.metric{font-size:28px}
  .module-journey{padding-left:0}.module-stop{grid-template-columns:38px minmax(0,1fr);gap:9px}.module-journey::before{left:18px}.route-node{width:38px;height:38px}.journey-card{padding:16px;border-radius:18px;min-width:0}.journey-card h3{font-size:18px}.journey-card .row{align-items:stretch}.journey-card .btn{width:100%}
  .module-card{grid-template-columns:44px minmax(0,1fr);gap:10px;padding:16px}.module-number{font-size:26px}.chapter-card{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:15px}.chapter-index{width:38px;height:38px}.lesson-row{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:13px 0}.lesson-row .btn{grid-column:1/-1;width:100%}
  .rich-module-hero{border-radius:24px}.module-hero-art{min-height:200px;padding:0 12px 16px}.rich-chapter{gap:10px}.chapter-score{justify-content:flex-start}
  .language-switch,.level-tabs,.script-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 1px 6px;margin-right:calc(var(--phone-gutter) * -1);padding-right:var(--phone-gutter)}.language-switch::-webkit-scrollbar,.level-tabs::-webkit-scrollbar,.script-tabs::-webkit-scrollbar{display:none}.language-switch button,.level-tabs button,.script-tabs button{flex:0 0 auto;min-height:42px;white-space:nowrap}
  .session-shell{min-width:0}.session-heading{gap:10px;align-items:flex-start}.session-title{font-size:clamp(29px,8vw,36px);line-height:1.06}.session-token{width:40px;height:40px;flex:0 0 40px}.session-top{position:sticky;top:calc(58px + env(safe-area-inset-top));z-index:25;margin:0 calc(var(--phone-gutter) * -1) 10px;padding:9px var(--phone-gutter);background:rgba(247,243,235,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(205,195,180,.55)}
  .learning-stage{min-height:0;padding:20px 15px 18px;border-radius:22px}.stage-copy{max-width:100%!important}.stage-copy h2{font-size:clamp(26px,7vw,32px);line-height:1.1}.stage-text,.video-purpose{font-size:16px}.stage-actions{display:grid;width:100%;margin-top:20px}.stage-actions .btn{width:100%}.scene-head{gap:12px}.dialogue-stage{gap:10px}.dialogue-line{max-width:100%;grid-template-columns:34px minmax(0,1fr);padding:11px}.speaker-avatar{width:34px;height:34px}.dialogue-line p{font-size:14px;overflow-wrap:anywhere}.chunk-grid{gap:8px}.chunk-card{padding:14px}.sound-target{font-size:clamp(27px,8vw,36px);overflow-wrap:anywhere}.pronounce-card{padding:17px}.native-media-note{padding:14px}
  .video-frame{border-radius:18px;margin-left:calc(var(--phone-gutter) * -.2);margin-right:calc(var(--phone-gutter) * -.2)}.media-credit{align-items:flex-start;flex-direction:column;gap:7px;overflow-wrap:anywhere}.media-credit a{word-break:break-word}
  .podcast-shell{grid-template-columns:1fr;gap:12px}.podcast-cover{min-height:150px;border-radius:20px;padding:18px}.podcast-cover strong{font-size:31px}.podcast-player{padding:16px;border-radius:19px}.podcast-player audio{margin:8px 0 12px}
  .phone-sim{width:min(100%,370px);border-width:7px;border-radius:30px;margin:14px auto}.phone-messages{min-height:230px;padding:14px 11px}.phone-bubble{font-size:13px;max-width:88%}.fake-device{border-radius:20px;margin-top:14px}.fake-row,.fake-device.notifications .fake-row,.fake-device.compare .fake-row{grid-template-columns:1fr;gap:5px;padding:14px}.fake-row-lead{font-size:10px}.timeline-event{grid-template-columns:25px 58px minmax(0,1fr);gap:8px}.timeline-list::before{left:11px}.timeline-dot{margin-left:5px}.timeline-time{font-size:12px}.calendar-sim{grid-template-columns:1fr;gap:8px}.calendar-slot{min-height:56px}
  .tour-grid,.lost-grid{grid-template-columns:1fr}.room-explorer{border-radius:20px}.room-explorer>img{aspect-ratio:4/3}.room-hotspot>span{width:31px;height:31px}.room-hotspot>b{display:none}.room-hotspot.revealed>b{display:block;position:absolute;left:50%;top:38px;transform:translateX(-50%);max-width:150px;z-index:4}.property-screen{border-radius:20px}.property-media{min-height:190px}.property-copy{padding:18px}.property-price{font-size:28px}.map-stage{border-radius:20px}.map-stage img{aspect-ratio:4/3}.map-legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.map-legend span{flex:0 0 auto}
  .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.market-item{min-height:128px;padding:14px;border-radius:17px}.market-item strong{font-size:18px}.commerce-dock{padding:11px}.menu-board-sim{border-radius:20px;padding:9px}.menu-item{grid-template-columns:28px minmax(0,1fr) auto;padding:12px}.store-rack-sim{grid-template-columns:1fr}.shop-item{grid-template-columns:46px minmax(0,1fr) auto;padding:13px}.fabric-swatch{width:44px;height:52px}.receipt-paper{padding:22px 17px 27px}.checkout-terminal{padding:13px;border-radius:21px}.checkout-display{padding:15px}.checkout-display strong{font-size:34px}
  .lab-layout{gap:12px}.character-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-height:none}.char-btn{min-width:0;border-radius:11px;font-size:23px}.practice-panel{padding:16px}.practice-head{gap:8px}.big-char{font-size:clamp(86px,28vw,125px)}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mode-grid button{padding:10px;font-size:12px}.canvas-wrap{width:100%;max-width:360px}.answers{grid-template-columns:1fr}.association-image{height:145px;font-size:70px}.reading-line{font-size:clamp(25px,8vw,36px)}
  .vocab-list{grid-template-columns:1fr}.vocab-form{grid-template-columns:1fr}.review-item{gap:10px}.review-item>.btn{width:100%}
  .modal-backdrop{place-items:end center;padding:0;background:rgba(20,26,24,.48)}.modal{width:100%;max-height:min(88dvh,760px);overflow:auto;border-radius:26px 26px 0 0;padding:24px var(--phone-gutter) calc(20px + env(safe-area-inset-bottom));box-shadow:0 -24px 70px rgba(0,0,0,.20)}.pin-row{gap:clamp(4px,1.6vw,8px);margin:18px 0}.pin-box{width:clamp(36px,11vw,44px);height:50px;font-size:22px}.modal .row:last-child{align-items:stretch}.modal .row:last-child .btn{flex:1}
  .profile-hall{min-height:100dvh;padding:calc(26px + env(safe-area-inset-top)) 0 calc(34px + env(safe-area-inset-bottom));align-items:start}.profile-hall-content{padding:0 var(--phone-gutter)}.profile-hall-head{margin-bottom:22px}.profile-hall-head h1{font-size:clamp(39px,11vw,52px);line-height:1}.profile-hall-head p{font-size:14px}.profile-hall-head .btn{width:100%}.profile-deck{display:flex;gap:13px;margin-left:calc(var(--phone-gutter) * -1);margin-right:calc(var(--phone-gutter) * -1);padding:3px var(--phone-gutter) 16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.profile-deck::-webkit-scrollbar{display:none}.profile-passport{flex:0 0 min(82vw,315px);min-height:350px;scroll-snap-align:center;scroll-snap-stop:always}.profile-passport-new{min-height:350px}.profile-hall-note{align-items:flex-start}
  .profile-studio-layer{overflow-x:hidden}.profile-studio-shell{place-items:start center;padding:calc(68px + env(safe-area-inset-top)) var(--phone-gutter) calc(30px + env(safe-area-inset-bottom))}.studio-progress{top:calc(14px + env(safe-area-inset-top))}.studio-close{top:calc(10px + env(safe-area-inset-top));right:12px;width:40px;height:40px}.profile-studio-grid{grid-template-columns:1fr;gap:14px}.studio-preview-wrap{order:-1;width:100%;max-width:420px}.studio-scene-card{aspect-ratio:16/9;min-height:0;border-radius:20px}.studio-passport-float{width:58%;left:21%;bottom:5%;min-height:65%;grid-template-columns:54px minmax(0,1fr);padding:9px}.studio-passport-photo{width:50px;height:59px}.studio-copy-panel{padding:0 0 20px}.studio-copy-panel h1{font-size:clamp(34px,10vw,44px);line-height:1}.studio-copy-panel>p{font-size:14px}.language-door-grid,.studio-option-grid{grid-template-columns:1fr;gap:8px}.language-door,.studio-option{min-height:58px;padding:12px}.studio-rhythm{align-items:stretch;flex-direction:column}.studio-nav{position:sticky;bottom:0;z-index:8;margin:18px calc(var(--phone-gutter) * -1) calc(-30px - env(safe-area-inset-bottom));padding:10px var(--phone-gutter) calc(10px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(11,37,36,.98),rgba(11,37,36,.9) 72%,transparent)}.studio-nav .btn{flex:1}.avatar-drop{grid-template-columns:auto minmax(0,1fr)}.studio-keypad{gap:8px}.studio-keypad button{min-height:52px}
}

@media (max-width:520px){
  :root{--phone-gutter:14px}
  .choice-grid{grid-template-columns:1fr}.title{font-size:36px}.welcome-title{font-size:clamp(44px,14vw,60px)}.welcome-copy{padding:24px var(--phone-gutter) 10px}.welcome-lead{font-size:15px}.welcome-visual{min-height:300px;padding:8px var(--phone-gutter) 24px}.visual-float{left:20px;right:20px;bottom:32px;width:auto;overflow-x:auto;justify-content:flex-start}.visual-float span{flex:0 0 auto}.hero-actions{display:grid;grid-template-columns:1fr;width:100%}.hero-actions .btn{width:100%}
  .dashboard-hero h1{font-size:40px}.floating-chip{position:static;margin:10px 4px 0}.dashboard-hero-visual{display:grid;gap:8px}.hero-meta{display:grid;grid-template-columns:1fr 1fr}.hero-meta span{justify-content:center;text-align:center}
  .session-top>.small{display:none}.session-top{grid-template-columns:auto minmax(0,1fr)}.learning-stage{padding:18px 13px}.dialogue-line{grid-template-columns:30px minmax(0,1fr)}.speaker-avatar{width:30px;height:30px}.stage-copy h2{font-size:27px}.market-grid{grid-template-columns:1fr}.menu-item{grid-template-columns:minmax(0,1fr) auto}.menu-index{display:none}.shop-item{grid-template-columns:42px minmax(0,1fr)}.shop-item>b{grid-column:2}.shop-check{right:8px;top:8px}.fabric-swatch{width:40px;height:48px}
  .character-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.mode-grid{grid-template-columns:1fr}.profile-passport{flex-basis:min(86vw,300px)}.studio-preview-wrap{max-width:340px}.studio-scene-card{aspect-ratio:16/8.8}.studio-passport-float{width:62%;left:19%;grid-template-columns:48px minmax(0,1fr)}.studio-passport-photo{width:45px;height:54px}.studio-passport-name{font-size:14px}.studio-passport-head,.studio-passport-meta{font-size:6px}.studio-preview-caption{display:none}.studio-progress b{width:20px}.studio-progress span{width:27px;height:27px}
  .mobile-label{font-size:8px}.mobile-icon{font-size:17px}.mobilebar button{min-height:48px}.mobile-brand-context strong{font-size:14px}
}

@media (max-width:360px){
  :root{--phone-gutter:11px}.main{padding-left:11px;padding-right:11px}.mobile-topbar{grid-template-columns:38px minmax(0,1fr) 38px}.mobile-profile-button,.mobile-memo-button{width:38px;height:38px;border-radius:12px}.mobile-label{font-size:7.5px}.mobile-icon{font-size:16px}.character-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.pin-box{width:34px}.profile-passport{flex-basis:88vw}.stage-copy h2{font-size:25px}
}

@media (hover:none) and (pointer:coarse){
  .btn:hover,.card:hover,.module-card:hover,.chapter-card:hover,.journey-card:hover,.market-item:hover,.shop-item:hover,.menu-item:hover,.tour-view:hover,.vocab-card:hover,.profile-card:hover{transform:none;box-shadow:inherit}
  .nav button:hover{transform:none}.profile-passport{transform:none!important}.profile-passport::after{opacity:.35}.room-hotspot>b{pointer-events:none}
}

/* V1.0 — Media library, richer phone simulations and resource decoration */
.media-library-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:26px;align-items:stretch;padding:34px;border-radius:32px;overflow:hidden;background:linear-gradient(135deg,#102f30 0%,#173f3d 48%,#1f5450 100%);color:#fff;box-shadow:0 28px 80px rgba(20,54,52,.2);margin-bottom:26px}
.media-library-hero::before{content:"";position:absolute;inset:auto -80px -140px auto;width:320px;height:320px;border-radius:50%;border:1px solid rgba(255,255,255,.13);box-shadow:0 0 0 46px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.02)}
.media-library-copy{position:relative;z-index:2;align-self:center}.media-library-copy h1{font-family:Georgia,serif;font-size:clamp(40px,5.5vw,68px);line-height:.98;margin:.18em 0 .28em}.media-library-copy p{max-width:690px;color:#d9e5e2;line-height:1.65;font-size:16px}.eyebrow.light{color:#bcd2cd}
.media-kpis{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.media-kpis span{display:flex;gap:7px;align-items:baseline;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font-size:11px;color:#dfeae8;backdrop-filter:blur(12px)}.media-kpis strong{font-size:16px;color:#fff}
.media-library-collage{position:relative;min-height:330px;perspective:900px}.collage-card{position:absolute;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 54px rgba(0,0,0,.26);background:#f7f0e5}.collage-card img{width:100%;height:100%;object-fit:cover}.collage-home{width:72%;height:58%;left:4%;top:7%;transform:rotate(-5deg) translateZ(20px)}.collage-map{width:62%;height:50%;right:0;bottom:4%;transform:rotate(6deg) translateZ(45px)}
.collage-phone{position:absolute;width:118px;height:225px;left:49%;top:20%;border:6px solid #10191a;border-radius:28px;background:linear-gradient(#fefefe,#f1f0ec);box-shadow:0 26px 50px rgba(0,0,0,.35);transform:rotate(-2deg) translateZ(70px);z-index:3}.collage-phone::before{content:"";position:absolute;width:45px;height:6px;border-radius:99px;background:#10191a;left:50%;top:8px;transform:translateX(-50%)}.collage-phone span,.collage-phone i,.collage-phone b{position:absolute;height:19px;border-radius:12px}.collage-phone span{width:70px;left:12px;top:48px;background:#e8e5df}.collage-phone i{width:68px;right:11px;top:82px;background:#225b55}.collage-phone b{width:78px;left:12px;top:118px;background:#fff;border:1px solid #ddd8d0}.collage-wave{position:absolute;left:12%;bottom:6%;z-index:4;color:#d8ba7f;font-size:22px;letter-spacing:2px;text-shadow:0 8px 24px rgba(0,0,0,.25)}

.media-feature{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;margin:24px 0 34px;border:1px solid #d8d1c6;border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.media-feature-cover{position:relative;min-height:290px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 78% 18%,rgba(217,185,123,.3),transparent 32%),linear-gradient(145deg,#142f31,#285b56);color:#fff;overflow:hidden}.media-feature-cover>span{position:absolute;left:24px;top:24px;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#d6b877;color:#163433;font-weight:900}.media-feature-cover strong{font:700 40px/1 Georgia,serif;letter-spacing:.04em}.media-feature-cover small{margin-top:7px;color:#d7e5e2}.media-wave{margin-top:24px;font-size:22px;letter-spacing:4px;color:#d9bb7d}.media-feature-player{padding:30px;display:grid;align-content:center;gap:12px}.media-feature-player h2{font:700 clamp(30px,4vw,44px)/1.05 Georgia,serif;margin:0}.media-feature-player p{color:#65706d;line-height:1.65;margin:0}.media-feature-player audio{width:100%;margin:4px 0}.media-feature-player .btn{justify-self:start}

.media-section{margin:36px 0}.media-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:15px}.media-section-head h2{font:700 clamp(28px,3.5vw,40px)/1.05 Georgia,serif;margin:.15em 0 0}.media-section-head>span{font-size:11px;font-weight:800;color:#60706b;background:#e9efec;border-radius:999px;padding:8px 11px;white-space:nowrap}
.media-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.media-card{background:#fff;border:1px solid #ded7cc;border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(52,48,41,.07)}.media-card-cover{position:relative;aspect-ratio:16/8.8;overflow:hidden;background:#142a2b}.media-card-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.media-card:hover .media-card-cover img{transform:scale(1.035)}.media-kind{position:absolute;left:14px;top:14px;padding:7px 9px;border-radius:999px;background:rgba(14,31,31,.78);color:#fff;font-size:9px;font-weight:900;letter-spacing:.12em;backdrop-filter:blur(10px)}.media-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#173b3a;font-size:22px;box-shadow:0 12px 30px rgba(0,0,0,.22)}.media-card-body{padding:18px}.media-module{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#7b837f;font-weight:900}.media-card-body h3,.media-doc-card h3,.visual-resource-card h3{font-family:Georgia,serif;font-size:22px;line-height:1.12;margin:.35em 0}.media-card-body p,.media-doc-card p,.visual-resource-card p{color:#68716e;line-height:1.55;font-size:13px}.media-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.media-card-actions .btn{font-size:12px}

.media-shelf{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 14px;margin-right:-10px;overscroll-behavior-x:contain;scrollbar-width:thin}.media-card-phone{flex:0 0 min(340px,82vw);scroll-snap-align:start;display:grid;grid-template-rows:auto 1fr}.resource-phone-mini{margin:18px auto 0;width:210px;height:360px;border:7px solid #152223;border-radius:30px;background:#f4f2ed;overflow:hidden;position:relative;box-shadow:0 18px 42px rgba(24,36,37,.18)}.resource-phone-notch{position:absolute;z-index:3;top:5px;left:50%;width:58px;height:7px;border-radius:99px;background:#152223;transform:translateX(-50%)}.resource-phone-head{height:32px;padding:12px 10px 5px;display:flex;align-items:center;justify-content:space-between;font-size:7px;color:#384542}.resource-phone-head strong{font-size:9px}.resource-phone-contact{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 8px 9px;background:#fff;border-block:1px solid #e4dfd7}.resource-phone-contact>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#255e58,#173b3a);color:#fff;font-size:10px;font-weight:900}.resource-phone-contact small{font-size:7px;color:#7f8884}.resource-phone-thread{min-height:210px;padding:9px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(180deg,#f6f5f1,#efede7)}.resource-bubble{max-width:82%;padding:7px 8px;border-radius:12px;font-size:7.5px;line-height:1.35;display:grid;gap:2px}.resource-bubble.theirs{align-self:flex-start;background:#fff;border:1px solid #e5e0d9}.resource-bubble.mine{align-self:flex-end;background:#275e58;color:#fff}.resource-bubble small{font-size:6px;opacity:.6;text-align:right}.resource-phone-compose{position:absolute;left:8px;right:8px;bottom:8px;height:27px;border:1px solid #ddd7cd;border-radius:99px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5px 0 10px;color:#a0a6a2;font-size:7px}.resource-phone-compose b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#255e58;color:#fff}

.media-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.media-doc-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;align-items:center;padding:14px;background:#fff;border:1px solid #ddd6ca;border-radius:22px}.media-doc-art{height:120px;border-radius:16px;display:grid;place-items:center;align-content:center;gap:6px;background:linear-gradient(155deg,#f0eadf,#fbfaf6);border:1px solid #e5ded3;overflow:hidden}.media-doc-art span{font-size:38px;color:#285c56}.media-doc-art small{text-transform:uppercase;font-size:7px;letter-spacing:.12em;color:#7f7a70}.media-doc-card .btn{margin-top:6px;font-size:11px}

.visual-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.visual-resource-card{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr);gap:16px;align-items:center;padding:13px;background:#fff;border:1px solid #ddd6ca;border-radius:24px}.visual-resource-img{position:relative;overflow:hidden;border-radius:17px;aspect-ratio:4/3;background:#e9e4da}.visual-resource-img img{width:100%;height:100%;object-fit:cover}.visual-resource-img span{position:absolute;left:9px;bottom:9px;background:rgba(15,37,36,.78);color:#fff;padding:5px 7px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.1em}

.external-resource-section{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:22px;margin:40px 0 26px;padding:26px;border-radius:28px;background:#efe8dc;border:1px solid #ded5c6}.external-resource-section h2{font:700 34px/1.05 Georgia,serif;margin:.2em 0}.external-resource-section>div>p{color:#726c64;line-height:1.55}.external-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.external-resource-card{display:grid;gap:7px;padding:16px;border-radius:18px;background:#fff;color:inherit;text-decoration:none;border:1px solid #ded7cb;transition:transform .2s ease,box-shadow .2s ease}.external-resource-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(52,46,38,.08)}.external-resource-card strong{font-family:Georgia,serif;font-size:21px}.external-resource-card p{font-size:12px;line-height:1.45;color:#707874;margin:0}.external-resource-card b{font-size:11px;color:#205b55}.external-badge{font-size:8px;letter-spacing:.12em;font-weight:900;color:#6f766f}.media-rule{margin-top:18px}

/* Richer in-lesson phone */
.phone-sim-premium{position:relative;background:linear-gradient(#faf9f6,#eeece6);border-color:#111a1b;padding-top:0;overflow:hidden}.phone-hardware{position:absolute;z-index:5;top:6px;left:50%;transform:translateX(-50%);width:76px;height:18px;border-radius:99px;background:#111a1b;display:grid;place-items:center}.phone-hardware span{width:29px;height:4px;border-radius:99px;background:#2a3637}.phone-status{height:41px;padding:18px 16px 5px;display:flex;align-items:center;justify-content:space-between;color:#283532;font-size:9px}.phone-status>div{display:flex;gap:6px;align-items:center;font-size:7px}.phone-contact.premium{padding:11px 12px;display:grid;grid-template-columns:24px 38px minmax(0,1fr) auto;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:3}.phone-back{border:0;background:transparent;font-size:30px;line-height:1;color:#215952;padding:0}.phone-contact-actions{display:flex;gap:10px;color:#245d57;font-size:14px}.phone-messages.premium{position:relative;background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.9),transparent 34%),linear-gradient(180deg,#f3f1eb,#eae7e0);min-height:330px}.phone-message-row{display:flex;flex-direction:column}.phone-message-row.mine{align-items:flex-end}.phone-message-row.theirs{align-items:flex-start}.message-seen{font-size:8px;color:#929894;margin:2px 4px}.typing-bubble{width:48px;height:28px;border:1px solid #e0dbd3;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;gap:4px;margin-top:2px}.typing-bubble i{width:5px;height:5px;border-radius:50%;background:#87928e;animation:typingDots 1.1s ease-in-out infinite}.typing-bubble i:nth-child(2){animation-delay:.12s}.typing-bubble i:nth-child(3){animation-delay:.24s}.phone-compose.premium{display:grid;grid-template-columns:28px minmax(0,1fr) 26px 28px;gap:5px;border:0;background:transparent;margin:8px 9px 11px;padding:0}.phone-compose.premium>div{height:34px;border:1px solid #dad5cc;border-radius:99px;background:#fff;display:flex;align-items:center;padding:0 12px}.phone-compose.premium>button{width:28px;height:28px;align-self:center;border:0;border-radius:50%;display:grid;place-items:center;background:#e9e7e1;color:#44514e}.phone-compose.premium>button.send{background:#245d57;color:#fff}.phone-home-indicator{width:118px;height:4px;border-radius:99px;background:#172122;margin:0 auto 7px}.phone-bubble.mine{background:linear-gradient(145deg,#2a675f,#1f5550)}
@keyframes typingDots{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}

@media(max-width:1000px){.media-library-hero{grid-template-columns:1fr}.media-library-collage{min-height:290px}.external-resource-section{grid-template-columns:1fr}.media-feature{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:760px){.media-library-hero{padding:24px 18px;border-radius:25px}.media-library-collage{min-height:240px}.collage-phone{width:94px;height:182px}.media-feature{grid-template-columns:1fr;border-radius:22px}.media-feature-cover{min-height:180px}.media-feature-player{padding:20px}.media-video-grid,.media-doc-grid,.visual-resource-grid,.external-resource-grid{grid-template-columns:1fr}.media-section-head{align-items:flex-start;flex-direction:column}.media-section-head>span{align-self:flex-start}.media-doc-card{grid-template-columns:88px minmax(0,1fr)}.media-doc-art{height:96px}.visual-resource-card{grid-template-columns:120px minmax(0,1fr)}.external-resource-section{padding:18px}.media-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.media-kpis span{justify-content:center}.phone-sim-premium{max-width:360px}}
@media(max-width:480px){.media-library-copy h1{font-size:42px}.media-library-collage{min-height:210px}.collage-home{width:76%;height:58%}.collage-map{width:66%;height:52%}.collage-phone{left:54%;top:18%;width:82px;height:160px;border-width:5px;border-radius:22px}.collage-wave{font-size:16px}.media-feature-cover strong{font-size:32px}.media-feature-player h2{font-size:30px}.visual-resource-card{grid-template-columns:1fr}.visual-resource-img{aspect-ratio:16/8}.media-doc-card{grid-template-columns:76px minmax(0,1fr);padding:11px}.media-doc-art{height:82px}.media-doc-art span{font-size:30px}.external-resource-grid{grid-template-columns:1fr}.resource-phone-mini{width:190px;height:330px}.media-card-phone{flex-basis:min(300px,86vw)}}

/* Mobile secondary navigation */
.more-sheet-backdrop{position:fixed;inset:0;z-index:120;background:rgba(11,21,20,.48);display:grid;place-items:end center;padding:0;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.more-sheet{width:min(680px,100%);max-height:min(82dvh,760px);overflow:auto;background:#faf7f0;border-radius:28px 28px 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -28px 80px rgba(0,0,0,.22);animation:sheetUp .28s cubic-bezier(.2,.9,.2,1)}
.more-sheet-grab{width:42px;height:4px;border-radius:99px;background:#c9c2b6;margin:2px auto 12px}.more-sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.more-sheet-head h2{font-family:Georgia,serif;font-size:32px;margin:.1em 0}.more-sheet-close{border:0;width:40px;height:40px;border-radius:50%;background:#eee8de;color:#31403d;font-size:24px}
.more-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.more-sheet-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;border:1px solid #ddd6ca;background:#fff;border-radius:17px;padding:12px;color:#273532}.more-sheet-item>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf2ef;color:#245c56;font-weight:900}.more-sheet-item strong{display:block;font-size:13px}.more-sheet-item small{display:block;color:#78817d;font-size:10px;margin-top:2px}.more-sheet-item>b{font-size:22px;color:#8b928f}.more-sheet-item.active{border-color:#2a645d;background:#f2f7f5;box-shadow:0 0 0 1px rgba(42,100,93,.08)}
@keyframes sheetUp{from{transform:translateY(32px);opacity:.65}to{transform:translateY(0);opacity:1}}
@media(max-width:520px){.more-sheet-grid{grid-template-columns:1fr}.more-sheet{padding-left:14px;padding-right:14px}.more-sheet-item{min-height:62px}}

/* V1.1 — interface refinement: quieter desktop, native-feeling phone */
.nav-icon,.mobile-icon,.more-icon{display:grid;place-items:center;flex:0 0 auto}
.nav-icon{width:20px;height:20px;color:#9fb7b1}
.nav-icon svg,.mobile-icon svg,.more-icon svg,.icon-btn svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav button.active .nav-icon{color:#e0c184}
.icon-btn svg{width:17px;height:17px}

@media (min-width:901px){
  .app-shell{grid-template-columns:248px minmax(0,1fr)}
  .sidebar{padding:18px 12px}
  .brand-wrap{padding:7px 8px 18px;margin-bottom:10px}.brand-mark{width:38px;height:38px;border-radius:12px}.brand{font-size:17px}.brand-wrap span{font-size:8px}
  .nav{gap:2px}.nav button{min-height:42px;padding:9px 10px;border-radius:12px;font-size:12.5px}.nav button.active{box-shadow:inset 2px 0 0 #d1ad6e,inset 0 0 0 1px rgba(218,192,144,.08)}
  .sidebar-profile{padding:12px 8px 2px}.sidebar-profile span{max-width:112px}
  .main{max-width:1360px;padding:24px clamp(28px,4vw,58px) 82px}.topline{margin-bottom:20px}
  .dashboard-hero{min-height:420px}.dashboard-hero-copy{padding:46px}.dashboard-hero-visual img{max-height:340px}
  .learning-stage{max-width:980px}.immersive-session{max-width:980px}
}

@media (max-width:900px){
  :root{--phone-gutter:16px;--phone-top-h:54px;--phone-dock-h:68px}
  .app-shell{padding-top:calc(var(--phone-top-h) + env(safe-area-inset-top));overflow:visible}
  .main{padding:12px var(--phone-gutter) calc(var(--phone-dock-h) + 30px + env(safe-area-inset-bottom))}
  .mobile-topbar{grid-template-columns:38px minmax(0,1fr) 38px;min-height:calc(var(--phone-top-h) + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 12px 7px;background:rgba(248,245,238,.94);border-bottom:1px solid rgba(190,181,168,.5);box-shadow:none}
  .mobile-brand-button,.mobile-profile-button{width:38px;height:38px;border:1px solid rgba(41,95,87,.13);border-radius:13px;background:#fffdf8;color:var(--accent);padding:0;display:grid;place-items:center;overflow:hidden;box-shadow:0 5px 16px rgba(32,40,37,.05)}
  .mobile-brand-button>span{font:700 13px/1 Georgia,serif;letter-spacing:-.03em}.mobile-profile-button>span{font:700 15px/1 Georgia,serif}.mobile-profile-button img{width:100%;height:100%;object-fit:cover}
  .mobile-page-context{min-width:0;text-align:center;display:grid;gap:1px}.mobile-page-context strong{font-family:Georgia,serif;font-size:15px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-page-context span{font-size:9px;color:#7b817e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .mobilebar{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;min-height:var(--phone-dock-h);padding:6px;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;border:1px solid rgba(194,183,168,.58);border-radius:22px;background:rgba(252,249,243,.96);box-shadow:0 16px 44px rgba(23,37,34,.16);backdrop-filter:blur(22px) saturate(1.15);-webkit-backdrop-filter:blur(22px) saturate(1.15)}
  .mobilebar button{min-height:54px;border-radius:16px;padding:5px 2px;grid-template-rows:24px 12px;gap:3px;color:#727a77}.mobilebar button.active{background:#e9f0ed;color:#205b55}.mobilebar button.active::before{display:none}
  .mobile-icon{width:21px;height:21px;margin:auto}.mobile-icon svg{stroke-width:1.75}.mobile-label{font-size:8.5px;font-weight:700;letter-spacing:-.01em}

  .card{border-radius:18px;padding:16px;box-shadow:0 5px 20px rgba(42,48,45,.045);backdrop-filter:none}.title{font-size:clamp(32px,9vw,42px)}.lead{font-size:14.5px}.section-title{font-size:25px;margin:22px 0 10px}
  .route-dashboard .dashboard-hero{margin:0 calc(var(--phone-gutter) * -1) 14px;border-radius:0 0 28px 28px;box-shadow:0 18px 42px rgba(20,45,43,.12);min-height:auto}.route-dashboard .dashboard-hero-copy{padding:28px var(--phone-gutter) 12px}.route-dashboard .dashboard-hero-visual{padding:4px var(--phone-gutter) 20px}.route-dashboard .dashboard-hero-visual img{max-height:180px;border-radius:20px}.route-dashboard .floating-chip{margin:8px 0 0}
  .dashboard-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--phone-gutter) * -1) 16px;padding:0 var(--phone-gutter) 4px;scrollbar-width:none}.dashboard-strip::-webkit-scrollbar{display:none}.dashboard-strip article{flex:0 0 min(78vw,285px);scroll-snap-align:start;grid-template-columns:42px minmax(0,1fr) auto;padding:13px;border-radius:17px}.metric-small{width:40px;height:40px;border-radius:13px;font-size:19px}
  .insight-panel{padding:18px;border-radius:20px}.insight-panel h2{font-size:25px}

  .journey-intro{padding:18px;border-radius:20px;margin-bottom:18px}.module-journey{gap:10px}.journey-card{padding:15px;border-radius:17px}.journey-card h2{font-size:22px}.route-card{min-height:0;padding:17px}.route-card h3{font-size:21px}
  .rich-module-hero{border-radius:20px}.module-hero-copy{padding:21px 18px}.rich-module-hero h2{font-size:34px}.module-hero-art{min-height:170px;padding:0 12px 12px}.module-hero-art img{border-radius:16px}.rich-chapter{padding:19px;border-radius:19px}.rich-chapter h2{font-size:31px}.rich-lessons .lesson-row{padding:13px 12px;border-radius:15px}

  /* A lesson becomes a focused full-screen mode on phone. */
  .route-session{padding-top:env(safe-area-inset-top)}
  .route-session .mobile-topbar,.route-session .mobilebar{display:none!important}
  .route-session .main{padding:0 0 calc(18px + env(safe-area-inset-bottom));min-height:100dvh}
  .route-session .immersive-session{max-width:none;width:100%}.route-session .session-top{top:0;margin:0;border:0;border-radius:0;padding:10px var(--phone-gutter);background:rgba(248,245,238,.96);box-shadow:0 5px 18px rgba(32,40,37,.05)}
  .route-session .session-heading{padding:0 var(--phone-gutter);margin:20px 0 12px}.route-session .learning-stage{margin:0 var(--phone-gutter);border-radius:20px;padding:19px 15px;box-shadow:0 8px 28px rgba(42,48,45,.07)}.route-session .session-footer-note{padding:12px var(--phone-gutter)}
  .session-top .btn{min-height:38px;padding:8px 10px}.session-title{font-size:clamp(28px,8vw,35px)}

  /* Do not place a fake phone frame inside the user's real phone. */
  .route-session .phone-sim,.route-session .phone-sim-premium{width:calc(100% + 30px);max-width:none;margin:14px -15px 0;border:0;border-radius:0;box-shadow:none;background:#f4f2ed}
  .route-session .phone-hardware,.route-session .phone-home-indicator{display:none}.route-session .phone-status{height:30px;padding:8px 13px 4px}.route-session .phone-contact.premium{position:relative;padding:10px 12px}.route-session .phone-messages.premium{min-height:42dvh;padding:16px 11px}.route-session .phone-compose.premium{margin-bottom:10px}

  .fake-device{border-radius:18px;box-shadow:none}.fake-device-bar{padding:11px 13px}.fake-row,.fake-device.notifications .fake-row,.fake-device.compare .fake-row{grid-template-columns:86px minmax(0,1fr);gap:10px;padding:13px}.fake-row-lead{font-size:9px}.timeline-event{padding:10px 0}.calendar-slot{border-radius:15px;padding:14px}.market-item,.menu-item,.shop-item{box-shadow:none}

  .media-library-hero{margin:0 calc(var(--phone-gutter) * -1) 20px;border-radius:0 0 28px 28px;padding:26px var(--phone-gutter) 22px}.media-library-copy h1{font-size:39px}.media-library-collage{min-height:180px}.media-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.media-kpis span{border-radius:14px;justify-content:center;text-align:center}.media-feature,.media-doc-card,.visual-resource-card{box-shadow:none}.media-section{margin:28px 0}.external-resource-section{border-radius:20px}

  .more-sheet{border-radius:24px 24px 0 0;padding:8px 14px calc(16px + env(safe-area-inset-bottom))}.more-sheet-head h2{font-size:28px}.more-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.more-sheet-item{grid-template-columns:40px minmax(0,1fr);min-height:74px;align-content:center;padding:11px;border-radius:16px}.more-sheet-item>b{display:none}.more-sheet-item>span{width:40px;height:40px;border-radius:13px}.more-icon svg{width:21px;height:21px}.more-sheet-item small{font-size:9px;line-height:1.25}

  /* Profile selection is a clean member list on phone; the 3D passport remains on desktop. */
  .profile-hall{padding:calc(24px + env(safe-area-inset-top)) var(--phone-gutter) calc(30px + env(safe-area-inset-bottom));overflow:auto}.profile-hall-content{padding:0}.profile-hall-head{margin-bottom:18px}.profile-hall-head h1{font-size:40px}.profile-hall-head p{font-size:13.5px}
  .profile-deck{display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:0;overflow:visible}.profile-passport{min-height:0!important;width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) 32px;gap:12px;align-items:center;padding:12px;border-radius:18px;transform:none!important;box-shadow:0 10px 28px rgba(0,0,0,.12)}.profile-passport::after,.passport-glow,.passport-top{display:none}.passport-photo{grid-column:1;grid-row:1;width:64px;height:72px;margin:0;border-radius:16px;transform:none;font-size:26px}.passport-copy{grid-column:2;grid-row:1;text-align:left;transform:none}.passport-copy small{font-size:7px}.passport-copy h2{font-size:22px;margin:2px 0 7px}.passport-languages{justify-content:flex-start}.passport-languages span{min-width:30px;height:22px;font-size:8px}.passport-open{grid-column:3;grid-row:1;position:static;width:32px;height:32px;padding:0;border-radius:50%;display:grid;place-items:center;background:#173f3c;font-size:0;transform:none}.passport-open span{font-size:18px}.profile-passport-new{grid-template-columns:64px minmax(0,1fr) 32px;align-content:initial}.new-profile-orbit{grid-column:1;grid-row:1;width:64px;height:64px;margin:0;box-shadow:none;transform:none;font-size:30px}.profile-passport-new .passport-copy{grid-column:2}.profile-passport-new .passport-open{grid-column:3}.profile-passport-new .passport-copy p{display:none}

  /* Profile creation: compact preview, content first, no giant card above every step. */
  .profile-studio-shell{padding:calc(60px + env(safe-area-inset-top)) var(--phone-gutter) calc(24px + env(safe-area-inset-bottom))}.profile-studio-grid{gap:10px}.studio-preview-wrap{order:-1;max-width:none;margin:0}.studio-scene-card{height:104px;aspect-ratio:auto;border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.22)}.studio-scene-image{filter:saturate(.7) brightness(.62)}.studio-scene-depth{display:none}.studio-passport-float{left:12px;right:12px;bottom:11px;width:auto;min-height:0;padding:8px 10px;border-radius:14px;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;transform:none!important;animation:none}.studio-passport-head,.studio-passport-meta{display:none}.studio-passport-photo{grid-row:1/3;width:42px;height:50px;margin:0;border-radius:10px;font-size:18px}.studio-passport-name{font-size:15px;margin:2px 0 0;align-self:end}.studio-passport-stamps{margin-top:3px}.studio-passport-stamps span{font-size:6px;padding:2px 5px}.studio-copy-panel{padding:4px 0 18px}.studio-copy-panel h1{font-size:33px;margin:9px 0 10px}.studio-lead{font-size:13.5px;line-height:1.5;margin-bottom:18px}.language-door-grid,.studio-option-grid{grid-template-columns:1fr}.language-door,.studio-option{min-height:56px;border-radius:15px;padding:11px}.language-door strong{font-size:18px}.studio-nav{margin-top:14px}.studio-progress{top:calc(12px + env(safe-area-inset-top))}.studio-close{top:calc(8px + env(safe-area-inset-top))}
}

@media (max-width:520px){
  :root{--phone-gutter:14px}
  .mobilebar{left:8px;right:8px}.mobile-label{font-size:8px}.dashboard-strip article{flex-basis:82vw}
  .fake-row,.fake-device.notifications .fake-row,.fake-device.compare .fake-row{grid-template-columns:1fr;gap:4px}.more-sheet-item small{display:none}.more-sheet-item{min-height:64px}.more-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-hall-head .btn{width:auto;min-width:150px}.profile-hall-head h1{font-size:36px}.profile-passport{grid-template-columns:58px minmax(0,1fr) 30px}.passport-photo,.new-profile-orbit{width:58px;height:64px}.passport-copy h2{font-size:20px}
  .route-session .learning-stage{margin-left:10px;margin-right:10px}.route-session .session-heading{padding-left:12px;padding-right:12px}.route-session .session-top{padding-left:12px;padding-right:12px}.route-session .phone-sim,.route-session .phone-sim-premium{width:calc(100% + 26px);margin-left:-13px;margin-right:-13px}
}

@media (max-width:360px){
  :root{--phone-gutter:11px}.mobilebar{left:6px;right:6px}.mobile-page-context strong{font-size:14px}.mobile-label{font-size:7.5px}.mobile-icon{width:19px;height:19px}.profile-passport{grid-template-columns:52px minmax(0,1fr) 28px}.passport-photo,.new-profile-orbit{width:52px;height:58px}.passport-copy h2{font-size:18px}.passport-languages span{min-width:27px}
}

/* =========================================================
   V1.2 — PHONE PATH V2
   The path is a mobile learning journey, not stacked desktop cards.
   ========================================================= */
.phone-path-head,.phone-path-overview,.phone-module-view,.phone-chapter-view{display:none}
@media (max-width:900px){
  .route-path .path-desktop-head,.route-path .desktop-path-view,.route-path .breadcrumbs{display:none!important}
  .route-path .main{padding-top:calc(var(--phone-top-h) + env(safe-area-inset-top) + 8px);padding-left:0;padding-right:0;background:#f7f4ed}
  .route-path .phone-path-head,.route-path .phone-path-overview,.route-path .phone-module-view,.route-path .phone-chapter-view{display:block}
  .phone-path-head{padding:6px var(--phone-gutter) 10px;display:grid!important;gap:1px}.phone-path-head>span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7b817e;font-weight:800}.phone-path-head>strong{font:700 16px/1.25 Georgia,serif;color:#1c3633;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .route-path .path-selectors{display:flex;align-items:center;gap:8px;padding:0 var(--phone-gutter) 12px;overflow:hidden}.route-path .path-language-switch{display:flex;gap:6px;overflow-x:auto;flex:1;scrollbar-width:none}.route-path .path-language-switch::-webkit-scrollbar{display:none}.route-path .path-language-switch button{min-height:32px;padding:7px 11px;border-radius:999px;font-size:10px;white-space:nowrap;background:#fff;border:1px solid #ddd5c7;box-shadow:none}.route-path .path-language-switch button.active{background:#173f3c;color:white;border-color:#173f3c}.route-path .path-level-tabs{display:flex;flex:0 0 auto;gap:4px}.route-path .path-level-tabs button{min-width:36px;min-height:32px;padding:6px 8px;border-radius:10px;font-size:10px}.route-path .path-level-tabs button:not(.active){display:none}

  .phone-path-overview{padding:0 0 18px}
  .phone-level-card{margin:0 var(--phone-gutter) 18px;padding:16px 16px 14px;border-radius:22px;background:linear-gradient(145deg,#173f3c,#285b54);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 66px;gap:10px 14px;box-shadow:0 16px 38px rgba(23,63,60,.18)}.phone-level-card h2{font:700 28px/1 Georgia,serif;margin:5px 0 4px}.phone-level-card p{margin:0;font-size:11px;color:rgba(255,255,255,.72)}.phone-kicker{font-size:8px;letter-spacing:.13em;text-transform:uppercase;font-weight:850;color:#6d7d78}.phone-level-card .phone-kicker{color:#cfe1dc}.phone-level-ring{--p:0;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d6b869 calc(var(--p)*1%),rgba(255,255,255,.14) 0);position:relative}.phone-level-ring::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#1f4944}.phone-level-ring strong{position:relative;z-index:1;font-size:13px}.phone-level-progress{grid-column:1/-1;height:4px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}.phone-level-progress span{display:block;height:100%;background:#d6b869;border-radius:inherit}
  .phone-section-label{display:flex;align-items:end;justify-content:space-between;padding:0 var(--phone-gutter);margin:0 0 9px}.phone-section-label>span{font:700 18px/1 Georgia,serif;color:#203a37}.phone-section-label small{font-size:9px;color:#858c89;max-width:52%;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .phone-module-rail{display:flex;gap:8px;overflow-x:auto;padding:2px var(--phone-gutter) 12px;scroll-padding-left:var(--phone-gutter);scroll-snap-type:x proximity;scrollbar-width:none}.phone-module-rail::-webkit-scrollbar{display:none}.phone-module-node{flex:0 0 52px;height:68px;border:1px solid #ddd5c7;border-radius:17px;background:#fffdf8;display:grid;place-items:center;align-content:center;gap:4px;color:#65706c;scroll-snap-align:start;box-shadow:none;transition:transform .2s ease,background .2s ease,border .2s ease}.phone-module-node>span{font:700 16px/1 Georgia,serif}.phone-module-node>small{font-size:8px;color:#929894}.phone-module-node.selected{transform:translateY(-2px);background:#173f3c;border-color:#173f3c;color:#fff;box-shadow:0 9px 22px rgba(23,63,60,.17)}.phone-module-node.selected small{color:#c9d7d3}.phone-module-node.complete{border-color:#b5c7c1}.phone-module-node.complete>span{color:#2d776a}.phone-module-node.selected.complete>span{color:#d9c27a}.phone-module-node.locked{opacity:.38}
  .phone-module-focus{margin:0 var(--phone-gutter) 18px;border:1px solid #dfd8cc;border-radius:24px;background:#fffdfa;overflow:hidden;box-shadow:0 12px 34px rgba(34,42,39,.075)}.phone-module-art{height:132px;background:#ece7dc;overflow:hidden}.phone-module-art img{width:100%;height:100%;object-fit:cover;display:block}.phone-module-focus-copy{padding:16px}.phone-module-focus h2{font:700 29px/1.02 Georgia,serif;margin:5px 0 8px;color:#1c3633}.phone-module-focus p{margin:0 0 12px;font-size:12.5px;line-height:1.48;color:#626b67}.phone-module-meta{display:flex;gap:6px;overflow:hidden;margin-bottom:10px}.phone-module-meta span{min-width:0;padding:5px 8px;border-radius:999px;background:#f1ede4;font-size:8.5px;color:#68716d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-progress,.phone-module-progressline,.phone-chapter-head-progress{height:4px;border-radius:99px;background:#e7e1d7;overflow:hidden}.phone-progress span,.phone-module-progressline span,.phone-chapter-head-progress span{display:block;height:100%;border-radius:inherit;background:#2c7469}.phone-primary-action{width:100%;min-height:48px;margin-top:13px;border:0;border-radius:15px;background:#173f3c;color:#fff;font-weight:800;font-size:12px;padding:0 15px;display:flex;align-items:center;justify-content:space-between}.phone-primary-action>span{font-size:19px;font-weight:400}.phone-primary-action.muted{background:#dedbd4;color:#8d918e}
  .phone-path-note{margin:0 var(--phone-gutter);padding:13px 14px;border-radius:17px;background:#efe9dc;border:1px solid #e3dac9}.phone-path-note span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#7d6c42;font-weight:900}.phone-path-note p{margin:5px 0 0;font-size:11px;line-height:1.45;color:#625f57}

  .phone-module-view,.phone-chapter-view{padding:0 var(--phone-gutter) 20px}.phone-back-link{border:0;background:transparent;padding:5px 0 12px;color:#5f6d69;font-size:11px;font-weight:700}.phone-module-compact-hero{border-radius:22px;background:#173f3c;color:#fff;overflow:hidden;display:grid;grid-template-columns:108px minmax(0,1fr);align-items:stretch}.phone-module-compact-hero>img{width:108px;height:100%;min-height:126px;object-fit:cover}.phone-module-compact-hero>div{padding:15px 14px}.phone-module-compact-hero .phone-kicker{color:#c9d8d4}.phone-module-compact-hero h2{font:700 24px/1.03 Georgia,serif;margin:5px 0 7px}.phone-module-compact-hero p{margin:0;font-size:10.5px;line-height:1.45;color:#d7e2df;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.phone-module-progressline{margin:12px 0 7px}.phone-module-state{display:flex;align-items:baseline;gap:8px;margin-bottom:20px}.phone-module-state strong{font:700 17px Georgia,serif;color:#234c47}.phone-module-state span{font-size:9px;color:#858c89}
  .phone-chapter-stepper{position:relative;display:grid;margin:0 0 18px}.phone-chapter-step{position:relative;border:0;background:transparent;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;text-align:left;padding:0 0 15px;color:#48524f}.step-marker{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid #d2cbc0;background:#fff;font:700 11px Georgia,serif;z-index:2}.step-line{position:absolute;left:15px;top:31px;bottom:0;width:1px;background:#d7d0c5}.phone-chapter-step:last-child .step-line{display:none}.step-copy{padding:2px 0 1px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px}.step-copy small{grid-column:1/-1;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#969b98}.step-copy strong{font:700 14px/1.2 Georgia,serif;color:#2b3e3a}.step-copy em{font-style:normal;font-size:8px;color:#89918e}.phone-chapter-step.current .step-marker{background:#173f3c;border-color:#173f3c;color:#fff;box-shadow:0 0 0 4px #e3ece9}.phone-chapter-step.complete .step-marker{background:#e3eee9;border-color:#bdd0c8;color:#2e7065}
  .phone-next-card{border-radius:21px;padding:15px;background:#fffdfa;border:1px solid #dfd8cc}.phone-next-card h3{font:700 20px/1.1 Georgia,serif;margin:4px 0 6px;color:#203a37}.phone-next-card p{margin:0;font-size:10.5px;line-height:1.4;color:#747b78}

  .phone-chapter-head{padding:2px 0 17px}.phone-chapter-head h2{font:700 30px/1.02 Georgia,serif;margin:5px 0 8px;color:#1d3935}.phone-chapter-head p{font-size:12px;line-height:1.5;color:#68716d;margin:0 0 12px}.phone-chapter-head small{display:block;margin-top:6px;font-size:8px;color:#8c938f}
  .phone-lesson-track{display:grid;border-top:1px solid #e4ded4}.phone-lesson-step{position:relative;border:0;border-bottom:1px solid #e4ded4;background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;align-items:start;padding:13px 1px;text-align:left;color:#414d49}.lesson-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #d8d1c6;font:700 10px Georgia,serif;position:relative;z-index:2}.lesson-connector{position:absolute;left:15px;top:42px;bottom:-12px;width:1px;background:#ddd7cd}.phone-lesson-step:last-child .lesson-connector{display:none}.lesson-step-copy{display:grid;gap:2px}.lesson-step-copy small{font-size:7.5px;text-transform:uppercase;letter-spacing:.1em;color:#9a9f9c}.lesson-step-copy strong{font:700 14px/1.25 Georgia,serif;color:#2d403d}.lesson-step-copy em{font-size:8px;font-style:normal;color:#8b918e}.lesson-chevron{align-self:center;font-size:22px;color:#a0a5a2}.phone-lesson-step.current{background:linear-gradient(90deg,rgba(41,95,87,.07),transparent)}.phone-lesson-step.current .lesson-dot{background:#173f3c;color:white;border-color:#173f3c;box-shadow:0 0 0 4px #e5ece9}.phone-lesson-step.done .lesson-dot{background:#e2eee9;border-color:#bfd1c9;color:#2e7166}.phone-sticky-continue{position:sticky;bottom:calc(var(--phone-dock-h) + 22px + env(safe-area-inset-bottom));margin:14px 0 0;padding:9px 9px 9px 12px;border:1px solid rgba(199,189,176,.7);border-radius:18px;background:rgba(255,253,249,.96);backdrop-filter:blur(18px);box-shadow:0 14px 34px rgba(30,42,38,.13);display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px;align-items:center;z-index:12}.phone-sticky-continue small{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.08em;color:#8b918e}.phone-sticky-continue strong{display:block;margin-top:2px;font:700 11px/1.2 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-sticky-continue .phone-primary-action{margin:0;min-height:42px;border-radius:13px;font-size:10px}
}
@media (max-width:520px){
  .phone-level-card{grid-template-columns:minmax(0,1fr) 58px}.phone-level-ring{width:56px;height:56px}.phone-module-compact-hero{grid-template-columns:92px minmax(0,1fr)}.phone-module-compact-hero>img{width:92px}.phone-module-compact-hero h2{font-size:22px}.phone-sticky-continue{grid-template-columns:minmax(0,1fr) 105px}
}
