﻿/* dev-expert · anti-slop: P5 H5 E4 S5 R5 V4 */
:root{--red:#bd493b;--ink:#272a29;--muted:#71746f;--paper:#f8f8f5;--white:#fff;--line:#e6e7e1;--tint:#faeee9;--sage:#eaf0e8;--green:#47624d;--primary:var(--red);--surface:var(--white);--text:var(--ink);--card-padding:1.5rem;--button-bg:var(--primary);--z-sticky:10;--z-toast:40;--space:1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--text);background:var(--paper);font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;background:none;color:inherit;min-height:2.75rem}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:2rem;font-weight:650;letter-spacing:-.06rem}h2{font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}small{font-size:.75rem}.muted{color:var(--muted)}.eyebrow{font-size:.69rem;letter-spacing:.14rem;font-weight:600;color:var(--muted);text-transform:uppercase}.app{max-width:110rem;margin:auto;min-height:100dvh}.sidebar{position:fixed;top:0;bottom:0;width:13.5rem;padding:2.5rem 1.5rem;border-right:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:600}.brand-mark{display:grid;place-items:center;background:var(--red);color:var(--white);width:2.75rem;height:3rem;border-radius:.8rem .8rem .8rem .2rem;font-size:1.6rem;font-family:serif}.brand small{display:block;font-size:.55rem;margin-top:.15rem;color:var(--muted)}.nav-label{font-size:.7rem;color:var(--muted);margin:3.5rem .65rem .75rem}.side-nav{display:grid;gap:.5rem}.nav-item{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border-radius:.65rem;font-size:.9rem;color:var(--muted)}.nav-item.active{background:var(--tint);color:var(--red);font-weight:600}.icon{width:1.25rem;height:1.25rem;display:inline-block;flex-shrink:0;vertical-align:middle}.sidebar-foot{margin-top:auto;padding:.5rem;font-size:.78rem;line-height:1.9;color:var(--muted)}.small-mark{font-family:Georgia,serif;font-size:2rem;color:var(--ink)}.sidebar-foot p{margin:1rem 0 1.5rem}.prototype-tag{font-size:.65rem;color:var(--muted)}.workspace{margin-left:13.5rem}.topbar{height:6rem;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;border-bottom:1px solid var(--line);gap:1rem}.top-context{font-size:.8rem;color:var(--muted)}.language-switch{display:flex;background:#eeefea;padding:.25rem;border-radius:.7rem;gap:.1rem}.language-switch button{font-size:.85rem;padding:.35rem .9rem;min-height:2.25rem;border-radius:.5rem}.language-switch span{font-size:.65rem;margin-left:.3rem;color:var(--muted)}.language-switch button.active{background:var(--white);box-shadow:0 1px 4px #202a2010}.mobile-brand,.bottom-nav{display:none}main{padding:2.5rem 3rem 3rem;max-width:95rem;margin:auto}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.9rem}.heading .eyebrow{margin-bottom:.65rem}.heading p:last-child{font-size:.85rem;color:var(--muted);margin-top:.7rem;line-height:1.6}.count-label{font-size:.75rem;color:var(--muted);white-space:nowrap}.count-label strong{font-weight:600;color:var(--ink);font-size:1.1rem}.lessons-layout{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(22rem,1.45fr);gap:2rem;align-items:start}.library{min-width:0}.book-summary{display:flex;gap:1.15rem;align-items:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.book-cover{width:4rem;height:5.5rem;background:var(--sage);border-radius:.15rem .5rem .5rem .15rem;box-shadow:inset 4px 0 #00000008;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;padding:.6rem .65rem;font-family:serif;color:var(--green)}.book-cover b{font-size:1.65rem}.book-cover small{font-family:sans-serif;font-size:.5rem;letter-spacing:.04rem}.book-summary h2{font-size:1rem;line-height:1.6}.book-summary p{font-size:.75rem;color:var(--muted);margin-top:.4rem}.search{display:flex;align-items:center;gap:.7rem;background:var(--white);border:1px solid var(--line);border-radius:.6rem;padding:0 .8rem;color:var(--muted);margin-bottom:1rem}.search input{border:0;background:none;width:100%;min-height:2.8rem;outline:0;font-size:.8rem;color:var(--ink)}.list-top{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin:1.5rem .2rem .8rem}.lesson-list{max-height:40rem;overflow:auto;padding-right:.25rem}.lesson-row{width:100%;text-align:left;display:flex;align-items:center;gap:.75rem;border-radius:.65rem;padding:1rem .8rem;margin-bottom:.3rem}.lesson-row:hover{background:var(--white)}.lesson-row.selected{background:var(--white);box-shadow:inset 3px 0 var(--red)}.lesson-num{font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums;min-width:1.7rem}.lesson-row.selected .lesson-num{color:var(--red)}.lesson-info{flex:1;min-width:0}.lesson-info b{font-size:.9rem;font-weight:550;display:block}.lesson-info small{display:block;font-size:.7rem;color:var(--muted);margin-top:.4rem}.row-arrow{font-size:1rem;color:var(--muted)}.badge{font-size:.65rem;color:var(--green);background:var(--sage);padding:.2rem .45rem;border-radius:.3rem;white-space:nowrap}.reader{background:var(--white);border:1px solid var(--line);border-radius:1rem;overflow:hidden;min-width:0}.reader-intro{padding:2rem 2rem 1.3rem}.reader-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.7rem;margin-bottom:1.6rem}.reader-title{display:flex;justify-content:space-between;align-items:center;gap:1rem}.reader-title h2{font-size:1.7rem}.reader-sub{font-size:.8rem;color:var(--muted);margin-top:.65rem}.bookmark{border:1px solid var(--line);border-radius:50%;width:2.75rem;flex-shrink:0}.bookmark.saved{color:var(--red);background:var(--tint);border-color:var(--tint)}.audio-strip{margin-top:1.5rem;padding:.8rem 1rem;background:var(--paper);display:flex;align-items:center;gap:.8rem;border-radius:.6rem;font-size:.75rem;color:var(--muted)}.audio-strip .icon{color:var(--ink)}.audio-track{flex:1;height:2px;background:var(--line)}.reader-tabs{display:flex;gap:1.8rem;padding:0 2rem;border-bottom:1px solid var(--line)}.reader-tabs button{font-size:.85rem;color:var(--muted);padding:.9rem 0;border-bottom:2px solid transparent}.reader-tabs button.active{color:var(--red);border-color:var(--red);font-weight:600}.reader-tabs small{margin-left:.3rem;font-size:.65rem}.reader-body{padding:.5rem 2rem 1.5rem}.vocab-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.vocab-row:last-child{border:0}.vocab-word{font-size:1.2rem;font-weight:550;line-height:1.6}.reading{font-size:.75rem;color:var(--muted);font-weight:400;margin:.2rem 0}.meaning{font-size:.82rem;color:var(--muted);text-align:right;line-height:1.6;max-width:45%}.pos{font-size:.6rem;border:1px solid var(--line);border-radius:.2rem;padding:.1rem .25rem;margin-right:.4rem}.sentence{padding:1.2rem 0;border-bottom:1px solid var(--line)}.sentence .target{font-size:1.05rem;line-height:1.9}.sentence .translation{font-size:.82rem;color:var(--muted);line-height:1.8;margin-top:.55rem}.speaker{font-size:.7rem;color:var(--red);margin-bottom:.5rem}.reader-footer{border-top:1px solid var(--line);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.7rem}.text-button{color:var(--red);font-size:.8rem}.empty{padding:3rem 1.5rem;text-align:center;color:var(--muted);line-height:1.8}.empty .icon{width:2rem;height:2rem;margin-bottom:1rem}.empty h2{color:var(--ink);margin-bottom:.75rem}.empty p{font-size:.85rem}.back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.2rem;font-size:.85rem;color:var(--muted)}.mobile-reader .reader{max-width:52rem;margin:auto}.mobile-reader .back{margin-left:0}.word-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(15rem,.7fr);gap:2rem;align-items:start;max-width:67rem}.setup-card{background:var(--white);border:1px solid var(--line);border-radius:1rem;padding:2rem}.setup-kicker{display:flex;align-items:center;gap:.7rem;font-size:.75rem;color:var(--muted)}.setup-symbol{background:var(--tint);color:var(--red);padding:.7rem;border-radius:.7rem}.setup-card h2{font-size:1.7rem;line-height:1.5;margin:1.5rem 0 .5rem}.setup-card>.muted{font-size:.85rem;line-height:1.7}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:2rem 0 1.5rem}.preset{border:1px solid var(--line);border-radius:.65rem;padding:1rem .4rem;min-height:5rem}.preset strong{display:block;font-size:1.35rem;font-weight:550}.preset small{font-size:.68rem;color:var(--muted);display:block;margin-top:.4rem}.preset.active{background:var(--tint);color:var(--red);border-color:var(--red)}.field-label{font-size:.8rem;display:block;margin-bottom:.7rem}.input-wrap{display:flex;align-items:center;border:1px solid var(--line);border-radius:.55rem;padding:0 1rem;gap:.5rem}.input-wrap input{min-width:0;width:100%;border:0;outline:0;background:none;padding:1rem 0;font-size:1rem;color:var(--ink)}.input-wrap span{font-size:.8rem;color:var(--muted)}.input-wrap.invalid{border-color:var(--red)}.field-help{font-size:.72rem;color:var(--muted);margin-top:.65rem;min-height:2rem;line-height:1.5}.field-help.error{color:var(--red)}.primary{background:var(--button-bg);color:var(--white);border-radius:.65rem;padding:.9rem 1.5rem;font-size:.9rem;font-weight:550;min-height:3.2rem}.wide{width:100%}.primary:disabled{opacity:.45}.setup-bottom{display:flex;gap:.6rem;justify-content:center;align-items:center;font-size:.7rem;color:var(--muted);margin-top:1rem}.setup-bottom .icon{width:.85rem;height:.85rem}.study-aside{padding:1.5rem .5rem}.study-aside h3{margin-bottom:1.5rem}.how-row{display:flex;gap:.8rem;margin:1.5rem 0}.how-row>span{width:1.6rem;height:1.6rem;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.7rem;color:var(--muted);flex-shrink:0}.how-row b{font-size:.85rem;font-weight:500}.how-row p{font-size:.75rem;line-height:1.8;color:var(--muted);margin-top:.4rem}.aside-note{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2rem;font-size:.78rem;line-height:1.9;color:var(--muted)}.resume{display:flex;align-items:center;gap:1rem;justify-content:space-between;background:var(--sage);padding:1rem;border-radius:.7rem;margin-bottom:1rem;font-size:.82rem}.resume small{display:block;color:var(--green);margin-top:.35rem}.study-shell{max-width:46rem;margin:0 auto}.study-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.8rem;margin-bottom:1rem}.progress{height:4px;border-radius:4px;background:var(--line);overflow:hidden}.progress-fill{height:100%;background:var(--red);width:0;transition:width .2s}.flashcard{margin:2rem 0 1.5rem;min-height:24rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--white);border:1px solid var(--line);border-radius:1rem;padding:2rem}.flashcard .eyebrow{margin-bottom:2.5rem}.flashcard h2{font-family:"Yu Mincho","Songti SC",Georgia,serif;font-size:3.6rem;line-height:1.4;overflow-wrap:anywhere;max-width:100%;font-weight:500}.flashcard .reading{margin:.8rem 0 1.2rem;font-size:1rem}.flashcard .answer{font-size:1.2rem;line-height:1.8;max-width:100%;margin-top:1.2rem}.flashcard .source{font-size:.7rem;color:var(--muted);margin-top:2rem}.reveal-hint{font-size:.8rem;color:var(--muted);margin-top:1.5rem}.rating-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.rating{border:1px solid var(--line);border-radius:.65rem;padding:1rem .3rem;background:var(--white);font-size:.85rem}.rating:last-child{background:var(--sage);border-color:var(--sage);color:var(--green)}.study-note{font-size:.75rem;text-align:center;color:var(--muted);margin:1.5rem 0;line-height:1.8}.result-card{max-width:40rem;text-align:center;padding:3rem 2rem;margin:auto;background:var(--white);border:1px solid var(--line);border-radius:1rem}.result-mark{margin:0 auto 1.5rem;display:grid;place-items:center;background:var(--sage);width:4rem;height:4rem;border-radius:50%;color:var(--green);font-size:2rem}.result-card h1{margin-bottom:.8rem}.result-card>p{font-size:.85rem;color:var(--muted)}.results{display:grid;grid-template-columns:repeat(3,1fr);margin:2.5rem 0}.results strong{display:block;font-size:1.75rem;font-weight:500;margin-bottom:.5rem}.results span{font-size:.75rem;color:var(--muted)}#toast{position:fixed;z-index:var(--z-toast);left:50%;bottom:6rem;transform:translateX(-50%);background:var(--ink);color:var(--white);padding:.8rem 1.1rem;border-radius:.5rem;font-size:.8rem;max-width:90vw;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.snapshot-note{margin-top:2rem;font-size:.68rem;color:var(--muted);line-height:1.7}.no-results{padding:2rem;font-size:.8rem;text-align:center;color:var(--muted)}
@media(min-width:1440px){main{padding:3rem 4rem}.topbar{padding:0 4rem}.lessons-layout{gap:3rem;grid-template-columns:minmax(18rem,1fr) minmax(28rem,1.7fr)}}
@media(max-width:1100px) and (min-width:760px){.sidebar{width:10rem;padding:2rem 1rem}.workspace{margin-left:10rem}.topbar{padding:0 1.5rem}main{padding:2rem 1.5rem}.lessons-layout{grid-template-columns:minmax(12rem,.75fr) minmax(17rem,1.15fr);gap:1rem}.reader-intro{padding:1.5rem 1.2rem 1rem}.reader-tabs{padding:0 1.2rem;gap:1rem}.reader-body{padding:.5rem 1.2rem 1rem}.reader-footer{padding:1rem 1.2rem}.word-layout{grid-template-columns:1fr}.study-aside{display:none}.brand{font-size:1.25rem}.lesson-row{padding:.85rem .5rem;gap:.45rem}.count-label{display:none}.book-summary{gap:.7rem}.book-summary h2{font-size:.88rem}.nav-item{padding:.8rem .5rem}.reader-tabs small{display:none}}
@media(max-width:759px){.sidebar,.top-context{display:none}.workspace{margin-left:0}.topbar{height:4.8rem;padding:0 1.25rem;border-bottom:0;position:relative}.mobile-brand{display:block;font-weight:650;font-size:1.4rem}.mobile-brand span{color:var(--red)}.language-switch span{display:none}.language-switch button{padding:.3rem .85rem;font-size:.8rem}main{padding:1.5rem 1.25rem calc(6rem + env(safe-area-inset-bottom))}.heading{margin-bottom:1.6rem}.heading h1{font-size:1.75rem}.heading p:last-child{font-size:.78rem}.count-label{display:none}.lessons-layout{display:block}.lessons-layout>.reader{display:none}.book-summary{background:var(--white);padding:1.15rem;border:1px solid var(--line);border-radius:.8rem;margin-bottom:1.2rem}.book-cover{width:3.6rem;height:4.8rem}.lesson-list{max-height:none;padding:0}.lesson-row{padding:1.1rem .8rem}.lesson-row.selected{box-shadow:none;background:var(--white)}.lesson-info b{font-size:1rem}.lesson-info small{font-size:.75rem}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);background:var(--white);border-top:1px solid var(--line);padding:.3rem 1rem calc(.3rem + env(safe-area-inset-bottom));justify-content:space-around}.bottom-nav .nav-item{flex:1;flex-direction:column;gap:.25rem;font-size:.67rem;max-width:11rem;padding:.5rem;border-radius:0}.bottom-nav .nav-item.active{background:none}.bottom-nav .icon{width:1.4rem;height:1.4rem}.reader{border-radius:.8rem}.reader-intro{padding:1.5rem 1.15rem 1rem}.reader-tabs{padding:0 1.15rem;gap:1.5rem}.reader-body{padding:.4rem 1.15rem 1rem}.reader-footer{padding:.8rem 1.15rem}.reader-title h2{font-size:1.5rem}.reader-meta{margin-bottom:1.1rem}.vocab-word{font-size:1.2rem}.word-layout{display:block}.setup-card{padding:1.5rem 1.15rem}.setup-card h2{font-size:1.55rem}.study-aside{padding:1.7rem .4rem .3rem}.study-aside .how-row{margin:1rem 0}.aside-note{display:none}.presets{gap:.5rem;margin:1.6rem 0 1.25rem}.preset strong{font-size:1.25rem}.flashcard{min-height:23rem;margin:1.4rem 0;padding:1.5rem}.flashcard h2{font-size:3rem}.study-shell{padding:0}.study-top .back{margin-bottom:0}.rating-buttons{gap:.5rem}.rating{font-size:.8rem}.result-card{padding:2.5rem 1.1rem}.snapshot-note{font-size:.65rem}.reader-tabs button{font-size:.8rem}.study-shell~.snapshot-note{display:none}}
.input-wrap span{white-space:nowrap;flex-shrink:0}
/* 登录页 */
body:not(.logged-in) .sidebar,body:not(.logged-in) .topbar,body:not(.logged-in) .bottom-nav,body:not(.logged-in) .language-switch{display:none}
body:not(.logged-in) .workspace{margin:0}
body:not(.logged-in) main{padding:0;max-width:none}
.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--paper);padding:2rem 1.25rem}
.login-card{width:100%;max-width:24rem;background:var(--white);border:1px solid var(--line);border-radius:1rem;padding:2.5rem 2rem}
.login-card h1{font-size:1.75rem;margin:.5rem 0 .4rem}
.login-card .muted{font-size:.82rem;line-height:1.6}
.login-card .eyebrow{margin-bottom:.25rem}
.logout-btn{color:var(--muted);font-size:.75rem;min-height:2rem;padding:.25rem 0;margin-top:.5rem}
.logout-btn:hover{color:var(--red)}
.auth-info{font-size:.7rem;color:var(--muted);margin-top:.4rem}
.auth-info strong{color:var(--ink)}
.round-overview{margin:1.8rem 0 1rem;padding:1.2rem 1.3rem;border-radius:.7rem;background:var(--paper)}
.round-overview>span{font-size:.75rem;color:var(--muted)}
.round-overview p{margin-top:.55rem;color:var(--muted);font-size:.85rem}
.round-overview strong{font-size:2.2rem;line-height:1.2;color:var(--ink);font-weight:550;margin-right:.25rem}
.mobile-course{display:none}
.reader-intro{padding:.6rem 1.1rem .65rem}
.reader-title{gap:.5rem;min-height:2.75rem}
.reader-title h2{font-size:1.2rem;line-height:1.4;flex:1;min-width:0}
.reader-back{width:2.75rem;min-width:2.75rem;min-height:2.75rem;display:grid;place-items:center;margin-left:-.6rem;color:var(--muted)}
.reader-intro .bookmark{width:2.75rem;min-width:2.75rem;min-height:2.75rem;border:0;border-radius:.4rem}
.reader-meta{margin:.2rem 0 0;font-size:.68rem;gap:.5rem;flex-wrap:wrap}
.reader-audio{display:inline-flex;align-items:center;gap:.35rem;font-size:.65rem}
.reader-audio .icon{width:.85rem;height:.85rem}
.reader-tabs{gap:1.5rem;padding:0 1.1rem}
.reader-tabs button{min-height:2.75rem;padding:.65rem 0}
button.vocab-row{width:100%;text-align:left;border-radius:.4rem}
.vocab-row .reading{display:block}
.inline-word{display:inline;min-height:0;padding:.1rem .05rem;border-radius:.2rem;font:inherit;line-height:inherit;vertical-align:baseline;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.inline-word:hover{background:var(--paper)}
.inline-word.word-highlight,.vocab-row.word-highlight{background:var(--tint);color:var(--red);box-shadow:inset 0 -2px var(--red)}
.vocab-row.word-highlight .meaning,.vocab-row.word-highlight .reading{color:var(--red)}
body.reader-mode{height:100dvh;overflow:hidden;background:var(--white)}
.reader-mode .sidebar,.reader-mode .topbar,.reader-mode .bottom-nav{display:none}
.reader-mode .app,.reader-mode .workspace{margin:0;height:100dvh;min-height:0}
.reader-mode main{max-width:none;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}
.reader-mode .mobile-reader{height:100%;max-width:55rem;margin:auto}
.reader-mode .reader{height:100%;max-width:none;display:flex;flex-direction:column;border:0;border-radius:0}
.reader-mode .reader-intro{flex-shrink:0;padding:.5rem 1.2rem .6rem}
.reader-mode .reader-title h2{font-size:1.2rem}
.reader-mode .reader-tabs{flex-shrink:0;padding:0 1.2rem;gap:1.5rem}
.reader-mode .reader-tabs small{display:inline}
.reader-mode .reader-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:.2rem 1.2rem 1rem}
.reader-mode .reader-footer{flex-shrink:0;min-height:2.75rem;padding:0 1.2rem;font-size:.7rem}
.reader-mode .sentence{padding:1rem 0}
.reader-mode .sentence .target{line-height:2;font-size:1.05rem}
.reader-mode .reader-footer .text-button{min-height:2.75rem}
button.sentence{display:block;width:100%;text-align:left;border-radius:.45rem;padding:1rem .65rem;transition:background .12s;color:inherit;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}
button.sentence>.speaker,button.sentence>.target,button.sentence>.translation{display:block}
button.sentence>.target{white-space:pre-line}
.sentence.sentence-highlight{background:var(--tint);box-shadow:inset 3px 0 var(--red)}
.sentence.sentence-highlight .target{color:var(--red)}
/* 音频播放到当前句/词：绿色跟随高亮（区别于手动点选的红色） */
.sentence.audio-active{background:var(--sage);box-shadow:inset 3px 0 var(--green)}
.sentence.audio-active .target{color:var(--green)}
.vocab-row.audio-active{background:var(--sage);box-shadow:inset 0 -2px var(--green);border-radius:.4rem}
.vocab-row.audio-active .meaning,.vocab-row.audio-active .reading{color:var(--green)}
.reader-mode button.sentence{padding:1rem .7rem}
/* 长按取词弹卡 */
.word-card{position:fixed;z-index:50;min-width:11rem;max-width:min(18rem,86vw);background:var(--white);border:1px solid var(--line);border-radius:.8rem;box-shadow:0 .6rem 1.8rem rgba(39,42,41,.18);padding:.9rem 1rem .8rem;opacity:0;transform:translateY(6px) scale(.97);transition:opacity .14s ease,transform .14s ease;pointer-events:auto}
.word-card.show{opacity:1;transform:translateY(0) scale(1)}
.word-card-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.45rem}
.word-card-surface{font-size:1.35rem;font-weight:650;color:var(--ink);line-height:1.2}
.word-card-pos{font-size:.68rem;color:var(--red);background:var(--tint);border-radius:.35rem;padding:.15rem .45rem;font-weight:600}
.word-card-row{display:flex;gap:.6rem;align-items:baseline;font-size:.85rem;padding:.18rem 0;color:var(--ink)}
.word-card-label{flex:none;width:2.4rem;color:var(--muted);font-size:.72rem}
.word-card-actions{display:flex;gap:.5rem;margin-top:.65rem}
.word-card-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.3rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:.55rem;background:var(--paper);color:var(--ink);font:inherit;font-size:.82rem;cursor:pointer}
.word-card-btn:hover{border-color:var(--red);color:var(--red)}
.word-card-btn.faved{background:var(--tint);border-color:var(--red);color:var(--red);font-weight:600}
.word-card-btn svg{width:1rem;height:1rem}
/* 收藏单词浮动按钮（记单词首页右上角） */
.fav-fab{position:fixed;top:10rem;right:3rem;z-index:20;display:inline-flex;align-items:center;gap:.4rem;min-height:2.4rem;padding:.4rem .75rem;border:1px solid var(--line);border-radius:2rem;background:var(--paper);color:var(--ink);font:inherit;font-size:.75rem;font-weight:500;cursor:pointer;box-shadow:0 .2rem .6rem rgba(39,42,41,.1)}
.fav-fab:hover{border-color:var(--red);color:var(--red)}
.fav-fab svg{width:.9rem;height:.9rem}
.fav-fab b{min-width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;border-radius:.6rem;font-size:.6rem;font-weight:700;padding:0 .25rem}
@media(max-width:759px){.fav-fab{top:13.6rem;right:1.6rem;min-height:2.2rem;padding:.3rem .55rem}}
/* 收藏单词 overlay（study 页浮层） */
.fav-words-overlay{position:fixed;inset:0;z-index:30;background:rgba(39,42,41,.45);display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem;opacity:0;transition:opacity .14s ease;overflow:auto}
.fav-words-overlay.show{opacity:1}
.fav-words-panel{background:var(--paper);border:1px solid var(--line);border-radius:1rem;max-width:42rem;width:100%;margin:auto;display:flex;flex-direction:column;max-height:min(80vh,40rem)}
.fav-words-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}
.fav-words-head h2{font-size:1.1rem}
.fav-words-body{padding:1rem 1.25rem;overflow:auto}
.fav-words-hint{margin:0 0 .8rem;font-size:.75rem}
.fav-words-list{list-style:none;padding:0;margin:0}
.fav-words-list li{border-bottom:1px solid var(--line)}
.fav-word-item{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:baseline;gap:.4rem .8rem;padding:.9rem .25rem;text-align:left;background:none;border:none;color:inherit;cursor:pointer;font:inherit}
.fav-word-item:hover{background:var(--paper)}
.fav-word-surface{font-size:1.1rem;font-weight:550;color:var(--ink)}
.fav-word-item small{font-size:.72rem;color:var(--muted)}
.fav-word-meaning{font-size:.82rem;color:var(--muted);grid-column:1}
.fav-word-tag{font-size:.62rem;color:var(--red);background:var(--tint);border-radius:.3rem;padding:.1rem .35rem;grid-column:2;align-self:center}
@media(max-width:759px){
  .words-home .topbar,.words-home main>.heading,.words-home .study-aside,.words-home main>.snapshot-note{display:none}
  .words-home main{padding-top:max(1.25rem,env(safe-area-inset-top));padding-bottom:calc(6rem + env(safe-area-inset-bottom))}
  .words-home .word-layout{display:block}
  .words-home .setup-card{margin:0;padding:1.4rem 1.15rem}
  .words-home .setup-kicker{flex-wrap:wrap;gap:.6rem}
  .mobile-course{display:block;margin-left:auto;min-height:2.75rem;border:1px solid var(--line);background:var(--paper);border-radius:.5rem;padding:.4rem;font:inherit;font-size:.75rem;color:var(--ink)}
}
.matching-settings{margin:.7rem 0 1.5rem;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.setting-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.setting-heading h3{font-size:.88rem}.setting-heading p{font-size:.73rem;color:var(--muted);margin-top:.4rem}
.switch{width:3rem;min-width:3rem;min-height:2.75rem;position:relative}.switch::before{content:'';position:absolute;inset:.6rem 0;background:var(--line);border-radius:2rem}.switch span{display:block;position:absolute;width:1.2rem;height:1.2rem;left:.2rem;top:.78rem;border-radius:50%;background:var(--white);transition:transform .2s}.switch.on::before{background:var(--red)}.switch.on span{transform:translateX(1.4rem)}
.match-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.3rem}.match-fields label{font-size:.73rem;color:var(--muted)}.match-fields select{display:block;width:100%;margin-top:.5rem;padding:.65rem .5rem;min-height:2.75rem;border:1px solid var(--line);border-radius:.5rem;font:inherit;color:var(--ink);background:var(--paper)}.matching-hint{font-size:.7rem;line-height:1.8;color:var(--muted);margin:.7rem 0}.round-tag{color:var(--red);background:var(--tint);padding:.35rem .7rem;border-radius:2rem;font-weight:600}.round-progress{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:1.3rem 0 .75rem;font-size:.8rem;color:var(--muted)}.round-progress strong{color:var(--ink);font-weight:600}.round-progress small{font-size:.68rem}.listen-button{border:1px solid var(--line);border-radius:50%;width:3.5rem;height:3.5rem;display:grid;place-items:center;color:var(--red);background:var(--tint);margin-bottom:.7rem}.listen-button .icon{width:1.5rem;height:1.5rem}.listening-label{font-size:.67rem;color:var(--muted);margin-bottom:2rem}.listening-card{min-height:23rem;padding-top:1.7rem}.listening-card .answer{margin-top:.4rem}.example-box{width:100%;border-top:1px solid var(--line);margin-top:1.5rem;padding-top:.5rem;text-align:left}.example-heading{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--red)}.example-placeholder{font-size:1rem;line-height:1.8;margin:.4rem 0}.example-box>.muted{font-size:.75rem;line-height:1.8}.example-nav{display:flex;align-items:center;gap:.5rem;margin:.3rem 0}.example-nav-btn{border:1px solid var(--line);border-radius:.4rem;background:var(--white);color:var(--ink);font-size:1rem;line-height:1;padding:.3rem .55rem;cursor:pointer}.example-nav-btn:disabled{opacity:.4;cursor:default}.example-counter{font-size:.7rem;color:var(--muted)}.example-sentence{font-size:1rem;line-height:1.8;margin:.4rem 0}.rating-feedback{text-align:center;color:var(--muted);font-size:.75rem;margin:0 0 1rem}.matching-title{text-align:center;margin:2rem 0}.matching-title h1{font-size:1.7rem;margin:.7rem 0}.matching-title>p:last-child{font-size:.8rem;color:var(--muted);line-height:1.8}.match-status{display:flex;justify-content:space-between;gap:.6rem;font-size:.75rem;color:var(--muted);margin:1.3rem 0}.match-status strong{color:var(--green);font-weight:500}.match-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem;position:relative}.match-column-label{font-size:.7rem;color:var(--muted);margin-bottom:.8rem;text-align:center}.match-choice{width:100%;border:1px solid var(--line);background:var(--white);border-radius:.65rem;padding:.8rem .5rem;min-height:4rem;margin-bottom:.65rem;font-size:.88rem;overflow-wrap:anywhere;position:relative;z-index:1}.match-choice.selected{border-color:var(--red);color:var(--red);background:var(--tint)}.match-choice.matched{opacity:1;background:var(--sage);color:var(--green);border-color:#bfd0bd}.match-message{text-align:center;min-height:1.5rem;font-size:.8rem;color:var(--green);margin:1rem 0}.connection-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--green)}
@media(max-width:759px){.round-progress{font-size:.75rem}.round-progress small{font-size:.6rem}.match-columns{gap:1.5rem}.match-choice{font-size:.78rem;min-height:3.7rem}.listening-card h2{font-size:2.9rem}.listening-card .reading{margin:.6rem 0}.matching-title{margin:1.5rem 0}.setup-card h2{font-size:1.4rem}}
html{scrollbar-width:thin;scrollbar-color:var(--line) var(--paper)}
/* Practice uses the available viewport, without application chrome or page scrolling. */
body.practice-mode{height:100dvh;overflow:hidden}
.practice-mode .app,.practice-mode .workspace{height:100dvh;min-height:0;margin:0}
.practice-mode .sidebar,.practice-mode .topbar,.practice-mode .bottom-nav{display:none}
.practice-mode main{height:100dvh;max-width:none;padding:max(.75rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overflow:hidden}
.practice-mode .study-shell{height:100%;min-height:0;width:100%;display:flex;flex-direction:column;margin:auto}
.practice-mode .study-top{flex-shrink:0;margin:0;min-height:2.75rem}
.practice-mode .study-top .back{margin:0}
.practice-mode .round-progress{flex-shrink:0;margin:.6rem 0 .5rem;line-height:1.5}
.practice-mode .progress{flex-shrink:0}
.practice-mode .study-note{display:none}
.practice-mode .listening-card{flex:1;min-height:0;margin:1rem 0 .8rem;padding:clamp(.65rem,2vh,1.5rem);overflow:auto;scrollbar-width:thin}
.practice-mode .listen-button{flex-shrink:0;width:2.75rem;height:2.75rem;min-height:2.75rem;margin-bottom:.45rem}
.practice-mode .listening-label{margin-bottom:clamp(.65rem,2.2vh,1.5rem);font-size:.65rem}
.practice-mode .listening-card h2{font-size:clamp(1.7rem,6vh,3.5rem);line-height:1.3;max-width:100%;flex-shrink:0}
.practice-mode .listening-card .reading{margin:.4rem 0;font-size:.9rem}
.practice-mode .listening-card .answer{font-size:clamp(.95rem,2.4vh,1.2rem);line-height:1.5;margin:.35rem 0}
.practice-mode .example-box{margin-top:clamp(.5rem,1.8vh,1.25rem);padding-top:.2rem}
.practice-mode .example-placeholder{font-size:.9rem;line-height:1.6;margin:.2rem 0}.practice-mode .example-sentence{font-size:.9rem;line-height:1.6;margin:.2rem 0}.practice-mode .example-nav-btn{padding:.2rem .45rem;font-size:.9rem}
.practice-mode .example-heading button{min-height:2.75rem}
.practice-mode .rating-feedback{margin:0 0 .5rem;font-size:.7rem;flex-shrink:0}
.practice-mode .rating-buttons,.practice-mode .study-shell>.primary{flex-shrink:0}
.practice-mode .rating{min-height:2.75rem;padding:.8rem .3rem}
.practice-mode .match-status{flex-shrink:0;min-height:1.5rem;margin:.6rem 0 .8rem;font-size:.75rem;align-items:center}
.practice-mode .match-columns{flex:1;min-height:0;gap:1.5rem}
.practice-mode .match-column{display:grid;min-height:0;gap:.5rem}
.practice-mode .match-column-label{margin:0;font-size:.7rem;line-height:1.2}
.practice-mode .match-choice{height:100%;min-height:0;margin:0;padding:.4rem .65rem;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.3rem}
.practice-mode .match-choice span{display:block;max-height:100%;max-width:100%;min-width:0;overflow:auto;scrollbar-width:none;line-height:1.35}
.practice-mode .match-choice small{font-size:.7rem;flex-shrink:0}
.practice-mode .match-controls{flex-shrink:0;padding-top:.4rem}
.practice-mode .match-message{height:1rem;min-height:0;line-height:1rem;margin:.1rem 0 .35rem;font-size:.7rem}
.practice-mode .match-controls .primary{min-height:2.75rem;padding:.65rem 1rem}
.match-fields input{display:block;width:100%;min-width:0;margin-top:.5rem;padding:.65rem .5rem;min-height:2.75rem;border:1px solid var(--line);border-radius:.5rem;font:inherit;color:var(--ink);background:var(--paper)}
.match-fields input[aria-invalid="true"]{border-color:var(--red)}
@media(max-height:650px){.practice-mode .listening-card{margin:.5rem 0;padding:.7rem}.practice-mode .listening-label{margin-bottom:.5rem}.practice-mode .reveal-hint{margin-top:.5rem}.practice-mode .round-progress{margin:.3rem 0}.practice-mode .example-box{margin-top:.3rem}.practice-mode .example-heading button{min-height:2rem}.practice-mode .listening-card h2{font-size:1.8rem}.practice-mode .match-status{margin:.3rem 0 .5rem}}
@media(max-height:480px) and (min-width:500px){.practice-mode .listening-card{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem;justify-items:center;align-content:center;row-gap:.2rem;overflow:auto}.practice-mode .listen-button{grid-column:1;grid-row:1;margin:0}.practice-mode .listening-label{display:none}.practice-mode .listening-card h2{grid-column:1;grid-row:2}.practice-mode .listening-card .reading{grid-column:1;grid-row:3;margin:0}.practice-mode .listening-card .answer{grid-column:1;grid-row:4;margin:0}.practice-mode .example-box,.practice-mode .reveal-hint{grid-column:2;grid-row:1/5;margin:0}.practice-mode .example-box{border-top:0;border-left:1px solid var(--line);padding-left:1rem}}
.lesson-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
@media(max-width:759px){html{scrollbar-width:none}html::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* 本轮结果 · 重点复习列表（对接后端 /practice/rounds/{id}/result） */
.review-box{border-top:1px solid var(--line);margin:0 0 2rem;padding-top:1.3rem;text-align:left}
.review-box .eyebrow{margin-bottom:.9rem}
.review-list{max-height:16rem;overflow:auto}
.review-list p{display:flex;align-items:baseline;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.review-list p:last-child{border:0}
.review-word{font-weight:550}
.review-word small{margin-left:.1rem}
.review-meaning{margin-left:auto;color:var(--muted);font-size:.78rem;text-align:right}

/* 学课文：按顺序解锁 + 进度跟踪 + 音频播放 */
.lesson-progress-pill{display:inline-flex;align-items:baseline;gap:.15rem;margin-left:.6rem;padding:.25rem .5rem;border-radius:.4rem;background:var(--tint);color:var(--red);font-size:.65rem;font-weight:600;letter-spacing:.04rem;min-height:1.6rem;text-transform:none;vertical-align:middle}
.lesson-progress-pill strong{font-size:.9rem;color:var(--red);font-weight:650}
.lesson-progress-pill .muted{color:var(--muted);font-weight:500}
.lesson-progress-pill:disabled{opacity:.6;background:var(--paper);color:var(--muted)}
.lesson-progress-pill:disabled strong{color:var(--muted)}
.lesson-row.locked{opacity:.5;cursor:not-allowed}
.lesson-row.locked .lesson-info b{color:var(--muted)}
.badge.done{color:var(--green);background:var(--sage)}
.badge.locked{color:var(--muted);background:var(--paper);border:1px solid var(--line)}
.lesson-audio-bar{display:inline-flex;align-items:center;gap:.5rem;background:var(--paper);padding:.25rem .55rem;border-radius:.5rem}
.lesson-audio-play{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--ink);min-height:1.6rem;padding:0 .15rem}
.lesson-audio-play .icon{width:.85rem;height:.85rem}
.lesson-audio-progress{flex:1;min-width:5rem;max-width:9rem;height:3px;border:0;background:var(--line);border-radius:2px;overflow:hidden}
.lesson-audio-progress::-webkit-progress-bar{background:var(--line);border-radius:2px}
.lesson-audio-progress::-webkit-progress-value{background:var(--red);border-radius:2px;transition:width .15s}
.lesson-audio-progress::-moz-progress-bar{background:var(--red);border-radius:2px}
.lesson-audio-time{font-size:.62rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.reader-footer-actions{display:flex;align-items:center;gap:.75rem}
.reader-footer-actions .primary{padding:.55rem 1rem;min-height:2.2rem;font-size:.78rem}
.reader-mode .lesson-audio-bar{margin-top:.3rem}
@media(max-width:759px){.lesson-audio-progress{min-width:4rem;max-width:6rem}}
/* Bilingual dictionary */
.dictionary-page{max-width:850px;margin:0 auto;padding-bottom:6rem}.dictionary-search{display:flex;gap:.7rem;margin:1.4rem 0}.dictionary-search input{min-width:0;flex:1;border:1px solid var(--line);border-radius:12px;background:var(--white);padding:1rem;font:inherit;color:var(--ink)}.dictionary-search button{white-space:nowrap}.dictionary-entry{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:1.5rem;overflow-wrap:anywhere}.dictionary-word{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dictionary-word h2{font-size:2rem;margin:0}.dictionary-entry .muted{color:var(--muted);font-size:.85rem;line-height:1.6}.dictionary-entry h3{margin-top:2rem;font-size:1rem}.dictionary-sentences{padding:0;list-style:none}.dictionary-sentences li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:.8rem 0;line-height:1.8}.dictionary-sentences li>div{min-width:0}.dictionary-sentences p{margin:.3rem 0}.dictionary-sentences button{flex-shrink:0;align-self:flex-start;margin-top:.5rem}.dictionary-candidate{display:flex;flex-direction:column;gap:.5rem;text-align:left;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:1rem;width:100%;margin:.7rem 0;color:var(--ink)}.dictionary-candidate strong{font-size:1.2rem}.dictionary-error{color:var(--red)}
@media(max-width:700px){.bottom-nav{grid-template-columns:repeat(3,1fr)}.dictionary-entry{padding:1.1rem}.dictionary-word h2{font-size:1.7rem}.dictionary-search input{font-size:16px}}

.word-reveal{border:0;background:none;color:inherit;max-width:100%;cursor:pointer;padding:.4rem}.word-obscured{filter:blur(9px);user-select:none}.example-sentence{touch-action:pan-y;-webkit-user-select:none;user-select:none}.round-overview>span{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.round-overview .icon{width:1rem;height:1rem}.word-card{z-index:1500}

/* Account tools live in My page; mobile navigation stays compact. */
.mobile-footer{display:none}
.app-version{font-size:.75rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.profile-page{max-width:640px;margin:0 auto}
.profile-page h1{font-size:1.65rem;margin:0 0 1.8rem}
.profile-identity{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.profile-avatar{display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;background:var(--sage);color:var(--green)}
.profile-avatar .icon{width:1.6rem;height:1.6rem}
.profile-identity h2{font-size:1.15rem;margin:0 0 .4rem}
.profile-identity p{font-size:.8rem;color:var(--muted);margin:0}
.profile-settings{border:1px solid var(--line);border-radius:16px;background:var(--white);overflow:hidden}
.profile-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.2rem;font-size:.9rem;text-align:left;color:var(--ink);background:transparent;border:0}
.profile-row+.profile-row{border-top:1px solid var(--line)}
.profile-row-label{display:flex;align-items:center;gap:.65rem}
.profile-row-value{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.8rem}
.profile-favorites:hover{background:var(--paper)}
.profile-logout{display:block;width:100%;margin-top:1.2rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--red);font-size:.85rem}
@media(max-width:759px){
 body.logged-in:not(.practice-mode):not(.reader-mode) .mobile-footer{display:block;position:fixed;inset:auto 0 0;z-index:var(--z-sticky);background:var(--white);border-top:1px solid var(--line)}
 .mobile-footer .bottom-nav{position:static;border-top:0}
 .profile-page h1{font-size:1.45rem;margin-bottom:1.5rem}
 .profile-row{padding:1.1rem 1rem}
}

/* Account and review tools follow the existing quiet form style. */
#password-form{display:grid;gap:1.2rem;max-width:100%;margin-top:1.5rem}
#password-form label{display:grid;gap:.6rem;font-size:.9rem;color:var(--muted)}
#password-form input{box-sizing:border-box;min-width:0;width:100%;padding:.9rem;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:16px;background:var(--white);color:var(--ink)}
#password-message{color:var(--red);font-size:.85rem;overflow-wrap:anywhere}

/* Compact lesson tools and secondary learning dialogs. */
.reader-tools {padding:10px 0;border-bottom:1px solid var(--line,#e8e4dd);font-size:13px}
.reader-tools summary {cursor:pointer;color:#766e64}
.reader-tool-buttons {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0}
.reader-tool-buttons button,.reader-tool-buttons select {padding:6px 10px;border:1px solid #e3ddd5;border-radius:8px;background:transparent;color:inherit}
.seek-label {display:flex;align-items:center;gap:10px}.seek-label input {flex:1;min-width:0}
.hide-translations .translation {visibility:hidden}.hide-translations .sentence:focus .translation {visibility:visible}
.learning-dialog {width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #e3ddd5;border-radius:18px;background:#faf8f4;color:#34312d}
.learning-dialog::backdrop {background:#2228}.learning-dialog header {display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e3ddd5}.learning-dialog h2{font-size:19px;margin:0}.learning-dialog header button{font-size:26px;border:0;background:none}
.learning-dialog-body {padding:20px;overflow:auto}.learning-dialog-body form {display:grid;gap:12px}.learning-dialog-body label {display:block}.learning-dialog-body textarea {width:100%;min-height:74px;box-sizing:border-box;padding:10px}.learning-dialog-body input:not([type=radio]) {max-width:100%;padding:8px;box-sizing:border-box}.learning-dialog-body audio {width:100%;margin:12px 0}.learning-dialog-body fieldset {border:1px solid #e3ddd5;border-radius:10px;padding:14px;min-width:0}.quiz-option {padding:10px 0;line-height:1.6}.editor-item,.editor-report{padding:14px 0;border-bottom:1px solid #e3ddd5}.editor-item summary{cursor:pointer}.favorite-search{width:100%;box-sizing:border-box;padding:12px;margin-bottom:12px}.fav-context{padding:12px;background:#eeeae3;border-radius:10px;line-height:1.7}

.long-sentence-study .flashcard{min-height:0;overflow:auto;justify-content:flex-start}.long-sentence-study .example-sentence{font-size:clamp(17px,4.6vw,24px);line-height:1.85;overflow-wrap:anywhere}.long-sentence-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:16px}.word-detail-text{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}
