:root{color-scheme:light;background:#f5f4ef;color:#253c33;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:radial-gradient(ellipse at 10% 0,#e7eee4,transparent 55%),#f5f4ef}.app-shell{padding:28px;display:block}.call-card{width:min(1180px,100%);max-width:1180px;margin:auto;padding:28px;background:#fffefa;border:1px solid #e0e5dc;box-shadow:0 16px 60px #273d3310;border-radius:24px}.topbar{padding-bottom:20px;border-bottom:1px solid #e3e7df;margin-bottom:24px}.eyebrow{color:#657e68}.subtitle{color:#6f7f73}.badge.offline{background:#edf3ec;border-color:#d7e1d5;color:#426249}.badge.online{background:#dff1e3;border-color:#93c2a0;color:#205c37}.badge.connecting{background:#fff1cd;color:#785b17}.icon-button{background:#f4f6ef;color:#375342;border-color:#dce3d8}
.tutor-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:28px;align-items:start}.avatar-column{position:sticky;top:20px;min-width:0}.call-card .stage{width:100%;border:0;border-radius:20px}.camera-controls button{border:1px solid #d9e2d8;background:#f6f7f2;color:#526459;border-radius:10px}.renderer-line{font-size:.66rem;color:#7a897e}.renderer-line span:first-child{max-width:60%}.caption-panel{background:#f2f5ee;border-color:#e0e6da;height:120px;min-height:120px;max-height:120px;padding:13px 15px}.speaker{color:#65806b}#caption{color:#364f3e;font-size:1rem}.controls button{min-width:0;flex:1;padding:9px;font-size:.85rem;border-color:#cfdccf;background:#f0f4ed;color:#385240}.controls .primary,.lesson-primary{background:#32664b!important;color:#fff!important;border-color:#32664b!important}.controls .danger{background:#f4e9e5;color:#8d4336;border-color:#e6d3cb}.usage-note{font-size:.74rem}
.lesson-panel{margin:0;padding:0;border:0;min-width:0}.lesson-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;font-size:.75rem;color:#73836e}.lesson-nav button,.lesson-footer button{border:0!important;background:transparent!important;color:#42634b!important;min-height:36px!important;padding:5px!important}.lesson-eyebrow{font-size:.7rem;letter-spacing:.13em;color:#7b906b;font-weight:750;margin:0 0 8px}.lesson-panel h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:650;letter-spacing:-.03em;line-height:1.18;outline:none}.lesson-description{font-size:.86rem;color:#77816e;line-height:1.65;margin:12px 0}.lesson-panel h3{font-size:1rem;line-height:1.5;margin:20px 0 10px}.lesson-line{background:#f1f4e9;border:1px solid #e2e8d7;border-radius:18px;padding:22px;margin:22px 0}.lesson-japanese{font-size:clamp(1.5rem,3vw,1.9rem);font-family:"Noto Sans JP",system-ui,sans-serif;line-height:1.65;margin:0;color:#264637;overflow-wrap:anywhere}.lesson-reading{font-size:.85rem;color:#638068;margin:10px 0 0}.lesson-translation{font-size:.88rem;line-height:1.65;color:#6a7c64;margin:12px 0 0}.lesson-panel button,.lesson-panel input,.review-tools button{font:inherit;font-size:.88rem;min-height:44px;border:1px solid #d8e1d4;border-radius:11px;padding:11px 15px;background:#fffefa;color:#38533e;cursor:pointer}.lesson-panel button:hover{background:#edf3e7;border-color:#8aa580}.lesson-panel button:focus-visible,.lesson-panel input:focus-visible,summary:focus-visible{outline:3px solid #b69749;outline-offset:3px}.lesson-panel button:disabled{opacity:.55;cursor:default}.lesson-panel .audio-link{margin-top:16px;padding:5px 0;min-height:36px;background:transparent;border:0;color:#446b4f;font-size:.8rem}.lesson-primary{margin:8px 8px 8px 0;padding-inline:22px!important}.quiet-button{font-size:.8rem!important;border:0!important;background:transparent!important;color:#6e8068!important;margin-top:8px}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.activity-grid .activity-card{text-align:left;padding:16px;display:grid;grid-template-columns:38px 1fr;align-items:center;column-gap:9px;background:#fffefa}.activity-icon{grid-row:span 2;display:grid;place-items:center;background:#edf2e6;width:36px;height:40px;border-radius:10px;font-size:1.3rem}.activity-card strong{font-size:.85rem;font-weight:650}.activity-card small{font-size:.7rem;line-height:1.6;color:#89927f;margin-top:4px}.lesson-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e5e9df;padding-top:12px;margin-top:20px;font-size:.7rem;color:#87927c}.lesson-status{font-size:.8rem;line-height:1.5;color:#5b745b;min-height:1.2em;margin:12px 0}.lesson-choices{display:grid;gap:9px;margin:14px 0}.lesson-choices button{text-align:left;white-space:normal;line-height:1.5}.lesson-mode{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.lesson-mode [aria-pressed=true]{background:#e6efdf;border-color:#9ab489}.topic-group{padding:0 0 18px;border-bottom:1px solid #e6eadf}.topic-group .topic-lesson{display:block;width:100%;text-align:left;margin-top:8px}.lesson-answer-form{display:flex;align-items:end;gap:8px;margin:18px 0}.lesson-answer-form label{display:grid;flex:1;gap:8px;font-size:.75rem;color:#7a8973;min-width:0}.lesson-answer-form input{width:100%;background:#fff;min-width:0;cursor:text}.lesson-help,.record-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.lesson-help button,.record-controls button,.live-link{font-size:.78rem!important}.practice-tip{padding:12px 15px;border-left:3px solid #b4c79e;color:#667b5d;font-size:.87rem;line-height:1.65;background:#f8f9f3}.lesson-feedback{line-height:1.65;font-size:.9rem}.lesson-feedback[data-result=accepted]{color:#286b46}.model-answer{padding:12px;background:#edf3e7;border-radius:10px}.lesson-download{font-size:.83rem;margin-top:24px}.lesson-download summary{cursor:pointer;padding:12px 0}progress{width:100%;height:5px;accent-color:#709966;margin-top:20px}.review-tools,.diagnostics{margin-top:24px;border-top:1px solid #e3e8dd;padding-top:16px;color:#839077;font-size:.78rem}summary{cursor:pointer}.audio-test{background:#f4f6ef;border-color:#dce3d7}.audio-test p{color:#6c7f64}.test-upload{border-color:#ccd9c5;color:#537149}.diagnostics dl div{background:#f2f5ed}.diagnostics dd{color:#5d7555}.diagnostics dt{color:#899781}.disclosure{color:#8d9687}.settings-dialog{background:#fffefa;border-color:#d5dfcf;color:#2d4535}.key-row input,.field select{background:#f5f7ef;border-color:#d5dfcf;color:#2c4934}.field,.check-row{color:#3c533f}.settings-note{color:#7a8b71}.dialog-actions button,.key-row button{background:#edf3e7;border-color:#cddcc6;color:#3d5f42}.settings-dialog .primary{background:#32664b!important;border-color:#32664b!important;color:#fff}.settings-status{color:#4c744f}
@media(max-width:800px){.app-shell{padding:12px}.call-card{padding:18px}.tutor-layout{grid-template-columns:1fr;gap:20px}.avatar-column{position:static;display:grid;grid-template-columns:1fr;justify-items:stretch}.call-card .stage{width:min(100%,300px)}.camera-controls{width:min(100%,300px);margin-top:8px}.renderer-line{width:min(100%,300px)}.caption-panel{margin:10px 0;height:96px;min-height:96px;max-height:96px}.lesson-nav{margin-bottom:16px}.lesson-panel{border-top:1px solid #e1e7db;padding-top:20px}.topbar{margin-bottom:18px}.top-actions{flex-direction:row;align-items:center}.topbar h1{font-size:1.8rem}.subtitle{font-size:.8rem}.lesson-line{padding:18px;margin:18px 0}.controls button{min-height:44px}.lesson-panel h2{font-size:1.6rem}}
@media(max-width:380px){.activity-grid{gap:8px}.activity-grid .activity-card{padding:12px;grid-template-columns:1fr}.activity-icon{margin-bottom:10px;grid-row:auto}.lesson-answer-form{flex-direction:column;align-items:stretch}.badge{font-size:.7rem;padding:6px}.call-card{padding:14px}}
