:root{--ink:#352d43;--muted:#746d79;--paper:#f8f5ef;--white:#fffdfa;--line:#d9d2cb;--coral:#ee846c;--coral-dark:#cc654e;--peach:#f7b795;--lilac:#cbbbe3;--mint:#c7ded1;--yellow:#f1dfac;--shadow:0 16px 45px rgba(53,45,67,.09);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a,button,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8063b6;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1,h2,.dash-card strong,.bubble-content h2,.aside-card strong{font-family:Georgia,"Times New Roman",serif;font-weight:500}em{font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-60px;background:var(--ink);color:white;padding:10px 16px;z-index:50}.skip-link:focus{top:10px}.site-shell{max-width:1440px;margin:0 auto;min-height:100vh}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4.6vw,68px);border-bottom:1px solid rgba(53,45,67,.13);background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{position:relative;font-family:Georgia,serif;font-size:43px;line-height:.8;font-weight:700;letter-spacing:-.08em}.brand-mark span{position:absolute;font:24px Arial,sans-serif;color:var(--coral);right:-12px;top:-10px}.brand-text{margin-left:6px;font-size:15px;letter-spacing:-.025em}.brand-text strong{font-weight:700}.topnav{display:flex;align-items:center;gap:9px}.topnav a{font-size:13px;font-weight:650;padding:10px 16px;border-radius:30px;transition:background .2s}.topnav a:hover,.topnav a.active{background:#e9e2dc}.menu-toggle{display:none;border:0;background:none;font-size:25px;color:var(--ink)}main{padding:0 clamp(22px,4.6vw,68px)}.view[hidden]{display:none!important}.eyebrow,.section-kicker,.panel-label,.card-numeral{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.sparkle{font-size:15px;color:var(--coral);margin-right:5px}.hero{display:grid;grid-template-columns:1.13fr .87fr;min-height:545px;padding:74px 0 54px;gap:32px;align-items:center}.hero-copy{max-width:660px;position:relative;z-index:2}.hero h1{font-size:clamp(56px,6.2vw,98px);line-height:.96;margin:27px 0 26px}.hero h1 em{color:var(--coral-dark)}.hero-lead{max-width:515px;font-size:clamp(16px,1.4vw,19px);line-height:1.7;color:#625b65;margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{border:1px solid transparent;min-height:50px;padding:13px 20px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:13px;font-weight:750;letter-spacing:.005em;transition:transform .2s,box-shadow .2s,background .2s;text-align:center}.button:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(53,45,67,.16)}.button-dark{background:var(--ink);color:white}.button-coral{background:var(--coral);color:var(--ink);border-color:var(--ink)}.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.text-link{font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.text-link span{margin-left:5px}.hero-mini{display:flex;align-items:center;gap:11px;color:#746b70;margin-top:36px;font-size:13px}.mini-sun{font-size:27px;color:#d59c4d}.hero-art{height:420px;position:relative;overflow:hidden;border-radius:47% 47% 5% 5% / 44% 44% 5% 5%;background:radial-gradient(circle at 72% 25%,#fbe9c9 0 14%,transparent 15%),linear-gradient(150deg,#dfd4ec 0%,#cab9e4 55%,#b5a2d3 100%);border:1px solid rgba(53,45,67,.28);box-shadow:var(--shadow)}.art-orbit{position:absolute;border:1px solid rgba(53,45,67,.33);border-radius:50%;transform:rotate(-23deg)}.art-orbit-one{width:550px;height:270px;left:-105px;top:88px}.art-orbit-two{width:380px;height:185px;left:35px;top:130px}.art-flower{position:absolute;font-family:Georgia,serif;color:#f98066;font-size:190px;line-height:1;top:70px;right:7%;transform:rotate(-17deg);text-shadow:2px 2px 0 #513c54}.art-note{position:absolute;background:#fff9ee;border:1px solid var(--ink);box-shadow:6px 7px 0 rgba(53,45,67,.17);z-index:2}.art-note-one{top:60px;left:8%;transform:rotate(-8deg);padding:20px 23px;border-radius:6px}.art-note-one small{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:800;margin-bottom:11px}.art-note-one strong{font-family:Georgia,serif;font-size:25px;font-weight:400}.art-note-two{bottom:35px;right:9%;transform:rotate(6deg);background:#f7b591;width:230px;padding:17px 20px;border-radius:10px}.art-note-two span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:20px}.art-note-two b{display:block;font-family:Georgia,serif;font-size:25px;line-height:1.1;font-weight:500}.art-note-two i{display:block;font-style:normal;margin-top:16px;text-align:right}.art-dot{width:14px;height:14px;border-radius:50%;background:var(--ink);position:absolute}.art-dot-one{bottom:80px;left:10%}.art-dot-two{top:80px;right:15%;background:#fef5e2;width:9px;height:9px}.home-grid{display:grid;grid-template-columns:1.22fr .78fr;gap:18px}.course-bubble{min-height:335px;background:#3d3452;border:1px solid var(--ink);border-radius:17px;color:#fffaf5;padding:25px 29px 22px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.course-bubble:before{content:"";position:absolute;width:290px;height:290px;border-radius:50%;border:1px solid rgba(255,255,255,.22);right:-80px;top:14px}.course-bubble:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:1px solid rgba(255,255,255,.13);right:-20px;top:55px}.bubble-top,.bubble-bottom{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:30px;font-size:9px;font-weight:800;letter-spacing:.15em}.pill-light{border:1px solid rgba(255,255,255,.48)}.bubble-icon{font-size:25px}.bubble-content{position:relative;z-index:1}.bubble-content h2{font-size:clamp(38px,4vw,58px);margin:15px 0 10px}.bubble-content h2 em{color:#fbb692}.bubble-content p{max-width:340px;margin:0;color:#e1dbe9;font-size:13px;line-height:1.6}.bubble-scribble{position:absolute;right:15%;top:25px;font-family:Georgia,serif;font-size:33px;letter-spacing:.11em;transform:rotate(-13deg);color:#f9c2a7;opacity:.75}.bubble-bottom{padding-top:18px;border-top:1px solid rgba(255,255,255,.28);font-size:11px;color:#d8d0e0}.bubble-bottom a{color:white;font-weight:800;font-size:12px}.bubble-bottom a span{margin-left:8px}.today-card{min-height:335px;background:#fffaf3;border:1px solid var(--ink);border-radius:17px;padding:26px 27px;box-shadow:5px 6px 0 #e5ddd5;display:flex;flex-direction:column}.section-kicker{display:flex;justify-content:space-between}.section-kicker span{font-size:18px;color:var(--coral)}.today-card h2{font-size:clamp(28px,2.9vw,43px);max-width:370px;margin:26px 0 12px}.today-card p{font-size:14px;color:var(--muted)}.today-divider{border-top:1px solid var(--line);margin-top:auto}.today-meta{display:flex;justify-content:space-between;margin:14px 0 20px;font-size:11px;font-weight:700}.today-card .button{align-self:flex-start;width:100%}.dashboard-section{padding:76px 0 67px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}.section-heading h2{font-size:clamp(35px,4.1vw,56px);margin:8px 0 0}.section-heading>p{color:var(--muted);max-width:180px;font-size:13px;margin:0 4px 8px 0}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dash-card{min-height:230px;border:1px solid var(--ink);border-radius:16px;padding:20px;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s}.dash-card:hover{transform:translateY(-3px);box-shadow:5px 7px 0 rgba(53,45,67,.18)}.dash-lilac{background:#d9ceeb}.dash-peach{background:#f5c5ac}.dash-mint{background:#cbded4}.dash-icon{width:39px;height:39px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:27px;margin-bottom:auto}.dash-caption{font-size:9px;font-weight:800;letter-spacing:.13em;margin-top:23px}.dash-card strong{font-size:29px;line-height:1.05;margin-top:6px}.dash-arrow{position:absolute;right:22px;bottom:22px;font-size:25px}.note-banner{display:flex;align-items:center;gap:23px;background:#eee7e1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 28px;margin-bottom:70px}.note-symbol{font-family:Georgia,serif;font-size:42px;color:var(--coral-dark);line-height:1}.note-banner p{margin:0;font-size:13px;color:#655e67}.note-banner strong{color:var(--ink)}.footer{border-top:1px solid var(--line);padding:25px clamp(22px,4.6vw,68px) 35px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#827b81;font-size:11px}.footer p{margin:0}.footer-mark{font-family:Georgia,serif;font-size:28px;color:var(--ink)}.mobile-nav{display:none}.toast{position:fixed;bottom:23px;left:50%;transform:translate(-50%,30px);background:var(--ink);color:white;border-radius:10px;padding:12px 18px;z-index:100;box-shadow:var(--shadow);font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;min-width:min(90vw,330px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}

/* Course map */
.page-intro{margin-top:32px;border:1px solid var(--ink);border-radius:18px;padding:48px clamp(26px,5vw,70px);position:relative;overflow:hidden}.page-intro:after{content:"✳";position:absolute;right:3%;top:-40px;font-family:Georgia,serif;font-size:280px;line-height:1;color:rgba(53,45,67,.09);pointer-events:none}.page-intro h1{font-size:clamp(48px,5.8vw,78px);margin:18px 0}.page-intro h1 em{color:#c46753}.page-intro p:not(.eyebrow){max-width:550px;font-size:15px;color:#625969;line-height:1.7;margin-bottom:0;position:relative;z-index:1}.intro-course{background:#e9deed}.intro-phrasebook{background:#f8c9ac}.intro-studio{background:#d4e5da}.progress-wrap{max-width:540px;margin-top:30px;position:relative;z-index:1}.progress-label{display:flex;justify-content:space-between;font-size:11px;font-weight:700;margin-bottom:9px}.progress-track{height:10px;border:1px solid var(--ink);border-radius:20px;overflow:hidden;background:#f6f1f5}.progress-track span{height:100%;background:var(--coral);display:block;border-radius:20px;transition:width .35s}.course-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:35px 0 20px}.course-tools p{margin:0;font-size:13px;color:var(--muted)}.filter-button,.small-button{border:1px solid var(--ink);border-radius:30px;padding:10px 15px;background:transparent;color:var(--ink);font-size:12px;font-weight:750;transition:background .2s}.filter-button:hover,.small-button:hover{background:#e7dfd9}.day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:80px}.day-tile{min-height:205px;border:1px solid var(--ink);border-radius:14px;padding:19px;position:relative;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.day-tile:hover{transform:translateY(-3px);box-shadow:4px 5px 0 var(--ink)}.theme-coral{background:#f4bba8}.theme-lilac{background:#d8cbeb}.theme-mint{background:#cfe3d8}.theme-yellow{background:#f0e1bb}.theme-peach{background:#f7d1b9}.tile-top,.tile-foot{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.tile-top{font-size:10px;font-weight:850;letter-spacing:.13em}.tile-top span:last-child{font-size:20px;line-height:1}.tile-ornament{position:absolute;right:20px;top:40px;font-size:74px;line-height:1;opacity:.28}.day-tile strong{font-family:Georgia,serif;font-weight:500;font-size:27px;line-height:1.1;margin:auto 0 3px;position:relative;z-index:1;letter-spacing:-.03em}.tile-subtitle{font-size:12px;color:#5e5562;position:relative;z-index:1}.tile-foot{border-top:1px solid rgba(53,45,67,.3);padding-top:11px;margin-top:20px;font-size:10px;font-weight:800}.tile-foot span{font-size:17px}.day-tile.completed:after{content:"";position:absolute;inset:0;border:5px solid rgba(53,45,67,.13);border-radius:13px;pointer-events:none}

/* Lesson */
.day-hero{border:1px solid var(--ink);border-radius:18px;margin-top:32px;padding:20px clamp(23px,4vw,55px) 50px;min-height:270px;position:relative;overflow:hidden}.day-hero:after{content:"✳";position:absolute;right:18%;top:30px;font-family:Georgia,serif;font-size:140px;opacity:.12;transform:rotate(18deg)}.back-link{font-size:12px;font-weight:750;position:relative;z-index:2}.day-hero-inner{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:37px;position:relative;z-index:1}.day-hero h1{font-size:clamp(46px,5.5vw,76px);margin:8px 0 9px}.day-hero h1 em{color:#8a5261}.day-hero p:not(.eyebrow){margin:0;font-size:16px}.day-hero-stamp{border:1px solid var(--ink);border-radius:50%;width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);font-family:Georgia,serif;font-size:39px;line-height:.9;flex:none}.day-hero-stamp span{font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;font-weight:900;letter-spacing:.12em;text-align:center;line-height:1.3;margin-top:6px}.day-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:20px;align-items:start;margin:22px 0 50px}.day-main{display:grid;gap:19px;min-width:0}.lesson-panel{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:clamp(22px,3vw,35px)}.lesson-panel h2{font-size:clamp(26px,2.6vw,35px);margin:8px 0 12px}.lesson-panel p{color:#706875;font-size:13px;line-height:1.65}.goal-panel{background:#f4eee8;border-color:var(--ink)}.goal-panel h2{max-width:570px}.goal-panel p{margin:0;max-width:590px}.panel-label{display:block;color:#a06157;font-size:10px}.panel-heading{display:flex;justify-content:space-between;align-items:end;gap:15px}.panel-side{font-size:11px;color:#8e8391;margin-bottom:13px}.lesson-phrases{border-top:1px solid var(--line);margin-top:8px}.lesson-phrase{display:grid;grid-template-columns:39px minmax(0,1fr) 42px;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.lesson-phrase:last-child{border-bottom:0;padding-bottom:0}.phrase-number{font-size:11px;color:#aa9ba2;font-weight:800}.lesson-phrase strong,.book-phrase strong{display:block;font-size:17px;font-weight:700;line-height:1.3}.lesson-phrase div>span{display:block;font-size:12px;color:#7b717b;margin-top:4px}.sound-button{width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;background:#f6e3d8;color:var(--ink);font-size:17px;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:transform .2s,background .2s}.sound-button:hover{transform:scale(1.07);background:#eecab9}.section-help{margin-bottom:19px}.dialogue-list{display:flex;flex-direction:column;gap:11px}.dialogue-line{display:grid;grid-template-columns:70px minmax(0,1fr) 36px;align-items:start;gap:8px;max-width:88%;border:1px solid var(--line);border-radius:12px;padding:12px 12px 11px}.dialogue-line.mine{align-self:flex-end;background:#eedff2}.dialogue-line.theirs{background:#f6eee6}.dialogue-line>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#8d7c83;padding-top:4px}.dialogue-line strong{display:block;font-size:14px;line-height:1.4}.dialogue-line small{display:block;color:#756c75;font-size:11px;margin-top:5px;line-height:1.35}.dialogue-line .sound-button{width:31px;height:31px;font-size:14px}.mission-list{display:grid;gap:11px;margin-top:18px}.mission{border:1px solid var(--line);border-radius:12px;background:#fffaf5;padding:17px;display:grid;grid-template-columns:29px 1fr;gap:12px}.mission-done{background:#edf5ee}.mission-check{width:25px;height:25px;border:1px solid var(--ink);border-radius:6px;background:white;font-weight:850;color:var(--ink);line-height:1}.mission-done .mission-check{background:var(--mint)}.mission-kind{font-size:9px;letter-spacing:.12em;font-weight:800;color:#a96555}.mission h3{font-family:ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em;font-size:16px;font-weight:800;margin:5px 0}.mission p{margin:0;color:#736b71}.resource-link{display:inline-block;color:#9a493d;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px;margin-top:10px}.quiz-panel{background:#f3ebe6}.quiz-question{font-size:16px!important;font-weight:750;color:var(--ink)!important;margin:22px 0 15px}.quiz-options{display:grid;gap:9px}.quiz-option{background:var(--white);text-align:left;padding:13px 15px;border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:13px;font-weight:650}.quiz-option:hover{border-color:var(--ink)}.quiz-option.correct{background:#d9efda;border-color:#4d8861}.quiz-option.incorrect{background:#f5d9d0;border-color:#bb6a55}.quiz-feedback{min-height:21px;margin:14px 0 0!important;font-weight:650}.reflection-panel textarea,.studio-note textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:white;padding:13px 14px;resize:vertical;min-height:94px;font-size:14px;color:var(--ink)}.reflection-panel p{margin-bottom:12px}.reflection-panel small{display:block;color:#8b8189;margin-top:7px;font-size:10px}.day-aside{position:sticky;top:15px}.aside-card{border:1px solid var(--ink);border-radius:13px;background:#d9cbeb;padding:23px}.aside-card strong{display:block;font-size:27px;line-height:1.12;margin:20px 0}.aside-card p{font-size:12px;line-height:1.6;color:#62586c}.aside-divider{border-top:1px solid rgba(53,45,67,.3);margin:22px 0 15px}.aside-card>span:last-child{font-size:9px;font-weight:850;line-height:1.7}.complete-button{width:100%;margin-top:13px}.aside-tiny{font-size:11px;color:#887f88;text-align:center;line-height:1.5}.day-pager{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;margin-bottom:70px;font-size:13px;font-weight:800}.day-pager a:hover{text-decoration:underline;text-underline-offset:4px}

/* Phrasebook and studio */
.phrase-tools{margin:32px 0 16px;max-width:520px}.phrase-tools label{display:block;font-size:11px;font-weight:800;margin-bottom:8px;letter-spacing:.08em;text-transform:uppercase}.search-shell{display:flex;align-items:center;gap:9px;border:1px solid var(--ink);border-radius:10px;background:var(--white);padding:0 14px}.search-shell span{font-size:28px;line-height:1;color:#9b8b93}.search-shell input{border:0;outline:0;width:100%;height:49px;background:transparent;color:var(--ink);font-size:14px}.search-shell:focus-within{outline:3px solid #8063b6;outline-offset:2px}.phrase-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.chip{border:1px solid var(--ink);background:transparent;border-radius:30px;padding:8px 14px;font-size:11px;font-weight:750}.chip.selected{background:var(--ink);color:white}.phrase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:80px}.book-phrase{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:17px;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:104px}.book-phrase div>span{display:block;font-size:9px;font-weight:800;letter-spacing:.12em;color:#af6b58;margin-bottom:5px}.book-phrase strong{font-size:15px}.book-phrase p{font-size:12px;color:var(--muted);margin:3px 0 0}.empty-state{padding:30px;background:#f4e9e3;border-radius:12px}.studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:25px 0 80px}.studio-card{border:1px solid var(--ink);border-radius:14px;padding:clamp(22px,3vw,33px);min-height:310px}.studio-speak{background:#f6c6aa}.studio-roleplay{background:#e3d9ee}.studio-note{background:#d7e8dc;grid-column:1/-1;min-height:280px}.studio-card h2{font-size:clamp(28px,3vw,38px);margin:16px 0}.studio-card>p{font-size:13px;color:#645b67;line-height:1.65}.studio-english{font-family:Georgia,serif!important;font-size:clamp(24px,3vw,37px)!important;color:var(--ink)!important;margin:25px 0 3px}.studio-translation{margin-bottom:23px}.studio-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.studio-speak .browser-hint{font-size:10px;margin:19px 0 0;color:#796b6a}.prompt-bubble{background:var(--white);border:1px solid var(--ink);border-radius:13px 13px 13px 3px;padding:17px;margin:23px 0 15px;font-family:Georgia,serif;font-size:23px}.reply-bubble{background:#fbf6ff;border:1px solid var(--ink);border-radius:13px 13px 3px 13px;padding:15px;margin:15px 0;font-size:14px}.reply-bubble[hidden]{display:none}.buttonless{background:none;border:0;padding:0;display:block;margin-top:18px;text-align:left}.studio-note label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin:20px 0 8px}.studio-note textarea{max-width:750px;border-color:var(--ink);background:#fffefa}.save-status{display:block;font-size:11px;color:#5e6d63;margin-top:8px}

@media(max-width:1000px){.hero{grid-template-columns:1.05fr .95fr}.hero-art{height:360px}.hero h1{font-size:clamp(55px,6.8vw,75px)}.art-flower{font-size:150px}.art-note-one{left:5%;top:55px}.art-note-two{right:4%;width:205px}.day-layout{grid-template-columns:minmax(0,1fr) 230px}.dialogue-line{max-width:96%}}
@media(max-width:760px){.topbar{height:67px;padding:0 20px}.topnav,.menu-toggle{display:none}main{padding:0 18px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:31px;padding:50px 0 25px}.hero h1{font-size:clamp(51px,11vw,72px);margin:17px 0 21px}.hero-lead{font-size:15px;line-height:1.65;margin-bottom:23px}.hero-mini{margin-top:23px}.hero-art{height:260px;max-width:540px;width:100%;align-self:center;border-radius:140px 140px 12px 12px}.art-orbit-one{top:20px}.art-orbit-two{top:95px}.art-flower{font-size:125px;top:45px;right:14%}.art-note-one{top:39px;left:7%;padding:14px 15px}.art-note-one strong{font-size:19px}.art-note-two{bottom:16px;right:11%;width:175px;padding:12px 14px}.art-note-two b{font-size:19px}.art-note-two span{margin-bottom:8px}.art-note-two i{margin-top:6px}.home-grid{grid-template-columns:1fr;gap:14px}.course-bubble{min-height:310px}.today-card{min-height:280px}.today-card h2{margin-top:16px}.dashboard-section{padding:59px 0 52px}.section-heading{align-items:start}.section-heading>p{display:none}.dashboard-grid{grid-template-columns:1fr 1fr;gap:12px}.dash-card{min-height:205px;padding:17px}.dash-card strong{font-size:25px}.dash-card:last-child{grid-column:1/-1;min-height:165px}.dash-card:last-child .dash-icon{margin-bottom:5px}.note-banner{margin-bottom:32px;padding:20px 18px}.footer{padding:24px 18px 99px;flex-wrap:wrap;gap:8px}.footer p{width:100%;order:3}.mobile-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fffaf3;border-top:1px solid var(--ink);padding:8px 5px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px rgba(53,45,67,.08)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 0;color:#887d87;font-size:10px;font-weight:750;min-height:42px}.mobile-nav a span{font-family:Georgia,serif;font-size:21px;line-height:1}.mobile-nav a.active{color:var(--coral-dark)}.toast{bottom:85px}.page-intro{margin-top:18px;padding:35px 24px}.page-intro:after{font-size:175px;top:0;right:-33px}.page-intro h1{font-size:clamp(45px,9vw,63px)}.page-intro p:not(.eyebrow){font-size:13px}.course-tools{margin:26px 0 16px}.course-tools p{font-size:12px}.filter-button{padding:9px 10px;font-size:10px;white-space:nowrap}.day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:45px}.day-tile{min-height:184px;padding:14px}.day-tile strong{font-size:23px}.tile-subtitle{font-size:11px}.tile-ornament{font-size:54px}.day-hero{margin-top:18px;padding:17px 22px 32px;min-height:235px}.day-hero-inner{margin-top:35px}.day-hero h1{font-size:clamp(45px,9vw,64px)}.day-hero-stamp{width:68px;height:68px;font-size:27px}.day-hero-stamp span{font-size:6px}.day-layout{display:block;margin-top:13px}.day-main{gap:12px}.lesson-panel{padding:20px}.lesson-panel h2{font-size:27px}.day-aside{position:static;margin-top:12px}.aside-card{padding:21px}.day-pager{margin-bottom:35px}.phrase-list{grid-template-columns:1fr;gap:9px;margin-bottom:40px}.phrase-tools{margin-top:24px}.studio-grid{grid-template-columns:1fr;gap:12px;margin-bottom:40px}.studio-note{grid-column:auto}}
@media(max-width:430px){.brand-text{font-size:13px}.hero h1{font-size:51px}.hero-actions{gap:17px}.hero-actions .button{width:100%}.hero-art{height:230px}.art-note-two{right:4%}.bubble-content h2{font-size:39px}.bubble-scribble{right:2%;font-size:25px}.dashboard-grid{grid-template-columns:1fr}.dash-card,.dash-card:last-child{grid-column:auto;min-height:150px}.dash-card .dash-icon{margin-bottom:6px}.dash-card strong{font-size:26px}.dash-caption{margin-top:auto}.day-tile strong{font-size:21px}.day-tile{min-height:175px}.day-hero-stamp{display:none}.day-hero h1{font-size:48px}.dialogue-line{grid-template-columns:1fr 30px;gap:5px;max-width:100%}.dialogue-line>span{grid-column:1/-1}.dialogue-line>div{grid-column:1}.dialogue-line>.sound-button{grid-column:2;grid-row:2}.course-tools{align-items:start;flex-direction:column}.filter-button{font-size:11px}.lesson-phrase strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Stage 2: saved phrases, milestone checks, and the practice room */
.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-yellow{background:#eee1b8}.dash-card strong{font-size:clamp(23px,2.35vw,29px)}
.lesson-phrase{grid-template-columns:39px minmax(0,1fr) 34px 42px;gap:8px}.favorite-button{border:0;background:transparent;color:#9d8994;font-family:Georgia,serif;font-size:29px;line-height:1;width:32px;height:36px;display:inline-flex;align-items:center;justify-content:center;transition:color .2s,transform .2s;flex:none}.favorite-button:hover{transform:scale(1.12);color:#b4505f}.favorite-button.is-favorite{color:#bc5360}.book-phrase>div:first-child{flex:1;min-width:0}.book-phrase .favorite-button{margin-left:auto}.book-phrase .sound-button{margin-left:2px}
.checkpoint-panel{background:#efe6f4;border-color:var(--ink)}.checkpoint-heading{display:flex;justify-content:space-between;gap:17px;align-items:start}.checkpoint-heading h2{margin-bottom:7px}.checkpoint-heading p{margin-bottom:0;max-width:520px}.checkpoint-count{flex:none;border:1px solid var(--ink);border-radius:30px;padding:8px 13px;font-size:11px;font-weight:800}.checkpoint-list{display:grid;gap:13px;margin-top:24px}.checkpoint-question{background:#fffaf8;border:1px solid #cfc3d6;border-radius:12px;padding:16px}.checkpoint-number{font-size:9px;font-weight:850;color:#b26376;letter-spacing:.14em}.checkpoint-question h3{font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px;letter-spacing:-.015em;margin:6px 0 12px;font-weight:750;line-height:1.4}.checkpoint-options{display:grid;gap:7px}.checkpoint-option{background:white;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;text-align:left;font-size:12px;font-weight:650;line-height:1.4}.checkpoint-option:hover:not(:disabled){border-color:var(--ink)}.checkpoint-option.picked{background:#e7dcf2;border-color:#675078}.checkpoint-option.right-answer{background:#ddefdd;border-color:#5a9062}.checkpoint-option.wrong-answer{background:#f5dbd8;border-color:#bc6a62}.checkpoint-option:disabled{cursor:default}.checkpoint-explain{font-size:11px!important;margin:11px 0 0}.checkpoint-result{border-top:1px solid #cbbdd3;padding-top:17px;margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.checkpoint-result strong{font-size:17px}.checkpoint-result>span{color:#625968}.checkpoint-result .small-button{margin-left:auto;background:#fffaf8}
.intro-play{background:#e3dcec}.intro-play h1 em{color:#a4536c}.play-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:30px 0 19px}.play-toolbar label{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.11em}.play-toolbar select{appearance:none;border:1px solid var(--ink);border-radius:9px;padding:10px 39px 10px 14px;background:#fffaf5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='10'%3E%3Cpath d='m1 1 6 7 7-7' fill='none' stroke='%23352d43' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 13px center;color:var(--ink);font-size:13px;font-weight:700;max-width:100%}.play-toolbar p{margin:0 0 0 auto;color:#796f7a;font-size:12px}.play-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.play-card{border:1px solid var(--ink);border-radius:15px;padding:clamp(19px,2vw,27px);min-width:0;min-height:410px}.play-card h2{font-size:clamp(27px,2.8vw,36px);margin:16px 0 9px}.play-card>p{font-size:12px;color:#6b626f;line-height:1.6}.play-flash{background:#e8dff0}.play-order{background:#f5cfb6}.play-type{background:#d9e6d9}.flashcard{width:100%;min-height:190px;border:1px solid var(--ink);border-radius:13px;background:#fffaf5;padding:24px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:18px;box-shadow:5px 5px 0 rgba(53,45,67,.16);transition:transform .2s,background .2s;margin-top:20px}.flashcard:hover{transform:translateY(-2px)}.flashcard.flipped{background:#fff3e7}.flashcard span{font-family:Georgia,serif;font-size:clamp(24px,2.6vw,34px);line-height:1.1;letter-spacing:-.03em}.flashcard small{font-size:12px;color:#8d7883}.play-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.play-actions .small-button{background:#fffaf7}.word-answer{min-height:75px;border:1px dashed rgba(53,45,67,.65);border-radius:10px;padding:10px;display:flex;align-items:center;align-content:center;flex-wrap:wrap;gap:7px;background:rgba(255,255,255,.32);font-size:12px;color:#806e77;margin:16px 0 10px}.word-bank{min-height:87px;display:flex;align-content:start;align-items:start;flex-wrap:wrap;gap:7px}.word-token{border:1px solid var(--ink);background:#fffaf7;color:var(--ink);padding:8px 10px;border-radius:7px;min-height:38px;font-size:13px;font-weight:700}.word-token.chosen{background:#e5d7ee}.word-token:hover{background:#efe6f4}.game-feedback{font-size:11px!important;color:#835754!important;line-height:1.5!important;min-height:32px;margin:12px 0 0}.game-feedback.game-success{color:#3b7352!important;font-weight:800}.play-type form{display:grid;gap:9px;margin-top:21px}.play-type input{width:100%;border:1px solid var(--ink);border-radius:8px;height:48px;background:#fffdfa;padding:10px 12px;font-size:14px;color:var(--ink)}.play-type form .button{width:100%}.play-note{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#f4eee8;padding:18px 20px;margin-bottom:70px}.play-note>span{font-size:33px;color:var(--coral-dark);line-height:1}.play-note p{margin:0;color:#706773;font-size:12px}.play-note strong{color:var(--ink)}
.studio-backup{background:#ede6d6;grid-column:1/-1;min-height:0}.studio-backup h2{max-width:650px}.studio-backup>p{max-width:690px}.backup-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.backup-actions .button{cursor:pointer}.studio-backup .save-status{margin-top:17px}.studio-note{grid-column:1/-1}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play-type{grid-column:1/-1;min-height:0}.play-toolbar p{margin-left:0;width:100%}}
@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(5,1fr)}.mobile-nav a{font-size:9px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-card:last-child{grid-column:auto;min-height:205px}.dash-card strong{font-size:25px}.lesson-phrase{grid-template-columns:24px minmax(0,1fr) 28px 38px;gap:5px}.lesson-phrase .sound-button{width:34px;height:34px}.favorite-button{font-size:25px;width:28px}.play-grid{grid-template-columns:1fr}.play-type{grid-column:auto}.play-card{min-height:0;padding:22px}.play-note{margin-bottom:40px}.play-toolbar{align-items:stretch;gap:8px}.play-toolbar label,.play-toolbar select,.play-toolbar p{width:100%}.checkpoint-result .small-button{margin-left:0}.backup-actions .button{width:100%}}
@media(max-width:430px){.dashboard-grid{grid-template-columns:1fr}.dash-card,.dash-card:last-child{min-height:150px}.book-phrase{padding:14px;gap:6px}.book-phrase .favorite-button{width:28px}.book-phrase .sound-button{width:34px;height:34px}.checkpoint-heading{flex-direction:column}.checkpoint-count{align-self:flex-start}}

/* Stage 3: daily recall and guided conversations */
.warmup-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-top:20px;padding:25px 29px;border:1px solid var(--ink);border-radius:16px;background:linear-gradient(125deg,#fff9ee 0%,#f2e9f6 100%);box-shadow:5px 6px 0 #e6dce1}.warmup-card h2{font-size:clamp(28px,3vw,39px);margin:10px 0}.warmup-card p{margin:0}.warmup-card>div:first-child>p{font-size:15px;color:#665d69}.warmup-practice{min-height:119px;border-left:1px solid #cbbac8;padding-left:25px;display:flex;flex-direction:column;justify-content:center}.warmup-english{font-family:Georgia,serif;font-size:clamp(22px,2.5vw,32px);line-height:1.16;margin:0 0 13px!important}.warmup-english[hidden]{display:none}.warmup-actions{display:flex;gap:8px;flex-wrap:wrap}.warmup-actions .button,.warmup-actions .small-button{min-height:43px}.warmup-practice small{display:block;color:#796f7a;font-size:11px;margin-top:12px}.lesson-talk-link{margin-left:14px}.talk-section{margin:53px 0 65px}.talk-section .section-heading{margin-bottom:19px}.talk-scene-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.talk-scene{width:100%;min-height:164px;border:1px solid var(--ink);border-radius:12px;background:#fffaf5;text-align:left;padding:15px;display:flex;flex-direction:column;gap:10px;position:relative;color:var(--ink);transition:transform .2s,box-shadow .2s}.talk-scene:hover{transform:translateY(-2px)}.talk-scene.selected{background:#e6dcef;box-shadow:4px 4px 0 var(--ink)}.talk-scene-icon{font-family:Georgia,serif;font-size:25px;line-height:1;color:#bf6757}.talk-scene small{display:block;font-size:9px;font-weight:850;letter-spacing:.11em;margin-bottom:5px}.talk-scene strong{display:block;font-family:Georgia,serif;font-size:20px;line-height:1.04;font-weight:500;letter-spacing:-.03em}.talk-scene em{display:block;font:normal 11px/1.35 Inter,ui-sans-serif,sans-serif;color:#766d78;margin-top:6px}.talk-scene b{position:absolute;right:13px;top:13px;font-size:16px}.talk-theatre{border:1px solid var(--ink);border-radius:16px;background:#fffdf9;overflow:hidden;box-shadow:7px 8px 0 #e8ded8}.talk-top{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:27px 30px 19px;background:#f6ece8}.talk-top h3{font-family:Georgia,serif;font-size:34px;font-weight:500;margin:9px 0 5px}.talk-top p{font-size:12px;color:#6e6570;margin:0}.talk-top .small-button{flex-shrink:0;background:#fffaf7;min-height:42px}.talk-progress{height:7px;background:#eee2e8;border-bottom:1px solid #dfd0d7}.talk-progress span{display:block;height:100%;background:var(--coral);transition:width .25s}.talk-current,.talk-script{padding:26px 30px 8px}.talk-line{display:grid;grid-template-columns:92px minmax(0,1fr) 38px;align-items:center;gap:13px;max-width:780px;margin:0 0 12px;padding:15px 17px;border:1px solid #d7d0d5;border-radius:12px 12px 12px 3px;background:#f5f0f7}.talk-line.self{margin-left:auto;background:#f3dccf;border-color:#d6aaa0;border-radius:12px 12px 3px 12px}.talk-line>span{font-size:9px;font-weight:850;letter-spacing:.11em;color:#816774}.talk-line strong{display:block;font-size:17px;line-height:1.35}.talk-line small{display:block;font-size:12px;color:#746b76;margin-top:4px;line-height:1.4}.talk-line .sound-button{width:36px;height:36px}.talk-prompt{padding:8px 30px 0}.talk-prompt h3{font-size:clamp(26px,2.8vw,34px);margin:9px 0 7px}.talk-prompt p{font-size:12px;color:#746b76}.talk-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:7px 30px 31px}.talk-option{min-height:115px;border:1px solid var(--ink);border-radius:10px;background:#f9eee1;text-align:left;padding:15px 42px 15px 17px;position:relative;color:var(--ink);transition:transform .2s,box-shadow .2s}.talk-option:hover{transform:translateY(-2px);box-shadow:3px 4px 0 rgba(53,45,67,.28)}.talk-option strong{display:block;font-size:16px;line-height:1.3}.talk-option small{display:block;font-size:12px;color:#71656f;margin-top:7px;line-height:1.4}.talk-option span{position:absolute;right:14px;bottom:12px;font-size:20px}.talk-finish{display:flex;gap:18px;align-items:center;padding:27px 30px 0}.talk-finish>span{font-family:Georgia,serif;font-size:50px;color:var(--coral-dark);line-height:1}.talk-finish h3{font-size:clamp(27px,3vw,37px);margin:0 0 5px}.talk-finish p{font-size:12px;color:#726974;margin:0}.talk-script{max-height:550px;overflow:auto;padding-bottom:18px}.talk-script .talk-line{max-width:850px}.talk-footer{display:flex;gap:10px;flex-wrap:wrap;padding:0 30px 30px}.talk-footer .small-button{background:#f9f1eb}.studio-subheading{margin-top:55px}.studio-subheading h2{font-size:clamp(34px,4vw,50px);margin:8px 0 6px}.studio-subheading p{font-size:13px;color:var(--muted);margin:0}.studio-subheading+.studio-grid{margin-top:18px}
@media(max-width:1100px){.talk-scene-list{grid-template-columns:repeat(3,minmax(0,1fr))}.talk-scene{min-height:143px}}
@media(max-width:760px){.warmup-card{grid-template-columns:1fr;gap:16px;padding:22px;margin-top:15px}.warmup-practice{border-left:0;border-top:1px solid #cbbac8;padding:17px 0 0;min-height:0}.talk-section{margin:37px 0 44px}.talk-scene-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.talk-scene{min-height:149px;padding:13px}.talk-scene strong{font-size:19px}.talk-top{padding:23px 20px 17px;flex-wrap:wrap}.talk-top h3{font-size:30px}.talk-current,.talk-script{padding:20px 17px 7px}.talk-line{grid-template-columns:minmax(0,1fr) 36px;gap:4px 9px;padding:12px 13px}.talk-line>span{grid-column:1/-1}.talk-line>div{grid-column:1}.talk-line>.sound-button{grid-column:2;grid-row:2}.talk-line strong{font-size:15px}.talk-prompt{padding:5px 20px 0}.talk-options{grid-template-columns:1fr;padding:7px 17px 23px}.talk-option{min-height:91px}.talk-finish{padding:22px 19px 0}.talk-footer{padding:0 19px 25px}.talk-script{max-height:none}.studio-subheading{margin-top:40px}.lesson-talk-link{display:block;margin:8px 0 0}}
@media(max-width:430px){.talk-scene{min-height:152px}.talk-scene em{font-size:10px}.talk-options{gap:8px}.talk-option strong{font-size:15px}}

/* Stage 4: gentle spaced recall and progress passport */
.review-preview{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:20px;border:1px solid var(--ink);border-radius:16px;background:#d8e9da;padding:22px 27px;margin-top:18px}.review-preview-symbol{width:64px;height:64px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f8c3ac;color:#47374f;font-family:Georgia,serif;font-size:42px}.review-preview h2{font-size:clamp(27px,2.8vw,38px);margin:8px 0 5px}.review-preview p{font-size:12px;color:#5d6d60;margin:0}.review-preview .button{white-space:nowrap}.passport-section{border:1px solid var(--ink);border-radius:16px;background:#fffaf3;padding:29px 32px;margin:0 0 35px;box-shadow:5px 6px 0 #e6ded4}.passport-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.passport-head h2{font-size:clamp(31px,3.6vw,48px);margin:8px 0}.passport-head p{font-size:12px;color:#776f77;margin:0}.passport-badge{width:96px;height:96px;flex:none;border:1px solid var(--ink);border-radius:50%;background:#e4d8ef;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:33px;transform:rotate(9deg)}.passport-badge small{font:700 10px Inter,ui-sans-serif,sans-serif;align-self:center;margin:16px 0 0 3px}.passport-stamps{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:8px;margin:26px 0}.passport-stamp{min-height:63px;border:1px dashed #cfc3c7;border-radius:9px;background:#f7f2ec;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#9a8e91;transition:transform .2s}.passport-stamp:hover{transform:translateY(-2px)}.passport-stamp.stamped{border-style:solid;border-color:var(--ink);background:#f6c4ac;color:var(--ink)}.passport-stamp span{font-size:9px;font-weight:850;letter-spacing:.1em}.passport-stamp b{font:20px Georgia,serif;line-height:1.2}.passport-stats{border-top:1px solid var(--line);padding-top:17px;display:flex;gap:27px;flex-wrap:wrap;font-size:12px;color:#796f76}.passport-stats strong{font-size:20px;color:var(--ink);margin-right:3px}.review-section{margin:27px 0 43px;border:1px solid var(--ink);border-radius:17px;background:#e9dfee;padding:27px;position:relative;overflow:hidden}.review-section:after{content:"✳";position:absolute;right:-24px;top:-45px;font:190px Georgia,serif;color:rgba(53,45,67,.06);pointer-events:none}.review-section-head{display:flex;justify-content:space-between;align-items:start;gap:15px;position:relative;z-index:1}.review-section-head h2{font-size:clamp(31px,3.7vw,48px);margin:10px 0 7px}.review-section-head p{font-size:12px;color:#6f6574;line-height:1.55;max-width:560px;margin:0 0 22px}.review-count{border:1px solid var(--ink);border-radius:30px;padding:8px 13px;background:#fffaf6;white-space:nowrap;font-size:11px;font-weight:850}.review-card,.review-finished{position:relative;z-index:1;background:#fffaf6;border:1px solid var(--ink);border-radius:13px;padding:24px;max-width:800px;box-shadow:5px 5px 0 rgba(53,45,67,.16)}.review-card-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:850;letter-spacing:.12em;color:#9a6877}.review-card-question{margin:20px 0;padding:22px;border-radius:12px;background:#f4e6d9;border:1px solid #d8c6be}.review-card-question small{display:block;font-size:10px;font-weight:850;letter-spacing:.13em;color:#806e7c}.review-card-question h3{font-family:Georgia,serif;font-size:clamp(27px,3.2vw,42px);font-weight:500;margin:12px 0 8px}.review-card-question p{font-size:11px;color:#796e78;margin:0}.review-card-answer{min-height:60px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.review-card-answer .panel-label{width:100%;color:#986252}.review-card-answer strong{font-family:Georgia,serif;font-size:clamp(23px,2.7vw,34px);font-weight:500;line-height:1.2}.review-card-answer .small-button{background:#e7dcef}.review-card-rate{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.review-card-rate p{width:100%;font-size:11px;color:#716771;margin:0 0 3px}.review-rate{border:1px solid var(--ink);border-radius:9px;padding:12px 17px;min-height:46px;font-size:13px;font-weight:800;color:var(--ink)}.review-again{background:#fffaf6}.review-remembered{background:#bfe0cb}.review-rate:hover{box-shadow:3px 3px 0 var(--ink)}.review-finished{display:flex;align-items:center;gap:19px;max-width:none}.review-finished-icon{font:56px Georgia,serif;color:#be6d58;line-height:1}.review-finished h3{font-size:clamp(25px,3vw,36px);margin:0 0 5px}.review-finished p{font-size:12px;color:#746b74;margin:0}.review-finished .button{margin-left:auto;flex:none}.play-subheading{margin:0 0 19px}.play-subheading h2{font-size:clamp(30px,3.5vw,43px);margin:9px 0 5px}.play-subheading p{font-size:12px;color:var(--muted);margin:0}.play-subheading+.play-toolbar{margin-top:0}
@media(max-width:1000px){.passport-stamps{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:760px){.review-preview{grid-template-columns:50px minmax(0,1fr);gap:13px;padding:19px}.review-preview-symbol{width:49px;height:49px;font-size:32px}.review-preview .button{grid-column:1/-1;width:100%}.review-preview h2{font-size:29px}.passport-section{padding:23px 20px;margin-bottom:24px}.passport-badge{width:70px;height:70px;font-size:25px}.passport-stamps{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:21px 0}.passport-stamp{min-height:54px}.passport-stats{gap:11px;justify-content:space-between}.passport-stats span{min-width:90px}.review-section{padding:20px;margin:20px 0 38px}.review-section-head{flex-wrap:wrap}.review-section-head p{margin-bottom:4px}.review-count{margin-bottom:17px}.review-card,.review-finished{padding:17px}.review-card-question{padding:18px;margin:16px 0}.review-finished{align-items:flex-start;flex-wrap:wrap}.review-finished .button{width:100%;margin-left:0}.play-subheading{margin-top:5px}}
@media(max-width:430px){.passport-head{align-items:start}.passport-badge{width:61px;height:61px;font-size:23px}.passport-head h2{font-size:31px}.passport-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.passport-stats span{min-width:0;font-size:10px}.passport-stats strong{display:block;font-size:20px}.review-card-rate .review-rate{flex:1}}

/* Stage 5: personal conversation builder */
.builder-promo{display:grid;grid-template-columns:220px minmax(0,1fr);gap:29px;align-items:center;margin:0 0 38px;padding:19px;border:1px solid var(--ink);border-radius:17px;background:#f6d4b8}.builder-promo-art{min-height:213px;border:1px solid var(--ink);border-radius:13px;background:radial-gradient(circle at 65% 35%,#fbe8d0 0 15%,transparent 16%),linear-gradient(145deg,#d8c7e9,#c7b2df);position:relative;overflow:hidden}.builder-promo-art:before,.builder-promo-art:after{content:"";position:absolute;width:260px;height:120px;border:1px solid rgba(53,45,67,.35);border-radius:50%;transform:rotate(-28deg);left:-29px;top:46px}.builder-promo-art:after{width:190px;height:85px;left:28px;top:65px}.builder-promo-art span{position:absolute;left:21px;top:25px;font:italic 24px Georgia,serif;transform:rotate(-12deg)}.builder-promo-art b{position:absolute;font:140px Georgia,serif;color:#e97567;line-height:1;left:68px;top:32px;transform:rotate(-13deg);text-shadow:2px 2px 0 var(--ink)}.builder-promo-art small{position:absolute;right:19px;bottom:17px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:800}.builder-promo h2{font-size:clamp(33px,3.8vw,49px);margin:9px 0}.builder-promo p{font-size:13px;color:#6b5f68;max-width:500px;margin-bottom:19px}.studio-builder-link{margin-top:22px;position:relative;z-index:1}.builder-section{scroll-margin-top:18px;margin:50px 0 70px}.builder-section .section-heading{margin-bottom:22px}.builder-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:17px;align-items:start}.builder-choices,.builder-preview{border:1px solid var(--ink);border-radius:16px;padding:clamp(19px,2.4vw,28px);min-width:0}.builder-choices{background:#f8e8d8}.builder-preview{background:#e6dfef;scroll-margin-top:18px}.builder-wizard-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:19px;border-bottom:1px solid #d8bdb5}.builder-step-dots{display:flex;gap:5px}.builder-step-dots button{width:31px;height:31px;border:1px solid var(--ink);border-radius:50%;background:#fff9f2;color:var(--ink);font-size:11px;font-weight:850}.builder-step-dots button.active{background:var(--ink);color:white}.builder-step{padding-top:22px}.builder-step-head{display:flex;gap:15px;align-items:start;margin-bottom:18px}.builder-step-head>span{width:48px;height:48px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:50%;background:#e2d3eb;font-family:Georgia,serif;font-size:22px}.builder-step-head h3{font-size:clamp(26px,2.8vw,36px);margin:0 0 5px}.builder-step-head p{font-size:12px;color:#746470;margin:0}.builder-options{display:grid;gap:9px}.builder-option{width:100%;min-height:72px;text-align:left;padding:13px 42px 13px 16px;border:1px solid #b8a8ae;border-radius:10px;background:#fffaf5;color:var(--ink);position:relative;transition:transform .2s,box-shadow .2s}.builder-option:hover{transform:translateY(-2px)}.builder-option.selected{border-color:var(--ink);background:#d8e8d9;box-shadow:3px 3px 0 var(--ink)}.builder-option strong{display:block;font-size:15px;line-height:1.28}.builder-option small{display:block;font-size:11px;color:#766b74;margin-top:4px;line-height:1.4}.builder-option span{position:absolute;right:15px;top:17px;font-size:19px}.builder-step-nav{display:flex;justify-content:space-between;gap:8px;margin-top:21px}.builder-step-nav .small-button:disabled{opacity:.38;cursor:not-allowed}.builder-preview-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.builder-preview-head h3{font-size:clamp(27px,3vw,39px);margin:9px 0 5px}.builder-preview-head>span{font:49px Georgia,serif;color:#d17563}.builder-preview>p{font-size:12px;color:#6f6672;max-width:510px}.builder-script{max-height:625px;overflow:auto;display:grid;gap:8px;padding:2px 5px 5px 1px}.builder-line{display:grid;grid-template-columns:76px minmax(0,1fr) 34px;align-items:center;gap:9px;padding:12px;border:1px solid #cabfce;border-radius:10px 10px 10px 3px;background:#fffaf8}.builder-line.self{background:#f4ceb9;border-color:#d5a995;border-radius:10px 10px 3px 10px}.builder-line>span{font-size:8px;font-weight:850;letter-spacing:.1em;color:#8b7180}.builder-line strong{display:block;font-size:13px;line-height:1.3}.builder-line small{display:block;font-size:10px;line-height:1.4;color:#746a74;margin-top:3px}.builder-line .sound-button{width:32px;height:32px;font-size:17px}.builder-line .builder-hidden-line{color:#9a6570;font-style:italic;font-weight:650}.builder-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:21px}.builder-actions .small-button{background:#fffaf7}.builder-status{font-size:11px;color:#776d78;margin:10px 0 0}.builder-section+.studio-subheading{margin-top:0}
@media(max-width:900px){.builder-layout{grid-template-columns:1fr}.builder-script{max-height:none}}
@media(max-width:760px){.builder-promo{grid-template-columns:1fr;gap:17px;margin-bottom:28px}.builder-promo-art{min-height:140px}.builder-promo-art b{font-size:110px;top:0;left:50%}.builder-promo h2{font-size:36px}.builder-promo .button{width:100%}.builder-section{margin:40px 0 50px}.builder-choices,.builder-preview{padding:19px}.builder-step-head h3{font-size:29px}.builder-line{grid-template-columns:minmax(0,1fr) 34px;gap:4px 8px}.builder-line>span{grid-column:1/-1}.builder-line>div{grid-column:1}.builder-line>.sound-button{grid-column:2;grid-row:2}.builder-actions .button,.builder-actions .small-button{width:100%}.studio-builder-link{width:100%}}
@media(max-width:430px){.builder-step-nav .button{padding-left:12px;padding-right:12px;font-size:11px}.builder-step-nav .small-button{font-size:11px;padding-left:10px;padding-right:10px}.builder-option strong{font-size:14px}.builder-promo-art b{left:45%}}

/* Stage 6: guided speaking rehearsal */
.builder-promo-links,.studio-quick-links{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.studio-quick-links{margin-top:22px}.studio-quick-links .studio-builder-link{margin-top:0}.builder-actions a.small-button,.rehearsal-finish-actions a.small-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.rehearsal-section{scroll-margin-top:18px;margin:-17px 0 66px;padding:clamp(20px,3vw,35px);border:1px solid var(--ink);border-radius:18px;background:linear-gradient(135deg,#d8e9dd,#e5dcef 75%);box-shadow:6px 7px 0 #d4c5d2}.rehearsal-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.rehearsal-heading h2{font-size:clamp(34px,4.3vw,55px);line-height:1.05;max-width:680px;margin:11px 0}.rehearsal-heading p{font-size:13px;line-height:1.6;color:#5e5b68;max-width:680px;margin:0}.rehearsal-spark{font:70px Georgia,serif;color:#b75f55;line-height:1}.rehearsal-meta{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0 15px}.rehearsal-meta span{border:1px solid var(--ink);border-radius:30px;background:#fffaf5;padding:8px 12px;font-size:11px;font-weight:800}.rehearsal-card,.rehearsal-finish{border:1px solid var(--ink);border-radius:14px;background:#fffaf6;padding:clamp(18px,2.8vw,29px)}.rehearsal-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:800;color:#7e6473}.rehearsal-card-top .panel-label{margin:0}.rehearsal-progress{height:8px;border:1px solid #d3c7cf;background:#f1e8e8;border-radius:20px;margin:17px 0 22px;overflow:hidden}.rehearsal-progress span{display:block;height:100%;background:#d47569;transition:width .25s}.rehearsal-cue,.rehearsal-answer{border:1px solid var(--ink);border-radius:12px;padding:21px 22px;display:flex;flex-direction:column;align-items:start;gap:8px;max-width:760px}.rehearsal-cue{background:#eee4f4}.rehearsal-answer{background:#f8e1d1;margin:12px 0 0 auto;min-height:154px}.rehearsal-cue small,.rehearsal-answer small{font-size:10px;font-weight:850;letter-spacing:.14em;color:#966775}.rehearsal-cue strong,.rehearsal-answer strong{font:normal clamp(23px,2.9vw,34px)/1.2 Georgia,serif;color:var(--ink)}.rehearsal-cue span,.rehearsal-answer span{font-size:13px;color:#665e69}.rehearsal-cue .small-button,.rehearsal-answer .small-button{margin-top:7px;background:#fffaf6}.rehearsal-answer p{font-size:15px;color:#665b64;line-height:1.55;margin:2px 0 9px}.rehearsal-rating{border-top:1px solid #ddd2d4;margin-top:20px;padding-top:17px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}.rehearsal-rating p{width:100%;font-size:12px;font-weight:750;margin:0 0 3px}.button-mint{background:#cde9d5;color:var(--ink);border:1px solid var(--ink)}.button-mint:hover{background:#b9dfc5}.rehearsal-finish{min-height:315px;display:flex;flex-direction:column;align-items:start;justify-content:center;position:relative;overflow:hidden}.rehearsal-finish-mark{position:absolute;right:20px;top:8px;font:145px Georgia,serif;color:#e8d6e9}.rehearsal-finish h3{font-size:clamp(31px,4vw,49px);margin:10px 0;position:relative}.rehearsal-finish p{max-width:630px;font-size:14px;line-height:1.6;color:#665d68;position:relative}.rehearsal-finish-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px;position:relative}
@media(max-width:760px){.builder-promo-links,.studio-quick-links{display:grid;grid-template-columns:1fr}.builder-promo-links .button,.studio-quick-links .button{width:100%;margin:0}.rehearsal-section{margin:-10px 0 45px;padding:19px;box-shadow:4px 5px 0 #d4c5d2}.rehearsal-spark{font-size:48px}.rehearsal-card-top{align-items:start;flex-direction:column}.rehearsal-cue,.rehearsal-answer{padding:18px}.rehearsal-rating .button,.rehearsal-finish-actions .button,.rehearsal-finish-actions .small-button{width:100%}.rehearsal-finish-mark{font-size:110px;right:3px;top:0}}

/* Stage 7: listening and meaning */
.listening-promo{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:20px;margin:18px 0 0;padding:22px 26px;border:1px solid var(--ink);border-radius:16px;background:#f5dfa9}.listening-promo-symbol{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:50%;background:#e3d5f1;font:37px Georgia,serif}.listening-promo h2{font-size:clamp(26px,2.9vw,39px);margin:6px 0 4px}.listening-promo p{font-size:12px;color:#625c60;line-height:1.5;max-width:570px;margin:0}.listening-promo .button{white-space:nowrap}
.listening-section{scroll-margin-top:18px;margin:0 0 45px;padding:clamp(21px,3vw,34px);border:1px solid var(--ink);border-radius:18px;background:linear-gradient(145deg,#382f4d,#62445e);box-shadow:7px 8px 0 #e2d2df;color:#fffaf6}.listening-section-head{display:flex;justify-content:space-between;align-items:start;gap:18px}.listening-section-head .panel-label{color:#f1ae99}.listening-section-head h2{font-size:clamp(35px,4vw,51px);margin:9px 0 8px;color:#fffaf6}.listening-section-head p{font-size:13px;line-height:1.6;color:#e2d8e3;max-width:650px;margin:0}.listening-deco{font:80px Georgia,serif;color:#f3b179;line-height:.9}.listening-meta{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 16px}.listening-meta span{border:1px solid #b3a3b4;background:rgba(255,250,246,.12);border-radius:30px;padding:8px 13px;font-size:11px;font-weight:800}.listening-card,.listening-finish{background:#fffaf6;border:1px solid var(--ink);border-radius:14px;color:var(--ink);padding:clamp(19px,2.8vw,29px)}.listening-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:800;color:#876d7c}.listening-card-top .panel-label{margin:0}.listening-progress{height:8px;border-radius:20px;background:#e9dde7;border:1px solid #cfbfca;overflow:hidden;margin:17px 0 22px}.listening-progress span{display:block;height:100%;background:#e1a45c;transition:width .25s}.listening-sound{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:12px 18px;border:1px solid var(--ink);border-radius:13px;background:#e9e0f1;padding:23px}.listening-wave{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:65px;height:65px;border-radius:50%;border:1px solid var(--ink);background:#f6c2a4;font:42px Georgia,serif}.listening-sound small{display:block;font-size:10px;font-weight:850;letter-spacing:.13em;color:#996c7c;margin-bottom:7px}.listening-sound strong{display:block;font:normal clamp(24px,2.9vw,36px)/1.2 Georgia,serif}.listening-sound p{font-size:12px;color:#6d6573;margin:7px 0 0}.listening-sound-actions{grid-column:2;display:flex;gap:8px;flex-wrap:wrap}.listening-sound-actions .small-button{background:#fffaf6}.listening-question{margin-top:24px}.listening-question h3{font-size:clamp(27px,3vw,37px);margin:0 0 15px}.listening-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.listening-option{min-height:83px;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #c9b9c0;border-radius:11px;background:#fff;color:var(--ink);font-size:14px;font-weight:750;line-height:1.4;padding:14px}.listening-option:hover:not(:disabled){border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.listening-option span{flex:none;width:29px;height:29px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:50%;font-size:11px;background:#f3e7f0}.listening-option:disabled{opacity:1;cursor:default}.listening-option.right{background:#cfe9d5;border-color:#54856c}.listening-option.wrong{background:#f4d9d3;border-color:#b97c71}.listening-result{margin-top:22px;padding:20px;border:1px solid #a4c4ac;border-radius:12px;background:#eaf3e9}.listening-result .panel-label{color:#417a5a}.listening-result p{font-size:14px;line-height:1.6;margin:9px 0}.listening-result>small{display:block;font-size:12px;color:#607365}.listening-reply{display:flex;flex-direction:column;align-items:start;gap:5px;border-top:1px solid #bbd1bf;padding-top:16px;margin:16px 0}.listening-reply span{font-size:10px;font-weight:850;letter-spacing:.12em;color:#64816c}.listening-reply strong{font:normal clamp(22px,2.6vw,31px)/1.25 Georgia,serif}.listening-reply small{font-size:12px;color:#667468}.listening-reply .small-button{margin-top:8px;background:#fffaf6}.listening-finish{display:flex;gap:22px;align-items:center;min-height:270px}.listening-finish>span{font:80px Georgia,serif;color:#d47768}.listening-finish h3{font-size:clamp(31px,3.5vw,45px);margin:7px 0}.listening-finish p{font-size:14px;line-height:1.6;color:#675f6b;max-width:600px}.listening-finish .button{margin-top:11px}
@media(max-width:900px){.listening-promo{grid-template-columns:60px 1fr}.listening-promo .button{grid-column:1/-1;width:100%}.listening-options{grid-template-columns:1fr}.listening-option{min-height:60px}}
@media(max-width:760px){.listening-promo{gap:12px;padding:20px;margin-top:14px}.listening-promo-symbol{width:53px;height:53px;font-size:32px}.listening-promo h2{font-size:29px}.listening-section{padding:19px;margin-bottom:40px;box-shadow:4px 5px 0 #e2d2df}.listening-deco{font-size:49px}.listening-section-head h2{font-size:35px}.listening-card-top{align-items:start;flex-direction:column}.listening-sound{grid-template-columns:1fr;padding:18px}.listening-wave{grid-row:auto;width:52px;height:52px;font-size:32px}.listening-sound-actions{grid-column:1}.listening-sound-actions .button,.listening-sound-actions .small-button,.listening-result>.button,.listening-finish .button{width:100%}.listening-finish{align-items:start;flex-direction:column;gap:4px}.listening-finish>span{font-size:54px}}

/* Stage 8: short bilingual story library */
.story-promo{display:grid;grid-template-columns:minmax(0,1fr) 215px;align-items:center;gap:22px;margin:-7px 0 37px;padding:27px 29px;border:1px solid var(--ink);border-radius:17px;background:#dceadf}.story-promo h2{font-size:clamp(34px,3.7vw,48px);margin:10px 0 8px}.story-promo p{font-size:13px;line-height:1.6;color:#5f6d65;max-width:560px}.story-promo .button{margin-top:8px}.story-promo-art{height:195px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:13px;background:#f4d4c4;overflow:hidden}.story-promo-art:before,.story-promo-art:after{content:"";position:absolute;width:118px;height:152px;border:1px solid var(--ink);border-radius:4px 13px 13px 4px;background:#f9f0da;box-shadow:6px 7px 0 #8f7ca5;transform:rotate(-12deg)}.story-promo-art:after{width:5px;height:149px;background:#dcaa8e;box-shadow:none;transform:rotate(-12deg);left:51px}.story-promo-art span{position:relative;z-index:1;font:italic 19px/1.2 Georgia,serif;text-align:center;transform:rotate(-12deg)}.story-promo-art b{position:absolute;z-index:2;right:25px;top:14px;font:49px Georgia,serif;color:#b36360}.play-story-link{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 3px;padding:13px 17px;border:1px solid var(--ink);border-radius:10px;background:#f3e5cf;font-size:12px}.play-story-link span{font-weight:800}.play-story-link a{font-weight:850;text-decoration:underline;text-underline-offset:3px;color:#8a4c51}.intro-stories{background:#e4d8ed}.story-shelf-head{display:flex;justify-content:space-between;gap:15px;align-items:end;margin:38px 0 18px}.story-shelf-head h2{font-size:clamp(29px,3.5vw,43px);margin:8px 0 0}.story-shelf-head>p{font-size:11px;font-weight:850;border:1px solid var(--ink);border-radius:30px;padding:8px 12px;background:#fffaf6;white-space:nowrap}.story-shelf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:35px}.story-tile{display:flex;flex-direction:column;min-height:230px;padding:15px;border:1px solid var(--ink);border-radius:12px;color:var(--ink);position:relative;transition:transform .2s,box-shadow .2s}.story-tile:hover{transform:translateY(-3px)}.story-tile.selected{box-shadow:4px 5px 0 var(--ink)}.story-tone-1{background:#f1d8bf}.story-tone-2{background:#dfd4ea}.story-tone-3{background:#d7e9d8}.story-tone-4{background:#f1dcae}.story-tone-5{background:#edd2d7}.story-tile-top{display:flex;justify-content:space-between;gap:5px;align-items:start}.story-tile-top small{font-size:9px;font-weight:850;letter-spacing:.08em}.story-tile-top b{font-size:17px}.story-tile-icon{font:49px Georgia,serif;line-height:1;color:#9f5e68;margin:17px 0 8px}.story-tile strong{font:normal 25px/1.04 Georgia,serif}.story-tile em{font:normal 11px ui-sans-serif,system-ui,sans-serif;color:#645b66;margin-top:5px}.story-tile-bottom{font-size:10px;line-height:1.4;color:#675e68;margin-top:auto;padding-top:16px}.story-reader{scroll-margin-top:17px;margin:0 0 80px;border:1px solid var(--ink);border-radius:17px;background:#fffaf4;overflow:hidden;box-shadow:7px 8px 0 #e6d8d8}.story-reader-head{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#e7e0ef;padding:27px 30px;border-bottom:1px solid var(--ink)}.story-reader-head h2{font-size:clamp(37px,4.8vw,60px);margin:8px 0 4px}.story-reader-head p{font-size:13px;color:#655d6b;margin:0}.story-reader-icon{flex:none;display:flex;align-items:center;justify-content:center;width:82px;height:82px;border:1px solid var(--ink);border-radius:50%;background:#f5c9aa;font:51px Georgia,serif}.story-reader-tools{display:flex;gap:9px;flex-wrap:wrap;padding:24px 30px 3px}.story-lines{padding:12px 30px 32px}.story-line{display:grid;grid-template-columns:34px minmax(0,1fr) 38px;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid #e0d7d7}.story-line:last-child{border-bottom:0}.story-line>span{font-size:10px;font-weight:850;color:#ad8093}.story-line strong{display:block;font:normal clamp(21px,2.3vw,27px)/1.25 Georgia,serif}.story-line small{display:block;font-size:12px;line-height:1.45;color:#766d76;margin-top:5px}.story-line .sound-button{width:36px;height:36px}.story-quiz{background:#f1e5df;border-top:1px solid var(--ink);padding:29px 30px 32px}.story-quiz-head h3{font-size:clamp(31px,3.7vw,46px);margin:7px 0 4px}.story-quiz-head p{font-size:12px;color:#706773;margin:0 0 20px}.story-question{position:relative;border-top:1px solid #dccbc7;padding:22px 0 20px}.story-question-number{display:block;font-size:10px;font-weight:850;color:#a06067}.story-question h4{font-family:ui-sans-serif,system-ui,sans-serif;font-size:16px;margin:8px 0 13px}.story-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.story-option{min-height:53px;border:1px solid #c3b2b4;border-radius:9px;background:#fffaf6;color:var(--ink);text-align:left;padding:12px 14px;font-size:13px;font-weight:750}.story-option:hover:not(:disabled){border-color:var(--ink);box-shadow:2px 3px 0 var(--ink)}.story-option.selected{border-color:var(--ink);background:#e3d8ec}.story-option.right{background:#cfe8d5;border-color:#609172}.story-option.wrong{background:#f1cfc5;border-color:#b97870}.story-option:disabled{opacity:1;cursor:default}.story-explain{font-size:12px;color:#6d626b;margin:12px 0 0}.story-check{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #dccbc7;padding-top:22px}.story-check .button:disabled{opacity:.45;cursor:not-allowed}.story-check small{font-size:11px;color:#766b74}.story-result{border:1px solid #779c80;border-radius:11px;background:#e4f1e4;padding:20px;margin-top:12px}.story-result>strong{display:block;font-size:20px}.story-result>span{display:block;font-size:12px;color:#647468;margin-top:4px}.story-result>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.story-result .small-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#fffaf6}
@media(max-width:1080px){.story-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.story-promo{grid-template-columns:1fr;gap:17px;padding:22px;margin:0 0 30px}.story-promo h2{font-size:36px}.story-promo-art{height:120px}.story-promo-art:before{height:95px;width:96px}.story-promo-art:after{height:93px;left:calc(50% - 43px)}.story-promo-art span{font-size:14px}.story-promo .button{width:100%}.play-story-link{align-items:start;flex-direction:column}.story-shelf-head{align-items:start;flex-direction:column;margin-top:25px}.story-shelf-head>p{margin:0}.story-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:23px}.story-tile{min-height:193px;padding:12px}.story-tile strong{font-size:21px}.story-tile-icon{font-size:37px;margin:10px 0 6px}.story-tile-top small{font-size:8px}.story-reader{margin-bottom:45px;box-shadow:4px 5px 0 #e6d8d8}.story-reader-head{padding:22px 19px}.story-reader-head h2{font-size:39px}.story-reader-icon{width:55px;height:55px;font-size:34px}.story-reader-tools{padding:20px 19px 0}.story-reader-tools .button,.story-reader-tools .small-button{width:100%}.story-lines{padding:11px 19px 25px}.story-line{grid-template-columns:23px minmax(0,1fr) 36px;gap:7px}.story-line strong{font-size:21px}.story-line small{font-size:12px}.story-quiz{padding:24px 19px}.story-options{grid-template-columns:1fr}.story-option{min-height:48px}.story-check .button,.story-result .button,.story-result .small-button{width:100%}}

/* Stage 9: personal phrase notebook */
.own-promo{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:25px;margin:0 0 22px;padding:26px 30px;border:1px solid var(--ink);border-radius:16px;background:#dce9db;box-shadow:5px 6px 0 #e2d8cc}.own-promo-mark{width:85px;height:85px;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid var(--ink);border-radius:50%;background:#f6c3a9;font:75px/.9 Georgia,serif}.own-promo-mark span{position:absolute;right:-7px;bottom:-9px;font:32px Georgia,serif;color:#9b627f}.own-promo h2{font-size:clamp(28px,3vw,39px);margin:8px 0}.own-promo p{font-size:13px;line-height:1.6;max-width:560px;color:#625b65;margin:0}.own-promo .button{white-space:nowrap}.own-section{scroll-margin-top:22px;margin:0 0 80px;padding:30px;border:1px solid var(--ink);border-radius:17px;background:#e4dcea;box-shadow:6px 7px 0 #ded4cd}.own-section-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:24px}.own-section-head h2{font-size:clamp(36px,4vw,54px);margin:8px 0 8px}.own-section-head p{font-size:13px;color:#625b65;max-width:530px;line-height:1.6;margin:0}.own-count{border:1px solid var(--ink);border-radius:30px;padding:7px 13px;background:#fffaf4;font-size:11px;font-weight:850;white-space:nowrap}.own-layout{display:grid;grid-template-columns:minmax(255px,.8fr) minmax(0,1.2fr);gap:17px;align-items:start}.own-form,.own-collection{border:1px solid var(--ink);border-radius:13px;background:#fffaf5;padding:21px}.own-form label{display:block;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px}.own-form input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #bfb3bb;border-radius:9px;background:white;color:var(--ink);font-size:14px;margin-bottom:18px}.own-form input::placeholder{color:#9a8e99}.own-form-help,.own-status{font-size:11px;line-height:1.55;color:#766d76;margin:0 0 15px}.own-form-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.own-form-actions .button{flex:1}.own-status{min-height:18px;margin:13px 0 0;font-weight:700;color:#815467}.own-collection{background:#f8eee7;min-height:310px}.own-collection-top{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #d6c9c5;padding-bottom:15px}.own-collection-top strong{font:normal 25px Georgia,serif}.own-collection-top strong span{color:#ba6f6d}.own-collection-top a{font-size:11px;font-weight:850;text-decoration:underline;text-underline-offset:3px;color:#874f68}.own-list{display:grid;gap:10px;margin-top:16px}.own-phrase{border:1px solid #c5b7b7;border-radius:10px;background:#fffdf9;padding:15px}.own-phrase.is-editing{border-color:#895e9f;box-shadow:0 0 0 2px #d4c0e2}.own-phrase-number{display:block;font-size:9px;font-weight:850;letter-spacing:.14em;color:#a86463;margin-bottom:5px}.own-phrase strong{display:block;font-size:17px;line-height:1.35;overflow-wrap:anywhere}.own-phrase p{font-size:12px;color:#716773;margin:5px 0 13px;overflow-wrap:anywhere}.own-phrase-actions{display:flex;gap:7px;flex-wrap:wrap}.own-phrase-actions .small-button{padding:7px 12px;font-size:11px;background:#f8eee7}.own-phrase-actions .own-remove{margin-left:auto}.own-phrase-actions .own-remove.confirm{background:#f4d4cd;border-color:#a3514d;color:#813c3c}.own-empty{margin:45px 15px;text-align:center;font:italic 19px/1.4 Georgia,serif;color:#8b7783}.own-form #customCancel[hidden],.own-collection-top a[hidden]{display:none}
@media(max-width:900px){.own-promo{grid-template-columns:75px 1fr}.own-promo-mark{width:70px;height:70px;font-size:61px}.own-promo .button{grid-column:2;justify-self:start}.own-layout{grid-template-columns:1fr}}
@media(max-width:760px){.own-promo{grid-template-columns:58px 1fr;gap:14px;padding:20px;margin-bottom:25px;box-shadow:4px 5px 0 #e2d8cc}.own-promo-mark{width:56px;height:56px;font-size:49px}.own-promo-mark span{font-size:22px}.own-promo h2{font-size:29px}.own-promo p{font-size:12px}.own-promo .button{grid-column:1/-1;width:100%}.own-section{padding:18px;margin-bottom:56px;box-shadow:4px 5px 0 #ded4cd}.own-section-head{align-items:start}.own-section-head h2{font-size:39px}.own-section-head p{font-size:12px}.own-layout{gap:12px}.own-form,.own-collection{padding:17px}.own-collection-top{align-items:start;flex-direction:column}.own-collection-top strong{font-size:23px}.own-phrase-actions .own-remove{margin-left:0}.own-form-actions .button{width:100%}}

/* Stage 10: final conversation and pocket card */
.finale-promo{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:center;margin:0 0 24px;padding:31px;border:1px solid var(--ink);border-radius:17px;background:#3d3452;color:#fffaf4;overflow:hidden}.finale-promo .panel-label{color:#f2b99d}.finale-promo h2{font-size:clamp(34px,4vw,50px);margin:10px 0 12px;max-width:620px}.finale-promo p{font-size:13px;line-height:1.7;color:#e5dce9;max-width:600px;margin-bottom:18px}.finale-promo .button{background:#f3b89c;color:var(--ink);border-color:#f3b89c}.finale-promo-art{height:190px;border:1px solid rgba(255,255,255,.5);border-radius:95px 95px 13px 13px;position:relative;background:radial-gradient(circle at 75% 28%,#f2be9f 0 12%,transparent 13%),linear-gradient(135deg,#d6c5eb,#a99bc8);display:flex;align-items:center;justify-content:center;color:var(--ink);transform:rotate(3deg)}.finale-promo-art span{font:italic 44px/.85 Georgia,serif;text-align:center;transform:rotate(-8deg)}.finale-promo-art b{position:absolute;left:20px;bottom:5px;font:54px Georgia,serif;color:#e77669}.finale-promo-art i{position:absolute;right:22px;bottom:17px;font:37px Georgia,serif;color:#e77669}.course-finale{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:-51px 0 80px;padding:28px;border:1px solid var(--ink);border-radius:14px;background:#dce9db}.course-finale h2{font-size:clamp(28px,3vw,39px);margin:9px 0}.course-finale p{font-size:13px;line-height:1.6;color:#615d65;max-width:540px;margin:0}.course-finale .button{flex:none}.intro-finale{background:#ead8db}.intro-finale:after{content:"♡";color:rgba(131,78,100,.12)}.intro-finale h1 em{color:#a96068}.finale-intro-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px;position:relative;z-index:1}.finale-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 34px}.finale-meta span{padding:8px 14px;border:1px solid var(--ink);border-radius:30px;background:#fffaf5;font-size:11px;font-weight:850}.finale-scene-section{scroll-margin-top:18px;margin-bottom:27px;padding:30px;border:1px solid var(--ink);border-radius:17px;background:#dfd7ea;box-shadow:6px 7px 0 #d9cbd6}.finale-section-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.finale-section-heading h2{font-size:clamp(34px,4vw,48px);margin:9px 0}.finale-section-heading p{font-size:13px;color:#655d6a;max-width:520px}.finale-section-heading>span{font:68px Georgia,serif;line-height:.8;color:#ac778a}.finale-card{border:1px solid var(--ink);border-radius:13px;overflow:hidden;background:#fffaf4}.finale-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:#f3c6ad;border-bottom:1px solid var(--ink)}.finale-card-top span{font-size:10px;letter-spacing:.12em;font-weight:850}.finale-card-top strong{font:normal 26px Georgia,serif}.finale-progress{height:8px;background:#f4e9e5;border-bottom:1px solid #bba6aa}.finale-progress span{display:block;height:100%;background:#a07cb8;transition:width .25s}.finale-partner{margin:23px 23px 0;padding:22px;border:1px solid #c3b6c8;border-radius:10px;background:#eee6f2}.finale-partner strong{display:block;font:normal clamp(23px,3vw,32px)/1.2 Georgia,serif;margin:8px 0}.finale-partner small{display:block;color:#6c6073;font-size:13px}.finale-partner .small-button{margin-top:14px;background:#fffaf5}.finale-you{padding:24px 23px 27px}.finale-you h3{font-size:clamp(29px,3.3vw,39px);margin:8px 0}.finale-you>p{font-size:13px;color:#6d626d;line-height:1.6}.finale-reveal{margin-top:4px}.finale-options{display:grid;gap:9px;margin:20px 0 12px}.finale-option{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:4px 10px;text-align:left;padding:15px 17px;border:1px solid #bcb0b9;border-radius:10px;background:#fffdf9;color:var(--ink)}.finale-option strong{font-size:15px;line-height:1.35;grid-column:1}.finale-option small{font-size:12px;color:#716776;grid-column:1}.finale-option>span{grid-column:2;grid-row:1/3;font-size:22px;align-self:center}.finale-option.selected{background:#dce9db;border-color:#536d5c;box-shadow:2px 3px 0 #a2b7a4}.finale-chosen-audio{background:#f2d8c7}.finale-rating{border-top:1px solid var(--line);margin-top:22px;padding-top:22px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}.finale-rating p{flex-basis:100%;font-size:12px;font-weight:750;margin:0 0 5px}.finale-finish{display:grid;grid-template-columns:100px 1fr;gap:22px;align-items:start;padding:30px;border:1px solid var(--ink);border-radius:13px;background:#fff8e6}.finale-finish>span{font:110px/.9 Georgia,serif;color:#d88772}.finale-finish h3{font-size:clamp(33px,4vw,49px);margin:9px 0}.finale-finish p{font-size:13px;line-height:1.65;color:#6e6470;max-width:600px}.finale-finish-actions{display:flex;flex-wrap:wrap;gap:9px}.finale-milestone{display:grid;grid-template-columns:100px minmax(0,1fr);gap:21px;align-items:center;margin:0 0 29px;padding:27px;border:1px solid var(--ink);border-radius:14px;background:#f2e3af}.finale-milestone[hidden]{display:none}.finale-milestone-star{font:94px/.9 Georgia,serif;color:#ae6b73}.finale-milestone h2{font-size:clamp(32px,3.8vw,48px);margin:8px 0}.finale-milestone p{font-size:13px;line-height:1.65;margin-bottom:9px;max-width:700px}.finale-milestone small{font-size:11px;font-weight:750;color:#796a5f}.pocket-section{scroll-margin-top:18px;margin:0 0 80px;padding:30px;border:1px solid var(--ink);border-radius:17px;background:#d8e7dc;box-shadow:6px 7px 0 #d1cbd2}.pocket-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.pocket-heading h2{font-size:clamp(35px,4vw,52px);margin:8px 0}.pocket-heading p{font-size:13px;line-height:1.6;color:#5c655f;max-width:585px;margin:0}.pocket-heading a.small-button{display:inline-flex;text-decoration:none;background:#fffaf5;white-space:nowrap}.pocket-layout{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1fr);gap:18px;align-items:start}.pocket-settings{padding:21px;border:1px solid var(--ink);border-radius:12px;background:#fffaf5}.pocket-settings h3{font-size:29px;margin:0 0 9px}.pocket-settings>p{font-size:12px;line-height:1.6;color:#716a70}.pocket-custom-choices{display:grid;gap:8px;max-height:350px;overflow:auto;padding:2px}.pocket-choice{display:grid;grid-template-columns:25px 1fr;gap:3px 9px;width:100%;text-align:left;padding:12px;border:1px solid #c8bfc1;border-radius:9px;background:#fffdf9;color:var(--ink)}.pocket-choice>span{grid-row:1/3;width:24px;height:24px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px}.pocket-choice strong{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.pocket-choice small{font-size:11px;color:#746b71;overflow-wrap:anywhere}.pocket-choice.selected{background:#e5d8ed;border-color:#85669c}.pocket-empty{font-size:12px;color:#786f74;line-height:1.6}.pocket-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.pocket-controls .small-button{background:#eee6f2}.pocket-status{min-height:18px;margin:14px 0 0!important;color:#815567!important;font-weight:750}.pocket-card{border:1px solid var(--ink);border-radius:12px;background:#fffaf2;padding:28px;box-shadow:5px 6px 0 #9fafac}.pocket-card-head{display:flex;align-items:start;justify-content:space-between;gap:15px;border-bottom:1px solid #d8ccc6;padding-bottom:17px}.pocket-card-head small{font-size:9px;letter-spacing:.16em;font-weight:850}.pocket-card-head h3{font:normal clamp(36px,4vw,51px)/.95 Georgia,serif;letter-spacing:-.04em;margin:13px 0 0}.pocket-card-head h3 em{color:#b46d6a}.pocket-card-head>span{font:62px Georgia,serif;color:#c1879a}.pocket-card-intro{font-size:12px;color:#756c71;line-height:1.55;margin:17px 0 19px}.pocket-card h4{font-size:9px;letter-spacing:.16em;color:#9c5f65;margin:22px 0 2px}.pocket-line{display:grid;grid-template-columns:23px minmax(0,1fr) 35px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e2d7d0}.pocket-line>span{font-size:10px;font-weight:850;color:#a7838c}.pocket-line strong{display:block;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.pocket-line small{display:block;font-size:11px;color:#746b71;margin-top:3px;overflow-wrap:anywhere}.pocket-line .sound-button{width:33px;height:33px;font-size:14px}.pocket-card-end{display:flex;justify-content:space-between;font:italic 23px Georgia,serif;color:#965e6b;margin-top:26px}.pocket-card-end span{font-size:30px}
@media(max-width:900px){.finale-promo{grid-template-columns:1fr 170px}.pocket-layout{grid-template-columns:1fr}.pocket-settings{order:2}.pocket-card{order:1}}
@media(max-width:760px){.finale-promo{grid-template-columns:1fr;gap:14px;padding:23px}.finale-promo h2{font-size:37px}.finale-promo-art{height:105px;max-width:220px;width:100%;justify-self:center}.finale-promo-art span{font-size:31px}.finale-promo-art b{font-size:34px}.finale-promo-art i{font-size:25px}.finale-promo .button{width:100%}.course-finale{display:block;padding:21px;margin:-50px 0 55px}.course-finale h2{font-size:34px}.course-finale .button{width:100%;margin-top:18px}.finale-intro-links{display:grid}.finale-intro-links .button{width:100%}.finale-meta{margin:14px 0 22px}.finale-scene-section{padding:18px;box-shadow:4px 5px 0 #d9cbd6}.finale-section-heading h2{font-size:37px}.finale-section-heading>span{font-size:42px}.finale-card-top{padding:14px 16px}.finale-card-top strong{font-size:21px}.finale-partner{margin:16px 15px 0;padding:17px}.finale-partner strong{font-size:25px}.finale-you{padding:18px 15px 20px}.finale-you h3{font-size:32px}.finale-reveal,.finale-rating .button,.finale-finish-actions .button{width:100%}.finale-rating{display:grid;grid-template-columns:1fr}.finale-finish{display:block;padding:22px}.finale-finish>span{font-size:65px}.finale-finish h3{font-size:36px}.finale-milestone{grid-template-columns:53px 1fr;gap:12px;padding:20px}.finale-milestone-star{font-size:55px}.finale-milestone h2{font-size:32px}.pocket-section{padding:18px;margin-bottom:56px;box-shadow:4px 5px 0 #d1cbd2}.pocket-heading{align-items:start;flex-direction:column}.pocket-heading h2{font-size:39px}.pocket-heading a.small-button{width:100%;justify-content:center}.pocket-layout{gap:13px}.pocket-card{padding:19px;box-shadow:4px 5px 0 #9fafac}.pocket-card-head h3{font-size:38px}.pocket-card-head>span{font-size:46px}.pocket-settings{padding:17px}.pocket-controls .small-button{flex:1}.pocket-line{grid-template-columns:18px minmax(0,1fr) 32px;gap:6px}.pocket-line strong{font-size:13px}.pocket-line small{font-size:10px}.pocket-line .sound-button{width:31px;height:31px}}
@media print{body{background:#fff;color:#222}.site-shell{max-width:none;min-height:0}.topbar,.mobile-nav,.footer,.toast,#homeView,#courseView,#dayView,#phrasebookView,#playView,#storiesView,#studioView,.intro-finale,.finale-meta,.finale-scene-section,.finale-milestone,.pocket-heading,.pocket-settings{display:none!important}main{padding:0!important}#finaleView{display:block!important}.pocket-section{margin:0;padding:0;background:#fff;border:0;box-shadow:none}.pocket-layout{display:block}.pocket-card{max-width:660px;margin:0 auto;padding:13px 20px;border:1px solid #333;background:#fff;box-shadow:none;break-inside:avoid}.pocket-card-head{padding-bottom:8px}.pocket-card-head h3{font-size:34px;margin-top:5px}.pocket-card-head>span{font-size:38px}.pocket-card-intro{margin:7px 0;font-size:10px}.pocket-card h4{margin:10px 0 0}.pocket-line{padding:5px 0;grid-template-columns:22px 1fr}.pocket-line strong{font-size:12px}.pocket-line small{font-size:10px;margin-top:1px}.pocket-line .sound-button{display:none}.pocket-card-end{margin-top:12px;font-size:18px}}
