@font-face{font-family:Sora;src:url(/fonts/sora-latin.woff2)format("woff2");font-weight:100 800;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-latin.woff2)format("woff2");font-weight:500;font-display:swap}:root{color:#f2f5ff;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--cyan:#5fe3f5;--pink:#ff4fa0;--purple:#8a6bff;--muted:#b4c0dc;--low:#9aa7c8;--mono:"DM Mono",monospace;--english:Sora,sans-serif;background:#05071a;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}html,body,#root{min-width:320px;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button,dialog{border:0}h1,h2,p,ol,dl,dd{margin:0}ol{padding:0;list-style:none}button svg{flex-shrink:0}button{touch-action:manipulation}audio{display:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}::selection{background:#8a6bff66}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app{background:radial-gradient(60% 38% at 92% 0,#505aff33,#0000 70%),radial-gradient(70% 38% at 0 100%,#e63cbe24,#0000 70%),linear-gradient(#05071a 0%,#080a22 60%,#0d0a26 100%);flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.primary,.secondary,.text-button{text-align:center;appearance:none;flex-shrink:0;justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.primary{color:#05071a;background:#5fe3f5;border-radius:16px;min-height:56px;padding:0 16px;font-size:16px;box-shadow:0 0 28px #5fe3f54d}.secondary{background:0 0;border:1px solid #8aa0ff61;border-radius:16px;min-height:52px;padding:0 16px;font-size:15px;font-weight:600}.text-button{color:#b4c0dc;background:0 0;min-height:44px;padding:0;font-size:14px;font-weight:500}.gradient{background:linear-gradient(95deg,#5fe3f5 0%,#8a6bff 45%,#ff4fa0 100%);box-shadow:0 0 34px #ff4fa059}.pink-fill{background:#ff4fa0;box-shadow:0 0 28px #ff4fa04d}.icon-button{color:#b4c0dc;background:0 0;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.eyebrow{font:500 11px var(--mono);letter-spacing:.08em;color:#9aa7c8}.inline-link{color:#7fe6ff;background:0 0;padding:0}.storage-notice{color:var(--muted);background:#8a6bff22;flex:none;padding:6px 12px;font-size:11px}.home-content{flex-direction:column;flex:1;gap:24px;width:100%;max-width:640px;min-height:0;margin:0 auto;padding:22px 20px 112px;display:flex;position:relative;overflow-y:auto}.home-brand{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{font:600 14px var(--english);letter-spacing:.2em;white-space:nowrap;align-items:center;gap:10px;display:flex}.key-pill{color:#b4c0dc;white-space:nowrap;border:1px solid #8aa0ff47;border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;display:flex}.key-pill svg{color:inherit}.home-intro{flex-direction:column;gap:10px;display:flex}.home-intro h1{letter-spacing:.01em;font-size:29px;font-weight:700;line-height:1.42}.home-intro p{color:#b4c0dc;font-size:14px;line-height:1.7}.home-wave{height:34px;margin-top:6px}.wave{pointer-events:none;justify-content:space-between;align-items:center;width:100%;min-width:0;height:30px;display:flex}.wave i{transform-origin:50%;border-radius:2px;flex:none;width:2px;display:block}.home-wave .wave{height:34px}.home-wave .wave i{width:3px}.lesson-list{flex-direction:column;gap:6px;display:flex}.route-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.route-heading h2{font:500 11px var(--mono);letter-spacing:.14em;color:#9aa7c8}.route-heading>span{color:#9aa7c8;font-size:12px}.lesson-list>ol{position:relative}.lesson-list>ol:before{content:"";background:linear-gradient(#5fe3f5,#8a6bff80 60%,#ff4fa040);width:1px;position:absolute;top:34px;bottom:34px;left:22px}.lesson-row{text-align:left;background:0 0;align-items:center;gap:14px;width:100%;min-height:68px;padding:10px 0 10px 4px;display:flex;position:relative}.lesson-node{color:#b4c0dc;width:36px;height:36px;font:500 12px var(--mono);background:#0a0d27;border:1.5px solid #8aa0ff73;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.next .lesson-node{color:#7fe6ff;border-color:#5fe3f5;box-shadow:0 0 0 4px #5fe3f51f,0 0 18px #5fe3f559}.cleared .lesson-node{color:#05071a;background:#5fe3f5;border-color:#5fe3f5}.lesson-meta{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.lesson-meta strong{font-size:16px;font-weight:700;line-height:1.35}.lesson-meta small{color:#9aa7c8;font-size:12px;line-height:1.4}.lesson-status{font:500 11px var(--mono);letter-spacing:.1em;color:#7fe6ff}.cleared .lesson-status{color:#d8ceff}.lesson-row>svg{color:#9aa7c8;stroke-width:2px;flex:none}.review-options{flex-direction:column;gap:8px;padding:0 0 12px 54px;display:flex}.review-options p{color:#b4c0dc;font-size:12px}.review-options>div{grid-template-columns:1fr 1fr;gap:6px;display:grid}.review-options button{height:44px;font:500 11px var(--mono);letter-spacing:.06em;background:#ffffff0a;border:1px solid #8aa0ff47;border-radius:12px}.home-bottom{padding:28px 20px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(#0a0a2400,#0b0a26 42%);position:absolute;bottom:0;left:0;right:0}.home-bottom .primary{width:100%;max-width:600px;margin:auto}.lesson-header{z-index:2;flex:none;align-items:center;gap:2px;height:60px;padding:4px 10px 0 4px;display:flex;position:relative}.desktop-brand,.desktop-home{display:none}.lesson-header nav{flex:1;min-width:0;position:relative}.route-base,.route-fill{pointer-events:none;height:1px;position:absolute;top:12px;left:12.5%}.route-base{background:#8aa0ff4d;right:12.5%}.route-fill{background:#5fe3f5;transition:width .5s;box-shadow:0 0 8px #5fe3f5cc}.route{display:flex;position:relative}.route li{flex:1;min-width:0}.route button{color:#b4c0dc;width:100%;height:48px;font:500 10px var(--mono);letter-spacing:.06em;background:0 0;flex-direction:column;align-items:center;gap:8px;padding:8px 0 0;display:flex}.route-dot{background:#0a0d27;border:1.5px solid #8a9ad0;border-radius:50%;flex:none;width:9px;height:9px;transition:background .3s,box-shadow .3s}.route .locked button{color:#7884aa}.route .locked .route-dot{border-color:#4a5580}.route .passed .route-dot{background:#5fe3f5;border-color:#5fe3f5}.route .current button{color:#fff}.route .current .route-dot{background:#fff;border-color:#fff;box-shadow:0 0 0 4px #7fe6ff38,0 0 12px #7fe6ffb3}.route-dot.diamond{border-radius:2px;transform:rotate(45deg)}.session-body{outline:none;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.scene-glow{pointer-events:none;position:absolute;inset:0}.final-glow{background:radial-gradient(90% 46% at 50% 100%,#ff4fa038,#0000 72%),radial-gradient(80% 36% at 50% 0,#8a6bff38,#0000 72%)}.gate-glow{background:radial-gradient(100% 52% at 50% 100%,#ff4fa04d,#0000 72%),radial-gradient(90% 44% at 50% 16%,#8a6bff4d,#0000 72%)}.clear-glow{background:radial-gradient(100% 46% at 50% 24%,#5fe3f529,#0000 70%),radial-gradient(100% 46% at 50% 100%,#ff4fa033,#0000 72%)}.quiz{flex-direction:column;flex:1;gap:12px;width:100%;min-width:0;max-width:640px;min-height:0;margin:auto;padding:10px 16px 20px;display:flex}.quiz-heading{flex-direction:column;gap:8px;padding:0 4px;display:flex}.quiz-eyebrow{justify-content:space-between;align-items:center;gap:8px;display:flex}.quiz-eyebrow .eyebrow{color:#7fe6ff;letter-spacing:.12em}.final-quiz .quiz-eyebrow .eyebrow{color:#ff8fc4}.prototype-badge{color:#b4c0dc;white-space:nowrap;border:1px dashed #b4c0dc80;border-radius:6px;padding:3px 8px;font-size:10px;line-height:1.3}.quiz-heading h1{font-size:24px;font-weight:700;line-height:1.4}.quiz-heading>p{color:#b4c0dc;font-size:14px;line-height:1.7}.quiz-listen-area{flex-direction:column;flex:1;justify-content:flex-end;gap:22px;min-height:0;padding-bottom:64px;display:flex}.model-orb{--ring:#5fe3f56b;flex-direction:column;align-items:center;gap:22px;display:flex}.final-quiz .model-orb{--ring:#ff4fa080}.orb-row{justify-content:center;align-items:center;width:100%;height:168px;display:flex;position:relative}.orb-row>.wave{height:168px;position:absolute;inset:0}.orb{color:#05071a;width:112px;height:112px;box-shadow:0 0 0 10px #05071ae6,0 0 0 11px var(--ring),0 0 54px var(--ring);background:#5fe3f5;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.orb .play-circle{display:contents}.orb .play-circle svg[data-icon=play]{margin-left:4px}.orb svg[data-icon=pause],.play-circle svg[data-icon=pause]{margin-left:0}.orb-ring{border:1px solid var(--ring);pointer-events:none;border-radius:50%;animation:1.8s ease-out infinite sqRing;display:none;position:absolute;inset:0}.orb.playing .orb-ring{display:block}.orb-ring.second{animation-delay:.6s}.final-tone.orb,.final-tone .play-circle{background:linear-gradient(95deg,#5fe3f5 0%,#8a6bff 45%,#ff4fa0 100%)}.listen-hint{color:#b4c0dc;font-size:14px}.quiz-answered-area{flex-direction:column;flex:1;justify-content:flex-end;gap:10px;min-height:0;display:flex}.model-compact,.compact-row{width:100%}.model-lane,.voice-lane{color:#f2f5ff;text-align:left;background:#5fe3f514;border:1px solid #5fe3f566;border-radius:16px;align-items:center;gap:12px;min-width:0;height:64px;padding:0 14px 0 12px;display:flex;position:relative;overflow:hidden}.compact-row .model-lane{background:#5fe3f512;border-color:#5fe3f56b;width:100%}.compact-row .final-tone{border-color:#ff4fa080}.play-circle{color:#05071a;background:#5fe3f5;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.play-circle svg[data-icon=play]{margin-left:2px}.compact-row .wave{flex:1;height:30px}.replay-label{color:#b4c0dc;flex:none;font-size:12px}.lane-progress{pointer-events:none;background:#5fe3f5;height:2px;position:absolute;bottom:0;left:0}.voice-lane .lane-progress{background:#ff4fa0}.choice-prompt{padding:8px 4px 2px;font-size:14px;font-weight:700}.choices{flex-direction:column;gap:10px;display:flex}.choice{text-align:left;min-height:64px;font:500 15px/1.4 var(--english);background:#ffffff0a;border:1px solid #8aa0ff42;border-radius:16px;align-items:center;gap:12px;padding:10px 14px 10px 12px;transition:background .2s,border-color .2s,opacity .25s;animation:.42s cubic-bezier(.2,.8,.2,1) both sqRise;display:flex}.choice:nth-child(2){animation-delay:70ms}.choice:nth-child(3){animation-delay:.14s}.choice>span:nth-child(2){flex:1}.choice-letter{color:#b4c0dc;width:28px;height:28px;font:500 12px var(--mono);background:#8aa0ff24;border-radius:8px;flex:none;place-items:center;display:grid}.choice.correct{background:#5fe3f524;border-color:#5fe3f5}.choice.correct>svg{color:#5fe3f5;stroke-width:2.4px}.choice.incorrect{background:#8a6bff2e;border-color:#8a6bff}.choice.dim{opacity:.45}.practice{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.practice-top{flex-direction:column;flex:none;gap:6px;padding:2px 16px 0;display:flex}.practice-controls{align-items:center;gap:8px;display:flex}.level-tabs{background:#ffffff0d;border-radius:12px;flex:1;gap:2px;min-width:0;padding:3px;display:flex}.level-tabs button{color:#b4c0dc;background:0 0;border-radius:10px;flex:1 1 0;min-width:0;height:38px;padding:0 2px;font-size:13px;font-weight:700;transition:background .2s,color .2s}.level-tabs button[aria-pressed=true]{color:#05071a;background:#f2f5ff}.kana-switch{color:#b4c0dc;background:0 0;flex:none;align-items:center;gap:6px;height:44px;padding:0 2px;font-size:12px;display:flex}.switch{background:#8aa0ff4d;border-radius:999px;width:34px;height:20px;transition:background .2s;display:block;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:2px;left:2px}.switch.on{background:#5fe3f5}.switch.on:after{left:16px}.sentence-strip{min-height:44px;font:400 14px var(--english);color:#9aa7c8;flex-wrap:wrap;align-items:center;gap:2px 6px;display:flex}.sentence-strip button{min-height:44px;font:600 14px var(--english);color:#d5dcef;background:0 0;padding:0 8px;position:relative}.sentence-strip button:before{content:"";background:#ffffff0a;border:1px solid #8aa0ff4d;border-radius:10px;position:absolute;inset:6px 0}.sentence-strip button.selected{color:#fff}.sentence-strip button.selected:before{background:#5fe3f529;border-color:#5fe3f5}.sentence-strip button>span{position:relative}.sentence-strip .recorded-dot{background:#ff4fa0;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;right:-1px;box-shadow:0 0 0 2px #05071a}.practice-sidebar,.desktop-kana{display:none}.practice-middle{scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;padding:8px 20px;display:flex;overflow-y:auto}.focus-content{flex-direction:column;gap:14px;width:100%;margin:auto 0;animation:.3s both sqRise;display:flex}.focus-heading{justify-content:space-between;align-items:center;width:100%;display:flex}.focus-english,.revealed-sentence{font-family:var(--english);letter-spacing:-.01em;flex-wrap:wrap;gap:.28em .3em;font-weight:600;line-height:1.18;display:flex}.focus-english.part{font-size:46px}.focus-english.phrase{font-size:31px}.focus-english.sentence{font-size:27px}.sound-word{color:#fff;white-space:pre;display:inline-flex;position:relative}.dropped{color:#f2f5ff52;position:relative}.sound-link,.tie:after{border:2px solid #5fe3f5;border-top:0;border-radius:0 0 1em 1em;height:.2em;position:absolute;bottom:-.1em;left:-.12em;right:-.12em}.tie{position:relative}.tie:after{content:""}.kana-guide{flex-direction:column;gap:2px;display:flex}.kana-guide p{color:#7fe6ff;font-size:24px;font-weight:700;line-height:1.45}.phrase+.kana-guide p{font-size:20px}.sentence+.kana-guide p{font-size:17px}.kana-guide small{color:#9aa7c8;font-size:11px;line-height:1.5}.sound-secret{background:#8a6bff1a;border:1px solid #8a6bff47;border-radius:16px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.secret-tags{flex-wrap:wrap;gap:6px;display:flex}.secret-tags>span{color:#d8ceff;background:#8a6bff38;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.sound-secret p{color:#e6eaf8;font-size:14px;line-height:1.7}.practice-dock{padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:#0c0e2c;border-top:1px solid #8aa0ff33;border-radius:24px 24px 0 0;flex-direction:column;flex:none;gap:8px;display:flex;box-shadow:0 -16px 36px #05071a8c}.coach{justify-content:space-between;align-items:center;gap:8px;min-height:20px;font-size:13px;font-weight:700;display:flex}.lane-row{gap:8px;min-width:0;display:flex}.lane-row .model-lane,.voice-lane{flex:1}.lane-label{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.lane-label strong,.voice-label strong{font-size:13px;font-weight:700;line-height:1}.lane-label .wave{height:18px}.model-lane.unheard{box-shadow:0 0 0 1px #5fe3f5,0 0 22px #5fe3f54d}.rate,.retake{background:#ffffff0d;border:1px solid #8aa0ff47;border-radius:16px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;width:60px;height:64px;padding:0;display:flex}.rate b{font:500 15px var(--mono)}.rate small,.retake small{color:#b4c0dc;font-size:10px}.rate.slow{color:#7fe6ff;border-color:#5fe3f5}.voice-lane{background:#ff4fa00f;border:1px dashed #ff4fa099}.voice-lane .play-circle{background:#ff4fa0}.voice-label{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.voice-label small{color:#b4c0dc;font-size:12px;line-height:1.3}.voice-lane.ready{background:#ff4fa017;border:1px solid #ff4fa080}.voice-lane.recording{background:#ff4fa029;border:1px solid #ff4fa0;box-shadow:0 0 24px #ff4fa052}.recording .play-circle:before{content:"";border:1px solid #ff4fa0;border-radius:50%;animation:1.2s ease-out infinite sqRing;position:absolute;inset:0}.record-label{justify-content:space-between;align-items:center;gap:6px;display:flex}.record-time{font:500 13px/1 var(--mono)}.denied-lane{background:#ffffff0a;border:1px dashed #8aa0ff66;border-radius:16px;align-items:center;gap:12px;min-height:64px;padding:0 8px 0 12px;display:flex}.denied-lane .play-circle{color:#b4c0dc;background:#8aa0ff29}.denied-lane strong{line-height:1.3}.denied-lane small{line-height:1.4}.denied-lane button{color:#7fe6ff;background:0 0;flex:none;min-height:44px;padding:0 10px;font-size:12px;font-weight:700}.dock-actions{gap:8px;min-width:0;display:flex}.dock-actions .secondary{background:#ffffff0d;border-color:#8aa0ff52;border-radius:14px;flex:none;gap:6px;min-height:52px;padding:0 12px;font-size:13px;font-weight:700}.dock-actions .primary{min-width:0;min-height:52px;box-shadow:none;border:1px solid #5fe3f5;border-radius:14px;flex:1;gap:6px;padding:0 12px;font-size:14px}.dock-actions .primary.neutral{color:#f2f5ff;background:0 0;border-color:#8aa0ff61}.dock-actions .primary>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audio-error{color:#d4caff;font-size:12px;line-height:1.6}.audio-error .inline-link{margin-left:6px}.model-orb .audio-error{text-align:center;max-width:320px}.gate,.complete{min-height:0;padding:8px 20px calc(20px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:10px;width:100%;max-width:640px;margin:0 auto;display:flex;overflow-y:auto}.complete{padding-top:24px}.gate-center,.clear-center{text-align:center;flex-direction:column;align-items:center;gap:18px;margin:auto 0;display:flex}.quest-diamond{place-items:center;width:112px;height:112px;display:grid;position:relative}.quest-diamond:before{content:"";border:1px solid #ff8fc4b3;border-radius:12px;width:76px;height:76px;position:absolute;top:18px;left:18px;transform:rotate(45deg);box-shadow:0 0 40px #ff4fa073,inset 0 0 24px #8a6bff59}.quest-diamond i{background:linear-gradient(135deg,#5fe3f5,#8a6bff 50%,#ff4fa0);border-radius:6px;width:34px;height:34px;transform:rotate(45deg)}.gate-center{animation:.5s cubic-bezier(.2,.8,.2,1) both sqRise}.gate-title{flex-direction:column;gap:10px;display:flex}.gate .eyebrow{color:#ff8fc4;letter-spacing:.2em}.gate h1{font:700 36px/1.1 var(--english);letter-spacing:.08em}.gate-center>p,.clear-center>div>p:not(.lesson-caption){color:#e6eaf8;font-size:15px;line-height:1.8}.gate-facts{background:#05071a80;border:1px solid #ff8fc452;border-radius:16px;align-self:stretch;font-size:14px}.gate-facts>div{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.gate-facts>div+div{border-top:1px solid #ff8fc42e}.gate-facts dt{color:#b4c0dc}.gate-facts dd{font-weight:700}.gate>.primary,.complete>.primary{width:100%}.key-award{align-self:stretch;place-items:center;height:128px;margin:0 -20px;display:grid;position:relative}.key-award:before{transform-origin:0;content:"";background:linear-gradient(95deg,#5fe3f5 0%,#8a6bff 45%,#ff4fa0 100%);height:2px;animation:1s cubic-bezier(.3,.7,.2,1) both sqDraw;position:absolute;top:63px;left:0;right:0;box-shadow:0 0 14px #8a6bffe6}.key-award>span{color:#7fe6ff;background:#0a0d27;border:1.5px solid #7fe6ff;border-radius:50%;place-items:center;width:112px;height:112px;animation:.6s cubic-bezier(.2,1.4,.4,1) .7s both sqPop;display:grid;position:relative;box-shadow:0 0 0 8px #5fe3f514,0 0 48px #5fe3f566}.key-award svg{stroke-width:1.5px}.clear-center>div:not(.key-award){flex-direction:column;gap:10px;animation:.5s 1s both sqRise;display:flex}.lesson-caption{color:#b4c0dc;font-size:13px;line-height:1.7}.clear-center h1{color:#fff;font:700 37px/1.12 var(--english);letter-spacing:.05em;text-shadow:0 0 26px #7fe6ff99}.journey{text-align:left;background:#05071a80;border:1px solid #8aa0ff42;border-radius:16px;align-self:stretch;padding:6px 16px;animation:.5s 1.2s both sqRise}.journey>div{justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.journey dt{font:500 11px var(--mono);letter-spacing:.06em;color:#9aa7c8}.journey dd{font-size:13px;font-weight:700}.journey>div:last-child dd{color:#7fe6ff}.key-message{color:#7fe6ff;font-size:14px;font-weight:700;line-height:1.7;animation:.5s 1.4s both sqRise}.sheet{width:100%;max-width:560px;max-height:calc(100dvh - 20px);padding:24px 20px calc(24px + env(safe-area-inset-bottom));color:#f2f5ff;background:#10123a;border:0;border-top:1px solid #8aa0ff52;border-radius:28px 28px 0 0;margin:0 auto;animation:.38s cubic-bezier(.2,.8,.2,1) both sqUp;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -24px 60px #05071ab3}.sheet::backdrop{background:#05071a9e}.sheet>*+*{margin-top:16px}.sheet-title{align-items:center;gap:14px;display:flex}.sheet h2{font-size:20px;font-weight:700;line-height:1.45}.sheet p{color:#e6eaf8;font-size:14px;line-height:1.8}.sheet .primary,.sheet .secondary{width:100%}.sheet-icon{color:#05071a;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.sheet-icon.cyan{background:#5fe3f5;box-shadow:0 0 28px #5fe3f58c}.sheet-icon.purple{color:#d8ceff;background:#8a6bff3d;border:1px solid #8a6bff}.sheet-icon.pink{background:#ff4fa0}.sheet .revealed-sentence{font:600 20px/1.25 var(--english);color:#f2f5ff;letter-spacing:normal;row-gap:.3em;padding:2px 0 4px}.sheet .revealed-kana{color:#7fe6ff;font-size:15px}@keyframes sqRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes sqUp{0%{transform:translateY(100%)}}@keyframes sqBar{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes sqRing{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes sqPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes sqFade{0%{opacity:0}}@keyframes sqGrow{0%{width:0}to{width:100%}}@keyframes sqDraw{0%{transform:scaleX(0)}}@keyframes sqSettle{0%{transform:scaleY(7)}}.primary>svg{stroke-width:2.2px}.orb-row>.wave i{width:3px}.final-tone .lane-progress{background:linear-gradient(95deg,#5fe3f5 0%,#8a6bff 45%,#ff4fa0 100%)}.sheet .primary{padding:0 20px}.sheet .gradient,.sheet .pink-fill,.check-result .primary{box-shadow:none}.sheet-icon.cyan svg{stroke-width:2.6px}.sheet-icon.cyan,.challenge-result .sheet-icon.purple{animation:.5s cubic-bezier(.2,1.4,.4,1) .15s both sqPop}.sheet-icon.cyan-outline{color:#7fe6ff;border:1px solid #5fe3f5}.sheet-icon.cyan-outline svg{stroke-width:2.4px}.final-retry .sheet-title{display:block}.final-retry h2 .eyebrow{color:#ff8fc4;letter-spacing:.12em;margin-bottom:6px;display:block}.final-retry .revealed-sentence{font-size:22px}.final-retry .sound-link,.final-retry .tie:after{border-color:#ff8fc4}.retry-note{flex-direction:column;gap:4px;display:flex}.retry-note p{line-height:1.75}.retry-note .revealed-kana{font-weight:700;line-height:1.5}.mic-help{color:#e6eaf8;flex-direction:column;gap:8px;padding-left:20px;font-size:14px;line-height:1.7;list-style:decimal;display:flex}.check-grow{width:100%;max-width:none;height:100dvh;max-height:none;padding:24px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:none;background:radial-gradient(110% 50% at 50% 34%,#5fe3f529,#0000 72%),#070920;border:0;border-radius:0;flex-direction:column;gap:12px;animation:.35s both sqFade;display:flex;inset:0}.check-grow::backdrop{background:0 0}.check-grow>.sheet-title{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.check-grow>*+*{margin-top:0}.grow-center{flex-direction:column;gap:22px;display:flex;margin:auto 0!important}.grow-sound{flex-direction:column;gap:16px;display:flex}.grow-sound .eyebrow{color:#7fe6ff;letter-spacing:.12em}.grow-sound .wave{height:24px}.grow-sound .wave i{width:3px;animation:.9s cubic-bezier(.3,.7,.2,1) both sqSettle;opacity:1!important}.grow-sentence{font:600 29px/1.22 var(--english);letter-spacing:-.01em;flex-wrap:wrap;gap:.32em .3em;display:flex}.grow-sentence>span{animation:.5s cubic-bezier(.2,.8,.2,1) both sqRise}.grow-sentence>span:nth-child(2){animation-delay:.15s}.grow-sentence>span:nth-child(3){animation-delay:.3s}.grow-sentence>span:nth-child(4){animation-delay:.45s}.grow-sentence>span:nth-child(5){animation-delay:.6s}.grow-center h1{font-size:25px;font-weight:700;line-height:1.45;animation:.5s 1.2s both sqRise}.grow-comparison{align-items:center;gap:10px;animation:.5s 1.4s both sqRise;display:flex}.grow-comparison>span{background:#ffffff08;border:1px solid #8aa0ff3d;border-radius:12px;flex-direction:column;flex:1;gap:2px;padding:10px 12px;display:flex}.grow-comparison small{color:#9aa7c8;font-size:11px}.grow-comparison strong{color:#b4c0dc;font-size:14px}.grow-comparison>svg{color:#7fe6ff;stroke-width:2px}.grow-comparison>span:last-child{background:#5fe3f51a;border-color:#5fe3f5}.grow-comparison>span:last-child small{color:#7fe6ff}.grow-comparison>span:last-child strong{color:#f2f5ff}.check-grow>p{color:#e6eaf8;text-align:center;font-size:14px;line-height:1.7;animation:.5s 1.6s both sqFade}.check-grow>.primary{animation:.5s 1.6s both sqFade}@media (width>=700px) and (width<=1099px){.practice{width:100%;max-width:640px;margin:0 auto}.practice-middle{padding:20px}.focus-content{gap:20px}.focus-english.part{font-size:64px}.practice-dock{border-radius:24px 24px 0 0}}@media (width>=1100px){.development-banner{font-size:11px}.lesson-header{gap:40px;min-height:80px;padding:16px 32px}.desktop-brand{display:block}.home-close{display:none}.desktop-home{display:flex}.lesson-header nav{flex:0 620px;margin:auto}.route li:not(:last-child):after{display:none}.route button{border-radius:10px;flex-direction:row;gap:8px;min-height:44px;font-size:11px}.route .current button{color:var(--cyan);background:#5fe3f524}.session-body{width:100%}.practice{grid-template-rows:auto minmax(0,1fr);grid-template-columns:210px minmax(0,1fr) 340px;gap:24px 32px;width:100%;max-width:1384px;margin:0 auto;padding:12px 32px 32px;display:grid}.practice-top{grid-area:1/2;padding:0}.practice-controls{display:none}.sentence-strip{justify-content:center}.practice-sidebar{scrollbar-width:thin;flex-direction:column;grid-area:1/1/3;gap:24px;padding:12px 4px;display:flex;overflow-y:auto}.practice-sidebar section{flex-direction:column;gap:7px;display:flex}.practice-sidebar h2{color:var(--muted);margin-bottom:3px;font-size:13px}.practice-sidebar button{text-align:left;min-height:44px;font:500 13px/1.5 var(--english);background:#ffffff0a;border:1px solid #7792d14d;border-radius:12px;padding:10px 12px}.practice-sidebar button.selected{color:var(--cyan);background:#5fe3f51a;border-color:#5fe3f580}.practice-middle{grid-area:2/2;padding:12px 0}.focus-content{text-align:center;align-items:center;gap:24px;width:100%;max-width:620px;margin:auto}.focus-english{justify-content:center}.desktop-kana{font-size:13px;display:flex}.focus-english.part{font-size:clamp(46px,6vw,86px)}.focus-english.phrase{font-size:46px}.focus-english.sentence{font-size:38px}.kana-guide p,.phrase+.kana-guide p{font-size:27px}.sentence+.kana-guide p{font-size:22px}.sound-secret{text-align:left;width:100%}.practice-dock{border:1px solid #7792d133;border-radius:24px;grid-area:1/3/3;align-self:center;gap:10px;max-height:100%;padding:20px;overflow-y:auto;box-shadow:0 16px 40px #05071a66}.practice-dock .model-lane,.practice-dock .voice-lane,.practice-dock .rate,.practice-dock .retake{min-height:72px}.practice-dock .model-lane,.practice-dock .voice-lane{gap:8px;padding:0 10px}.practice-dock .wave{max-width:84px}.practice-dock .rate,.practice-dock .retake{width:56px}.practice-dock .voice-label small{font-size:10px}.practice-dock .dock-actions{flex-direction:column}.practice-dock .dock-actions .primary{flex:none}.home-content{gap:32px;padding-top:44px}.home-intro h1{font-size:36px}.lesson-row{min-height:88px}.lesson-meta strong{font-size:17px}.quiz{padding-top:32px}.quiz-heading h1{font-size:30px}.quiz-listen-area{padding-bottom:90px}.quiz-answered-area{padding-bottom:24px}.gate,.complete{padding-top:32px;padding-bottom:32px}}
