:root{--bg:#f7faf8;--panel:#ffffff;--panel-soft:#eef7f4;--text:#14211f;--muted:#60716d;--border:#dbe7e2;--accent:#0f766e;--accent-strong:#0b5f59;--danger:#b42318;--warning:#9a6700;--ok:#1a7f37;--shadow:0 14px 34px rgba(20,33,31,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px}.brand-mark{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:white;font-weight:900}.auth-card h1,.page-title h1{margin:18px 0 6px;font-size:28px;line-height:1.15}.muted{color:var(--muted)}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:#102421;color:#e7f3ef;padding:22px 16px;display:flex;flex-direction:column;gap:22px}.sidebar .brand-mark{background:#d7ffef;color:#0b5f59}.nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;color:#d8e9e4}.nav-link.active,.nav-link:hover{background:rgba(255,255,255,.1);color:white}.shell-footer{margin-top:auto;display:grid;gap:10px}.user-chip{padding:12px;border-radius:8px;background:rgba(255,255,255,.08)}.content{min-width:0;padding:28px}.feedback-fab{position:fixed;right:22px;bottom:22px;z-index:20;min-height:46px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1px solid #b9d9d0;border-radius:8px;background:#d7ffef;color:var(--accent-strong);box-shadow:0 12px 28px rgba(15,118,110,.18);font-weight:900}.feedback-fab:hover{background:#c7f8e6}.ai-assistant-fab{position:fixed;right:22px;bottom:84px;z-index:20;min-height:46px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1px solid #8ec8bf;border-radius:8px;background:var(--accent);color:white;box-shadow:0 12px 28px rgba(15,118,110,.22);font-weight:900}.ai-assistant-fab:hover{background:var(--accent-strong)}.feedback-modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:rgba(16,36,33,.34);overflow-y:auto}.feedback-modal{width:min(560px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:14px;padding:20px;border:1px solid var(--border);border-radius:8px;background:white;box-shadow:0 22px 52px rgba(20,33,31,.2)}.feedback-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.feedback-modal h2{margin:0 0 4px;font-size:22px}.feedback-modal p{margin:0}.ai-assistant-modal{width:min(760px,100%);align-content:start}.ai-assistant-form-grid{display:grid;gap:12px}.ai-assistant-question .textarea{min-height:120px}.ai-assistant-result{display:grid;gap:12px;padding:14px;border:1px solid #b9d9d0;border-radius:8px;background:#f3fbf8}.ai-assistant-result p{margin:0;line-height:1.65}.ai-assistant-result strong{display:block;margin-bottom:6px}.ai-assistant-result ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.55}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:white;color:var(--text)}.icon-button:hover{background:var(--panel-soft)}.page{max-width:1160px;margin:0 auto}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start}.card,.detail-panel,.stat-card,.table-wrap,.toolbar{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(20,33,31,.05)}.card,.detail-panel,.stat-card{padding:18px}.stat-link{display:block;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.stat-link:focus-visible,.stat-link:hover{border-color:#9ccfc4;box-shadow:0 12px 28px rgba(15,118,110,.12);transform:translateY(-1px)}.stat-link:focus-visible{outline:3px solid rgba(15,118,110,.18);outline-offset:2px}.stat-card strong{display:block;font-size:30px;line-height:1;margin-top:10px}.stat-card span{color:var(--muted);font-size:14px}.dashboard-panels h2{margin-top:0}.today-focus-card{display:grid;gap:16px;margin-bottom:16px;border-color:#b9d9d0;background:#f4fbf8}.today-focus-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.today-focus-head h2{margin:8px 0 4px;font-size:26px}.today-focus-head p{max-width:720px;margin:0;line-height:1.5}.today-score-single{display:grid;justify-items:start;gap:6px;width:min(280px,100%);padding:16px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:white}.today-score-single span{font-size:14px;font-weight:900}.today-score-single strong{font-size:42px;line-height:1}.today-score-single p{margin:0;color:white;line-height:1.4;opacity:.9}.review-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.review-scope-link,.status-item{border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:12px}.review-scope-link{display:flex;align-items:center;justify-content:space-between;gap:10px;transition:border-color .15s ease,box-shadow .15s ease}.review-scope-link:focus-visible,.review-scope-link:hover{border-color:#9ccfc4;box-shadow:0 8px 18px rgba(15,118,110,.1)}.review-scope-link span,.status-item span{color:var(--muted)}.review-scope-link strong,.status-item strong{font-size:24px;line-height:1}.compact-summary{gap:10px}.review-scope-toolbar{margin-bottom:16px}.usage-list{margin-top:16px}.usage-card,.usage-list{display:grid;gap:14px}.usage-card h2{margin:0 0 4px}.usage-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.usage-metrics.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-day,.usage-metric{border:1px solid var(--border);border-radius:8px;background:#fbfdfc;padding:10px}.usage-day small,.usage-day span,.usage-metric span{display:block;color:var(--muted);font-size:12px}.usage-metric strong{display:block;margin-top:5px;font-size:20px}.usage-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.usage-day strong{display:block;font-size:22px;margin:4px 0}.analytics-panel{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f6fbf9}.section-heading.compact{align-items:center;justify-content:flex-start;gap:10px}.section-heading.compact h3,.section-heading.compact p{margin:0}.section-heading.compact p{color:var(--muted);font-size:13px}.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ability-card,.analysis-box,.category-row{border:1px solid var(--border);border-radius:8px;background:#fff}.ability-card{display:grid;gap:8px;padding:12px}.ability-card.strong{border-color:#8fd3bf}.ability-card.steady{border-color:#b8d9cf}.ability-card.watch{border-color:#f1c983}.ability-card.weak{border-color:#ef9a9a}.ability-card.unknown{border-color:#d8e0dd}.ability-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.ability-head span{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#edf6f3;color:var(--muted);font-size:12px;font-weight:700}.ability-score{font-size:26px;font-weight:850;line-height:1}.ability-card p,.ability-card small,.analysis-box li,.analysis-box p{margin:0;line-height:1.5}.ability-card small{color:var(--muted)}.analytics-columns{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:10px}.analysis-box{min-width:0;padding:12px}.mastered-review-analysis{display:grid;gap:10px}.mastered-review-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mastered-review-analysis-card{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}.mastered-review-analysis-card small{color:var(--muted);line-height:1.5}.analysis-box strong{display:block;margin-bottom:8px}.analysis-box ul{margin:0;padding-left:18px}.learning-qa-box{display:grid;gap:12px;background:#fbfdfc}.learning-qa-box .textarea{min-height:96px}.learning-qa-result{display:grid;gap:10px;padding:12px;border:1px solid #b9d9d0;border-radius:8px;background:#f3fbf8}.learning-qa-result p{margin:0;line-height:1.6}.native-page{display:grid;gap:16px}.protocol-hero{display:flex;justify-content:space-between;align-items:stretch;gap:18px;border-color:#b9d9d0;background:#f4fbf8}.protocol-hero h2{max-width:820px;margin:12px 0 8px;font-size:24px;line-height:1.35}.protocol-hero p{max-width:760px;margin:0;line-height:1.6}.protocol-hero-mark{display:grid;align-content:center;justify-items:start;gap:8px;min-width:220px;padding:16px;border:1px solid #9ccfc4;border-radius:8px;background:#fff;color:var(--accent)}.protocol-hero-mark strong{color:var(--text)}.protocol-hero-mark span{color:var(--muted)}.protocol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.protocol-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-card{display:grid;gap:14px;min-width:0;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 8px 24px rgba(20,33,31,.05)}.protocol-card-title{display:flex;align-items:center;gap:10px}.protocol-card-title svg{color:var(--accent)}.protocol-card-title h2{margin:0;font-size:22px}.protocol-list{display:grid;gap:10px;margin:0;padding-left:18px}.protocol-list li{line-height:1.55}.protocol-object-grid,.protocol-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.protocol-diagnostic-list article,.protocol-object,.protocol-rule,.protocol-state-list article{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.protocol-diagnostic-list article,.protocol-object-head,.protocol-state-list article{align-content:start}.protocol-object-head{display:flex;justify-content:space-between;gap:10px}.protocol-diagnostic-list p,.protocol-object p,.protocol-object small,.protocol-rule p,.protocol-state-list p{margin:0;line-height:1.55}.protocol-diagnostic-list span,.protocol-object small,.protocol-object span,.protocol-state-list span{color:var(--muted)}.protocol-table-wrap{overflow-x:auto}.protocol-table{width:100%;min-width:820px;border-collapse:collapse}.protocol-table td,.protocol-table th{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.5}.protocol-table th{color:var(--muted);font-size:13px}.protocol-table td span{display:block;color:var(--muted);font-size:12px}.protocol-pill{display:inline-flex!important;width:fit-content;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:800}.protocol-pill.ok{background:#e8f7ef;color:#087a4d}.protocol-pill.muted{background:#eef3f1;color:var(--muted)}.protocol-diagnostic-list,.protocol-state-list{display:grid;gap:10px}.protocol-rule code{display:block;width:fit-content;max-width:100%;padding:6px 8px;border-radius:6px;background:#edf6f3;white-space:normal}.learning-qa-result ul{margin:0;padding-left:18px}.category-bars{display:grid;gap:8px}.category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px}.category-row span{min-width:0;font-weight:700}.category-row small{grid-column:1/-1;color:var(--muted)}.toolbar{padding:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .input{flex:1 1 220px}.toolbar .select{flex:0 1 180px}.filter-summary-row{gap:8px;margin:-4px 0 16px}.filter-summary-row,.pagination-row{display:flex;flex-wrap:wrap;align-items:center}.pagination-row{gap:10px;justify-content:flex-end;margin-top:14px}.inline-control{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;font-weight:800}.compact-select{width:auto;min-width:82px;min-height:42px;padding:8px 10px}.compact-number-input{width:86px;min-height:42px;padding:8px 10px}.form{display:grid;gap:14px;align-content:start}.field{display:grid;gap:7px}.field label{color:#304541;font-weight:700;font-size:14px}.input,.select,.textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:white;color:var(--text);padding:11px 12px;outline:none}.textarea{resize:vertical;min-height:150px}.add-textarea{min-height:120px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,118,110,.12)}.button{min-height:42px;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;background:var(--accent);color:white;font-weight:800}.button:hover{background:var(--accent-strong)}.button.secondary{background:white;color:var(--text);border-color:var(--border)}.button.secondary:hover{background:var(--panel-soft)}.button.secondary.danger-action{color:var(--danger);border-color:#f2b6ad}.button.secondary.danger-action:hover{background:#fff1ef}.button.danger{background:var(--danger)}.button.ghost{background:transparent;color:inherit;border-color:transparent}.button:disabled{opacity:.55;cursor:not-allowed}.button-row{gap:10px}.button-row,.word-actions{display:flex;flex-wrap:wrap;align-items:center}.word-actions{justify-content:flex-end;gap:8px}.message{padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--panel-soft)}.message.error{border-color:#ffd0c9;background:#fff1ef;color:var(--danger)}.message.ok{border-color:#c9ead4;background:#eefbf2;color:var(--ok)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:780px}.table td,.table th{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{color:var(--muted);font-size:13px;font-weight:800;background:#fbfdfc}.library-chunk-row td{background:#f4fbf8}.library-chunk-row .button-row{gap:8px;align-items:center}.checkbox-cell{width:76px;min-width:76px;position:sticky;left:0;z-index:2;background:#fff;text-align:center}.table th.checkbox-cell{z-index:3;background:#fbfdfc}.library-chunk-row td.checkbox-cell{background:#f4fbf8}.selection-checkbox{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.row-select-button{min-width:48px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-size:14px;font-weight:900;line-height:1;cursor:pointer}.row-select-button:hover{border-color:rgba(16,132,117,.42);background:#effaf7}.row-select-button.selected{border-color:var(--accent);background:var(--accent);color:#fff}.row-select-button:disabled{cursor:not-allowed;opacity:.5}.word{font-weight:900;color:#102421}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:var(--panel-soft);color:#21443f;border:1px solid var(--border);font-size:12px;font-weight:800}.badge.warn{background:#fff7db;color:var(--warning);border-color:#f2d680}.badge.danger{background:#fff1ef;color:var(--danger);border-color:#f2b6ad}.badge.ok{background:#eaf8ef;color:var(--ok);border-color:#bfe5cc}.action-row,.badge-row,.check-row,.filter-row,.library-toolbar,.review-topline,.review-word-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.filter-card{display:grid;gap:12px}.badge-row{gap:8px}.check-row{font-weight:800;color:#183934}.check-row input,.mastered-pick-item input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.library-toolbar{justify-content:space-between;margin-bottom:14px}.quick-review-panel{display:grid;gap:10px;padding:12px;margin-bottom:14px;border:1px solid var(--border);border-radius:8px;background:#f4fbf8}.quick-review-panel p,.quick-review-panel strong{margin:0}.quick-review-panel .button-row{justify-content:space-between}.mastered-pick-list{display:grid;gap:10px;max-height:560px;overflow:auto;padding-right:4px}.mastered-pick-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc;cursor:pointer}.mastered-pick-item:hover{border-color:#9ccfc4;background:#f4fbf8}.mastered-pick-item span{display:grid;gap:3px;min-width:0}.mastered-pick-item strong{color:#102421;font-size:19px}.mastered-pick-item em{color:var(--muted);font-style:normal;line-height:1.45}.mastered-pick-item small{justify-self:end;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.mastered-pick-item small.ok{background:#eaf8ef;color:var(--ok)}.mastered-pick-item small.danger{background:#fff1ef;color:var(--danger)}.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.mini-stats div{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.mini-stats span{color:var(--muted);font-weight:800}.mini-stats strong{font-size:28px;line-height:1}.review-topline{justify-content:flex-start}.review-word-row{justify-content:space-between;align-items:flex-end;margin:16px 0}.review-word-row h2{margin:4px 0 0;font-size:clamp(34px,6vw,64px);line-height:1.05}.review-card .field{margin-top:10px}.action-row{margin-top:14px}.preview-list{display:grid;gap:12px}.preview-item{display:grid;gap:10px;padding:14px;border-radius:8px;border:1px solid var(--border);background:#fbfdfc}.preview-item.compact{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px}.preview-item.no-selector{grid-template-columns:minmax(0,1fr) auto}.preview-item.selected{border-color:#9ccfc4;background:#f4fbf8}.preview-check{display:inline-flex;align-items:center;gap:7px;min-width:78px;min-height:36px;padding:0 9px;border-radius:8px;border:1px solid var(--border);background:white;color:var(--muted);font-size:14px;font-weight:900;cursor:pointer}.preview-check input{width:18px;height:18px;margin:0;accent-color:var(--accent);flex:0 0 auto}.preview-check.selected{border-color:var(--accent);background:#eef7f4;color:var(--accent)}.preview-check.locked{cursor:not-allowed;opacity:.75}.preview-main{min-width:0;display:grid;gap:6px}.preview-heading,.preview-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.preview-example,.preview-meaning{line-height:1.45;overflow-wrap:anywhere}.preview-meaning{font-weight:700}.preview-example{color:var(--muted);display:-webkit-box;font-size:14px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.preview-meta span{min-height:24px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:white;color:var(--muted);font-size:12px;font-weight:800}.preview-detail-link{align-self:start;min-height:32px;padding:0 9px;white-space:nowrap}.translation-panel{display:grid;gap:8px;padding:12px;border-radius:8px;border:1px solid #cfe5dd;background:#eef7f4}.translation-panel>span{color:var(--muted);font-size:12px;font-weight:800}.translation-panel p{margin:0;line-height:1.55}.extraction-choice-list{display:flex;flex-wrap:wrap;gap:8px}.extraction-choice{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:white;color:#21443f;font-weight:900;cursor:pointer}.extraction-choice input{width:17px;height:17px;margin:0;accent-color:var(--accent);flex:0 0 auto}.extraction-choice small{color:var(--muted);font-size:12px;font-weight:800}.extraction-choice.selected{border-color:var(--accent);background:#eaf8ef;color:var(--accent)}.extraction-choice.locked{cursor:not-allowed;opacity:.75}.word-chip-list{display:flex;flex-wrap:wrap;gap:6px}.reading-textarea{min-height:260px}.reading-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.reading-a1-entry{width:100%;justify-content:flex-start;gap:10px;margin:6px 0 10px;min-height:56px}.reading-a1-entry span{font-weight:900}.reading-a1-entry small{color:rgba(255,255,255,.82);font-size:12px}.reading-subject-button{display:grid;justify-items:start;gap:4px;min-height:62px;padding:10px 12px;text-align:left}.reading-subject-button span{font-weight:900}.reading-subject-button small{color:var(--muted);font-size:12px;line-height:1.35;white-space:normal}.reading-empty{margin-top:16px}.reading-result{display:grid;gap:16px;margin-top:16px}.reading-section{display:grid;gap:14px}.reading-section h2{margin:0}.section-heading{align-items:center;gap:12px}.reading-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.breakdown-item,.practice-list>div,.reading-columns>div{min-width:0;padding:12px;border-radius:8px;border:1px solid var(--border);background:#fbfdfc}.section-label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:800}.breakdown-item p,.reading-columns p{margin:0;line-height:1.6}.breakdown-list,.practice-list,.step-list{display:grid;gap:10px}.step-list div{display:flex;gap:10px;align-items:flex-start;color:#304541;line-height:1.45}.step-list svg{flex:0 0 auto;color:var(--accent);margin-top:2px}.word-table{display:grid;border:1px solid var(--border);border-radius:8px;overflow:hidden}.word-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.8fr) auto auto;gap:10px;align-items:center;padding:12px;border-bottom:1px solid var(--border);background:#fbfdfc}.word-row:last-child{border-bottom:0}.breakdown-item strong,.practice-list strong,.word-row strong{display:block;overflow-wrap:anywhere}.practice-list span,.word-row span{display:block;color:var(--muted);line-height:1.45}.compact-note{margin:8px 0 0;font-size:13px}.warning-text{color:#a15c00;font-weight:700}.reading-question-list,.reading-writing-form{display:grid;gap:12px}.reading-question-card{display:grid;gap:10px;padding:12px;border-radius:8px;border:1px solid var(--border);background:#fbfdfc}.reading-question-title{display:grid;gap:4px}.reading-question-title span{color:#304541;line-height:1.5}.reading-answer-textarea,.reading-writing-textarea{min-height:110px;resize:vertical}.shadowing-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.shadowing-line>div{min-width:0}.reading-writing-card{border-color:#b8ddd1;background:#fbfffd}.reading-writing-prompt{padding:12px;border:1px solid #cfe5dd;border-radius:8px;background:#f4fbf8}.reading-writing-prompt p{margin:0;color:#10251f;font-weight:800;line-height:1.55}.reading-ai-result{display:grid;gap:10px;padding:12px;border-radius:8px;border:1px solid #cfe5dd;background:#eefaf3}.reading-ai-result.wrong{border-color:#f3c36b;background:#fff8e8}.reading-result-line{display:grid;gap:4px}.reading-result-line span{color:var(--muted);font-size:12px;font-weight:900}.reading-result-line p{margin:0;line-height:1.55}.button.compact{min-height:34px;padding:0 10px}.core-line{padding:10px;border-radius:8px;background:#eef7f4;border:1px solid #cfe5dd;font-weight:800}.chunk-list{display:flex;flex-wrap:wrap;gap:8px}.chunk-list span{padding:8px 10px;border-radius:8px;background:white;border:1px solid var(--border);color:#304541;font-size:13px}.pronunciation-panel{display:grid;gap:10px;padding:12px;border-radius:8px;background:#eef7f4;border:1px solid #cfe5dd}.pronunciation-summary{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px}.pronunciation-summary>div{min-width:0;padding:10px;border-radius:8px;background:white;border:1px solid var(--border)}.pronunciation-summary>div>span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}.pronunciation-word{font-size:24px;font-weight:900;overflow-wrap:anywhere}.pronunciation-block-sequence{display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}.pronunciation-block{color:var(--accent)}.pronunciation-block-separator{color:var(--muted)}.vowel-letter{color:var(--accent);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}.pronunciation-callout{display:block;font-size:24px;line-height:1.2;overflow-wrap:anywhere}.muted-callout{color:var(--muted);font-size:18px}.pronunciation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pronunciation-grid>div,.pronunciation-note{min-width:0;padding:10px;border-radius:8px;background:white;border:1px solid var(--border)}.pronunciation-grid>div>span,.pronunciation-note>span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}.pronunciation-grid strong{display:block;overflow-wrap:anywhere}.syllable-cell{grid-column:1/-1}.syllable-list{display:flex;flex-wrap:wrap;gap:6px}.syllable-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 8px;border-radius:8px;background:#eef7f4;border:1px solid #cfe5dd}.syllable-chip.stressed{background:var(--accent);border-color:var(--accent);color:white}.syllable-hint{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.spelling-chunk-row{display:grid;gap:6px;margin-top:10px}.spelling-chunk-row>span{color:var(--muted);font-size:12px;font-weight:800}.spelling-chunk-list{display:flex;flex-wrap:wrap;gap:6px}.spelling-chunk-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border-radius:8px;border:1px solid #eadfba;background:#fffdf0;font-weight:900}.pronunciation-note p{margin:0;line-height:1.55}.verb-form-panel{display:grid;gap:10px;padding:12px;border-radius:8px;background:#fffdf0;border:1px solid #eadfba}.verb-form-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.verb-form-head strong{font-size:18px}.verb-form-head span{color:#6f5d26;font-weight:800}.verb-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.verb-form-grid>div{min-width:0;padding:10px;border-radius:8px;background:white;border:1px solid #eadfba}.verb-form-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}.verb-form-grid strong{font-size:18px;overflow-wrap:anywhere}.part-of-speech-panel{display:grid;gap:8px;padding:12px;border-radius:8px;background:#f7fbf9;border:1px solid #cfe5dd}.part-of-speech-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.part-of-speech-head strong{font-size:18px}.part-of-speech-head span{padding:4px 10px;border-radius:999px;background:#e4f5ef;color:var(--accent);font-weight:900}.part-of-speech-panel p{margin:0;color:var(--muted);font-weight:800;line-height:1.45}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-cell{padding:13px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.detail-cell span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:5px;text-transform:uppercase}.review-card{min-height:360px;display:grid;align-content:center;gap:18px}.mastered-review-card{align-content:start}.mastered-select-card{display:grid;gap:16px}.mastered-select-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px}.mastered-round-summary h2,.mastered-select-head h2{margin:0 0 6px}.mastered-round-summary p,.mastered-select-head p{margin:0;color:var(--muted);line-height:1.45}.mastered-select-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;max-height:58vh;overflow:auto;padding-right:4px}.mastered-select-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc;cursor:pointer}.mastered-select-item.selected{border-color:var(--primary);background:#eefaf6}.mastered-select-item input{width:18px;height:18px}.mastered-select-item small,.mastered-select-item strong{display:block;overflow-wrap:anywhere}.mastered-select-item small{margin-top:3px;color:var(--muted);line-height:1.35}.mastered-review-word-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.mastered-review-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mastered-review-status-grid>div,.prompt-card{border:1px solid var(--border);border-radius:8px;background:#fbfdfc;padding:12px}.mastered-review-status-grid>div.done{border-color:#bfe5cc;background:#eefbf2}.mastered-review-status-grid span,.prompt-card span{display:block;color:var(--muted);font-size:12px;font-weight:900;margin-bottom:5px}.mastered-review-status-grid strong{font-size:18px}.prompt-card p{margin:0;font-size:24px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}.mastered-round-summary{display:grid;gap:14px}.mastered-wrong-list{display:flex;flex-wrap:wrap;gap:8px}.review-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);align-items:start;gap:16px}.quick-add-card{position:sticky;top:18px;display:grid;align-content:start;gap:12px}.quick-add-head{display:grid;gap:5px}.quick-add-head h2{margin:0;font-size:21px}.quick-add-head p,.quick-add-hint{margin:0;color:var(--muted);line-height:1.45}.quick-add-form,.quick-add-preview{display:grid;gap:10px}.quick-add-textarea{min-height:104px}.quick-add-translation{padding:10px}.quick-add-actions{display:flex;flex-wrap:wrap;gap:8px}.quick-add-preview h3{margin:2px 0 0;font-size:15px}.quick-add-preview-item{display:grid;gap:5px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.quick-add-preview-item>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.quick-add-preview-item p{margin:0;color:var(--muted);line-height:1.45}.review-result{display:grid;gap:10px;padding:13px;border-radius:8px;border:1px solid var(--border);background:#fbfdfc}.review-result.ok{border-color:#bfe5cc;background:#eefbf2}.review-result.wrong{border-color:#f2d680;background:#fff9e8}.review-result span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}.review-result p{margin:0;line-height:1.55}.example-audio-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.example-audio-row p{min-width:min(100%,260px);flex:1 1 320px}.chunk-recall-prompt{max-width:100%;font-size:clamp(28px,4vw,48px);line-height:1.2;overflow-wrap:anywhere}.common-chunk-panel{display:grid;gap:12px;padding:14px;border:1px solid #cfe5dd;border-radius:8px;background:#f4fbf8}.common-chunk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.common-chunk-head h2,.common-chunk-head p{margin:0}.common-chunk-head h2{font-size:20px;line-height:1.25}.common-chunk-head p{margin-top:4px;color:var(--muted);line-height:1.45}.common-chunk-list{display:grid;gap:8px}.common-chunk-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:white}.common-chunk-main{display:grid;gap:3px;min-width:0}.common-chunk-main strong{font-size:19px;line-height:1.25;overflow-wrap:anywhere}.common-chunk-main small{color:var(--ok);font-weight:900}.common-chunk-meaning{display:grid;gap:2px;padding-top:2px}.common-chunk-meaning span{color:var(--muted);font-size:12px;font-weight:900}.common-chunk-meaning p{margin:0;color:#1d3d38;font-size:16px;font-weight:800;line-height:1.35}.spelling-check{display:grid;justify-items:start;gap:10px;padding-top:4px}.spelling-check .field{width:min(360px,100%)}.practice-check{display:grid;justify-items:start;gap:10px;padding:12px;border-radius:8px;border:1px solid var(--border);background:rgba(255,255,255,.58)}.listening-prompt{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #cfe5dd;border-radius:8px;background:#eef8f5}.listening-prompt h2{margin:0 0 4px;font-size:28px;line-height:1.1}.listening-prompt p{margin:0;line-height:1.45}.listening-prompt .audio-button{margin-left:auto}.practice-check .field,.sentence-practice{width:min(520px,100%)}.practice-answer-reveal{width:min(520px,100%);padding:10px 12px;border:1px solid #d7e5df;border-radius:8px;background:#f7fbf9}.practice-answer-reveal p{margin:0}.practice-textarea{min-height:88px}.idea-helper{width:min(620px,100%);display:grid;justify-items:start;gap:10px;padding:12px;border-radius:8px;border:1px solid #cfe5dd;background:#f4fbf8}.idea-textarea{min-height:76px}.idea-suggestion{width:100%;display:grid;gap:7px;padding:10px;border-radius:8px;border:1px solid var(--border);background:white}.idea-suggestion small,.idea-suggestion span{color:var(--muted);font-size:12px;font-weight:800}.idea-suggestion p{margin:0;line-height:1.45;font-weight:800}.practice-feedback{width:min(620px,100%);display:grid;gap:8px;padding:12px;border-radius:8px;border:1px solid var(--border);background:white}.practice-feedback.ok{border-color:#bfe5cc;background:#f4fbf6}.practice-feedback.wrong{border-color:#f2d680;background:#fffdf2}.practice-feedback p{margin:0;line-height:1.5}.practice-error{width:min(620px,100%);margin:0;padding:10px 12px;border:1px solid #f2b6ad;border-radius:8px;background:#fff1ef;color:var(--danger);font-weight:800;line-height:1.45}.fill-blank-practice{width:100%;display:grid;gap:12px;padding:14px;border:1px solid #cfe5dd;border-radius:8px;background:#f4fbf8}.fill-blank-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.fill-blank-head h2{margin:0;font-size:20px;line-height:1.25}.fill-blank-head p,.muted-text{margin:4px 0 0;color:var(--muted);font-weight:800;line-height:1.45}.fill-blank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.fill-blank-card{display:grid;align-content:start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:white}.fill-blank-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fill-blank-title strong{font-size:16px}.fill-blank-title span{padding:3px 8px;border-radius:999px;background:#eaf6f2;color:var(--muted);font-size:12px;font-weight:900}.fill-blank-target{margin:-2px 0 0;color:var(--muted);font-size:13px;font-weight:850;line-height:1.35}.fill-blank-question{margin:0;font-size:18px;font-weight:850;line-height:1.5;overflow-wrap:anywhere}.fill-blank-answer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.fill-blank-hint{margin:0;color:var(--muted);font-weight:800;line-height:1.45}.pattern-layout{display:grid;gap:16px;max-width:1180px}.pattern-card{display:grid;align-content:start;gap:16px}.chunk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.chunk-card{gap:12px;align-content:start;transition:border-color .15s ease,box-shadow .15s ease}.chunk-card.selected{border-color:#9ccfc4;background:#f4fbf8;box-shadow:0 10px 26px rgba(15,118,110,.1)}.chunk-select{width:fit-content;min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 9px;border-radius:8px;border:1px solid var(--border);background:white;color:var(--muted);font-size:14px;font-weight:900}.chunk-select input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.chunk-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.chunk-heading .word{min-width:0;font-size:24px;line-height:1.15;overflow-wrap:anywhere}.chunk-meaning{margin:0;font-weight:800;line-height:1.45}.chunk-example{display:grid;gap:5px;padding-top:10px;border-top:1px solid var(--border)}.chunk-example strong{color:var(--muted);font-size:12px;font-weight:900}.chunk-example p,.chunk-example small{margin:0;line-height:1.45}.chunk-example small{color:var(--muted)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-heading h2,.section-heading p{margin:0}.section-heading p{margin-top:6px;line-height:1.45}.section-heading .select{width:min(220px,100%)}.pattern-library-panel{display:grid;gap:16px}.pattern-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.pattern-library-card{display:grid;gap:12px;align-content:start;padding:15px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.pattern-library-card.active{border-color:#9ccfc4;background:#f4fbf8}.pattern-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pattern-card-top h3{margin:6px 0 0;font-size:22px;line-height:1.2}.pattern-template{margin:0;font-size:20px;font-weight:900;line-height:1.3}.pattern-library-card>p,.pattern-library-card>small{margin:0;line-height:1.45}.pattern-library-card>small{color:var(--muted)}.pattern-example-list{display:grid;gap:8px}.pattern-example-button{display:grid;gap:4px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--text);text-align:left}.pattern-example-button:hover{border-color:#9ccfc4;background:#eef7f4}.pattern-example-button span{font-weight:900;line-height:1.35}.pattern-example-button small{color:var(--muted);line-height:1.35}.pattern-prompt-row{display:flex;flex-wrap:wrap;gap:8px}.pattern-prompt-row .button.ghost{border-color:var(--border);background:white;color:var(--text)}.pattern-example-row{display:flex;flex-wrap:wrap;gap:8px}.qwasmo-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.2fr 1.6fr;gap:10px}.pattern-field{display:grid;gap:7px;min-width:0}.pattern-field .input{min-width:0}.pattern-field label,.pattern-preview span,.practice-feedback span{color:var(--muted);font-size:12px;font-weight:900}.pattern-preview{display:grid;gap:8px;padding:12px;border:1px solid #cfe5dd;border-radius:8px;background:#f4fbf8}.pattern-preview-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.pattern-preview-line strong{font-size:24px;line-height:1.25}.sentence-coach-layout{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(460px,1.05fr);gap:16px;max-width:1280px;align-items:start}.sentence-coach-grid,.sentence-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sentence-coach-textarea{min-height:150px;resize:vertical}.sentence-coach-result{width:100%;gap:10px}.sentence-result-block{display:grid;gap:6px}.sentence-result-block>p{font-size:17px}.compact-line{align-items:flex-start}.compact-line p{flex:1 1;min-width:220px}.sentence-part-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.sentence-part{display:grid;gap:4px;padding:10px;border:1px solid #d6e8e2;border-radius:8px;background:#ffffff}.sentence-part strong{color:var(--primary);font-size:13px}.sentence-part small{color:var(--muted);line-height:1.35}.sentence-list{margin:0;padding-left:20px;line-height:1.55}.spelling-feedback{margin:0;font-weight:800}.spelling-feedback.ok{color:var(--ok)}.spelling-feedback.wrong{color:var(--danger)}.review-empty{display:grid;justify-items:start;gap:12px}.review-empty p{margin:0}.test-summary{display:grid;gap:16px}.test-summary h2{margin:10px 0 0;font-size:26px}.test-answer-result{display:grid;gap:10px;padding:13px;border-radius:8px;border:1px solid var(--border);background:#fbfdfc}.test-answer-result.ok{border-color:#bfe5cc;background:#eefbf2}.test-answer-result.wrong{border-color:#f2b6ad;background:#fff1ef}.mistake-detail-grid span,.test-answer-result>span{display:block;color:var(--muted);font-size:12px;font-weight:900}.test-row-wrong{background:#fff8f6}.test-result-sections{display:grid;gap:14px}.test-result-section{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.test-result-section.ok{border-color:#bfe5cc;background:#f3fbf6}.test-result-section.wrong{border-color:#f2b6ad;background:#fff8f6}.test-result-row,.test-result-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.test-result-row p,.test-result-section-head h3,.test-result-section-head p{margin:0}.test-result-row p,.test-result-section-head p{color:var(--muted);line-height:1.45}.test-result-list{display:grid;gap:8px}.test-result-row{min-height:68px;padding:12px;border:1px solid var(--border);border-radius:8px;background:white}.test-result-row.ok{border-color:#cdebd6}.test-result-row.wrong{border-color:#f2d1cc}.test-result-main{display:grid;gap:8px;min-width:0}.test-result-word-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.test-result-word-line .ipa{color:var(--muted);font-size:16px;font-weight:800}.test-result-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.test-result-answer-grid>div{padding:8px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.test-result-answer-grid span{display:block;color:var(--muted);font-size:12px;font-weight:900}.test-result-answer-grid strong{overflow-wrap:anywhere}.compact-actions{justify-content:flex-end}.mistake-review-panel{display:grid;gap:12px;padding:14px;border:1px solid #f2b6ad;border-radius:8px;background:#fff8f6}.mistake-review-panel h3,.mistake-review-panel p{margin:0}.mistake-review-panel p{color:var(--muted);line-height:1.45}.mistake-list{display:grid;gap:8px}.mistake-item{border:1px solid #f2d1cc;border-radius:8px;background:white}.mistake-item summary{min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;cursor:pointer;font-weight:900}.mistake-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 12px 12px}.mistake-pronunciation{padding:0 12px 12px}.mistake-pronunciation .pronunciation-panel{box-shadow:none}.mistake-detail-grid p{overflow-wrap:anywhere;color:var(--text)}.writing-bonus-panel{display:grid;gap:12px;padding:14px;border:1px solid #b9d9d0;border-radius:8px;background:#f3fbf8}.writing-bonus-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.writing-bonus-header h3,.writing-bonus-header p{margin:0}.writing-bonus-header h3{margin-top:8px;font-size:20px}.writing-bonus-header p{margin-top:5px;color:var(--muted);line-height:1.45}.writing-bonus-score{min-width:116px;padding:10px 12px;border:1px solid #b9d9d0;border-radius:8px;background:white;text-align:right}.writing-bonus-score span,.writing-feedback-grid span,.writing-score-grid span{display:block;color:var(--muted);font-size:12px;font-weight:900}.writing-bonus-score strong{display:block;margin-top:4px;color:var(--accent-strong);font-size:24px}.writing-bonus-words{display:flex;flex-wrap:wrap;gap:7px}.writing-bonus-word{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #b9d9d0;border-radius:999px;background:white;color:var(--accent-strong);font-weight:900}.writing-bonus-textarea{min-height:126px}.writing-bonus-result{display:grid;gap:12px;padding:12px;border-radius:8px;border:1px solid #bfe5cc;background:white}.writing-bonus-result.weak{border-color:#f2d680;background:#fffdf3}.writing-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.writing-feedback-grid>div,.writing-score-grid>div{padding:10px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.writing-score-grid strong{display:block;margin-top:4px;font-size:18px}.writing-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.writing-feedback-grid p{margin:5px 0 0;overflow-wrap:anywhere;line-height:1.5}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.test-score-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.review-word{font-size:44px;font-weight:900;line-height:1.05}.word-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.audio-button{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:8px;border:1px solid #b9d9d0;background:#f3fbf8;color:var(--accent-strong);font-weight:900}.audio-button:hover:not(:disabled){background:#e4f6f0}.audio-button:disabled{cursor:not-allowed;opacity:.52}.segmented{display:inline-grid;grid-auto-flow:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:white}.segmented button{border:0;padding:10px 14px;background:transparent;color:var(--muted);font-weight:800}.segmented button.active{background:var(--accent);color:white}.empty{padding:28px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);background:rgba(255,255,255,.6)}.g6-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:18px;align-items:stretch;margin-bottom:16px;padding:22px}.g6-hero h2{margin:10px 0 8px;font-size:28px}.g6-hero p{margin:0;color:var(--muted)}.g6-meta,.section-title-row,.tag-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.g6-meta{margin-top:14px}.g6-meta span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);font-weight:800}.g6-score-card{display:grid;align-content:center;gap:8px;padding:18px;border-radius:8px;background:var(--accent);color:white}.g6-score-card p,.g6-score-card span{color:rgba(255,255,255,.86)}.g6-score-card strong{font-size:42px;line-height:1}.g6-layout{align-items:start}.g6-block{padding:18px}.section-title-row{justify-content:space-between;margin-bottom:12px}.section-title-row h2{margin:0}.g6-task-list{display:grid;gap:12px}.g6-task-list.compact{gap:8px}.g6-vocab-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.g6-vocab-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.g6-vocab-card.done{border-color:#b8e0c4;background:#f0fbf3}.g6-vocab-card.skipped{border-color:#efd7a2;background:#fff8e7}.g6-vocab-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.g6-mode-tabs{width:fit-content}.g6-test-vocab-list{display:grid;gap:12px}.g6-test-vocab-item{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.g6-test-vocab-item.done{border-color:#b8e0c4;background:#f0fbf3}.g6-test-vocab-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.g6-test-submit{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px}.g6-practice-steps{display:grid;gap:10px}.g6-practice-step{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.g6-practice-step strong{font-size:16px}.g6-practice-step p{margin:2px 0 0}.g6-answer-panel{display:grid;gap:10px;padding:10px;border:1px solid #b8e0c4;border-radius:8px;background:#f0fbf3}.g6-example-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.g6-example-line strong{min-width:220px;flex:1 1 auto}.g6-inline-result{padding:8px 10px;border-radius:8px;font-weight:700;line-height:1.4}.g6-inline-result.ok{color:#075f50;background:#e8f7f0;border:1px solid #b8e0c4}.g6-inline-result.wrong{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.g6-output-item,.g6-task-row{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfdfc}.g6-task-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.g6-output-item.done,.g6-task-row.done{border-color:#b8e0c4;background:#f0fbf3}.g6-output-item.skipped,.g6-task-row.skipped{border-color:#efd7a2;background:#fff8e7}.g6-task-main{min-width:0}.g6-task-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.g6-task-title strong{font-size:18px}.g6-task-title h2{margin:0}.g6-output-item p,.g6-task-row p{margin:6px 0 0;color:var(--muted)}.g6-task-row small{display:block;margin-top:6px;color:var(--text)}.g6-instructions{margin:0;padding-left:20px;color:var(--muted);line-height:1.45}.g6-reference{display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.72)}.g6-reference span{color:var(--muted);font-size:13px;font-weight:900;text-transform:uppercase}.g6-reference small{color:var(--text)}.g6-task-status{min-width:84px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-weight:900}.g6-task-status.done{background:#dff7e8;color:var(--ok)}.g6-task-status.skipped{background:#fff3cd;color:var(--warning)}.g6-output-item .textarea{min-height:110px}.compact-textarea{min-height:88px}.g6-writing-area{min-height:210px}.g6-passage{white-space:pre-line;line-height:1.65;color:var(--text)}.g6-feedback{margin:0;padding:12px;border:1px solid #b8e0c4;border-radius:8px;background:#f0fbf3;color:var(--text);white-space:pre-wrap;font-family:inherit;font-size:15px;line-height:1.55}.g6-report{display:grid;gap:14px}.g6-report p{margin:0;font-size:18px;line-height:1.5}.g6-recent-list{display:grid;gap:8px}.g6-recent-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.g6-recent-item:last-child{border-bottom:0}.g6-recent-item div{display:grid;gap:2px}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5;padding:12px}.shell-footer,.sidebar .brand{display:none}.nav{display:flex;overflow-x:auto;gap:4px}.nav-link{flex:0 0 auto;min-height:44px}.content{padding:18px}.ability-grid,.analytics-columns,.detail-grid,.mastered-review-analysis-grid,.mini-stats,.mistake-detail-grid,.pronunciation-grid,.pronunciation-summary,.protocol-grid,.protocol-grid.two,.protocol-object-grid,.protocol-rule-grid,.qwasmo-grid,.reading-columns,.review-scope-grid,.review-workspace,.sentence-coach-grid,.sentence-coach-layout,.sentence-meta-grid,.stats-grid,.summary-grid,.two-col,.usage-days,.usage-metrics,.verb-form-grid,.writing-feedback-grid,.writing-score-grid{grid-template-columns:1fr}.today-focus-head,.writing-bonus-header{display:grid}.common-chunk-head,.common-chunk-item{display:grid;grid-template-columns:1fr}.common-chunk-item .button-row{width:100%}.writing-bonus-score{width:100%;text-align:left}.quick-add-card{position:static}.word-row{align-items:stretch}.preview-item.compact,.word-row{grid-template-columns:1fr}.preview-check,.preview-detail-link{width:100%;justify-content:center}.page-title,.section-heading{display:grid}.shadowing-line{display:grid;align-items:stretch}.section-heading .select,.toolbar .select{width:100%;flex-basis:100%}.review-word{font-size:34px}.audio-button{min-height:38px}.sentence-coach-textarea{min-height:120px}.feedback-fab{right:14px;bottom:14px}.ai-assistant-fab{right:14px;bottom:76px}.g6-hero,.g6-task-row{grid-template-columns:1fr}.protocol-hero{display:grid}.protocol-hero-mark{min-width:0}.g6-task-row .button-row{width:100%;justify-content:stretch}.g6-output-item .button,.g6-task-row .button{flex:1 1}.g6-example-line{display:grid;align-items:stretch}.g6-example-line strong{min-width:0}}@media (max-width:700px){.listening-prompt{align-items:flex-start;flex-direction:column}.listening-prompt .audio-button{margin-left:0}.test-result-row,.test-result-section-head{align-items:stretch;flex-direction:column}.test-result-row .audio-button,.test-result-row .button{align-self:flex-start}.test-result-answer-grid{grid-template-columns:1fr}.compact-actions{justify-content:flex-start}.qwasmo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qwasmo-slot-m,.qwasmo-slot-s{grid-column:span 1}.qwasmo-slot-o{grid-column:1/-1}}@media (max-width:420px){.chunk-grid,.pattern-library-grid{grid-template-columns:1fr}.chunk-heading,.pattern-card-top{display:grid}.chunk-heading .audio-button,.pattern-card-top .button{width:100%}.pattern-card{padding:14px}.pattern-field label{font-size:11px}.pattern-field .input{padding:10px 9px}.pattern-preview-line strong{font-size:20px}}