:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#eeedf4;background:#10111a;font-synthesis:none;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-weight:400;--muted:#8b8a9c;--line:rgba(255,255,255,.075);--mint:#78e6c0;--violet:#a88afb}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 75% -15%,rgba(110,78,171,.11),transparent 46%),#10111a}button{font:inherit;color:inherit;cursor:pointer;border:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;border-right:1px solid var(--line);background:#11121ceb;padding:27px 18px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:0 8px;margin-bottom:47px;background:transparent;text-align:left}.brand-mark{height:37px;width:37px;border-radius:11px;background:#a68af9;color:#161321;display:grid;place-items:center;font:700 21px "Noto Serif JP";box-shadow:0 5px 25px #a68af944}.brand strong,.brand small,.profile strong,.profile small{display:block}.brand strong{font-size:13px;letter-spacing:.1px}.brand small{font-size:10px;color:var(--muted);margin-top:3px}.side-label{padding:0 10px;color:#737386;font:500 9px DM Mono;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:12px}.nav-item{height:41px;width:100%;display:flex;align-items:center;gap:12px;padding:0 11px;color:#a4a3b2;background:transparent;border-radius:8px;font-size:12px;text-align:left;transition:.2s}.nav-item:hover,.side-route:hover{background:#ffffff0b;color:#fff}.nav-item>span{width:17px;font-size:18px;text-align:center;color:#aaa8bc}.nav-item.active{background:#a789f81a;color:#c2aaff}.nav-item.active>span{color:#b398fb}.nav-item i{margin-left:auto;background:#292638;color:#aaa1c8;font:10px DM Mono;font-style:normal;padding:3px 7px;border-radius:20px}.route-label{margin-top:31px}.side-routes{display:grid;gap:4px}.side-route{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:8px;background:none;color:#a5a4b1;text-align:left;font-size:11px}.route-mini{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;font:13px "Noto Serif JP"}.route-mini.mint{background:#203c37;color:#75e0bc}.route-mini.violet{background:#312741;color:#b497fb}.route-mini.blue{background:#203242;color:#79bde7}.route-mini.gold{background:#3a3427;color:#e4bd74}.route-arrow{margin-left:auto;color:#666576}.sidebar-bottom{margin-top:auto}.daily-card{margin:0 3px 18px;padding:14px 12px;border:1px solid var(--line);background:linear-gradient(120deg,#1b1c2a,#1b1a28);border-radius:10px}.daily-top{display:flex;justify-content:space-between;font-size:10px;color:#c9c6d8}.daily-top span:first-letter{color:#b69afa}.daily-top b{font:10px DM Mono;color:#a99abf}.daily-bar,.progress-track{height:4px;background:#302e3d;border-radius:9px;overflow:hidden}.daily-bar{margin-top:12px}.daily-bar span{display:block;width:33%;height:100%;background:#a78bf9;border-radius:9px}.daily-card p{font-size:9px;color:#898799;margin:9px 0 0}.profile{display:flex;align-items:center;gap:9px;padding:16px 5px 0;margin-top:16px;border-top:1px solid var(--line)}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;color:#ddcfff;background:linear-gradient(145deg,#514269,#28243b);font-size:12px}.profile strong{font-size:10px;font-weight:600}.profile small{font-size:9px;color:#888798;margin-top:4px}.profile-dots{margin-left:auto;color:#888798;letter-spacing:2px}.main-content{margin-left:248px;max-width:1580px;padding:0 56px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin:0 -56px;padding:0 56px}.breadcrumb{color:#858494;font-size:10px}.breadcrumb span{padding:0 8px;color:#575666}.breadcrumb b{color:#dedce8;font-weight:500}.top-actions{display:flex;align-items:center;gap:11px}.streak-pill,.xp-pill{font-size:10px;background:#1b1b28;border:1px solid var(--line);border-radius:7px;padding:7px 10px;color:#bcb9ca}.streak-pill{color:#e1b07b}.streak-pill b{color:#f0cf9b}.xp-pill{color:#b6a0ee}.xp-pill b{color:#d1c4f5}.icon-button{border:1px solid var(--line);background:#1b1b28;border-radius:7px;height:29px;width:31px;color:#a6a3b3;font-size:13px}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin:43px 0 28px}.eyebrow,.section-kicker,.card-kicker{font:10px DM Mono;letter-spacing:.5px;color:#9d99ae}.eyebrow{display:flex;align-items:center;gap:8px}.pulse-dot{width:6px;height:6px;border-radius:50%;background:#7fe4bf;box-shadow:0 0 10px #7fe4bf99}.welcome-row h1{font-size:28px;letter-spacing:-1px;margin:12px 0 7px;font-weight:600}.welcome-row h1 em{font-style:normal;color:#b49af5}.welcome-row p,.section-head p,.simple-page>p{margin:0;color:#9694a3;font-size:11px}.today-stat{width:218px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#171822}.today-stat>span{font-size:9px;color:#8d8a9c}.today-stat>strong{display:block;font:20px DM Mono;margin-top:4px}.today-stat>strong span{font-size:10px;color:#858292}.week-dots{display:flex;justify-content:space-between;margin-top:11px}.week-dots div{display:grid;justify-items:center;gap:4px}.week-dots i{width:17px;height:17px;border-radius:6px;background:#262633;color:#9d8bd7;font:9px sans-serif;display:grid;place-items:center}.week-dots .filled i{background:#493e66;color:#c6b6f1}.week-dots small{font:8px DM Mono;color:#747283}.continue-card{min-height:185px;position:relative;overflow:hidden;border:1px solid #373044;border-radius:12px;background:linear-gradient(105deg,#211e2d,#211e2a 53%,#30263d);display:flex;align-items:center;padding:24px 29px;gap:25px}.continue-art{width:128px;height:128px;position:relative;flex:none;display:grid;place-items:center;color:#c9b3ff;font:54px "Noto Serif JP";background:radial-gradient(circle,#a88afa22,transparent 66%)}.continue-art .orbit{position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid #a88afa3b;border-radius:50%}.continue-art .orbit-two{top:21px;right:21px;bottom:21px;left:21px;border-style:dashed;opacity:.65}.continue-art>span{z-index:2;text-shadow:0 0 28px #b99cff77}.continue-art i,.continue-art b{position:absolute;font-style:normal;font:17px "Noto Serif JP";color:#77e2bd}.continue-art i{top:12px;right:10px}.continue-art b{bottom:11px;left:10px;color:#d2a7ff}.continue-copy{max-width:390px;z-index:1}.card-kicker{color:#aa94d8;font-size:9px}.card-kicker span{padding:0 5px;color:#625777}.continue-copy h2{font-size:19px;margin:9px 0 6px;font-weight:600}.continue-copy p{margin:0;color:#aaa7b6;font-size:10px}.lesson-progress{margin-top:17px;width:245px}.lesson-progress>div:first-child,.route-card-bottom>div:first-child{display:flex;justify-content:space-between;margin-bottom:6px;font-size:9px;color:#8f8b9e}.lesson-progress b{font:9px DM Mono;color:#c2b2e4}.progress-track span{display:block;height:100%;background:#a78bf5;border-radius:9px}.primary-button{height:37px;display:inline-flex;align-items:center;justify-content:center;gap:19px;padding:0 14px;border-radius:7px;background:#ad91fa;color:#191523;font-size:10px;font-weight:700;white-space:nowrap;box-shadow:0 5px 19px #9d79eb22;transition:transform .2s,background .2s}.primary-button:hover{background:#c0aafa;transform:translateY(-1px)}.primary-button span{font-size:14px}.continue-card>.primary-button{margin-left:auto;z-index:1}.continue-corner{position:absolute;right:18px;top:13px;font:9px DM Mono;color:#80728f}.continue-corner span{color:#514958;padding:0 3px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:42px 0 17px}.section-kicker{font-size:8px;letter-spacing:1.25px;color:#787689}.section-head h2{font-size:17px;margin:7px 0 5px;font-weight:600}.text-button{background:none;font-size:9px;color:#a99abf;padding:7px 0}.text-button span{padding-left:7px}.route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.route-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#181922;padding:15px 14px 12px;min-height:267px}.route-card.mint{--accent:#78dfba;--accent-bg:#244238}.route-card.violet{--accent:#b396f8;--accent-bg:#352d47}.route-card.blue{--accent:#7bbde7;--accent-bg:#263b4a}.route-card.gold{--accent:#e0ba76;--accent-bg:#413a2b}.route-card-top{display:flex;align-items:center;justify-content:space-between}.route-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--accent-bg);color:var(--accent);font:17px "Noto Serif JP"}.level-tag{font-size:8px;color:#8a8997;background:#22232e;border:1px solid var(--line);padding:4px 6px;border-radius:5px}.level-tag.current{color:#8ce3c2;border-color:#376d5d55;background:#1f302c}.route-card h3{font:600 20px DM Sans;margin:13px 0 3px;letter-spacing:.2px}.route-card p{font-size:9px;color:#9693a2;margin:0}.unit-list{margin-top:14px;display:grid;gap:7px}.unit-row{display:flex;align-items:center;gap:7px;font-size:9px;color:#b7b4c1}.unit-check{width:15px;height:15px;border:1px solid #42414e;border-radius:5px;color:#797787;display:grid;place-items:center;font:8px DM Mono}.unit-check.done{border-color:#4a8c73;background:#234238;color:#88e5c3}.unit-state{margin-left:auto;color:#777587;font-size:8px}.route-card-bottom{position:relative;margin-top:14px;z-index:1}.route-card-bottom>div:first-child{font-size:8px}.route-card-bottom>div:first-child b{color:var(--accent);font:9px DM Mono}.route-card-bottom .progress-track{height:3px}.route-card-bottom .progress-track span{background:var(--accent)}.route-start{margin-top:10px;padding:0;background:none;color:var(--accent);font-size:9px;font-weight:600}.route-start span{padding-left:8px}.route-glow{position:absolute;width:110px;height:80px;right:-70px;top:40px;background:var(--accent);filter:blur(60px);opacity:.09}.bottom-row{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;margin-top:18px}.tip-card,.mini-challenge{border:1px solid var(--line);background:#181922;border-radius:9px;min-height:67px;display:flex;align-items:center;padding:12px 14px;gap:12px}.tip-icon,.challenge-icon{height:30px;width:30px;display:grid;place-items:center;flex:none;border-radius:8px;background:#302a40;color:#b49bf2}.tip-card .section-kicker{font-size:8px}.tip-card p{font-size:9px;color:#b0adbb;margin:5px 0 0}.tip-card p strong{color:#d0bafa}.tip-card>button{margin-left:auto;color:#888599;background:none;font-size:14px}.challenge-icon{background:#283a37;color:#87dfbf;font-size:18px}.mini-challenge>div:nth-child(2){display:grid;gap:4px}.mini-challenge b{font-size:10px}.mini-challenge span{font-size:8px;color:#9693a1}.mini-challenge>button{margin-left:auto;background:#242530;border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:8px;color:#c5c0d2}.mini-challenge>button span{padding-left:8px;color:#b79df5}.page-footer{margin-top:auto;min-height:53px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#656475;font-size:8px}.practice-wrap{max-width:710px;width:100%;margin:36px auto;flex:1}.practice-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.back-button{background:none;color:#aaa7b5;font-size:10px}.practice-meta{font-size:9px;color:#8f8c9d}.practice-meta span+span{margin-left:18px}.practice-meta b{color:#bca1ff}.exercise-card,.result-card{border:1px solid var(--line);border-radius:12px;background:#181922;overflow:hidden}.exercise-progress{height:3px;background:#2a2935}.exercise-progress span{display:block;height:100%;background:linear-gradient(90deg,#80e3bf,#b194f8);transition:width .3s}.exercise-heading{display:flex;justify-content:space-between;padding:23px 28px 0}.kind-tag{display:inline-block;background:#292534;color:#c5b3f0;border:1px solid #4a405d;border-radius:5px;padding:5px 8px;font-size:8px}.question-count{font:10px DM Mono;color:#aaa7b7}.question-count i{font-style:normal;color:#5d5b6a;padding:0 4px}.prompt-label{text-align:center;margin:40px 20px 10px;color:#9592a2;font-size:11px}.prompt-answer{text-align:center;font:48px "Noto Serif JP";color:#f1eff8;letter-spacing:3px}.kana-hint{text-align:center;color:#a899c9;font:14px "Noto Serif JP";margin:8px 0 32px;letter-spacing:3px}.exercise-card form{max-width:470px;margin:0 auto;padding:0 20px}.exercise-card form>label{display:block;color:#9c99a9;font-size:9px;margin-bottom:8px}.input-wrap{height:48px;border:1px solid #484455;border-radius:8px;background:#13141d;display:flex;align-items:center;padding:0 12px;gap:10px;transition:border .2s}.input-wrap>span{color:#9690a9}.input-wrap input{flex:1;min-width:0;color:#eeeaf9;background:none;border:0;outline:0;font:14px DM Mono}.input-wrap input::placeholder{color:#605e6d;font:10px DM Sans}.input-wrap kbd{font:8px DM Mono;color:#777587;border:1px solid #3a3946;border-radius:4px;padding:4px}.input-wrap.is-correct{border-color:#63be9e;box-shadow:0 0 0 3px #63be9e15}.input-wrap.is-wrong{border-color:#d98086;box-shadow:0 0 0 3px #d9808615}.answer-feedback{font-size:9px;margin:8px 2px}.answer-feedback.success{color:#80dfba}.answer-feedback.error{color:#e28d92}.exercise-actions{display:flex;align-items:center;gap:8px;margin-top:15px}.hint-button{background:transparent;color:#aaa6b5;font-size:9px;padding:8px 5px}.hint-button:hover{color:#ceb9ff}.exercise-actions .primary-button{margin-left:auto}.answer-note{max-width:470px;margin:24px auto 22px;border-top:1px solid var(--line);padding:14px 20px 0;display:flex;gap:9px;color:#a99bbf;font-size:9px}.answer-note>span{color:#b49af2}.answer-note p{margin:0;color:#9693a2;line-height:1.7}.answer-note small{display:block;margin-top:4px;color:#777486}.result-card{text-align:center;padding:48px 30px}.result-badge{margin:0 auto 17px;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;background:#302941;color:#c5aaff;font-size:22px}.result-card h1{font-size:24px;margin:10px 0}.result-card>p{color:#9693a2;font-size:10px}.result-stats{display:flex;justify-content:center;gap:50px;margin:34px 0}.result-stats div{display:grid;gap:6px}.result-stats b{font:20px DM Mono;color:#d7c7ff}.result-stats span{font-size:9px;color:#8e8b9a}.result-actions{display:flex;justify-content:center;gap:9px}.secondary-button{background:#24242f;border:1px solid var(--line);border-radius:7px;padding:0 14px;font-size:10px;color:#bcb9c7}.simple-page{max-width:820px;width:100%;margin:52px auto;flex:1}.simple-page h1{font-size:27px;margin:9px 0}.review-list,.settings-list{margin-top:27px;border:1px solid var(--line);border-radius:10px;background:#181922;overflow:hidden}.review-row{display:flex;justify-content:space-between;align-items:center;padding:16px 19px;border-bottom:1px solid var(--line)}.review-row>div{display:grid;justify-items:start;gap:6px}.review-row b{font-size:11px}.review-row small{font-size:9px;color:#92909e}.review-row button,.clear-button{background:#252431;color:#c4b0f0;padding:8px 10px;border-radius:6px;font-size:9px}.empty-state{min-height:230px;display:grid;place-content:center;justify-items:center;gap:9px;color:#aaa7b7}.empty-state>div{font-size:23px;color:#b397f2}.empty-state b{font-size:12px}.empty-state span{font-size:9px;color:#858393}.setting-row{min-height:69px;display:flex;align-items:center;justify-content:space-between;padding:15px 19px;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0}.setting-row>div{display:grid;gap:5px}.setting-row b{font-size:10px;font-weight:600}.setting-row span{font-size:9px;color:#93909f;max-width:570px;line-height:1.6}.toggle{width:34px;height:19px;background:#393844;border-radius:20px;padding:2px;transition:.2s}.toggle i{display:block;width:15px;height:15px;border-radius:50%;background:#9996a4;transition:.2s}.toggle.on{background:#594c79}.toggle.on i{transform:translate(15px);background:#c0a8fa}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}@media(max-width:1190px){.main-content{padding:0 35px}.topbar{margin:0 -35px;padding:0 35px}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-card{min-height:245px}.welcome-row{margin-top:34px}}@media(max-width:780px){.sidebar{width:64px;padding:18px 8px}.brand{padding:0;justify-content:center;margin-bottom:36px}.brand>span:last-child,.side-label,.nav-item:not(.active),.nav-item.active:not(:first-child),.side-routes,.daily-card,.profile>div,.profile-dots{display:none}.nav-item{justify-content:center;padding:0;font-size:0}.nav-item>span{font-size:18px}.nav-item.active{font-size:0}.sidebar nav{display:grid;gap:7px}.route-label{display:none}.sidebar-bottom>.nav-item{display:flex;margin-top:auto}.profile{justify-content:center;padding-top:12px}.profile .avatar{width:30px;height:30px}.main-content{margin-left:64px;padding:0 22px}.topbar{margin:0 -22px;padding:0 22px}.welcome-row{align-items:flex-start;gap:14px}.welcome-row h1{font-size:23px}.today-stat{width:166px;flex:none;padding:11px}.continue-card{padding:18px;gap:11px}.continue-art{width:90px;height:90px;font-size:42px}.continue-art i,.continue-art b{font-size:13px}.continue-copy p{max-width:220px;line-height:1.5}.lesson-progress{width:190px}.continue-card>.primary-button{position:absolute;right:15px;bottom:14px;height:31px}.continue-copy{padding-bottom:34px}.section-head{margin-top:34px}.bottom-row{grid-template-columns:1fr}.page-footer{font-size:7px}.practice-wrap{margin-top:25px}}@media(max-width:520px){.main-content{padding:0 15px}.topbar{margin:0 -15px;padding:0 15px;height:57px}.breadcrumb{font-size:9px}.streak-pill{display:none}.welcome-row{display:block;margin:29px 0 20px}.welcome-row h1{font-size:22px}.today-stat{margin-top:18px;width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center}.today-stat>strong{grid-column:1;grid-row:2}.week-dots{grid-column:2;grid-row:1/3;margin:0}.continue-card{min-height:161px;padding:13px;gap:8px}.continue-art{width:67px;height:80px;font-size:36px}.continue-art .orbit{top:7px;right:7px;bottom:7px;left:7px}.continue-art .orbit-two{top:15px;right:15px;bottom:15px;left:15px}.continue-art i{top:8px;right:4px}.continue-art b{bottom:8px;left:3px}.continue-copy h2{font-size:15px}.continue-copy p,.card-kicker{font-size:8px}.lesson-progress{width:150px;margin-top:12px}.lesson-progress>div:first-child{font-size:8px}.continue-card>.primary-button{font-size:8px;padding:0 10px;gap:7px}.section-head{align-items:start}.section-head h2{font-size:15px}.section-head p{font-size:9px}.text-button{font-size:8px;white-space:nowrap}.route-grid{grid-template-columns:1fr;gap:9px}.route-card{min-height:0;padding:14px}.unit-list{grid-template-columns:1fr 1fr}.route-card-bottom{margin-top:13px}.bottom-row{margin-top:12px}.mini-challenge{padding:10px}.page-footer{gap:10px;line-height:1.5}.page-footer span:last-child{text-align:right}.exercise-heading{padding:18px 17px 0}.prompt-label{margin-top:34px}.prompt-answer{font-size:40px}.exercise-card form{padding:0 15px}.exercise-actions{flex-wrap:wrap}.exercise-actions .primary-button{width:100%;order:3}.answer-note{padding-left:15px;padding-right:15px}.result-stats{gap:20px}.result-stats b{font-size:16px}.simple-page{margin:35px auto}.review-row{padding:13px}.review-row b{max-width:180px}.setting-row{padding:14px}.setting-row span{max-width:235px}}body{zoom:var(--ui-scale,1)}.revealed-answer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 12px;border:1px solid #63548a;border-radius:7px;background:#272235;color:#aaa5b7;font-size:10px}.unit-check.current{border-color:#4a8c73;background:#234238;color:#88e5c3}.revealed-answer b{font:500 14px DM Mono;color:#d6c4ff}.setting-select,.theme-options button{border:1px solid var(--line);border-radius:7px;background:#24242f;color:#d7d4e0;padding:8px 11px;font:inherit;font-size:10px}.theme-options{display:flex;gap:6px}.theme-options button{color:#aaa7b7}.theme-options button.selected{background:#3c3450;color:#dfd1ff;border-color:#6d5a92}.beginner-roadmap{margin-top:18px;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:#171821;display:flex;align-items:center;justify-content:space-between;gap:24px}.beginner-roadmap h2{font-size:14px;margin:7px 0}.beginner-roadmap p{font-size:9px;color:#9693a2;margin:0;max-width:360px;line-height:1.6}.roadmap-steps{display:flex;align-items:center;gap:8px}.roadmap-step{display:grid;gap:5px;min-width:84px}.roadmap-step span{font:9px DM Mono;color:#8e79bf}.roadmap-step b{font-size:9px;max-width:115px}.roadmap-step i{display:none}html.light-theme{--line:rgba(34,32,50,.12);color:#292637;background:#f2f0f8}html.light-theme body{background:radial-gradient(ellipse at 75% -15%,rgba(144,117,207,.12),transparent 48%),#f2f0f8;color:#292637}html.light-theme .sidebar{background:#fbfaff}html.light-theme .main-content{color:#292637}html.light-theme .topbar{background:#f8f7fc}html.light-theme .breadcrumb,html.light-theme .welcome-row p,html.light-theme .section-head p,html.light-theme .simple-page>p{color:#696777}html.light-theme .breadcrumb b,html.light-theme .welcome-row h1,html.light-theme .section-head h2,html.light-theme .route-card h3,html.light-theme .continue-copy h2,html.light-theme .setting-row b{color:#292637}html.light-theme .today-stat,html.light-theme .route-card,html.light-theme .tip-card,html.light-theme .mini-challenge,html.light-theme .exercise-card,html.light-theme .result-card,html.light-theme .review-list,html.light-theme .settings-list,html.light-theme .beginner-roadmap{background:#fff;border-color:#2c26401f}html.light-theme .continue-card{background:linear-gradient(105deg,#eee9f8,#f5f1fb);border-color:#ded4ee}html.light-theme .continue-copy p,html.light-theme .route-card p,html.light-theme .unit-row,html.light-theme .tip-card p,html.light-theme .setting-row span,html.light-theme .answer-note p{color:#686575}html.light-theme .route-card-bottom>div:first-child,html.light-theme .page-footer{color:#777484}html.light-theme .input-wrap{background:#f7f6fb;border-color:#c9c5d5}html.light-theme .input-wrap input{color:#292637}html.light-theme .input-wrap input::placeholder{color:#878494}html.light-theme .prompt-answer{color:#292637}html.light-theme .prompt-label,html.light-theme .kana-hint{color:#76678f}html.light-theme .revealed-answer{background:#f1edf9;color:#575367}html.light-theme .revealed-answer b{color:#594482}html.light-theme .setting-select,html.light-theme .theme-options button,html.light-theme .secondary-button{background:#f4f2f8;color:#444151}html.light-theme .theme-options button.selected{background:#e6def5;color:#483675}html.light-theme .daily-card{background:#f1eff8}html.light-theme .nav-item,html.light-theme .side-route{color:#5d5a6d}html.light-theme .side-label,html.light-theme .brand small,html.light-theme .profile small,html.light-theme .route-arrow{color:#777486}html.light-theme .brand strong,html.light-theme .profile strong{color:#302d3b}html.light-theme .streak-pill,html.light-theme .xp-pill,html.light-theme .icon-button{background:#fff;color:#635d72}html.light-theme .icon-button{border-color:#2c264024}html.light-theme .daily-top,html.light-theme .today-stat>strong{color:#393546}html.light-theme .week-dots i{background:#e5e0ef;color:#625581}html.light-theme .unit-row{color:#555264}html.light-theme .kind-tag{background:#eeeaf5;color:#655180;border-color:#ded7eb}html.light-theme .exercise-heading .question-count,html.light-theme .answer-note small{color:#777486}html.light-theme .practice-meta,html.light-theme .back-button{color:#625f70}html.light-theme .answer-note{border-color:#2c26401f}html.light-theme .empty-state{color:#555264}html.light-theme .review-row{border-color:#2c26401f}html.light-theme .review-row small{color:#777486}@media(max-width:780px){.beginner-roadmap{display:block}.roadmap-steps{margin-top:15px;flex-wrap:wrap}.roadmap-step{min-width:calc(50% - 8px)}}:root{font-family:system-ui,Microsoft YaHei,Yu Gothic UI,Meiryo,sans-serif}body{font-family:system-ui,Microsoft YaHei,Yu Gothic UI,Meiryo,sans-serif}.app-shell{animation:app-enter .42s ease both}.route-card,.continue-card,.exercise-card,.result-card,.course-unit,.data-note,.library-summary>div{animation:card-enter .42s cubic-bezier(.2,.75,.25,1) both}.route-card:nth-child(2){animation-delay:.04s}.route-card:nth-child(3){animation-delay:.08s}.route-card:nth-child(4){animation-delay:.12s}.route-glow{animation:glow-drift 8s ease-in-out infinite alternate}.pulse-dot{animation:pulse 2s ease-in-out infinite}.progress-track span,.daily-bar span{transition:width .5s cubic-bezier(.2,.75,.25,1)}.input-wrap.is-correct{animation:answer-pop .32s ease}.input-wrap.is-wrong{animation:answer-shake .28s ease}.loading-screen{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:15px;padding:28px;text-align:center;background:radial-gradient(ellipse at 50% 35%,#302440,#10111a 60%);color:#eeeaf9}.loading-screen h1{font-size:clamp(22px,4vw,34px);margin:0}.loading-screen p{max-width:600px;color:#aaa6b7;font-size:15px;line-height:1.7;margin:0}.loading-orbit{width:92px;height:92px;border:1px solid #a88afa77;border-radius:50%;display:grid;place-items:center;font:42px serif;color:#c5b0ff;box-shadow:0 0 45px #a88afa22;animation:orbit-pulse 2s ease-in-out infinite}.loading-bar{width:min(260px,75vw);height:4px;border-radius:9px;background:linear-gradient(90deg,#79dfbb,#b194f8,#79dfbb);background-size:200% 100%;animation:loading 1.5s linear infinite}.library-page{max-width:1040px}.library-page>h1{font-size:clamp(28px,3vw,38px)}.library-page>p{font-size:14px;line-height:1.6}.library-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:24px}.library-summary>div{background:#181922;border:1px solid var(--line);border-radius:10px;padding:17px 12px;display:grid;gap:7px}.library-summary b{font:600 23px DM Mono,monospace;color:#c2aaff}.library-summary span{font-size:12px;color:#aaa7b6}.library-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:23px 0}.level-tabs{display:flex;gap:5px;flex-wrap:wrap}.level-tabs button,.quick-practice>div:first-of-type button{border:1px solid var(--line);background:#1b1b28;color:#aaa7b6;border-radius:7px;padding:9px 14px;font-size:13px;transition:.2s}.level-tabs button.selected,.level-tabs button:hover,.quick-practice>div:first-of-type button:hover{background:#392f50;color:#d3c2ff;border-color:#655383}.library-search{width:min(380px,100%);height:40px;border:1px solid var(--line);border-radius:7px;background:#171822;color:#eeeaf9;padding:0 12px;font:inherit;font-size:13px;outline:none}.library-search:focus{border-color:#9177d4;box-shadow:0 0 0 3px #9d79eb1c}.course-section{border:1px solid var(--line);border-radius:12px;background:#181922;margin:15px 0 20px;padding:19px}.course-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}.course-section-head>div{display:flex;align-items:center;gap:12px}.course-section-head h2{font-size:18px;margin:0 0 5px}.course-section-head p{font-size:12px;color:#9996a5;margin:0;line-height:1.5}.course-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.course-unit{display:flex;align-items:flex-start;gap:11px;background:#1d1e28;border:1px solid var(--line);border-radius:9px;padding:13px;min-width:0}.unit-number{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#312a40;color:#c2aaff;font:11px DM Mono,monospace}.course-unit-info{flex:1;min-width:0}.course-unit h3{font-size:13px;margin:1px 0 5px}.course-unit p{font-size:11px;color:#9d9aa9;line-height:1.5;margin:0}.course-unit-info>span{display:inline-block;margin-top:7px;color:#8f80b1;font-size:10px}.course-unit>button{flex:none;align-self:center;background:transparent;color:#bda5f5;font-size:11px;white-space:nowrap}.data-note{background:#1c1b26;border:1px solid var(--line);border-left:3px solid #a88afa;border-radius:8px;padding:15px 17px;margin:22px 0;color:#aaa7b6;font-size:12px;line-height:1.7}.data-note>b{color:#e4dafa;font-size:13px}.data-note p{margin:7px 0 0}.data-note a{color:#c2aaff}.reading-card{border:1px solid var(--line);border-radius:12px;background:#181922;padding:18px;margin:13px 0;animation:card-enter .4s ease both}.reading-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.reading-heading>div{display:flex;align-items:center;gap:11px}.reading-heading h2{font-size:16px;margin:0 0 4px}.reading-heading small{font-size:11px;color:#9996a5}.reading-heading>button{background:#2a2636;color:#c5aff8;border:1px solid var(--line);border-radius:7px;padding:9px 12px;font-size:11px;white-space:nowrap}.reading-lines{display:grid;gap:0;margin-top:13px;border-top:1px solid var(--line)}.reading-line{padding:11px 5px;border-bottom:1px solid var(--line)}.reading-line:last-child{border:0}.reading-line p{font:16px/1.8 Yu Gothic UI,Meiryo,serif;color:#f1edf9;margin:0}.reading-line small{font-size:12px;line-height:1.6;color:#a9a5b4}.quick-practice{margin:22px 0}.quick-practice h2{font-size:18px}.quick-practice>div:first-of-type{display:flex;gap:8px;flex-wrap:wrap}.browse-results{margin-top:12px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#181922}.browse-row{display:grid;grid-template-columns:52px 90px minmax(0,1fr) 54px;align-items:center;gap:10px;width:100%;padding:10px 13px;border-bottom:1px solid var(--line);background:transparent;text-align:left}.browse-row:hover{background:#232230}.browse-row:last-child{border:0}.browse-row>span,.browse-row>i{font-size:10px;color:#918d9f;font-style:normal}.browse-row>b{font:17px Yu Gothic UI,Meiryo,serif;color:#eeeaf9}.browse-row>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aaa7b6;font-size:12px}.practice-meta{font-size:12px}.prompt-label{font-size:15px;line-height:1.65}.prompt-answer{min-height:58px}.prompt-answer.concealed{color:#8c8797;font:500 20px system-ui,sans-serif;letter-spacing:0}.kana-hint{font-size:15px}.exercise-card form>label{font-size:12px}.input-wrap input{font-size:18px}.answer-feedback,.hint-button,.answer-note,.answer-note p{font-size:12px}.kind-tag,.question-count{font-size:11px}.page-footer{font-size:10px}.setting-row{min-height:76px}.setting-row b{font-size:13px}.setting-row span,.setting-select,.theme-options button,.clear-button{font-size:12px}html.light-theme .library-summary>div,html.light-theme .course-section,html.light-theme .course-unit,html.light-theme .browse-results{background:#fff;color:#302d3b}html.light-theme .library-summary span,html.light-theme .course-section-head p,html.light-theme .course-unit p,html.light-theme .browse-row>small{color:#716d7c}html.light-theme .library-search{background:#fff;color:#302d3b;border-color:#2c26402e}html.light-theme .level-tabs button,html.light-theme .quick-practice>div:first-of-type button{background:#f3f1f7;color:#625d70}html.light-theme .level-tabs button.selected,html.light-theme .level-tabs button:hover{background:#e8e1f4;color:#514078}html.light-theme .course-unit{background:#fbfaff}html.light-theme .browse-row:hover{background:#f4f1f8}html.light-theme .browse-row>b{color:#302d3b}html.light-theme .data-note{background:#f4f1fa;color:#625e6e}html.light-theme .data-note>b{color:#45386a}html.light-theme .prompt-answer.concealed{color:#737080}html.light-theme .reading-card{background:#fff}html.light-theme .reading-heading small{color:#716d7c}html.light-theme .reading-heading>button{background:#f1edf8;color:#514078}html.light-theme .reading-line p{color:#302d3b}html.light-theme .reading-line small{color:#716d7c}@keyframes app-enter{0%{opacity:0}to{opacity:1}}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{box-shadow:0 0 14px #7fe4bf;transform:scale(1.2)}}@keyframes glow-drift{to{transform:translate(-14px,8px);opacity:.14}}@keyframes answer-pop{50%{transform:scale(1.012)}}@keyframes answer-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes orbit-pulse{50%{transform:rotate(12deg) scale(1.04);box-shadow:0 0 60px #a88afa3b}}@keyframes loading{to{background-position:-200% 0}}@media(max-width:800px){.library-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.library-filters{align-items:stretch;flex-direction:column}.library-search{width:100%}.course-units{grid-template-columns:1fr}}@media(max-width:520px){.library-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.library-summary>div{padding:13px 10px}.library-summary b{font-size:19px}.course-section{padding:13px}.course-section-head{align-items:flex-start;flex-direction:column}.course-unit{padding:11px}.browse-row{grid-template-columns:35px 55px minmax(0,1fr) 42px;gap:7px;padding:10px 9px}.browse-row>small{font-size:10px}.browse-row>b{font-size:15px}.practice-meta{font-size:10px}.loading-screen p{font-size:13px}.reading-heading{align-items:flex-start;flex-direction:column}.reading-line p{font-size:14px}}.route-card{animation:card-enter .48s cubic-bezier(.2,.7,.25,1) both;transition:transform .25s,border-color .25s,box-shadow .25s}.route-card:nth-child(2){animation-delay:.07s}.route-card:nth-child(3){animation-delay:.14s}.route-card:nth-child(4){animation-delay:.21s}.route-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 38%,transparent);box-shadow:0 12px 34px #0002}.route-locked{filter:saturate(.68)}.route-locked:hover{filter:saturate(.9)}.route-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-restart{margin-top:10px;padding:0;background:transparent;color:#a9a4b8;font-size:9px}.unlock-action{color:#f0c77d}.course-section{animation:card-enter .4s ease both;transition:border-color .2s,transform .2s}.course-section:hover{border-color:#a88afa35}.course-route-actions{display:flex;align-items:center;gap:8px;flex:none}.course-route-actions .secondary-button{height:37px}.course-locked .course-unit{opacity:.68}.course-unit{transition:transform .2s,border-color .2s,background .2s}.course-unit:hover{transform:translateY(-2px);border-color:#a88afa55}.course-unit>button:disabled{cursor:not-allowed;color:#797687}.unit-number-passed{background:#234238;color:#88e5c3}.unit-passed{border-color:#4a8c7330}.unit-progress-line{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 7px;color:#a59db8;font-size:10px}.unit-progress-line span:last-child{color:#8fe1bf}.stage-progress-label{display:flex;justify-content:space-between;gap:18px;margin:9px 0 5px;color:#9c98a8;font-size:10px}.stage-progress-label b{color:#bea8f5}.course-section-head .progress-track{height:4px;max-width:280px;margin-top:5px}.study-banner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 13px;margin:0 0 15px;padding:13px 16px;border:1px solid #45736255;border-radius:10px;background:linear-gradient(110deg,#1c2a28,#211e2b);animation:card-enter .35s ease both}.study-banner>span{grid-row:span 2;color:#8ee2c1;font-size:12px;font-weight:700}.study-banner>b{font-size:13px;color:#e5e0ef}.study-banner>small{font-size:11px;color:#aaa6b5;line-height:1.55}.exam-banner{border-color:#8f75bd66;background:linear-gradient(110deg,#2b2639,#23202e)}.exam-banner>span{color:#c0a4ff}.exercise-card{animation:card-enter .36s cubic-bezier(.2,.7,.25,1) both}.result-card{animation:result-arrive .5s cubic-bezier(.18,.8,.25,1) both}.exam-result{text-align:center}.exam-result>p{max-width:570px;margin:0 auto 17px;color:#aaa7b5;line-height:1.7}.exam-score{width:138px;height:138px;margin:21px auto;display:grid;place-content:center;position:relative;border-radius:50%;background:radial-gradient(circle,#352c49 0,#201d2b 70%);border:1px solid #8f75bd66;box-shadow:0 0 42px #a88afa22;animation:score-breathe 2.5s ease-in-out infinite}.exam-score strong{font:700 48px DM Mono;color:#cfbaff;line-height:1}.exam-score>span{position:absolute;right:21px;top:30px;color:#bba4f3;font-size:12px}.exam-score small{margin-top:8px;color:#aaa5b7;font-size:10px}.exam-passed .exam-score{border-color:#5fba91aa;box-shadow:0 0 44px #6bdfa22b}.exam-passed .exam-score strong{color:#8fe3bf}.lesson-result .result-badge{animation:badge-pop .55s cubic-bezier(.2,.8,.2,1) both}.course-section .progress-track span,.route-card .progress-track span{transition:width .7s cubic-bezier(.2,.7,.2,1)}html.light-theme .study-banner{background:linear-gradient(110deg,#edf7f1,#f4f0fb);border-color:#b9d8c9}html.light-theme .study-banner>b{color:#302d3b}html.light-theme .study-banner>small{color:#716d7c}html.light-theme .exam-banner{background:linear-gradient(110deg,#f2eefb,#f7f4fc);border-color:#d2c3ed}html.light-theme .exam-score{background:radial-gradient(circle,#eee6fb,#faf9fc 72%)}html.light-theme .exam-score small{color:#716d7c}html.light-theme .course-section-head .secondary-button{background:#f3f0f7;color:#625d70}@keyframes result-arrive{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes score-breathe{50%{transform:scale(1.035);box-shadow:0 0 56px #a88afa3b}}@keyframes badge-pop{0%{transform:scale(.6) rotate(-18deg);opacity:0}75%{transform:scale(1.12) rotate(5deg)}to{transform:scale(1);opacity:1}}@media(max-width:650px){.course-route-actions{width:100%;flex-wrap:wrap}.course-route-actions>*{flex:1}.study-banner{grid-template-columns:1fr}.study-banner>span{grid-row:auto}.unit-progress-line{font-size:9px}.route-actions{flex-wrap:wrap}.route-restart{margin-left:auto}}
