:root{color-scheme:light;--bg:#fcfcfb;--surface:#fff;--muted-surface:#f7f7f5;--text:#262626;--muted:#797979;--line:#eae9e6;--accent:#ca715d;--accent-dark:#b65d4c;--accent-soft:#fcf0ec;--success:#3e866a;--success-soft:#e8f4ee;--danger:#be5a5a;--shadow:0 12px 28px rgba(32,31,29,.035);--radius:19px;--ui:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;--jp:'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans CJK JP','Noto Sans JP',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--ui);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,input{outline-offset:3px}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid rgba(202,113,93,.4)}a{color:inherit}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:27px;line-height:1.15;letter-spacing:-.7px;margin:0;font-weight:760}h2{font-size:20px;letter-spacing:-.45px;line-height:1.3;margin-bottom:8px}small{font-size:12px}.muted{color:var(--muted)}.smallprint{font-size:12px;color:var(--muted);line-height:1.55}.eyebrow{font-size:10px;font-weight:800;color:var(--accent-dark);letter-spacing:1.7px}.subtitle{font-size:14px;color:var(--muted);margin:7px 0 24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.app-shell{min-height:100svh;max-width:1440px;margin:0 auto;display:flex}.nav{position:sticky;top:0;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:238px;min-width:238px;height:100svh;padding:37px 14px 20px 17px;border-right:1px solid var(--line);background:#fff}.nav-brand{display:flex;align-items:center;gap:10px;padding:0 17px 34px;font:700 32px var(--jp);color:var(--accent)}.nav-brand span{font:800 17px var(--ui);letter-spacing:2.7px;color:var(--text)}.nav-item{background:transparent;border:0;border-radius:12px;display:flex;align-items:center;gap:15px;text-align:left;padding:13px 16px;color:#858585;transition:background .14s,color .14s}.nav-item:hover{background:#faf7f5;color:var(--accent-dark)}.nav-item.active{color:var(--accent-dark);background:var(--accent-soft);font-weight:700}.main{width:100%;min-width:0;max-width:1100px;margin:0 auto;padding:33px clamp(24px,4.5vw,72px) 110px}.page-content{max-width:760px;margin:0 auto}.topbar{max-width:760px;margin:0 auto 19px;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.top-left,.top-actions{display:flex;align-items:center;gap:13px}.top-actions{gap:9px}.icon-button{border:1px solid var(--line);background:#fff;color:var(--text);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.icon-button:hover{background:var(--accent-soft);color:var(--accent)}.top-left .icon-button{margin-right:2px}.sync-status{border:0;background:transparent;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;padding:9px 3px;white-space:nowrap}.sync-dot{display:inline-block;height:7px;width:7px;border-radius:50%;background:#b9b9b9}.sync-status.ok .sync-dot{background:var(--success)}.sync-status.busy .sync-dot{background:#e4a24e}.sync-status.error .sync-dot{background:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-align:center;border-radius:11px;padding:13px 18px;min-height:47px;font-weight:700;font-size:14px;border:1px solid transparent;text-decoration:none;transition:background .15s,transform .1s}.btn:active{transform:scale(.985)}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-dark)}.btn.secondary{background:var(--muted-surface);color:var(--text);border-color:var(--line)}.btn.secondary:hover{background:#f0ece8}.btn.ghost{background:transparent;color:var(--muted)}.btn.full{width:100%;margin-top:14px}.link,.inline-link{display:inline-flex;gap:5px;align-items:center;border:0;background:transparent;color:var(--accent-dark);font-weight:650;text-decoration:none}.inline-link{padding:0;display:inline;text-decoration:underline}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:26px 0 13px}.section-heading h2{margin:0}.section-heading.small{margin:25px 0 14px;color:var(--muted);font-size:13px}.section-title{font-size:15px;margin:24px 0 12px}.hero{min-height:223px;padding:27px 28px;display:flex;position:relative;overflow:hidden}.hero-copy{max-width:55%;z-index:2}.hero h2{font-size:27px;margin:10px 0 7px;letter-spacing:-1px}.hero p{color:var(--muted);max-width:250px;line-height:1.5;margin:0 0 18px}.hero-art{position:absolute;width:52%;height:100%;right:0;bottom:0;object-fit:cover}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:15px 0}.stat{padding:20px 19px;display:flex;flex-direction:column;min-height:105px;justify-content:center}.stat b{font-size:29px;letter-spacing:-1px;line-height:1.1;margin-bottom:8px}.stat span{font-size:12px;color:var(--muted)}.progress-card{padding:21px}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.spread p{color:var(--muted);font-size:12px;margin:3px 0 0}.pill{display:inline-flex;align-items:center;justify-content:center;background:#f2f2f1;border-radius:100px;padding:5px 11px;color:#777;font-size:11px;font-weight:600;white-space:nowrap}.pill.peach{background:var(--accent-soft);color:var(--accent-dark)}.pill.sage{background:var(--success-soft);color:var(--success)}.bar{height:7px;background:#ebebea;border-radius:10px;overflow:hidden;display:block;margin-top:20px;width:100%}.bar>span{height:100%;background:var(--accent);border-radius:10px;display:block;transition:width .25s}.bar.tiny{height:6px;margin-top:10px}.labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:8px}.prepare-preview{display:grid;gap:10px}.mini-kanji{width:100%;display:flex;align-items:center;gap:17px;padding:12px 18px;text-align:left}.mini-kanji .kanji-glyph{font-size:37px}.mini-kanji span:nth-child(2){flex:1}.mini-kanji small{display:block;color:var(--muted)}.hint-box,.notice{display:flex;align-items:flex-start;gap:12px;color:var(--muted);background:#f7f7f5;border:1px solid #ededeb;border-radius:13px;padding:15px;margin-top:20px;font-size:12px}.notice{background:#fcf5ef;border-color:#f4e9df;color:#765f50}.notice svg,.hint-box svg{color:var(--accent);margin-top:1px}.searchbar{display:flex;gap:12px;align-items:center;border-radius:18px;background:#f4f4f3;padding:4px 12px 4px 18px;color:var(--muted);margin:24px 0 18px}.searchbar input{flex:1;background:transparent;border:0;min-height:49px;min-width:0;outline:none;font-size:14px;color:var(--text)}.searchbar .icon-button{border:0;background:#fff;height:36px;width:36px}.chips{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding-bottom:4px}.chip{border:1px solid transparent;background:#f4f4f3;color:#666;border-radius:100px;padding:8px 13px;white-space:nowrap;font-size:12px}.chip.selected{background:var(--accent);color:#fff}.kanji-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}.kanji-row{display:flex;align-items:center;gap:15px;text-align:left;padding:15px;min-width:0}.kanji-row:hover,.mini-kanji:hover{border-color:#e4bcaf}.kanji-glyph,.kanji-small,.giant-kanji,.question-display,.word-row>strong{font-family:var(--jp);line-height:1.2}.kanji-row .kanji-glyph{font-size:52px;font-weight:500;min-width:57px;text-align:center}.kanji-row .row-details{min-width:0;flex:1}.row-details .spread{align-items:center}.row-details .spread strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-details .muted{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.tag{font-style:normal;font-size:10px;color:var(--success);background:#eaf4ee;padding:3px 6px;border-radius:5px}.tag.new{color:var(--accent);background:var(--accent-soft)}.kanji-head{display:flex;flex-direction:column;align-items:center;text-align:center;padding:9px 0 24px}.giant-kanji{font-size:114px;line-height:1.1;margin:4px 0 9px;font-weight:500}.kanji-head strong{font-size:15px}.kanji-head p{color:var(--muted);margin:4px 0 12px}.kanji-head.compact .giant-kanji{font-size:100px}.mastery-card{padding:21px}.mastery-card .bar{margin-top:14px}.mastery-card p{font-size:12px;color:var(--muted);margin:12px 0 0}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:13px}.reading-grid .card{padding:21px;display:flex;flex-direction:column;gap:10px}.reading-grid small{color:var(--muted);font-size:10px;letter-spacing:1px}.reading-grid strong{font-size:19px;font-family:var(--jp)}.word-list{display:grid;gap:10px}.word-row{display:flex;align-items:center;gap:20px;padding:17px}.word-row>strong{font-size:25px;min-width:95px}.word-row span{display:flex;flex-direction:column}.word-row span b{font-size:13px}.word-row small{color:var(--muted)}.suggestion{display:flex;align-items:center;gap:17px;padding:16px;cursor:pointer}.suggestion input{accent-color:var(--accent);height:17px;width:17px}.suggestion-body{display:flex;flex-direction:column}.suggestion-body strong{font-family:var(--jp);font-size:22px}.suggestion-body small{color:var(--muted)}.mini-form{padding:18px;display:grid;gap:10px}.mini-form input{border:1px solid var(--line);border-radius:9px;padding:12px;width:100%;min-width:0}.mini-form .btn{margin-top:5px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{min-height:144px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;color:var(--text)}.mode-card svg{color:var(--accent)}.mode-card strong{font-size:15px}.mode-card small{color:var(--muted);text-align:center}.mode-card.selected{border-color:var(--accent);background:#fff9f7}.segmented{display:flex;gap:9px}.segment{flex:1;border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:13px 5px;min-width:0;color:var(--text);font-size:13px}.segment.active{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft);font-weight:750}.custom-count{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:12px;margin-top:12px}.custom-count input{width:85px;border:1px solid var(--line);padding:7px;border-radius:8px}.option-list{padding:17px 20px;display:flex;flex-direction:column;gap:13px}.option-list label{display:flex;align-items:center;gap:12px;font-size:14px}.option-list input{accent-color:var(--accent);width:17px;height:17px}.sticky-cta{margin-top:29px!important}.quiz-container{max-width:580px;margin:0 auto}.quiz-progress{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.quiz-bar{height:6px;margin-top:10px}.quiz-badges{display:flex;justify-content:space-between;margin:23px 0 17px}.question-panel{text-align:center;min-height:217px;display:flex;align-items:center;justify-content:center;flex-direction:column}.question-display{font-size:126px;line-height:1.25;color:#111;letter-spacing:-3px}.question-display.context-display{font-size:29px;letter-spacing:0;line-height:1.8;margin:20px 0;font-weight:600}.question-panel h2{font-size:20px;margin:12px 0 3px}.question-panel p{color:var(--muted);margin:2px 0 15px;font-size:13px}.answer-list{display:grid;gap:11px;margin:6px 0 20px}.answer{display:flex;text-align:left;gap:16px;align-items:center;width:100%;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);min-height:62px;padding:14px 16px;font-size:15px}.answer:not(:disabled):hover{border-color:#dca18e}.answer.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.answer.correct{background:var(--success-soft);border-color:#a6ceb7;color:#245d45}.answer.wrong{background:#fbedea;border-color:#daa79c;color:#a6473a}.answer-letter{background:#f6f5f3;border-radius:100px;min-width:29px;height:29px;display:grid;place-items:center;font-size:12px;font-weight:750;color:#777}.answer.correct .answer-letter{background:#cce9d9;color:#245d45}.answer span:nth-child(2){flex:1}.quiz-actions{display:flex;gap:10px;margin-top:14px}.quiz-actions .btn{flex:1}.time-hint{color:var(--accent);font-size:12px;margin-bottom:10px;min-height:17px}.feedback{padding:18px 20px;margin:18px 0 3px}.feedback-heading{font-weight:750;font-size:16px}.feedback p{margin:7px 0;color:#626262;line-height:1.6}.feedback-heading.right,.right{color:var(--success)}.wrong-text{color:var(--danger)}.feedback-heading.skip{color:var(--muted)}.correct-line{font-size:12px;border-top:1px solid var(--line);padding-top:10px}.text-button{background:transparent;border:0;color:var(--muted);padding:9px}.result-hero{text-align:center;padding:42px 24px}.result-symbol{height:60px;width:60px;border-radius:100px;background:var(--success-soft);color:var(--success);display:grid;place-items:center;margin:0 auto 18px}.result-hero h2{font-size:25px;margin:10px 0}.result-hero p{font-size:13px;color:var(--muted)}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.result-grid>div{border:1px solid var(--line);border-radius:12px;padding:15px 5px;display:flex;flex-direction:column}.result-grid strong{font-size:25px}.result-grid small{color:var(--muted)}.review-list{padding:5px 18px}.review-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.review-row:last-child{border:0}.review-row>span:nth-child(2){flex:1}.review-row small{display:block;color:var(--muted);margin-top:3px}.review-kanji{font:600 25px var(--jp)}.import-header{padding:29px;display:flex;align-items:center;text-align:center;flex-direction:column;gap:9px}.import-header h2{font-size:24px;margin:4px 0 0}.import-header p{font-size:14px;max-width:340px;color:var(--muted)}.import-header small{color:var(--muted)}.circle-icon{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:50%;width:55px;height:55px}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.image-card{overflow:hidden}.image-card img{width:100%;height:180px;object-fit:contain;background:#f1f1ef}.image-card>div{padding:12px}.image-card b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-card small{display:block;color:var(--muted);margin-top:4px}.empty{text-align:center;padding:30px;color:var(--muted);font-size:14px}.level-list{padding:6px 16px}.level-row{display:flex;align-items:center;gap:16px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);width:100%;padding:13px 5px}.level-row:last-child{border:0}.level-row>div{flex:1}.level-row b{font-size:13px}.level-row em{font-style:normal;color:var(--muted);font-size:12px}.kanji-small{font-size:30px}.settings-card{padding:23px;margin-bottom:14px}.settings-card h2{margin-bottom:14px}.settings-card p{font-size:13px;color:#686868}.settings-card code{font-size:11px;overflow-wrap:anywhere;color:#555;background:#f5f4f3;border-radius:3px;padding:3px}.secret-box{padding:15px;border:1px dashed var(--accent);background:#fff9f7;border-radius:10px;display:grid;gap:10px}.secret-box code{user-select:all;word-break:break-all}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:13px 19px;border-radius:12px;background:#31302f;color:#fff;z-index:100;max-width:min(92vw,580px);font-size:13px;box-shadow:0 12px 40px #0002}.toast.error{background:#9a403a}.toast.success{background:#29674b}
@media(max-width:880px){.nav{min-width:195px;width:195px}.main{padding:26px 28px 95px}.kanji-list{grid-template-columns:1fr}}
@media(max-width:650px){.app-shell{display:block}.nav{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;min-width:0;height:calc(70px + env(safe-area-inset-bottom));flex-direction:row;align-items:flex-start;justify-content:space-around;gap:0;padding:8px 5px calc(8px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);z-index:40;box-shadow:0 -7px 20px #00000006}.nav-brand{display:none}.nav-item{flex-direction:column;gap:2px;padding:3px 5px;min-width:63px;min-height:49px;border-radius:9px;font-size:10px}.nav-item svg{width:19px;height:19px}.nav-item.active{background:transparent}.main{padding:22px 18px calc(102px + env(safe-area-inset-bottom))}.page-content,.topbar{max-width:450px}.topbar{margin-bottom:15px}.topbar h1{font-size:25px}.sync-status{font-size:0;gap:0;padding:12px}.sync-dot{height:9px;width:9px}.subtitle{margin:4px 0 20px}.hero{padding:22px 17px;min-height:202px}.hero-copy{max-width:65%}.hero h2{font-size:23px}.hero p{font-size:12px;margin-bottom:19px}.hero .btn{padding:10px 11px;min-height:42px;font-size:12px}.hero-art{width:58%;right:-34px;opacity:.8}.stat{padding:16px 14px;min-height:105px}.stat b{font-size:27px}.stat span{font-size:11px}.section-heading{margin-top:24px}.kanji-list{grid-template-columns:1fr}.mode-card{min-height:140px;padding:13px 8px}.mode-card small{font-size:11px}.question-display{font-size:107px}.question-display.context-display{font-size:22px;letter-spacing:0;line-height:1.8}.question-panel{min-height:188px}.answer{min-height:61px;padding:11px 13px;font-size:14px}.image-grid{grid-template-columns:1fr 1fr;gap:9px}.image-card img{height:130px}.result-hero{padding:29px 19px}.toast{bottom:calc(85px + env(safe-area-inset-bottom))}}
@media(max-width:375px){.main{padding-left:12px;padding-right:12px}.hero h2{font-size:20px}.hero .eyebrow{font-size:9px}.stat{padding:13px 10px}.topbar h1{font-size:23px}.hero-art{right:-53px}.mode-card strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.ocr-card{padding:18px;margin-bottom:18px;display:grid;gap:14px}.ocr-stage{position:relative;touch-action:none;user-select:none;line-height:0;cursor:crosshair;background:#eee}.ocr-stage img{width:100%;height:auto;display:block;pointer-events:none}.ocr-selection{position:absolute;pointer-events:none;border:3px solid var(--accent);background:#c37c641f;box-sizing:border-box}.ocr-coordinates{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.ocr-coordinates label{display:grid;gap:5px}.ocr-coordinates input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}.ocr-card textarea{width:100%;box-sizing:border-box;font:20px/1.8 var(--jp);padding:12px;border:1px solid var(--line);border-radius:10px;resize:vertical}.ocr-raw{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--jp)}.ocr-card summary{cursor:pointer;color:var(--muted);font-size:13px}.image-card .btn{margin-top:10px;font-size:12px}

.vocabulary-item{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:10px}.vocabulary-item label{display:block;font-size:13px}.vocabulary-item input:not([type=checkbox]),.vocabulary-item select{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:16px;background:white}.vocabulary-item input[type=checkbox]{accent-color:var(--accent)}.vocabulary-item b{font:24px var(--jp)}

.kanji-source-thumb{width:64px;height:64px;object-fit:cover;border-radius:9px;flex-shrink:0}.kanji-sources{margin:20px 0}.source-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.source-image-button{display:block;text-decoration:none;overflow:hidden;padding:0;color:var(--text)}.source-image-button img{width:100%;height:160px;object-fit:contain;background:#f1f1ef}.source-image-button span{display:block;padding:10px;font-size:12px}

.kanji-row .row-details{min-width:0}@media(max-width:650px){.kanji-source-thumb{width:52px;height:52px}}

.context-display mark { background:#f8dfc9; color:inherit; border-radius:.25em; padding:0 .12em; }
.quiz-capture { margin:20px 0 0; }
.quiz-capture img { display:block; width:100%; max-height:300px; object-fit:contain; border-radius:12px; background:#fff; }
.quiz-capture figcaption { margin-top:8px; color:var(--muted); font-size:.8rem; }

.quiz-focus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.quiz-focus-grid .mode-card { min-width:0; padding:18px; text-align:left; }
.quiz-focus-grid .mode-card.selected { border-color:var(--accent); background:#fff7f1; }

.session-card { padding:20px; margin-bottom:22px; }
.session-card p { color:var(--muted); }

.quiz-review-list { margin-bottom:20px; }
.quiz-review-item { padding:20px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.quiz-review-item:last-child { border-bottom:0; }
.quiz-review-item .spread { align-items:flex-start; gap:16px; }
.quiz-review-item .spread strong { font:600 22px var(--jp); }
.quiz-review-item p { margin:10px 0; }
.quiz-review-item summary { cursor:pointer; color:var(--muted); }
.quiz-review-item .text-button { margin-top:14px; text-align:left; }

.review-due { display:block; color:var(--accent-dark); margin:4px 0; }
.review-schedule { padding:20px; margin:18px 0; }
.review-schedule p { margin:8px 0 0; }
.capture-status{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 9px;margin:9px 0 2px;border-radius:20px;font-size:12px;font-weight:600;background:#f1f1ef;color:#64645d}.capture-status.ready{background:#e8f4ee;color:#326e56}.capture-status.processing{background:#fdf0e9;color:#9f513d}.capture-status.attention{background:#fff3e5;color:#8f5925}.image-card .capture-notice{font-size:12px;line-height:1.5;color:#805025;margin:8px 0;overflow-wrap:anywhere}.capture-filters{margin:16px 0}

.reading-grid .card strong.kanji-readings{display:flex;flex-wrap:wrap;gap:5px 9px;line-height:1.7}.kanji-reading{white-space:nowrap}.kanji-reading:not(:last-child)::after{content:"・";margin-left:7px}

.quiz-step-note { margin: 0 0 20px; padding: 14px 18px; border-radius: 14px; background: var(--surface, #f5f3f0); color: var(--muted, #737373); line-height: 1.5; }
.dual-correction { padding: 16px 0; }
.dual-correction + .dual-correction { border-top: 1px solid var(--border, #e8e5e2); }
.dual-correction p { margin: 8px 0 0; }
.quiz-review-item .dual-feedback { margin: 12px 0; box-shadow: none; }

.quiz-kanji-review { margin: 22px 0; }
.quiz-kanji-review h2 { font-size: 18px; margin-bottom: 12px; }
.quiz-kanji-sheet { margin: 12px 0; overflow: hidden; }
.quiz-kanji-sheet summary { cursor: pointer; padding: 18px; font-weight: 600; }
.quiz-kanji-sheet summary small { display: block; margin: 6px 0 0 20px; font-weight: 400; color: var(--muted); }
.quiz-kanji-body { padding: 0 18px 18px; }
.quiz-kanji-body .reading-grid { gap: 16px; }
.quiz-kanji-body h3 { font-size: 15px; margin: 20px 0 12px; }
.quiz-associated-words { padding: 0; list-style: none; }
.quiz-associated-words li { display: grid; gap: 5px; padding: 12px 0; border-bottom: 1px solid var(--border, #e8e5e2); }
.quiz-associated-words li span:last-child { color: var(--muted); }
.quiz-kanji-body .reading-grid small, .quiz-kanji-body .reading-grid strong { display: block; }
.quiz-kanji-body .reading-grid strong { margin-top: 8px; }
.batch-upload{margin:20px 0;padding:24px}.batch-upload progress{width:100%;accent-color:var(--primary,#c9735b)}.batch-upload ul{list-style:none;padding:0;margin:16px 0}.batch-upload li{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 0;border-bottom:1px solid #ddd}.batch-file-name{flex:1 1 180px;overflow-wrap:anywhere}.batch-upload li small,.batch-upload li a{flex-basis:100%;overflow-wrap:anywhere}.batch-upload li small{color:#a33}

.similar-kanji{margin:24px 0}.comparison-panel{overflow:hidden}.comparison-panel>summary{cursor:pointer;padding:18px;font-size:17px}.comparison-panel>summary>strong{font-size:18px}.comparison-preview{display:block;margin:7px 0;font:500 21px var(--jp);letter-spacing:2px}.comparison-panel>summary>small{display:block;color:var(--muted);font-size:13px}.comparison-panel-body{padding:0 18px 18px}.comparison-pair{padding:18px 0;border-top:1px solid var(--line)}.comparison-pair h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px;font-size:23px}.comparison-pair h3 small{font:400 12px var(--ui);color:var(--muted)}.comparison-hint{padding:13px 15px;background:var(--accent-soft);border-radius:12px;line-height:1.65}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.comparison-character{min-width:0;border:1px solid var(--line);border-radius:14px;padding:14px 12px;text-align:center}.comparison-drawing{max-width:132px;margin:0 auto 10px}.comparison-glyph{width:100%;height:auto;display:block;color:var(--text)}.comparison-accent{stroke:var(--accent-dark);stroke-width:4.3}.comparison-character>strong{font:600 22px var(--jp)}.comparison-meaning{font-size:13px;margin:6px 0;overflow-wrap:anywhere}.comparison-cue{font-size:12px;color:var(--accent-dark);font-weight:650;min-height:3em;margin:12px 0}.comparison-sheet{text-align:left;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:13px}.comparison-sheet summary{cursor:pointer;line-height:1.7}.comparison-sheet-body{padding-top:14px;overflow-wrap:anywhere}.comparison-readings{display:grid;gap:12px}.comparison-readings small,.comparison-readings strong{display:block}.comparison-readings small{color:var(--muted);font-size:10px}.comparison-readings strong{display:flex;flex-wrap:wrap;margin-top:4px;gap:3px 6px;font-size:14px}.comparison-words{list-style:none;padding:0;margin:0}.comparison-words li{display:grid;gap:5px;border-top:1px solid var(--line);padding:10px 0}.comparison-words li span:last-child{color:var(--muted)}.comparison-source{display:block;overflow:hidden;margin-top:12px;text-decoration:none;text-align:center}.comparison-source img{display:block;width:100%;max-height:130px;object-fit:contain;background:var(--muted-surface)}.comparison-source span{display:block;font-size:12px;padding:9px}.comparison-attribution{margin:16px 0 0}.comparison-panel summary:focus-visible{outline:3px solid var(--accent);outline-offset:-4px;border-radius:8px}@media(max-width:380px){.comparison-grid{gap:8px}.comparison-character{padding:10px 8px}.comparison-panel-body{padding:0 12px 12px}}
