:root{color:#33372f;font-synthesis:none;--bg:#f8f7f4;--paper:#fffefa;--text:#33372f;--muted:#8b8e83;--line:#e6e5df;--accent:#e97d43;--soft:#eeede7;--green:#53654c;background:#f8f7f4;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}body{margin:0}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.4;cursor:default}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{transition:background .18s,color .18s,transform .18s}button:hover{color:var(--accent)}input,textarea,select{color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:8px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #e97d431a}input[type=checkbox]{accent-color:var(--accent);width:23px;height:23px}button.primary,.primary{background:var(--accent);color:#fff;letter-spacing:.04em;border-radius:9px;padding:16px 28px;font-weight:600}.outline-button{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:12px 20px;font-size:14px}.text-button{color:var(--muted);padding:15px 0;font-size:14px}.icon-button{border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;display:grid}.icon-button:hover{background:var(--soft)}.app-shell{max-width:1260px;margin:auto;padding:0 50px}.topbar{justify-content:space-between;align-items:center;gap:20px;height:112px;display:flex}.brand{text-align:left;letter-spacing:2px;align-items:center;gap:11px;font-size:18px;font-weight:600;display:flex}.brand small{color:var(--muted);letter-spacing:4px;margin-top:5px;font-size:10px;font-weight:400;display:block}.brand-mark{border:1.5px solid var(--accent);width:39px;height:39px;color:var(--accent);letter-spacing:0;border-radius:50%;place-items:center;font:25px Hiragino Mincho ProN,Songti SC,serif;display:grid}.topbar nav{gap:42px;padding-right:40px;display:flex}.nav-item{color:var(--muted);letter-spacing:1px;padding:12px 2px;font-size:14px;position:relative}.nav-item span{display:none}.nav-item.active{color:var(--text);font-weight:600}.nav-item.active:after{content:"";background:var(--accent);border-radius:4px;width:16px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.settings-toggle{color:var(--muted);font-size:23px}.home-grid{border:1px solid var(--line);background:var(--paper);border-radius:16px;grid-template-columns:1.3fr 1fr;min-height:620px;display:grid;overflow:hidden}.wallpaper{color:#fff;isolation:isolate;background:url(/kyoto.jpg) 50% 47%/cover;flex-direction:column;min-height:620px;display:flex;position:relative}.photo-shade{z-index:-1;background:linear-gradient(#17282742,#17282722 30%,#17282750 55%,#111e1cd9);position:absolute;inset:0}.wallpaper-top{letter-spacing:3px;color:#ffffffe0;justify-content:space-between;padding:28px 32px;font-size:11px;display:flex}.daily-word{text-align:center;text-shadow:0 2px 18px #0003;padding-top:62px}.daily-word>span{letter-spacing:9px;padding-left:9px;font-size:16px}.daily-word h1{letter-spacing:12px;margin:13px 0 18px;padding-left:12px;font-family:Hiragino Mincho ProN,Yu Mincho,Songti SC,serif;font-size:88px;font-weight:400}.daily-word p{letter-spacing:3px;color:#ffffffe3;font-size:13px}.wall-audio{color:#fff;border:1px solid #fff6;border-radius:50px;margin-top:9px;padding:8px 13px;font-size:10px}.wall-audio span{margin-left:5px}.wall-audio:hover{color:#fff;background:#fff2}.wallpaper-bottom{text-align:center;margin-top:auto;padding:54px 32px 38px}.wallpaper-bottom>p{letter-spacing:2px;margin:0 0 9px;font:15px Hiragino Mincho ProN,Songti SC,serif}.wallpaper-bottom>span{letter-spacing:2px;color:#ffffffb0;font-size:10px}.home-actions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff15;border:1px solid #ffffff35;border-radius:9px;grid-template-columns:1fr 1fr;margin-top:30px;display:grid}.home-actions button{text-align:left;color:#fff;padding:18px 24px}.home-actions button+button{border-left:1px solid #ffffff35}.home-actions button:hover{background:#ffffff12}.home-actions small{letter-spacing:2px;color:#ffffffc0;font-size:11px;display:block}.home-actions strong{margin-top:3px;font-size:35px;font-weight:400;line-height:1.5;display:block}.home-actions i{color:#ffc49e;margin-left:12px;font-size:12px;font-style:normal;font-weight:400}.photo-credit{text-align:center;letter-spacing:3px;color:#ffffff60;width:100%;font-size:8px;position:absolute;bottom:12px}.today-panel{padding:44px 44px 32px}.today-heading h2{letter-spacing:3px;margin:23px 0 12px;font-size:34px;font-weight:500;line-height:1.6}.today-heading p{color:var(--muted);letter-spacing:1px;font-size:12px}.today-numbers{gap:55px;margin-top:33px;display:flex}.today-numbers strong{font-size:39px;font-weight:300}.today-numbers strong small{color:#b0b2aa;font-size:15px;font-weight:400}.today-numbers div>span{color:var(--muted);margin-top:7px;font-size:11px;display:block}.goal-line{align-items:center;gap:12px;margin:16px 0 30px;display:flex}.track{background:var(--soft);border-radius:8px;height:3px;overflow:hidden}.track i{background:var(--accent);min-width:0;height:100%;display:block}.goal-line .track{flex:1}.goal-line button{color:var(--muted);white-space:nowrap;font-size:10px}.section-line{justify-content:space-between;align-items:center;gap:16px;margin:22px 0 17px;display:flex}.section-line h3{margin:0;font-size:14px;font-weight:500}.section-line h3 small{color:var(--muted);margin-left:12px;font-size:11px;font-weight:400}.section-line>button,.section-line>small{color:var(--muted);font-size:11px}.book-card{text-align:left;gap:23px;display:flex}.book-cover{background:var(--cover);color:#344135;border-radius:2px 5px 5px 2px;flex-direction:column;width:118px;min-width:118px;height:166px;padding:14px 14px 12px;display:flex;position:relative;box-shadow:inset 5px 0 #0000000c,4px 6px 12px #0000000b}.book-cover:before{content:"";pointer-events:none;border:1px solid #ffffff60;position:absolute;inset:8px}.book-cover>span{letter-spacing:2px;text-align:center;padding-top:3px;font-size:7px}.book-cover b{writing-mode:vertical-rl;letter-spacing:5px;white-space:nowrap;margin:auto;font:400 23px Hiragino Mincho ProN,Songti SC,serif}.book-cover small{text-align:center;letter-spacing:3px;margin-top:6px;font-size:8px}.book-info{flex:1;min-width:0;padding:9px 0}.book-info>small{color:var(--muted);font-size:9px}.book-info h3{letter-spacing:1px;margin:12px 0;font-size:18px;font-weight:500}.book-info p{color:var(--muted);margin:0 0 23px;font-size:11px}.book-info>span{color:var(--muted);font-size:10px}.compact{align-items:center;gap:20px;width:100%;padding:0}.compact .book-cover{width:72px;min-width:72px;height:103px;padding:10px 6px}.compact .book-cover b{letter-spacing:2px;font-size:16px}.compact .book-cover:before{inset:5px}.compact .book-cover>span,.compact .book-cover small{letter-spacing:1px;font-size:5px}.compact .book-info>small{display:none}.compact .book-info h3{margin:0 0 8px;font-size:15px}.compact .book-info p{margin:0 0 17px;font-size:11px}.streak-line{text-align:left;border-top:1px solid var(--line);align-items:center;gap:12px;width:100%;margin-top:28px;padding:22px 0 0;font-size:11px;display:flex}.streak-icon{color:var(--muted);font-size:25px}.streak-line small{color:var(--muted);margin-top:6px;font-size:9px;display:block}.streak-line>span:last-child{color:var(--muted);margin-left:auto}.streak-line b{color:var(--accent);font-weight:500}.desktop-footer{color:#a5a79d;letter-spacing:1px;justify-content:space-between;padding:27px 0 30px;font-size:9px;display:flex}.desktop-footer i{color:#b5b7ad;margin-left:16px;font-size:9px;font-style:normal}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:44px;display:flex}.page-heading h1{letter-spacing:2px;margin:17px 0 13px;font-size:30px;font-weight:500}.page-heading p{color:var(--muted);font-size:12px;line-height:1.8}.book-grid .book-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:25px}.book-grid .book-card.selected{border-color:#deab8e}.book-info em{color:var(--muted);justify-content:space-between;margin-top:15px;font-size:10px;font-style:normal;display:flex}.selected .book-info em{color:var(--accent)}.search-field{background:var(--soft);border-radius:9px;align-items:center;gap:12px;margin-bottom:15px;padding:0 17px;display:flex}.search-field>span{color:var(--muted);font-size:27px}.search-field input{width:100%;height:48px;box-shadow:none;background:0 0;border:0;font-size:13px}.word-row{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:12px 6px;display:flex}.word-row[hidden]{display:none}.word-open{text-align:left;flex:1;grid-template-columns:1fr 1fr 1.8fr;align-items:center;gap:20px;padding:10px 0;display:grid}.word-open b{font-size:18px;font-weight:500}.word-open span{color:var(--muted);font-size:12px}.word-open .row-meaning{color:var(--text)}.word-state{color:var(--muted);white-space:nowrap;font-size:9px}.star{color:#aaa;font-size:23px}.star.on{color:var(--accent)}.no-matches{text-align:center;color:var(--muted);padding:30px;font-size:14px}.empty-state{text-align:center;color:var(--muted);padding:90px 20px}.empty-state>span{letter-spacing:8px;color:#bbc0b2;font-family:serif;font-size:35px}.empty-state h3{color:var(--text);margin-top:27px;font-size:18px;font-weight:400}.empty-state p{font-size:12px;line-height:1.8}.study-page{max-width:940px;margin:12px auto 40px}.study-top{color:var(--muted);justify-content:space-between;align-items:center;padding:0 0 24px;font-size:12px;display:flex}.back-link{color:var(--text);padding:8px 0;font-size:19px}.back-link span{margin-left:8px;font-size:12px}.progress-count{color:var(--accent);font-size:16px}.progress-count i{color:var(--muted);font-size:12px;font-style:normal}.study-track{background:var(--line);height:2px;overflow:hidden}.study-track i{background:var(--accent);height:100%;transition:width .3s;display:block}.study-body{grid-template-columns:1fr 1fr;min-height:380px;margin-top:35px;display:grid}.word-block{padding-right:42px}.word-toolbar{letter-spacing:1px;color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.word-center{text-align:center;padding:27px 0}.reading{letter-spacing:4px;min-height:22px;color:var(--muted);margin:10px 0 12px;font-size:17px}.reading.muted{letter-spacing:1px;font-size:11px}.word-center h1{letter-spacing:5px;overflow-wrap:anywhere;margin:18px 0 25px;font-family:Hiragino Mincho ProN,Yu Mincho,Songti SC,serif;font-size:65px;font-weight:400}.audio-button{border:1px solid var(--line);color:var(--muted);border-radius:30px;padding:10px 18px;font-size:10px}.audio-button span{letter-spacing:1px;margin-left:5px}.definition{margin-top:27px}.definition small{color:var(--muted);font-size:10px}.definition p{letter-spacing:1px;font-size:19px}.recall-note{color:var(--muted);margin-top:50px;font-size:11px}.context-block{border-left:1px solid var(--line);margin:15px 0;padding:30px 0 24px 44px}.context-block .section-eyebrow{font-size:9px}.section-eyebrow span{letter-spacing:1px;margin-left:12px}.example{letter-spacing:1px;overflow-wrap:anywhere;margin:34px 0 16px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:23px;line-height:1.9}.translation{color:var(--muted);font-size:13px;line-height:1.8}.text-audio{color:var(--accent);padding:13px 0;font-size:11px}.context-note{color:var(--muted);margin-top:8px;font-size:9px}.memory-note{border-top:1px solid var(--line);margin-top:29px;padding-top:20px}.memory-note>span{color:var(--muted);font-size:10px}.memory-note p{color:var(--muted);font-size:12px;line-height:1.9}.hidden-context{text-align:center;color:var(--muted);padding-top:68px}.hidden-context>span{color:#c7cbbf;opacity:.5;font:64px serif}.hidden-context p{letter-spacing:2px;margin-top:23px;font-size:13px}.hidden-context small{font-size:10px}.study-controls{text-align:center;max-width:640px;margin:35px auto 0}.reveal-button{justify-content:center;gap:50px;width:100%;max-width:370px;margin:auto;display:flex}.reveal-button span{opacity:.65}.control-hint{color:var(--muted);margin:18px 0;font-size:10px;display:block}.grade-buttons{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grade-buttons button{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:16px 9px}.grade-buttons button b{letter-spacing:1px;font-size:14px;font-weight:500;display:block}.grade-buttons button span{color:var(--muted);margin-top:9px;font-size:9px;display:block}.grade-buttons .good{color:#b15c2a;background:#faeee6;border-color:#e7b89c}.done-page{text-align:center;flex-direction:column;align-items:center;min-height:650px;padding:50px 20px;display:flex}.done-stamp{color:var(--accent);letter-spacing:2px;border:1px solid #e8b69b;margin:15px 0 48px;padding:13px 18px;font-family:serif;font-size:14px;transform:rotate(-7deg)}.done-page h1{letter-spacing:4px;font-family:Songti SC,serif;font-size:43px;font-weight:400;line-height:1.5}.done-page p{color:var(--muted);margin:0 0 30px;font-size:13px;line-height:2.1}.done-page .primary{min-width:270px}.quiz-page{max-width:820px;margin:12px auto 60px}.quiz-card h1{font-size:32px;font-weight:400;line-height:1.5}.quiz-card>p{color:var(--muted);font-size:11px}#quiz-form{flex-direction:column;gap:15px;margin-top:35px;display:flex}#answer{text-align:center;letter-spacing:4px;padding:18px 10px;font-size:27px}#answer:disabled{opacity:.7}.quiz-feedback{color:#9f603b;background:#faeee6;border-radius:9px;margin:20px 0;padding:20px}.quiz-feedback p{font-size:21px}.quiz-feedback p span{font-size:15px}.quiz-feedback small{line-height:1.8;display:block}.profile-stats{grid-template-columns:repeat(4,1fr);margin:45px 0;display:grid}.profile-stats>div{text-align:center;border-right:1px solid var(--line)}.profile-stats>div:last-child{border:0}.profile-stats strong{font-size:45px;font-weight:300;display:block}.profile-stats span{color:var(--muted);margin-top:12px;font-size:11px;display:block}.activity{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:24px 28px 28px}.calendar{grid-template-columns:repeat(14,1fr);gap:7px;display:grid}.calendar-day{background:var(--soft);height:48px;color:var(--muted);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;font-size:11px;display:flex}.calendar-day i{margin-top:6px;font-size:17px;line-height:5px}.calendar-day.today{outline:1px solid var(--accent);outline-offset:1px}.profile-actions button{text-align:left;border-bottom:1px solid var(--line);padding:20px 0}.profile-actions b{font-size:14px;font-weight:500;display:block}.profile-actions span{color:var(--muted);margin-top:10px;font-size:11px;display:block}.about-note{color:var(--muted);margin-top:30px;font-size:10px;line-height:2}dialog{border:1px solid var(--line);background:var(--bg);width:calc(100% - 36px);max-width:500px;color:var(--text);border-radius:15px;max-height:90dvh;padding:27px 30px;overflow-y:auto;box-shadow:0 25px 90px #0002}.modal-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-head h2{letter-spacing:1px;margin:0;font-size:21px;font-weight:500}.modal-head .icon-button{font-size:26px}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.setting-row small{color:var(--muted);margin-top:9px;font-size:11px;display:block}.setting-row select{padding:10px;font-size:13px}dialog .primary{width:100%;margin-top:15px}.modal-copy{color:var(--muted);font-size:12px;line-height:1.9}.import-columns{background:var(--soft);border-radius:7px;margin:20px 0 12px;padding:13px 10px;font-size:10px}textarea{resize:vertical;width:100%;padding:13px;font-size:13px;line-height:1.7}.file-label{color:var(--muted);margin-top:15px;font-size:12px;line-height:2.4;display:block}.file-label input{width:100%;padding:9px;font-size:11px}#restore-file{width:100%;padding:12px;font-size:12px}#restore-preview{margin-top:20px;font-size:13px;line-height:1.8}.detail-content>p:first-child{letter-spacing:3px;color:var(--muted)}.detail-content>small{color:var(--muted);font-size:11px}.detail-content h3{font-size:20px;font-weight:500}.install-copy h3{margin-top:27px;font-size:15px;font-weight:500}.install-copy p{font-size:12px;line-height:1.9}#toast{color:#fff;z-index:1000;opacity:0;pointer-events:none;background:#343a31;border-radius:10px;width:max-content;max-width:calc(100% - 36px);padding:14px 22px;font-size:12px;line-height:1.7;transition:all .2s;position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px)}#toast.visible{opacity:1;transform:translate(-50%)}[data-theme=dark]{--bg:#232720;--paper:#2a2e26;--text:#e1e4d9;--muted:#9da592;--line:#3b4235;--soft:#30372b;background:var(--bg);color:var(--text)}[data-theme=dark] .grade-buttons .good{color:#f4b18c;background:#46372c;border-color:#8e6145}[data-theme=dark] .quiz-feedback{color:#edb18c;background:#453529}[data-theme=dark] .quiz-feedback.correct{color:#bbd7a7;background:#36432e}[data-theme=dark] .book-cover{filter:brightness(.8)}@media (width>=1500px){.app-shell{padding-top:20px}.home-grid,.wallpaper{min-height:690px}.today-panel{padding:56px 50px}.daily-word{padding-top:85px}.today-numbers{margin-top:40px}.streak-line{margin-top:36px}}@media (width<=1000px){.app-shell{padding:0 28px}.today-panel{padding:34px 28px}.home-grid{grid-template-columns:1.2fr 1fr}.topbar nav{gap:28px;padding:0}.today-heading h2{font-size:29px}.home-actions button{padding:17px}.wallpaper-bottom{padding:50px 23px 35px}.book-grid{gap:20px}.book-grid .book-card{gap:18px;padding:20px}.book-cover{width:95px;min-width:95px}.book-info h3{font-size:16px}.book-info p{font-size:10px}.context-block{padding-left:28px}.word-block{padding-right:28px}}@media (width<=700px){.app-shell{padding:0 20px 85px}.topbar{height:78px}.brand{gap:9px;font-size:16px}.brand-mark{width:33px;height:33px;font-size:22px}.brand small{letter-spacing:3px;font-size:8px}.topbar nav{z-index:10;border-top:1px solid var(--line);background:var(--bg);width:100%;padding:5px 12px calc(7px + env(safe-area-inset-bottom));height:calc(65px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0}.nav-item{letter-spacing:0;padding:3px 0;font-size:10px}.nav-item span{margin:0 auto 3px;font-size:23px;font-weight:400;line-height:26px;display:block}.nav-item.active{color:var(--accent)}.nav-item.active:after{display:none}.settings-toggle{font-size:21px}.home-grid{background:0 0;border:0;border-radius:12px;flex-direction:column;gap:0;display:flex}.wallpaper{background-position:48% 45%;border-radius:12px;min-height:565px;overflow:hidden}.wallpaper-top{letter-spacing:2px;padding:23px 24px;font-size:9px}.daily-word{padding-top:53px}.daily-word h1{margin:11px 0 18px;font-size:77px}.daily-word>span{font-size:14px}.daily-word p{letter-spacing:2px;font-size:11px}.wallpaper-bottom{padding:45px 23px 33px}.wallpaper-bottom>p{letter-spacing:1px;font-size:13px}.wallpaper-bottom>span{letter-spacing:1px;font-size:9px}.home-actions{margin-top:26px}.home-actions button{padding:14px 20px}.home-actions strong{font-size:31px}.home-actions small{font-size:10px}.today-panel{padding:34px 8px 0}.today-heading h2{margin:16px 0 10px;font-size:27px;line-height:1.5}.today-heading h2 br{display:none}.today-heading p{font-size:11px}.today-numbers{gap:65px;margin-top:24px}.today-numbers strong{font-size:34px}.goal-line{margin-bottom:25px}.compact{max-width:100%}.streak-line{padding-bottom:5px}.desktop-footer{display:none}.content-page{padding-top:15px}.page-heading{margin-bottom:28px;display:block}.page-heading h1{letter-spacing:1px;margin-top:14px;font-size:25px;line-height:1.5}.page-heading p{font-size:11px}.page-heading .outline-button{margin-top:13px;padding:10px 14px;font-size:12px}.book-grid{grid-template-columns:1fr;gap:14px;margin-bottom:33px}.book-grid .book-card{gap:24px;padding:20px}.book-cover{width:108px;min-width:108px;height:155px}.book-info{padding-top:6px}.book-info h3{font-size:18px}.book-info p{margin-bottom:18px;font-size:11px}.word-row{gap:8px;padding:10px 0}.word-open{grid-template-columns:1fr 1.2fr;gap:6px 12px;padding:5px 0}.word-open b{font-size:17px}.word-open>span{font-size:11px}.word-open .row-meaning{color:var(--muted);grid-column:1/-1;font-size:11px}.word-state{font-size:8px}.word-row .icon-button{width:35px;min-width:35px}.learning-shell .topbar{display:none}.learning-shell{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:25px}.study-page{margin:0}.study-top{padding-bottom:17px;font-size:10px}.study-top .back-link span{font-size:11px}.study-body{min-height:0;margin-top:16px;display:block}.word-block{padding:0}.word-toolbar{font-size:9px}.word-center{padding:12px 0 13px}.word-center h1{letter-spacing:4px;margin:17px 0 23px;font-size:59px}.reading{margin:2px 0 12px;font-size:15px}.reading.muted{font-size:10px}.definition{margin-top:18px}.definition p{margin:12px 0 8px;font-size:18px}.context-block{border-left:0;border-top:1px solid var(--line);margin:16px 0 0;padding:23px 6px 0}.context-block:has(.hidden-context){display:none}.example{margin:18px 0 12px;font-size:20px;line-height:1.9}.translation{font-size:12px}.context-note{margin-top:4px;font-size:8px}.text-audio{padding:9px 0;font-size:10px}.memory-note{display:none}.study-controls{margin:25px auto 10px}.grade-buttons{gap:8px}.grade-buttons button{padding:14px 5px}.grade-buttons button b{font-size:13px}.grade-buttons button span{letter-spacing:-.1px;font-size:8px}.control-hint{margin:16px 0;font-size:9px}.keyboard-hint{display:none}.recall-note{margin-top:65px}.study-body:not(.revealed){min-height:calc(100dvh - 240px)}.study-body:not(.revealed) .word-center{padding-top:45px}.reveal-button{max-width:100%}.done-page{min-height:600px;padding-top:20px}.done-page h1{font-size:34px}.done-page p{font-size:12px}.done-stamp{margin-bottom:32px}.quiz-page{margin:0}.quiz-card{margin-top:55px}.quiz-card h1{font-size:27px}.profile-stats{margin:35px 0}.profile-stats strong{font-size:32px}.profile-stats span{font-size:9px}.activity{padding:20px 14px}.activity .section-line>small{font-size:9px}.calendar{grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{height:41px;font-size:10px}.profile-actions{grid-template-columns:1fr;gap:0}.profile-actions b{font-size:13px}.profile-actions span{font-size:10px}.about-note,.section-eyebrow{font-size:9px}.section-line h3{font-size:13px}.section-line>button{font-size:10px}dialog{max-height:85dvh;padding:22px}.modal-head h2{font-size:19px}#toast{font-size:11px;bottom:90px}.learning-shell~#toast{bottom:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.scene-intro{justify-content:space-between;align-items:center;gap:30px;display:flex}.scene-intro h1{letter-spacing:1px;margin:19px 0 15px;font-size:34px;font-weight:500}.scene-intro p{color:var(--muted);font-size:13px;line-height:1.8}.scene-totals{text-align:center;gap:35px;display:flex}.scene-totals strong{font-size:36px;font-weight:300}.scene-totals span{color:var(--muted);letter-spacing:1px;margin-top:8px;font-size:10px;display:block}.scene-continue{background:var(--paper);border:1px solid var(--line);border-radius:12px;align-items:center;gap:24px;margin:30px 0 40px;padding:25px 28px;display:flex}.scene-continue>div{flex:1}.scene-continue small{color:var(--muted);margin-bottom:9px;font-size:10px;display:block}.scene-continue b{font-size:18px;font-weight:500}.scene-continue b span{color:var(--muted);margin-left:18px;font-size:11px;font-weight:400}.scene-continue .primary{padding:14px 22px;font-size:12px}.review-inline{color:var(--muted);padding:12px 4px;font-size:11px}.review-inline b{color:var(--text);margin-left:8px;font-size:20px;font-weight:400}.catalog-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.catalog-heading h2{letter-spacing:1px;margin:0;font-size:20px;font-weight:500}.catalog-heading>span{color:var(--muted);font-size:11px}.scene-search{background:var(--paper);border:1px solid var(--line);max-width:100%;margin-bottom:18px}.category-tabs{flex-wrap:wrap;gap:6px;margin-bottom:27px;display:flex}.category-tabs button{color:var(--muted);border-radius:7px;padding:10px 12px;font-size:12px}.category-tabs button.selected{color:var(--text);background:var(--soft)}.category-tabs small{opacity:.65;margin-left:7px;font-size:9px}.scene-card{border:1px solid var(--line);text-align:left;background:var(--paper);border-radius:12px;padding:22px;position:relative;overflow:hidden}.scene-card[hidden]{display:none}.scene-card:hover{color:var(--text);border-color:#d8ad92;transform:translateY(-2px)}.scene-card-top{align-items:center;gap:12px;display:flex}.scene-card-top>span:nth-child(2){color:var(--muted);font-size:10px}.scene-card-top>i{color:#a5ac9e;margin-left:auto;font-size:18px;font-style:normal}.scene-mark{background:var(--scene-color);color:#465343;border-radius:5px;flex-shrink:0;place-items:center;width:41px;height:44px;font:25px Hiragino Mincho ProN,Songti SC,serif;display:grid}.scene-card h3{letter-spacing:1px;margin:19px 0 10px;font-size:19px;font-weight:500}.scene-card>p{color:var(--muted);margin:0 0 26px;font-size:12px;line-height:1.7}.scene-card-bottom{color:var(--muted);justify-content:space-between;align-items:center;gap:5px;font-size:10px;display:flex}.scene-card-bottom b{color:var(--accent);font-size:10px;font-weight:400}.scene-card>.track{background:0 0;width:100%;height:2px;position:absolute;bottom:0;left:0}.catalog-note{color:var(--muted);margin-top:24px;font-size:10px;line-height:1.9}.scene-detail-heading{align-items:center;gap:22px;margin:30px 0;display:flex}.scene-detail-heading>.scene-mark{width:78px;height:88px;font-size:48px}.scene-detail-heading h1{margin:10px 0;font-size:34px;font-weight:500}.scene-detail-heading p{color:var(--muted);margin:0;font-size:13px}.lesson-roadmap{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:22px;padding:20px 0 25px;font-size:12px;display:flex}.lesson-roadmap span b{opacity:.7;margin-right:8px;font-size:10px;font-weight:400}.lesson-roadmap>i{color:#b3b8ad;font-style:normal}.lesson-roadmap .current{color:var(--accent)}.lesson-roadmap .complete{color:var(--green)}.scene-detail-grid{grid-template-columns:1fr 1.2fr;gap:70px;padding:40px 0;display:grid}.lesson-plan>small{color:var(--muted);font-size:10px}.lesson-plan h2{margin:15px 0;font-size:23px;font-weight:500}.group-progress strong{font-size:42px;font-weight:300}.lesson-plan>.primary{width:100%;margin-top:24px;font-size:14px}.story-entry{width:100%;margin-top:12px}.scene-preview{border-left:1px solid var(--line);padding:10px 0 0 45px}.scene-preview>h2{margin-top:20px;font-size:16px;font-weight:500}.scene-preview>p{letter-spacing:1px;margin:24px 0 15px;font:25px/1.8 Hiragino Mincho ProN,Songti SC,serif}.scene-preview>span:not(.section-eyebrow){color:var(--muted);font-size:12px;line-height:1.8}.article-preview{border-top:1px solid var(--line);margin-top:35px;padding-top:22px}.article-preview>span{color:var(--muted);font-size:10px}.article-preview h3{margin:12px 0;font-size:18px;font-weight:500}.article-preview p{color:var(--muted);font-size:12px;line-height:1.8}.article-preview small{color:var(--muted);font-size:10px;line-height:1.8}.group-words{border-top:1px solid var(--line);padding-top:25px}.group-words summary span{color:var(--muted);margin-left:20px;font-size:11px}.group-word-grid{grid-template-columns:repeat(3,1fr);gap:0 25px;margin-top:20px;display:grid}.group-word-grid>button{text-align:left;border-bottom:1px solid var(--line);gap:13px;padding:18px 0;display:flex}.group-word-grid>button>small{color:var(--muted);padding-top:5px;font-size:9px}.group-word-grid div>span{color:var(--muted);margin-top:5px;font-size:10px;display:block}.group-word-grid p{color:var(--muted);margin:8px 0 0;font-size:11px}.group-word-grid i{color:var(--accent);margin-left:auto;font-style:normal}.article-heading{text-align:center;margin:30px 0 35px}.article-heading h1{letter-spacing:2px;margin:18px 0;font-family:Songti SC,serif;font-size:38px;font-weight:400}.reading-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:18px;display:flex}.reading-toolbar button{color:var(--muted);padding:10px 15px;font-size:12px}.reading-toolbar button[aria-pressed=true]{color:var(--accent)}.reading-tabs button[aria-pressed=true]{background:var(--paper);border:1px solid var(--line);border-radius:7px}.article-layout{grid-template-columns:1fr 220px;gap:45px;margin-top:28px;display:grid}.reading-paper{background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:0;padding:20px 35px 30px}.paper-top{border-bottom:1px solid var(--line);align-items:center;gap:15px;margin-bottom:12px;padding-bottom:8px;display:flex}.paper-top>span{color:var(--muted);flex:1;font-size:10px}.paper-top .text-button{font-size:10px}.story-line{gap:18px;padding:17px 0 12px;display:flex}.line-number{color:var(--muted);padding-top:25px;font-size:9px}.story-line>div{min-width:0}.story-japanese{overflow-wrap:anywhere;margin:0;font:22px/2.4 Hiragino Mincho ProN,Yu Mincho,Songti SC,serif}.article-word{font:inherit;color:var(--text);vertical-align:baseline;background:0 0;border-bottom:1px solid #e97d4377;border-radius:0;padding:0 1px;display:inline}.article-word:hover{color:var(--accent)}.article-word ruby{ruby-align:center}.article-word rt{letter-spacing:1px;color:var(--muted);font:10px sans-serif}.hide-kana rt{display:none}.sentence-reading{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.8;display:block}.line-chinese{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.9}.article-vocab h2{margin:10px 0;font-size:15px;font-weight:500}.article-vocab>p{color:var(--muted);margin-bottom:18px;font-size:10px}.article-vocab>div{flex-direction:column;display:flex}.article-vocab button{text-align:left;border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:13px 0;display:flex}.article-vocab button b{font-size:13px;font-weight:500}.article-vocab button span{color:var(--muted);text-align:right;font-size:10px;line-height:1.6}.article-finish{text-align:center;padding:35px 0 0}.article-finish>p{color:var(--muted);font-size:12px;line-height:1.9}.article-finish>.primary{margin:10px auto;display:block}.article-finish>.text-button{font-size:12px}.dialogue-line{border-bottom:1px solid var(--line);gap:17px;padding:24px 0;display:flex}.dialogue-line:last-child{border:0}.speaker{color:var(--muted);width:45px;min-width:45px;padding-top:16px;font-size:10px}.dialogue-line>div>p:first-child{margin:0;font:21px/2 Hiragino Mincho ProN,Songti SC,serif}.dialogue-line.mine .speaker{color:var(--accent)}.scene-done h1{font-size:37px}.scene-done .done-stamp{font-size:14px}.scene-done p{max-width:400px}.scene-done .primary{font-size:14px}@media (width<=1000px){.scene-grid{grid-template-columns:repeat(2,1fr)}.scene-intro h1{font-size:29px}.scene-detail-grid{gap:35px}.scene-preview{padding-left:28px}.article-layout{grid-template-columns:1fr 190px;gap:25px}.reading-paper{padding:18px 23px}.story-japanese{font-size:20px}}@media (width<=700px){.scene-home{padding-top:10px}.scene-intro{display:block}.scene-intro h1{letter-spacing:0;margin:14px 0 8px;font-size:25px;line-height:1.6}.scene-intro p{max-width:320px;margin:0;font-size:12px;line-height:1.9}.scene-totals{display:none}.scene-continue{grid-template-columns:1fr auto;gap:17px 10px;margin:24px 0 30px;padding:18px;display:grid}.scene-continue b{font-size:17px}.scene-continue b span{margin:8px 0 0;font-size:10px;display:block}.scene-continue .primary{padding:13px 16px;font-size:11px}.review-inline{text-align:left;border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;padding:13px 0 0;display:flex}.review-inline b{font-size:18px}.catalog-heading{gap:10px}.catalog-heading h2{font-size:17px}.catalog-heading>span{font-size:9px}.scene-search{padding:0 12px}.scene-search input{font-size:11px}.category-tabs{scrollbar-width:thin;flex-wrap:nowrap;gap:3px;margin-bottom:18px;padding-bottom:8px;overflow-x:auto}.category-tabs button{white-space:nowrap;padding:9px 11px;font-size:11px}.category-tabs small{margin-left:5px;font-size:8px}.scene-grid{grid-template-columns:1fr 1fr;gap:12px}.scene-card{border-radius:10px;padding:16px 13px}.scene-mark{width:34px;height:37px;font-size:22px}.scene-card-top{gap:7px}.scene-card-top>span:nth-child(2){font-size:8px}.scene-card-top>i{display:none}.scene-card h3{letter-spacing:0;margin:15px 0 10px;font-size:16px}.scene-card>p{min-height:36px;margin-bottom:18px;font-size:10px;line-height:1.8}.scene-card-bottom{font-size:9px;display:block}.scene-card-bottom b{margin-top:8px;font-size:9px;display:block}.catalog-note{font-size:9px}.scene-detail{padding-top:0}.scene-detail-heading{gap:17px;margin:23px 0}.scene-detail-heading>.scene-mark{width:60px;height:70px;font-size:39px}.scene-detail-heading h1{margin:8px 0;font-size:28px}.scene-detail-heading p{font-size:11px;line-height:1.7}.lesson-roadmap{justify-content:space-between;gap:8px;padding:17px 0;font-size:10px}.lesson-roadmap span b{margin:0 0 6px;font-size:8px;display:block}.lesson-roadmap i{font-size:10px}.scene-detail-grid{flex-direction:column;gap:30px;padding:28px 0;display:flex}.lesson-plan h2{font-size:21px}.lesson-plan>p{font-size:12px}.group-progress{margin:18px 0 12px}.group-progress strong{font-size:38px}.scene-preview{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.scene-preview>p{font-size:23px}.article-preview{margin-top:25px}.group-words summary{font-size:12px}.group-words summary span{margin-left:12px;font-size:9px}.group-word-grid{grid-template-columns:1fr 1fr;gap:0 15px}.group-word-grid>button{gap:9px}.group-word-grid b{font-size:16px}.group-word-grid p{font-size:10px}.article-page{padding-top:0}.article-heading{margin:27px 0}.article-heading h1{letter-spacing:1px;font-size:29px;line-height:1.5}.article-heading p{font-size:11px;line-height:1.8}.reading-toolbar{flex-direction:column;align-items:stretch;gap:6px;padding-bottom:11px}.reading-toolbar>div{justify-content:space-between;display:flex}.reading-toolbar button{padding:9px 13px;font-size:11px}.reading-toolbar>div:last-child{justify-content:flex-end}.article-layout{margin-top:20px;display:block}.reading-paper{padding:15px 15px 20px}.paper-top{gap:10px}.paper-top>span{font-size:9px}.paper-top .text-audio{font-size:10px}.paper-top .text-button{font-size:9px}.story-line{gap:9px;padding:13px 0}.line-number{padding-top:22px;font-size:8px}.story-japanese{font-size:20px;line-height:2.5}.article-word rt{letter-spacing:0;font-size:9px}.sentence-reading{font-size:10px;line-height:1.9}.line-chinese{font-size:12px;line-height:1.9}.article-vocab{margin-top:30px}.article-vocab>div{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.article-vocab button{padding:12px 0;display:block}.article-vocab button b{font-size:13px;display:block}.article-vocab button span{text-align:left;margin-top:6px;font-size:10px;display:block}.article-finish{padding-top:25px}.article-finish .primary{width:100%;font-size:12px}.article-finish>p{font-size:11px}.dialogue-line{gap:8px;padding:18px 0}.speaker{width:34px;min-width:34px;padding-top:15px;font-size:9px}.dialogue-line>div>p:first-child{font-size:19px;line-height:2}.scene-done h1{font-size:30px}.scene-done .primary{width:100%;min-width:0;font-size:12px}}@media (width<=350px){.scene-grid{gap:9px}.scene-card{padding:14px 10px}.scene-card h3{font-size:15px}.scene-card-top>span:nth-child(2){font-size:7px}.scene-intro h1{font-size:22px}}.scene-intro{isolation:isolate;color:#fff;background:#35463e url(/kyoto.jpg) 50% 53%/cover;border-radius:20px;align-items:flex-end;min-height:420px;padding:54px 52px 75px;position:relative;overflow:hidden}.scene-intro:before{content:"";z-index:-1;background:linear-gradient(90deg,#101d1ac2,#101d1a1f 78%),linear-gradient(#0000 50%,#101d1a66);position:absolute;inset:0}.scene-intro:after{content:"京都 · 暮色里的街道";letter-spacing:3px;color:#fffc;font-size:10px;position:absolute;top:26px;right:27px}.scene-intro .section-eyebrow{color:#fff9;letter-spacing:5px;font-size:12px}.scene-intro h1{letter-spacing:4px;margin:20px 0;font-family:Hiragino Mincho ProN,Songti SC,serif;font-size:52px;font-weight:500;line-height:1.4}.scene-intro p{color:#fffc;letter-spacing:1px;font-size:13px;line-height:2}.scene-totals{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#152b2545;border:1px solid #fff3;border-radius:12px;gap:30px;margin-bottom:0;padding:18px 25px}.scene-totals strong{font-size:32px}.scene-totals span{color:#fffb}.scene-continue{background:var(--paper);border:1px solid #fff7;border-radius:14px;margin:-35px 28px 48px;padding:24px 30px;position:relative;box-shadow:0 10px 35px #27372b12}.catalog-heading h2{letter-spacing:2px;font-family:Hiragino Mincho ProN,Songti SC,serif;font-size:25px}.scene-grid{gap:20px}.scene-card{border:0;border-radius:12px;padding-top:148px;transition:transform .25s,box-shadow .25s;box-shadow:0 3px 18px #2e352408}.scene-card:before{content:"";background:url(/kyoto.jpg) 50% 65%/cover;height:126px;transition:filter .3s;position:absolute;top:0;left:0;right:0}.scene-card[data-category-id=eat]:before,.scene-card[data-category-id=shop]:before,.scene-card[data-category-id=admin]:before{background-image:url(/scenery/tokyo.jpg);background-position:50% 52%}.scene-card[data-category-id=health]:before,.scene-card[data-category-id=work-study]:before,.scene-card[data-category-id=social]:before{background-image:url(/scenery/sakura.jpg);background-position:50%}.scene-card:nth-child(3n):before{background-position:60% 70%}.scene-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #2e352414}.scene-mark{width:30px;height:32px;font-size:25px;background:0 0!important}.scene-card h3{margin-top:13px}.scene-card .track{height:2px}.scene-card-top>i{font-size:19px}.study-page{isolation:isolate;background:var(--paper);border-radius:18px;padding:30px 36px;position:relative;box-shadow:0 16px 50px #233d2c18}.app-shell:has(.study-page):before{content:"";z-index:-1;background:linear-gradient(#f8f7f43b,#f8f7f496),url(/scenery/sakura.jpg) 50%/cover;position:fixed;inset:0}.app-shell:has(.study-page) .topbar{background:var(--bg);border-radius:0 0 16px 16px;margin-bottom:22px;padding:0 22px}.scene-detail-heading{color:#fff;background:linear-gradient(90deg,#172b27db,#172b2760),url(/scenery/tokyo.jpg) 50%/cover;border-radius:14px;padding:35px}.scene-detail-heading .section-eyebrow,.scene-detail-heading p{color:#fffc}.scene-detail-heading>.scene-mark{color:#fff;background:#ffffff1a!important}.article-heading{color:#fff;background:linear-gradient(90deg,#20392ee8,#20392e60),url(/scenery/sakura.jpg) 50%/cover;border-radius:14px;padding:35px}.article-heading .section-eyebrow,.article-heading p{color:#fffc}@media (width<=700px){.scene-intro{background-position:57%;border-radius:15px;min-height:370px;padding:38px 26px 67px}.scene-intro h1{letter-spacing:3px;margin:23px 0 14px;font-size:35px;line-height:1.5}.scene-intro p{font-size:11px;line-height:2}.scene-intro .section-eyebrow{letter-spacing:3px;font-size:10px}.scene-intro:after{letter-spacing:2px;font-size:8px;top:19px;right:18px}.scene-continue{gap:15px 8px;margin:-29px 12px 32px;padding:20px 17px}.scene-grid{gap:13px}.scene-card{padding:110px 14px 17px}.scene-card:before{height:94px}.scene-card-top{gap:5px}.scene-mark{width:24px;height:26px;font-size:21px}.scene-card h3{margin:12px 0 8px;font-size:17px}.scene-card>p{font-size:11px}.scene-card-top>span:nth-child(2){font-size:9px}.catalog-heading h2{font-size:21px}.study-page{border-radius:14px;padding:22px 18px}.app-shell:has(.study-page) .topbar{margin-bottom:12px;padding:0 10px}.scene-detail-heading{padding:24px 18px}.article-heading{padding:26px 20px}.article-heading h1{font-size:27px}.scene-card-bottom b{font-size:10px}}@media (prefers-reduced-motion:reduce){.scene-card{transition:none}}.category-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:25px;display:grid}.category-overview[hidden],.scene-catalog[hidden]{display:none}.category-card{text-align:left;background:var(--paper);min-height:315px;color:var(--text);border-radius:16px;grid-template-rows:185px auto auto;padding:0;display:grid;overflow:hidden;box-shadow:0 4px 24px #29351e0b}.menu-lookup{border:1px solid var(--line);background:var(--paper);border-radius:14px;margin:26px 0 40px;padding:24px}.menu-lookup summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;font-size:19px;display:flex}.menu-lookup[open] summary{margin-bottom:20px}.menu-lookup summary small{color:var(--muted);margin-left:14px;font-size:11px;display:inline-block}.menu-lookup summary b{color:var(--accent);white-space:nowrap;font:15px ui-monospace,monospace}.menu-lookup .search-field{margin:0}.dictionary-tools{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:13px 0;font-size:11px;display:flex}.dictionary-tools button{color:var(--accent);text-align:right;font-size:11px}.dictionary-list{overscroll-behavior:contain;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:320px;overflow:auto}.dictionary-row{text-align:left;border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,1fr) minmax(0,2fr) 20px;align-items:center;gap:18px;width:100%;padding:15px 5px;display:grid}.dictionary-row:last-child{border:0}.dictionary-row:hover{background:#9bafa015}.dictionary-row b{overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.6;display:block}.dictionary-row small{color:var(--muted);font-size:10px;line-height:1.7;display:block}.dictionary-row p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.dictionary-row>span{color:var(--accent)}.dictionary-row[hidden]{display:none}.dictionary-note a{text-underline-offset:3px;text-decoration:underline}.lesson-selector{margin-bottom:34px}.lesson-selector header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.lesson-selector h2,.current-lesson-heading h2{margin:5px 0 0;font:500 24px/1.5 Hiragino Mincho ProN,Songti SC,serif}.lesson-selector header>span{color:var(--muted);font-size:11px}.lesson-tiles button{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:9px;align-items:center;gap:12px;padding:17px 14px;display:flex}.lesson-tiles button.selected{border-color:var(--accent);background:#7d968c13}.lesson-tiles button>span{color:var(--accent);font:20px/1.2 ui-monospace,monospace}.lesson-tiles button div{flex:1}.lesson-tiles b{font-size:12px;font-weight:500;line-height:1.7;display:block}.lesson-tiles i{color:var(--muted);font-style:normal}.current-lesson-heading{margin:28px 0 20px;scroll-margin-top:90px}@media (width<=700px){.menu-lookup{margin:20px 0 28px;padding:18px 15px}.menu-lookup summary{font-size:17px}.menu-lookup summary small{margin:5px 0 0;font-size:10px;display:block}.dictionary-row{grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 4px}.dictionary-row>div{flex-wrap:wrap;align-items:baseline;gap:0 9px;display:flex}.dictionary-row>span{display:none}.dictionary-row p{font-size:11px}.dictionary-tools{align-items:flex-start}.dictionary-tools>span{white-space:nowrap}.dictionary-tools button{font-size:10px}.lesson-selector header{display:block}.lesson-selector header>span{margin-top:9px;display:block}.lesson-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lesson-tiles button{gap:8px;padding:12px 10px}.lesson-tiles button>span{font-size:17px}.lesson-tiles b{font-size:11px}.lesson-tiles i{display:none}.lesson-selector h2,.current-lesson-heading h2{font-size:21px}}.category-volume{color:var(--accent);letter-spacing:.5px;margin-top:7px;font-size:10px;display:block}.category-photo{background:linear-gradient(0deg,#182a2359,#182a2308),var(--category-photo) center/cover;color:#fff;justify-content:space-between;align-items:flex-end;padding:22px 24px;display:flex;position:relative}.category-photo span{text-shadow:0 3px 22px #0005;font:54px/1 Hiragino Mincho ProN,Songti SC,serif}.category-photo small{letter-spacing:2px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#13221c3d;border:1px solid #fff7;padding:7px 9px;font-size:9px}.category-copy{justify-content:space-between;align-items:center;padding:22px 24px 12px;display:flex}.category-copy h3{letter-spacing:2px;margin:0 0 9px;font:500 25px/1.2 Hiragino Mincho ProN,Songti SC,serif}.category-copy p{color:var(--muted);margin:0;font-size:11px}.category-copy i{color:var(--accent);font-size:22px;font-style:normal}.category-progress{color:var(--muted);align-items:flex-end;gap:18px;padding:0 24px 22px;display:flex}.category-progress span{flex:1;font-size:9px;line-height:1.7}.category-progress b{color:var(--accent);font:400 15px/1 ui-monospace,SFMono-Regular,monospace}.category-card:hover{color:var(--text);transform:translateY(-4px);box-shadow:0 14px 35px #29351e16}.category-card:hover .category-photo{filter:saturate(1.08)}.scene-catalog{margin-top:28px}.scene-catalog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;margin-bottom:18px;padding:3px 0 22px;display:flex}.scene-catalog-head>div{text-align:right}.scene-catalog-head span{color:var(--muted);letter-spacing:2px;font-size:9px}.scene-catalog-head h2{letter-spacing:2px;margin:5px 0 0;font:500 29px/1.3 Hiragino Mincho ProN,Songti SC,serif}.scene-card:before{background-image:var(--scene-photo)!important;background-position:50%!important}.scene-detail-heading{background:linear-gradient(90deg,#172b27e8,#172b2760),var(--scene-photo) center/cover}.article-heading{background:linear-gradient(90deg,#20392ee8,#20392e60),var(--scene-photo) center/cover}@media (width<=700px){.category-overview{grid-template-columns:1fr;gap:16px;margin-top:18px}.category-card{grid-template-rows:auto auto;grid-template-columns:132px 1fr;min-height:0}.category-photo{background-position:50%;grid-row:1/3;min-height:145px;padding:14px}.category-photo span{font-size:39px}.category-photo small{display:none}.category-copy{padding:20px 16px 8px}.category-copy h3{margin-bottom:7px;font-size:21px}.category-copy p{font-size:10px;line-height:1.6}.category-copy i{font-size:18px}.category-progress{gap:8px;padding:0 16px 18px}.category-progress span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:8px;line-height:1.55;display:-webkit-box;overflow:hidden}.scene-catalog{margin-top:20px}.scene-catalog-head{align-items:center;padding-bottom:16px}.scene-catalog-head>button{font-size:11px}.scene-catalog-head h2{font-size:23px}.scene-catalog-head span{font-size:8px}}.review-hero{border:1px solid var(--line);background:var(--paper);border-radius:16px;grid-template-columns:1.25fr 1fr;display:grid;overflow:hidden}.review-hero>div:first-child{color:#fff;background:linear-gradient(90deg,#14352ddd,#14352d45),url(/kyoto.jpg) 50% 55%/cover;padding:50px 44px}.review-hero .section-eyebrow{color:#ffffffb5}.review-hero h1{letter-spacing:2px;margin:24px 0 18px;font:400 34px/1.65 Hiragino Mincho ProN,Songti SC,serif}.review-method{letter-spacing:1px;color:#ffffffba;margin-top:24px;font-size:11px;display:inline-block}.review-today{flex-direction:column;justify-content:center;align-items:flex-start;padding:42px;display:flex}.review-today>strong{margin:15px 0 0;font-size:76px;font-weight:300;line-height:1.2}.review-today>strong small{color:var(--muted);margin-left:14px;font-size:13px}.review-today p{color:var(--muted);font-size:11px}.review-today .primary{width:100%;margin:14px 0 15px}.review-today>small{color:var(--muted);font-size:11px;line-height:1.9}.review-filters{align-items:center;gap:20px;padding:27px 0;display:flex}.review-filters label{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.review-filters select{max-width:290px;padding:11px 12px}.review-filters>.text-button{margin-left:auto}.review-columns h2{margin:0;font-size:18px;font-weight:500}.review-list-panel .section-line>span{color:var(--muted);font-size:11px}.review-panel-note{color:var(--muted);font-size:11px;line-height:1.8}.review-word-list b{overflow-wrap:anywhere;font-size:18px;font-weight:500}.review-word-list span{color:var(--muted);font-size:11px}.review-phase{color:var(--green);background:var(--soft);border-radius:6px;padding:5px 9px;font-size:10px}.review-plan{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-top:20px;padding:26px}.review-plan>p{color:var(--muted);font-size:11px;line-height:1.8}.review-days{margin:25px 0}.review-days>div{grid-template-columns:78px 1fr 35px;align-items:center;gap:15px;margin:19px 0;font-size:11px;display:grid}.review-days i{background:linear-gradient(to right,var(--green) var(--day-fill),var(--soft) var(--day-fill));border-radius:4px;height:4px}.review-days b{text-align:right;font-weight:500}.review-guide h3,.review-soon h3{font-size:13px;font-weight:500}.review-guide p{color:var(--muted);font-size:11px;line-height:1.8}.review-guide b{color:var(--text);font-weight:500}.review-guide small{color:var(--muted);font-size:10px;line-height:1.9;display:block}.review-empty{text-align:center;padding:45px 15px}.review-empty>span{color:var(--green);font-family:Hiragino Mincho ProN,serif;font-size:23px}.review-empty h3{margin-top:20px;font-size:15px;font-weight:500}.review-empty p{color:var(--muted);font-size:12px;line-height:1.8}.review-soon{background:var(--soft);border-radius:10px;margin-top:25px;padding:20px}.review-soon>div{justify-content:space-between;gap:15px;padding:10px 0;font-size:13px;display:flex}.review-soon span,.review-soon>p{color:var(--muted);font-size:11px;line-height:1.8}.scene-review-entry{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin:0 0 24px;padding:0 0 20px;display:flex}.scene-review-entry p{color:var(--muted);margin:0;font-size:11px;line-height:1.8}.grade-buttons{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grade-buttons button{min-width:0}.grade-buttons button.easy{background:var(--green);color:#fff}.grade-buttons button.easy span{color:#ffffffd9}.grade-buttons button.easy:hover{color:#fff;background:#44553e}.review-done-note{color:var(--muted);margin:15px 0;font-size:12px;line-height:1.9}.memory-date{border-top:1px solid var(--line);color:var(--muted);margin-top:20px;padding-top:15px;font-size:12px}@media (width<=900px){.topbar nav{gap:23px;padding-right:0}.review-today{padding:30px}.review-hero>div:first-child{padding:35px 28px}.review-hero h1{font-size:28px}.review-columns{gap:24px}.review-filters{gap:15px}.review-filters>.text-button{font-size:11px}.review-filters select{max-width:240px}}@media (width<=700px){.topbar nav{grid-template-columns:repeat(5,1fr);gap:0;padding-right:0;display:grid}.review-page{padding:5px 0 25px}.review-hero{grid-template-columns:1fr}.review-hero>div:first-child{padding:27px 24px}.review-hero h1{margin:17px 0 10px;font-size:26px}.review-hero p{font-size:12px}.review-method{margin-top:12px;font-size:10px}.review-today{padding:24px}.review-today>strong{margin-top:6px;font-size:60px}.review-today .primary{margin:10px 0}.review-filters{flex-wrap:wrap;gap:12px;padding:23px 0}.review-filters label{flex:1;min-width:0;font-size:10px;display:block}.review-filters label:first-child{flex:2}.review-filters select{width:100%;max-width:none;margin-top:7px;padding:10px 7px;font-size:12px;display:block}.review-filters>.text-button{text-align:right;width:100%;margin:0;padding:0}.review-columns{grid-template-columns:1fr;gap:5px}.review-columns h2{font-size:17px}.review-plan{margin-top:15px;padding:22px}.review-word-list>div{grid-template-columns:1fr 90px 42px;gap:8px}.review-word-list b{font-size:17px}.review-phase{padding:5px 6px}.grade-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.grade-buttons button{padding:12px 6px!important}.grade-buttons button b{font-size:13px!important}.grade-buttons button span{font-size:10px!important}.study-controls .control-hint{font-size:11px}.scene-review-entry{align-items:flex-start}.scene-review-entry p{max-width:55%}.scene-review-entry .outline-button{padding:12px;font-size:12px}.review-done-note{max-width:300px;margin:15px auto}.review-today>small{overflow-wrap:anywhere}.study-page .word-center h1{font-size:clamp(22px,calc((100vw - 105px)/var(--word-chars,6)),52px);letter-spacing:1px;line-height:1.45}.learning-shell:has(.study-page) .study-controls{bottom:max(12px,env(safe-area-inset-bottom));z-index:10;background:var(--paper);border:1px solid var(--line);border-radius:12px;max-width:none;margin:0;padding:12px;position:fixed;left:20px;right:20px;box-shadow:0 8px 30px #182e2518}.learning-shell .study-page{padding-bottom:190px}.learning-shell .study-page:has(.reveal-button){padding-bottom:120px}.study-controls .control-hint{margin:0 0 9px;line-height:1.5;display:block}.study-controls .keyboard-hint{margin:10px 0 0}.grade-buttons .easy span{color:#ffffffc9}}:root{--forest:#123b2c;--ink:#234535;--bg:#254d38;--paper:#f7f9f1;--study-paper:#f5f8f0f2;--text:#234535;--muted:#6b7f70;--line:#dce4d7;--soft:#eaf0e4;--accent:#345f43;--green:#345f43;--font:Optima,"PingFang SC","Hiragino Sans","Microsoft YaHei",sans-serif;--display:Optima,"Songti SC","Hiragino Mincho ProN",serif;color:#f7faef;font-family:var(--font);background:#254d38}[data-theme=dark]{--paper:#203e31;--study-paper:#203e31f5;--text:#ebf0e2;--ink:#ebf0e2;--muted:#a9bba8;--line:#3e5947;--soft:#2b4938;--accent:#adc6a0;--green:#adc6a0}*{box-sizing:border-box}body{color:#f7faef;isolation:isolate;min-width:300px;font-family:var(--font);-webkit-font-smoothing:antialiased;background:radial-gradient(at 35% 40%,#7d9970,#315d43 58%,#173d2d);margin:0;font-size:14px}.ambient-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.ambient-canvas[data-renderer=fallback]{visibility:hidden}#app{z-index:1;background:0 0;min-height:100svh;position:relative}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;transition:color .2s,background .2s,transform .2s,box-shadow .2s}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:5px;outline:2px solid #d4e4bb}h1,h2,h3{font-family:var(--display);letter-spacing:0;text-wrap:balance;font-weight:400}p{line-height:1.85}.ui-icon{flex:none;width:21px;height:21px;display:block}button.primary,.primary{background:var(--accent);min-height:48px;color:var(--paper);letter-spacing:0;box-shadow:none;border:0;border-radius:100px;justify-content:center;align-items:center;gap:12px;padding:13px 25px;font-size:14px;font-weight:500;display:inline-flex}.primary:hover{color:#fff;background:#244a33}.primary:disabled{background:var(--soft);color:var(--muted);opacity:.6}.outline-button{border:1px solid var(--line);color:var(--ink);box-shadow:none;background:0 0;border-radius:100px;padding:12px 22px;font-size:13px}.outline-button:hover{background:var(--soft);color:var(--ink)}.text-button{color:var(--muted);letter-spacing:0;font-size:12px}.icon-button{width:38px;height:38px;color:var(--muted);border-radius:50%;place-items:center;font-size:24px;display:grid}.icon-button:hover{background:var(--soft);color:var(--ink)}.back-link{letter-spacing:0;color:#edf4decc;font-size:12px}.back-link:hover{color:#fff}.section-eyebrow{letter-spacing:.5px;color:var(--muted);font-size:10px;font-weight:400}input,select,textarea{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#7b9f72;box-shadow:0 0 0 3px #90ae7f20}input[type=checkbox]{accent-color:var(--accent)}.app-shell{color:#f7faef;width:100%;max-width:1320px;margin:auto;padding:0 44px}.topbar{background:0 0;border:0;justify-content:space-between;align-items:center;gap:28px;height:104px;margin:0;display:flex}.brand{color:#fff;font:400 22px/1.3 var(--display);letter-spacing:1px;white-space:nowrap;align-items:center;gap:10px;display:flex}.brand:hover{color:#fff}.brand-mark{color:#fff;background:0 0;border:0;border-radius:0;place-items:center;width:26px;height:31px;display:grid}.brand-mark .ui-icon{stroke-width:1.7px;width:26px;height:29px}.header-actions{align-items:center;gap:28px;display:flex}.header-actions>nav{width:auto;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:29px;margin:0;padding:0;display:flex;position:static}.nav-item{letter-spacing:0;color:#eef5e4c9;background:0 0;border-radius:0;padding:8px 0;font-size:13px;font-weight:400;display:block;position:relative}.nav-item>span{display:none}.nav-item.active{color:#fff;box-shadow:none;background:0 0;font-weight:400}.nav-item.active:after,.nav-item:after{display:none}.nav-item:hover{color:#fff;background:0 0}.nav-item.active:before{content:"";background:#e5efd7aa;height:1px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.45)}.settings-toggle{color:#eef5e4b8;background:0 0;border:0;border-radius:0;width:30px;height:32px}.settings-toggle .ui-icon{stroke-width:1.4px;width:19px;height:19px}.settings-toggle:hover{color:#fff;background:0 0}.mobile-nav{display:none}.desktop-footer{color:#e5efd1a8;letter-spacing:0;border-top:1px solid #e4eed92b;align-items:center;gap:26px;min-height:88px;margin:22px 0 0;padding:26px 0;font-size:10px;display:flex}.desktop-footer>span{margin-right:auto}.desktop-footer button{color:#e5efd1c9;padding:8px 0;font-size:10px}.desktop-footer button:hover{color:#fff}.app-shell>main{animation:.36s ease-out both page-arrive}@keyframes page-arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.page-home .desktop-footer{display:none}.ambient-home{flex-direction:column;height:calc(100dvh - 104px);min-height:calc(100svh - 104px);display:flex}.home-content{text-align:center;flex-direction:column;align-items:center;width:100%;margin:auto 0;padding:32px 0;display:flex;transform:translateY(-12px)}.home-emblem{color:#fff;margin-bottom:20px;animation:.8s 50ms both home-arrive;display:block}.home-emblem .ui-icon{stroke-width:1.55px;width:33px;height:36px}.home-content h1{font:400 39px/1.45 var(--display);color:#fff;letter-spacing:.2px;margin:0;animation:.8s .12s both home-arrive}.home-content h1>span{display:inline}.home-description{font:400 15px/1.9 var(--font);color:#f6f9e9e0;max-width:550px;margin:14px 0 0;animation:.8s .18s both home-arrive}.home-current{color:#edf5d7d9;justify-content:center;align-items:center;gap:8px;max-width:100%;margin-top:17px;padding:4px 7px;font-size:11px;font-weight:400;animation:.8s .22s both home-arrive;display:inline-flex}.home-current .ui-icon{stroke-width:1.4px;width:13px;height:13px}.home-current:hover{color:#fff}.home-content .home-start{color:#213b2d;min-width:182px;min-height:49px;font:400 16px/1.4 var(--font);background:#fff;border-radius:100px;margin-top:24px;padding:13px 25px;animation:.8s .26s both home-arrive;box-shadow:0 5px 20px #08251608}.home-start>span{color:#7b8c77;border-left:1px solid #cdd8ca;padding-left:10px;font-size:11px;line-height:1}.home-content .home-start:hover{color:#1c3e2d;background:#f1f6e7;transform:translateY(-2px);box-shadow:0 6px 26px #09261923}.home-review-link{color:#eef6dfcc;margin-top:15px;padding:7px 10px;font-size:11px;font-weight:400;animation:.8s .3s both home-arrive}.home-review-link:hover{color:#fff}.home-bottom{color:#eff5dfba;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;min-height:72px;padding:14px 0 20px;font-size:10px;display:grid}.home-activity{font-variant-numeric:tabular-nums}.home-activity i{color:#f7faef55;margin:0 9px;font-style:normal}.home-word-link{color:#eff5dfd9;align-items:baseline;gap:12px;max-width:300px;padding:8px 0;display:flex}.home-word-link>span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;overflow:hidden}.home-word-link small{color:#eff5dfa6;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:9px;overflow:hidden}.home-word-link:hover{color:#fff}.home-theme{color:#eff5dfb8;justify-self:end;align-items:center;gap:8px;padding:10px 0;font-size:10px;display:flex}.home-theme .ui-icon{stroke-width:1.3px;width:14px;height:14px}.home-theme:hover{color:#fff}@keyframes home-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scene-home{padding:30px 0 12px}.catalog-section{padding:0}.catalog-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 26px;display:flex}.catalog-heading h1{letter-spacing:0;color:#fff;margin:0 0 10px;font-size:35px;font-weight:400;line-height:1.3}.catalog-heading p{color:#f2f7e4ba;margin:0;font-size:12px}.catalog-heading .text-button{color:#eef6dfc9;padding:5px 0;font-size:11px}.catalog-heading .text-button:hover{color:#fff}.search-field{background:var(--paper);color:var(--muted);box-shadow:none;border:1px solid #e1ebd755;border-radius:16px;align-items:center;gap:13px;padding:14px 18px;display:flex}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;border-radius:0;outline:none;flex:1;font-size:12px;box-shadow:none!important}.search-field input::placeholder{color:#81917e}.search-field .ui-icon{width:17px;height:17px}.search-field small{white-space:nowrap;font-size:10px}.search-field.scene-search{background:#f8faefed;margin:0 0 28px}.category-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.category-card,.category-card:last-child{text-align:left;min-height:158px;color:var(--ink);background:#f4f8e9ed;border:1px solid #f6fae433;border-radius:19px;grid-column:auto;align-items:stretch;gap:0;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #082b1d08}.category-photo,.category-card:last-child .category-photo{background:var(--category-photo) center/cover;border:0;border-radius:0;flex:0 0 91px;width:91px;min-height:158px;display:block;position:relative;inset:auto}.category-photo:after{display:none}.category-copy{flex:1;align-items:center;gap:10px;min-width:0;padding:21px 15px 20px 18px;display:flex}.category-info{flex:1;min-width:0}.category-index{letter-spacing:0;color:#7b9077;font-size:9px}.category-copy h3{font:500 19px/1.5 var(--font);letter-spacing:0;color:var(--ink);margin:6px 0}.category-caption{color:#71836b;font-size:10px;line-height:1.7;display:block}.category-volume{color:#55734d;margin-top:11px;font-size:9px;display:block}.category-arrow{color:#77906d;background:0 0;border:0;border-radius:0;place-items:center;width:15px;height:25px;display:grid}.category-arrow .ui-icon{width:15px;height:15px}.category-card:hover{color:var(--ink);background:#faffef;border-color:#f8ffea99;transform:translateY(-3px);box-shadow:0 10px 25px #102d1c1a}.catalog-foot{color:#eaf3d6ab;justify-content:space-between;align-items:center;margin-top:28px;padding:17px 0;font-size:10px;display:flex}.catalog-foot p{margin:0}.scene-catalog-head{flex-direction:column;align-items:flex-start;gap:23px;margin:0 0 25px;display:flex}.scene-catalog-head>button{color:#f2f7e4c9;padding:3px 0;font-size:11px}.scene-catalog-head>div>span{color:#f2f7e49e;font-size:10px}.scene-catalog-head h2{font:400 33px/1.4 var(--display);letter-spacing:0;margin:8px 0 0}.category-tabs{flex-wrap:wrap;gap:8px;padding:0 0 26px;display:flex}.category-tabs button{color:#f5f9eacc;white-space:nowrap;background:#ffffff0a;border:1px solid #f4f8e939;border-radius:100px;padding:9px 14px;font-size:11px}.category-tabs button small{color:inherit;opacity:.6;margin-left:7px;font-size:9px}.category-tabs button.selected{color:#2d5036;background:#f3f8e7;border-color:#f3f8e7}.scene-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.scene-card{background:var(--paper);color:var(--ink);text-align:left;border:1px solid #e6edda;border-radius:21px;min-height:0;padding:24px;display:block;position:relative;overflow:hidden;box-shadow:0 5px 20px #0a2b1a0a}.scene-card:before{content:"";background:var(--scene-photo) center/cover;z-index:auto;opacity:1;width:calc(100% + 48px);height:159px;margin:-24px -24px 20px;display:block;position:relative;inset:auto}.scene-card:after{display:none}.scene-card-top{color:var(--muted);justify-content:space-between;align-items:center;gap:9px;font-size:9px;display:flex}.scene-card-top .scene-mark{display:none}.scene-card-top>i{font-size:14px;font-style:normal}.scene-card h3{font:500 23px/1.5 var(--font);letter-spacing:0;color:var(--ink);margin:11px 0 7px}.scene-card>p{min-height:39px;color:var(--muted);margin:0 0 18px;font-size:11px;line-height:1.8}.scene-card-bottom{color:var(--muted);justify-content:space-between;gap:10px;font-size:9px;display:flex}.scene-card-bottom b{color:var(--accent);font-weight:400}.scene-card .track{background:var(--soft);height:2px;margin-top:15px}.track{background:var(--soft);height:3px}.track i{background:var(--accent)}.scene-card:hover{color:var(--ink);border-color:#e6efd9;transform:translateY(-3px);box-shadow:0 12px 35px #0b2e1f25}.scene-detail{padding:22px 0}.scene-detail-heading{background:var(--paper);color:var(--ink);border:1px solid #e8f0df99;border-radius:25px;grid-template-columns:1fr 1fr;align-items:center;gap:36px;margin-top:24px;padding:0;display:grid;overflow:hidden}.scene-cover-photo{object-fit:cover;width:100%;height:266px;display:block}.scene-detail-heading>.scene-mark{display:none}.scene-detail-heading>div{padding:28px 36px 28px 0}.scene-detail-heading h1{font:400 38px/1.4 var(--display);letter-spacing:0;color:var(--ink);margin:16px 0 10px}.scene-detail-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.9}.scene-review-entry{color:#f2f8dfc7;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;margin:5px 0 12px;padding:20px 4px;display:flex}.scene-review-entry p{margin:0;font-size:11px}.scene-review-entry .outline-button{color:#f7faef;border-color:#f7faef60;font-size:11px}.scene-review-entry .outline-button:hover{background:#ffffff12}.menu-lookup{background:var(--paper);color:var(--ink);box-shadow:none;border:1px solid #e3ecd7;border-radius:23px;margin:10px 0 36px;padding:25px 28px}.menu-lookup summary{font:500 20px/1.5 var(--font);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.menu-lookup summary small{color:var(--muted);margin-top:6px;font-size:10px;font-weight:400;display:block}.menu-lookup summary b{color:var(--muted);font-size:11px;font-weight:400}.menu-lookup .search-field{border-color:var(--line);background:var(--soft);margin-top:25px}.dictionary-tools{color:var(--muted);gap:15px;padding:17px 0;font-size:10px}.dictionary-tools button{color:var(--accent);font-size:10px}.dictionary-list{scrollbar-width:thin;scrollbar-color:#b6c7a8 transparent;max-height:350px;padding-right:8px;overflow:auto}.dictionary-row{text-align:left;border-bottom:1px solid var(--line);width:100%;color:var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.dictionary-row>div{min-width:190px;max-width:42%}.dictionary-row b{font-size:16px;font-weight:500}.dictionary-row small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.dictionary-row p{color:var(--muted);flex:1;margin:0;font-size:12px;line-height:1.85}.dictionary-row>span{color:var(--muted);font-size:12px}.dictionary-note{color:var(--muted);margin:20px 0 0;font-size:10px;line-height:1.9}.dictionary-note a{color:var(--accent)}.lesson-selector{margin:32px 0}.lesson-selector>header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.lesson-selector>header .section-eyebrow{display:none}.lesson-selector h2{font:400 26px/1.4 var(--display);color:#fff;margin:0}.lesson-selector>header>span{color:#eef4dba8;font-size:10px}.lesson-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.lesson-tiles>button{text-align:left;color:#f5fae9;box-shadow:none;background:#f4f8e914;border:1px solid #f4f8e93b;border-radius:15px;align-items:center;gap:14px;padding:19px 18px;display:flex}.lesson-tiles>button>span{font:400 18px/1 var(--display);color:#d6e5bfaa}.lesson-tiles>button>div{flex:1}.lesson-tiles b{font-size:12px;font-weight:400;line-height:1.7}.lesson-tiles small{color:#f2f8de99;margin-top:7px;font-size:9px;display:block}.lesson-tiles i{color:#e2edd1aa;font-size:12px;font-style:normal}.lesson-tiles>button.selected{color:#254833;background:#f4f8e9ed;border-color:#f4f8e9}.lesson-tiles>button.selected>span,.lesson-tiles>button.selected small,.lesson-tiles>button.selected i{color:#758b69}.lesson-tiles>button:hover{background:#f4f8e930}.lesson-tiles>button.selected:hover{background:#f8ffed}.current-lesson-heading{padding-top:20px;scroll-margin-top:25px}.current-lesson-heading .section-eyebrow{color:#f4f8e9aa}.current-lesson-heading h2{font:400 30px/1.5 var(--display);color:#fff;margin:10px 0 18px}.lesson-roadmap{color:#e4f0cd99;background:0 0;border:0;gap:18px;padding:8px 0 25px;font-size:11px;display:flex}.lesson-roadmap span.current,.lesson-roadmap span.complete{color:#f4f8e9}.lesson-roadmap b{font-size:10px;font-weight:400}.scene-detail-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.lesson-plan,.scene-preview{background:var(--paper);color:var(--ink);box-shadow:none;border:1px solid #e5eddb;border-radius:23px;padding:32px}.lesson-plan h2,.scene-preview h2{font:400 25px/1.5 var(--display);letter-spacing:0;color:var(--ink);margin:14px 0 15px}.lesson-plan>p{color:var(--muted);font-size:12px;line-height:1.9}.lesson-plan>small,.lesson-save-note{color:var(--muted);font-size:10px}.lesson-plan .primary{width:100%;margin-top:22px}.lesson-plan .outline-button{width:100%;margin-top:12px}.lesson-save-note{text-align:center;margin-top:14px;display:block}.group-progress{align-items:baseline;gap:16px;margin:20px 0 15px;display:flex}.group-progress strong{font:400 38px/1.3 var(--display);color:var(--ink)}.group-progress strong small{color:var(--muted);font-size:15px}.group-progress>span{color:var(--muted);font-size:10px}.scene-preview>p{color:var(--ink);font-size:20px;line-height:2}.scene-preview>span{color:var(--muted);font-size:11px;line-height:1.9}.article-preview{background:var(--soft);color:var(--ink);border:0;border-radius:14px;margin-top:26px;padding:20px}.article-preview h3{margin:8px 0 11px;font-size:18px;line-height:1.6}.article-preview p,.article-preview small,.article-preview>span{color:var(--muted);font-size:10px;line-height:1.9}.group-words{background:var(--paper);color:var(--ink);border:1px solid #e5eddb;border-radius:20px;margin-top:24px;padding:23px 28px}.group-words summary{cursor:pointer;font-size:13px}.group-words summary span{color:var(--muted);font-size:10px}.group-word-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin-top:18px}.group-word-grid>button{border-bottom:1px solid var(--line);color:var(--ink);padding:18px 0}.group-word-grid b{font-size:16px;font-weight:500}.group-word-grid p,.group-word-grid span,.group-word-grid small{color:var(--muted);font-size:10px}.article-page{padding:26px 0}.article-heading{color:#fff;border:0;border-radius:0;padding:10px 0 28px;background:0 0!important}.article-heading .section-eyebrow{display:none}.article-heading h1{font:400 37px/1.5 var(--display);letter-spacing:0;margin:18px 0 12px}.article-heading p{color:#eff5dec7;font-size:12px}.reading-toolbar{color:#eff5decc;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:20px;padding:15px 0 24px;display:flex}.reading-toolbar>div{gap:8px;display:flex}.reading-tabs button,.reading-toolbar>div>button{color:#f3f9e1;background:0 0;border:1px solid #f3f9e138;border-radius:100px;padding:10px 17px;font-size:11px}.reading-tabs button[aria-pressed=true],.reading-toolbar button[aria-pressed=true]{color:#315239;background:#f3f9e1e8;border-color:#f3f9e1}.article-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px;display:grid}.reading-paper{background:var(--paper);color:var(--ink);border:1px solid #e3ecd7;border-radius:24px;padding:30px 35px}.paper-top{border-bottom:1px solid var(--line);color:var(--muted);padding-bottom:22px;font-size:10px}.text-audio{color:var(--accent);font-size:11px}.story-line{border-bottom:1px solid var(--line);gap:20px;padding:25px 0}.story-japanese{font:400 22px/2.05 var(--font);color:var(--ink);margin:7px 0 12px}.article-word{font:inherit;color:var(--accent);text-underline-offset:6px;border:0;padding:0 1px;-webkit-text-decoration:underline #9bb08d88;text-decoration:underline #9bb08d88}.article-word ruby rt{font-size:9px;line-height:1.5}.sentence-reading,.line-chinese{font:400 12px/1.9 var(--font);color:var(--muted);margin:10px 0}.line-number{color:var(--muted);font-size:9px}.article-vocab{background:var(--paper);color:var(--ink);border:1px solid #e3ecd7;border-radius:24px;height:max-content;padding:25px}.article-vocab h2{letter-spacing:0;margin:0;font-size:21px}.article-vocab p{color:var(--muted);font-size:10px}.article-vocab button{width:100%;color:var(--ink);border-bottom:1px solid var(--line);text-align:left;padding:14px 0;font-size:12px}.article-vocab button span{color:var(--muted);font-size:10px}.article-vocab button b{font-weight:500}.article-finish{color:var(--ink);background:#f4f8e9eb;border:0;border-radius:23px;margin-top:26px;padding:30px}.article-finish p{color:var(--muted);font-size:12px}.article-finish .text-button{margin-left:20px}.dialogue-line{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;gap:17px;padding:22px 0}.dialogue-line .speaker{color:var(--muted);font-size:10px}.dialogue-line p{font-size:21px;line-height:1.9}.dialogue-line .line-chinese{color:var(--muted);font-size:12px}.dialogue-line.mine>div{background:var(--soft);border-radius:15px;padding:20px}.review-page{padding:26px 0}.review-hero{color:#fff;background:0 0;border:0;border-radius:0;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;display:grid;overflow:visible}.review-hero>.review-intro:first-child{color:#fff;background:0 0;padding:25px 0}.journal-kicker{color:#f2f7e4aa;font-size:11px}.review-hero h1{font:400 40px/1.5 var(--display);letter-spacing:0;color:#fff;max-width:440px;margin:19px 0 16px}.review-hero p{color:#f2f7e4c4;font-size:12px;line-height:1.9}.review-method{letter-spacing:0;color:#f2f7e49c;background:0 0;margin-top:19px;padding:0;font-size:10px;display:inline-block}.review-today{background:var(--paper);color:var(--ink);border:1px solid #e3ecd7;border-radius:24px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:285px;padding:35px;display:flex;position:relative}.review-today>span{color:var(--muted);font-size:11px}.review-today>strong{font:400 67px/1.2 var(--display);color:var(--ink);margin:17px 0 0}.review-today>strong small{font:400 11px/1.5 var(--font);color:var(--muted);margin-left:13px}.review-today>p{color:var(--muted);margin:12px 0;font-size:11px}.review-today>small{color:var(--muted);margin-top:10px;font-size:10px}.review-today .primary{width:100%;margin:12px 0 5px;font-size:13px}.review-card-icon{color:#91a386;background:0 0;position:absolute;top:28px;right:28px}.review-card-icon .ui-icon{width:22px;height:22px}.review-filters{color:#f2f7e4c9;flex-wrap:wrap;align-items:flex-end;gap:20px;padding:27px 0;display:flex}.review-filters label{font-size:11px}.review-filters select{color:#2c5138;background:#f5f9ebed;border-radius:100px;min-width:130px;margin-left:9px;padding:11px 13px;font-size:12px}.review-filters>.text-button{color:#eef6d8c4;margin-left:auto;padding:13px 0;font-size:10px}.review-columns{grid-template-columns:1.25fr 1fr;gap:24px;display:grid}.review-list-panel,.review-plan{background:var(--paper);color:var(--ink);border:1px solid #e3ecd7;border-radius:24px;padding:29px}.review-list-panel h2,.review-plan h2{font:400 25px/1.5 var(--display);color:var(--ink);margin:0}.review-list-panel .section-line{margin:0 0 16px}.section-line>span,.review-plan>p,.review-panel-note{color:var(--muted);font-size:10px;line-height:1.9}.review-word-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) 1fr 70px;align-items:center;gap:14px;padding:16px 0;display:grid}.review-word-list b{color:var(--ink);overflow-wrap:anywhere;font-size:15px;font-weight:500}.review-word-list span,.review-word-list small{color:var(--muted);font-size:10px}.review-phase{background:var(--soft);color:var(--muted);text-align:center;border-radius:100px;padding:5px 8px}.review-days{grid-template-columns:repeat(7,1fr);gap:10px;margin:27px 0 25px;display:grid}.review-days>div{color:var(--muted);flex-direction:column;align-items:center;gap:12px;font-size:10px;display:flex}.review-days i{background:linear-gradient(to top,#a2b58a var(--day-fill,4%),var(--soft) var(--day-fill,4%));border:0;border-radius:7px;width:100%;max-width:30px;height:54px;display:block}.review-days b{color:var(--ink);font-size:13px;font-weight:400}.review-guide{border-top:1px solid var(--line);padding-top:20px}.review-guide h3{letter-spacing:0;color:var(--ink);margin:0 0 16px;font-size:17px}.review-guide p{color:var(--muted);margin:7px 0;font-size:11px;line-height:1.9}.review-guide p b{color:var(--ink);font-weight:500}.review-guide small{color:var(--muted);margin-top:16px;font-size:10px;line-height:1.9;display:block}.review-empty{text-align:center;background:0 0;border:0;padding:30px 0}.review-empty>span{font:400 22px/1.5 var(--display);color:#a1b291}.review-empty h3{color:var(--ink);font-size:22px}.review-empty p{color:var(--muted);font-size:11px}.review-soon{background:var(--soft);border:0;border-radius:15px;margin-top:25px;padding:19px}.review-soon h3{margin:0 0 12px;font-size:17px}.review-soon>div{border-bottom:1px solid var(--line);gap:12px;padding:11px 0}.review-soon b{font-size:12px;font-weight:400}.review-soon span,.review-soon p{color:var(--muted);font-size:10px;line-height:1.8}.content-page{min-height:calc(100svh - 220px);padding:28px 0 15px}.page-heading{color:#fff;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;display:flex}.page-heading .section-eyebrow{color:#eef5dca1;letter-spacing:0;font-size:10px}.page-heading h1{font:400 36px/1.5 var(--display);letter-spacing:0;color:#fff;margin:10px 0}.page-heading p{color:#eef5dcc2;margin:0;font-size:12px;line-height:1.9}.page-heading .outline-button{color:#315139;background:#f5f9ebed;border-color:#f5f9eb;font-size:12px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:34px;display:grid}.book-grid .book-card{text-align:left;background:var(--paper);color:var(--ink);box-shadow:none;border:1px solid #e3ecd7;border-radius:23px;gap:25px;padding:27px;display:flex}.book-grid .book-card.selected{border-color:#b7d09f;box-shadow:inset 0 0 0 2px #d5e3c3}.book-cover{border-radius:4px 12px 12px 4px;width:100px;min-width:100px;height:149px;box-shadow:inset 5px 0 #304f3510,0 5px 12px #1b3b2810}.book-cover b{font:400 22px/1.5 var(--display);letter-spacing:4px}.book-info h3{font:500 20px/1.5 var(--font);color:var(--ink);letter-spacing:0;margin:10px 0}.book-info p,.book-info>small,.book-info>span,.book-info em{color:var(--muted);font-size:10px;line-height:1.8}.book-info .track{margin-top:18px}.book-info em{color:var(--accent);margin-top:14px;font-style:normal;display:block}.content-page>.section-line{color:#f4f9e6;margin:26px 0 20px}.content-page>.section-line h3{font-size:16px;font-weight:400}.content-page>.section-line small,.content-page>.section-line .text-button{color:#eef5dcb8}.content-page>.search-field{margin-bottom:20px}.word-list,#word-results{background:var(--paper);color:var(--ink);border-radius:21px;padding:5px 26px}#word-results>.word-list{border-radius:0;padding:0}.word-row{color:var(--ink);border-bottom:1px solid var(--line);gap:15px;padding:14px 0}.word-open{color:var(--ink);text-align:left;grid-template-columns:1fr 1fr 1.5fr;gap:15px}.word-open b{font-size:18px;font-weight:500;font-family:var(--font)}.word-open>span{color:var(--muted);font-size:12px}.word-state{color:var(--muted);font-size:9px}.empty-state{color:var(--ink);text-align:center;background:#f5f9ebec;border:1px solid #e3ecd7;border-radius:22px;padding:48px 24px;font-size:12px}.empty-state>span{color:#8ca07e;place-items:center;display:grid}.empty-state h3{font:400 26px/1.6 var(--display);color:var(--ink);margin:14px 0 8px}.empty-state p{color:var(--muted);font-size:12px}.profile-stats{background:var(--paper);color:var(--ink);border:1px solid #e3ecd7;border-radius:23px;grid-template-columns:repeat(4,1fr);gap:0;margin:28px 0;padding:30px 15px;display:grid}.profile-stats strong{font:400 41px/1.3 var(--display);color:var(--ink)}.profile-stats span{color:var(--muted);margin-top:12px;font-size:10px}.profile-stats>div{border-color:var(--line)}.activity{background:var(--paper);color:var(--ink);border:1px solid #e3ecd7;border-radius:23px;padding:28px}.activity .section-line{margin-top:0}.activity h3{font-size:18px;font-weight:400}.activity .section-line small{color:var(--muted)}.calendar{gap:8px}.calendar-day{background:var(--soft);color:var(--muted);border-radius:7px;height:44px;font-size:10px}.calendar-day.studied{color:var(--ink);background:#a9c48c50}.calendar-day.today{outline-color:#91ad77}.profile-actions{grid-template-columns:1fr 1fr;gap:15px;margin:23px 0;display:grid}.profile-actions>button{text-align:left;background:var(--paper);color:var(--ink);border:1px solid #e3ecd7;border-radius:18px;padding:25px}.profile-actions b{font-size:14px;font-weight:500}.profile-actions span{color:var(--muted);margin-top:9px;font-size:11px;line-height:1.8}.profile-actions>button:hover{color:#244a33;background:#faffef}.about-note{color:#eaf1d6b0;margin:25px 0;font-size:10px;line-height:1.9}.learning-shell{max-width:980px;padding:0 35px}.learning-shell .topbar,.learning-shell .desktop-footer{display:none}.app-shell:has(.study-page):before{display:none}.study-page{background:var(--study-paper);max-width:840px;min-height:calc(100dvh - 64px);color:var(--ink);border:1px solid #f5f9eb80;border-radius:27px;margin:32px auto;padding:28px 42px 155px;box-shadow:0 18px 80px #082c1920}.learning-shell .study-page{padding-bottom:155px}.study-top{color:var(--muted);justify-content:space-between;align-items:center;gap:22px;padding-bottom:0;font-size:10px;display:flex}.study-top .back-link{color:var(--ink);font-size:20px}.study-top .back-link span{display:none}.study-top>span:nth-child(2){color:var(--muted);text-align:center;max-width:75%;font-size:10px}.study-top .progress-count{color:var(--ink);white-space:nowrap;font-size:12px}.progress-count i{color:var(--muted);font-style:normal}.study-track{background:#d9e1d3;height:2px;margin-top:17px}.study-track i{background:#7c9a6b}.study-body,.study-body.revealed{gap:0;max-width:none;min-height:0;margin:0;display:block}.word-block{background:0 0;border:0;padding:0}.word-toolbar{color:var(--muted);justify-content:space-between;align-items:center;padding-top:22px;font-size:10px;display:flex}.word-toolbar>span{letter-spacing:0;font-size:10px}.word-toolbar .star{color:#91a083;background:0 0;border:0;font-size:26px}.word-toolbar .star.on{color:#6c8d4e}.word-center{text-align:left;min-height:0;padding:25px 0 27px}.study-page .word-center h1{font:500 43px/1.5 var(--font);color:var(--ink);letter-spacing:0;overflow-wrap:anywhere;margin:0 0 5px}.word-center .reading{font:400 13px/1.9 var(--font);letter-spacing:1px;color:var(--muted);margin:0}.word-center .reading.muted{letter-spacing:0;font-size:11px}.audio-button{background:var(--soft);color:var(--accent);border:0;border-radius:100px;margin-top:13px;padding:9px 15px;font-size:10px}.audio-button:hover{color:var(--ink);background:#dce8d1}.word-center .definition{justify-content:flex-start;align-items:baseline;gap:12px;margin-top:18px;display:flex}.definition small{white-space:nowrap;color:var(--muted);font-size:10px}.definition p{color:var(--ink);margin:0;font-size:18px;line-height:1.9}.recall-note{color:var(--muted);margin:25px 0 0;font-size:12px}.context-block{border:0;border-top:1px solid var(--line);background:0 0;margin:0;padding:25px 0 0}.context-block .section-eyebrow{letter-spacing:0;color:var(--muted);font-size:10px}.context-block .section-eyebrow span{color:var(--muted);margin-left:10px}.context-block .example{font:400 22px/1.95 var(--font);color:var(--ink);margin:18px 0 8px}.context-block .translation{font:400 12px/1.9 var(--font);color:var(--muted);margin:0}.context-block .text-audio{color:var(--accent);margin-top:18px;padding:0;font-size:11px}.context-note{color:#8a9a82;margin-top:8px;font-size:9px;line-height:1.8}.memory-note{border:0;border-top:1px solid var(--line);color:var(--muted);background:0 0;border-radius:0;margin-top:25px;padding:22px 0 0}.memory-note span{color:var(--muted);font-size:10px}.memory-note p{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.9}.hidden-context{display:none}.study-page .study-body:not(.revealed){min-height:0}.study-page .study-body:not(.revealed) .word-center{padding-top:45px}.learning-shell:has(.study-page) .study-controls{background:var(--study-paper);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:min(838px,100% - 72px);max-width:838px;box-shadow:none;z-index:25;color:var(--ink);border:0;border-radius:0 0 26px 26px;margin:0;padding:11px 40px 16px;position:fixed;bottom:33px;left:50%;right:auto;transform:translate(-50%)}.study-controls .control-hint{color:var(--muted);text-align:center;margin:8px 0 0;font-size:10px;line-height:1.8}.study-controls button.reveal-button{background:var(--accent);width:100%;color:var(--paper);min-height:48px;box-shadow:none;border:0;border-radius:100px;padding:10px 20px;font-size:14px;font-weight:400}.reveal-button span{opacity:.6;font-size:10px}.recognition-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:0;display:grid}.recognition-actions button{min-height:54px;box-shadow:none;color:var(--ink);font:400 16px/1.6 var(--font);letter-spacing:.5px;text-align:center;background:0 0;border:0;border-radius:0;padding:12px 0}.recognition-actions button:hover{color:var(--accent);background:#96b37e0f}.recognition-actions button:focus-visible{outline-offset:-4px;outline:2px solid #87a46e}.recognition-tools{justify-content:flex-end;align-items:center;min-height:28px;display:flex;position:relative}.recognition-tools>span{color:#8c9a80;margin-right:auto;font-size:9px}.recognition-more{color:#7b8e70;margin:0;padding:0}.recognition-more>summary{cursor:pointer;letter-spacing:2px;-webkit-user-select:none;user-select:none;border-radius:4px;place-items:center;min-width:44px;min-height:28px;font-size:22px;line-height:1;list-style:none;display:grid}.recognition-more>summary::-webkit-details-marker{display:none}.recognition-more>summary:hover{background:#96b37e15}.recognition-more>summary:focus-visible{outline-offset:1px;outline:2px solid #87a46e}.recognition-popover{border:1px solid var(--line);background:var(--paper);width:min(290px,100vw - 36px);color:var(--ink);z-index:40;text-align:left;border-radius:15px;padding:18px 20px;position:absolute;bottom:36px;right:0;box-shadow:0 8px 30px #1c3b221a}.recognition-popover>button{width:100%;min-height:44px;color:var(--accent);background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;padding:10px 0;font-size:15px;display:flex}.recognition-popover>button small{color:var(--muted);font-size:11px}.recognition-popover>p{color:var(--muted);margin:3px 0 16px;font-size:10px;line-height:1.8}.recognition-popover dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:12px;margin:0;padding:12px 0;display:grid}.recognition-popover dl>div{justify-content:space-between;font-size:11px;line-height:1.5;display:flex}.recognition-popover dt,.recognition-popover dd{margin:0;font-weight:400}.recognition-popover dd{color:var(--muted);font-variant-numeric:tabular-nums}.recognition-popover>small{color:var(--muted);margin-top:12px;font-size:10px;line-height:1.9;display:block}.quiz-page{background:var(--paper);max-width:760px;min-height:calc(100svh - 64px);color:var(--ink);border:1px solid #e3ecd7;border-radius:25px;margin:32px auto;padding:30px 40px}.quiz-card{text-align:center;max-width:550px;margin:55px auto 10px}.quiz-card h1{font:400 30px/1.6 var(--display);letter-spacing:0;color:var(--ink)}.quiz-card p{color:var(--muted);font-size:12px}.quiz-card .section-eyebrow{display:none}.quiz-card input{border-radius:100px;padding:15px 20px;font-size:18px}.quiz-card .primary{border-radius:100px}.quiz-feedback{color:#685c33;background:#e9e9d7;border-radius:16px}.quiz-feedback.correct{color:#416332;background:#ddebd1}.done-page{color:#fff;min-height:calc(100svh - 230px);padding:36px 10px}.done-page h1{font:400 42px/1.5 var(--display);letter-spacing:0}.done-page p{color:#f0f6dfca;font-size:13px;line-height:1.9}.done-stamp{width:max-content;height:auto;font:400 13px/1.6 var(--display);color:#f4f8e9;background:0 0;border:1px solid #edf5d667;border-radius:100px;margin:10px auto 28px;padding:12px 22px}.done-page .section-eyebrow{color:#edf5d6ad;letter-spacing:0}.done-page .primary{color:#294a35;background:#fff}.done-page .outline-button{color:#edf5d6;border-color:#edf5d64d}.done-page .text-button{color:#edf5d6bc}.done-page .primary+.text-button{margin:15px auto;display:block}dialog{background:var(--paper);width:calc(100% - 36px);max-width:510px;max-height:88dvh;color:var(--ink);border:1px solid #dce7d4;border-radius:23px;padding:28px;box-shadow:0 25px 90px #09291740}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c2b236b}.modal-head h2{font:400 24px/1.5 var(--display);letter-spacing:0;color:var(--ink)}.modal-head .icon-button{color:var(--muted)}.setting-row{border-bottom:1px solid var(--line);padding:20px 0}.setting-row b{font-size:13px;font-weight:500}.setting-row small,.modal-copy{color:var(--muted);font-size:11px;line-height:1.9}.setting-row select{border-radius:100px;font-size:12px}.setting-row input{width:20px;height:20px}.detail-content h3{color:var(--ink);font-size:21px}.detail-content p,.detail-content small{color:var(--muted);line-height:1.9}.import-columns{background:var(--soft);border-radius:10px;font-size:9px;line-height:1.8}.file-label{color:var(--muted);font-size:11px}#restore-preview{color:var(--ink)}#toast{color:#2b5035;background:#f6faee;border:1px solid #cbdabd;border-radius:100px;max-width:calc(100% - 32px);padding:13px 23px;font-size:12px;bottom:27px;box-shadow:0 6px 25px #0b301a26}[data-theme=dark] .category-card{color:var(--ink);background:#294637ed}[data-theme=dark] .category-caption,[data-theme=dark] .category-index,[data-theme=dark] .category-volume{color:#a9bba8}[data-theme=dark] .category-card:hover{color:var(--ink);background:#304f3f}[data-theme=dark] .search-field.scene-search,[data-theme=dark] .review-filters select{background:var(--paper);color:var(--ink)}[data-theme=dark] .study-page{background:var(--study-paper)}[data-theme=dark] .learning-shell:has(.study-page) .study-controls{background:var(--study-paper)}[data-theme=dark] .profile-actions>button:hover{color:var(--ink);background:#304f3f}[data-theme=dark] .empty-state,[data-theme=dark] .article-finish{background:var(--paper)}[data-theme=dark] .lesson-tiles>button.selected{background:var(--paper);color:var(--ink)}[data-theme=dark] .lesson-tiles>button.selected small{color:var(--muted)}[data-theme=dark] .scene-card,[data-theme=dark] .lesson-plan,[data-theme=dark] .scene-preview,[data-theme=dark] .review-today,[data-theme=dark] .review-plan,[data-theme=dark] .review-list-panel,[data-theme=dark] .profile-stats,[data-theme=dark] .activity,[data-theme=dark] .menu-lookup,[data-theme=dark] .article-vocab,[data-theme=dark] .reading-paper,[data-theme=dark] .group-words,[data-theme=dark] .profile-actions>button,[data-theme=dark] .book-grid .book-card,[data-theme=dark] .scene-detail-heading{border-color:var(--line)}@media (width<=1100px){.app-shell{padding:0 32px}.category-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.category-photo,.category-card:last-child .category-photo{flex-basis:107px;width:107px}.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-hero{gap:35px}.article-layout{grid-template-columns:minmax(0,1fr) 230px}.lesson-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{gap:20px}.header-actions>nav{gap:22px}.scene-detail-heading{gap:25px}.scene-detail-heading>div{padding-right:28px}}@media (width<=760px){.app-shell{padding:0 23px}.topbar{gap:20px;height:87px}.brand{gap:9px;font-size:21px}.brand-mark,.brand-mark .ui-icon{width:23px;height:27px}.header-actions{gap:17px}.header-actions>nav{display:none}.settings-toggle{width:26px;height:30px}.settings-toggle .ui-icon{width:18px;height:18px}.mobile-nav{z-index:50;display:block;position:relative}.mobile-nav>summary{color:#f7faef;cursor:pointer;place-items:center;width:32px;height:36px;list-style:none;display:grid}.mobile-nav>summary::-webkit-details-marker{display:none}.mobile-nav>summary .ui-icon{stroke-width:1.4px;width:23px;height:23px}.mobile-nav>nav{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:50;background:#153c2ff5;border:1px solid #dbe9ca38;border-radius:18px;flex-direction:column;align-items:stretch;gap:0;width:200px;height:auto;padding:11px;display:flex;position:absolute;inset:calc(100% + 15px) 0 auto auto;box-shadow:0 12px 35px #0c2e2540}.mobile-nav .nav-item{text-align:left;color:#ecf5e3d6;border-radius:10px;align-items:center;gap:13px;padding:14px;font-size:13px;display:flex}.mobile-nav .nav-item>span{margin:0;font-size:0;display:block}.mobile-nav .nav-item .ui-icon{stroke-width:1.4px;width:17px;height:17px}.mobile-nav .nav-item.active{color:#fff;background:#f5fae414}.mobile-nav .nav-item.active:before{display:none}.desktop-footer{gap:18px;min-height:88px;margin-top:22px;font-size:8px}.desktop-footer button{font-size:9px}.desktop-footer>span{max-width:170px;line-height:1.9}.ambient-home{height:calc(100dvh - 87px);min-height:calc(100svh - 87px)}.home-content{padding:32px 0;transform:translateY(-15px)}.home-emblem{margin-bottom:22px}.home-emblem .ui-icon{width:32px;height:36px}.home-content h1{letter-spacing:0;font-size:33px;line-height:1.65}.home-content h1>span{display:block}.home-description{max-width:320px;margin-top:15px;font-size:12px;line-height:2}.home-current{gap:6px;margin-top:20px;font-size:10px}.home-current .ui-icon{width:12px;height:12px}.home-content .home-start{min-width:180px;min-height:48px;margin-top:25px;font-size:15px}.home-start>span{font-size:10px}.home-review-link{margin-top:16px;font-size:10px}.home-bottom{grid-template-columns:1fr auto;gap:7px 20px;min-height:92px;padding:8px 0 22px;font-size:8px}.home-word-link{grid-area:1/1;justify-self:start;gap:10px;max-width:260px;padding:4px 0}.home-word-link>span{max-width:145px;font-size:12px}.home-word-link small{max-width:140px;font-size:9px}.home-activity{color:#eff5df9c;grid-area:2/1}.home-activity i{margin:0 7px}.home-theme{grid-area:1/2/3;gap:6px;font-size:9px}.home-theme .ui-icon{width:14px;height:14px}.scene-home{padding-top:24px}.catalog-heading{align-items:flex-end;gap:15px;margin-bottom:23px}.catalog-heading h1{margin-bottom:10px;font-size:29px}.catalog-heading p{font-size:11px}.catalog-heading .text-button{white-space:nowrap;font-size:10px}.search-field.scene-search{border-radius:13px;margin-bottom:22px;padding:13px 15px}.scene-search small{display:none}.scene-search input{font-size:11px}.scene-search .ui-icon{width:15px;height:15px}.category-overview{grid-template-columns:1fr;gap:13px}.category-card,.category-card:last-child{border-radius:18px;min-height:139px}.category-photo,.category-card:last-child .category-photo{flex-basis:100px;width:100px;min-height:139px}.category-copy{gap:12px;padding:16px 18px}.category-copy h3{margin:5px 0;font-size:19px}.category-index{font-size:8px}.category-caption{font-size:10px;line-height:1.7}.category-volume{margin-top:10px;font-size:9px}.category-arrow{width:14px;display:block}.catalog-foot{gap:15px;font-size:9px}.catalog-foot p{font-size:8px}.scene-catalog-head{gap:20px;margin-bottom:23px}.scene-catalog-head h2{font-size:28px}.scene-catalog-head>button{font-size:10px}.category-tabs{gap:7px;padding-bottom:22px}.category-tabs button{padding:8px 12px;font-size:10px}.category-tabs button small{margin-left:5px;font-size:8px}.scene-grid{grid-template-columns:1fr;gap:19px}.scene-card{border-radius:20px;padding:23px}.scene-card:before{width:calc(100% + 46px);height:180px;margin:-23px -23px 19px}.scene-card h3{margin:10px 0 7px;font-size:24px}.scene-card>p{min-height:0;margin-bottom:18px;font-size:12px}.scene-card-bottom,.scene-card-top{font-size:10px}.scene-detail{padding-top:17px}.scene-detail>.back-link{font-size:11px}.scene-detail-heading{border-radius:23px;grid-template-columns:1fr;gap:0;margin-top:22px}.scene-cover-photo{height:190px}.scene-detail-heading>div{padding:25px}.scene-detail-heading h1{margin:13px 0 10px;font-size:31px}.scene-detail-heading p{font-size:11px}.scene-detail-heading .section-eyebrow{font-size:9px}.scene-review-entry{gap:18px;margin:0 0 5px;padding:20px 0}.scene-review-entry p{max-width:53%;font-size:10px}.scene-review-entry .outline-button{padding:10px 14px;font-size:10px}.menu-lookup{border-radius:21px;margin-top:10px;padding:22px 20px}.menu-lookup summary{font-size:19px}.menu-lookup summary small{font-size:9px}.menu-lookup summary b{font-size:10px}.menu-lookup .search-field{margin-top:22px;padding:12px}.menu-lookup .search-field input{font-size:11px}.dictionary-tools{align-items:flex-start;gap:12px;font-size:9px}.dictionary-tools button{text-align:right;max-width:190px;font-size:9px}.dictionary-row{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:17px 0}.dictionary-row>div{width:calc(100% - 24px);min-width:0;max-width:none}.dictionary-row b{overflow-wrap:anywhere;font-size:16px}.dictionary-row small{font-size:10px}.dictionary-row p{flex-basis:100%;order:3;font-size:11px}.dictionary-row>span{margin-left:auto}.dictionary-list{max-height:330px}.dictionary-note{font-size:9px}.lesson-selector>header{margin-bottom:19px;display:block}.lesson-selector h2{font-size:24px}.lesson-selector>header>span{margin-top:9px;font-size:10px;display:block}.lesson-tiles{grid-template-columns:1fr;gap:10px}.lesson-tiles>button{border-radius:14px;gap:16px;padding:18px}.lesson-tiles b{font-size:12px}.lesson-tiles>button>span{font-size:18px}.lesson-tiles small{margin-top:6px;font-size:9px}.current-lesson-heading{padding-top:12px}.current-lesson-heading h2{margin:10px 0 20px;font-size:26px}.lesson-roadmap{justify-content:space-between;gap:9px;padding-bottom:22px;font-size:9px}.lesson-roadmap b{display:none}.scene-detail-grid{grid-template-columns:1fr;gap:18px}.lesson-plan,.scene-preview{border-radius:21px;padding:25px}.lesson-plan h2,.scene-preview h2{font-size:24px}.lesson-plan>p{font-size:12px}.scene-preview>p{font-size:19px;line-height:2}.scene-preview>span{font-size:11px}.article-preview{border-radius:12px;padding:18px}.group-words{border-radius:20px;padding:22px}.group-words summary{font-size:12px}.group-words summary span{font-size:9px}.group-word-grid{grid-template-columns:1fr;gap:0}.group-word-grid b{font-size:17px}.article-page{padding-top:18px}.article-page>.back-link{font-size:10px}.article-heading{padding:9px 0 18px}.article-heading h1{margin:15px 0 12px;font-size:29px;line-height:1.65}.article-heading p{font-size:11px;line-height:1.9}.reading-toolbar{flex-wrap:wrap;gap:12px;padding:5px 0 22px;display:flex}.reading-toolbar>div{gap:7px}.reading-toolbar>div:last-child{margin-left:auto}.reading-tabs button,.reading-toolbar>div>button{padding:8px 12px;font-size:10px}.article-layout{grid-template-columns:1fr;gap:19px}.reading-paper{border-radius:21px;padding:23px 20px}.paper-top{flex-wrap:wrap;gap:11px;padding-bottom:18px;font-size:9px}.paper-top .text-button,.paper-top .text-audio{font-size:9px}.story-line{gap:12px;padding:22px 0}.story-japanese{font-size:20px;font-weight:400;line-height:2.1}.article-word ruby rt{font-size:8px}.sentence-reading,.line-chinese{font-size:11px;line-height:1.95}.line-number{font-size:8px}.article-vocab{border-radius:21px;padding:23px}.article-vocab>div{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.article-vocab h2{font-size:21px}.article-vocab p{font-size:10px}.article-vocab button b{font-size:12px}.article-vocab button span{font-size:9px}.article-finish{border-radius:21px;padding:24px}.article-finish p{font-size:11px;line-height:1.9}.article-finish .primary{width:100%;font-size:12px}.article-finish .text-button{margin:12px auto 0;font-size:11px;display:block}.dialogue-line{gap:12px;padding:18px 0}.dialogue-line p{font-size:18px;line-height:1.95}.dialogue-line.mine>div{padding:17px}.review-page{padding-top:24px}.review-hero{flex-direction:column;align-items:stretch;gap:27px;display:flex}.review-hero>.review-intro:first-child{padding:0}.journal-kicker{font-size:10px}.review-hero h1{max-width:300px;margin:14px 0 13px;font-size:32px;line-height:1.65}.review-hero p{font-size:11px}.review-method{margin-top:17px;font-size:9px}.review-today{border-radius:23px;min-height:0;padding:27px}.review-today>strong{margin-top:14px;font-size:65px}.review-today>strong small{font-size:10px}.review-today>p{font-size:11px}.review-today .primary{font-size:12px}.review-card-icon{top:23px;right:23px}.review-filters{align-items:flex-start;gap:12px;padding:23px 0}.review-filters label{flex:1;min-width:0;font-size:10px;display:block}.review-filters label:first-child{flex:1.65}.review-filters select{width:100%;min-width:0;max-width:none;margin:9px 0 0;padding:11px 12px;font-size:10px;display:block}.review-filters>.text-button{text-align:right;width:100%;padding:2px 0;font-size:9px}.review-columns{grid-template-columns:1fr;gap:20px}.review-list-panel,.review-plan{border-radius:22px;padding:23px}.review-list-panel h2,.review-plan h2{font-size:24px}.review-list-panel .section-line{gap:12px}.section-line>span{font-size:9px}.review-word-list>div{grid-template-columns:minmax(0,1.6fr) 1fr 54px;gap:10px;padding:16px 0}.review-word-list b{font-size:14px}.review-word-list span,.review-word-list small{font-size:9px}.review-phase{padding:5px 3px}.review-days{gap:7px}.review-days>div{font-size:8px}.review-guide p{font-size:11px}.review-soon{padding:17px}.content-page{min-height:calc(100svh - 210px);padding-top:24px}.page-heading{margin-bottom:26px;display:block}.page-heading h1{margin:10px 0 13px;font-size:30px;line-height:1.6}.page-heading p{font-size:11px}.page-heading .outline-button{margin-top:19px;padding:10px 17px;font-size:11px}.book-grid{grid-template-columns:1fr;gap:16px;margin-bottom:27px}.book-grid .book-card{border-radius:20px;gap:22px;padding:23px}.book-cover{width:91px;min-width:91px;height:140px}.book-cover b{font-size:21px}.book-info h3{margin:8px 0;font-size:18px}.book-info p,.book-info>small,.book-info>span,.book-info em{font-size:9px}.book-info .track{margin-top:13px}.word-list,#word-results{border-radius:20px;padding:4px 20px}.word-row{gap:8px;padding:14px 0}.word-open{grid-template-columns:1fr 1fr;gap:8px 12px;padding:5px 0}.word-open b{font-size:17px}.word-open>span{font-size:10px}.word-open .row-meaning{color:var(--muted);grid-column:1/-1;font-size:11px}.word-state{font-size:8px}.word-row .icon-button{width:30px;min-width:30px;font-size:22px}.profile-stats{border-radius:21px;margin:25px 0;padding:25px 7px}.profile-stats strong{font-size:32px}.profile-stats span{margin-top:9px;font-size:9px}.activity{border-radius:21px;padding:22px 17px}.activity .section-line h3{font-size:17px}.activity .section-line small{font-size:9px}.calendar{grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{border-radius:6px;height:40px;font-size:9px}.profile-actions{grid-template-columns:1fr;gap:13px}.profile-actions>button{border-radius:17px;padding:23px}.profile-actions b{font-size:13px}.profile-actions span{font-size:10px}.about-note{font-size:9px;line-height:2}.empty-state{border-radius:20px;padding:40px 22px}.empty-state h3{font-size:25px}.empty-state p{font-size:11px}.learning-shell{max-width:none;padding:0}.study-page,.learning-shell .study-page{background:var(--study-paper);min-height:100dvh;box-shadow:none;border:0;border-radius:0;max-width:none;margin:0;padding:24px 25px 145px}.study-top{gap:12px;font-size:9px}.study-top>span:nth-child(2){max-width:74%;font-size:9px;line-height:1.7}.study-top .back-link{font-size:19px}.study-top .progress-count{font-size:10px}.study-track{margin-top:16px}.word-toolbar{padding-top:20px}.word-toolbar>span{font-size:9px}.word-toolbar .star{width:29px;height:29px;font-size:25px}.word-center{padding:28px 0 27px}.study-page .word-center h1{font-size:clamp(22px,calc((100vw - 65px)/var(--word-chars,4)),37px);letter-spacing:0;margin:0 0 5px;line-height:1.55}.word-center .reading{font-size:12px}.word-center .reading.muted{font-size:10px}.word-center .audio-button{margin-top:13px;padding:8px 13px;font-size:9px}.word-center .definition{gap:10px;margin-top:17px}.definition p{font-size:16px;line-height:1.9}.definition small{font-size:9px}.context-block{margin-top:0;padding-top:24px}.context-block .section-eyebrow{font-size:9px}.context-block .example{margin-top:20px;font-size:19px;line-height:1.95}.context-block .translation{font-size:11px;line-height:1.9}.context-block .text-audio{margin-top:18px;font-size:10px}.context-note{margin-top:8px;font-size:8px}.memory-note{display:none}.recall-note{margin-top:26px;font-size:11px}.learning-shell:has(.study-page) .study-controls{width:100%;max-width:none;padding:10px 18px max(18px,env(safe-area-inset-bottom));background:var(--study-paper);box-shadow:none;border:0;border-radius:0;bottom:0;left:0;right:0;transform:none}.study-controls .control-hint{display:none}.study-controls button.reveal-button{min-height:48px;font-size:14px}.recognition-actions button{min-height:55px;font-size:16px}.recognition-more>summary{min-height:30px;font-size:21px}.recognition-tools{min-height:30px}.recognition-popover{bottom:40px}.quiz-page{border:0;border-radius:0;max-width:none;min-height:100dvh;margin:0;padding:24px}.quiz-card{margin:45px auto 10px}.quiz-card h1{font-size:27px}.quiz-card p{font-size:11px}.quiz-card input{font-size:17px}.done-page{min-height:calc(100svh - 220px);padding:24px 0}.done-page h1{font-size:33px;line-height:1.65}.done-page p{font-size:12px;line-height:2}.done-stamp{margin-bottom:24px;padding:11px 20px;font-size:12px}.done-page .section-eyebrow{font-size:9px}.done-page .primary,.done-page .outline-button{font-size:12px}.done-page .text-button{font-size:11px}dialog{border-radius:21px;max-height:86dvh;padding:23px}.modal-head h2{font-size:23px}.setting-row{padding:19px 0}.setting-row b{font-size:12px}.setting-row small{font-size:10px}.setting-row select{padding:9px;font-size:11px}.modal-copy{font-size:11px}#toast{border-radius:15px;padding:12px 18px;font-size:11px;bottom:20px}}@media (width<=370px){.app-shell{padding-left:18px;padding-right:18px}.learning-shell{padding:0}.home-content h1{font-size:30px}.home-description{font-size:11px}.home-current{gap:5px;font-size:9px}.home-content{padding:20px 0}.category-photo,.category-card:last-child .category-photo{flex-basis:91px;width:91px}.category-copy{padding:16px 14px}.category-copy h3{font-size:18px}.category-caption{font-size:9px}.category-volume{font-size:8px}.catalog-heading h1{font-size:27px}.home-word-link{max-width:225px}.home-word-link>span{max-width:130px}.home-word-link small{max-width:110px}.scene-review-entry .outline-button{padding:9px 11px;font-size:9px}.study-page,.learning-shell .study-page{padding-left:22px;padding-right:22px}.lesson-roadmap{gap:6px;font-size:8px}.review-list-panel,.review-plan{padding:20px}.review-days{gap:5px}.profile-stats strong{font-size:29px}.profile-stats span{font-size:8px}.book-grid .book-card{gap:18px;padding:20px}}@media (height<=700px) and (width>=761px){.topbar{height:88px}.ambient-home{height:calc(100dvh - 88px);min-height:calc(100svh - 88px)}.home-content{padding:15px 0;transform:none}.home-content h1{font-size:35px}.home-description{font-size:14px}.home-emblem{margin-bottom:15px}.home-content .home-start{margin-top:20px}.home-bottom{min-height:61px;padding-bottom:16px}}@media (height<=710px) and (width<=760px){.topbar{height:75px}.ambient-home{height:auto;min-height:calc(100svh - 75px)}.home-content{padding:30px 0;transform:none}.home-content h1{font-size:29px;line-height:1.6}.home-emblem{margin-bottom:14px}.home-description{margin-top:11px;font-size:11px}.home-current{margin-top:14px}.home-content .home-start{min-height:45px;margin-top:19px}.home-review-link{margin-top:10px}.home-bottom{min-height:83px;padding-bottom:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.home-content{transform:none}}.home-current{margin-top:10px}.home-bottom{font-size:11px}.home-review-link{font-size:12px}.home-word-link small{font-size:10px}.home-theme{font-size:11px}@media (width<=760px){.home-current{margin-top:10px;font-size:11px}.home-bottom{font-size:10px}.home-review-link{font-size:11px}.home-word-link small,.home-theme{font-size:10px}.home-description{font-size:13px}}@media (width<=370px){.home-description{font-size:12px}.home-current{font-size:10px}.home-bottom{font-size:9px}}.search-field input{height:24px;padding:0;line-height:24px}.learning-shell>main{animation:none;transform:none}.study-body{animation:.22s ease-out both word-arrive}@keyframes word-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.article-heading{margin:8px 0 15px}.reading-toolbar{flex-direction:row;margin:0}.article-word{white-space:normal;overflow-wrap:anywhere;max-width:100%}.story-japanese{overflow-wrap:anywhere}@media (width<=760px){.reading-toolbar{flex-direction:row;align-items:center}.article-heading{margin:6px 0 12px}}
