@charset "UTF-8";
:root{--paper:#f6f5f0;--white:#fffefa;--ink:#292f2d;--muted:#7a807b;--line:#e3e5dc;--accent:#c35c47;--accent-dark:#a34837;--coral:#f4e3da;--green:#517361;--blue:#617b8c;--radius:18px;--sidebar:232px;font-family:"Avenir Next","Segoe UI",-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b86f50;outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:35px;letter-spacing:-1.2px;line-height:1.25;font-weight:650}h2{font-size:23px;letter-spacing:-.55px;font-weight:600}h3{font-size:19px;letter-spacing:-.3px;font-weight:600}p{line-height:1.65}input,select{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink)}input::placeholder{color:#9b9f98}select{cursor:pointer;min-height:45px}svg{flex-shrink:0}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:12px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.muted{color:var(--muted)}.small{font-size:12px}.tiny-label{font-size:10px;letter-spacing:1.2px;font-weight:600;color:var(--muted)}.eyebrow{display:block;font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--muted);margin-bottom:12px}.heading-dot{color:var(--accent)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);border-right:1px solid var(--line);padding:31px 22px 24px;background:#faf9f4;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:650;letter-spacing:-.9px}.brand-mark{width:43px;height:46px;background:var(--accent);color:#fff7e8;border-radius:12px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;display:grid;place-items:center;font-size:30px;font-weight:400;box-shadow:0 3px 0 #ad503b}.brand-sub{display:block;font-size:8px;font-weight:500;letter-spacing:.25px;color:var(--muted);margin-top:1px}.sidebar-label{margin:51px 10px 15px;font-size:9px;letter-spacing:1.3px;color:#93978d;font-weight:650}.navigation{display:flex;flex-direction:column;gap:7px}.navigation a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;font-size:13px;color:#70776e;font-weight:500;min-height:45px;transition:background .15s}.navigation a:hover{background:#efeee6}.navigation a.active{background:#2e3830;color:#fffefa;box-shadow:0 3px 8px #24322810}.navigation a.active .icon{color:#e5cfad}.nav-count{font-size:10px;margin-left:auto;background:#e9ebe3;border-radius:5px;padding:2px 5px}.active .nav-count{color:#e8e6dc;background:#52604d}.sidebar-course{margin:44px 7px 0}.course-book{display:block;margin:17px 0 15px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:23px;color:var(--accent);letter-spacing:3px}.course-book span{font-family:inherit;display:inline-block;font-size:9px;letter-spacing:1px;vertical-align:middle;margin-left:11px;border:1px solid #dbb6a4;padding:4px 6px;border-radius:4px}.sidebar-course strong{font-size:12px;font-weight:600}.sidebar-course p{font-size:10px;margin:7px 0 15px;color:var(--muted)}.sidebar-course .small{font-size:10px;display:block;margin-top:8px}.progress-track{height:5px;overflow:hidden;border-radius:99px;background:#e9e9df}.progress-track>span{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .3s}.sidebar-bottom{margin-top:auto;display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.7;color:#6d776b}.sidebar-bottom small{font-size:8px;color:#969b90}.local-dot{width:6px;height:6px;border-radius:50%;background:#87a483;margin-top:5px;flex-shrink:0}.workspace{margin-left:var(--sidebar)}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px;font-size:12px}.topbar-path{color:#8b9086}.path-divider{margin:0 12px;color:#c2c5ba}.topbar-right{display:flex;align-items:center;gap:21px}.date-label{color:var(--muted);font-size:11px}.avatar{width:32px;height:32px;border-radius:50%;background:#ebe8da;display:grid;place-items:center;font-size:14px;color:#81755d}.icon-button{display:inline-grid;place-items:center;padding:8px;width:36px;height:36px;border-radius:9px;background:transparent;color:#7b8379;flex-shrink:0}.icon-button:hover{background:#e9ebe2;color:var(--ink)}main{max-width:1280px;margin:0 auto;padding:39px 42px 24px;min-height:calc(100vh - 136px);outline:none}.page-footer{max-width:1280px;margin:auto;padding:18px 42px 25px;display:flex;justify-content:space-between;font-size:10px;color:#8b9386;letter-spacing:.2px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.page-heading h1{font-size:30px}.page-heading p{font-size:12px;color:var(--muted);margin-top:9px}.page-heading .eyebrow{margin-bottom:9px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:10px;padding:5px 9px;border-radius:6px;background:#ffffff70;border:1px solid #ffffff6b;white-space:nowrap}.pill.subtle{background:#eeeee5;border-color:#e5e7dc;color:#73806a;padding:7px 11px;font-size:10px}.pill .icon{width:14px;height:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:45px;padding:12px 19px;font-size:12px;font-weight:600;border-radius:9px;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button .icon{width:17px;height:17px}.primary{background:var(--ink);color:#fffdf4}.primary:hover:not(:disabled){background:#414c42}.secondary{background:var(--white);border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:#eeeee5}.wide{width:100%}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:11px;color:#697862;font-weight:600;padding:5px 0;background:none}.text-link:hover{color:var(--accent)}.text-link .icon{width:16px;height:16px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:34px 0 19px}.section-heading .eyebrow{font-size:9px;margin-bottom:6px}.section-heading h2{font-size:21px}.section-heading.compact{margin:0 0 20px}.section-heading.compact h2{font-size:17px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px}
.daily-hero{display:flex;background:#eeede2;border:1px solid #e4e4d6;border-radius:var(--radius);min-height:298px;overflow:hidden;position:relative}.hero-copy{padding:34px 32px;position:relative;z-index:2;flex:1}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.3px;color:#8c8a72}.hero-copy h2{font-size:35px;line-height:1.25;letter-spacing:-1.2px;font-weight:600}.hero-copy h2 em{font-style:normal;color:#7c8461}.hero-copy p{font-size:11px;line-height:1.85;color:#7d806e;margin:14px 0 22px}.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.hero-actions .small{font-size:10px;display:flex;align-items:center;gap:5px}.hero-actions .small .icon{width:13px;height:13px}.hero-goal{width:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 55% 42%,#faf7eb70 0%,transparent 65%);overflow:hidden}.goal-ring{width:170px;height:170px;position:relative;z-index:1}.goal-ring svg{position:absolute;width:100%;height:100%;transform:rotate(-90deg)}.ring-track,.ring-value{fill:none;stroke-width:5}.ring-track{stroke:#dcdecf}.ring-value{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .4s}.goal-ring>div{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.goal-ring strong{font-size:42px;font-weight:500;letter-spacing:-2px}.goal-ring strong span{font-size:20px;font-weight:400;letter-spacing:0;color:#a0a18c}.goal-caption{font-size:10px;color:#8c917a;margin-top:3px}.goal-bottom{font-size:10px;color:#8b907c;letter-spacing:.5px;margin-top:13px;z-index:1}.sun-line{position:absolute;width:390px;height:390px;border:1px solid #d9ddcd;border-radius:50%;top:57%;left:12%;transform:rotate(-16deg)}.sun-line-two{top:64%;left:8%;width:430px;height:430px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px}.stat-card{display:flex;gap:14px;padding:21px 19px;background:var(--white);border:1px solid var(--line);border-radius:13px}.stat-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;margin-top:3px;flex-shrink:0}.stat-icon.coral{background:#f7e8de;color:#bb7052}.stat-icon.blue{background:#e9eef1;color:#6f8793}.stat-icon.gold{background:#f5efdb;color:#b99850}.stat-label{display:block;font-size:10px;color:#7f867a;margin-bottom:6px}.stat-card strong{display:flex;align-items:baseline;gap:7px;font-size:29px;font-weight:550;line-height:1}.stat-card strong small{font-size:11px;color:#9a9e92;font-weight:400}.stat-detail{display:block;font-size:9px;color:#9b9f93;margin-top:9px}.deck-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.deck-card{padding:22px 22px 14px;border-radius:var(--radius);border:1px solid #e9dfd2;background:#f4e7dd;display:flex;flex-direction:column;transition:transform .2s}.deck-card:hover{transform:translateY(-3px)}.deck-card.blue{background:#e6ecec;border-color:#dce3e1}.deck-card.green{background:#e9eddf;border-color:#dfe4d3}.deck-top{display:flex;align-items:center;justify-content:space-between}.deck-number{font-size:11px;color:#998b7c;font-weight:500}.deck-japanese{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:25px;letter-spacing:2px;margin:27px 0 10px;color:#a26d52;min-height:35px}.blue .deck-japanese{color:#6a8187}.green .deck-japanese{color:#748258;font-size:19px;letter-spacing:.6px}.deck-card h3{font-size:18px;margin-bottom:9px}.deck-card p{font-size:10px;color:#8b8a7b;line-height:1.8;flex:1;min-height:39px}.deck-meta{display:flex;gap:17px;font-size:9px;color:#9a9586;margin:20px 0 12px}.deck-card .progress-track{height:4px;background:#dcd4c760}.deck-card .progress-track span{background:#a4836d}.blue .progress-track span{background:#839b9b}.green .progress-track span{background:#85966e}.deck-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:9px;color:#9b9588}.circle-button{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;border:1px solid #cfc9b9;background:#ffffff30;color:#8c8a77}.circle-button:hover{background:#fffefa}.circle-button .icon{width:15px;height:15px}.note-banner{display:flex;align-items:center;gap:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 9px;margin-top:28px}.note-japanese{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:27px;letter-spacing:4px;color:#8b927c;writing-mode:vertical-rl;font-size:20px;line-height:1.5}.note-banner strong{font-size:12px;font-weight:550}.note-banner p{font-size:10px;color:#969b8e;margin-top:5px}.note-stamp{border:1px solid #c99380;color:#bd8772;border-radius:3px;padding:5px;font-family:"Hiragino Mincho ProN",serif;font-size:12px;line-height:1.6;letter-spacing:2px;transform:rotate(8deg);margin-left:auto;flex-shrink:0;opacity:.7}
.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:23px;align-items:start}.practice-setup{padding:28px}.step-label{font-size:9px;color:#939889;letter-spacing:1.5px;display:block;font-weight:600;margin:0 0 15px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px}.mode-option{text-align:left;background:#f9f9f3;border:1px solid var(--line);border-radius:12px;padding:20px 16px}.mode-option.selected{background:#edf0e4;border-color:#7a8d6b;box-shadow:0 0 0 1px #7a8d6b}.mode-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e6e9dc;color:#7b8a6d;margin-bottom:14px}.mode-option strong{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.mode-option>span:last-child{font-size:10px;line-height:1.8;color:#8a9181}.topic-options{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}.topic-option{display:flex;text-align:left;align-items:center;gap:12px;padding:14px 15px;background:var(--white);border:1px solid var(--line);border-radius:10px}.topic-option.selected{background:#f6f7ef;border-color:#bbc4ac}.topic-check{border:1px solid #c9cebf;border-radius:5px;width:19px;height:19px;display:grid;place-items:center;color:var(--white);flex-shrink:0}.selected .topic-check{background:#718369;border-color:#718369}.topic-check .icon{width:13px;height:13px}.topic-option strong{display:block;font-size:12px;font-weight:500}.topic-option small{display:block;color:#9a9e90;font-size:10px;margin-top:4px}.topic-option>.small{margin-left:auto;white-space:nowrap}.setup-bottom{display:flex;justify-content:space-between;gap:18px;align-items:start;margin:0 0 28px}.field-label{display:block;font-size:11px;font-weight:500;margin-bottom:9px}.chip-row{display:flex;gap:7px;flex-wrap:wrap}.chip{padding:8px 13px;min-height:33px;border:1px solid var(--line);background:transparent;border-radius:7px;font-size:10px;white-space:nowrap}.chip.active{background:#ecf0e4;border-color:#a8b79a;color:#4b6545}.chip:hover{background:#edf0e7}.setup-bottom select{font-size:11px;padding:9px 12px;min-height:36px}.setup-hint{font-size:10px;line-height:1.9;color:#909583;display:flex;gap:9px;margin-top:22px}.setup-hint .icon{width:15px;height:15px;margin-top:3px}.paper-tip{border:1px solid #e3e3d6;border-radius:var(--radius);background:#eeeee3;padding:25px 23px;overflow:hidden}.tip-kana{font-family:"Hiragino Mincho ProN",serif;font-size:67px;line-height:1;color:#aeb69c;display:block;margin-bottom:27px}.paper-tip .eyebrow{font-size:8px;letter-spacing:1.1px}.paper-tip h3{font-size:23px;line-height:1.4;margin-bottom:14px;color:#646f55}.paper-tip p{font-size:11px;color:#8a927c;line-height:1.9}.tip-divider{display:block;width:35px;height:1px;background:#cdd4bd;margin:22px 0}.paper-tip .small{font-size:10px}.mistake-shortcut{display:flex;align-items:center;gap:9px;background:#f2e5db;border:1px solid #e4d5c6;color:#9e6b53;font-size:11px;width:100%;border-radius:11px;padding:16px;margin-top:15px}.mistake-shortcut .icon{width:16px;height:16px}.mistake-shortcut span{margin-left:auto;font-size:13px;font-weight:600}
.study-container{max-width:725px;margin:0 auto;padding-top:4px}.session-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.session-top .pill{background:#edeede;border-color:#e0e3d6;color:#7c876d}.session-progress{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.3px;color:#808a75;margin-bottom:11px}.session-progress>span:last-child{font-size:12px;letter-spacing:0;color:var(--ink)}.session-track{height:4px;margin-bottom:22px}.flashcard{background:var(--white);border:1px solid var(--line);border-radius:22px;min-height:340px;text-align:center;padding:19px 27px 40px;box-shadow:0 5px 0 #e9e9dd70;position:relative}.flashcard-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.flashcard-meta .tiny-label{border:1px solid #e8e9df;border-radius:5px;padding:5px 8px;font-size:8px;letter-spacing:1px}.card-question{font-size:11px;color:#a0a493;display:block;margin-bottom:23px}.card-front{font-size:46px;line-height:1.6;overflow-wrap:anywhere;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;letter-spacing:2px;font-weight:400}.card-front.russian{font-family:inherit;font-size:29px;letter-spacing:-.6px;padding:8px 0}.card-reading{font-size:16px;color:#8f967f;display:block;margin-top:7px;letter-spacing:1px}.card-think{margin-top:31px;font-size:10px;color:#b0b4a4}.answer-divider{height:1px;width:60px;margin:27px auto 23px;background:#e2e5d7}.card-answer h2{font-size:22px;font-weight:500;color:#677858;line-height:1.5}.card-answer h2[lang=ja]{font-size:30px;letter-spacing:1px}.card-answer>p[lang=ja]{font-size:14px;color:#9aa18c;margin-top:5px}.word-note{font-size:11px;color:#939b86;line-height:1.9;margin:15px auto 0;max-width:450px}.example-box{padding:15px;background:#f4f6ee;border-radius:9px;margin:18px auto 0;max-width:470px}.example-box>span{display:block;font-size:16px;line-height:1.7}.example-box small{font-size:10px;display:block;margin-top:6px;color:#8c967e}.reveal-button{display:flex;margin:24px auto 0;min-width:260px;justify-content:space-between}.keyboard-hint{border:1px solid #66705d;font-size:9px;padding:3px 6px;border-radius:4px;color:#d6dbc8}.rating-caption{text-align:center;font-size:11px;color:#939a86;margin:24px 0 12px}.rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rating-button{border:1px solid #e3e0d3;background:#f0e8df;border-radius:11px;padding:14px 8px;position:relative;text-align:center;transition:transform .1s}.rating-button:hover:not(:disabled){transform:translateY(-3px)}.rating-button strong{font-size:12px;display:block;font-weight:600}.rating-button small{font-size:9px;display:block;color:#9a9584;margin-top:6px}.rating-button.again{background:#f6e7df;color:#a46750;border-color:#ead4c5}.rating-button.hard{background:#f3efdd;color:#a18e53;border-color:#e5dfc5}.rating-button.good{background:#e7eddf;color:#69845b;border-color:#d2dec5}.rating-button.easy{background:#e5ecec;color:#66868a;border-color:#d0dfe0}.keycap{position:absolute;top:6px;right:7px;font-size:8px;opacity:.5}.study-footnote{text-align:center;font-size:10px;color:#a0a593;margin:21px 0}.exercise-card{padding:33px;background:var(--white);border:1px solid var(--line);border-radius:20px}.exercise-card>.eyebrow{font-size:9px;margin-bottom:21px}.exercise-prompt{font-size:24px;line-height:1.6;letter-spacing:-.3px;font-weight:550;overflow-wrap:anywhere}.exercise-instruction{font-size:11px;color:#959c88;margin:13px 0 26px}.japanese-input{width:100%;padding:18px 17px;font-size:22px;border-radius:10px;border-color:#cfd7c4;line-height:1.6;background:#fafbf6}.japanese-input.is-correct{border-color:#83a26f;background:#f3f8ec}.japanese-input.is-incorrect{border-color:#c99b81;background:#fcf5ed}.japanese-input:disabled{color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink)}.input-hint{font-size:9px;color:#a0a58e;display:block;margin-top:8px}.exercise-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px}.exercise-actions .text-link{font-size:10px}.hint-box{padding:13px 15px;border:1px solid #e4e4cf;background:#f6f5e9;border-radius:9px;color:#9c9475;font-size:11px;margin-top:18px}.answer-options{display:flex;flex-direction:column;gap:10px}.answer-option{display:flex;text-align:left;align-items:center;gap:12px;background:#fafbf6;border:1px solid #e1e6d7;border-radius:10px;padding:15px;font-size:15px;line-height:1.6}.answer-option.selected{border-color:#879b73;background:#edf2e4;box-shadow:0 0 0 1px #879b73}.option-number{display:grid;place-items:center;border:1px solid #d6ddcb;border-radius:5px;width:24px;height:24px;font-size:10px;flex-shrink:0}.answer-option.correct-option{background:#edf4e5;border-color:#93b17d;opacity:1}.answer-option.wrong-option{background:#faede4;border-color:#c89a7c;opacity:1}.answer-feedback{border-radius:11px;padding:20px;margin-top:24px;background:#f0f5e7;border:1px solid #d6e2c7}.answer-feedback.retry{background:#f8ede2;border-color:#e9d6bf}.feedback-title{display:flex;align-items:center;gap:9px;color:#6d8657;font-size:13px}.retry .feedback-title{color:#b17b54}.answer-feedback>p{font-size:11px;line-height:1.85;color:#89977b;margin-top:9px}.retry>p{color:#a78d72}.answer-feedback .expected-answer{font-size:12px}.expected-answer strong{font-size:17px;font-weight:500;color:#886e4f;display:inline-block}.next-answer{margin-top:20px}.summary-container{max-width:680px;margin:25px auto 60px;text-align:center}.summary-flower{font-family:"Hiragino Mincho ProN",serif;font-size:78px;color:#bb806b;position:relative;width:170px;height:170px;border:1px solid #dfdbc8;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 34px;flex-direction:column;background:#f0ebdf}.summary-flower span{font-family:inherit;font-size:9px;letter-spacing:1px;margin-top:5px;color:#a0937d}.summary-container h1{font-size:35px}.summary-container>p{color:#989d8b;font-size:12px;margin-top:15px}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:15px;background:var(--white);padding:25px 10px;margin:30px 0 20px}.summary-stats>div+div{border-left:1px solid var(--line)}.summary-stats strong{font-size:32px;font-weight:500;color:#6d805e;display:block}.summary-stats span{font-size:10px;color:#9a9f8e;display:block;margin-top:7px}.summary-note{font-size:12px;line-height:1.9;color:#979d89;margin-bottom:27px}.summary-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.vocabulary-panel{padding:25px 27px}.search-box{display:flex;align-items:center;gap:10px;background:#f8f9f1;border:1px solid var(--line);border-radius:10px;padding:0 14px;color:#939d87}.search-box input{width:100%;border:0;background:transparent;padding:15px 0;border-radius:0;font-size:12px;outline:none}.search-box:focus-within{outline:2px solid #b9c5a9;outline-offset:3px}.vocabulary-filters{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:19px 0 26px;flex-wrap:wrap}.vocabulary-filters select{font-size:10px;min-height:34px;padding:7px 9px}.list-count{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#929b83;margin-bottom:13px}.list-count span{font-size:9px;color:#a4ab98}.word-row{border-top:1px solid #eceee4}.word-row-main{display:flex;align-items:center;gap:8px;min-height:80px;padding:8px 0}.word-expand{display:flex;align-items:center;gap:20px;flex:1;background:transparent;text-align:left;padding:9px 0;min-width:0}.word-japanese{font-size:18px;min-width:190px;flex:0 0 35%;line-height:1.7;overflow-wrap:anywhere}.word-japanese small{font-size:11px;display:block;line-height:1.5;color:#9aa48e}.word-meaning{font-size:12px;flex:1;line-height:1.7;min-width:0}.word-meaning small{font-size:9px;color:#a4ab97;display:block}.word-status{font-size:9px;white-space:nowrap;padding:4px 7px;border-radius:5px;background:#f2f2e9;color:#9a9f8c}.word-status.studied{background:#edf3e6;color:#7d936a}.word-status.due{background:#f7e9df;color:#b88b68}.word-details{padding:0 15px 20px 0;margin-left:0;border-top:1px dashed #e5e9da}.word-details>p{font-size:12px;color:#88947a;padding-top:13px}.word-details>span{display:block;margin-top:13px}.word-example{font-size:17px;margin-top:15px}.word-details .small{font-size:10px}.word-expand:hover .word-japanese{color:var(--accent)}.empty-state{padding:28px 12px;text-align:center}.empty-state>.icon{width:30px;height:30px;color:#a7b095;margin-bottom:14px}.empty-state h3{font-size:14px;font-weight:500;color:#89947b}.empty-state p{font-size:11px;color:#a4ab96;margin:10px auto 0;max-width:340px;line-height:1.9}.progress-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric>span{font-size:11px;color:#909b81}.metric strong{font-size:36px;font-weight:500;display:block;margin:14px 0 9px}.metric small{font-size:10px;color:#a2aa95}.activity-panel{margin-top:23px}.activity-panel .section-heading{margin:0 0 25px}.activity-panel h2{font-size:18px}.activity-panel .small{font-size:10px;margin-top:7px}.activity-legend{display:flex;align-items:center;gap:7px;font-size:10px;color:#9ba48d}.activity-legend i{height:8px;width:8px;border-radius:2px;background:#a7b78e}.activity-chart{display:flex;gap:12px;align-items:end;padding-top:8px}.activity-column{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;font-size:9px;color:#a1a992;gap:9px}.activity-count{height:15px;color:#839471;font-size:9px}.bar-area{height:95px;display:flex;align-items:end;width:100%;max-width:40px}.activity-bar{width:100%;background:#bdc8aa;border-radius:5px 5px 3px 3px;min-height:4px}.activity-bar.goal-met{background:#7e9569}.chart-caption{display:flex;justify-content:space-between;font-size:9px;color:#a2aa95;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.progress-columns{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-top:23px}.mistake-list>div{display:flex;align-items:start;gap:10px;padding:15px 0;border-top:1px solid #edf0e4;font-size:11px;line-height:1.75}.mistake-list .icon{width:15px;height:15px;color:#ac9478;margin-top:3px}.mistake-list small{display:block;color:#a4ad95;font-size:9px;margin-top:5px}.difficult-list>div{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid #edf0e4;gap:10px}.difficult-list>div>span:first-child{font-size:17px}.difficult-list small{font-size:10px;display:block;color:#a0aa92;margin-top:7px}.difficult-list .pill{background:#f3ecdf;font-size:9px;color:#ac9576;border:0}.backup-panel{margin-top:23px;display:flex;align-items:center;justify-content:space-between;gap:25px}.backup-panel>div:first-child{display:flex;gap:16px;align-items:center}.backup-panel>div:first-child>.icon{color:#8e9a7b}.backup-panel strong{font-size:12px;font-weight:500}.backup-panel p{font-size:10px;color:#a0a98f;margin-top:5px}.backup-actions{display:flex;gap:9px;flex-shrink:0}.backup-actions .button{font-size:10px;padding:10px 12px;min-height:38px}.history-note{margin:14px 4px;font-size:9px}
dialog{border:1px solid var(--line);border-radius:20px;padding:29px;width:min(460px,calc(100% - 28px));background:var(--white);color:var(--ink);box-shadow:0 24px 90px #2833262b;max-height:calc(100vh - 40px);overflow:auto}dialog::backdrop{background:#2e382e65;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:25px}.dialog-heading .eyebrow{font-size:9px;margin-bottom:7px}.dialog-heading h2{font-size:23px}dialog .field-label{margin-top:20px}dialog input:not([type=checkbox]),dialog select{width:100%;font-size:12px}.input-unit{display:flex;gap:10px;align-items:center}.input-unit input{max-width:90px}.input-unit span{font-size:12px;color:#9ca68a}.field-help{font-size:10px;color:#a0aa92;margin-top:8px;line-height:1.8}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:18px 0;border-block:1px solid var(--line);cursor:pointer}.switch-row strong{font-size:12px;font-weight:500}.switch-row small{display:block;font-size:10px;color:#a0aa92;margin-top:6px;line-height:1.6}.switch-row input{appearance:none;position:relative;width:36px;height:21px;border:0;border-radius:99px;background:#dce1d2;padding:0;flex-shrink:0;cursor:pointer}.switch-row input:before{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;background:white;border-radius:50%;transition:transform .2s}.switch-row input:checked{background:#7b9368}.switch-row input:checked:before{transform:translateX(15px)}dialog .button.wide{margin-top:26px}.form-error{padding:12px;background:#f8e9df;color:#b17b5d;font-size:12px;margin-top:15px;border-radius:8px}.toast{position:fixed;bottom:27px;left:calc(50% + 116px);transform:translateX(-50%);background:#2d382e;color:#f5f4e7;border:1px solid #607055;border-radius:12px;padding:14px 20px;font-size:12px;line-height:1.7;box-shadow:0 8px 30px #2d382e26;max-width:calc(100% - 35px);width:max-content;z-index:100}.loading-state,.connection-error{text-align:center;padding:100px 20px;color:#8c977e}.loading-mark{font-family:"Hiragino Mincho ProN",serif;font-size:55px;color:var(--accent)}.loading-state p{font-size:12px;margin-top:20px}.connection-error h1{font-size:25px;margin:15px 0}.connection-error p{font-size:13px;margin:18px auto;max-width:420px}
@media(min-width:1500px){main{padding-top:47px}.hero-copy{padding:39px}.hero-copy h2{font-size:42px}.daily-hero{min-height:320px}.hero-goal{width:330px}.deck-card{padding:25px 25px 17px}.deck-japanese{margin-top:32px}.deck-card p{font-size:11px}}
@media(max-width:1150px){:root{--sidebar:205px}.sidebar{padding-inline:16px}.brand{font-size:23px}.brand-sub{font-size:7px}main{padding:32px 26px 22px}.topbar{padding:0 26px}.page-footer{padding-inline:26px}.hero-copy{padding:28px 24px}.hero-copy h2{font-size:31px}.hero-goal{width:220px}.hero-copy .eyebrow{font-size:8px}.stat-card{padding:18px 13px;gap:10px}.stat-icon{width:30px;height:30px}.stat-detail{font-size:8px}.deck-card{padding-inline:17px}.deck-japanese{font-size:23px}.green .deck-japanese{font-size:16px}.practice-layout{grid-template-columns:minmax(0,1fr) 215px;gap:18px}.practice-setup{padding:23px}.paper-tip{padding:23px 19px}.mode-option{padding:16px 12px}.setup-bottom{flex-wrap:wrap}.setup-hint{margin-top:0}.word-japanese{min-width:150px;font-size:17px}.backup-panel{flex-wrap:wrap}.toast{left:calc(50% + 102px)}.page-heading>.pill{display:none}}
@media(max-width:900px){:root{--sidebar:180px}.brand{gap:8px;font-size:21px}.brand-mark{width:35px;height:39px;font-size:25px}.brand-sub{font-size:6px}.sidebar{padding-inline:12px}.sidebar-label{font-size:8px;letter-spacing:.7px}.navigation a{font-size:12px;padding-inline:11px;gap:9px}.course-book{font-size:20px}.course-book span{font-size:7px;margin-left:4px}.sidebar-course p{font-size:9px}.page-heading h1{font-size:25px}.daily-hero{min-height:285px}.hero-copy h2{font-size:28px}.hero-copy p{font-size:10px}.hero-goal{width:165px}.goal-ring{width:136px;height:136px}.goal-ring strong{font-size:36px}.goal-ring strong span{font-size:17px}.goal-caption{font-size:9px}.goal-bottom{font-size:8px}.hero-actions{gap:12px}.hero-actions .button{font-size:11px;padding:12px}.hero-actions>.small{font-size:9px}.stat-card{padding:17px 12px;gap:7px}.stat-icon{display:none}.stat-card strong{font-size:26px}.stat-detail{font-size:8px}.deck-grid{gap:11px}.deck-card{padding:18px 13px 11px}.deck-card h3{font-size:16px}.deck-card p{font-size:9px}.deck-japanese{font-size:22px;letter-spacing:0}.green .deck-japanese{font-size:14px}.deck-meta{gap:10px;font-size:8px}.practice-layout{grid-template-columns:1fr}.practice-side{display:none}.word-japanese{flex-basis:40%;min-width:120px;font-size:16px}.word-expand{gap:10px}.word-status{font-size:8px}.word-meaning{font-size:11px}.word-row-main>.icon-button{width:30px}.vocabulary-panel{padding:20px}.progress-columns{grid-template-columns:1fr}.metric{padding:20px}.metric>span{font-size:10px}.metric small{font-size:9px;line-height:1.6;display:block}.activity-chart{gap:8px}.note-banner p{font-size:9px}.toast{left:calc(50% + 90px)}}
@media(max-width:680px){:root{--sidebar:0px}.sidebar{position:static;width:auto;height:auto;padding:16px 19px 13px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between;background:#faf9f4}.brand{font-size:24px;gap:10px}.brand-mark{width:36px;height:39px}.brand-sub{font-size:7px}.sidebar-label,.sidebar-course,.sidebar-bottom{display:none}.navigation{position:fixed;bottom:0;left:0;right:0;background:#faf9f4f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:6px 10px max(8px,env(safe-area-inset-bottom));z-index:50;box-shadow:0 -6px 25px #293a2610}.navigation a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 5px;font-size:9px;border-radius:9px;min-height:50px}.navigation a.active{background:#e9eddf;color:#56694d;box-shadow:none}.navigation a.active .icon{color:#637a55}.navigation .icon{width:19px;height:19px}.nav-count{display:none}.workspace{margin:0;padding-bottom:77px}.topbar{height:50px;padding:0 19px;font-size:10px}.topbar-right{gap:12px}.date-label{font-size:10px}.avatar{width:26px;height:26px;font-size:12px}.topbar .icon-button{width:28px;height:28px;padding:5px}.topbar .icon-button .icon{width:17px;height:17px}.path-divider{margin:0 8px}main{padding:25px 18px 10px;min-height:calc(100vh - 230px)}.page-heading{margin-bottom:22px;gap:12px;align-items:start}.page-heading h1{font-size:25px;letter-spacing:-.8px}.page-heading p{font-size:11px;line-height:1.7;max-width:320px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.page-heading>.button{font-size:10px;padding:10px;min-height:38px;white-space:nowrap}.page-heading>.button .icon{display:none}.daily-hero{min-height:310px}.hero-copy{padding:24px 21px;flex-basis:100%}.hero-copy .eyebrow{font-size:7px;letter-spacing:1px}.hero-copy h2{font-size:30px;letter-spacing:-1px;max-width:280px}.hero-copy p{max-width:220px;font-size:10px;line-height:1.9;margin-bottom:20px}.hero-goal{position:absolute;width:120px;right:10px;top:140px;bottom:0;justify-content:flex-start;padding-top:12px;pointer-events:none}.goal-ring{width:108px;height:108px}.goal-ring strong{font-size:29px;letter-spacing:-1px}.goal-ring strong span{font-size:14px}.goal-caption{font-size:8px}.goal-bottom{font-size:6px;letter-spacing:0;margin-top:4px}.sun-line{width:200px;height:200px;left:0;top:90px}.sun-line-two{left:0;top:99px;width:220px;height:220px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.hero-actions .button{font-size:11px;min-height:42px;padding:11px 14px;gap:8px}.hero-actions>.small{font-size:8px}.stats-grid{gap:8px;margin-top:12px}.stat-card{padding:15px 10px;border-radius:10px}.stat-label{font-size:8px;margin-bottom:8px}.stat-card strong{font-size:25px;gap:4px;flex-wrap:wrap}.stat-card strong small{font-size:8px}.stat-detail{font-size:7px;line-height:1.7;min-height:24px;margin-top:8px}.section-heading{margin:26px 0 15px}.section-heading h2{font-size:20px}.section-heading .eyebrow{font-size:7px;letter-spacing:1px}.text-link{font-size:10px}.deck-grid{grid-template-columns:1fr;gap:13px}.deck-card{padding:20px;position:relative;min-height:205px}.deck-top{margin-bottom:5px}.deck-japanese{font-size:28px;margin:13px 0 10px;min-height:auto}.green .deck-japanese{font-size:21px}.deck-card h3{font-size:19px;margin-bottom:7px}.deck-card p{font-size:10px;max-width:90%;min-height:0}.deck-meta{font-size:9px;margin-top:15px}.deck-bottom{font-size:9px}.deck-number{font-size:10px}.deck-card .pill{font-size:9px}.circle-button{width:33px;height:33px}.note-banner{gap:17px;padding:20px 4px;margin-top:23px}.note-banner strong{font-size:11px}.note-banner p{font-size:9px;line-height:1.8}.note-stamp{font-size:10px;padding:4px}.note-japanese{font-size:18px}.page-footer{padding:20px 19px;font-size:8px}.page-footer>span:last-child{font-size:7px}.practice-setup{padding:22px 17px}.mode-options{gap:9px}.mode-option{padding:16px 12px}.mode-option strong{font-size:12px}.mode-option>span:last-child{font-size:9px;line-height:1.8}.mode-icon{margin-bottom:12px}.step-label{font-size:8px}.setup-bottom{gap:18px}.setup-bottom select{font-size:10px}.topic-option{padding:13px 12px}.topic-option strong{font-size:12px}.topic-option small{font-size:9px}.topic-option>.small{font-size:9px}.topic-check{width:18px;height:18px}.study-container{padding-top:0}.session-top{margin-bottom:25px}.session-top .text-link{font-size:10px}.session-top .pill{font-size:9px}.flashcard{padding:17px 18px 28px;border-radius:17px;min-height:300px}.flashcard-meta{margin-bottom:23px}.card-front{font-size:34px;letter-spacing:1px;line-height:1.7}.card-front.russian{font-size:25px}.card-question{font-size:10px;margin-bottom:19px}.card-answer h2{font-size:19px}.card-answer h2[lang=ja]{font-size:26px}.word-note{font-size:10px}.example-box{padding:12px}.example-box>span{font-size:14px}.rating-grid{gap:6px}.rating-button{padding:17px 4px 13px;border-radius:9px}.rating-button strong{font-size:11px}.rating-button small{font-size:7px;line-height:1.5}.rating-caption{font-size:10px}.study-footnote{font-size:9px}.exercise-card{padding:25px 19px;border-radius:17px}.exercise-prompt{font-size:21px;line-height:1.6}.exercise-card>.eyebrow{font-size:8px}.exercise-instruction{font-size:10px;margin-bottom:21px}.japanese-input{font-size:20px;padding:16px 13px}.exercise-actions{gap:12px}.exercise-actions .button{font-size:11px;padding:12px 15px}.answer-option{font-size:13px;padding:13px 12px;gap:10px}.answer-feedback{padding:16px}.answer-feedback>p{font-size:11px}.feedback-title{font-size:12px}.summary-container{margin-top:5px}.summary-flower{width:140px;height:140px;font-size:62px;margin-bottom:26px}.summary-container h1{font-size:28px}.summary-container>p{font-size:11px}.summary-stats{padding:22px 8px}.summary-stats strong{font-size:29px}.summary-stats span{font-size:9px;line-height:1.6;padding:0 5px}.summary-note{font-size:11px}.summary-actions .button{font-size:11px}.vocabulary-panel{padding:18px 14px}.search-box{padding:0 11px;gap:8px}.search-box input{font-size:11px;padding:14px 0}.search-box .icon{width:17px;height:17px}.vocabulary-filters{gap:12px;margin-bottom:20px}.chip-row{gap:5px}.chip{font-size:9px;padding:7px 9px;min-height:32px}.list-count{font-size:10px}.list-count span{font-size:7px}.word-row-main{gap:2px;min-height:79px}.word-expand{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;align-items:center;padding:13px 0}.word-japanese{min-width:0;font-size:16px;overflow-wrap:anywhere;line-height:1.8}.word-japanese small{font-size:9px}.word-meaning{font-size:10px}.word-meaning small{font-size:8px;margin-top:3px}.word-status{font-size:7px;padding:3px 5px;justify-self:start;grid-column:2}.word-row-main>.icon-button{width:26px;padding:5px}.word-row-main>.icon-button .icon{width:15px;height:15px}.word-details{padding-bottom:16px;padding-right:0}.word-details>p{font-size:11px;line-height:1.9}.word-example{font-size:15px}.progress-metrics{gap:8px}.metric{padding:17px 11px;border-radius:11px}.metric>span{font-size:8px;line-height:1.6;display:block}.metric strong{font-size:29px;margin:12px 0 7px}.metric small{font-size:8px;line-height:1.7}.activity-panel{padding:22px 17px}.activity-panel .section-heading{gap:10px}.activity-panel h2{font-size:16px}.activity-panel .small{font-size:9px}.activity-legend{font-size:8px;white-space:nowrap}.activity-chart{gap:6px}.activity-column{font-size:8px}.bar-area{height:75px}.chart-caption{font-size:8px}.progress-columns{gap:16px;margin-top:16px}.progress-columns .panel{padding:22px 18px}.section-heading.compact h2{font-size:16px}.backup-panel{padding:20px 18px;gap:18px;margin-top:16px}.backup-panel>div:first-child{align-items:start;gap:11px}.backup-panel>div:first-child>.icon{width:18px;height:18px;margin-top:3px}.backup-panel p{font-size:9px;line-height:1.8}.backup-actions{width:100%;gap:8px}.backup-actions .button{flex:1;font-size:9px}.history-note{font-size:8px;line-height:1.8}.toast{left:50%;bottom:90px;font-size:11px;padding:12px 16px;max-width:calc(100% - 26px)}dialog{padding:25px 21px}.dialog-heading h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep instructional text legible against the paper palette. */
.word-note,.exercise-instruction,.input-hint,.field-help,.card-question,.paper-tip p,.deck-card p,.stat-detail,.page-heading p,.setup-hint,.study-footnote,.rating-caption,.summary-note,.summary-container>p,.word-details>p,.empty-state p{color:#6e7865}
.answer-feedback>p{color:#62734f}.answer-feedback.retry>p{color:#886b4d}
.mode-option>span:last-child,.topic-option small,.word-meaning small,.word-japanese small,.word-status,.metric small,.deck-meta,.deck-bottom,.list-count,.sidebar-course p{color:#748067}
.rating-button small{color:#73745e}
