
/* Newsbee ritual V1 — additional layer; keep existing responsive styles. */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ritual-prompt-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 0}
.ritual-text-button{border:0;background:none;color:#4f7a5c;font-size:12px!important;font-weight:700;padding:5px 0;white-space:normal;text-align:left}
.ritual-text-button:hover{text-decoration:underline}
.topic-guide{font-size:12px;color:#708774;background:#f1f5ed;border-left:2px solid #9fbaa0;padding:10px 14px;border-radius:4px 8px 8px 4px;min-height:44px}
.ritual-timer{margin-top:26px;background:#f7f8f3;border:1px solid #e4eadf;padding:20px 22px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.timer-readout{color:#355e48;font:400 37px/1.25 'DM Serif Display',Georgia,serif;letter-spacing:.04em;margin-top:8px;font-variant-numeric:tabular-nums}
.timer-readout.timer-done{color:#bc8250}
.timer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.timer-actions select,.word-controls select,.article-picker select{border:1px solid #d5dfd2;border-radius:9px;background:#fffefa;color:#31513c;padding:10px 13px;font-size:12px}
.timer-actions .btn{padding:8px 15px;min-height:38px;font-size:12px}
.timer-caption{font-size:11px!important;color:#9aaa9a!important;margin:8px 0 5px!important}
.word-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0}
.word-controls label{font-size:12px;color:#5e7566;font-weight:600}
.word-controls select{padding:6px 8px}
.word-controls .ritual-text-button{margin-left:auto}
.ritual-word-list{margin:18px 0}
.ritual-word-item{border:1px solid #e4e9df;background:#fbfcf8;border-radius:9px;padding:11px 13px;margin:8px 0;display:flex;align-items:center;justify-content:space-between;gap:9px}
.ritual-word-item .word-term{font-size:15px;font-weight:700;color:#355742;overflow-wrap:anywhere}
.ritual-word-item .word-seen{color:#548868}
.ritual-word-item .word-unseen{color:#b8c3b8}
.ritual-word-item small{font-size:10px;color:#91a494;display:block}
.ritual-check{width:100%;min-height:40px;font-size:12px;margin:4px 0 14px}
.ritual-feedback{background:#f4f7f0;border:1px solid #dae7d8;border-radius:10px;padding:14px;margin-bottom:18px;font-size:12px;color:#53705b}
.ritual-feedback h4{font:400 21px 'DM Serif Display',Georgia,serif;color:#30533c;margin:0 0 8px}
.ritual-feedback p{font-size:12px!important;margin-bottom:8px}
.ritual-feedback .meaning-row{border-top:1px solid #dce7d9;padding:8px 0}
.ritual-feedback .meaning-row strong{display:block;color:#31543c;font-size:12px}
.ritual-feedback .meaning-row em{font-size:11px;color:#718975}
.word-day-card{background:#e6eee2}
.daily-word{font:400 34px/1.25 'DM Serif Display',Georgia,serif;color:#335c45;margin:20px 0 5px;overflow-wrap:anywhere}
.daily-word-example{font:italic 16px/1.6 Georgia,serif;color:#51765b;margin-bottom:16px}
.ritual-small-print{font-size:11px;color:#93a095;margin-top:22px}
.ritual-small-print a{color:#44684e;text-decoration:underline}
.weekly-review{max-width:870px;padding:27px;margin:0 0 36px}
.weekly-top{display:flex;justify-content:space-between;align-items:center;gap:24px}
.weekly-review h2{font-size:34px;margin:11px 0}
.weekly-review p{font-size:12px;max-width:610px}
.weekly-count{font:400 55px/1 'DM Serif Display',Georgia,serif;color:#517f5d;text-align:center}
.weekly-count:after{content:'reflections';display:block;font:600 10px/1.7 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.weekly-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 20px}
.weekly-stat{background:#f3f6f0;border-radius:9px;padding:14px}
.weekly-stat b{display:block;font:400 29px 'DM Serif Display',Georgia,serif;color:#436f51}
.weekly-stat span{font-size:10px;color:#78927f;text-transform:uppercase;letter-spacing:.06em}
.weekly-tags{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.weekly-tag{background:#eef3ed;border-radius:30px;padding:6px 10px;font-size:11px;color:#496d52}
.weekly-notice{border-top:1px solid #dfe7dc;padding-top:13px;margin-top:15px;font-size:11px;color:#8b9f8e}
.article-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:9px 0 0}
.article-picker label{font-size:12px!important;flex:1}
.article-hint{font-size:11px!important;color:#8ca190!important;margin:0}
@media(max-width:640px){.ritual-timer{padding:16px}.weekly-stats{grid-template-columns:1fr 1fr}.weekly-top{align-items:start}.weekly-review{padding:18px}.ritual-prompt-bar{flex-wrap:wrap}}


/* Newsbee journal v2 — choose deliberately, then write. */
.daily-language-spotlight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 36px}
.spotlight-card{min-height:284px;display:flex;flex-direction:column;border:1px solid #d9e3d5;border-radius:16px;padding:25px 30px 23px;background:#e8eee4;position:relative;overflow:hidden;box-shadow:0 9px 26px #213b2508}
.spotlight-card:after{content:"";position:absolute;right:-50px;top:-65px;border:1px solid #b9cab8;border-radius:50%;height:170px;width:170px;opacity:.55;pointer-events:none}
.spotlight-verb{background:#f6ede3;border-color:#e8dcd0}
.spotlight-verb:after{border-color:#dbcbba}
.spotlight-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.spotlight-mini{font-size:10px;letter-spacing:.1em;color:#8f9e8f}
.spotlight-verb .spotlight-mini{color:#ac9685}
.spotlight-term{font:400 clamp(32px,3.3vw,47px)/1.08 'DM Serif Display',Georgia,serif;letter-spacing:-.025em;color:#335b42;margin:20px 0 6px}
.spotlight-verb .spotlight-term{color:#69533e}
.spotlight-meaning{font-size:13px!important;margin:0 0 12px!important;color:#66806c!important}
.spotlight-verb .spotlight-meaning{color:#896e5a!important}
.spotlight-collocation{border-top:1px solid #cddbc8;margin-top:7px;padding-top:10px}
.spotlight-verb .spotlight-collocation{border-color:#e1d2c4}
.spotlight-collocation strong{display:block;color:#355c42;margin-top:4px;font-size:13px}
.spotlight-verb .spotlight-collocation strong{color:#6e5843}
.spotlight-example{font:italic 15px/1.55 Georgia,serif!important;color:#4d7257!important;margin:10px 0 5px!important}
.spotlight-verb .spotlight-example{color:#886c58!important}
.spotlight-footnote{font-size:11px!important;margin:0 0 12px!important;color:#849785!important}
.spotlight-verb .spotlight-footnote{color:#a38c79!important}
.spotlight-card .ritual-text-button{margin-top:auto;position:relative;z-index:1}
.word-preparation{border:1px solid #dfe6da;background:#fffefa;border-radius:17px;padding:34px clamp(22px,3.3vw,45px) 27px;box-shadow:0 16px 44px #263b2309;margin:0 0 44px}
.prep-title-row{display:flex;justify-content:space-between;gap:25px;align-items:start}
.prep-title-row h2{font-size:clamp(36px,3.8vw,52px);margin:10px 0 10px}
.prep-title-row p{font-size:13px;max-width:590px;margin:0}
.selection-counter{border:1px solid #d9e6d5;border-radius:12px;background:#f0f6ed;text-align:center;padding:16px 22px;flex-shrink:0;min-width:105px}
.selection-counter strong{font:400 38px/1 'DM Serif Display',Georgia,serif;color:#315a41}
.selection-counter strong span{font-size:19px;color:#a4b6a4}
.selection-counter small{display:block;margin-top:6px;color:#8a9d89;letter-spacing:.1em;text-transform:uppercase;font-size:9px}
.selected-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:28px 0 23px}
.empty-slot,.picked-slot{min-height:67px;border:1px dashed #ccdbca;border-radius:10px;background:#f7f9f5;display:flex;align-items:center;justify-content:center;font-size:12px;color:#9aac98;padding:10px;text-align:center;min-width:0;overflow-wrap:anywhere}
.picked-slot{border-style:solid;border-color:#bbd3be;background:#e8f1e7;color:#315c43!important;font-weight:700!important;justify-content:space-between;gap:9px;cursor:pointer}
.picked-slot:hover{background:#dbeadb}
.slot-remove{font-size:22px;color:#76957c;line-height:1}
.word-picker{border:1px solid #e2e8dc;border-radius:12px;overflow:hidden}
.picker-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#f7f8f4;border-bottom:1px solid #e4e9df}
.picker-tabs button{padding:16px 12px;text-align:center;border:0;border-bottom:2px solid transparent;background:transparent;font-size:12px!important;font-weight:700;color:#849486}
.picker-tabs button.active{background:white;border-bottom-color:#477457;color:#356344}
.picker-panel{padding:20px 23px 16px;min-height:170px}
.picker-search,.picker-filters select,.custom-word-form input{padding:11px 13px;border:1px solid #d9e3d6;border-radius:9px;background:white;color:#2c4935;font-size:13px;width:100%}
.picker-search{max-width:430px}
.picker-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}
.picker-empty{font-size:12px!important;grid-column:1/-1;color:#839585!important}
.candidate-word{border:1px solid #dfe7dc;background:#fffefa;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;text-align:left;min-height:45px;min-width:0}
.candidate-word:hover{background:#f1f6ef;border-color:#b4d0b7}
.candidate-word.chosen{background:#e5efe5;border-color:#b8d5bc}
.candidate-term{color:#335b42;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.candidate-indicator{color:#769e7b;font-size:10px;flex-shrink:0}
.picker-filters{display:flex;flex-wrap:wrap;gap:14px}
.picker-filters label{display:grid;gap:7px;flex:1;min-width:170px;color:#597461;font-size:11px;font-weight:700}
.picker-disclaimer{font-size:11px!important;color:#91a493!important;margin:12px 0!important}
.custom-word-form label{font-size:12px;color:#567160;font-weight:700}
.custom-word-form>div{display:flex;gap:10px;align-items:center;margin-top:11px;flex-wrap:wrap}
.custom-word-form input{flex:1;min-width:180px}
.custom-word-form .btn{font-size:12px;flex-shrink:0}
.prep-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;flex-wrap:wrap}
.prep-instruction{font-size:12px!important;margin:0!important}
.prep-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.prep-actions .btn{min-width:194px}
.prep-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.writing-step-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.writing-step-heading h2{font-size:36px;margin:8px 0 0}
.ritual-word-card .ritual-word-list{margin:18px 0}
.recall-confirm{display:flex;align-items:center;gap:6px;font-size:11px;margin-top:7px}
.journal-explorer{max-width:980px;margin:0 0 32px;background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:26px 28px;box-shadow:0 14px 36px #253b2510}
.explore-top{display:flex;justify-content:space-between;align-items:center;gap:18px}
.explore-top h2{font-size:clamp(27px,3vw,38px);margin:10px 0 12px}
.explore-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:15px 0 23px;flex-wrap:wrap}
.explore-segments{display:flex;background:#f2f5ef;border-radius:10px;padding:4px;gap:3px}
.explore-segments button{border:0;border-radius:8px;background:transparent;color:#77907a;padding:9px 17px;font-size:12px;font-weight:700}
.explore-segments button.active{background:white;box-shadow:0 2px 8px #294c3212;color:#365e43}
.explore-toolbar input{border:1px solid #dee7dc;background:white;padding:10px 13px;border-radius:9px;font-size:12px;min-width:230px;max-width:100%;flex:1}
.calendar-panel{max-width:580px;margin:0 auto 10px}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:5px 0 17px}
.calendar-head strong{font-family:'DM Serif Display',Georgia,serif;font-size:27px;color:#385b44;font-weight:400}
.calendar-head button{width:38px;height:38px;border:1px solid #e0e8de;background:white;border-radius:9px;color:#54735c;font-size:16px}
.calendar-head button:hover{background:#eff5ef}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center}
.calendar-weekdays{color:#9aa89b;font-size:10px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:9px}
.calendar-day,.calendar-filler{height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid transparent;border-radius:9px;background:transparent;color:#778778;font-size:13px}
.calendar-day{position:relative}
.calendar-day:hover{background:#f5f8f3}
.calendar-day.today{border-color:#d1e0cd}
.calendar-day.has-entry{color:#315b40;background:#e9f2e8;font-weight:700}
.calendar-day.selected{border-color:#51845e;background:#d9eadd}
.calendar-dot{font-size:9px;line-height:1;color:#4e8860;position:absolute;bottom:5px}
.calendar-note{font-size:11px!important;text-align:center;color:#a0aea0!important;margin-top:16px!important}
.entry-preview{border:1px solid #e1e9dd;border-radius:12px;background:#f7f9f5;padding:22px;margin-top:21px}
.preview-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:13px}
.preview-heading h3{font-size:27px;margin:7px 0 0}
.preview-body{white-space:pre-wrap;font:15px/1.8 Georgia,serif!important;color:#47614c!important;margin:15px 0 0!important;overflow-wrap:anywhere}
.archive-actions{display:flex;flex-direction:column;align-items:end;gap:7px}
.archive-entry-interactive{align-items:center}
@media(max-width:900px){.selected-slots{grid-template-columns:repeat(3,1fr)}.daily-language-spotlight{gap:12px}.spotlight-card{padding:22px}}
@media(max-width:650px){.daily-language-spotlight{grid-template-columns:1fr}.spotlight-card{min-height:240px}.word-preparation{padding:22px 17px}.selection-counter{padding:12px 15px;min-width:85px}.prep-title-row h2{font-size:35px}.selected-slots{grid-template-columns:repeat(2,1fr)}.picker-results{grid-template-columns:repeat(2,minmax(0,1fr))}.picker-tabs button{font-size:10px!important;padding:12px 6px}.picker-panel{padding:16px 14px}.prep-actions{width:100%;justify-content:space-between}.prep-actions .btn{min-width:0}.writing-step-heading{align-items:flex-start;flex-direction:column}.journal-explorer{padding:18px 14px}.explore-top{align-items:flex-start;flex-direction:column}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-day,.calendar-filler{height:48px}.preview-heading h3{font-size:23px}.explore-toolbar input{min-width:120px}}


/* User-directed writing and bilingual learning */
.language-setting{
 background:#fffefa;border:1px solid #dee6d8;border-radius:14px;
 display:flex;justify-content:space-between;align-items:center;gap:20px;
 padding:16px 24px;margin:35px 0 25px;flex-wrap:wrap;
}
.language-setting p{font-size:12px!important;margin:5px 0 0!important;color:#7b8b7e!important}
.language-toggle{display:flex;align-items:center;gap:5px;padding:5px;
 background:#edf2eb;border-radius:11px;flex-shrink:0
}
.language-toggle button{border:0;border-radius:8px;padding:10px 14px;
 background:transparent;color:#617d68;font-size:12px!important;font-weight:700;
 white-space:nowrap}
.language-toggle button.active{background:#fffefa;box-shadow:0 2px 11px #2f492a15;color:#315943}
.language-toggle button span{font-size:14px;margin-left:4px}
.writing-directions{padding:22px 0 23px;margin:15px 0 0;
 border-top:1px solid #e4e9df;border-bottom:1px solid #e4e9df}
.direction-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.direction-heading h3{font-size:31px;margin:9px 0 0}
.direction-categories{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 17px}
.direction-category{border-radius:20px;background:#f4f6f0;border:1px solid #e0e8db;
 padding:9px 12px;font-size:11px!important;font-weight:700;color:#617963}
.direction-category.active{background:#e2eddf;border-color:#b9d0b9;color:#305b3d}
.direction-category:hover{border-color:#9ebea2}
.direction-prompts{display:grid;grid-template-columns:1fr;gap:7px;max-height:245px;overflow-y:auto;scrollbar-color:#cbd8ca transparent}
.direction-prompt{border:1px solid #e1e7df;border-radius:10px;background:#fffefa;color:#516a58;
 text-align:left;padding:12px 14px;font-size:12px!important;line-height:1.5}
.direction-prompt:hover{background:#f4f8f1;border-color:#c2d5bd}
.direction-prompt.active{background:#eaf2e6;border-color:#bed2b7;color:#355f42;font-weight:700}
.direction-active{margin-top:16px}
.direction-active>.card-overline{display:block;margin-bottom:9px}
.direction-active .topic-guide{font-size:12px;color:#5f7862;background:#f2f6ef;border-left:3px solid #91b296}
.inspiration-card{margin:12px 0;padding:18px 19px;background:#edf2e9;border-radius:10px;border:1px solid #dbe7d5}
.inspiration-card strong{display:block;font-size:10px;letter-spacing:.12em;color:#54755b}
.inspiration-card p{font-size:13px!important;line-height:1.65;color:#506b56!important;margin:10px 0!important}
.inspiration-card a{font-size:11px;color:#4f7857!important;text-decoration:underline}
.followup-guide{margin:12px 0;padding:15px 17px;background:#f6f1e8;border-radius:9px}
.followup-guide p{font:italic 17px/1.5 Georgia,serif;color:#755d42;margin:6px 0}
.direction-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px}
.direction-actions>span{font-size:11px;color:#a2afa3}
@media(max-width:700px){
 .language-setting{padding:14px 16px;margin:20px 0}
 .direction-heading h3{font-size:26px}
 .direction-categories{gap:6px}
 .direction-category{font-size:10px!important;padding:8px 10px}
 .direction-prompts{max-height:235px}
 .language-toggle{width:100%;justify-content:space-around}
 .language-toggle button{flex:1}
}

.prompt-translation{font:italic 12px/1.5 Georgia,serif;color:#91a194;margin:8px 0 0;padding-left:14px}

/* Three language discoveries and one-click five-word surprise */
.daily-language-spotlight{grid-template-columns:repeat(3,minmax(0,1fr))}
.spotlight-card{min-width:0;padding:23px 22px;min-height:316px}
.spotlight-card .spotlight-term{font-size:clamp(26px,2.6vw,37px);overflow-wrap:anywhere}
.spotlight-card .spotlight-example{font-size:14px!important}
.spotlight-card .ritual-text-button{font-size:12px!important}
.spotlight-idiom{background:#eee9f1;border-color:#e2d9e8}
.spotlight-idiom:after{border-color:#d7cbde}
.spotlight-idiom .spotlight-term{color:#624b6f}
.spotlight-idiom .spotlight-meaning,.spotlight-idiom .spotlight-example{color:#796582!important}
.spotlight-idiom .spotlight-collocation{border-color:#ddd2e1}
.spotlight-idiom .spotlight-collocation strong{color:#695473}
.random-words-offer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:21px 23px;margin:25px 0 0;border:1px solid #d2e3cc;border-radius:13px;
  background:linear-gradient(115deg,#eaf3e7,#f8faf4)}
.random-words-offer>div{flex:1;min-width:200px}
.random-words-offer h3{font-size:24px;margin:7px 0}
.random-words-offer p{font-size:12px!important;color:#69806d!important;margin:6px 0!important;line-height:1.55}
.random-words-offer .random-helper{font-size:11px!important;color:#8a9b8c!important}
.random-words-offer .random-helper strong{color:#5e765f}
.random-five-button{white-space:normal;min-width:180px;min-height:47px}
@media(max-width:1150px){.daily-language-spotlight{grid-template-columns:repeat(2,minmax(0,1fr))}.spotlight-idiom{grid-column:1/-1;min-height:250px}.spotlight-idiom .spotlight-term{font-size:35px}}
@media(max-width:650px){.daily-language-spotlight{grid-template-columns:1fr}.spotlight-idiom{grid-column:auto}.random-words-offer{padding:17px}.random-five-button{width:100%}}

.featured-swap{border:1px solid #d7dadd;border-radius:13px;background:#f7f5f9;padding:20px 24px;margin:-17px 0 30px}
.featured-swap[hidden]{display:none!important}
.featured-swap-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;flex-wrap:wrap}
.featured-swap-heading h3{font-size:23px;margin:6px 0 12px}
.featured-swap-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.swap-option{border:1px solid #d9d0df;background:white;border-radius:10px;padding:12px 10px;display:flex;flex-direction:column;
 gap:5px;align-items:flex-start;text-align:left;overflow-wrap:anywhere;color:#614c70;font-size:12px;font-weight:700}
.swap-option small{font-size:10px;font-weight:400;color:#97869e}
.swap-option:hover{background:#ebe2ef;border-color:#b6a4c1}
.spotlight-card .ritual-text-button:disabled{text-decoration:none;cursor:default;color:#899889;opacity:.8}
@media(max-width:850px){.featured-swap-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:550px){.featured-swap-options{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-swap{padding:17px}}

/* Individual reflection management: several reflections can share one date. */
.preview-group-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.preview-count{color:#85978b;font-size:11px}
.preview-entry{padding:18px 0 15px;border-top:1px solid #e2e9df;margin-top:16px}
.preview-entry h3{font-size:22px;line-height:1.2;color:#3f6347}
.preview-entry .preview-body{white-space:pre-wrap}
.preview-entry-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:13px}
.archive-delete{border:1px solid #e6cccb;border-radius:7px;color:#aa615a;background:#fff8f6;padding:7px 11px;font-size:11px!important;font-weight:700}
.archive-delete:hover{background:#faeae7}
.archive-delete:disabled{opacity:.4;cursor:wait}
.archive-actions{align-items:flex-end;min-width:80px}
.calendar-dot{font-weight:700}
#journal-action-message:not(:empty){max-width:880px;margin:0 0 16px}
@media(max-width:640px){.preview-entry{padding:14px 0}.archive-delete{padding:6px 10px}}

/* Journal writing companion; when minimized, the header remains visible. */
.topic-companion{background:#f7f9f3;border:1px solid #dce8d9;}
.topic-companion .companion-head{display:flex;justify-content:space-between;gap:10px;align-items:start}
.topic-companion .companion-head h3{font-size:23px;margin:8px 0 5px}
.companion-collapse{background:#e5efe2;border:1px solid #cddfca;color:#47684d;
 padding:7px 10px;border-radius:8px;font-size:11px!important;white-space:nowrap;cursor:pointer}
.companion-collapse:hover{background:#d9e8d5}
.companion-description,.companion-footnote{font-size:11px!important;color:#78947c!important;line-height:1.6;margin:8px 0!important}
.companion-phrase-list{display:grid;gap:9px;margin-top:17px}
.companion-phrase{padding:12px;border:1px solid #e0e9de;border-radius:9px;background:#fffefa}
.companion-phrase strong{display:block;color:#365b43;font-size:14px;overflow-wrap:anywhere}
.companion-meaning{display:block;color:#6b806d;font-size:11px;margin-top:2px}
.companion-example{color:#779077!important;font-style:italic;font-size:12px!important;margin:8px 0!important}
.companion-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:space-between}
.companion-actions button:disabled{opacity:.65;color:#829782;cursor:default}
#topic-companion-content[hidden]{display:none!important}
@media(max-width:650px){.companion-head{align-items:center}}

/* Journal refinement: a calm but unmistakable writing surface. */
.daily-language-spotlight{gap:13px;margin-bottom:27px}
.spotlight-card{min-height:235px;padding:18px 21px 16px}
.spotlight-card .spotlight-term{font-size:clamp(24px,2.2vw,31px);margin:13px 0 5px}
.spotlight-card .spotlight-example{font-size:12px!important;margin:6px 0!important}
.spotlight-card .spotlight-collocation{padding-top:7px}
.spotlight-card .spotlight-footnote{margin-bottom:7px!important}
.spotlight-card:after{width:120px;height:120px}
.journal-card{background:linear-gradient(165deg,#f4f8f0 0%,#fffefa 65%);border:1px solid #cddfcd;box-shadow:0 16px 44px #244d2a12}
.journal-card .writing-directions{background:#fff9f0;border:1px solid #eadbc4;border-left:4px solid #cfa979;padding:19px 21px;border-radius:11px;margin:23px 0}
.journal-card .direction-heading h3{font-size:27px;color:#4b4639}
.journal-card .direction-active .topic-guide{background:#fffdf8;border-left-color:#cfa979}
.journal-card textarea{min-height:320px;padding:23px 24px!important;background:white!important;border:1px solid #c7d8c9!important;border-radius:12px!important;line-height:1.75!important;margin:13px 0 16px}
.journal-card textarea:focus-visible{outline:3px solid #d8ebd4!important;outline-offset:2px}
.writing-word-tray{position:static;background:#f8faf6;border:1px solid #dce7db;border-radius:10px;padding:11px 14px;margin:15px 0 0;box-shadow:none}
.writing-word-tray[hidden],#writing-word-content[hidden]{display:none!important}
.writing-word-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.writing-word-heading .card-overline{font-size:10px;white-space:nowrap}
.word-progress{font-size:11px;color:#577a61;white-space:nowrap}
.writing-word-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.writing-word-actions .ritual-text-button{font-size:11px;white-space:nowrap}
.writing-word-tray .ritual-word-list{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 0}
.writing-word-tray .ritual-word-item{display:inline-flex;align-items:center;margin:0;padding:5px 10px;gap:6px;background:#fffefa;border:1px solid #dfe8db;border-radius:999px;max-width:100%}
.writing-word-tray .ritual-word-item .word-term{font-size:12px;font-weight:500;overflow-wrap:anywhere}
.writing-word-tray .ritual-word-item.is-detected{background:#eaf4e8;border-color:#cce2ca}
.writing-word-tray .ritual-word-item.is-possible{background:#fdf7eb;border-color:#eadac2}
.writing-word-tray .ritual-word-item .word-seen,
.writing-word-tray .ritual-word-item .word-possible{font-size:11px;font-weight:700;white-space:nowrap}
.ritual-word-item .word-possible{color:#a46e35}
.writing-word-tray .ritual-feedback{margin-top:12px;margin-bottom:0;max-height:290px;overflow-y:auto;background:#fffefa}
.topic-companion{position:sticky;top:14px;background:#f9faf5;border-color:#c7dfc6;box-shadow:0 12px 28px #31543c12}
@media(min-width:901px){
 .side-stack{position:sticky;top:14px;align-self:start;max-height:calc(100vh - 28px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c6d8c7 transparent;padding-right:3px}
 .topic-companion{position:static}
}
.saved-picker-pages{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:13px 0 16px}
.saved-picker-pages button{border:1px solid #cedfcc;border-radius:9px;background:#fffefa;padding:9px 12px;color:#476e4d;font-size:12px;font-weight:700}
.saved-picker-pages button:disabled{opacity:.4;cursor:not-allowed}
.saved-picker-pages span{font-size:11px;color:#728a73}
.picker-swipe-hint{display:none}
.ritual-timer{padding:10px 15px;margin-top:18px;background:#f9faf6;border-color:#e4eae2;display:block}
.timer-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
.timer-details{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:9px}
.timer-details[hidden],.saved-picker-pages[hidden]{display:none!important}
.timer-readout{font-size:27px;margin:0}
.timer-complete-alert{background:#fff3db;border:1px solid #e0c690;color:#6b552b;font-size:12px;padding:12px 15px;border-radius:9px;margin:10px 0}
@media(max-width:1150px){.spotlight-idiom{min-height:200px}.spotlight-idiom .spotlight-term{font-size:29px}}
@media(max-width:900px){.topic-companion{position:static}}
@media(max-width:650px){
 .spotlight-card{min-height:185px;padding:17px}
 .spotlight-card .spotlight-term{font-size:28px}
 .writing-word-tray{padding:10px 11px}
 .writing-word-actions{margin-left:0;justify-content:flex-start;width:100%;gap:18px}
 .writing-word-tray .ritual-word-item{padding:5px 7px}
 .journal-card textarea{padding:16px!important;font-size:17px}
 .journal-card .writing-directions{padding:15px}
 .picker-swipe-hint{display:block;font-size:11px!important;color:#8ca08d!important}
}

/* My Journal: weekly patterns and calendar form one compact overview row. */
.journal-page-heading{margin:25px 0 23px}
.journal-page-heading h1{font-size:clamp(37px,3.7vw,56px);line-height:1.12;margin:10px 0 7px}
.journal-page-heading p{font-size:13px}
.journal-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:19px;align-items:stretch}
.journal-overview-grid .weekly-review,
.journal-overview-grid .journal-explorer{max-width:none;min-width:0;margin:0;padding:24px 24px 21px}
.journal-overview-grid .weekly-top{gap:13px;align-items:start}
.journal-overview-grid .weekly-top h2{font-size:clamp(24px,2.4vw,30px);line-height:1.18;margin:8px 0}
.journal-overview-grid .weekly-top p{font-size:11px;line-height:1.6}
.journal-overview-grid .weekly-count{font-size:43px;min-width:46px}
.journal-overview-grid .weekly-count:after{font-size:8px}
.journal-overview-grid .weekly-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}
.journal-overview-grid .weekly-stat{padding:11px 12px}
.journal-overview-grid .weekly-stat b{font-size:26px}
.journal-overview-grid .weekly-stat span{font-size:9px;line-height:1.3}
.journal-overview-grid .weekly-tag{font-size:10px;padding:5px 9px}
.journal-overview-grid .weekly-review p{font-size:11px;line-height:1.6}
.journal-overview-grid .weekly-notice{font-size:10px;margin-top:11px;padding-top:9px}
.journal-overview-grid .explore-top h2{font-size:clamp(25px,2.5vw,31px);line-height:1.15;margin:7px 0 9px}
.journal-overview-grid .explore-top .btn{font-size:11px;padding:9px 11px;white-space:nowrap}
.journal-overview-grid .explore-toolbar{margin:9px 0 15px;gap:8px}
.journal-overview-grid .explore-toolbar input{min-width:125px;padding:8px 10px;font-size:11px}
.journal-overview-grid .explore-segments button{padding:7px 11px;font-size:11px}
.journal-overview-grid .calendar-panel{max-width:none}
.journal-overview-grid .calendar-head{margin:0 0 10px}
.journal-overview-grid .calendar-head strong{font-size:24px}
.journal-overview-grid .calendar-head button{height:32px;width:32px}
.journal-overview-grid .calendar-weekdays,.journal-overview-grid .calendar-grid{gap:4px}
.journal-overview-grid .calendar-day,.journal-overview-grid .calendar-filler{height:39px;border-radius:7px;font-size:12px}
.journal-overview-grid .calendar-dot{font-size:8px;bottom:2px}
.journal-overview-grid .calendar-note{margin:9px 0 0!important;font-size:10px!important}
.journal-overview-grid + .history-strip{margin:24px 0 13px}
.journal-overview-grid + .history-strip h3{font-size:28px}
.archive-list{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.archive-entry{align-items:start;padding:19px 21px;min-width:0}
.archive-entry>div:first-child{min-width:0}
.archive-entry h3{font-size:20px;line-height:1.25}
.archive-entry p{font-size:13px;line-height:1.5}
@media(max-width:1180px){
 .journal-overview-grid{grid-template-columns:1fr}
 .journal-overview-grid .weekly-review,.journal-overview-grid .journal-explorer{padding:22px}
}
@media(max-width:760px){
 .journal-page-heading{margin:20px 0}
 .journal-page-heading h1{font-size:40px}
 .archive-list{grid-template-columns:1fr}
 .archive-entry{padding:17px}
}

/* Today: lead with the writing task instead of a full-screen introduction. */
.today-page-heading{margin:20px 0 19px}
.today-page-heading h1{font-size:clamp(35px,3.45vw,57px);line-height:1.06;margin:8px 0 9px}
.today-page-heading p{font-size:13px;line-height:1.5;margin-bottom:0}
.daily-language-spotlight{gap:12px;margin:0 0 18px}
.daily-language-spotlight .spotlight-card{min-height:168px;padding:15px 18px 16px}
.daily-language-spotlight .spotlight-card:after{height:115px;width:115px;right:-38px;top:-54px}
.daily-language-spotlight .spotlight-head{gap:4px}
.daily-language-spotlight .spotlight-head .card-overline{font-size:10px}
.daily-language-spotlight .spotlight-mini{font-size:9px}
.daily-language-spotlight .spotlight-card .spotlight-term{font-size:clamp(23px,2vw,31px);margin:8px 0 3px;line-height:1.12}
.daily-language-spotlight .spotlight-card .spotlight-meaning{font-size:12px!important;line-height:1.4;margin:0 0 5px!important}
.spotlight-more{margin:3px 0 11px;position:relative;z-index:1}
.spotlight-more summary{cursor:pointer;font-size:11px;font-weight:650;color:#587a60;line-height:1.4;width:max-content;max-width:100%}
.spotlight-verb .spotlight-more summary{color:#896e5a}
.spotlight-idiom .spotlight-more summary{color:#796582}
.spotlight-more summary:hover{text-decoration:underline}
.spotlight-more[open]{margin-bottom:10px}
.spotlight-more .spotlight-collocation{margin-top:9px}
.daily-language-spotlight .spotlight-card .ritual-text-button{font-size:11px!important;padding:5px 0;margin-top:auto}
.word-preparation{padding:23px 26px 22px;margin-bottom:28px}
.prep-title-row{gap:15px}
.prep-title-row h2{font-size:clamp(29px,2.65vw,39px);line-height:1.13;margin:6px 0 7px}
.prep-title-row p{font-size:12px;line-height:1.5}
.prep-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.prep-heading-actions .ritual-text-button{font-size:11px!important;text-align:right}
.prep-heading-actions .selection-counter{padding:8px 13px;min-width:84px}
.prep-heading-actions .selection-counter strong{font-size:28px}
.prep-heading-actions .selection-counter strong span{font-size:15px}
.random-words-offer{padding:12px 15px;margin-top:15px;gap:12px}
.random-words-offer h3{font-size:18px;margin:3px 0}
.random-words-offer p{font-size:11px!important;margin:3px 0!important}
.random-five-button{min-height:39px;font-size:11px}
.selected-slots{gap:7px;margin:15px 0}
.empty-slot,.picked-slot{min-height:48px;padding:8px;font-size:11px}
.picker-panel{padding:14px 18px 11px}
.picker-tabs button{padding:12px 9px}
.prep-footer{margin-top:14px}
@media(max-width:1150px){
 .daily-language-spotlight{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
 .daily-language-spotlight .spotlight-card{flex:0 0 min(38vw,320px);scroll-snap-align:start;min-height:168px}
 .daily-language-spotlight .spotlight-idiom{grid-column:auto;min-height:168px}
 .daily-language-spotlight .spotlight-idiom .spotlight-term{font-size:27px}
}
@media(max-width:650px){
 .today-page-heading{margin:14px 0 15px}
 .today-page-heading h1{font-size:36px;line-height:1.1}
 .today-page-heading p{font-size:12px}
 .daily-language-spotlight{gap:10px;margin-bottom:15px}
 .daily-language-spotlight .spotlight-card{flex-basis:min(79vw,300px);min-height:165px;padding:14px 15px}
 .daily-language-spotlight .spotlight-card .spotlight-term{font-size:26px}
 .word-preparation{padding:17px 15px}
 .prep-title-row{flex-direction:column;align-items:stretch;gap:10px}
 .prep-title-row h2{font-size:31px}
 .prep-heading-actions{justify-content:space-between;gap:12px}
 .prep-heading-actions .ritual-text-button{text-align:left}
 .random-words-offer{margin-top:13px;padding:12px}
 .random-five-button{width:100%}
 .selected-slots{margin:13px 0}
 .picker-panel{padding:13px 12px 9px}
}

/* Today: visible example text, generous writing space, and a true page-level word reminder. */
.today-page-heading{margin-top:5px}
.today-page-heading h1{margin-top:5px}
.daily-language-spotlight .spotlight-card{min-height:225px}
.daily-language-spotlight .spotlight-card .spotlight-term{margin-top:8px}
.daily-language-spotlight .spotlight-more{margin-top:5px;margin-bottom:9px}
.daily-language-spotlight .spotlight-more summary{color:#607e67;font-size:10px;letter-spacing:.015em}
.daily-language-spotlight .spotlight-more[open] summary{margin-bottom:7px}
.daily-language-spotlight .spotlight-more .spotlight-collocation{margin-top:4px;padding-top:6px}
.daily-language-spotlight .spotlight-more .spotlight-collocation strong{font-size:12px;margin-top:3px}
.daily-language-spotlight .spotlight-more .spotlight-example{font-size:13px!important;line-height:1.4;margin:6px 0!important}
.daily-language-spotlight .spotlight-more .spotlight-footnote{font-size:10px!important;line-height:1.4;margin-bottom:5px!important}
#writing-stage>.dashboard-columns{grid-template-columns:minmax(0,1fr) minmax(250px,.36fr);gap:18px}
#writing-stage .journal-card{padding:32px clamp(24px,3vw,45px)}
#writing-stage .journal-card textarea{min-height:475px;font-size:20px;line-height:1.85!important;padding:26px 27px!important}
#writing-stage .journal-card .writing-word-tray:not([hidden])+label[for="journal-body"]{margin-top:13px!important}
#writing-stage .ritual-timer{margin:20px 0 24px;padding:13px 16px}
#writing-stage .timer-top{min-height:22px}
#writing-stage .journal-card label[for="journal-body"]{margin-top:25px!important}
#writing-stage .side-stack{max-height:calc(100vh - 24px)}
@media(max-width:900px){
 #writing-stage>.dashboard-columns{grid-template-columns:minmax(0,1fr)}
 #writing-stage .side-stack{max-height:none;overflow:visible;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .today-page-heading{margin-top:3px}
 .daily-language-spotlight .spotlight-card{min-height:225px}
 #writing-stage .journal-card{padding:23px 17px}
 #writing-stage .journal-card textarea{min-height:370px;font-size:18px;padding:17px!important}
 #writing-stage .side-stack{grid-template-columns:1fr}
}

/* My Journal: a stable reader beside an expanded, browsable reflection library. */
.journal-reading-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:19px;margin:23px 0 0}
.journal-reflection-library{min-width:0}
.journal-reflection-library .history-strip{margin:0 0 13px}
.journal-reflection-library .history-strip h3{font-size:29px}
.journal-reflection-library .archive-list{grid-template-columns:1fr;gap:11px;max-width:none}
.journal-reflection-library .archive-entry{display:block;min-width:0;padding:19px 21px;background:#fffefa;box-shadow:0 5px 18px #263b2307}
.journal-reflection-library .archive-entry-selected{border-color:#99bea0;background:#f6faf3;box-shadow:0 0 0 2px #dbeade}
.journal-reflection-library .archive-entry h3{font-size:21px;margin:7px 0 9px}
.journal-reflection-library .archive-entry p{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.archive-date-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.archive-review-badge{font-size:10px;font-weight:700;border-radius:12px;background:#e5f1e1;color:#3b704b;padding:4px 8px}
.journal-reflection-library .archive-actions{display:flex;align-items:center;justify-content:space-between;flex-direction:row;gap:12px;margin-top:14px}
.journal-reflection-library .archive-actions .ritual-text-button{font-size:12px!important}
.journal-reading-pane{position:sticky;top:14px;align-self:start;min-width:0;max-height:calc(100vh - 28px);overflow-y:auto;background:#fffefa;border:1px solid #d8e2d5;border-radius:17px;padding:25px 27px 28px;box-shadow:0 15px 35px #24452a10;scrollbar-color:#bbcfbd transparent;scroll-margin-top:14px}
.reader-intro{border-bottom:1px solid #e1e8de;padding-bottom:15px;margin-bottom:15px}
.reader-intro h2{font-size:30px;margin:6px 0 5px}
.reader-intro p{font-size:12px;line-height:1.65;margin:0}
.journal-reading-pane .entry-preview{background:none;border:0;padding:0;margin:0}
.reader-placeholder{font-size:13px;color:#8a9989;line-height:1.7}
.journal-reading-pane .preview-entry{margin-top:17px;padding-top:18px;border-color:#dfe8dc}
.journal-reading-pane .preview-entry:first-of-type{margin-top:5px;border-top:0;padding-top:10px}
.journal-reading-pane .preview-entry h3{font-size:27px;line-height:1.18;margin:2px 0 16px}
.journal-reading-pane .preview-group-header{padding-bottom:7px}
.reader-entry-choices{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 14px}
.reader-entry-choice{border:1px solid #d6e4d4;background:#f6f9f4;border-radius:8px;color:#57715c;font-size:11px!important;font-weight:700;padding:8px 10px;max-width:100%;text-align:left}
.reader-entry-choice.active{background:#e5f0e2;color:#2e5b3c;border-color:#9abf9e}
.reader-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}
.reader-comparison:not(.has-correction){grid-template-columns:1fr}
.reader-version{background:#faf9f4;border:1px solid #e4e6db;padding:16px 17px;border-radius:11px;min-width:0}
.reader-version-corrected{background:#eff6ed;border-color:#cfe3ce}
.reader-version .preview-body{font-size:15px!important;line-height:1.75!important;margin:10px 0 0!important}
.reader-version-corrected .preview-body{color:#315d42!important}
.reader-ai-summary{margin-top:13px;background:#f3f7f1;border-left:3px solid #8faf8d;padding:13px 15px;border-radius:7px}
.reader-ai-summary p{font-size:12px;line-height:1.6;margin:6px 0}
.reader-ai-highlights{padding-left:19px;margin:7px 0 0;font-size:12px;color:#456d4d;line-height:1.65}
.journal-reading-pane .preview-entry-actions{border-top:1px solid #e2e9df;padding-top:12px;margin-top:16px}
.journal-reading-pane .coach-panel{margin-top:17px}
@media(max-width:1190px){.reader-comparison.has-correction{grid-template-columns:1fr}}
@media(max-width:900px){
 .journal-reading-layout{display:flex;flex-direction:column;gap:17px}
 .journal-reading-pane{order:0;position:static;max-height:none;overflow:visible;width:100%;padding:21px}
 .journal-reflection-library{order:1;width:100%}
 .reader-comparison.has-correction{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .journal-reading-pane{padding:17px}
 .reader-intro h2{font-size:27px}
 .journal-reading-pane .preview-entry h3{font-size:24px}
 .reader-comparison.has-correction{grid-template-columns:1fr}
 .reader-version{padding:13px 14px}
 .journal-reflection-library .archive-entry{padding:16px}
}

/* A reflection title is a first-class reading action, not a static label. */
.archive-title-button{display:block;width:100%;border:0;background:transparent;padding:0;margin:0;text-align:left;font:inherit!important;letter-spacing:inherit;line-height:inherit;color:inherit;cursor:pointer}
.archive-title-button:hover{color:#477b55;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.archive-title-button:focus-visible{outline:3px solid #a8c9a4;outline-offset:4px;border-radius:3px}

/* Freestyle shares the private journal and opt-in feedback path, minus the challenge. */
.freestyle-mode .today-page-heading,
.freestyle-mode .daily-language-spotlight,
.freestyle-mode #featured-swap,
.freestyle-mode #word-preparation,
.freestyle-mode #change-my-words,
.freestyle-mode #writing-stage .writing-directions,
.freestyle-mode #writing-stage .journal-card>.timer-caption,
.freestyle-mode #writing-stage .side-stack{display:none!important}
.freestyle-mode #writing-stage{margin-top:27px}
.freestyle-mode #writing-stage>.dashboard-columns{grid-template-columns:minmax(0,1fr);max-width:1010px;margin:auto}
.freestyle-mode #writing-stage .journal-card{padding:clamp(24px,4vw,50px)}
.freestyle-mode #writing-stage .journal-card h2{font-size:clamp(35px,4vw,55px);line-height:1.14}
.freestyle-mode #writing-stage .journal-card textarea{min-height:540px;font-size:21px;line-height:1.85!important}
.freestyle-mode #writing-stage .writing-step-heading{max-width:1010px;margin:0 auto 22px}
.freestyle-mode #writing-stage .writing-step-heading h2{font-size:clamp(31px,3vw,42px)}
@media(max-width:650px){
 .freestyle-mode #writing-stage{margin-top:17px}
 .freestyle-mode #writing-stage .journal-card{padding:22px 17px}
 .freestyle-mode #writing-stage .journal-card textarea{min-height:420px;font-size:18px}
}

/* Optional words-only writing challenge */
.writing-mode-choice{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 22px;padding:5px;background:#edf1e9;border-radius:14px;max-width:max-content}
.writing-mode-choice button{border:0;border-radius:10px;background:transparent;padding:9px 15px;font:600 13px 'DM Sans',sans-serif;color:#586f5d;cursor:pointer}
.writing-mode-choice button.active{background:#fffefb;color:#244b3b;box-shadow:0 1px 5px #193b2420}
.prep-actions{display:flex;gap:12px;flex-wrap:wrap}
#topic-companion .connector-item{border-left:3px solid #b5c8ab;padding-left:12px}
@media(max-width:600px){.writing-mode-choice{width:100%;max-width:none}.writing-mode-choice button{flex:1}.prep-actions>.btn{flex:1}}

/* Full-page reflection reader: prioritize writing, correction highlights, and practice. */
.journal-detail-page{padding-bottom:75px}.detail-back{display:inline-flex;margin:25px 0}
.detail-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:24px}
.detail-top h1{font-size:clamp(40px,5vw,68px);margin:9px 0;overflow-wrap:anywhere}
.detail-document{display:block!important;padding:0!important;max-width:100%}
.detail-original-card,.review-full{background:#fffefa;border:1px solid #e3e6db;border-radius:18px;padding:clamp(20px,3vw,38px);margin-bottom:24px}
.detail-original-card{border-left:5px solid #aac3a0}
.detail-prose{font:400 clamp(19px,2vw,25px)/1.85 Georgia,serif;color:#34483c;white-space:pre-wrap;overflow-wrap:anywhere}
.review-full h2{font-size:clamp(31px,4vw,49px);margin:10px 0 26px}
.review-full h3{font-size:clamp(25px,3vw,34px);margin:18px 0}
.review-full-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.review-full-version{border:1px solid #e2e8dd;background:#f8faf5;border-radius:14px;padding:24px;min-width:0}
.review-full-corrected{background:#edf5eb}
.review-marked-text{margin:14px 0 0}
.review-underline-error{color:#873f30;text-decoration:underline wavy #cf7963 2px;text-underline-offset:5px;background:#fae8df;border-radius:3px;padding:1px 2px}
.review-underline-natural{color:#6c5336;text-decoration:underline dotted #cda96f 2px;text-underline-offset:5px;background:#fff3d5;border-radius:3px;padding:1px 2px}
.review-legend{font-size:12px;color:#718270;margin:15px 0 25px}
.review-natural-version{margin:18px 0;padding:16px;border:1px solid #dde6d9;border-radius:12px}
.review-natural-version summary{cursor:pointer;font-weight:700;color:#2e5640}
.review-summary-text{font-size:16px;color:#324d3a;padding:16px 20px;border-left:3px solid #88aa81;background:#f1f6ee}
.review-word-check,.review-learning{border-top:1px solid #e2e7dd;margin-top:30px;padding-top:14px}
.review-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.review-word-card{border:1px solid #e2e8de;border-radius:13px;background:#fff;padding:18px;display:flex;flex-direction:column;gap:8px}
.review-word-card strong{font-size:20px;color:#244b3b}.review-word-card p{margin:0;font-size:13px}
.review-word-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.review-word-good{color:#42724e}.review-word-fix{color:#a75334}.review-word-missing{color:#8b806f}.review-word-uncertain{color:#866b3e}
.review-word-example{border-top:1px solid #eee7d9;padding-top:9px;color:#52694f}
.review-notes-list{display:grid;gap:12px;padding-left:23px}
.review-notes-list li{border:1px solid #e7e9e0;padding:16px 20px;border-radius:12px;background:#fbfbf7}
.review-notes-list strong{display:block;color:#274732;font-size:16px;margin:7px 0}
.review-notes-list p{margin:6px 0}.review-note-type{font:700 11px 'DM Sans',sans-serif;letter-spacing:.11em;color:#906244}
.review-practice-prompt{background:#edf3e9;padding:10px 12px;border-radius:8px;color:#426849}
.detail-prompt-box{background:#edf3e9;border-radius:14px;padding:26px;margin:18px 0}
.detail-prompt-box h2{font-size:29px}.detail-practice-link{margin:10px 0 30px}
@media(max-width:800px){.review-full-columns,.review-usage-grid{grid-template-columns:1fr}.detail-top{flex-wrap:wrap}}

/* Distinct reading highlights in the journal archive preview as well. */
.reader-version-original .review-underline-error,.reader-version-corrected .review-underline-error{background:#ffe7da;color:#833f32;text-decoration:underline wavy #c66854 2px;text-underline-offset:5px}
.reader-version-original .review-underline-natural,.reader-version-corrected .review-underline-natural{background:#fff0cf;color:#675334;text-decoration:underline dotted #bb985b 2px;text-underline-offset:5px}
.archive-entry.archive-entry-selected{border-left:4px solid #81a881}
.archive-review-badge{background:#dcefdc!important;color:#2d6241!important;font-weight:700}

/* Pre-writing mode chooser: one primary action, calm and readable. */
.prep-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 24px}
.prep-footer .prep-instruction{grid-column:1/-1}
.prep-mode-row{min-width:0}
.prep-mode-row .writing-mode-choice{margin:8px 0 6px}
.prep-mode-help{font-size:12px!important;color:#6b7f70;margin:0!important;line-height:1.5}
.prep-footer .prep-actions{display:flex;justify-content:flex-end}
.prep-footer .prep-actions .btn{min-width:210px}
@media(max-width:700px){
 .prep-footer{grid-template-columns:1fr}
 .prep-footer .prep-instruction{grid-column:1}
 .prep-footer .prep-actions{justify-content:stretch}
 .prep-footer .prep-actions .btn{width:100%}
 .prep-mode-row .writing-mode-choice{max-width:100%}
}

/* Word selection now leads to an explicit mode choice, then to the editor. */
#writing-mode-step[hidden],#writing-stage[hidden]{display:none!important}
.writing-mode-step{background:#fffefa;border:1px solid #dce5d8;border-radius:18px;padding:clamp(20px,3.5vw,42px);margin:14px 0 34px;box-shadow:0 12px 35px #213b2709}
.mode-step-header h2{font-size:clamp(29px,3.5vw,43px);line-height:1.14;margin:8px 0 10px}
.mode-step-header p{font-size:14px;color:#65796b;margin:0 0 22px}
.mode-step-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}
.mode-option{text-align:left;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:24px;border:1px solid #d6e1d3;border-radius:14px;background:#f9faf6;color:#214634;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.mode-option strong{font:600 clamp(22px,2.6vw,30px)/1.2 'DM Sans',sans-serif;display:flex;justify-content:space-between;gap:8px}
.mode-option>span{font:400 13px/1.6 'DM Sans',sans-serif;color:#56715f}
.mode-option:hover,.mode-option:focus-visible{background:#eaf2e7;border-color:#759d7b;transform:translateY(-1px)}
.prep-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.prep-footer .prep-actions{display:flex;justify-content:flex-end}
#writing-stage .direction-categories[hidden]{display:none!important}
.freestyle-mode #writing-stage .writing-mode-choice,
.freestyle-mode #writing-mode-step,
.freestyle-mode #writing-stage #writing-word-tray{display:none!important}
@media(max-width:700px){.mode-step-options{grid-template-columns:1fr}.prep-footer{align-items:stretch;flex-direction:column}.prep-footer .prep-actions .btn{width:100%}}

.mode-choice-words{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.mode-word-chip{font:600 12px/1.4 'DM Sans',sans-serif;color:#365b42;background:#edf5eb;border:1px solid #d2e2cd;border-radius:999px;padding:6px 11px}
.connector-reason{display:block;color:#758776;font-size:11px;line-height:1.5;margin-top:7px}
/* Quieter, readable single-reflection view. */
.journal-detail-page{max-width:1020px!important;padding-bottom:52px}
.journal-detail-page .detail-back{margin:17px 0 20px}
.journal-detail-page .detail-top{align-items:center;margin-bottom:17px}
.journal-detail-page .detail-top h1{font:500 clamp(27px,3.1vw,41px)/1.18 'DM Serif Display',Georgia,serif!important;margin:7px 0 0;max-width:780px}
.journal-detail-page .detail-top .eyebrow{font-size:10px;letter-spacing:.1em}
.journal-detail-page .detail-original-card,.journal-detail-page .review-full{padding:clamp(18px,2.4vw,27px);border-radius:13px;margin-bottom:16px}
.journal-detail-page .detail-prose{font:400 clamp(15px,1.4vw,18px)/1.7 'DM Sans',sans-serif!important;color:#344c3d}
.journal-detail-page .review-full h2{font:500 clamp(25px,2.8vw,33px)/1.25 'DM Serif Display',Georgia,serif!important;margin:7px 0 16px}
.journal-detail-page .review-full h3{font:500 clamp(21px,2.3vw,27px)/1.3 'DM Serif Display',Georgia,serif!important;margin:10px 0 17px}
.journal-detail-page .review-full-version{padding:18px;border-radius:10px}
.journal-detail-page .review-full-columns{gap:12px}
.journal-detail-page .review-word-check,.journal-detail-page .review-learning{margin-top:23px}
.journal-detail-page .review-word-card{padding:15px}
.journal-detail-page .review-word-card strong{font-size:16px}
.journal-detail-page .review-notes-list li{padding:14px}
.journal-detail-page .review-notes-list strong{font-size:15px}
.journal-detail-page .review-legend{margin:12px 0 18px}
.journal-detail-page .review-summary-text{padding:12px 16px}
@media(max-width:850px){.journal-detail-page .review-full-columns{grid-template-columns:1fr}}

/* Topic-first writing: no word-challenge requirements, original category bank visible. */
.topic-only-mode #writing-stage .writing-mode-choice,
.topic-only-mode #writing-stage #writing-word-tray{display:none!important}
.direction-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;justify-content:flex-end}
#topic-word-ideas[hidden]{display:none!important}
#topic-word-ideas[aria-pressed="true"]{color:#285f3d;text-decoration:underline;text-underline-offset:4px}
.companion-group-label{margin:12px 0 8px;color:#77917b;font-size:10px;letter-spacing:.11em;font-weight:700}
.companion-group-label:not(:first-child){border-top:1px solid #e2e9df;padding-top:14px;margin-top:16px}
.prep-heading-actions #topic-only-start{font-weight:700;color:#315d42}
@media(max-width:700px){.direction-heading-actions{justify-content:flex-start}.prep-heading-actions{justify-content:space-between;gap:7px}.prep-heading-actions .ritual-text-button{font-size:11px!important}}

/* My Journal: compact invitation to write freely, replacing the dedicated sidebar item. */
.journal-freestyle-invite{display:flex;align-items:center;justify-content:space-between;gap:16px 25px;margin:-3px 0 22px;padding:17px 22px;border:1px solid #dce6da;background:#f6f9f3;border-radius:13px}
.journal-freestyle-copy{min-width:0}
.journal-freestyle-copy .card-overline{font-size:10px;letter-spacing:.1em;color:#77907b}
.journal-freestyle-copy h2{font:400 clamp(21px,2vw,27px)/1.2 'DM Serif Display',Georgia,serif;color:#31543e;margin:4px 0 5px}
.journal-freestyle-copy p{font-size:12px!important;line-height:1.5;color:#677b69;margin:0!important}
.journal-freestyle-link{flex-shrink:0;white-space:nowrap;text-decoration:none}
@media(max-width:700px){.journal-freestyle-invite{align-items:flex-start;flex-direction:column;padding:16px 17px;margin:0 0 19px}.journal-freestyle-link{width:100%;text-align:center;white-space:normal}}
.freestyle-mode .freestyle-back-link{display:inline-flex;align-items:center;margin-left:auto;font-weight:600;text-decoration:none}

/* Reflection detail v2: journal first, compact correction review second. */
body.nb #dashboard-content.journal-detail-page{width:min(100% - 44px,900px)!important;max-width:900px!important;margin-left:auto;margin-right:auto;padding-bottom:40px}
body.nb .journal-detail-page .detail-back{margin:13px 0 13px}
body.nb .journal-detail-page .detail-top{align-items:flex-start;gap:14px;margin:0 0 18px;border-bottom:1px solid #dfe7dc;padding:0 0 18px}
body.nb .journal-detail-page #detail-title{font-family:'DM Serif Display',Georgia,serif!important;font-size:clamp(22px,2.1vw,30px)!important;font-weight:400!important;line-height:1.23!important;margin:5px 0 0!important;max-width:690px}
body.nb .journal-detail-page .detail-top #detail-edit{font-size:12px;padding:9px 15px;flex-shrink:0}
body.nb .journal-detail-page .detail-document,
body.nb .journal-detail-page #journal-entry-preview{padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body.nb .journal-detail-page .detail-original-card{background:#fffefa;border:1px solid #e1e8dc;border-left:3px solid #88ad88;padding:20px 24px;margin:0 0 18px;border-radius:11px}
body.nb .journal-detail-page .detail-original-card h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(21px,2vw,26px);font-weight:400;line-height:1.25;margin:6px 0 12px;color:#244638}
body.nb .journal-detail-page .detail-original-card .detail-prose{margin:0!important}
body.nb .journal-detail-page .detail-prose{font-family:'DM Sans',sans-serif!important;font-size:clamp(14px,1.05vw,16px)!important;font-weight:400!important;line-height:1.75!important;color:#35503f}
body.nb .journal-detail-page .review-full{border:1px solid #e1e8dc;background:#fffefa;padding:20px 24px;border-radius:11px;margin:0 0 16px}
body.nb .journal-detail-page .review-full h2{font-family:'DM Serif Display',Georgia,serif!important;font-size:clamp(21px,2vw,26px)!important;font-weight:400!important;line-height:1.25;margin:6px 0 15px!important}
body.nb .journal-detail-page .review-full h3{font-family:'DM Serif Display',Georgia,serif!important;font-size:clamp(19px,1.8vw,23px)!important;font-weight:400!important;line-height:1.3;margin:0 0 12px!important}
body.nb .journal-detail-page .review-full-version{padding:16px 18px;border-radius:9px}
body.nb .journal-detail-page .review-original-details{margin:12px 0 14px;border-bottom:1px solid #e1e8dc;padding-bottom:13px}
body.nb .journal-detail-page .review-original-details summary,
body.nb .journal-detail-page .review-natural-version summary{font-size:12px;color:#315943;font-weight:600;cursor:pointer}
body.nb .journal-detail-page .review-original-details .detail-prose{margin:12px 0 0}
body.nb .journal-detail-page .review-legend{font-size:11px;line-height:1.5;margin:12px 0 0}
body.nb .journal-detail-page .review-learning{margin:19px 0 0;border-top:1px solid #e2e9df;padding-top:17px}
body.nb .journal-detail-page .review-notes-list{gap:8px;margin:0 0 14px}
body.nb .journal-detail-page .review-notes-list li{padding:11px 13px;border-radius:9px}
body.nb .journal-detail-page .review-notes-list strong{font-size:13px;line-height:1.5}
body.nb .journal-detail-page .review-notes-list p{font-size:12px;line-height:1.5}
body.nb .journal-detail-page .review-word-check{margin:21px 0 20px;padding-top:18px;border-top:1px solid #dce5d9}
body.nb .journal-detail-page .review-word-check .card-overline{margin-bottom:6px}
body.nb .journal-detail-page .review-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
body.nb .journal-detail-page .review-word-card{padding:12px 14px;gap:6px;border-radius:9px}
body.nb .journal-detail-page .review-word-card strong{font-size:15px}
body.nb .journal-detail-page .review-word-card p{font-size:12px;line-height:1.55}
body.nb .journal-detail-page .detail-practice-link{margin-top:8px}
@media(max-width:680px){
 body.nb #dashboard-content.journal-detail-page{width:calc(100% - 26px)!important}
 body.nb .journal-detail-page .detail-top{flex-wrap:wrap}
 body.nb .journal-detail-page .review-usage-grid{grid-template-columns:1fr}
 body.nb .journal-detail-page .detail-original-card,body.nb .journal-detail-page .review-full{padding:16px}
}

/* A distinct challenge assessment card, visible only when selected words exist. */
body.nb .journal-detail-page .review-word-check{background:#f5f8f2;border:1px solid #dfe9db;border-radius:10px;padding:16px;margin:20px 0}
body.nb .journal-detail-page .review-word-check h3{margin-bottom:13px!important}
body.nb .journal-detail-page .review-word-check .review-empty{font-size:12px;line-height:1.6;color:#617864}

/* Two-step save: a quiet, accessible title confirmation dialog. */
.journal-save-dialog{border:1px solid #dbe6d8;border-radius:16px;box-shadow:0 25px 80px #172c2440;background:#fffefa;color:#264638;width:min(calc(100% - 28px),500px);max-height:min(90vh,680px);padding:clamp(22px,3.5vw,32px)}
.journal-save-dialog::backdrop{background:#15251dcc;backdrop-filter:blur(2px)}
.journal-save-dialog form{display:flex;flex-direction:column;gap:11px;margin:0}
.journal-save-dialog h2{font:400 clamp(26px,3vw,34px)/1.18 'DM Serif Display',Georgia,serif;margin:3px 0;color:#274738}
.journal-save-dialog p{font:400 13px/1.6 'DM Sans',sans-serif;margin:0 0 8px;color:#637869}
.journal-save-dialog label{font:600 13px/1.4 'DM Sans',sans-serif;color:#274738}
.journal-save-dialog input{font:400 16px/1.4 'DM Sans',sans-serif;width:100%;border:1px solid #bacdb8;background:#fff;border-radius:9px;padding:12px 14px;box-sizing:border-box;color:#254532}
.journal-save-dialog input:focus-visible{outline:2px solid #4e9067;outline-offset:2px}
.journal-save-dialog-hint{font:400 11px/1.5 'DM Sans',sans-serif;color:#768a77}
.journal-save-dialog .message.error{color:#9a463b;margin:0}
.journal-save-dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}
.journal-save-dialog-actions .btn{font-size:13px}
@media(max-width:550px){.journal-save-dialog-actions{flex-direction:column-reverse}.journal-save-dialog-actions .btn{width:100%}}

/* Rename a previously saved reflection without revisiting the writing editor. */
.detail-top-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.detail-top-actions .btn{font-size:12px;min-width:auto;white-space:nowrap}
.archive-rename{color:#386246!important;font-weight:600!important}
.journal-rename-dialog{border:1px solid #dbe6d8;border-radius:15px;background:#fffefa;
 color:#264638;box-shadow:0 24px 70px #172c2440;padding:clamp(22px,3vw,30px);
 width:min(calc(100% - 30px),470px);max-height:90vh}
.journal-rename-dialog::backdrop{background:#15251dcc;backdrop-filter:blur(2px)}
.journal-rename-dialog form{display:flex;flex-direction:column;gap:11px;margin:0}
.journal-rename-dialog h2{font:400 clamp(23px,2.7vw,30px)/1.25 'DM Serif Display',Georgia,serif;margin:3px 0;color:#274738}
.journal-rename-dialog p{font:400 12px/1.6 'DM Sans',sans-serif;margin:0 0 7px;color:#687b6b}
.journal-rename-dialog label{font:600 12px/1.4 'DM Sans',sans-serif;color:#274738}
.journal-rename-dialog input{font:400 16px/1.4 'DM Sans',sans-serif;width:100%;padding:12px 13px;box-sizing:border-box;border-radius:9px;border:1px solid #bdcfba;background:#fff;color:#264638}
.journal-rename-dialog input:focus-visible{outline:2px solid #4e9067;outline-offset:2px}
.journal-rename-dialog .message.error{color:#9a463b;margin:0}
.journal-rename-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:12px}
@media(max-width:650px){.journal-rename-actions{flex-direction:column-reverse}.journal-rename-actions .btn{width:100%}}
