*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,"PingFang SC",sans-serif;background:#f5f1e8;color:#25251f}body{min-height:100dvh}.app-shell{width:min(100%,620px);min-height:100dvh;margin:auto;padding:calc(24px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));display:flex;flex-direction:column}.page header{display:flex;justify-content:space-between}.eyebrow{margin:0;font-size:.75rem;letter-spacing:.16em;font-weight:800}.muted{color:#817a6e;font-size:.88rem}.favorite{width:42px;height:42px;border:1px solid #ded8ca;border-radius:50%;background:#fffdf8;color:#a47420;font-size:1.4rem}.card{margin-top:12vh;padding:clamp(24px,6vw,44px);border:1px solid #e4ddcf;border-radius:28px;background:#fffdf8;box-shadow:0 20px 50px #574c3214}.scene{color:#9b927f;font-size:.78rem;font-weight:800}.card h1{margin:18px 0 0;font-size:clamp(2.3rem,10vw,5rem);line-height:1.05}.meaning{color:#756f64}.controls{display:flex;align-items:center;gap:10px;margin-top:32px}.controls button,.complete,.export,.more{border:0;cursor:pointer}.controls button{padding:12px 16px;border:1px solid #ddd5c6;border-radius:999px;background:#f8f4ec}.controls label{margin-left:auto;color:#756f64}.note,.notice{color:#958d80;font-size:.78rem;line-height:1.5}.complete{width:100%;margin-top:24px;padding:16px;border-radius:14px;background:#315d4d;color:#fff;font-weight:800}.complete.done{background:#dfece5;color:#315d4d}.export{display:block;margin:15px auto;color:#827969;background:none;text-decoration:underline}.notice{min-height:1.2em;color:#8b6a38}.more{width:100%;padding:16px 0;border-top:1px solid #eee8dd;background:none;text-align:left;color:#655f53;font-weight:750}.details p{padding:10px 0;border-bottom:1px solid #f0ebe1;color:#4e4a42;line-height:1.5}.details b{display:block;margin-bottom:4px;color:#9b927f;font-size:.75rem}.nav{display:flex;justify-content:center;gap:36px;margin-top:auto;padding-top:28px}.nav a{color:#aaa294;text-decoration:none}.nav a.active{color:#315d4d;font-weight:800}
.history-page{width:100%}.history-list{list-style:none;margin:24px 0 0;padding:0}.history-list li{display:flex;align-items:baseline;gap:14px;padding:15px 0;border-bottom:1px solid #e4ddcf}.history-list li span{color:#9b927f;font-size:.78rem}.history-list li strong{font-size:.95rem;font-weight:650}.history-list .empty{display:block;color:#817a6e}.pro-hint{margin-top:26px;padding:18px;border:1px solid #e7d9ba;border-radius:16px;background:#fff8e9}.pro-hint p{margin:0}.pro-hint p+p{margin-top:6px}.pro-hint button{margin-top:12px;border:0;border-radius:999px;padding:10px 15px;background:#e0b760;color:#59410d;font-weight:750}.widget-guide{margin:28px 0 0;padding:15px;border-radius:14px;background:#edf3ef;color:#587063;font-size:.82rem;line-height:1.5}
.ios-tip{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));left:16px;z-index:10;padding:15px 42px 15px 16px;border:1px solid #d8e5dd;border-radius:14px;background:#f7fbf8;box-shadow:0 12px 30px #315d4d22;color:#315d4d}.ios-tip strong,.ios-tip span{display:block}.ios-tip strong{font-size:.92rem}.ios-tip span{margin-top:4px;font-size:.8rem;color:#587063}.ios-tip button{position:absolute;top:8px;right:10px;border:0;background:none;color:#587063;font-size:1.2rem}
.app-shell{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(14px + env(safe-area-inset-bottom));overflow-x:hidden}.page{width:100%}.page header{align-items:center}.card{margin-top:clamp(28px,8vh,64px);padding:24px 20px;border-radius:22px;box-shadow:0 10px 30px #574c3210}.scene{margin:0 0 12px}.card h1{margin-top:0;font-size:clamp(2.15rem,10vw,4.3rem);letter-spacing:-.04em}.meaning{margin:12px 0 0;font-size:1rem}.controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:26px}.controls button{width:100%;min-height:46px;padding:10px 11px;color:#315d4d;font-weight:700}.controls label{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap;font-size:.82rem}.note{margin:14px 0 0;color:#958d80;font-size:.74rem;line-height:1.55}.complete{min-height:50px;margin-top:22px}.export{margin:13px auto 0;color:#a19a8e;font-size:.78rem;font-weight:500;text-decoration:none}.more{margin-top:20px;padding:14px 0;font-size:.9rem}.details p{margin:0;padding:11px 0;font-size:.88rem}.notice:empty{display:none}.notice:not(:empty){position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));left:calc(16px + env(safe-area-inset-left));z-index:20;margin:0 auto;padding:12px 15px;border:1px solid #d9e4dc;border-radius:12px;background:#f7fbf8;color:#315d4d;box-shadow:0 8px 24px #315d4d1c;font-size:.8rem;line-height:1.45}.history-page h1{margin:28px 0 0}.pro-hint{margin-top:22px;padding:16px;border:1px solid #eadfc8;background:#fffaf0;box-shadow:none}.widget-guide{margin-top:20px}.nav{padding-bottom:env(safe-area-inset-bottom)}

.scene-progress{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.scene-progress .scene{margin:0;color:#8a6a37}.scene-title{margin:4px 0 0;font-size:.92rem;font-weight:750}.scene-progress>span{flex:none;padding:6px 9px;border-radius:999px;background:#edf3ef;color:#315d4d;font-size:.72rem;font-weight:750}.back-today{margin:0 0 18px;padding:0;border:0;background:none;color:#756f64;font-size:.8rem;text-decoration:underline}.daily-expressions{margin-top:24px;padding:15px 16px;border-radius:15px;background:#f7f3eb}.section-label{margin:0 0 10px;color:#958d80;font-size:.72rem;font-weight:750;letter-spacing:.06em}.daily-expressions ul,.vocabulary-list{list-style:none;margin:0;padding:0}.daily-expressions li{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid #e7e0d4}.daily-expressions li:first-child{border-top:0}.daily-expressions strong{font-size:.88rem}.daily-expressions span{color:#817a6e;font-size:.8rem}.review-return{background:#496e60}.detail-block{padding:13px 0;border-bottom:1px solid #f0ebe1}.detail-block h3,.scene-timeline h3{margin:0 0 10px;font-size:.8rem;color:#9b927f}.phrase-tags{display:flex;flex-wrap:wrap;gap:7px}.phrase-tags span{padding:6px 9px;border-radius:999px;background:#edf3ef;color:#315d4d;font-size:.78rem;font-weight:700}.vocabulary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vocabulary-list li{padding:9px;border-radius:10px;background:#f8f4ec}.vocabulary-list strong,.vocabulary-list span{display:block}.vocabulary-list strong{font-size:.8rem}.vocabulary-list span{margin-top:3px;color:#817a6e;font-size:.72rem}.scene-timeline{margin-top:18px}.timeline-heading,.section-heading,.scene-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-heading span,.section-heading>span,.scene-list-heading span{color:#958d80;font-size:.72rem}.timeline-list,.review-list{display:grid;gap:8px}.timeline-day,.review-list button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:11px 12px;border:1px solid #e6dfd3;border-radius:11px;background:#fffdf8;text-align:left}.timeline-day span,.review-list span{color:#958d80;font-size:.7rem}.timeline-day strong,.review-list strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.timeline-day.current{border-color:#8aab9e;background:#edf3ef}.timeline-day.locked{border-style:dashed;background:#faf8f3;color:#aaa294}.pro-copy{color:#958d80!important;font-size:.74rem!important}.scene-library{margin-top:38px}.section-heading h2{margin:6px 0 18px;font-size:1.25rem}.unlocked-scene{margin-top:14px;padding:15px;border:1px solid #e4ddcf;border-radius:15px;background:#fffdf8}.scene-list-heading{margin-bottom:11px}.scene-list-heading strong{font-size:.9rem}.review-list button{border:0;background:#f8f4ec;cursor:pointer}.history-page .notice{margin-top:12px}

@media (max-width:380px){.card{padding:21px 17px}.daily-expressions li{grid-template-columns:1fr}.vocabulary-list{grid-template-columns:1fr}.controls{grid-template-columns:1fr auto 1fr}.controls button{padding-inline:7px;font-size:.8rem}}

.scene-challenge{padding:22px 0 4px}.scene-challenge h1{margin:5px 0 16px;font-size:clamp(2rem,9vw,3.4rem)}.challenge-prompt{margin:0;padding:18px;border-left:3px solid #d2a46f;border-radius:0 12px 12px 0;background:#f8f4ec;color:#4e4a42;font-size:1.02rem;line-height:1.7}.challenge-actions,.recall-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.challenge-actions button,.recall-actions button,.attempt-replay{min-height:46px;padding:10px 13px;border:1px solid #dcd4c5;border-radius:999px;background:#fffdf8;color:#315d4d;font-weight:750}.challenge-actions button:last-child,.recall-actions button:last-child{border-color:#315d4d;background:#315d4d;color:#fff}.attempt-replay{display:block;margin:10px auto 0;border:0;background:none;text-decoration:underline}.core-reveal{padding-top:8px}.core-reveal .section-label{margin-bottom:12px}.context-dialogue{margin-top:26px;padding-top:22px;border-top:1px solid #e9e2d7}.context-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.context-heading h2{margin:4px 0 16px;font-size:1.15rem}.context-heading>button{padding:8px 11px;border:1px solid #dcd4c5;border-radius:999px;background:#fffdf8;color:#315d4d;font-size:.76rem;font-weight:700}.context-dialogue>ul{display:grid;gap:9px;list-style:none;margin:0;padding:0}.dialogue-line{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border-radius:13px;background:#f8f4ec}.dialogue-line.user-line{background:#edf3ef}.dialogue-speaker span,.dialogue-speaker em{display:block}.dialogue-speaker span{font-size:.76rem;font-weight:800}.dialogue-speaker em{margin-top:3px;color:#8a6a37;font-size:.64rem;font-style:normal}.dialogue-copy strong,.dialogue-copy span{display:block}.dialogue-copy strong{font-size:.86rem;line-height:1.35}.dialogue-copy span{margin-top:4px;color:#817a6e;font-size:.72rem}.line-action{padding:7px 8px;border:0;border-radius:9px;background:#fffdf8;color:#315d4d;font-size:.68rem;white-space:nowrap}.context-tip{margin:10px 0 0;color:#958d80;font-size:.73rem;line-height:1.5}.recall-card{margin-top:24px;padding:18px;border:1px solid #ded7ca;border-radius:16px;background:#fffdf8}.recall-prompt{margin:8px 0 14px;color:#4e4a42;font-size:.9rem;line-height:1.6}.recall-answer{min-height:48px;padding:13px;border-radius:11px;background:#edf3ef;color:#315d4d;font-weight:750}.recall-answer.masked{background:#f2eee6;color:#aaa294;font-weight:500;text-align:center}.recall-actions{margin-top:12px}.recall-actions button{min-height:42px;font-size:.76rem}

@media (max-width:430px){.dialogue-line{grid-template-columns:48px minmax(0,1fr)}.line-action{grid-column:2;justify-self:start}.challenge-actions,.recall-actions{grid-template-columns:1fr}}

.tone-guide{margin:14px 0 0;padding:13px 15px;border:1px solid #ead8bd;border-radius:13px;background:#fff8eb}.tone-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.tone-heading .section-label{margin:0}.tone-heading span{padding:4px 9px;border-radius:999px;background:#25251f;color:#fff;font-size:.7rem;font-weight:800}.tone-guide>p{margin:8px 0 0;color:#785f3b;font-size:.76rem;line-height:1.55}

.vocabulary-list li{position:relative;padding-right:34px}.word-favorite{position:absolute;top:7px;right:7px;border:0;background:none;color:#aaa294;font-size:1rem;cursor:pointer}.word-favorite.selected{color:#a47420}.favorites-page h1{margin:28px 0 6px}.favorite-section{margin-top:30px}.favorite-section .section-heading h2{margin:0;font-size:1.15rem}.favorite-sentence-list,.favorite-word-list{display:grid;gap:10px;margin-top:14px}.favorite-sentence-card{padding:15px;border:1px solid #e4ddcf;border-radius:15px;background:#fffdf8}.favorite-copy{width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer}.favorite-copy strong,.favorite-copy span{display:block}.favorite-copy strong{font-size:1rem;line-height:1.4}.favorite-copy span,.favorite-word-card span{margin-top:5px;color:#817a6e;font-size:.78rem}.favorite-actions{display:flex;gap:9px;margin-top:12px}.favorite-actions button,.word-sound,.word-remove{padding:7px 10px;border:1px solid #ddd5c6;border-radius:999px;background:#f8f4ec;color:#315d4d;font-size:.72rem;cursor:pointer}.favorite-word-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid #e4ddcf;border-radius:13px;background:#fffdf8}.favorite-word-card strong,.favorite-word-card span{display:block}.word-sound{width:34px;height:34px;padding:0}.word-remove{border:0;background:none;color:#958d80}.favorites-empty{margin:0;padding:18px;border:1px dashed #ded7ca;border-radius:13px;color:#958d80;font-size:.82rem;line-height:1.6}.privacy-note{margin-top:26px;color:#958d80;font-size:.75rem}.nav{gap:28px}

.header-tag{padding:6px 10px;border-radius:999px;background:#fff0d7;color:#8a5b20;font-size:.7rem;font-weight:800}.core-line-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.core-line-heading h1{min-width:0}.line-favorite{width:34px;height:34px;flex:none;border:1px solid #ded8ca;border-radius:50%;background:#fffdf8;color:#aaa294;font-size:1.12rem;cursor:pointer}.line-favorite.selected{border-color:#d9b763;background:#fff6d9;color:#a47420}.daily-expressions li{grid-template-columns:minmax(0,1fr) auto;align-items:center}.daily-expressions li div strong,.daily-expressions li div span{display:block}.dialogue-line{grid-template-columns:58px minmax(0,1fr) auto auto}.variant-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #f0ebe1}.variant-line p{border-bottom:0}.favorite-copy{cursor:default}.favorite-copy em{display:block;margin-top:7px;color:#a28b68;font-size:.68rem;font-style:normal}.favorite-actions{flex-wrap:wrap}

@media (max-width:430px){.dialogue-line{grid-template-columns:48px minmax(0,1fr) auto}.dialogue-line .line-action{grid-column:2}.dialogue-line .line-favorite{grid-column:3;grid-row:1 / span 2}.core-line-heading .line-favorite{margin-top:2px}}

.voice-legend{display:flex;gap:15px;margin-top:12px;color:#817a6e;font-size:.7rem}.voice-legend span{display:flex;align-items:center;gap:5px}.voice-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.user-dot{background:#4e806d}.partner-dot{background:#d19a55}

.voice-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.voice-controls label{min-width:0}.voice-controls label>span{display:block;margin-bottom:5px;color:#817a6e;font-size:.68rem}.voice-controls select{width:100%;min-height:38px;padding:7px;border:1px solid #ded7ca;border-radius:9px;background:#fffdf8;color:#4e4a42;font-size:.72rem}.voice-warning{margin:10px 0 0;padding:10px 12px;border-radius:9px;background:#fff1dc;color:#865d25;font-size:.72rem;line-height:1.5}@media(max-width:430px){.voice-controls{grid-template-columns:1fr}}

.favorite-directories{display:grid;gap:12px;margin-top:24px}.favorite-directory{overflow:hidden;border:1px solid #dfd6c8;border-radius:17px;background:#fffdf8}.favorite-directory summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px;cursor:pointer;list-style:none}.favorite-directory summary::-webkit-details-marker{display:none}.favorite-directory summary>span{display:grid;gap:3px}.favorite-directory summary i{color:#a28b68;font-size:.62rem;font-style:normal;font-weight:800;letter-spacing:.12em}.favorite-directory summary strong{font-size:1.05rem}.favorite-directory summary em{color:#817a6e;font-size:.72rem;font-style:normal}.favorite-directory summary:after{content:"＋";color:#315d4d;font-size:1.15rem}.favorite-directory[open] summary:after{content:"−"}.directory-content{padding:0 15px 17px;border-top:1px solid #eee7dc}.directory-content .favorite-section{margin-top:20px}.favorites-empty.compact{padding:12px;font-size:.75rem}

.today-v2 header{align-items:center}.study-tabs{position:sticky;top:calc(8px + env(safe-area-inset-top));z-index:10;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:22px;padding:4px;border:1px solid #e5ddcf;border-radius:14px;background:#f2ede4eF;backdrop-filter:blur(10px)}.study-tabs button{min-height:42px;border:0;border-radius:10px;background:transparent;color:#817a6e;font-size:.78rem;font-weight:750;cursor:pointer}.study-tabs button.active{background:#fffdf8;color:#315d4d;box-shadow:0 3px 12px #574c3212}.study-card{margin-top:15px;padding:22px 18px;border:1px solid #e4ddcf;border-radius:22px;background:#fffdf8}.lesson-progress{display:flex;justify-content:space-between;gap:14px;margin-bottom:25px;color:#756f64;font-size:.76rem}.lesson-progress strong{flex:none;color:#315d4d}.lesson-page{min-height:430px}.lesson-page h2,.page-intro h2{margin:8px 0 10px;font-size:clamp(1.55rem,7vw,2.4rem);line-height:1.15}.question-variants{margin-top:28px;padding:15px;border-radius:13px;background:#f8f4ec}.question-variants span{color:#958d80;font-size:.7rem;font-weight:750}.question-variants p{margin:11px 0 0;font-size:.88rem}.answer-list{display:grid;gap:11px}.answer-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:start;padding:14px;border-radius:14px;background:#f8f4ec}.answer-card>span{color:#8a6a37;font-size:.7rem;font-weight:800}.answer-card strong{font-size:.9rem;line-height:1.4}.answer-card p{margin:5px 0 0;color:#817a6e;font-size:.75rem}.lesson-dialogue{display:grid;gap:8px;list-style:none;margin:0;padding:0}.transfer-task{margin-top:24px;padding:22px;border-left:3px solid #d2a46f;border-radius:0 14px 14px 0;background:#f8f4ec;font-size:1rem;line-height:1.7}.record-practice{width:100%;min-height:48px;margin-top:18px;border:0;border-radius:13px;background:#315d4d;color:#fff;font-weight:800}.test-questions{display:grid;gap:10px;margin-top:22px}.test-questions article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;border-radius:12px;background:#f8f4ec}.test-questions span{color:#a28b68;font-size:.68rem}.test-questions strong{font-size:.87rem}.test-questions button{border:0;background:none;color:#315d4d;font-size:.72rem}.pass-rule{margin-top:18px;color:#756f64;font-size:.78rem;line-height:1.6}.page-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.page-controls button{min-height:46px;border:1px solid #315d4d;border-radius:12px;background:#fffdf8;color:#315d4d;font-weight:800}.page-controls button:last-child{background:#315d4d;color:#fff}.page-controls button:disabled{border-color:#ddd5c6;background:#f3efe8;color:#aaa294}.page-intro>p:last-child{color:#817a6e;font-size:.82rem;line-height:1.5}.fun-grid{display:grid;gap:11px;margin-top:20px}.fun-card{padding:17px;border-radius:15px}.fun-card.tease{background:#fff3e2}.fun-card.brag{background:#edf3ef}.fun-card>span{font-size:.68rem;font-weight:800;color:#8a6a37}.fun-card>strong,.fun-card>p{display:block}.fun-card>strong{margin-top:10px;font-size:1rem;line-height:1.45}.fun-card>p{margin:7px 0;color:#756f64;font-size:.8rem}.fun-card>div{display:flex;align-items:center;gap:9px;margin-top:11px}.fun-card>div>button:first-child{padding:7px 11px;border:0;border-radius:999px;background:#fffdf8;color:#315d4d;font-size:.72rem}.word-study-list{display:grid;gap:9px;margin-top:20px}.word-study-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:13px;border-radius:12px;background:#f8f4ec}.word-study-list article>span{color:#a28b68;font-size:.65rem}.word-study-list strong{font-size:.9rem}.word-study-list p{margin:4px 0 0;color:#817a6e;font-size:.72rem}.word-study-list article>button:not(.line-favorite){border:0;background:none;color:#315d4d}.collocation-box{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid #eee7dc}.collocation-box .section-label{width:100%}.collocation-box button{padding:8px 11px;border:0;border-radius:999px;background:#edf3ef;color:#315d4d;font-size:.75rem}.collocation-box small{margin-left:4px}

@media(max-width:430px){.study-card{padding:19px 15px}.lesson-page{min-height:400px}.answer-card{grid-template-columns:52px minmax(0,1fr) auto}.study-tabs button{font-size:.72rem}.word-study-list article{grid-template-columns:auto minmax(0,1fr) auto auto}}

.playable-question{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.playable-question h2{margin:8px 0 0}.playable-question button,.question-variants button,.example-actions>button:first-child{width:34px;height:34px;border:1px solid #d9d1c4;border-radius:50%;background:#fffdf8;color:#315d4d;cursor:pointer}.playable-question button{margin-top:7px}.question-variants>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid #e9e1d5}.question-variants>div:first-of-type{margin-top:6px;border-top:0}.question-variants>div p{margin:10px 0}.question-variants button{width:30px;height:30px}.example-actions{display:flex;align-items:center;gap:7px}.example-actions .line-favorite{width:34px;height:34px}

.question-variants p strong,.question-variants p small,.test-questions article div strong,.test-questions article div small{display:block}.question-variants p strong{font-size:.88rem}.question-variants p small,.test-questions article div small{margin-top:4px;color:#817a6e;font-size:.7rem}.page-controls button.completed{background:#dfece5;color:#315d4d}.history-directories{display:grid;gap:12px;margin-top:25px}.history-directory{overflow:hidden;border:1px solid #dfd6c8;border-radius:17px;background:#fffdf8}.history-directory summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px;cursor:pointer;list-style:none}.history-directory summary::-webkit-details-marker{display:none}.history-directory summary>span{display:grid;gap:3px}.history-directory summary i{color:#a28b68;font-size:.62rem;font-style:normal;font-weight:800;letter-spacing:.12em}.history-directory summary strong{font-size:1.05rem}.history-directory summary em{color:#817a6e;font-size:.72rem;font-style:normal}.history-directory summary:after{content:"＋";color:#315d4d;font-size:1.15rem}.history-directory[open] summary:after{content:"−"}.history-goals{display:grid;gap:10px;padding:14px;border-top:1px solid #eee7dc}.history-goals article{padding:15px;border-radius:13px;background:#f8f4ec}.goal-date{display:flex;justify-content:space-between;color:#958d80;font-size:.68rem}.goal-date em{font-style:normal}.history-goals h2{margin:10px 0;font-size:1rem}.goal-question strong,.goal-question span{display:block}.goal-question strong{font-size:.86rem}.goal-question span{margin-top:4px;color:#817a6e;font-size:.74rem}.history-goals article>button{margin-top:12px;padding:7px 11px;border:1px solid #d9d1c4;border-radius:999px;background:#fffdf8;color:#315d4d;font-size:.72rem}

.course-library{margin-top:24px}.course-library>h2{margin:0 0 12px;font-size:1rem}.unlocked-directories{margin-top:0}.unlocked-course-directory .review-list{padding:12px;border-top:1px solid #eee7dc}.unlocked-course-directory .review-list button{background:#f8f4ec}
.practice-tools{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.practice-tools button{border:0;background:#edf3ef;padding:9px;border-radius:8px;color:#315d4d}.dialogue-actions{grid-column:2;display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}.dialogue-actions .line-action{grid-column:auto;justify-self:auto;min-width:0}.dialogue-line .line-favorite{grid-column:3;grid-row:1}.dialogue-line{grid-template-columns:48px minmax(0,1fr) auto}.answer-card{overflow-wrap:anywhere}.history-goals article>p{font-size:.75rem;color:#817a6e}button{cursor:pointer}button:disabled{cursor:default}
.review-focus {
  animation: review-focus-pulse 1.6s ease-out;
  outline: 3px solid rgba(49, 93, 77, .35);
  outline-offset: 4px;
}

@keyframes review-focus-pulse {
  0%, 55% { background-color: #fff4c7; }
  100% { background-color: transparent; }
}
.scene-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 14px 0 10px;
}

.scene-picker button {
  min-width: 0;
  padding: 9px 6px;
  border: 1px solid #d7e1dc;
  border-radius: 12px;
  background: #fff;
  color: #69746d;
}

.scene-picker button strong,
.scene-picker button span {
  display: block;
}

.scene-picker button strong {
  overflow: hidden;
  font-size: .72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scene-picker button span {
  margin-top: 2px;
  color: #93a099;
  font-size: .6rem;
}

.scene-picker button.active {
  border-color: #315d4d;
  background: #315d4d;
  color: #fff;
  box-shadow: 0 4px 10px rgba(49, 93, 77, .16);
}

.scene-picker button.active span {
  color: #dceae4;
}

@media (max-width: 430px) {
  .scene-picker {
    display: flex;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: none;
  }

  .scene-picker::-webkit-scrollbar { display: none; }
  .scene-picker button { flex: 0 0 84px; }
}
