:root{--paper:#f6f7f2;--surface:#fff;--ink:#173d35;--body:#334a44;--muted:#74837e;--line:#dce5de;--soft:#edf4ee;--mint:#dff0e6;--green:#23745f;--green-dark:#155544;--warm:#f4ecda;--orange:#9c5b31;--shadow:0 20px 60px #183d3412}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--body);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{color:inherit}.site-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fbfcf8;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.brand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 7px;display:flex}.brand-mark{background:var(--ink);color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:16px;display:grid}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{color:var(--muted);margin-top:3px;font-size:10px}.main-nav{gap:7px;margin-top:44px;display:grid}.nav-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;padding:13px;display:flex}.nav-item span{font-size:13px;font-weight:750}.nav-item small{color:var(--muted);font-size:10px}.nav-item.active{background:var(--mint);color:var(--green-dark)}.sidebar-progress{border:1px solid var(--line);background:#fff;border-radius:15px;margin-top:auto;padding:17px}.sidebar-progress>div:first-child{justify-content:space-between;align-items:center;display:flex}.sidebar-progress span,.sidebar-progress small{color:var(--muted);font-size:10px}.sidebar-progress strong{font-family:Georgia,serif;font-size:23px;font-weight:500}.progress-bar{background:#e9efea;border-radius:99px;height:6px;margin:12px 0;overflow:hidden}.progress-bar span{background:var(--green);height:100%;display:block}.main{min-width:0;padding:36px 42px 90px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1320px;margin:0 auto 28px;display:flex}.eyebrow{color:var(--green);letter-spacing:.11em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:800}.topbar h1{color:var(--ink);letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,3vw,42px);font-weight:500}.progress-sync-notice{max-width:1320px;color:var(--green-dark);background:#e4f2e9;border:1px solid #9fc9b6;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;margin:-12px auto 24px;padding:14px 16px;display:flex}.progress-sync-notice span{flex-wrap:wrap;gap:6px 12px;line-height:1.5;display:flex}.progress-sync-notice button{background:var(--green-dark);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:7px 12px}.open-badge{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;flex:none;padding:9px 14px;font-size:11px}.today-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px;max-width:1320px;margin:0 auto;display:grid}.lesson-sheet{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:21px;overflow:hidden}.lesson-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:30px 32px 26px;display:flex}.lesson-head h2{color:var(--ink);margin:0;font-family:Georgia,serif;font-size:31px;font-weight:500}.lesson-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.review-status{color:#8a6a32;background:#fbf4e6;border:1px solid #e4d1ad;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.review-status.confirmed{background:var(--soft);color:var(--green);border-color:#b9d8c8}.lesson-head>div:first-child>p:last-child{color:var(--muted);margin:8px 0 0;font-size:12px}.lesson-tools{flex:none;justify-items:end;gap:10px;display:grid}.day-switch{border:1px solid var(--line);border-radius:11px;grid-template-columns:34px 46px 34px;align-items:center;display:grid;overflow:hidden}.day-switch button{cursor:pointer;background:#f8faf7;border:0;height:38px}.day-switch button:disabled{opacity:.25;cursor:default}.day-switch strong{text-align:center;font-family:Georgia,serif}.voice-quick-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:11px 15px;font-size:11px;font-weight:800;box-shadow:0 8px 18px #23745f29}.voice-quick-button:hover{background:var(--green-dark)}.voice-quick-button:focus-visible{outline-offset:2px;outline:3px solid #23745f40}.voice-copy-help{max-width:220px;color:var(--green-dark);text-align:left;margin:0;font-size:10px;font-weight:700;line-height:1.6}.lesson-goal{border-left:4px solid var(--green);background:var(--soft);border-radius:4px 13px 13px 4px;margin:18px 20px 0;padding:18px}.lesson-goal span{color:var(--green);letter-spacing:.11em;font-size:9px;font-weight:850}.lesson-goal p{color:var(--ink);margin:7px 0 5px;font-family:Georgia,serif;font-size:18px;line-height:1.55}.lesson-goal small{color:var(--muted);font-size:10px;line-height:1.5}.lesson-section{border-bottom:1px solid var(--line);padding:30px 32px}.section-heading{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.section-heading>span{background:var(--soft);height:34px;color:var(--green);border-radius:50%;flex:0 0 34px;place-items:center;font-family:Georgia,serif;font-size:12px;display:grid}.section-heading h3{color:var(--ink);margin:0;font-family:Georgia,serif;font-size:21px;font-weight:500}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.word-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.word-card{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;min-width:0;padding:18px}.word-card>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.word-card strong{color:var(--ink);font-family:Georgia,serif;font-size:18px}.word-card>div:first-child span{background:var(--soft);color:var(--green);text-transform:uppercase;border-radius:999px;padding:4px 7px;font-size:8px}.word-card>p{color:var(--green-dark);margin:7px 0;font-size:12px;font-weight:750}.word-card>small{color:var(--muted);font-size:11px}.word-card blockquote,.library-list blockquote{color:#566d66;border-left:2px solid #b4d4c5;margin:13px 0 0;padding-left:11px;font-family:Georgia,serif;font-size:13px;line-height:1.55}.light-word-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.light-word{background:var(--soft);border-radius:12px;padding:15px 17px}.light-word>div{justify-content:space-between;gap:12px;display:flex}.light-word strong{color:var(--ink);font-family:Georgia,serif;font-size:15px}.light-word span{color:var(--green);font-size:11px}.light-word>p{color:var(--muted);margin:8px 0 0;font-size:11px}.mark-row{gap:6px;margin-top:14px;display:flex}.mark-row.compact{margin-top:10px}.mark-row button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;padding:5px 9px;font-size:9px}.mark-row button.active{background:var(--mint);color:var(--green-dark);border-color:#99c7b3}.mark-row button.difficult{color:var(--orange);background:#f8e9df;border-color:#dfbea9}.pattern-list{gap:9px;display:grid}.pattern-list>div{border:1px solid var(--line);border-radius:11px;grid-template-columns:35px 1fr;align-items:start;gap:10px;padding:14px 16px;display:grid}.pattern-list span{color:var(--green);font-family:Georgia,serif;font-size:12px}.pattern-list p{color:var(--ink);margin:0;font-family:Georgia,serif;font-size:16px;line-height:1.5}.drill-slots{background:var(--soft);border-radius:12px;gap:9px;margin-top:14px;padding:16px;display:grid}.drill-slots>p{color:var(--green);letter-spacing:.1em;text-transform:uppercase;margin:0 0 3px;font-size:9px;font-weight:850}.drill-slots>div{grid-template-columns:minmax(110px,.34fr) 1fr;align-items:baseline;gap:12px;display:grid}.drill-slots strong{color:var(--ink);font-size:11px}.drill-slots span{color:var(--body);font-family:Georgia,serif;font-size:13px;line-height:1.55}.approved-expressions{margin-top:12px}.target-sentence-list{gap:10px;display:grid}.target-sentence-list article{border:1px solid var(--line);background:#fbfcfa;border-radius:13px;grid-template-columns:38px 1fr;gap:12px;padding:18px;display:grid}.target-sentence-list article>span{background:var(--ink);color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-size:12px;display:grid}.target-sentence-list small{color:var(--green);font-size:10px;font-weight:750}.target-sentence-list p{color:var(--ink);margin:6px 0 0;font-family:Georgia,serif;font-size:17px;line-height:1.6}.sentence-learning-toolbar{background:var(--soft);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;padding:11px 13px;display:flex}.sentence-learning-toolbar span{color:var(--muted);font-size:9px;line-height:1.5}.sentence-learning-toolbar button,.sentence-review-row button{color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #b9d2c5;border-radius:8px;flex:none;padding:7px 9px;font-size:9px;font-weight:800}.sentence-review-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.sentence-status{color:var(--muted);background:#edf2ef;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.sentence-status.stable{color:var(--green-dark);background:#dff1e7}.sentence-status.unstable,.sentence-status.due{color:#8b651f;background:#fff0d8}.sentence-status.forgotten,.sentence-status.changed{color:var(--orange);background:#f8e5de}.closed-drills{gap:8px;margin-top:14px;display:grid}.closed-drills details,.recall-grid details{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden}.closed-drills summary,.recall-grid summary{cursor:pointer;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:13px 15px;list-style:none;display:grid}.closed-drills summary::-webkit-details-marker{display:none}.recall-grid summary::-webkit-details-marker{display:none}.closed-drills summary span,.recall-grid summary span{color:var(--green);font-family:Georgia,serif;font-size:11px}.closed-drills summary p,.recall-grid summary p{color:var(--body);margin:0;font-size:12px;line-height:1.5}.closed-drills details>div{border-top:1px solid var(--line);background:var(--soft);padding:14px 16px}.closed-drills details>div small{color:var(--green);text-transform:uppercase;font-size:9px;font-weight:800}.closed-drills details>div p{color:var(--ink);margin:6px 0 0;font-family:Georgia,serif;font-size:15px;line-height:1.55}.recall-grid{gap:9px;display:grid}.recall-grid summary b{color:var(--green);font-size:9px}.recall-grid details>div{border-top:1px solid var(--line);background:var(--ink);color:#fff;padding:15px 18px;font-family:Georgia,serif;font-size:15px;line-height:1.6}.question-variants{gap:9px;display:grid}.question-variants article{background:var(--soft);border-left:3px solid #91bda9;border-radius:4px 11px 11px 4px;grid-template-columns:34px 1fr;gap:5px 10px;padding:16px;display:grid}.question-variants article>span{color:var(--green);grid-row:1/3;font-family:Georgia,serif;font-size:11px}.question-variants p{color:var(--ink);margin:0;font-family:Georgia,serif;font-size:15px;line-height:1.5}.question-variants small{color:var(--muted);font-size:10px}.application-block{background:var(--warm);border-radius:14px;padding:21px}.application-block>span{color:#8c6c36;letter-spacing:.11em;font-size:9px;font-weight:850}.application-block h4{color:#544a36;margin:8px 0 13px;font-family:Georgia,serif;font-size:19px;font-weight:500;line-height:1.5}.allowed-chips{flex-wrap:wrap;gap:6px;display:flex}.allowed-chips b,.allowed-chips em{color:#766445;background:#ffffffad;border-radius:999px;padding:5px 8px;font-size:9px;font-style:normal}.application-block details{border-top:1px solid #dfd0b2;margin-top:15px;padding-top:12px}.application-block summary{color:#7f6332;cursor:pointer;font-size:10px;font-weight:800}.application-block details p{color:#5b503b;margin:10px 0 0;font-family:Georgia,serif;font-size:15px;line-height:1.65}.review-schedule{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px;display:grid}.review-schedule article{border:1px solid var(--line);background:#fbfcfa;border-radius:11px;padding:14px}.review-schedule span{color:var(--green);font-family:Georgia,serif;font-size:12px}.review-schedule p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.5}.input-block{background:var(--ink);border-radius:15px;padding:23px}.input-block p{white-space:pre-line;color:#fff;margin:0;font-family:Georgia,serif;font-size:16px;line-height:1.75}.input-block button{color:#a9d4c1;cursor:pointer;background:0 0;border:0;margin-top:18px;padding:0;font-size:11px;font-weight:750}.output-block{background:var(--warm);border-radius:15px;padding:22px}.output-block>span{color:#8c6c36;letter-spacing:.12em;font-size:9px;font-weight:850}.output-block p{color:#594e39;margin:8px 0;font-family:Georgia,serif;font-size:18px;line-height:1.55}.output-block small{color:#8a7c61;font-size:10px}.complete-button{background:var(--green);color:#fff;cursor:pointer;border:0;width:100%;margin:0;padding:15px;font-size:12px;font-weight:800}.complete-button:hover{background:var(--green-dark)}.complete-button.done{color:var(--green-dark);background:#dfeae3}.today-aside{gap:12px;display:grid}.today-aside>div{border:1px solid var(--line);background:#fff;border-radius:15px;padding:19px}.time-card{gap:2px;display:grid}.timeline-row{grid-template-columns:18px 1fr auto;align-items:center;gap:8px;min-height:34px;display:grid}.timeline-row>span{border:2px solid #8fc1aa;border-radius:50%;width:9px;height:9px}.timeline-row strong{font-size:11px}.timeline-row small{color:var(--muted);font-size:9px}.principle-card{background:var(--warm)!important;border-color:#e7dac0!important}.principle-card span{color:#8b6c37;letter-spacing:.08em;font-size:9px;font-weight:800}.principle-card p{color:#675a42;margin:9px 0 0;font-family:Georgia,serif;font-size:14px;line-height:1.6}.day-map-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.day-map-title p{margin:0}.day-map-title>span{color:var(--green);font-size:9px;font-weight:800}.day-map>div:last-child{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.day-map button{aspect-ratio:1;background:var(--soft);color:var(--muted);cursor:pointer;border:0;border-radius:7px;place-items:center;font-size:9px;display:grid;position:relative}.day-map button.completed{color:var(--green-dark);background:#dcefe6;font-weight:850;box-shadow:inset 0 0 0 1px #a8cfbd}.day-map button.completed b{color:var(--green);font-size:7px;line-height:1;position:absolute;top:3px;right:4px}.day-map button.active{background:var(--green);color:#fff;box-shadow:none}.day-map button.active b{color:#fff}.day-map button small{color:inherit;opacity:.85;font-size:6px;line-height:1;position:absolute;bottom:2px;left:2px;right:2px}.review-page,.library-page,.stories-page,.questions-page{max-width:1320px;margin:0 auto}.review-hero{background:var(--ink);color:#fff;border-radius:19px;justify-content:space-between;align-items:center;gap:24px;padding:28px 31px;display:flex}.review-hero h2{max-width:760px;margin:0;font-family:Georgia,serif;font-size:30px;font-weight:500;line-height:1.35}.review-hero>div:first-child>p:last-child{color:#b8cbc4;max-width:790px;margin:10px 0 0;font-size:12px;line-height:1.65}.review-progress{text-align:center;background:#ffffff0f;border:1px solid #ffffff24;border-radius:15px;flex:0 0 130px;align-content:center;min-height:104px;padding:17px;display:grid}.review-progress strong{font-family:Georgia,serif;font-size:42px;font-weight:500}.review-progress span{color:#b8cbc4;margin-top:3px;font-size:9px}.review-memory-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 0;display:grid}.review-memory-stats article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:1fr auto auto;align-items:baseline;gap:5px;padding:15px 17px;display:grid}.review-memory-stats span{color:var(--muted);font-size:9px;font-weight:750}.review-memory-stats strong{color:var(--ink);font-family:Georgia,serif;font-size:24px;font-weight:500}.review-memory-stats small{color:var(--green);font-size:9px}.review-principles{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.review-principles article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:30px 1fr;gap:10px;padding:16px;display:grid}.review-principles article>span{color:var(--green);font-family:Georgia,serif;font-size:13px}.review-principles strong{color:var(--ink);font-size:11px}.review-principles p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.55}.review-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:13px;margin:14px 0;display:grid}.guided-review-card,.audio-review-card{border:1px solid var(--line);background:#fff;border-radius:17px;min-width:0;padding:24px;box-shadow:0 12px 35px #183d340a}.guided-review-card h3,.audio-review-card h3{color:var(--ink);margin:15px 0 9px;font-family:Georgia,serif;font-size:24px;font-weight:500;line-height:1.35}.guided-review-card>p,.audio-review-card>p{color:var(--muted);margin:0 0 17px;font-size:11px;line-height:1.65}.guided-ladder{background:var(--soft);border-radius:11px;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding:13px;display:flex}.guided-ladder span{color:var(--green-dark);background:#fff;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.guided-ladder i{color:var(--muted);font-size:9px;font-style:normal}.audio-plan-stats,.guided-summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.audio-plan-stats span,.guided-summary span{background:var(--soft);color:var(--muted);text-align:center;border-radius:10px;padding:11px;font-size:9px}.audio-plan-stats b{color:var(--ink);margin-bottom:3px;font-family:Georgia,serif;font-size:20px;font-weight:500;display:block}.audio-plan-preview{border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:12px 14px}.audio-plan-preview summary{color:var(--green);cursor:pointer;font-size:9px;font-weight:800}.audio-plan-preview ol{gap:6px;margin:10px 0 0;padding-left:20px;display:grid}.audio-plan-preview li{color:var(--body);font-size:9px;line-height:1.45}.audio-plan-preview li b{color:var(--green);margin-right:6px}.audio-copy-help,.guided-note{color:var(--muted);margin-top:10px;font-size:9px;line-height:1.55;display:block}.guided-review-card.active-session{grid-column:1/-1}.guided-cue{background:var(--soft);text-align:center;border-radius:14px;align-content:center;place-items:center;gap:16px;min-height:200px;margin-top:15px;padding:26px;display:grid}.guided-cue small{color:var(--green);font-size:9px;font-weight:800}.guided-cue h3{max-width:760px;margin:0;font-size:28px}.guided-cue blockquote{max-width:820px;color:var(--ink);margin:0;font-family:Georgia,serif;font-size:24px;line-height:1.55}.keyword-cues{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.keyword-cues span{color:var(--green-dark);background:#fff;border:1px solid #b9d2c5;border-radius:999px;padding:9px 12px;font-family:Georgia,serif;font-size:17px}.guided-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;display:grid}.guided-actions .review-copy-button{margin-top:0}.guided-summary{margin:14px 0}.completed-session .secondary-button{width:100%}.review-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:13px;display:grid}.review-pack-card{border:1px solid var(--line);background:#fff;border-radius:17px;min-width:0;padding:23px;box-shadow:0 12px 35px #183d340a}.review-pack-card.stage-card{grid-column:1/-1}.review-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-card-top span{color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:850}.review-card-top b{background:var(--soft);color:var(--green-dark);border-radius:999px;padding:5px 8px;font-size:9px}.review-pack-card h3{color:var(--ink);margin:16px 0 8px;font-family:Georgia,serif;font-size:24px;font-weight:500}.review-pack-card>p{min-height:38px;color:var(--muted);margin:0 0 18px;font-size:11px;line-height:1.6}.stage-picker{gap:7px;margin:0 0 16px;display:grid}.stage-picker span{color:var(--green);font-size:9px;font-weight:800}.stage-picker select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fbfcfa;border-radius:10px;padding:0 12px;font-size:11px}.review-pack-summary{background:var(--soft);border-radius:12px;gap:9px;padding:15px;display:grid}.review-pack-summary>div{grid-template-columns:74px 1fr;gap:10px;display:grid}.review-pack-summary>div span{color:var(--muted);font-size:9px}.review-pack-summary>div strong{min-width:0;color:var(--ink);font-size:10px;line-height:1.5}.review-pack-summary details{border-top:1px solid #d7e3da;padding-top:9px}.review-pack-summary summary{color:var(--green);cursor:pointer;font-size:9px;font-weight:800}.review-pack-summary ol{gap:7px;margin:10px 0 0;padding-left:22px;display:grid}.review-pack-summary li{color:var(--body);padding-left:3px;font-size:10px;line-height:1.45}.review-pack-summary li b{color:var(--green);margin-right:7px;font-size:9px}.review-copy-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;margin-top:14px;padding:13px 15px;font-size:11px;font-weight:850}.review-copy-button:hover{background:var(--green-dark)}.review-copy-button:focus-visible{outline-offset:2px;outline:3px solid #23745f40}.review-copy-button:disabled{color:#84938d;cursor:not-allowed;background:#dfe7e2}.review-copy-notice{max-width:780px;box-shadow:var(--shadow);color:var(--green-dark);background:#e4f2e9;border:1px solid #9fc9b6;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin:15px auto 0;padding:13px 17px;display:flex;position:sticky;bottom:15px}.review-copy-notice strong{font-size:11px}.review-copy-notice span{font-size:10px;line-height:1.5}.review-session-note{border:1px solid var(--line);color:var(--ink);background:#f7faf7;border-radius:13px;margin-top:14px;padding:14px 17px}.review-session-note strong{font-size:11px;display:block}.review-session-note p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.55}.review-result-panel,.review-history-panel{border:1px solid var(--line);background:#fff;border-radius:17px;margin-top:16px;padding:25px}.sync-link-action{background:var(--mint);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin:18px 0 14px;padding:16px;display:flex}.sync-link-action strong{color:var(--ink)}.sync-link-action p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.55}.sync-link-action .review-copy-button{flex:none;width:auto;margin:0}.review-result-heading,.review-history-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.review-result-heading h3,.review-history-heading h3{color:var(--ink);margin:5px 0 0;font-family:Georgia,serif;font-size:24px;font-weight:500}.review-result-heading>div>p:last-child,.review-history-heading>div>p:last-child{max-width:760px;color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.6}.review-result-heading>span{background:var(--soft);color:var(--green);border-radius:999px;flex:none;padding:6px 9px;font-size:9px;font-weight:800}.review-import-steps{grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0;padding:0;list-style:none;display:grid}.review-import-steps li{background:var(--soft);border-radius:11px;grid-template-columns:23px 1fr;align-items:start;gap:8px;min-width:0;padding:14px;display:grid}.review-import-steps b{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:21px;height:21px;font-size:9px;display:grid}.review-import-steps span{color:var(--body);font-size:10px;line-height:1.55}.review-import-steps code{color:var(--green-dark);font-size:9px;font-weight:800}.review-result-input{resize:vertical;border:1px solid var(--line);width:100%;min-height:175px;color:var(--ink);background:#fbfcfa;border-radius:11px;padding:15px;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.review-result-input:focus{border-color:#83bca2;outline:3px solid #23745f1a}.review-result-actions{grid-template-columns:180px 1fr;gap:9px;margin-top:10px;display:grid}.review-result-actions .review-copy-button{margin-top:0}.secondary-button{border:1px solid var(--line);color:var(--green-dark);cursor:pointer;background:#fff;border-radius:10px;padding:11px 14px;font-size:10px;font-weight:800}.secondary-button:hover{background:var(--soft)}.import-message{border-radius:9px;margin:10px 0 0;padding:11px 13px;font-size:10px;line-height:1.5}.import-message.success{color:var(--green-dark);background:#e4f2e9}.import-message.error{color:var(--orange);background:#f8e9df}.schedule-explainer{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px 18px;margin-top:14px;padding-top:13px;display:flex}.schedule-explainer>span{color:var(--green);font-size:9px;font-weight:850}.schedule-explainer p{color:var(--muted);margin:0;font-size:9px}.schedule-explainer b{color:var(--ink)}.review-history-heading{align-items:center}.history-empty{background:var(--soft);color:var(--muted);text-align:center;border-radius:11px;margin-top:17px;padding:24px;font-size:10px}.review-history-list{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:17px;display:grid}.review-history-list article{border:1px solid var(--line);background:#fbfcfa;border-radius:11px;grid-template-columns:1fr auto;gap:8px 12px;padding:14px;display:grid}.review-history-list article>div:first-child{gap:4px;min-width:0;display:grid}.review-history-list strong{color:var(--ink);font-size:11px}.review-history-list article>div:first-child span{color:var(--muted);font-size:8px}.review-history-list article>p{color:var(--green);margin:0;font-size:9px}.history-counts{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.history-counts span{background:var(--soft);color:var(--body);border-radius:999px;padding:4px 7px;font-size:8px}.hero-panel{background:var(--ink);color:#fff;border-radius:19px;justify-content:space-between;align-items:center;gap:24px;padding:28px 31px;display:flex}.hero-panel h2,.page-intro h2{margin:0;font-family:Georgia,serif;font-size:30px;font-weight:500}.hero-panel p:last-child,.page-intro>p:last-child{color:#b8cbc4;max-width:760px;margin:9px 0 0;font-size:12px;line-height:1.6}.hero-panel>strong{font-family:Georgia,serif;font-size:46px;font-weight:500}.filters{grid-template-columns:minmax(260px,1fr) 150px 170px;gap:9px;margin:16px 0 12px;display:grid}.search{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:10px;height:46px;padding:0 15px;display:flex}.search input{border:0;outline:0;width:100%;font-size:12px}.filters select{border:1px solid var(--line);color:var(--body);background:#fff;border-radius:11px;padding:0 12px;font-size:11px}.library-list{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.library-list>article{border-bottom:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:110px;grid-template-columns:220px minmax(260px,1fr) 120px;align-items:start;gap:20px;padding:18px 20px;display:grid}.library-list>article:last-child{border-bottom:0}.term-column>span{color:var(--muted);text-transform:uppercase;font-size:8px}.term-column h3{color:var(--ink);margin:5px 0;font-family:Georgia,serif;font-size:18px}.term-column strong{color:var(--green);font-size:11px}.usage-column>p{color:var(--body);margin:0;font-size:12px}.empty{text-align:center;color:var(--muted);padding:50px}.page-intro{padding:10px 3px 25px}.page-intro>p:last-child{color:var(--muted)}.story-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.story-grid>article{border:1px solid var(--line);background:#fff;border-radius:17px;flex-direction:column;min-height:270px;padding:24px;display:flex;position:relative}.story-index{color:#d4dfda;font-family:Georgia,serif;font-size:29px;position:absolute;top:19px;right:21px}.story-grid small{color:var(--green);text-transform:uppercase;font-size:9px;font-weight:750}.story-grid h3{max-width:80%;color:var(--ink);margin:25px 0 13px;font-family:Georgia,serif;font-size:24px;font-weight:500}.story-grid p{color:#596c65;margin:0 0 22px;font-family:Georgia,serif;font-size:14px;line-height:1.65}.story-grid article>div{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:14px;display:flex}.story-grid button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:800}.question-groups{border-top:1px solid var(--line)}.question-groups article{border-bottom:1px solid var(--line)}.question-groups article>button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:45px 1fr 30px;align-items:center;gap:14px;width:100%;padding:18px 7px;display:grid}.question-groups article>button>span{color:#9bada6;font-family:Georgia,serif}.question-groups small{color:var(--green);text-transform:uppercase;font-size:9px;font-weight:800}.question-groups h3{color:var(--ink);margin:5px 0 0;font-family:Georgia,serif;font-size:18px;font-weight:500}.question-groups b{color:var(--green);font-size:20px;font-weight:400}.question-body{background:#fff;border-radius:13px;margin:0 0 18px 66px;padding:18px 21px}.sample-answers{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:35px;padding:28px}.reader-backdrop{z-index:60;background:#102b244d;justify-content:flex-end;display:flex;position:fixed;inset:0}.reader{background:#fff;width:min(760px,96vw);height:100%;padding:32px 40px 80px;overflow-y:auto;box-shadow:-25px 0 70px #15352c2e}.reader>header{justify-content:space-between;align-items:flex-start;gap:25px;display:flex}.reader h2{color:var(--ink);margin:0;font-family:Georgia,serif;font-size:31px;font-weight:500}.reader header button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:36px;height:36px;font-size:21px}.reader-actions{background:var(--soft);border-radius:10px;justify-content:space-between;align-items:center;margin:22px 0 30px;padding:12px 14px;display:flex}.reader-actions button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:800}.reader-actions span{color:var(--muted);font-size:10px}.markdown{color:var(--body);font-size:14px;line-height:1.7}.markdown h2{color:var(--ink);margin:34px 0 13px;font-family:Georgia,serif;font-size:27px;font-weight:500}.markdown h3{color:var(--ink);margin:28px 0 10px;font-family:Georgia,serif;font-size:21px;font-weight:500}.markdown h4{color:var(--ink);margin:23px 0 8px;font-size:15px}.markdown p{margin:9px 0}.markdown blockquote{background:var(--soft);border-left:3px solid #8dbda8;border-radius:0 12px 12px 0;margin:15px 0;padding:17px 20px}.markdown blockquote p{color:var(--ink);margin:7px 0;font-family:Georgia,serif;font-size:15px;line-height:1.7}.markdown ul,.markdown ol{padding-left:24px}.markdown li{margin:6px 0}.markdown code{color:var(--green-dark);background:#e9efeb;border-radius:5px;padding:2px 5px;font-size:.9em}.markdown-table-wrap{overflow-x:auto}.markdown table{border-collapse:collapse;width:100%;font-size:12px}.markdown th,.markdown td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px}.markdown th{background:var(--soft);color:var(--ink)}.mobile-nav{display:none}@media (max-width:1080px){.main{padding:30px 25px 80px}.today-layout{grid-template-columns:1fr}.today-aside{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.site-shell{display:block}.sidebar{display:none}.main{padding:20px 13px 82px}.topbar{margin-bottom:18px}.topbar h1{font-size:28px}.progress-sync-notice{align-items:flex-start;margin-top:-7px}.open-badge{display:none}.lesson-head{padding:22px 18px 19px}.lesson-head h2{font-size:24px}.lesson-head{flex-direction:column;align-items:stretch}.lesson-tools{grid-template-columns:auto minmax(0,1fr);place-items:center stretch;width:100%}.day-switch{grid-template-columns:29px 38px 29px}.voice-quick-button{min-height:40px}.voice-copy-help{grid-column:1/-1;max-width:none}.lesson-goal{margin:12px 12px 0;padding:16px}.lesson-section{padding:24px 18px}.drill-slots>div{grid-template-columns:1fr;gap:3px}.word-grid,.light-word-grid{grid-template-columns:1fr}.target-sentence-list article{grid-template-columns:32px 1fr;padding:15px}.target-sentence-list p{font-size:16px}.sentence-learning-toolbar{flex-direction:column;align-items:stretch}.closed-drills summary,.recall-grid summary{grid-template-columns:31px 1fr auto;padding:12px}.review-schedule{grid-template-columns:1fr}.review-hero{flex-direction:column;align-items:stretch;padding:22px 19px}.review-hero h2{font-size:25px}.review-progress{text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:80px}.review-progress strong{font-size:34px}.review-memory-stats{grid-template-columns:repeat(2,1fr)}.review-principles,.review-feature-grid,.review-pack-grid{grid-template-columns:1fr}.review-pack-card.stage-card{grid-column:auto}.review-pack-card{padding:19px}.review-copy-notice{justify-content:flex-start;bottom:72px}.review-result-panel,.review-history-panel{padding:19px}.sync-link-action{flex-direction:column;align-items:stretch}.sync-link-action .review-copy-button{width:100%}.review-result-heading,.review-history-heading{flex-direction:column;align-items:stretch}.review-import-steps,.review-result-actions,.review-history-list{grid-template-columns:1fr}.guided-review-card.active-session{grid-column:auto}.guided-cue{min-height:180px;padding:20px 14px}.guided-cue h3,.guided-cue blockquote{font-size:21px}.guided-actions,.today-aside{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters .search{grid-column:1/3}.library-list{background:0 0;border:0;gap:9px;display:grid}.library-list>article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:1fr;gap:12px;padding:17px;display:grid}.story-grid{grid-template-columns:1fr}.question-body{margin-left:0}.reader{padding:26px 20px 70px}.mobile-nav{z-index:50;height:64px;padding:6px 8px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafcf8f5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border:0;font-size:11px;font-weight:750}.mobile-nav button.active{color:var(--green)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
