:root{color:#25322e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--bg:#f8f9f6;--surface:#fff;--surface-soft:#f4f6f2;--ink:#25322e;--muted:#87918b;--line:#e9ede7;--green:#386653;--green-deep:#274c3d;--green-soft:#eaf2ed;--coral:#d4836e;--shadow:0 9px 30px #22372c0b;--sidebar:#fff;background:#f8f9f6;font-family:DM Sans,Noto Sans JP,sans-serif;font-weight:400}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #9bc8ae}#root,.app-shell{min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);z-index:5;flex-direction:column;width:246px;padding:29px 18px 17px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#304b3f;letter-spacing:-.8px;align-items:center;gap:10px;padding:0 12px;font-family:Manrope,sans-serif;font-size:21px;font-weight:800;display:flex}.brand-mark{color:#4a7762;background:#eaf2ed;border-radius:10px;place-items:center;width:30px;height:30px;display:grid}.brand-period{color:#ce866e}.side-label{letter-spacing:1.4px;color:#a3aca5;margin:48px 12px 12px;font-size:9px;font-weight:700}.side-nav{gap:5px;display:grid}.nav-item{color:#79847d;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;height:43px;padding:0 13px;font-size:13px;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--surface-soft);color:var(--ink)}.nav-item.active{color:#365f4b;background:#edf3ef;font-weight:600}.nav-count{color:#346047;text-align:center;background:#d9e9df;border-radius:6px;min-width:22px;height:21px;margin-left:auto;font-size:10px;font-weight:700;line-height:21px}.sidebar-bottom{margin-top:auto}.streak-card{background:#faf3ec;border:1px solid #f2e9dd;border-radius:10px;align-items:center;gap:10px;margin:0 2px 16px;padding:12px 10px;display:flex;position:relative}.streak-icon{color:#c57e53;background:#f6e4d5;border-radius:9px;place-items:center;width:33px;height:33px;display:grid}.streak-card strong,.streak-card span{display:block}.streak-card strong{color:#514b40;font-size:12px}.streak-card div:nth-child(2) span{color:#9b9185;margin-top:2px;font-size:10px}.streak-card .sparkle{color:#cf986e;margin-left:auto}.profile-row{border:0;border-top:1px solid var(--line);color:#738078;text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:13px 5px 3px;display:flex}.avatar{color:#a46c58;background:#f1e9e2;border-radius:50%;place-items:center;width:34px;height:34px;font-family:Noto Sans JP,sans-serif;display:grid}.profile-copy{flex:1}.profile-copy strong,.profile-copy span{display:block}.profile-copy strong{color:var(--ink);font-size:11px}.profile-copy span{color:var(--muted);margin-top:2px;font-size:10px}.main-area{max-width:1600px;min-height:100vh;margin-left:246px;padding:0 48px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:68px;display:flex}.breadcrumb{color:#a0a9a2;align-items:center;gap:9px;font-size:11px;display:flex}.breadcrumb svg{color:#b6beb8}.breadcrumb span{color:#52635a;font-weight:600}.top-actions{align-items:center;gap:16px;display:flex}.today{color:#728078;align-items:center;gap:8px;font-size:11px;display:flex}.today-dot,.local-dot{background:#7ba78b;border-radius:50%;width:7px;height:7px}.icon-btn{background:var(--surface);color:#78857c;border:1px solid var(--line);border-radius:8px;place-items:center;width:33px;height:33px;display:grid}.page{max-width:1100px;min-height:calc(100vh - 126px);margin:0 auto}.dashboard-page{padding:47px 0 38px}.welcome-row{justify-content:space-between;align-items:center;min-height:181px;display:flex}.eyebrow{color:#81938a;letter-spacing:1.65px;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.eyebrow-line{background:#bc947b;width:17px;height:1px;display:inline-block}.welcome-row h1,.page-heading h1,.review-finish h1{letter-spacing:-2.3px;color:#273832;margin:15px 0 9px;font-family:Manrope,Noto Sans JP,sans-serif;font-size:45px;font-weight:600;line-height:1.15}.welcome-row h1 em,.page-heading h1 em{color:#59816a;font-style:normal;font-weight:400}.welcome-sub,.page-heading p{color:#89938c;margin:0;font-size:13px}.flower-art{color:#6c8d75;place-items:center;width:160px;height:150px;margin-right:65px;display:grid;position:relative}.flower-art>span{z-index:1;opacity:.88;font-family:Noto Sans JP,sans-serif;font-size:76px;font-weight:400;transform:rotate(-9deg)}.art-orbit{border:1px solid #d9e5dc;border-radius:50%;position:absolute}.orbit-one{width:124px;height:124px}.orbit-two{border-style:dashed;border-color:#e6ece7;width:154px;height:154px}.overview-label{letter-spacing:1.5px;color:#9aa69d;align-items:center;gap:13px;margin-top:27px;margin-bottom:12px;font-size:9px;font-weight:700;display:flex}.overview-rule{background:var(--line);flex:1;height:1px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);height:132px;box-shadow:var(--shadow);border-radius:11px;padding:17px 17px 14px;position:relative;overflow:hidden}.stat-top{color:#818e86;justify-content:space-between;align-items:center;font-size:11px;display:flex}.stat-top svg{color:#a5afa8}.stat-number{color:#2e4037;letter-spacing:-1px;margin:13px 0 9px;font-family:Manrope,sans-serif;font-size:33px;font-weight:600;line-height:1}.stat-note{color:#99a29c;align-items:center;gap:6px;font-size:10px;display:flex}.stat-indicator{border-radius:50%;width:6px;height:6px}.coral{background:#d8957e}.due-card{border-color:#e4ebe4}.due-card .stat-top svg{color:#73927c}.card-accent{border:1px solid #e8eee8;border-radius:50%;width:76px;height:76px;position:absolute;bottom:-38px;right:-28px}.card-accent:after{content:"";border:1px solid #eef2ed;border-radius:50%;position:absolute;inset:9px}.dashboard-actions{align-items:center;gap:11px;margin:19px 0 29px;display:flex}.primary-button,.secondary-button{border-radius:8px;justify-content:center;align-items:center;gap:9px;font-size:12px;font-weight:600;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.primary-button{color:#fff;background:#37634e;border:1px solid #37634e;height:43px;padding:0 17px;box-shadow:0 4px 9px #355f4924}.primary-button:hover{background:#2d5642;transform:translateY(-1px)}.primary-button:disabled{opacity:.45;cursor:default;transform:none}.secondary-button{background:var(--surface);color:#53645a;border:1px solid #e1e7e1;height:41px;padding:0 14px}.secondary-button:hover{background:var(--surface-soft);border-color:#b9cbbc}.start-button{gap:13px;height:47px;padding:0 16px 0 8px;font-size:13px}.button-icon{background:#ffffff1f;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.start-button>svg{margin-left:12px}.action-hint{color:#a0aaa3;align-items:center;gap:6px;margin-left:6px;font-size:10px;display:flex}.action-hint svg{color:#b1bbb4}.lower-grid{grid-template-columns:1.65fr 1fr;gap:14px;display:grid}.panel,.quote-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:11px}.recent-panel{padding:18px 18px 6px}.panel-heading,.section-heading{justify-content:space-between;align-items:center;display:flex}.panel-heading h2,.section-heading h2{color:#33443a;letter-spacing:-.3px;margin:0;font-family:Manrope,sans-serif;font-size:15px}.panel-heading p,.section-heading p{color:#9aa39c;margin:4px 0 0;font-size:10px}.text-button{color:#61816d;background:0 0;border:0;align-items:center;gap:7px;font-size:10px;font-weight:600;display:inline-flex}.text-button:hover{color:#345b45}.recent-item{border-top:1px solid #f0f2ef;align-items:center;gap:13px;padding:12px 0;display:flex}.panel-heading+.recent-item{margin-top:10px}.recent-jp{color:#3a5747;background:#f4f6f2;border-radius:7px;place-items:center;width:40px;height:38px;font-family:Noto Sans JP,sans-serif;font-size:17px;display:grid}.recent-copy{flex:1;min-width:0}.recent-copy strong,.recent-copy span{display:block}.recent-copy strong{color:#49574e;font-size:11px;font-weight:600}.recent-copy span{color:#9aa49c;margin-top:3px;font-size:10px}.type-pill{color:#7d897f;background:#f2f4f0;border-radius:5px;align-items:center;padding:4px 8px;font-size:9px;font-weight:600;display:inline-flex}.type-pill.verb{color:#718454;background:#edf2e9}.type-pill.particle{color:#a67b5d;background:#f6eee8}.type-pill.grammar{color:#79769a;background:#eeeef5}.quote-card{background:#eff4ef;border-color:#e8eee8;min-height:180px;padding:23px 22px;position:relative;overflow:hidden}.quote-mark{color:#adc2b1;height:31px;font-family:Georgia,serif;font-size:48px;line-height:1}.quote-card blockquote{color:#42604c;letter-spacing:-.5px;margin:5px 0 13px;font-family:Manrope,sans-serif;font-size:20px;line-height:1.28}.quote-card>span{color:#91a195;letter-spacing:1.25px;font-size:8px;font-weight:700}.quote-jp{color:#e1eae1;font-family:Noto Sans JP,sans-serif;font-size:60px;font-weight:600;position:absolute;bottom:-13px;right:16px}.app-footer{border-top:1px solid var(--line);color:#a1aaa3;justify-content:space-between;align-items:center;max-width:1100px;height:58px;margin:0 auto;font-size:9px;display:flex}.app-footer i{color:#c7886e;font-style:normal}.app-footer>span:last-child{letter-spacing:1px;font-size:8px}.toast{color:#fff;z-index:10;background:#365f4b;border-radius:8px;max-width:min(390px,100vw - 32px);padding:12px 16px;font-size:12px;position:fixed;top:79px;right:32px;box-shadow:0 8px 30px #1c3c2b33}.mobile-nav{display:none}.review-page{max-width:760px;padding:24px 0 36px}.review-head{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.back-button{color:#839087;background:0 0;border:0;align-items:center;gap:3px;padding:7px 0;font-size:11px;display:flex}.progress-wrap{color:#829188;letter-spacing:1px;align-items:center;gap:11px;font-size:9px;font-weight:700;display:flex}.progress-wrap>span:last-child{color:#3e5f4b;letter-spacing:0}.progress-wrap i{color:#a6aea8;font-style:normal;font-weight:500}.progress-track{background:#e8eee8;border-radius:5px;width:115px;height:4px;overflow:hidden}.progress-fill{background:#71957c;height:100%;transition:width .2s}.review-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:27px 35px 29px}.review-card-top{justify-content:space-between;align-items:center;display:flex}.review-count{color:#abb4ad;letter-spacing:1px;font-size:9px}.prompt-label{text-align:center;color:#98a29a;margin:43px 0 7px;font-size:12px}.meaning-prompt{text-align:center;color:#2b3e33;letter-spacing:-1.7px;margin:0;font-family:Manrope,sans-serif;font-size:39px;font-weight:600}.meaning-prompt span{color:#a1b4a4}.prompt-helper{text-align:center;color:#a0aaa2;margin-top:11px;font-size:11px}.answer-form{max-width:440px;margin:29px auto 0;position:relative}.answer-form input{background:var(--bg);width:100%;height:49px;color:var(--ink);border:1px solid #e1e8e1;border-radius:8px;padding:0 85px 0 15px;font-family:Noto Sans JP,DM Sans,sans-serif;font-size:16px}.answer-form input::placeholder{color:#b6beb8;font-family:DM Sans,sans-serif;font-size:12px}.answer-form input:focus{border-color:#9fbcaa;outline:3px solid #e6f0e8}.input-language{color:#9aa79d;font-size:10px;position:absolute;top:16px;right:14px}.check-button{height:41px;margin:13px auto 0;padding:0 18px;display:flex}.answer-reveal{max-width:480px;margin:23px auto 0;animation:.2s rise}.answer-status{justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.is-correct .answer-status{color:#50835f}.is-wrong .answer-status{color:#bd806c}.answer-jp{text-align:center;color:#2d4537;margin-top:10px;font-family:Noto Sans JP,sans-serif;font-size:31px}.answer-reading{text-align:center;color:#8d9a90;margin-top:3px;font-size:11px}.example-box{background:#fafbf9;border:1px solid #edf0eb;border-radius:8px;margin-top:18px;padding:13px 15px}.example-box>span{color:#a1aaa2;letter-spacing:1.1px;font-size:8px;font-weight:700}.example-box>div{color:#38483e;margin-top:7px;font-family:Noto Sans JP,sans-serif;font-size:15px}.example-box p{color:#8e9991;margin:5px 0 0;font-size:10px}.rate-label{text-align:center;color:#a0aaa2;letter-spacing:1.2px;margin:22px 0 9px;font-size:8px;font-weight:700}.rating-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.rating-button{background:var(--surface);color:#57645a;border:1px solid #e8ece7;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:48px;display:flex}.rating-button strong{font-size:11px}.rating-button span{color:#9ca69e;font-size:9px}.rating-button:hover{background:#f7faf7;border-color:#c4d4c6}.rating-again:hover{background:#fff9f6;border-color:#e1b4a4}.keyboard-hint{text-align:center;color:#a5aea7;letter-spacing:.6px;margin-top:15px;font-size:9px}.keyboard-hint span{letter-spacing:0;margin-left:6px}.review-finish{text-align:center;max-width:500px;margin:70px auto}.finish-icon{color:#578064;background:#e8f1e9;border-radius:50%;place-items:center;width:59px;height:59px;margin:0 auto 22px;display:grid}.review-finish .eyebrow{justify-content:center}.review-finish h1{margin:12px 0 8px;font-size:38px}.review-finish>p{color:#8b968e;font-size:12px}.finish-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:27px 0 23px;padding:15px 0;display:grid}.finish-stats>div{flex-direction:column;gap:8px;display:flex}.finish-stats span{color:#9aa49c;font-size:9px}.finish-stats strong{color:#3e5145;justify-content:center;align-items:center;gap:4px;font-family:Manrope,sans-serif;font-size:21px;display:flex}.finish-stats .positive{color:#628e6a}.finish-stats .needs-work{color:#c58a71}.done-button{min-width:125px;margin:0 auto}.form-page,.library-page,.settings-page{padding:39px 0 42px}.page-heading{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-heading h1{margin:12px 0 7px;font-size:38px;line-height:1.17}.page-heading h1>span{color:#73907a}.page-heading p{font-size:12px}.close-page{border:1px solid var(--line);background:var(--surface);color:#78877c;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.item-form{background:var(--surface);border:1px solid var(--line);max-width:660px;box-shadow:var(--shadow);border-radius:11px;padding:22px 25px 18px}.form-section-title{color:#7a897f;letter-spacing:1.25px;border-bottom:1px solid #eff1ee;align-items:center;gap:10px;padding-bottom:13px;font-size:9px;font-weight:700;display:flex}.form-section-title>span{color:#bb8b72;letter-spacing:0;font-family:Manrope,sans-serif}.form-section-title i{color:#b0b8b1;letter-spacing:0;margin-left:auto;font-size:9px;font-weight:400}.field-label{color:#68766c;flex-direction:column;gap:7px;margin-top:14px;font-size:10px;font-weight:600;display:flex}.required{color:#ca826c}.field-label input,.field-label select,.field-label textarea{background:var(--bg);width:100%;color:var(--ink);border:1px solid #e5eae4;border-radius:7px;outline:none;padding:0 12px;font-size:12px;font-weight:400}.field-label input,.field-label select{height:39px}.field-label textarea{resize:vertical;min-height:66px;padding:10px 12px;font-family:Noto Sans JP,DM Sans,sans-serif}.field-label input::placeholder,.field-label textarea::placeholder{color:#b3bbb5}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:#9eb9a5}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.select-wrap,.filter-wrap{position:relative}.select-wrap select,.filter-wrap select{appearance:none;padding-right:32px}.select-wrap svg,.filter-wrap svg{color:#96a199;pointer-events:none;position:absolute;top:12px;right:12px}.form-section-second{margin-top:23px}.form-footer{border-top:1px solid #eef1ed;justify-content:space-between;align-items:center;margin-top:21px;padding-top:16px;display:flex}.form-footer>span{color:#9ba49c;font-size:9px}.form-footer .primary-button{height:39px;font-size:11px}.library-heading{align-items:center;margin-bottom:25px}.library-toolbar{gap:10px;margin-bottom:16px;display:flex}.search-box{border:1px solid var(--line);background:var(--surface);color:#9aa59c;border-radius:8px;flex:1;align-items:center;gap:9px;height:41px;padding:0 11px;display:flex}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:11px}.search-box input::placeholder{color:#aab3ac}.search-shortcut{border:1px solid var(--line);color:#a7b0a9;border-radius:4px;padding:3px 5px;font-size:9px}.filter-wrap select{border:1px solid var(--line);background:var(--surface);color:#65746a;border-radius:8px;min-width:118px;height:41px;padding:0 31px 0 11px;font-size:10px}.filter-wrap svg{top:14px;right:10px}.library-table{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.table-head,.table-row{grid-template-columns:1.12fr 1.35fr .72fr .82fr .58fr;align-items:center;gap:12px;padding:0 18px;display:grid}.table-head{border-bottom:1px solid var(--line);letter-spacing:1px;color:#a0aaa2;background:#fafbf9;height:39px;font-size:8px;font-weight:700}.table-row{border-bottom:1px solid #f0f2ef;min-height:65px}.table-row:last-child{border-bottom:0}.table-japanese strong,.table-japanese span,.table-meaning strong,.table-meaning span{display:block}.table-japanese strong{color:#3d5747;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:500}.table-japanese span{color:#9aa49c;margin-top:3px;font-size:9px}.table-meaning strong{color:#56645b;font-size:11px;font-weight:600}.table-meaning span{color:#a1aaa3;white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin-top:4px;font-family:Noto Sans JP,sans-serif;font-size:9px;overflow:hidden}.next-review{color:#8e9990;font-size:10px}.next-review.is-due{color:#b77661;font-weight:600}.row-actions{justify-content:flex-end;gap:6px;display:flex}.row-actions button{color:#9aa49c;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;width:27px;height:27px;display:grid}.row-actions button:hover{border-color:var(--line);background:var(--surface-soft);color:#496853}.row-actions button:last-child:hover{color:#bc7868}.library-empty{color:#a6afa7;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;display:flex}.library-empty strong{color:#69776d;font-size:12px}.library-empty span{font-size:10px}.library-footer{color:#9ba59d;justify-content:space-between;align-items:center;padding:12px 3px;font-size:9px;display:flex}.library-footer .text-button{font-size:9px}.empty-inline{color:#98a29a;padding:20px 0 13px;font-size:11px}.settings-page{max-width:850px}.settings-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px;padding:0 22px}.settings-section{border-bottom:1px solid #eef1ed;align-items:center;gap:13px;min-height:78px;display:flex}.settings-section:last-child{border-bottom:0}.settings-symbol{color:#73917a;background:#f1f5f1;border-radius:8px;place-items:center;width:35px;height:35px;display:grid}.settings-copy{flex:1}.settings-copy strong,.settings-copy span{display:block}.settings-copy strong{color:#435249;font-size:11px;font-weight:600}.settings-copy span{color:#9ba59d;margin-top:4px;font-size:10px}.toggle{background:#dce2dd;border:0;border-radius:12px;width:36px;height:20px;padding:2px;transition:background .15s}.toggle span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;display:block;box-shadow:0 1px 3px #293b2e22}.toggle.on{background:#6f9679}.toggle.on span{transform:translate(16px)}.settings-value{color:#8e9990;min-width:35px;font-size:10px}.setting-button{height:32px;font-size:10px}.progress-card{margin-top:17px;padding-top:18px;padding-bottom:18px}.progress-badge{color:#b4815b;background:#f9f2e9;border-radius:6px;align-items:center;gap:6px;padding:6px 9px;font-size:9px;font-weight:600;display:flex}.progress-metrics{border-top:1px solid #eef1ed;grid-template-columns:repeat(3,1fr);margin-top:19px;padding-top:16px;display:grid}.progress-metrics div{flex-direction:column;gap:6px;display:flex}.progress-metrics span{color:#9ba59d;font-size:9px}.progress-metrics strong{color:#46594c;font-family:Manrope,sans-serif;font-size:21px}.local-note{color:#98a39a;align-items:center;gap:8px;margin-top:16px;font-size:10px;display:flex}.local-dot{background:#83a68a}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171c19;--surface:#202722;--surface-soft:#28322b;--ink:#e3e9e3;--muted:#a0aba1;--line:#303a32;--green:#95b69d;--green-deep:#b2cbb8;--green-soft:#2b3c30;--shadow:0 9px 30px #00000026;--sidebar:#1d241f}html[data-theme=dark] .brand{color:#d4e1d6}html[data-theme=dark] .brand-mark,html[data-theme=dark] .settings-symbol{color:#a0c1a6;background:#2e3b31}html[data-theme=dark] .nav-item.active{color:#afd0b5;background:#2b3930}html[data-theme=dark] .streak-card{background:#332a23;border-color:#49382e}html[data-theme=dark] .streak-card strong{color:#e5d4c4}html[data-theme=dark] .welcome-row h1,html[data-theme=dark] .page-heading h1,html[data-theme=dark] .review-finish h1,html[data-theme=dark] .meaning-prompt{color:#e2eae3}html[data-theme=dark] .stat-number,html[data-theme=dark] .panel-heading h2,html[data-theme=dark] .section-heading h2,html[data-theme=dark] .table-japanese strong{color:#d0e1d3}html[data-theme=dark] .quote-card{background:#28352b;border-color:#334437}html[data-theme=dark] .quote-card blockquote{color:#c0d7c3}html[data-theme=dark] .quote-jp{color:#34493a}html[data-theme=dark] .table-head{background:#242c26}html[data-theme=dark] .recent-jp{color:#c4d9c7;background:#2c372e}html[data-theme=dark] .example-box{background:#252e28;border-color:#364039}html[data-theme=dark] .example-box>div{color:#cfddd1}html[data-theme=dark] .toggle{background:#58625a}html[data-theme=dark] .toggle.on{background:#70977b}html[data-theme=dark] .progress-badge{color:#e4ad7b;background:#3d3127}html[data-theme=dark] .finish-icon{color:#aad0b0;background:#2b3c30}html[data-theme=dark] .rating-button:hover{background:#29352c;border-color:#526d57}html[data-theme=dark] .rating-again:hover{background:#3a2e28}@media (width>=1500px){.main-area{padding-left:60px;padding-right:60px}.dashboard-page{padding-top:57px}.welcome-row{min-height:199px}.stats-grid{gap:16px}.stat-card{height:143px;padding:20px}.stat-number{margin:17px 0 12px}.lower-grid{gap:18px}.recent-panel{padding:21px 21px 8px}.quote-card{min-height:196px}}@media (width<=1000px){.sidebar{width:215px}.main-area{margin-left:215px;padding:0 30px}.flower-art{margin-right:15px}.table-head,.table-row{grid-template-columns:1fr 1.1fr .7fr .75fr .46fr;gap:8px;padding:0 12px}.type-pill{padding:4px 6px;font-size:8px}}@media (width<=760px){.sidebar{display:none}.main-area{margin-left:0;padding:0 22px 78px}.topbar{height:57px}.top-actions{gap:10px}.page{min-height:calc(100vh - 128px)}.dashboard-page{padding-top:33px}.welcome-row{min-height:154px}.welcome-row h1{font-size:37px}.flower-art{width:105px;height:110px;margin:0 2px 0 0}.flower-art>span{font-size:56px}.orbit-one{width:94px;height:94px}.orbit-two{width:114px;height:114px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{height:119px;padding:15px}.stat-number{margin:11px 0 7px;font-size:29px}.dashboard-actions{flex-wrap:wrap}.action-hint{width:100%;margin-left:3px}.lower-grid{grid-template-columns:1fr}.quote-card{min-height:155px}.quote-card blockquote br{display:none}.app-footer{height:51px}.mobile-nav{z-index:8;height:62px;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;align-items:center;display:flex;position:fixed;inset:auto 0 0}.mobile-nav button{color:#98a39a;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:58px;height:52px;font-size:9px;display:flex}.mobile-nav button.active{color:#477456}.mobile-nav button.active span{font-weight:600}.form-page,.library-page,.settings-page{padding-top:29px}.review-page{padding-top:17px}.review-card{padding:21px 20px}.review-head{margin-bottom:17px}.progress-track{width:72px}.prompt-label{margin-top:35px}.meaning-prompt{font-size:33px}.answer-form{margin-top:24px}.app-footer>span:last-child{font-size:7px}.table-head{display:none}.library-toolbar{margin-top:4px}.table-row{grid-template-columns:1fr auto;gap:7px 12px;padding:12px 14px;position:relative}.table-japanese{grid-area:1/1}.table-meaning{grid-area:2/1}.table-row>div:nth-child(3){grid-area:1/2;justify-self:end;margin-right:68px}.table-row>div:nth-child(4){grid-area:2/2;justify-self:end;margin-right:68px}.row-actions{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.row-actions button{width:26px}.table-meaning span{max-width:48vw}.library-heading .primary-button{height:37px;padding:0 10px;font-size:10px}.library-heading h1{font-size:33px}.settings-card{padding:0 14px}.settings-section{gap:9px}.settings-copy span{max-width:260px;line-height:1.45}.setting-button{padding:0 8px}.progress-metrics strong{font-size:18px}}@media (width<=430px){.main-area{padding-left:16px;padding-right:16px}.welcome-row h1{font-size:33px}.welcome-sub{font-size:11px}.flower-art{width:84px}.overview-label{margin-top:19px}.stat-card{height:110px;padding:12px}.stat-top{font-size:10px}.stat-number{font-size:27px}.stat-note{font-size:9px}.dashboard-actions{gap:8px}.start-button{gap:8px;font-size:11px}.start-button>svg{margin-left:3px}.secondary-button{padding:0 10px;font-size:10px}.recent-panel{padding:15px 13px 4px}.recent-item{gap:8px}.type-pill,.app-footer{font-size:8px}.app-footer>span:last-child{letter-spacing:.5px}.page-heading h1{font-size:33px}.form-row{grid-template-columns:1fr;gap:0}.item-form{padding:18px 15px 14px}.form-section-title i{display:none}.library-toolbar{gap:6px}.search-box{gap:6px;padding:0 8px}.search-box input{font-size:10px}.search-shortcut{display:none}.filter-wrap select{min-width:94px;font-size:9px}.review-card{padding:19px 14px}.progress-wrap{gap:6px;font-size:8px}.progress-track{width:45px}.meaning-prompt{font-size:30px}.rating-row{gap:5px}.rating-button strong{font-size:10px}.rating-button span,.finish-stats span{font-size:8px}.settings-copy span{font-size:9px}.settings-symbol{flex:none;width:31px;height:31px}.settings-copy strong{font-size:10px}.setting-button{font-size:9px}}.rating-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.rating-very-easy:hover{background:#f2f8f2;border-color:#b8d2bb}@media (width<=430px){.rating-row{gap:4px}.rating-button strong{font-size:9px}.rating-button span{font-size:7px}}.duplicate-warning{color:#aa604e;background:#fff6f2;border:1px solid #f0d4cb;border-radius:7px;margin:-5px 0 12px;padding:9px 11px;font-size:11px;line-height:1.45}html[data-theme=dark] .duplicate-warning{color:#e4a08a;background:#392b27;border-color:#5d3e34}.quick-check-page .progress-wrap>span:first-child{align-items:center;gap:5px;display:flex}.quick-japanese{letter-spacing:0!important;font-family:Noto Sans JP,sans-serif!important;font-size:48px!important}.quick-meaning{text-align:center;color:#3d5747;margin-top:12px;font-size:18px;font-weight:600;line-height:1.5}.quick-next{margin:16px auto 0}.quick-check-page .finish-stats{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-theme=dark] .quick-meaning{color:#c4d9c7}@media (width<=760px){.quick-japanese{font-size:40px!important}}@media (width<=430px){.quick-japanese{font-size:34px!important}.quick-meaning{font-size:16px}}.shutdown-card{border-color:#f0ddd7;margin-top:16px}.shutdown-symbol{color:#bd7868;background:#fbefeb}.stop-button{color:#a96554;border-color:#ead0c8}.stop-button:hover{background:#fff7f4;border-color:#d6a092}.stop-button:disabled{cursor:default;opacity:.7}.shutdown-overlay{z-index:30;background:var(--bg);text-align:center;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.shutdown-message{max-width:420px}.shutdown-icon{color:#bd7868;background:#fbefeb;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 18px;display:grid}.shutdown-message h1{color:var(--ink);letter-spacing:-1px;margin:0;font-family:Manrope,Noto Sans JP,sans-serif;font-size:30px}.shutdown-message p{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.55}html[data-theme=dark] .shutdown-symbol,html[data-theme=dark] .shutdown-icon{color:#e4a08a;background:#392b27}html[data-theme=dark] .shutdown-card{border-color:#49332d}html[data-theme=dark] .stop-button{color:#e4a08a;border-color:#654339}html[data-theme=dark] .stop-button:hover{background:#392b27;border-color:#805242}.form-heading-actions{align-items:center;gap:9px;display:flex}.bulk-toggle{height:35px;padding:0 11px;font-size:10px}.bulk-form{width:100%;max-width:760px}.bulk-help{color:#8e9991;margin:13px 0 0;font-size:11px;line-height:1.6}.bulk-label{margin-top:12px}.bulk-label textarea{tab-size:2;min-height:255px;font-size:12px;line-height:1.75}.bulk-summary{color:#94a097;justify-content:space-between;align-items:center;margin-top:12px;font-size:10px;display:flex}.bulk-summary strong{color:#477154;font-size:12px}.bulk-footer{border-top:1px solid #eef1ed;justify-content:space-between;align-items:center;margin-top:17px;padding-top:15px;display:flex}.bulk-footer .primary-button{height:39px;font-size:11px}.bulk-footer .secondary-button{height:36px}.dashboard-actions .secondary-button{white-space:nowrap}html[data-theme=dark] .bulk-summary strong{color:#aed1b1}@media (width<=430px){.form-heading-actions{gap:6px}.bulk-toggle{padding:0 8px;font-size:9px}.bulk-summary{flex-direction:column;align-items:flex-start;gap:8px}.bulk-label textarea{min-height:220px}.dashboard-actions .secondary-button{padding:0 8px;font-size:9px}}@media (width<=760px){body{overflow-x:hidden}.main-area{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.page{width:100%}.topbar{gap:8px}.breadcrumb{white-space:nowrap;min-width:0}.top-actions{flex-shrink:0}.today{white-space:nowrap}.mobile-nav{height:calc(62px + env(safe-area-inset-bottom));padding:4px 5px env(safe-area-inset-bottom);justify-content:space-around;align-items:stretch;display:flex}.mobile-nav button{touch-action:manipulation;flex:1 1 0;min-width:0;height:100%;padding:3px 0}.dashboard-actions .start-button{flex:100%;min-height:48px}.dashboard-actions .secondary-button,.library-heading .primary-button,.form-heading-actions .secondary-button,.close-page{min-height:44px}.library-toolbar{align-items:stretch}.search-box{min-width:0}.table-row{min-height:72px}.table-meaning{min-width:0}.table-meaning span{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.4;display:-webkit-box;overflow:hidden}.row-actions{gap:2px}.row-actions button{width:34px;height:38px}.field-label input,.field-label select,.field-label textarea,.search-box input{font-size:16px}.field-label input,.field-label select{min-height:44px}.field-label textarea{min-height:88px}.settings-card{padding-inline:13px}.settings-section{grid-template-columns:36px minmax(0,1fr) auto auto;gap:10px;padding:12px 0;display:grid}.settings-copy{min-width:0}.settings-copy span{max-width:none;line-height:1.45}.setting-button{white-space:nowrap;min-height:40px}.local-note{align-items:flex-start;line-height:1.5}.finish-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px}.prompt-label{margin-top:26px}.answer-form{margin-top:18px}.answer-reveal{margin-top:16px}.answer-jp{margin-top:6px;font-size:29px}.example-box{margin-top:12px;padding:10px}.rate-label{margin:14px 0 8px}.rating-button{height:44px}}@media (width<=380px){.main-area{padding-left:13px;padding-right:13px}.flower-art>span{font-size:50px}.orbit-one{width:80px;height:80px}.orbit-two{width:96px;height:96px}.today{gap:5px;font-size:9px}.top-actions{gap:6px}.breadcrumb{gap:5px;font-size:10px}.review-card{padding-left:11px;padding-right:11px}.rating-row{gap:3px}.rating-button{min-width:0;padding-inline:1px}.rating-button strong{font-size:8px}.rating-button span{font-size:7px}.table-row{gap:7px 8px;padding-left:10px;padding-right:8px}.table-row>div:nth-child(3){margin-right:72px}.row-actions{right:5px}.row-actions button{width:31px}.settings-section{grid-template-columns:32px minmax(0,1fr) auto auto;gap:7px}.settings-symbol{width:32px;height:32px}.setting-button{gap:5px;padding-inline:7px;font-size:9px}}@media (width<=760px){.duplicate-warning{font-size:12px}}
