*{box-sizing:border-box} :root{--bg:#fffaf3;--cream:#fbf4e7;--surface:#fff;--surface2:#fffdf9;--ink:#2b1d12;--muted:#766454;--line:#ecdfcc;--gold:#c38a35;--gold2:#eeaf45;--gold-soft:#f8e7c8;--orange:#ed7727;--brown:#583014;--green:#169b62;--red:#d94a3d;--shadow:0 18px 48px rgba(86,49,15,.09);--shadow-soft:0 8px 22px rgba(86,49,15,.07);--radius:25px;--sans:"Manrope",Arial,sans-serif;--serif:"Playfair Display",Georgia,serif}
html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 12% 0%,#fff 0,#fff8ec 35%,#f7ecdb 100%);font-family:var(--sans);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.62}.desktop-backdrop{min-height:100vh}.desktop-intro{display:none}.phone-shell{background:var(--bg);min-height:100dvh;padding-bottom:90px;position:relative}.safe-top{height:env(safe-area-inset-top)}.app-header{height:70px;padding:10px 18px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:rgba(255,250,243,.88);backdrop-filter:blur(16px);z-index:15;border-bottom:1px solid transparent;transition:.2s}.app-header.scrolled{border-color:var(--line);box-shadow:0 6px 14px rgba(59,36,15,.04)}.brand-btn{display:flex;align-items:center;gap:10px;background:transparent;padding:0;text-align:left}.brand-btn img{width:43px;height:43px;border-radius:14px;object-fit:contain;background:#fff;box-shadow:var(--shadow-soft)}.brand-btn small{display:block;font-size:9px;letter-spacing:1.6px;color:var(--gold);font-weight:800}.brand-btn strong{display:block;font-size:15px;color:var(--brown);letter-spacing:.5px}.header-actions{display:flex;gap:9px}.icon-btn{height:42px;min-width:42px;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--brown);position:relative}.icon-btn i{position:absolute;top:9px;right:10px;width:8px;height:8px;background:var(--orange);border-radius:50%;border:2px solid #fff}.view{display:none;padding:12px 16px 22px}.view.active{display:block;animation:rise .27s ease}@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--gold);margin:0 0 8px}.hero-card{padding:27px 22px 22px;border-radius:30px;background:linear-gradient(145deg,#fff,#fff8ea);border:1px solid #f0dfbf;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-card:before{content:"";position:absolute;right:-42px;top:-52px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,#ffe8ae,rgba(255,232,174,0));opacity:.85}.hero-card:after{content:"";height:4px;position:absolute;left:22px;right:22px;top:0;background:linear-gradient(90deg,var(--orange),var(--gold2),transparent);border-radius:0 0 12px 12px}.hero-kicker{font-size:10px;font-weight:800;color:var(--gold);letter-spacing:2px;margin:0 0 16px;position:relative}.hero-card h2{font-family:var(--serif);font-size:29px;line-height:1.2;margin:0 0 14px;color:var(--brown);position:relative}.hero-card h2 em{font-style:normal;color:var(--orange)}.hero-desc{font-size:13.5px;color:var(--muted);line-height:1.65;margin:0 0 20px;position:relative}.hero-desc strong{color:var(--brown)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 18px;position:relative}.hero-stats div{background:#fff;border:1px solid var(--line);border-radius:17px;padding:12px 6px;text-align:center}.hero-stats strong{display:block;color:var(--brown);font-size:20px}.hero-stats span{font-size:10px;color:var(--muted);font-weight:600}.primary-btn{border-radius:16px;background:linear-gradient(130deg,var(--brown),#88501e 56%,var(--gold));color:#fff;font-weight:750;padding:16px;min-height:53px;box-shadow:0 11px 20px rgba(88,48,20,.18);transition:.2s}.primary-btn:active{transform:scale(.985)}.primary-btn:disabled{background:#d4c3ab;box-shadow:none}.full{width:100%}.ghost-btn{border-radius:16px;background:#fff;color:var(--brown);font-weight:700;min-height:51px;border:1px solid var(--line);margin-top:10px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:25px 2px 13px}.section-head h3,.industry-box h3{margin:0;font-family:var(--serif);font-size:21px;color:var(--brown)}.link-btn{background:transparent;color:var(--gold);font-size:12px;font-weight:800}.stage-scroll{display:flex;overflow:auto;gap:11px;scrollbar-width:none;padding-bottom:2px}.stage-scroll::-webkit-scrollbar{display:none}.stage-card{min-width:190px;border-radius:20px;background:var(--surface);padding:17px;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.stage-card b{font-size:11px;color:var(--gold);letter-spacing:1px}.stage-card h4{margin:10px 0 8px;font-size:15px}.stage-card p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.industry-box{margin-top:18px;padding:20px 18px;background:#fff;border:1px solid var(--line);border-radius:22px}.industry-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.industry-chips span{font-size:12px;background:var(--cream);border:1px solid #f0e2cb;padding:9px 11px;border-radius:30px;color:var(--brown);font-weight:650}.audio-feature{display:flex;align-items:center;gap:14px;margin-top:15px;padding:16px;background:linear-gradient(120deg,#fff0d3,#fff);border:1px solid #f0ddb8;border-radius:20px}.audio-feature strong{font-size:14px;color:var(--brown)}.audio-feature p{font-size:11px;color:var(--muted);margin:5px 0 0}.audio-wave{height:36px;min-width:48px;display:flex;align-items:center;gap:4px}.audio-wave span{display:block;width:4px;border-radius:6px;background:var(--gold);animation:wave 1s infinite ease-in-out}.audio-wave span:nth-child(1){height:14px}.audio-wave span:nth-child(2){height:28px;animation-delay:.12s}.audio-wave span:nth-child(3){height:20px;animation-delay:.2s}.audio-wave span:nth-child(4){height:31px;animation-delay:.26s}.audio-wave span:nth-child(5){height:14px;animation-delay:.34s}@keyframes wave{50%{transform:scaleY(.65)}}
.dashboard-card{border-radius:28px;padding:22px 19px;background:linear-gradient(140deg,#fff,#fff5de);border:1px solid #f0d9af;box-shadow:var(--shadow-soft)}.dashboard-top{display:flex;justify-content:space-between;gap:15px}.dashboard-top h2{margin:0;font-family:var(--serif);font-size:23px;color:var(--brown)}.progress-ring{--p:0%;width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--gold) var(--p),#f1e5d2 0);position:relative;flex:none}.progress-ring:before{content:"";width:51px;height:51px;border-radius:50%;background:#fff;position:absolute}.progress-ring span{font-size:12px;font-weight:800;position:relative;color:var(--brown)}.goal{font-size:13px;line-height:1.55;color:var(--muted);margin:13px 0}.minutes{font-size:12px;color:var(--brown);padding:11px 13px;background:#fff;border-radius:13px;border:1px solid var(--line)}.quality-badge{margin-top:12px;border-radius:14px;background:#fff;padding:10px 12px;display:flex;align-items:center;gap:9px;border:1px solid #f0d6a8}.quality-badge b{font-size:9px;letter-spacing:1px;padding:6px 8px;background:var(--gold-soft);color:var(--brown);border-radius:8px}.quality-badge span{font-size:11px;color:var(--muted);font-weight:650}.lesson-card{margin-top:14px;padding:18px 15px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.lesson-header{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:13px}.lesson-header small{font-size:9px;color:var(--gold);letter-spacing:1.4px;font-weight:800}.lesson-header h3{font-size:18px;margin:4px 0 0;font-family:var(--serif);color:var(--brown)}.small-audio{font-size:11px;color:var(--brown);font-weight:700;background:var(--cream);padding:9px 10px;border-radius:12px}.vocab-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vocab-row{border-radius:15px;background:var(--surface2);border:1px solid #f0e5d5;padding:11px;display:flex;justify-content:space-between;gap:6px;align-items:center}.vocab-row strong{display:block;font-size:12.5px;color:var(--brown)}.vocab-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.speak-mini{width:32px;height:32px;border-radius:11px;background:var(--gold-soft);color:var(--brown)}.sentence-item{border-radius:16px;background:var(--surface2);border:1px solid #f1e6d7;padding:13px;margin-bottom:10px}.sentence-item:last-child{margin-bottom:0}.sentence-item p{font-size:14px;font-weight:700;margin:0 0 6px;color:var(--brown);line-height:1.45}.sentence-item small{color:var(--muted);font-size:11px}.sentence-actions,.practice-actions{display:flex;gap:7px;margin-top:10px}.sentence-actions button,.practice-actions button{height:38px;border-radius:11px;background:#fff4df;color:var(--brown);font-size:11px;font-weight:750;padding:0 12px;border:1px solid #ecd6ad}.sentence-actions .slow{background:#fff}.partner-bubble{display:flex;align-items:center;gap:10px;background:linear-gradient(120deg,#fff5e1,#fff);border:1px solid #f0ddb9;padding:12px;border-radius:16px}.partner-bubble .avatar{width:35px;height:35px;display:grid;place-items:center;background:var(--brown);color:#fff;border-radius:50%;font-weight:800}.partner-bubble p{flex:1;font-size:13px;margin:0;font-weight:650}.partner-bubble button{background:var(--gold-soft);width:37px;height:37px;border-radius:12px}.answer-box{margin-top:12px;padding:13px;border-radius:18px;background:#fffdf9;border:1px solid #efe3d4}.answer-box>small{font-size:9px;letter-spacing:1.4px;font-weight:800;color:var(--gold)}.answer-box>p{font-size:14px;font-weight:750;line-height:1.45;margin:8px 0 14px;color:var(--brown)}.threshold-line{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:10px;font-weight:750;color:var(--muted);padding-top:2px}.threshold-line b{color:var(--orange);background:#fff0e5;padding:5px 8px;border-radius:20px}.assessment-panel{margin-top:10px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px}.score-orb{width:72px;height:72px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;background:#f2ecdf;color:var(--muted);border:4px solid #ede2d0}.score-orb strong{font-size:20px}.score-orb small{font-size:9px;font-weight:700}.score-orb.pass{background:#ebfaf2;border-color:#33b97c;color:var(--green)}.score-orb.fail{background:#fff0ec;border-color:#f18d76;color:var(--red)}.score-orb.listening{background:#fff5df;border-color:var(--gold2);color:var(--gold);animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.04)}}.coach-copy strong{font-size:13px;color:var(--brown)}.coach-copy p{font-size:11px!important;font-weight:550!important;color:var(--muted)!important;margin:5px 0 0!important;line-height:1.5!important}.transcript-card{margin-top:10px;padding:11px;background:#fff;border-radius:15px;border:1px dashed #e3ccb0}.transcript-card small{font-size:9px;font-weight:800;color:var(--muted);letter-spacing:1px}.transcript-card p{font-size:12px;margin:7px 0;color:var(--brown);font-weight:650}.word-review{display:flex;gap:5px;flex-wrap:wrap}.word-review span{padding:4px 7px;border-radius:8px;font-size:10px;font-weight:700;background:#edfaf4;color:var(--green)}.word-review span.miss{background:#fff0eb;color:var(--red)}.record-actions{display:grid;grid-template-columns:1fr .78fr;gap:8px;margin-top:12px}.record-btn,.play-record-btn,.submit-score-btn{min-height:48px;border-radius:14px;font-size:12px;font-weight:800}.submit-score-btn{grid-column:1 / -1;background:linear-gradient(135deg,var(--brown),var(--gold));color:#fff;box-shadow:0 9px 19px rgba(84,50,20,.13)}.record-btn{background:linear-gradient(135deg,var(--orange),var(--gold2));color:#fff}.record-btn.recording{background:var(--red)}.play-record-btn{background:#fff;border:1px solid var(--line);color:var(--brown)}.listen-again{width:100%;height:43px;margin-top:8px;border-radius:12px;background:#fff6e5;color:var(--brown);font-size:11px;font-weight:750;border:1px solid #f0dbba}.record-status{font-size:10.5px!important;font-weight:550!important;color:var(--muted)!important;margin:10px 2px 0!important}.finish-btn{margin-top:14px}.page-title{padding:13px 2px}.page-title h2{font-family:var(--serif);font-size:29px;color:var(--brown);margin:0 0 8px}.page-title>p:not(.eyebrow){font-size:13px;line-height:1.6;color:var(--muted);margin:0}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 17px}.progress-summary div{background:#fff;border-radius:17px;padding:12px 6px;text-align:center;border:1px solid var(--line)}.progress-summary strong{font-size:21px;color:var(--brown);display:block}.progress-summary span{font-size:10px;color:var(--muted)}.week-block{margin-bottom:18px}.week-block h3{font-size:13px;color:var(--brown);margin:0 0 9px}.day-grid{display:grid;gap:7px}.day-item{display:flex;align-items:center;gap:11px;padding:10px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:left}.day-number{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--cream);font-size:12px;font-weight:800;color:var(--brown)}.day-copy{flex:1}.day-copy strong{display:block;font-size:12px;color:var(--brown)}.day-copy small{font-size:10px;color:var(--muted)}.day-status{color:var(--gold);font-weight:800}.day-item.completed{border-color:#cceadb;background:#fcfffd}.day-item.completed .day-number{background:#e5f8ee;color:var(--green)}.day-item.current{border-color:#dfb86e;background:#fffaf0}.control-card{padding:13px;background:#fff;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px}.control-card label{font-size:10px;font-weight:700;color:var(--muted)}select,input,textarea{width:100%;border-radius:12px;border:1px solid var(--line);background:#fffdf8;padding:12px;color:var(--ink);outline:none;margin-top:6px}select{height:43px;padding:0 10px;font-size:12px}.practice-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:9px}.practice-card p{font-size:14px;font-weight:750;line-height:1.5;color:var(--brown);margin:0 0 5px}.practice-card small{font-size:11px;color:var(--muted)}.practice-actions button.assess{background:linear-gradient(130deg,var(--brown),var(--gold));color:#fff;border-color:transparent}.practice-session{background:#fffaf0;border:1px solid #efd7a8;border-radius:18px;padding:14px;margin:10px 0}.practice-session strong{display:block;font-size:13px;color:var(--brown);margin-bottom:5px}.practice-session p{font-size:12px;line-height:1.45;color:var(--muted);margin:0 0 12px}.practice-session .submit-score-btn{display:block;width:100%}.practice-score{background:#fff;border:1px solid #efd7a8;border-radius:18px;padding:14px;margin:10px 0}.practice-score-top{display:flex;align-items:center;gap:12px}.practice-score-top strong{font-size:28px;color:var(--brown)}.practice-score-top span{font-size:12px;font-weight:750;color:var(--gold)}.practice-score p{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0 0}.custom-speech{margin:16px 0;background:#fff;border:1px solid var(--line);padding:16px;border-radius:20px}.custom-speech h3{font-family:var(--serif);margin:0 0 10px;color:var(--brown)}textarea{resize:none;margin:0 0 9px}.profile-hero{text-align:center;padding:16px 0 19px}.profile-hero img{width:74px;height:74px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.profile-hero h2{font-family:var(--serif);margin:12px 0 5px;color:var(--brown)}.profile-hero p{font-size:12px;color:var(--muted);margin:0}.profile-form,.settings-card{padding:17px;background:#fff;border:1px solid var(--line);border-radius:21px;margin-bottom:13px}.profile-form h3,.settings-card h3{font-family:var(--serif);margin:0 0 13px;color:var(--brown)}.profile-form label{display:block;font-size:11px;color:var(--muted);font-weight:700;margin-bottom:12px}.profile-form input,.profile-form select{margin-top:5px}.setting-row{display:flex;justify-content:space-between;align-items:center;background:#fffdf9;border-bottom:1px solid var(--line);height:48px;width:100%;font-size:12px;color:var(--brown);font-weight:650}.small-note{font-size:10.5px;color:var(--muted);line-height:1.5}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:75px;padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:rgba(255,253,248,.95);border-top:1px solid var(--line);backdrop-filter:blur(15px);display:grid;grid-template-columns:repeat(5,1fr);z-index:20}.nav-item{background:transparent;color:#806a54;display:flex;align-items:center;flex-direction:column;gap:4px;padding:4px;border-radius:14px}.nav-item span{font-size:20px;height:25px}.nav-item small{font-size:10px;font-weight:700}.nav-item.active{color:var(--brown);background:#fff1d9}.nav-item.active span{color:var(--orange)}.modal{display:none;position:fixed;inset:0;z-index:40;background:rgba(43,29,18,.5);padding:22px;align-items:end}.modal.show{display:flex}.modal-card{width:100%;background:#fffaf2;border-radius:28px 28px 19px 19px;padding:20px;box-shadow:var(--shadow)}.modal-logo{width:62px;border-radius:18px}.modal-card h2{font-family:var(--serif);color:var(--brown);margin:12px 0 8px}.modal-card p{color:var(--muted);font-size:13px;line-height:1.55}.modal-form label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin:10px 0}.text-btn{width:100%;height:43px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;margin-top:8px}.toast{position:fixed;z-index:50;left:50%;bottom:95px;transform:translate(-50%,18px);max-width:calc(100% - 40px);padding:12px 16px;background:var(--brown);color:#fff;font-size:12px;border-radius:14px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:900px){body{background:linear-gradient(120deg,#fff9ef,#f6ead5)}.desktop-backdrop{max-width:1230px;margin:auto;display:flex;gap:68px;justify-content:center;align-items:center;padding:28px}.desktop-intro{display:block;width:450px}.intro-brand img{width:230px;max-height:180px;object-fit:contain;margin-bottom:25px}.desktop-intro h1{font-family:var(--serif);font-size:52px;line-height:1.12;margin:12px 0 18px;color:var(--brown)}.intro-text{font-size:15px;line-height:1.7;color:var(--muted);max-width:400px}.intro-pills{display:flex;gap:8px;margin-top:24px}.intro-pills span{padding:10px 14px;border-radius:30px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--brown);font-weight:750}.phone-shell{width:418px;height:900px;max-height:94vh;min-height:0;overflow:auto;border-radius:38px;box-shadow:0 30px 80px rgba(65,39,14,.15),0 0 0 8px rgba(255,255,255,.72);scrollbar-width:none}.phone-shell::-webkit-scrollbar{display:none}.bottom-nav{position:sticky;margin-top:6px}.toast{bottom:38px}}

@supports(padding:max(0px)){.topbar{padding-top:max(10px,env(safe-area-inset-top))}.bottom-nav{height:calc(75px + env(safe-area-inset-bottom));}}
