:root{
  --forest:#173f36;--forest-2:#20594b;--ink:#173a33;--muted:#66766d;--paper:#f3eee3;
  --surface:#fffdf8;--surface-2:#f9f5ed;--line:#d8d0c1;--coral:#df714a;--coral-dark:#bd5635;
  --mint:#d9e9de;--mint-2:#bed9c8;--gold:#efd273;--blue:#d8e6ef;--rose:#f3d8d1;
  --shadow:0 16px 42px rgba(23,58,51,.09);--radius:18px;--focus:0 0 0 3px rgba(223,113,74,.26);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.58 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;text-rendering:optimizeLegibility}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:0;box-shadow:var(--focus)}
[hidden]{display:none!important}
.topbar{position:sticky;top:0;z-index:50;height:72px;padding:0 24px;background:var(--forest);color:#fff;display:grid;grid-template-columns:330px 1fr auto;align-items:center;gap:18px;box-shadow:0 2px 14px rgba(15,40,35,.18)}
.brand-button{border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:11px;text-align:left;padding:4px}
.brand-mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;font:700 22px Georgia,serif;color:var(--gold)}
.brand-button b,.brand-button small{display:block}.brand-button b{font:700 17px Georgia,serif;letter-spacing:.12em}.brand-button small{font-size:8px;letter-spacing:.16em;opacity:.63}
.top-clock{text-align:center}.top-clock small,.top-clock b{display:block}.top-clock small{font-size:9px;letter-spacing:.16em;opacity:.62}.top-clock b{font:700 19px Georgia,serif}
.top-actions{display:flex;align-items:center;gap:8px}.quiet-button,.parent-button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:9px 12px;font-weight:700;font-size:12px}.parent-button{background:#fff;color:var(--forest);border-color:#fff}
.app-shell{min-height:calc(100vh - 72px);display:grid;grid-template-columns:278px minmax(0,1fr)}
.sidebar{position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto;padding:21px 15px 28px;background:#eae3d5;border-right:1px solid var(--line)}
.phase-label{padding:0 9px 15px}.phase-label small,.phase-label b,.phase-label span{display:block}.phase-label small{font-size:9px;font-weight:850;letter-spacing:.15em;color:var(--coral-dark)}.phase-label b{font:700 20px Georgia,serif}.phase-label span{font-size:11px;color:var(--muted)}
.day-navigation{display:grid;gap:4px}.day-button{width:100%;border:0;background:transparent;border-radius:12px;color:var(--ink);padding:8px;display:grid;grid-template-columns:38px minmax(0,1fr) 17px;align-items:center;gap:8px;text-align:left}.day-button:hover{background:rgba(255,255,255,.48)}.day-button.current{background:var(--surface);box-shadow:0 6px 20px rgba(23,58,51,.08)}.day-button .day-num{width:36px;height:36px;border-radius:11px;background:var(--mint);display:grid;place-items:center;font-size:11px;font-weight:900}.day-button.checkpoint .day-num{background:var(--gold)}.day-button.final .day-num{background:var(--coral);color:#fff}.day-button b,.day-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-button b{font-size:12px}.day-button small{font-size:10px;color:var(--muted)}.day-status{width:9px;height:9px;border-radius:50%;border:1px solid #9aa59f}.day-status.started{background:var(--gold);border-color:#c5a844}.day-status.complete{background:var(--forest);border-color:var(--forest)}
.future-phases{margin-top:20px;padding:17px 9px;border-top:1px solid var(--line);display:grid;gap:7px}.future-phases small{font-size:8px;letter-spacing:.13em;color:var(--muted);font-weight:850}.future-phases span{font-size:11px;color:var(--muted)}.future-phases i{display:inline-grid;width:19px;height:19px;border-radius:50%;place-items:center;background:#d7d0c3;font-style:normal;font-size:9px;margin-right:5px}
main{width:100%;max-width:1320px;margin:0 auto;padding:34px clamp(18px,4.5vw,64px) 100px;min-width:0}
.loading-card{min-height:56vh;display:grid;place-items:center;align-content:center;text-align:center}.loading-card h1{font:700 34px Georgia,"Songti SC",serif;margin:18px 0 2px}.loading-card p{color:var(--muted)}.loading-orbit{width:44px;height:44px;border-radius:50%;border:4px solid var(--mint-2);border-top-color:var(--coral);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.eyebrow{margin:0;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.eyebrow.coral{color:var(--coral-dark)}
h1,h2,h3,p{overflow-wrap:anywhere}h1{font:700 clamp(38px,5.2vw,68px)/1.02 Georgia,"Songti SC",serif;letter-spacing:-.035em}h2{font:700 27px/1.18 Georgia,"Songti SC",serif}h3{font:700 19px/1.25 Georgia,"Songti SC",serif}
.day-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--line)}.day-hero h1{margin:8px 0 12px}.day-hero .lead{max-width:760px;font-size:17px;color:var(--muted)}.hero-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--mint);font-size:11px;font-weight:800}.chip.gold{background:#f5e6a7}.chip.coral{background:var(--rose)}
.progress-ring{width:146px;height:146px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--coral) var(--progress,0%),#ddd6ca 0);position:relative}.progress-ring:before{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--paper)}.progress-ring b,.progress-ring small{position:relative}.progress-ring b{font:700 34px Georgia,serif}.progress-ring small{font-size:10px;color:var(--muted)}
.session-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.session-card,.paper-card,.module-card,.report-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.session-card{padding:22px}.session-card h2{margin:6px 0 4px}.session-card>p:not(.eyebrow){color:var(--muted);margin-top:0}.module-list{display:grid;margin-top:13px}.module-row{border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 4px;text-align:left}.module-row:first-child{border-top:0}.module-row:hover .module-icon{transform:translateY(-1px);background:var(--mint-2)}.module-row:disabled{cursor:not-allowed;opacity:.55}.module-icon{width:36px;height:36px;border-radius:10px;background:var(--mint);display:grid;place-items:center;font-size:11px;font-weight:900;transition:.18s}.module-row b,.module-row small{display:block}.module-row small{color:var(--muted)}.module-status{font-size:10px;font-weight:850;color:var(--muted)}.module-status.done{color:var(--forest)}
.baseline-card{margin-top:18px;padding:22px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}.baseline-card h2{margin:6px 0}.baseline-card p{color:var(--muted)}.mini-bars{display:grid;gap:7px}.mini-bar label{display:flex;justify-content:space-between;font-size:11px;font-weight:750}.mini-bar i{display:block;height:8px;border-radius:99px;margin-top:3px;background:linear-gradient(90deg,var(--forest) var(--w),#e5ded2 var(--w))}
.module-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.back-button{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:9px 12px;color:var(--ink);font-weight:800}.module-head h1{font-size:clamp(31px,4vw,48px);margin:4px 0}.module-head p{margin:0;color:var(--muted)}.recommended{border-radius:14px;background:var(--mint);padding:10px 13px;text-align:center}.recommended b,.recommended small{display:block}.recommended b{font:700 22px Georgia,serif}.recommended small{font-size:9px;letter-spacing:.08em}
.stepper{display:flex;gap:4px;overflow:auto;padding:17px 0 4px}.step-pill{flex:0 0 auto;border:1px solid var(--line);background:transparent;border-radius:999px;padding:5px 9px;font-size:10px;color:var(--muted)}.step-pill.done{background:var(--mint);border-color:var(--mint-2);color:var(--forest);font-weight:850}.step-pill.current{background:var(--forest);border-color:var(--forest);color:#fff}
.learning-stack{display:grid;gap:15px;margin-top:18px}.learning-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:21px;box-shadow:0 9px 28px rgba(23,58,51,.055)}.learning-step.locked{opacity:.58;background:#eee9df}.step-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.step-title h2{margin:4px 0 5px}.step-number{display:inline-grid;width:31px;height:31px;border-radius:50%;place-items:center;background:var(--forest);color:#fff;font:700 13px Georgia,serif}.step-description{margin:0 0 15px;color:var(--muted)}
.callout{border-left:4px solid var(--coral);background:#fcf0e9;border-radius:0 12px 12px 0;padding:12px 14px;margin:13px 0}.callout.good{border-color:var(--forest);background:#eaf3ed}.callout.warn{border-color:#c49324;background:#fbf2d5}.callout p{margin:0}.callout b{display:block;margin-bottom:3px}.bilingual-note{font-size:12px;color:var(--muted)}
.primary,.secondary,.danger,.record-button,.play-button{border:0;border-radius:11px;padding:10px 14px;font-weight:850}.primary{background:var(--coral);color:#fff}.primary:hover{background:var(--coral-dark)}.secondary{background:var(--forest);color:#fff}.danger{background:#a43d35;color:#fff}.play-button{background:var(--mint);color:var(--forest)}.record-button{background:var(--rose);color:#873c2c}.record-button:before{content:"●";color:#c33;margin-right:6px}.button-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:13px}.button-row .spacer{flex:1}.text-button{border:0;background:transparent;color:var(--forest);font-weight:850;text-decoration:underline;text-underline-offset:3px;padding:7px}
.audio-card{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.audio-card b,.audio-card small{display:block}.audio-card small{color:var(--muted)}.play-count{font-size:11px;color:var(--muted);margin-left:8px}
.question-list{display:grid;gap:13px;margin-top:14px}.question-card{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:15px}.question-card.correct{border-color:#79a989;background:#edf6ef}.question-card.incorrect{border-color:#d58b76;background:#fff1ec}.question-card>p{margin:0 0 10px;font-weight:750}.question-skill{font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.choices{display:grid;gap:6px}.choice{display:flex;gap:9px;align-items:flex-start;border:1px solid #ded7cc;background:#fff;border-radius:10px;padding:9px 10px}.choice:hover{border-color:#aebdb4}.choice input{margin-top:4px;accent-color:var(--forest)}.answer-explanation{font-size:12px;color:var(--muted);border-top:1px dashed var(--line);padding-top:9px;margin-top:10px}.score-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--mint);padding:7px 10px;font-weight:850}.score-badge.low{background:var(--rose)}
textarea,input[type=text],input[type=number],select{width:100%;border:1px solid #cfc7ba;background:#fff;border-radius:10px;color:var(--ink);padding:10px 11px}textarea{min-height:92px;resize:vertical}.long-input{min-height:170px}.field-label{display:block;font-size:11px;font-weight:850;margin:10px 0 5px}.field-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-top:4px}
.transcript{background:#f9f5ea;border:1px solid var(--line);border-radius:14px;padding:19px;white-space:pre-line;font:16px/1.9 Georgia,"Songti SC",serif}.transcript mark{background:var(--gold)}
.sentence-grid{display:grid;gap:10px}.sentence-card{border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}.sentence-card.complete{border-color:#8bb79a}.sentence-summary{width:100%;border:0;background:transparent;padding:13px 15px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;color:var(--ink)}.sentence-summary .num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--mint);font-size:10px;font-weight:900}.sentence-summary small{color:var(--muted)}.sentence-body{padding:0 16px 16px;border-top:1px solid var(--line)}.target-sentence{font:700 19px/1.5 Georgia,serif}.chunks{display:flex;flex-wrap:wrap;gap:6px}.chunk{background:var(--mint);border-radius:7px;padding:4px 7px;font-weight:750}.micro-steps{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.micro-step{border-radius:999px;background:#e8e2d7;padding:4px 7px;font-size:9px}.micro-step.done{background:var(--mint);color:var(--forest);font-weight:850}.record-result{border-radius:10px;background:#f1ece4;padding:9px 11px;margin-top:8px;font-size:12px}.record-result.valid{background:#e5f2e8}.record-result.invalid{background:#f8e1db;color:#7b3026}
.recall-hide-text .sentence-summary>span:nth-child(2),.recall-hide-text .sentence-body{filter:blur(11px);opacity:.16;pointer-events:none;user-select:none}.recall-hide-text:before{content:"Random Recall in progress — sentence text is hidden";display:block;padding:12px 14px;border-radius:12px;background:var(--forest);color:#fff;font-weight:850;text-align:center}
.reading-tabs{display:flex;gap:7px;margin-bottom:12px}.reading-tabs button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 11px;font-weight:800}.reading-tabs button.current{background:var(--forest);color:#fff;border-color:var(--forest)}.article-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,4vw,31px);box-shadow:var(--shadow)}.article-card header{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.article-card h2{margin:5px 0}.article-text{font:17px/1.92 Georgia,"Songti SC",serif;white-space:pre-line;max-width:790px}.article-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px}
.vocab-shell{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:18px}.word-card{min-height:420px;padding:28px;display:grid;align-content:start}.word-card h2{font-size:40px;margin:7px 0}.word-meaning{font-size:18px;background:var(--mint);border-radius:12px;padding:13px}.word-example{font:16px/1.7 Georgia,serif;border-left:3px solid var(--gold);padding-left:12px}.word-roadmap{display:grid;gap:7px}.word-roadmap div{border-radius:10px;background:#ece6da;padding:9px;font-size:11px}.word-roadmap div.done{background:var(--mint)}.word-counter{font:700 26px Georgia,serif}
.lesson-panel{padding:23px}.lesson-panel h2{margin-top:4px}.worked-example{background:#edf3ee;border:1px solid #bfd2c5;border-radius:14px;padding:16px;margin-top:14px}.worked-example ol{margin-bottom:0}.practice-section{margin-top:18px}.practice-section>h2{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px}.math-input-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:end}.math-input-row input{margin-top:7px}.feedback-line{font-size:11px;margin-top:7px;color:var(--muted)}
.prompt-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:17px}.prompt-card h3{margin:4px 0}.prompt-card.completed{border-color:#8bb79a;background:#f3f8f4}.speaking-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.writing-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px}.writing-checklist{padding:17px;position:sticky;top:92px;align-self:start}.check-row{display:flex;gap:8px;margin:8px 0}.check-row input{accent-color:var(--forest)}.draft-locked{opacity:.55;pointer-events:none}
.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.note-paper{background:#fffaf0;border:1px solid #ddcfb1;border-radius:14px;padding:19px;box-shadow:inset 0 0 0 4px rgba(239,210,115,.12)}.note-paper h3{margin-top:0}.note-paper ul{padding-left:19px}
.checkpoint-banner{margin-top:18px;background:var(--forest);color:#fff;border-radius:var(--radius);padding:22px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.checkpoint-banner h2{margin:3px 0}.checkpoint-banner p{margin:0;opacity:.75}.test-rule{border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:10px 13px;text-align:center}.test-rule b,.test-rule small{display:block}
.error-grid{display:grid;gap:12px}.error-card{border:1px solid #d6a99e;background:#fff4f0;border-radius:14px;padding:15px}.error-card select{margin:8px 0}.classification-key{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.classification-key div{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px}.classification-key b,.classification-key small{display:block}.classification-key b{font-size:10px}.classification-key small{font-size:9px;color:var(--muted)}
.report-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.report-hero h1{margin:7px 0}.report-date{font:700 17px Georgia,serif;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:19px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px}.metric small,.metric b{display:block}.metric small{font-size:9px;letter-spacing:.08em;color:var(--muted)}.metric b{font:700 26px Georgia,serif;margin-top:4px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}.report-card{padding:20px}.report-card h2{margin-top:3px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{font-size:9px;letter-spacing:.07em;color:var(--muted)}.portfolio-item{border-top:1px solid var(--line);padding:10px 0}.portfolio-item:first-child{border-top:0}.portfolio-item p{margin:4px 0;color:var(--muted)}
.data-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.data-action{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:14px;text-align:left}.data-action b,.data-action small{display:block}.data-action small{color:var(--muted)}
.empty-state{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.completion-card{background:linear-gradient(135deg,var(--forest),#286c5a);color:#fff;border-radius:var(--radius);padding:23px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.completion-card h2{margin:0}.completion-card p{margin:5px 0 0;opacity:.72}
.audio-dock,.record-dock{position:fixed;z-index:70;left:50%;bottom:18px;transform:translateX(-50%);width:min(680px,calc(100vw - 28px));border-radius:15px;background:#102f29;color:#fff;box-shadow:0 18px 60px rgba(0,0,0,.28);padding:12px 14px;display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,2fr) auto auto;gap:12px;align-items:center}.audio-dock small,.audio-dock b{display:block}.audio-dock small{font-size:8px;letter-spacing:.1em;opacity:.55}.audio-progress{height:5px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}.audio-progress i{display:block;width:0;height:100%;background:var(--gold)}.audio-dock span{font-size:10px}.audio-dock button,.record-dock button{border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;padding:7px 9px}.record-dock{width:auto;grid-template-columns:auto auto auto auto;background:#7f2f28}.record-pulse{width:10px;height:10px;border-radius:50%;background:#ffb2a8;animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.8)}}
.toast-region{position:fixed;z-index:100;right:18px;top:84px;display:grid;gap:8px;width:min(360px,calc(100vw - 36px))}.toast{background:#102f29;color:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 12px 32px rgba(0,0,0,.2);animation:toastin .22s ease}.toast.error{background:#862f28}.toast.warn{background:#7a5b15}@keyframes toastin{from{opacity:0;transform:translateY(-8px)}}
.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}
@media(max-width:1050px){.app-shell{grid-template-columns:238px minmax(0,1fr)}.session-grid,.baseline-card{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.vocab-shell,.writing-layout{grid-template-columns:1fr}.word-roadmap{grid-template-columns:repeat(5,1fr)}.writing-checklist{position:static}.speaking-grid{grid-template-columns:1fr}}
@media(max-width:780px){.topbar{height:64px;grid-template-columns:1fr auto;padding:0 13px}.brand-button small,.top-clock,.quiet-button{display:none}.app-shell{display:block}.sidebar{position:static;height:auto;padding:10px 12px;overflow:hidden}.phase-label,.future-phases{display:none}.day-navigation{display:flex;overflow:auto;padding-bottom:4px}.day-button{min-width:62px;display:block;text-align:center;padding:6px}.day-button>span:nth-child(2),.day-status{display:none}.day-button .day-num{margin:auto}.day-button.current .day-num{background:var(--coral);color:#fff}main{padding:22px 13px 90px}.day-hero,.module-head,.report-hero{grid-template-columns:1fr}.progress-ring,.recommended{display:none}.session-grid,.baseline-card,.report-grid,.notes-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.classification-key{grid-template-columns:1fr}.audio-dock{grid-template-columns:1fr auto}.audio-progress,.audio-dock>span{display:none}.math-input-row{grid-template-columns:1fr}.data-actions{grid-template-columns:1fr}.word-roadmap{grid-template-columns:1fr 1fr}.checkpoint-banner{grid-template-columns:1fr}}
@media print{.topbar,.sidebar,.button-row,.audio-dock,.record-dock,.back-button,.parent-button,.quiet-button{display:none!important}.app-shell{display:block}main{max-width:none;padding:0;background:#fff}.report-card,.metric{box-shadow:none;break-inside:avoid}.report-grid{grid-template-columns:1fr 1fr}body{background:#fff}}
.sync-panel{border-top:4px solid var(--coral)}
.sync-setup-grid,.sync-status-grid{display:grid;grid-template-columns:1.4fr .7fr .8fr;gap:13px;margin:18px 0}
.sync-setup-grid label{display:block}.sync-setup-grid input{width:100%;margin-top:7px}
.sync-status-grid{grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.sync-status-grid>div{padding:15px;border-right:1px solid var(--line)}.sync-status-grid>div:last-child{border-right:0}
.sync-status-grid small,.sync-status-grid b{display:block}.sync-status-grid small{color:var(--muted);font-size:10px;letter-spacing:.09em}.sync-status-grid b{margin-top:7px;font-size:13px;overflow-wrap:anywhere}
@media(max-width:760px){.sync-setup-grid,.sync-status-grid{grid-template-columns:1fr}.sync-status-grid>div{border-right:0;border-bottom:1px solid var(--line)}.sync-status-grid>div:last-child{border-bottom:0}}

/* Independent online accessibility overrides */
.brand-button,.top-actions .parent-button{min-height:44px;touch-action:manipulation}
