:root{--color-accent:#ff6900;--color-accent-hover:#eb6100;--color-accent-soft:#fff1e6;--color-ink:#151515;--color-muted:#62656b;--color-subtle:#8b8c90;--color-page:#fafaf9;--color-surface:#fff;--color-surface-alt:#f5f5f3;--color-border:#e7e7e5;--color-success:#176c46;--color-danger:#b42318;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-soft:0 7px 30px #0f12160b;--focus:0 0 0 4px #ff690036;--container:1100px}*{box-sizing:border-box}html{background:var(--color-page);-webkit-text-size-adjust:100%}body{color:var(--color-ink);background:var(--color-page);margin:0;font-family:Inter,Avenir Next,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:3px;outline:3px solid #b54b00}::selection{color:#141414;background:#ffcaa6}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(2.2rem,4.5vw,3.9rem);line-height:1.1}h2{font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.22}h3{font-size:1.12rem;line-height:1.3}p{color:var(--color-muted);line-height:1.65}small{color:var(--color-muted);font-size:.81rem;line-height:1.55}.app-frame{flex-direction:column;min-height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);height:76px;padding:0 max(24px,calc((100vw - var(--container))/2));justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-lockup{letter-spacing:-.03em;align-items:center;gap:11px;font-size:1.07rem;display:inline-flex}.brand-symbol{background:var(--color-accent);width:36px;height:36px;color:var(--color-ink);border-radius:12px;place-items:center;display:grid}.brand-accent{color:#c24f00}.header-controls{align-items:center;gap:12px;display:flex}.header-user{color:var(--color-muted);font-size:.88rem}.app-main{width:min(100% - 40px,var(--container));flex:1;margin:0 auto;padding:48px 0 75px}.app-nav{border-top:1px solid var(--color-border);z-index:5;background:#fff;justify-content:center;align-items:center;gap:7px;padding:10px 20px;display:flex;position:sticky;bottom:0}.app-nav a{border-radius:var(--radius-sm);min-height:46px;color:var(--color-muted);align-items:center;gap:8px;padding:10px 22px;font-size:.87rem;font-weight:600;display:flex}.app-nav a[aria-current=page]{background:var(--color-accent-soft);color:var(--color-ink)}.ui-button{border-radius:var(--radius-md);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:12px 21px;font-size:.95rem;font-weight:700;line-height:1.25;transition:background .16s,transform .16s,border-color .16s;display:inline-flex}.ui-button--primary{color:var(--color-ink);background:var(--color-accent)}.ui-button--primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.ui-button--secondary{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border)}.ui-button--secondary:hover:not(:disabled){background:var(--color-surface-alt)}.ui-button--ghost{color:var(--color-muted);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--color-surface-alt)}.ui-button--danger{color:var(--color-danger);background:#fcedec}.eyebrow,.micro-label{color:#b54b00;letter-spacing:.085em;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:800}.page-heading{max-width:760px;margin-bottom:30px}.page-heading h1{margin:10px 0 12px}.page-heading p{max-width:650px;margin:0;font-size:1.03rem}.hero{grid-template-columns:minmax(0,1.1fr) minmax(300px,.75fr);align-items:center;gap:34px;padding:40px 0 62px;display:grid}.hero h1{max-width:680px;margin:14px 0 20px}.hero p{max-width:580px;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:27px;display:flex}.hero-illustration{background:var(--color-accent-soft);border-radius:var(--radius-xl);border:1px solid #ffe2cb;place-items:center;min-height:290px;display:grid;position:relative;overflow:hidden}.hero-illustration .hero-graphic{background:var(--color-accent);border-radius:50%;place-items:center;width:160px;height:160px;display:grid}.hero-illustration .hero-graphic svg{width:72px;height:72px}.hero-illustration .floating-note{box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;padding:12px 17px;font-size:.85rem;font-weight:650;position:absolute;bottom:25px;left:25px}.section-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.section-header h2{margin:0}.section-header a,.inline-link{color:#9b4200;align-items:center;gap:5px;font-size:.88rem;font-weight:700;display:inline-flex}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.module-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);align-items:start;gap:18px;min-height:190px;padding:24px;display:flex;position:relative}.module-card:not(.module-card--muted){box-shadow:var(--shadow-soft);border-color:#fca}.module-card__number{color:var(--color-accent);font-size:1.45rem;font-weight:800}.module-card h3{margin:7px 0}.module-card p{margin-bottom:13px;font-size:.89rem;line-height:1.5}.module-card__status{color:#ab4b08;align-items:center;gap:5px;font-size:.8rem;font-weight:700;display:inline-flex}.module-card--muted .module-card__number{color:#9b9b9b}.module-card--muted .module-card__status{color:var(--color-subtle)}.stretched-link{border-radius:inherit;position:absolute;inset:0}.stretched-link:focus-visible{outline:3px solid #b54b00}.surface-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin:20px 0;padding:28px}.surface-card h2{margin:0 0 12px}.surface-card p{max-width:720px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.stat-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;flex-direction:column;gap:6px;padding:21px;display:flex}.stat-card>span{color:var(--color-muted);font-size:.81rem}.stat-card>strong{font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15}.stat-card>small{font-size:.76rem}.lesson-layout{background:#fff;flex-direction:column;min-height:100dvh;display:flex}.lesson-top{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:15px;height:72px;padding:0 clamp(18px,3vw,50px);display:flex}.lesson-top__identity{font-size:.93rem;font-weight:700}.lesson-top__identity span{color:var(--color-subtle);margin:0 8px}.icon-action{background:var(--color-surface-alt);border-radius:12px;place-items:center;min-width:44px;min-height:44px;display:grid}.lesson-top button{min-width:90px}.lesson-inner{flex-direction:column;flex:1;width:min(100% - 36px,780px);margin:0 auto;padding:24px 0 26px;display:flex}.lesson-progress{width:100%;margin-bottom:12px}.lesson-progress__meta{color:var(--color-muted);justify-content:space-between;margin-bottom:11px;font-size:.77rem;font-weight:650;display:flex}.lesson-progress__track{background:#eaeae8;border-radius:8px;height:6px;overflow:hidden}.lesson-progress__track span{background:var(--color-accent);border-radius:8px;height:100%;transition:width .25s;display:block}.lesson-stage{flex-direction:column;flex:1;justify-content:center;min-height:460px;display:flex}.stage-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:17px;padding:24px 12px;display:flex}.stage-center h1{margin:0;font-size:clamp(2.15rem,6vw,3.5rem)}.stage-center>p{max-width:590px;margin:0;font-size:1rem}.stage-center .ui-button{margin-top:8px}.stage-center>small{text-align:center;max-width:430px}.stage-icon{background:var(--color-accent-soft);color:#b04b00;border-radius:50%;place-items:center;width:88px;height:88px;display:grid}.stage-icon--success{color:var(--color-success);background:#e5f5ea}.overview-pills{flex-wrap:wrap;justify-content:center;gap:9px;margin:9px 0;display:flex}.overview-pills span{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:50px;padding:8px 13px;font-size:.83rem;font-weight:700}.stage-learning h1{letter-spacing:-.04em}.stage-learning .translation{color:#555;font-size:1.3rem;font-weight:650}.stage-learning>p{max-width:630px}.audio-state{background:var(--color-accent-soft);color:#a74200;border-radius:40px;align-items:center;gap:9px;padding:12px 17px;font-size:.85rem;font-weight:650;display:inline-flex}.stage-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.lesson-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:54px;margin-top:auto;padding-top:12px;display:flex;position:static}.sync-label{color:var(--color-muted);font-size:.73rem}.auto-toggle{color:var(--color-muted);align-items:center;gap:8px;font-size:.77rem;font-weight:600;display:flex}.auto-switch{border:1px solid var(--color-border);background:#dbdbd9;border-radius:20px;align-items:center;width:34px;min-width:34px;height:20px;padding:2px;transition:background .15s;display:flex}.auto-switch span{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;display:block;box-shadow:0 1px 3px #0002}.auto-switch.is-on{background:var(--color-accent);border-color:var(--color-accent)}.auto-switch.is-on span{transform:translate(13px)}.stage-practice{flex:1;grid-template-rows:auto minmax(240px,1fr);gap:18px;display:grid}.practice-content{text-align:center;padding:40px 12px 20px}.practice-hint{margin:25px 0 8px;font-size:.91rem}.practice-content h1{letter-spacing:-.045em;text-wrap:balance;max-width:740px;margin:0 auto;font-size:clamp(2.6rem,7.5vw,5rem);line-height:1.1}.practice-response{border-top:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:230px;display:flex}.voice-indicator{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:14px 0;display:flex}.voice-indicator strong{letter-spacing:-.02em;font-size:1.08rem}.voice-indicator small{max-width:400px}.voice-disc{background:var(--color-accent-soft);color:#ad4800;border-radius:50%;place-items:center;width:76px;height:76px;display:grid}.voice-disc--loading{animation:1.1s ease-in-out infinite alternate pulse-soft}.mic-button{background:var(--color-accent);width:82px;height:82px;color:var(--color-ink);box-shadow:0 0 0 7px var(--color-accent-soft);border:0;border-radius:50%;place-items:center;display:grid}.mic-button--recording{color:#fff;background:#b42318;animation:1.2s ease-in-out infinite alternate pulse-soft;box-shadow:0 0 0 9px #fcedec}.replay-prompt{color:var(--color-muted);background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:10px;font-size:.83rem;display:inline-flex}.replay-prompt:hover{background:var(--color-surface-alt)}.inline-message{max-width:460px;font-size:.82rem}.text-response{text-align:left;flex-direction:column;gap:11px;width:min(460px,100%);display:flex}.text-response label{color:var(--color-muted);font-size:.81rem;font-weight:650}.text-response input{border-radius:var(--radius-md);border:1px solid var(--color-muted);width:100%;height:54px;color:var(--color-ink);background:#fff;padding:0 16px;font-size:1.06rem}.result-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;align-items:stretch;gap:10px;width:min(100%,560px);padding:24px;display:flex}.result-card h2{margin:4px 0 0}.result-card p{margin:0;font-size:.9rem}.result-card>.ui-button{width:100%;margin-top:12px}.result-badge{background:var(--color-accent-soft);color:#934100;border-radius:30px;align-items:center;gap:7px;width:fit-content;padding:6px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.result-badge--success{color:var(--color-success);background:#e6f4ed}.answer-reveal{letter-spacing:-.03em;font-size:clamp(1.4rem,4vw,2rem);font-weight:750;color:var(--color-ink)!important}.results-grid{grid-template-columns:repeat(2,minmax(130px,1fr));gap:12px;width:min(100%,460px);display:grid}.results-grid>div{background:var(--color-surface-alt);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:6px;padding:22px;display:flex}.results-grid strong{font-size:2rem}.results-grid span{color:var(--color-muted);font-size:.8rem}.authPage{background:var(--color-page);place-items:center;min-height:100dvh;padding:25px;display:grid}.authCard{border-radius:var(--radius-xl);border:1px solid var(--color-border);width:min(100%,440px);box-shadow:var(--shadow-soft);background:#fff;padding:clamp(25px,5vw,38px)}.authCard .brand-symbol{margin-bottom:20px}.authCard h1{margin:12px 0;font-size:2rem}.authCopy{font-size:.94rem}.authNotice{background:#e5f5ea;border-radius:10px;padding:12px;font-size:.83rem}.authError{color:#b42318;background:#fdecea}.authForm{gap:10px;margin-top:22px;display:grid}.authForm label{color:var(--color-muted);font-size:.8rem;font-weight:700}.authForm input{background:#fff;border:1px solid #cdcdcd;border-radius:10px;height:50px;padding:0 14px}.authForm button{margin-top:7px}.authSecondary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;height:50px;font-weight:700}.admin-tabs{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.admin-tabs a{border:1px solid var(--color-border);background:#fff;border-radius:10px;padding:9px 16px;font-size:.85rem;font-weight:700}.admin-tabs a[aria-current=page]{background:var(--color-accent-soft);border-color:#ffd3b8}.data-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:.85rem}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);padding:14px 17px}.data-table th{background:var(--color-surface-alt);color:var(--color-muted);font-weight:750}.data-table tbody tr:last-child td{border-bottom:0}.empty-state{color:var(--color-muted);text-align:center;padding:35px 15px}@keyframes pulse-soft{0%{opacity:.76;transform:scale(.98)}to{opacity:1;transform:scale(1.05)}}@media (max-width:760px){.app-header{height:66px;padding:0 18px}.app-main{width:calc(100% - 34px);padding:31px 0 62px}.app-nav{justify-content:space-around;gap:2px;padding:8px 6px}.app-nav a{flex-direction:column;gap:3px;min-height:50px;padding:6px 8px;font-size:.69rem}.hero{grid-template-columns:1fr;gap:25px;padding:18px 0 35px}.hero h1{font-size:clamp(2.25rem,9vw,3.3rem)}.hero-illustration{min-height:170px}.hero-illustration .hero-graphic{width:105px;height:105px}.hero-illustration .hero-graphic svg{width:52px}.hero-illustration .floating-note{bottom:14px;left:14px}.module-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-top{height:61px;padding:0 13px}.lesson-inner{width:calc(100% - 36px);padding:17px 0}.lesson-stage{min-height:410px}.stage-center{gap:14px;padding:25px 2px}.stage-center h1{font-size:clamp(2rem,9vw,3rem)}.stage-center>p{font-size:.95rem}.stage-actions{width:100%}.stage-actions .ui-button{flex:1}.practice-content{padding:38px 2px 13px}.practice-content h1{font-size:clamp(2.25rem,10vw,3.5rem)}.practice-response{min-height:210px}.lesson-footer{align-items:flex-start}.sync-label{max-width:62%;line-height:1.4}.result-card{padding:18px}}@media (max-width:400px){.ui-button{padding:12px 14px;font-size:.86rem}.stage-actions{flex-direction:column}.stage-actions .ui-button{width:100%}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{padding:14px}.lesson-top__identity{font-size:.82rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.v05-steps{text-align:left;gap:10px;width:min(100%,560px);margin:4px 0;padding:0;list-style:none;display:grid}.v05-steps li{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:var(--radius-md);gap:3px;padding:14px 16px;display:grid}.v05-steps strong{font-size:.95rem}.v05-steps span{color:var(--color-muted);font-size:.86rem}.v05-notice{max-width:560px;color:var(--color-muted);text-align:left;justify-content:center;align-items:flex-start;gap:8px;margin:0;font-size:.85rem;display:flex}.v05-notice svg{color:var(--color-accent);flex:none;margin-top:2px}.v05-map{flex-direction:column;gap:14px;padding:10px 0 4px;display:flex}.v05-map h1{margin:0;font-size:clamp(1.7rem,4.5vw,2.5rem)}.v05-map>.ui-button{width:fit-content}.v05-tally{flex-wrap:wrap;gap:10px;margin:0;display:flex}.v05-tally span{background:var(--color-accent-soft);color:#934100;font-variant-numeric:tabular-nums;border:1px solid #ffd3b8;border-radius:50px;padding:8px 14px;font-size:.86rem;font-weight:750}.v05-blocks{gap:11px;margin:0;padding:0;list-style:none;display:grid}.v05-block{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:17px 19px;display:flex}.v05-block h3{letter-spacing:-.02em;margin:4px 0 2px;font-size:1.06rem}.v05-block p{color:var(--color-muted);margin:0;font-size:.86rem}.v05-block__state{color:var(--color-muted);font-variant-numeric:tabular-nums;align-items:center;gap:7px;margin-top:9px;font-size:.8rem;font-weight:700;display:inline-flex}.v05-block__actions{flex-wrap:wrap;gap:9px;display:flex}.v05-block--available{box-shadow:var(--shadow-soft);border-color:#ffd3b8}.v05-block--locked{background:var(--color-surface-alt)}.v05-block--done .v05-block__state{color:var(--color-success)}.v05-explain .translation{color:#555;margin:0;font-size:1.25rem;font-weight:650}.v05-explain>p{max-width:620px;margin:0}.v05-guidance{border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px solid var(--color-border);padding:15px 18px;font-size:.95rem}.v05-example{border-radius:var(--radius-md);background:var(--color-accent-soft);border:1px solid #ffd3b8;gap:4px;padding:14px 18px;display:grid}.v05-example span{letter-spacing:-.02em;font-size:1.18rem;font-weight:750}.v05-example small{color:#934100}.v05-model-label{letter-spacing:.085em;text-transform:uppercase;color:var(--color-muted);margin:0;font-size:.76rem;font-weight:800}.v05-write{width:min(520px,100%)}.v05-write label{color:var(--color-ink);font-size:.88rem;font-weight:750}.v05-write input{height:58px;font-size:1.15rem}.v05-write .ui-button{justify-content:center;width:100%}.v05-record{gap:11px}.v05-feedback{text-align:left;gap:9px}.v05-feedback .v05-model-label{margin-top:6px}.v05-wrote{font-size:.95rem}.v05-wrote strong{letter-spacing:-.01em}.v05-help{text-align:center;border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px dashed #ffd3b8;justify-items:center;gap:7px;width:min(520px,100%);padding:14px 18px;display:grid}.v05-results{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.v05-status{border-radius:var(--radius-md);background:var(--color-accent-soft);color:#7a3600;border:1px solid #ffd3b8;margin:0 0 4px;padding:11px 15px;font-size:.87rem}.v05-live{justify-content:center;width:min(100%,560px);display:flex}.v05-live:empty{display:none}.v05-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mic-button[aria-disabled=true]{opacity:.65}@media (max-width:760px){.v05-block{flex-direction:column;align-items:stretch}.v05-block__actions{width:100%}.v05-block__actions .ui-button{flex:1}.v05-results{grid-template-columns:repeat(2,minmax(0,1fr))}.v05-steps,.v05-help,.v05-write{width:100%}.v05-map h1{font-size:clamp(1.5rem,7vw,2rem)}}
