@font-face{font-family:Plus Jakarta Sans;src:url(../fonts/plus-jakarta-sans-latin.woff2) format("woff2");font-style:normal;font-weight:400 800;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(../fonts/noto-sans-jp.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Material Symbols Rounded;src:url(../fonts/material-symbols-rounded.woff2) format("woff2");font-style:normal;font-weight:400 600;font-display:block}:root{color-scheme:light;--canvas: #f7f6f2;--paper: #fff;--text: #172b36;--muted: #62717a;--faint: #e8e8e1;--line: #dfe3df;--primary: #08789f;--blue: #11a2d5;--blue-soft: #eaf4f7;--red: #da3127;--red-soft: #fff0eb;--green: #267452;--green-soft: #eef6ed;--gold: #8a651f;--gold-soft: #faf3e4;--surface: #f0f0eb;--shadow: 0 20px 60px #172b361a;--rail: 248px;--radius: 12px}:root[data-theme=dark]{color-scheme:dark;--canvas: #141c24;--paper: #1c2730;--text: #eff4f6;--muted: #a8b7bf;--faint: #27333c;--line: #34424a;--primary: #66c7e7;--blue: #65c8eb;--blue-soft: #203d48;--red: #ff8a7d;--red-soft: #432c2c;--green: #91d3ad;--green-soft: #22392f;--gold: #e3c98c;--gold-soft: #3a3426;--surface: #222e37;--shadow: 0 20px 60px #0005}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--canvas);color:var(--text);font:14px/1.65 Plus Jakarta Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.3;letter-spacing:-.035em}h1{font-size:42px;font-weight:650}h2{font-size:23px;font-weight:650}h3{font-size:17px;font-weight:650}p{color:var(--muted)}button,a,input{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:4px}main:focus{outline:none}button:disabled:hover{transform:none}button:hover:not(:disabled){--hover: 1}hr{border:0;border-top:1px solid var(--line);margin:26px 0}::selection{background:var(--blue);color:#102735}.jp{font-family:Noto Sans JP,sans-serif;letter-spacing:0}.material-symbol{font-family:Material Symbols Rounded;font-weight:450;font-style:normal;font-size:24px;line-height:1;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;letter-spacing:normal;text-transform:none;font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 24;-webkit-font-smoothing:antialiased;vertical-align:middle;flex-shrink:0}.brand-mark{display:block;object-fit:contain;flex-shrink:0}.full{width:100%}.center{text-align:center}.muted{color:var(--muted)}.micro{font-size:11px;line-height:1.7;color:var(--muted)}.eyebrow,.overline{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.13em;line-height:1.6;color:var(--muted)}.eyebrow .material-symbol{font-size:19px}.primary-text{color:var(--primary)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 20px;border-radius:8px;font-size:13px;font-weight:700;line-height:1.5;border:1px solid transparent}.button.filled{background:var(--primary);color:#fff}.button.filled:hover:not(:disabled){filter:brightness(.95)}[data-theme=dark] .button.filled{color:#102735}.button.tonal{background:var(--blue-soft);color:var(--primary)}.button.outlined{border-color:var(--line);background:var(--paper)}.button.outlined:hover,.button.tonal:hover{background:var(--surface)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;flex-shrink:0}.icon-button:hover{background:var(--surface)}.text-button{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:650;font-size:12px;padding:7px 0;line-height:1.5}.text-button:hover{gap:12px}.danger{color:var(--red)}.button-row{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font-size:10px;line-height:1.5;font-weight:650}.chip .material-symbol{font-size:16px}.chip.outline{background:transparent}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--green);flex-shrink:0}.status-dot.offline{background:var(--gold)}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:var(--primary);color:#fff;padding:12px;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);background:var(--paper);border-right:1px solid var(--line);padding:31px 23px 22px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand>span{font-size:15px;line-height:1.4;font-weight:750;letter-spacing:-.045em;white-space:nowrap}.brand small{display:block;font-size:9px;font-weight:550;color:var(--muted);letter-spacing:.01em;margin-top:5px}.rail .brand{margin-bottom:51px}.rail nav{display:flex;flex-direction:column;gap:8px}.rail nav:before{content:"RUANG BELAJARMU";font-size:9px;letter-spacing:.16em;font-weight:700;color:var(--muted);padding-left:13px;margin-bottom:10px}.rail nav button{display:flex;align-items:center;gap:13px;padding:12px 14px;min-height:48px;border-radius:7px;text-align:left;font-size:12px;font-weight:600;color:var(--muted);position:relative}.rail nav button>span{display:flex}.rail nav button:hover{background:var(--canvas)}.rail nav button.selected{background:var(--blue-soft);color:var(--primary)}.rail nav button.selected:after{content:"";width:5px;height:5px;border-radius:100%;background:var(--primary);margin-left:auto}.rail nav .selected .material-symbol{font-variation-settings:"FILL" 1,"wght" 450,"GRAD" 0,"opsz" 24}.rail-bottom{margin-top:auto;border-top:1px solid var(--line);padding:22px 13px 0}.rail-kana{font-size:38px;color:var(--primary);letter-spacing:.1em}.rail-bottom p{font-size:11px;line-height:1.9;margin:8px 0 22px}.rail-bottom button{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;padding:8px 0}.rail-bottom button:hover{color:var(--primary)}.topbar{height:73px;margin-left:var(--rail);padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--canvas)}.topbar>.brand{display:none}.topbar-desktop{font-size:9px;font-weight:650;letter-spacing:.17em;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:20px}.connection{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.topbar .icon-button{border:1px solid var(--line);background:var(--paper);width:33px;height:33px}.topbar .icon-button .material-symbol{font-size:20px}.main{max-width:1280px;margin-left:var(--rail);padding:29px 42px 30px;min-height:calc(100vh - 73px)}.bottom-nav{display:none}.boot{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;text-align:center}.boot h1{font-size:28px}.boot p{max-width:420px}.storage-warning{position:relative;margin-left:var(--rail);padding:12px 24px;background:var(--gold-soft);font-size:12px;display:flex;align-items:center;gap:12px;color:var(--gold)}.storage-warning button{text-decoration:underline;font-weight:700}.snackbar{position:fixed;z-index:80;bottom:24px;left:calc(50% + var(--rail) / 2);transform:translate(-50%);max-width:540px;width:max-content;display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:var(--text);color:var(--canvas);padding:10px 12px 10px 20px;border-radius:10px;box-shadow:var(--shadow);font-size:12px}.snackbar .icon-button:hover{background:#8883}.notebook-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:25px}.notebook-heading .overline{font-size:9px;letter-spacing:.12em}.tiny-rule{display:inline-block;width:18px;height:2px;background:var(--red)}.daily-goal{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);white-space:nowrap}.notebook-hero{display:grid;grid-template-columns:1.17fr 1fr;gap:38px;padding:7px 0 32px;border-bottom:1px solid var(--line);margin-bottom:28px}.chapter-label{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.11em;font-weight:650;color:var(--muted);margin-bottom:18px}.chapter-label:before{content:"";height:1px;width:26px;background:var(--line)}.mini-jp{font-size:15px;color:var(--primary);letter-spacing:.16em}.notebook-copy h1{font-size:clamp(34px,3.5vw,54px);font-weight:650;letter-spacing:-.065em;line-height:1.18;margin-bottom:18px}.notebook-copy h1>span{color:var(--primary);position:relative;white-space:nowrap}.notebook-copy p{font-size:12px;line-height:1.9;max-width:350px}.method-link{margin-top:14px;font-size:11px}.kana-study{align-self:center;padding-top:4px;max-width:390px}.study-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.study-label .material-symbol{color:var(--primary)}.study-characters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.study-character{min-width:0;display:flex;flex-direction:column;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px 7px 12px;position:relative}.study-character:nth-child(2){margin-top:19px;margin-bottom:-19px}.study-index{font-size:9px;letter-spacing:.16em;color:var(--muted)}.study-glyph{font-size:90px;line-height:1.5;font-weight:500;color:var(--primary)}.study-character:nth-child(2) .study-glyph{color:var(--text)}.study-reading{font-size:9px;color:var(--muted);white-space:nowrap}.study-reading>span{color:var(--red);margin:0 3px}.study-caption{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:9px;margin-top:35px}.small-red-dot{width:4px;height:4px;border-radius:100%;background:var(--red)}.learning-workspace{display:grid;grid-template-columns:1.06fr 1fr;gap:23px;margin-bottom:31px}.next-lesson{padding:23px 25px 15px;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);position:relative;overflow:hidden}.next-lesson:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary)}.next-lesson-top{display:flex;justify-content:space-between;align-items:center}.next-lesson-top .overline{font-size:9px}.lesson-number{font-size:25px;font-weight:650;letter-spacing:-.06em;line-height:1}.lesson-number small{font-size:10px;color:var(--muted);font-weight:500;letter-spacing:0}.next-lesson-body{padding:18px 0 19px}.lesson-tag{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.09em;color:var(--primary);font-weight:700;text-transform:uppercase;margin-bottom:8px}.lesson-tag .status-dot{background:var(--primary);width:5px;height:5px}.next-lesson h2{font-size:24px;letter-spacing:-.05em;margin-bottom:8px}.next-lesson p{font-size:11px;line-height:1.8;max-width:370px}.lesson-start{width:100%;justify-content:flex-start;min-height:44px;font-size:11px}.lesson-start>.material-symbol:last-child{margin-left:auto}.lesson-start .material-symbol{font-size:21px}.next-lesson .lesson-footnote{text-align:center;font-size:9px;margin:9px 0 0;max-width:none}.memory-column{display:flex;flex-direction:column;min-width:0}.memory-review{padding:3px 0 19px}.review-title{display:flex;align-items:center;gap:8px;margin-bottom:11px}.review-title .overline{font-size:9px}.review-symbol{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--primary)}.review-symbol .material-symbol{font-size:21px}.memory-review h2{font-size:20px;letter-spacing:-.04em;margin-bottom:8px}.memory-review p{font-size:11px;max-width:350px;line-height:1.85}.memory-review .text-button{font-size:10px;margin-top:6px}.memory-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:17px;gap:18px;margin-top:auto}.memory-stats>div{display:flex;flex-direction:column;min-width:0}.memory-stats>div+div{border-left:1px solid var(--line);padding-left:24px}.stat-number{font-size:28px;font-weight:650;letter-spacing:-.05em;line-height:1.25;margin-bottom:6px}.stat-number small{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:-.02em}.memory-stats>div>span:not(.stat-number){font-size:9px;color:var(--muted)}.linear-track{width:100%;height:4px;background:var(--faint);border-radius:4px;overflow:hidden;margin-top:12px}.linear-track i{display:block;height:100%;background:var(--primary);border-radius:4px}.memory-stats .stat-caption{font-size:9px!important;margin-top:7px}.journey-notebook{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:23px 24px 16px;margin-bottom:22px}.journey-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.journey-title .overline{font-size:9px}.journey-title h2{font-size:19px;letter-spacing:-.04em;margin-top:5px}.journey-title .text-button{font-size:10px}.chapter-legend{display:flex;gap:21px;font-size:9px;color:var(--muted);margin-bottom:18px}.chapter-legend span{display:flex;align-items:center;gap:5px}.chapter-legend i{width:5px;height:5px;border-radius:1px;background:var(--primary)}.chapter-legend span:nth-child(2) i{background:var(--red)}.chapter-legend span:nth-child(3) i{background:var(--green)}.journey-days{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;position:relative}.journey-days:before{content:"";height:1px;background:var(--line);position:absolute;top:19px;left:10px;right:10px}.journey-day{display:flex;flex-direction:column;align-items:center;gap:7px;z-index:1;min-width:0;padding:0}.day-marker{width:37px;height:37px;background:var(--paper);border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1;font-weight:600}.journey-day:hover .day-marker{border-color:var(--primary);transform:translateY(-2px)}.journey-day.current .day-marker{background:var(--primary);border-color:var(--primary);color:var(--paper)}[data-theme=dark] .journey-day.current .day-marker{color:var(--canvas)}.journey-day.done .day-marker{background:var(--green-soft);border-color:var(--green);color:var(--green)}.day-name{font-size:9px;color:var(--muted);white-space:nowrap}.journey-day.current .day-name{color:var(--primary);font-weight:700}.journey-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:18px;padding-top:12px;gap:12px}.journey-bottom p{font-size:9px}.journey-bottom>span{font-size:12px;font-weight:700;white-space:nowrap}.journey-bottom small{color:var(--muted);font-size:9px;font-weight:500}.margin-note{display:flex;align-items:center;gap:13px;padding:2px 4px 18px}.margin-note-icon{color:var(--primary);padding:8px;border:1px solid var(--line);background:var(--paper);border-radius:50%;display:flex}.margin-note .overline{font-size:9px}.margin-note p{font-size:10px;color:var(--text);margin-top:2px}.margin-note p>span{color:var(--muted)}.today-note{font-size:9px;color:var(--muted);margin-left:auto;text-align:right;min-width:100px}.page-footer{border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:9px}.page-footer>span,.page-footer>button{display:flex;align-items:center;gap:6px}.page-footer>button{font-size:9px;color:var(--primary);padding:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px 0 30px}.page-heading .eyebrow{margin-bottom:12px}.page-heading h1{font-size:37px;letter-spacing:-.055em;margin-bottom:10px}.page-heading p{font-size:12px}.heading-symbol{width:70px;height:70px;background:var(--paper);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary)}.heading-symbol .material-symbol{font-size:35px}.heading-kana{font-size:46px;letter-spacing:.12em;color:var(--primary)}.practice-controls{display:grid;grid-template-columns:1fr 1fr;gap:22px;background:var(--paper);border:1px solid var(--line);padding:23px;border-radius:12px}.scope-control{grid-column:1/-1}.field-label{display:block;font-size:10px;font-weight:700;margin-bottom:10px}.segments{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--canvas);width:fit-content;max-width:100%}.segments button{border:1px solid transparent;border-radius:5px;padding:8px 13px;min-height:36px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:600;white-space:nowrap;flex:1}.segments button:hover{background:var(--paper)}.segments button[aria-pressed=true]{background:var(--paper);border-color:var(--line);color:var(--primary)}.segments .material-symbol{font-size:17px}.filter-note{margin:12px 0 24px}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mode-card{display:flex;align-items:flex-start;text-align:left;gap:14px;padding:23px;background:var(--paper);border:1px solid var(--line);border-radius:12px;min-height:146px;position:relative}.mode-card:hover{border-color:var(--primary);transform:translateY(-2px)}.mode-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:43px;border-radius:9px;background:var(--blue-soft);color:var(--primary)}.mode-icon.rose,.mode-icon.peach{background:var(--red-soft);color:var(--red)}.mode-icon.green{background:var(--green-soft);color:var(--green)}.mode-icon.yellow{background:var(--gold-soft);color:var(--gold)}.mode-icon.lavender{background:var(--blue-soft);color:var(--primary)}.mode-icon .material-symbol{font-size:26px}.mode-card h2{font-size:17px;letter-spacing:-.035em;margin:3px 0 8px}.mode-card p{font-size:11px;max-width:220px;line-height:1.85}.mode-card .micro{display:block;margin-top:8px;font-size:9px;color:var(--gold)}.mode-arrow{margin-left:auto;margin-top:8px;color:var(--muted);font-size:21px}.exam-card{display:flex;align-items:center;gap:18px;background:var(--blue-soft);border:1px solid var(--line);border-radius:12px;padding:24px;margin-top:24px}.icon-tonal{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--paper);color:var(--primary);border-radius:9px;flex-shrink:0}.exam-card h2{font-size:18px;margin-bottom:5px}.exam-card p{font-size:11px;max-width:450px}.exam-card>.button{margin-left:auto;white-space:nowrap;font-size:11px}.privacy-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;margin:24px 0 5px;text-align:center}.privacy-note button{text-decoration:underline}.library-controls{display:flex;justify-content:space-between;gap:18px;align-items:center}.search-field{display:flex;align-items:center;gap:9px;min-height:45px;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:0 12px;width:300px}.search-field>.material-symbol{font-size:20px;color:var(--muted)}.search-field input{border:0;background:transparent;color:var(--text);outline:none;width:100%;min-width:0;font-size:11px;padding:12px 0}.search-field:focus-within{outline:2px solid var(--primary);outline-offset:2px}.search-field .icon-button{width:28px;height:28px}.library-sub{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0}.filter-chips{display:flex;gap:8px}.filter-chips button{padding:6px 12px;min-height:34px;font-size:10px;border:1px solid var(--line);border-radius:6px}.filter-chips button.active{border-color:var(--primary);background:var(--blue-soft);color:var(--primary);font-weight:650}.switch-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:23px 0}.switch-row strong{display:block;font-size:12px}.switch-row small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.switch-row input{appearance:none;-webkit-appearance:none;width:36px;min-width:36px;height:21px;border:1px solid var(--muted);border-radius:20px;background:var(--surface);padding:3px;cursor:pointer;position:relative}.switch-row input:before{content:"";display:block;border-radius:100%;background:var(--muted);width:13px;height:13px;transition:transform .16s}.switch-row input:checked{background:var(--primary);border-color:var(--primary)}.switch-row input:checked:before{transform:translate(14px);background:var(--paper)}.switch-row.compact{font-size:10px;margin:0}.legend{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:9px;margin:18px 0 26px}.legend>span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;display:block;border:1px solid var(--line);border-radius:2px;background:var(--paper)}.legend i.rose{background:var(--blue-soft);border-color:var(--primary)}.legend .material-symbol{font-size:15px;color:var(--green)}.kana-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.kana-group{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.kana-group h2{font-size:9px;color:var(--muted);letter-spacing:.14em;margin-bottom:14px;font-weight:650}.kana-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.kana-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:72px;background:var(--canvas);border:1px solid var(--line);border-radius:7px;position:relative;padding:9px 2px}.kana-card:hover{border-color:var(--primary);background:var(--blue-soft)}.kana-card>.jp{font-size:29px;line-height:1.5}.kana-card.learning{background:var(--blue-soft);border-color:var(--primary)}.kana-card.mastered{background:var(--green-soft);border-color:var(--green)}.kana-reading{font-size:9px;color:var(--muted)}.kana-status{position:absolute;right:3px;top:1px;font-size:11px;color:var(--primary)}.kana-status .material-symbol{font-size:12px;color:var(--green)}.note{display:flex;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;font-size:11px;line-height:1.85;margin:22px 0}.note>.material-symbol{font-size:20px;flex-shrink:0;color:var(--primary)}.note p{font-size:11px}.note strong{display:block;margin-bottom:4px;font-size:11px}.library-note{margin-top:28px}.empty{padding:32px 15px;text-align:center}.empty-icon{display:flex;justify-content:center;color:var(--primary);margin-bottom:12px}.empty h3{font-size:15px;margin-bottom:8px}.empty p{font-size:11px;max-width:310px;margin:0 auto}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.section-title h2{font-size:19px;margin-top:7px}.section-title .eyebrow{font-size:9px}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.big-progress{border:1px solid var(--line);background:var(--paper);border-radius:12px;text-align:center;padding:24px}.progress-dial{height:174px;width:174px;margin:20px auto;border-radius:100%;padding:7px;background:conic-gradient(var(--primary) var(--progress),var(--faint) var(--progress))}.progress-dial>div{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:var(--paper);border-radius:100%}.progress-dial strong{font-size:44px;font-weight:650;line-height:1.2;letter-spacing:-.05em}.progress-dial small{font-size:15px;color:var(--muted);font-weight:400}.progress-dial span{font-size:9px;line-height:1.7;margin-top:8px;color:var(--muted)}.big-progress>p{font-size:10px}.progress-detail{display:grid;gap:20px}.metric-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:23px}.metric-card>span{font-size:10px;color:var(--muted)}.metric-card>strong{display:block;font-size:36px;line-height:1.2;margin:12px 0;font-weight:600}.metric-card p{font-size:10px}.script-progress{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 27px}.script-card{display:flex;align-items:center;gap:22px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:20px}.script-card>.jp{font-size:51px;line-height:1.4;color:var(--primary)}.script-card>div{flex:1}.script-card h2{text-transform:capitalize;font-size:16px}.script-card p{font-size:9px;margin-top:8px}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.activity-card,.weak-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:24px}.activity{height:190px;display:flex;gap:12px;align-items:flex-end;padding:10px 0;margin-bottom:12px}.activity>div{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;font-size:9px;color:var(--muted)}.bar-space{height:124px;width:100%;display:flex;align-items:flex-end;justify-content:center;margin:6px 0;border-bottom:1px solid var(--line)}.bar-space i{width:70%;background:var(--primary);display:block;border-radius:3px 3px 0 0}.bar-space i.zero{background:var(--faint)}.activity small{font-size:9px}.weak-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px}.weak-card .empty{padding:24px 8px}.results{max-width:650px;margin:25px auto;text-align:center}.result-mark{width:66px;height:66px;display:flex;align-items:center;justify-content:center;border-radius:100%;background:var(--blue-soft);color:var(--primary);margin:0 auto 18px}.result-mark .material-symbol{font-size:36px}.result-mark.pass{background:var(--green-soft);color:var(--green)}.results>.eyebrow{font-size:9px;margin-bottom:12px}.results h1{font-size:34px;margin-bottom:12px}.results>.muted{font-size:12px}.result-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:24px 8px}.result-metrics>div{display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--muted)}.result-metrics>div+div{border-left:1px solid var(--line)}.result-metrics strong{font-size:30px;color:var(--text);font-weight:650;line-height:1.3}.result-metrics small{font-size:10px}.exam-split{display:flex;gap:18px;justify-content:center;margin:20px 0}.exam-split>div{display:flex;gap:10px;align-items:center;font-size:12px}.exam-split strong{font-size:20px}.result-review h2{font-size:19px;margin:22px 0 16px}.similar-row{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:16px 0}.similar-row button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:65px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px}.similar-row button:hover{border-color:var(--primary)}.similar-row .jp{font-size:33px;line-height:1.5}.similar-row small{font-size:10px;color:var(--muted)}.word-errors{text-align:left;border:1px solid var(--line);padding:14px;border-radius:8px;margin:20px 0;font-size:12px}.word-errors summary{cursor:pointer}.word-errors p{margin-top:10px}.result-actions{justify-content:center;margin:25px 0 18px}.dialog{padding:0;border:1px solid var(--line);border-radius:14px;max-width:min(520px,calc(100vw - 32px));width:520px;max-height:min(85dvh,850px);color:var(--text);background:var(--paper);box-shadow:var(--shadow)}.dialog.wide{width:700px;max-width:min(700px,calc(100vw - 32px))}.dialog::backdrop{background:#10273570;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.dialog-head h2{font-size:19px;letter-spacing:-.035em}.dialog-head .icon-button{width:32px;height:32px}.dialog-body{padding:24px}.dialog-body>.inline-status{position:sticky;top:64px;z-index:3;margin:0 0 18px;padding:12px 15px;background:var(--blue-soft);border:1px solid var(--primary);color:var(--text);border-radius:8px;font-size:11px}.dialog-body>h3{font-size:13px;margin:25px 0 13px}.dialog-body>h3:first-child{margin-top:0}.dialog-body>.micro{margin:12px 0}.dialog-body>p{font-size:12px;line-height:1.9}.dialog-body>.button-row{margin-top:18px}.dialog-body>.text-button.danger{margin-top:16px;font-size:11px}.dialog .segments{width:100%}.dialog .segments button{padding-inline:9px;font-size:10px}.detail-card{text-align:center}.detail-card .eyebrow{text-transform:uppercase;font-size:9px}.detail-glyph{font-size:112px;line-height:1.6;margin:4px 0}.detail-card h3{font-size:22px;margin-bottom:18px}.detail-card .button{font-size:12px}.plan-list{display:grid;margin-top:18px}.plan-list>button{display:flex;gap:15px;align-items:center;text-align:left;padding:15px 0;border-bottom:1px solid var(--line)}.plan-list>button:hover{background:var(--canvas)}.plan-number{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--primary)}.plan-number.done{background:var(--green-soft);color:var(--green)}.plan-list strong{font-size:12px;display:block}.plan-list small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.plan-list>button>.material-symbol{margin-left:auto;font-size:19px}.method-step{display:flex;gap:17px;margin-bottom:24px}.method-step>b{font-size:12px;color:var(--primary);border-bottom:1px solid var(--primary);align-self:flex-start;padding:3px 0 6px}.method-step h3{font-size:15px;margin-bottom:7px}.method-step p{font-size:11px;line-height:1.9}.text-input{background:var(--canvas);border:1px solid var(--line);border-radius:7px;color:var(--text);padding:12px;width:100%;font-size:13px}.about-brand{display:flex;gap:13px;align-items:center}.about-brand strong{display:block;font-size:13px}.about-brand small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.install-mark{display:flex;justify-content:center;margin:8px 0 23px}.player-shell{min-height:350px;min-height:100svh;display:flex;flex-direction:column;max-width:920px;margin:0 auto;background:var(--canvas);overflow:hidden}.player-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 28px 15px;flex-shrink:0}.player-top>div{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px}.player-top .eyebrow{font-size:9px}.step-count{font-size:17px;font-weight:650;white-space:nowrap}.step-count small{font-size:10px;color:var(--muted);margin-left:4px;font-weight:500}.player-progress{height:3px;background:var(--faint);flex-shrink:0;margin:0 28px}.player-progress>i{display:block;height:100%;background:var(--primary);transition:width .16s}.player-main{flex:1;min-height:0;overflow-y:auto;padding:25px 28px 10px;max-width:620px;width:100%;margin:0 auto}.prompt-meta{display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;margin-bottom:17px}.prompt-meta .chip{text-transform:capitalize}.question-title{text-align:center;font-size:18px;font-weight:550;letter-spacing:-.03em;margin-bottom:12px}.question-glyph,.learn-glyph{text-align:center;font-size:clamp(100px,20vh,160px);line-height:1.45;font-weight:450;color:var(--text)}.question-glyph.word{font-size:clamp(39px,7.4vw,67px);padding:28px 0;overflow-wrap:anywhere}.question-glyph.roman{font-family:Plus Jakarta Sans;font-size:65px;padding:17px 0 25px;font-weight:600;letter-spacing:-.04em}.learn-glyph{font-size:clamp(110px,21vh,174px);line-height:1.3}.learn-reading{display:flex;align-items:center;justify-content:center;gap:10px;font-size:27px;margin:3px 0 22px}.learn-reading strong{font-weight:600}.learn-reading .icon-button{border:1px solid var(--line);background:var(--paper);border-radius:100%;width:37px;height:37px;color:var(--primary)}.learn-reading .material-symbol{font-size:20px}.mnemonic{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:19px 21px;margin:0 auto 16px;max-width:470px}.mnemonic .eyebrow{font-size:9px;color:var(--primary)}.mnemonic p{font-size:12px;line-height:1.9;margin-top:10px;color:var(--text)}.answer-form{margin:12px auto 0;max-width:430px}.answer-form>label{display:block;font-size:10px;font-weight:650;color:var(--muted);margin-bottom:8px}.answer-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:0 13px;min-height:55px}.answer-field:focus-within{outline:2px solid var(--primary);outline-offset:3px}.answer-field input{border:0;outline:none;background:none;color:var(--text);width:100%;font-size:19px;padding:12px 0;letter-spacing:.01em;min-width:0}.answer-field input::placeholder{font-size:13px;color:var(--muted)}.answer-field.correct{border-color:var(--green);background:var(--green-soft)}.answer-field.incorrect{border-color:var(--red);background:var(--red-soft)}.answer-field .material-symbol{color:var(--primary)}.hint-link{font-size:10px;display:flex;gap:6px;align-items:center;margin:10px 0 0;color:var(--muted);padding:5px 0}.hint-link .material-symbol{font-size:17px}.hint-reveal{font-size:11px;background:var(--gold-soft);padding:13px;border-radius:7px;margin:6px 0 14px}.player-main>.micro{margin:15px 0;font-size:10px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:430px;margin:0 auto 18px}.choices button{background:var(--paper);border:1px solid var(--line);border-radius:10px;min-height:90px;display:flex;align-items:center;justify-content:center;position:relative}.choices button:hover:not(:disabled){border-color:var(--primary);background:var(--blue-soft)}.choices .jp{font-size:39px;line-height:1.5}.choices button.correct{background:var(--green-soft);border-color:var(--green);opacity:1}.choices button.incorrect{background:var(--red-soft);border-color:var(--red);opacity:1}.choices button>.material-symbol{position:absolute;right:9px;top:9px;color:var(--green);font-size:17px}.feedback{max-width:430px;border:1px solid var(--green);border-radius:9px;background:var(--green-soft);padding:17px;margin:17px auto 12px;scroll-margin-bottom:10px}.feedback.negative{border-color:var(--red);background:var(--red-soft)}.feedback-title{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--green);margin-bottom:8px}.negative .feedback-title{color:var(--red)}.feedback-title .material-symbol{font-size:21px}.feedback p{font-size:11px;line-height:1.85;color:var(--text)}.feedback small{font-size:10px;color:var(--muted);display:block;margin-top:7px}.feedback .jp{font-size:18px}.player-actions{flex-shrink:0;max-width:620px;width:100%;margin:0 auto;padding:16px 28px 18px;background:var(--canvas);border-top:1px solid var(--line);text-align:center}.player-actions>.button{max-width:430px;margin-inline:auto;min-height:48px;justify-content:center;display:flex}.player-actions>.button>.material-symbol:last-child{margin-left:auto}.player-actions>.button>.material-symbol:first-child:last-child{margin-left:0}.player-actions .skip{display:inline-flex;font-size:10px;color:var(--muted);margin-top:4px;padding:6px 12px;min-height:32px}.session-footer{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);gap:10px;max-width:430px;margin:11px auto 0}.session-footer>span:first-child{display:flex;align-items:center;gap:5px}.session-footer .status-dot{width:4px;height:4px}.rule-content{text-align:center;max-width:480px;margin:15px auto}.rule-icon{display:inline-flex;align-items:center;justify-content:center;width:49px;height:49px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--primary);margin-bottom:22px}.rule-content h1{font-size:26px}.rule-example{font-size:25px;line-height:1.8;margin:23px 0;overflow-wrap:anywhere}.rule-content>p{font-size:13px;line-height:1.9}.rule-content .note{text-align:left}.listen-prompt{text-align:center;padding:20px 0 25px}.audio-button{width:97px;height:97px;border:1px solid var(--primary);border-radius:100%;background:var(--blue-soft);color:var(--primary);margin-bottom:16px}.audio-button .material-symbol{font-size:44px}.audio-button.playing{background:var(--primary);color:var(--paper)}.listen-prompt p{font-size:11px}.listen-prompt .audio-warning{font-size:10px;margin-top:10px;color:var(--red)}@media(min-width:1600px){.main{margin-left:calc(var(--rail) + (100vw - var(--rail) - 1280px) / 2);margin-right:auto;padding-inline:52px}.notebook-copy h1{font-size:60px}.study-glyph{font-size:110px}.notebook-hero{gap:70px}.journey-day .day-marker{width:45px;height:45px}.journey-days:before{top:22px}}@media(max-width:1200px){:root{--rail: 218px}.rail{padding-inline:17px}.brand>span{font-size:13px}.brand small{font-size:9px}.rail .brand{gap:8px}.rail .brand-mark{width:37px;height:auto}.main,.topbar{padding-inline:29px}.notebook-hero{gap:23px}.notebook-copy h1{font-size:43px}.study-glyph{font-size:75px}.study-reading{font-size:9px}.next-lesson{padding:20px}.next-lesson h2{font-size:21px}.memory-review h2{font-size:18px}.day-marker{width:31px;height:34px;font-size:9px}.journey-days{gap:4px}.journey-days:before{top:17px}.day-name{font-size:9px}.journey-notebook{padding-inline:18px}.today-note{display:none}.kana-grid{gap:5px}.kana-group{padding:15px}.kana-card>.jp{font-size:26px}.mode-card{padding:19px}.mode-card h2{font-size:16px}.mode-icon{width:36px;height:36px}.mode-card p{font-size:10px}}@media(max-width:959px){:root{--rail: 0px}.rail{display:none}.topbar{height:70px;padding:0 28px;position:sticky;top:0;z-index:15;background:var(--canvas)}.topbar>.brand{display:flex;gap:9px}.topbar>.brand>span{font-size:15px}.topbar-desktop{display:none}.topbar-actions{gap:10px}.topbar .connection{font-size:9px}.topbar-actions .icon-button{width:36px;height:36px}.main{margin:0 auto;padding:27px 28px 103px;max-width:900px;min-height:calc(100dvh - 70px)}.notebook-hero{gap:38px;grid-template-columns:1.15fr 1fr}.notebook-copy h1{font-size:46px}.kana-study{max-width:350px}.study-glyph{font-size:84px}.bottom-nav{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 15px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);z-index:30}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:47px;justify-content:center;color:var(--muted)}.bottom-nav button>span{display:flex;align-items:center;justify-content:center;min-width:48px;height:28px;border-radius:7px}.bottom-nav small{font-size:9px}.bottom-nav button.selected{color:var(--primary)}.bottom-nav button.selected>span{background:var(--blue-soft)}.bottom-nav button.selected .material-symbol{font-variation-settings:"FILL" 1,"wght" 450,"GRAD" 0,"opsz" 24}.bottom-nav .material-symbol{font-size:23px}.snackbar{left:50%;bottom:92px;max-width:calc(100vw - 32px)}.day-marker{width:36px;height:36px}.day-name{font-size:9px}.storage-warning{margin-left:0}.player-shell{min-height:0}.player-top{padding-top:max(14px,env(safe-area-inset-top))}.journey-notebook{padding:23px 22px 16px}.today-note{display:block}.exam-card{flex-wrap:wrap}.exam-card>div:nth-child(2){flex:1}.exam-card>.button{margin-left:62px}.activity-card,.weak-card{padding:20px}}@media(max-width:699px){body{font-size:14px}.topbar{padding:0 20px;height:68px}.topbar>.brand>span{font-size:14px}.topbar>.brand .brand-mark{width:30px;height:auto}.topbar .connection{display:none}.main{padding:23px 20px 100px}.notebook-heading{padding-bottom:20px}.notebook-heading .overline{font-size:9px;letter-spacing:.09em}.notebook-heading .tiny-rule{width:12px}.daily-goal{font-size:0;gap:0}.daily-goal .material-symbol{font-size:19px;color:var(--primary)}.notebook-hero{grid-template-columns:1fr;gap:27px;padding-top:1px;padding-bottom:27px;margin-bottom:23px}.chapter-label{font-size:9px;margin-bottom:13px}.notebook-copy h1{font-size:44px;line-height:1.15;letter-spacing:-.065em;margin-bottom:15px}.notebook-copy p{font-size:12px;line-height:1.9;max-width:330px}.method-link{margin-top:12px;font-size:11px}.kana-study{width:100%;max-width:none;position:relative;padding:0 0 0 1px}.study-label{font-size:9px;margin-bottom:10px}.study-characters{gap:10px}.study-character{padding:12px 6px 10px}.study-character:nth-child(2){margin:0}.study-glyph{font-size:75px;line-height:1.45}.study-index,.study-reading{font-size:9px}.study-caption{font-size:9px;margin-top:12px}.learning-workspace{grid-template-columns:1fr;gap:23px;margin-bottom:24px}.next-lesson{padding:21px 22px 15px}.next-lesson-top .overline{font-size:9px}.lesson-number{font-size:29px}.next-lesson-body{padding:18px 0}.next-lesson h2{font-size:25px}.next-lesson p{font-size:11px}.lesson-start{font-size:12px;min-height:47px}.next-lesson .lesson-footnote{font-size:9px;margin-top:10px}.memory-column{padding:0 1px}.memory-review{padding:0 0 20px}.memory-review h2{font-size:21px}.memory-review p{font-size:11px;max-width:350px}.memory-review .text-button{font-size:11px}.memory-stats{padding-top:19px}.stat-number{font-size:31px}.memory-stats>div>span:not(.stat-number){font-size:10px}.memory-stats .stat-caption{font-size:9px!important}.journey-notebook{padding:21px 17px 16px}.journey-title{gap:9px;margin-bottom:17px}.journey-title h2{font-size:19px}.journey-title .text-button{font-size:9px;gap:4px;white-space:nowrap}.journey-title .material-symbol{font-size:18px}.chapter-legend{gap:11px;font-size:9px;margin-bottom:18px;flex-wrap:wrap}.journey-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:15px 5px}.journey-days:before{display:none}.day-marker{width:34px;height:34px;font-size:9px}.day-name{font-size:9px}.journey-bottom{align-items:flex-start;margin-top:18px;gap:12px}.journey-bottom p{font-size:9px;max-width:210px;line-height:1.8}.journey-bottom>span{font-size:12px}.journey-bottom small{display:block;font-size:9px}.margin-note{align-items:flex-start;gap:10px;padding-bottom:20px}.margin-note-icon{padding:7px}.margin-note p{font-size:10px;line-height:1.8}.margin-note p>span{display:block;margin-top:4px}.today-note{display:none}.page-footer{flex-direction:column;align-items:flex-start;gap:10px;font-size:9px;padding-top:18px}.page-footer>button{font-size:9px}.page-heading{margin:9px 0 25px;gap:12px;align-items:flex-start}.page-heading h1{font-size:31px;letter-spacing:-.06em}.page-heading .eyebrow{font-size:9px;margin-bottom:10px}.page-heading p{font-size:11px;max-width:260px}.heading-symbol{width:45px;height:45px;border-radius:9px;margin-top:5px}.heading-symbol .material-symbol{font-size:25px}.heading-kana{font-size:27px;letter-spacing:0;margin-top:22px;white-space:nowrap}.practice-controls{grid-template-columns:1fr;gap:20px;padding:20px}.scope-control{grid-column:auto}.segments{width:100%}.segments button{font-size:10px;padding:7px 10px;min-height:36px}.field-label{font-size:10px}.filter-note{font-size:10px;line-height:1.8;margin:12px 0 21px}.mode-grid{grid-template-columns:1fr;gap:12px}.mode-card{min-height:123px;padding:21px 18px;gap:14px}.mode-icon{width:40px;height:40px}.mode-card h2{font-size:17px}.mode-card p{font-size:11px;max-width:230px}.mode-card .micro{font-size:9px}.mode-arrow{font-size:20px}.exam-card{padding:19px;gap:13px}.exam-card h2{font-size:17px}.exam-card p{font-size:10px;line-height:1.85}.exam-card .icon-tonal{width:36px;height:36px}.exam-card>.button{margin:6px 0 0;width:100%;font-size:11px}.privacy-note{font-size:9px;line-height:1.8}.library-controls{flex-direction:column;align-items:stretch;gap:13px}.search-field{width:100%;min-height:43px}.library-sub{flex-wrap:wrap;margin:18px 0;gap:17px}.filter-chips{gap:6px;flex-wrap:wrap}.filter-chips button{font-size:9px;padding:5px 10px;min-height:33px}.switch-row.compact{font-size:9px;margin-left:auto}.legend{font-size:9px;gap:14px;margin:19px 0}.kana-groups{grid-template-columns:1fr;gap:15px}.kana-group{padding:18px}.kana-group h2{font-size:9px;margin-bottom:14px}.kana-grid{gap:8px}.kana-card{min-height:70px}.kana-card>.jp{font-size:32px}.kana-reading{font-size:9px}.note{padding:15px;gap:10px;font-size:10px;line-height:1.9;margin:20px 0}.note p{font-size:10px}.note>.material-symbol{font-size:19px}.progress-grid{grid-template-columns:1fr;gap:15px}.progress-detail{grid-template-columns:1fr 1fr;gap:12px}.metric-card{padding:18px 15px}.metric-card>span{font-size:9px}.metric-card>strong{font-size:29px}.metric-card p{font-size:9px;line-height:1.8}.big-progress{padding:22px}.progress-dial{width:160px;height:160px;margin:19px auto}.script-progress{grid-template-columns:1fr;gap:12px;margin:15px 0 22px}.script-card{padding:18px;gap:20px}.script-card>.jp{font-size:46px}.lower-grid{grid-template-columns:1fr;gap:15px}.activity-card,.weak-card{padding:21px}.section-title h2{font-size:18px}.section-title .eyebrow{font-size:9px}.results{margin-top:15px}.results h1{font-size:28px}.result-metrics{padding:21px 5px}.result-metrics strong{font-size:26px}.result-metrics>div{font-size:9px}.result-actions .button{font-size:11px;padding-inline:13px}.dialog{max-width:calc(100vw - 24px);max-height:90dvh;border-radius:12px}.dialog.wide{max-width:calc(100vw - 24px)}.dialog-head{padding:15px 18px}.dialog-head h2{font-size:17px}.dialog-body{padding:20px}.dialog .segments button{font-size:9px;padding-inline:6px}.dialog-body>p{font-size:11px}.detail-glyph{font-size:100px}.detail-card h3{font-size:22px}.plan-list>button{gap:11px;padding:13px 0}.plan-list strong{font-size:11px}.plan-list small{font-size:9px}.plan-number{min-width:31px;height:33px;font-size:10px}.method-step{gap:13px}.method-step h3{font-size:14px}.method-step p{font-size:11px}.snackbar{font-size:11px;bottom:90px;max-width:calc(100vw - 24px);padding-left:16px;gap:8px}.snackbar>span{overflow-wrap:anywhere}.player-shell{max-width:none}.player-top{padding:14px 17px 12px;min-height:68px}.player-top>div{font-size:10px;max-width:calc(100% - 95px);text-align:center}.player-top .eyebrow{font-size:9px}.player-top .icon-button{width:32px;height:32px}.step-count{font-size:15px}.step-count small{font-size:9px}.player-progress{margin:0 20px}.player-main{padding:20px 23px 12px}.prompt-meta{margin-bottom:16px;font-size:9px}.question-title{font-size:17px}.question-glyph{font-size:115px;line-height:1.5}.question-glyph.roman{font-size:55px;padding:12px 0 22px}.question-glyph.word{font-size:clamp(35px,10vw,52px);padding:28px 0}.learn-glyph{font-size:130px}.learn-reading{font-size:25px;margin:2px 0 18px}.mnemonic{padding:17px;margin-bottom:14px}.mnemonic p{font-size:11px}.mnemonic .eyebrow{font-size:9px}.player-main>.micro{font-size:9px}.choices{gap:10px}.choices button{min-height:82px}.choices .jp{font-size:36px}.answer-form{margin-top:8px}.answer-field{min-height:52px}.answer-field input{font-size:18px}.hint-link{font-size:9px;min-height:32px;margin-top:5px}.feedback{padding:15px;margin-top:12px}.feedback-title{font-size:11px}.feedback p{font-size:10px}.player-actions{padding:12px 23px max(15px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.player-actions>.button{font-size:12px;min-height:46px}.session-footer{font-size:9px;margin-top:10px}.player-actions .skip{font-size:9px;margin-top:2px}.rule-content{margin-top:12px}.rule-content h1{font-size:24px}.rule-example{font-size:23px}.rule-content>p{font-size:12px}.audio-button{width:85px;height:85px}.audio-button .material-symbol{font-size:38px}}@media(max-width:375px){.main,.topbar{padding-inline:17px}.notebook-copy h1{font-size:41px}.study-glyph{font-size:68px}.journey-title h2{font-size:17px}.journey-title .text-button{font-size:9px}.journey-notebook{padding-inline:15px}.day-marker{width:31px;height:32px}.day-name{font-size:9px}.next-lesson{padding-inline:19px}.chapter-legend{gap:8px;font-size:9px}.notebook-heading .overline{font-size:9px}.page-heading h1{font-size:29px}.kana-grid{gap:6px}.kana-group{padding:15px}.kana-card>.jp{font-size:29px}.mode-card{gap:11px}.mode-card p{font-size:10px}.mode-card h2{font-size:16px}}@media(max-height:650px){.player-main{padding-top:15px}.learn-glyph{font-size:95px}.question-glyph{font-size:90px;line-height:1.25}.question-glyph.roman{font-size:44px;padding:10px 0}.question-glyph.word{font-size:38px;padding:15px 0}.learn-reading{margin-bottom:12px;font-size:22px}.mnemonic{padding:12px;margin-bottom:10px}.mnemonic p{margin-top:6px;font-size:11px}.choices button{min-height:65px}.choices .jp{font-size:32px}.prompt-meta{margin-bottom:10px}.player-actions{padding-top:10px;padding-bottom:10px}.session-footer{margin-top:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
