:root{--bg:#f5f7ef;--text:#102f3e;--muted:#5e7078;--primary:#086b70;--teal:#079394;--soft:#e9f5f1;--accent:#ff9f55;--border:#d7e4df;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;line-height:1.6}button,input,textarea{font:inherit;color:inherit}button,summary{cursor:pointer}button{border:1px solid var(--border);background:#fff;border-radius:12px;min-height:44px;padding:.7rem 1rem;font-weight:600;line-height:1.4}button:hover{background:var(--soft);border-color:var(--teal)}button:disabled{opacity:.6;cursor:wait}button.primary{background:var(--primary);color:#fff;border-color:var(--primary);justify-content:center;align-items:center;gap:1.5rem;padding:.9rem 1.35rem;display:inline-flex}button.primary:hover{background:#07565b}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h1{letter-spacing:-.045em;margin-bottom:1.25rem;font-size:clamp(2rem,5.8vw,4.6rem);font-weight:650}h2{letter-spacing:-.025em;margin-bottom:1rem;font-size:clamp(1.15rem,2.4vw,1.6rem)}h1 em{color:var(--primary);font-style:normal}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:.7rem;font-weight:650}label{display:block}input:not([type=radio]),textarea{background:#fff;border:1px solid #aabfba;border-radius:10px;width:100%;margin:.4rem 0 .85rem;padding:.8rem;display:block}textarea{resize:vertical;min-height:80px}input[type=radio]{accent-color:var(--primary)}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:5;background:#fff;padding:1rem;position:absolute;top:-100px;left:1rem}.skip:focus{top:1rem}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);margin:auto;padding:25px 0;display:flex}.brand{align-items:center;gap:14px;text-decoration:none;display:flex}.brand strong{letter-spacing:-.1em;font-size:2.2rem;line-height:1}.brand strong span{color:var(--teal);margin-left:5px;font-size:1.5rem}.brand small{border-left:1px solid var(--border);padding-left:14px;font-size:.7rem;line-height:1.35}.mode{white-space:nowrap;background:#fff0df;border:1px solid #f3d6b6;border-radius:99px;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;display:inline-flex}.mode i{background:#a45617;border-radius:50%;width:6px;height:6px}main{width:min(1120px,100% - 48px);margin:auto}.steps{color:var(--muted);flex-wrap:wrap;gap:28px;margin:25px 0 42px;font-size:.8rem;display:flex}.steps span{border-bottom:2px solid #0000;padding-bottom:8px}.steps [aria-current]{color:var(--primary);border-color:var(--primary);font-weight:700}.intro{max-width:830px}.eyebrow{letter-spacing:.13em;color:var(--primary);margin-bottom:1rem;font-size:.72rem;font-weight:750}.lead{color:var(--muted);max-width:760px;margin-bottom:2.5rem;font-size:1.08rem;line-height:1.8}.section-label{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.section-label h2{margin:0}.section-label>span{color:var(--muted);font-size:.8rem}.scenarios{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.scenario{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:19px;min-height:185px;padding:22px 24px;transition:border-color .15s,background .15s;position:relative}.scenario:hover{border-color:var(--teal)}.scenario:has(input:checked){border:2px solid var(--primary);background:#e5f3ee;padding:21px 23px}.scenario input{width:18px;height:18px;position:absolute;top:27px;right:22px}.card-top{align-items:center;gap:14px;margin-bottom:16px;display:flex}.card-top small{color:var(--muted);font-size:.7rem}.icon{background:var(--soft);width:42px;height:42px;color:var(--primary);border-radius:12px;place-items:center;font-size:1.35rem;line-height:1;display:grid}.scenario strong{margin-bottom:5px;font-size:1.15rem;display:block}.scenario>span:not(.card-top){color:var(--muted);max-width:90%;font-size:.85rem;display:block}.arrow{color:var(--primary);position:absolute;bottom:20px;right:20px}.settings{background:#e8eee6;border-radius:19px;grid-template-columns:1fr auto;align-items:end;gap:20px;margin:24px 0 42px;padding:25px;display:grid}.difficulty{flex-wrap:wrap;gap:24px;display:flex}.difficulty legend{font-size:.95rem}.difficulty label{font-size:.9rem}.difficulty small{color:var(--muted);margin-left:22px;font-size:.75rem;display:block}.context{grid-area:2/1/auto/-1}.context summary{font-size:.85rem}.context summary span{color:var(--muted);margin-left:6px}.context[open] summary{margin-bottom:15px}.context label{max-width:640px;font-size:.85rem}.muted{color:var(--muted)}.tiny{font-size:.78rem}.method{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:50px;padding-top:25px;display:grid}.method b{font-size:.85rem}.method p{color:var(--muted);margin:6px 0;font-size:.85rem}.back{background:0 0;border:0;margin-bottom:20px;padding-left:0;font-size:.85rem}.prepare-grid,.practice-grid,.report-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:28px;margin-bottom:25px;display:grid}.panel{border:1px solid var(--border);background:#fff;border-radius:20px;min-width:0;padding:26px}.phrase{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:8px;padding:20px 0;display:grid}.phrase p{overflow-wrap:anywhere;margin-bottom:6px}.phrase small{color:var(--muted);font-size:.85rem;display:block}.english{overflow-wrap:anywhere;font-size:1.15rem;line-height:1.6}.notice{color:#6b441d;background:#fff0df;border-radius:12px;margin:16px 0;padding:15px 18px;font-size:.86rem}.context-note{border-left:3px solid var(--teal);white-space:pre-wrap;overflow-wrap:anywhere;padding-left:15px;font-size:.85rem}.practice-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.practice-heading h1{font-size:clamp(2rem,4vw,3rem)}.progress{background:var(--border);border-radius:10px;height:5px;overflow:hidden}.progress>div{background:var(--teal);height:100%;transition:width .25s}.progress+p{margin:8px 0 16px;font-size:.78rem}.partner{background:var(--soft);border-color:#c8dfd6;gap:16px;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:12px;flex:0 0 40px;place-items:center;height:40px;font-weight:750;display:grid}.partner>div{flex:1;min-width:0}.partner .eyebrow{margin-bottom:8px}.audio-prompt{margin-bottom:14px;font-size:1.1rem;font-weight:600}.audio-buttons,.voice-buttons,.actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.audio-buttons button,.voice-buttons button{padding:.6rem .8rem;font-size:.8rem}.partner details{margin-top:8px}.partner summary{font-size:.83rem}.partner .english{margin:15px 0 0}.response{margin-top:20px}.response label{font-weight:650}.response label small{color:var(--muted);font-size:.8rem;font-weight:400;display:block}.response .primary{margin-top:10px}.help button{width:100%;margin:6px 0;font-size:.85rem;display:block}.help .tiny{margin:18px 0 0}.help details{border-top:1px solid var(--border);padding-top:10px}#hint-context{margin:16px 0;font-size:.88rem}#hint summary{font-size:.85rem}#history{margin:22px 0;font-size:.85rem}#messages p{overflow-wrap:anywhere;background:#edf1eb;border-radius:10px;margin:8px 0;padding:12px 15px}#messages .user{background:#dff0eb;margin-left:25px}#dialogue-done{margin-top:20px}audio{width:100%;max-width:100%;margin-top:8px}.report-grid .panel h2:not(:first-child){margin-top:30px}.achievement{border-left:3px solid var(--teal);margin:14px 0;padding-left:15px}.achievement p{margin:5px 0}.achievement .muted{font-size:.85rem}.improvement{background:var(--soft);overflow-wrap:anywhere;border-radius:12px;margin:12px 0;padding:16px}.improvement p{margin-bottom:8px}.improvement small{color:var(--muted)}.error{z-index:10;background:#fff5ed;border:1px solid #c27850;border-radius:16px;width:min(650px,100% - 32px);padding:20px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #102f3e24}.error p{margin-bottom:10px}.error button{margin-right:8px;font-size:.85rem}.voice-status:not(:empty){color:#fff;z-index:3;background:#102f3e;border-radius:12px;padding:12px 18px;font-size:.85rem;position:sticky;bottom:15px}.screen{padding-bottom:20px}footer{border-top:1px solid var(--border);align-items:start;gap:20px;width:min(1180px,100% - 48px);margin:25px auto 0;padding:24px 0 34px;display:flex}footer strong{letter-spacing:-.05em}footer p{color:var(--muted);margin:0;font-size:.85rem}footer small{color:var(--muted);text-align:right;margin-left:auto;font-size:.7rem}@media (max-width:760px){header,main,footer{width:calc(100% - 32px)}header{padding:18px 0}.brand small{display:none}.brand strong{font-size:1.9rem}.steps{gap:16px;margin:20px 0 28px;font-size:.72rem}.scenarios{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.scenario{min-height:190px;padding:17px}.scenario:has(input:checked){padding:16px}.scenario input{top:22px;right:14px}.scenario strong{font-size:1rem}.scenario>span:not(.card-top){max-width:100%;font-size:.78rem}.card-top{gap:10px}.arrow{display:none}.settings{grid-template-columns:1fr;padding:20px}.settings>.primary{grid-row:3;width:100%}.difficulty{gap:16px}.context{grid-row:2}.section-label{display:block}.section-label>span{margin-top:5px;display:block}.lead{margin-bottom:26px;font-size:1rem}.method{grid-template-columns:1fr;gap:14px}.prepare-grid,.practice-grid,.report-grid{grid-template-columns:1fr;gap:20px}.panel{padding:20px}.practice-heading{display:block}.practice-heading .back{margin:0 0 15px}.partner{gap:10px;padding:18px}.avatar{border-radius:9px;flex-basis:30px;height:30px}.audio-buttons{gap:6px}.audio-buttons button{font-size:.76rem}.help{grid-row:2}.phrase{gap:10px}.phrase .english{font-size:1rem}.phrase button{padding:.5rem .7rem}footer{flex-wrap:wrap;gap:12px}footer small{text-align:left;flex-basis:100%;margin:0}.actions{flex-direction:column}.actions button{width:100%}}.route-title{margin-top:28px}.likely{margin-top:20px}.likely summary{font-weight:600}.likely .phrase{font-size:.9rem}.lesson-shell{max-width:760px;margin:0 auto}.lesson-shell h1{font-size:clamp(1.8rem,4vw,3rem)}#learn-content>button{margin:0 8px 12px 0}#learn-content details{margin:20px 0}#learn-content details p{margin-bottom:6px}#voice-tools{margin:20px 0}#improvements>button{text-align:left;width:100%;margin:12px 0;display:block}.scenarios>legend{margin-bottom:18px}#learn-content .english{font-size:clamp(1.3rem,3vw,1.7rem)}#conversation{background:var(--soft)}#conversation #intent{font-weight:650}.lesson-shell .actions{margin-top:20px}#advanced-link{overflow-wrap:anywhere;font-size:.85rem}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.english,[lang=en]:not(.brand small),#messages p[lang=en],[data-action=repair-phrase]{color:#102f3e;-webkit-box-decoration-break:clone;box-decoration-break:clone;overflow-wrap:anywhere;background:#fff0df;border-radius:8px;padding:.3em .5em;font-weight:700}
