:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#eef2f3;--paper-deep:#dce5e8;--paper-light:#f8fafb;--ink:#10252d;--ink-soft:#48636c;--green:#1d7480;--green-light:#dce9eb;--vermillion:#d8573f;--vermillion-light:#f5e4e0;--line:#c4cfd2;--rail:#122a32;--display:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "Noto Serif TC", serif;--body:"Avenir Next", "Segoe UI", "Hiragino Sans", "PingFang TC", "Noto Sans TC", system-ui, sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}::selection{background:var(--green);color:#fff}html{background:var(--paper);scroll-behavior:smooth;min-width:0}body{background:var(--paper);color:var(--ink);font-family:var(--body);margin:0;line-height:1.55}h1,h2,h3,h4{text-wrap:balance;scroll-margin-top:1rem}button,input{font:inherit}button{border:1px solid var(--ink);min-height:44px;color:inherit;cursor:pointer;transition:background-color .14s var(--ease-out), border-color .14s var(--ease-out), color .14s var(--ease-out), transform 80ms var(--ease-out);background:0 0}button:active:not(:disabled){transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.45}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,canvas:focus-visible){outline:3px solid var(--green);outline-offset:3px}[data-view-heading]:focus{outline:2px solid var(--green);outline-offset:6px}a{color:inherit}progress{background:var(--paper-deep);width:100%;height:6px;accent-color:var(--green);border:0;overflow:hidden}progress::-webkit-progress-bar{background:var(--paper-deep)}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:.75rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100dvh}.side-rail,.rail-toggle{display:none}.app-main{min-width:0;padding-right:env(safe-area-inset-right);padding-bottom:calc(6rem + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left)}.topbar{border-bottom:1px solid var(--line);background:#eef2f3f5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:78px;padding:.75rem 1rem;display:grid;position:relative}.topbar>div:not(.mobile-brand):not(.auth-panel){display:none}.mobile-brand{grid-area:1/1;min-width:0}.topbar>.auth-panel-login{grid-area:1/2;place-self:center end;margin-top:0}.today-date,.topbar strong{display:block}.today-date{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.topbar strong{margin-top:.15rem;font-size:1rem}.auth-panel{flex-wrap:wrap;align-items:end;gap:.45rem;margin-top:.65rem;font-size:.72rem;display:flex}.auth-panel form,.auth-panel label{flex-wrap:wrap;align-items:end;gap:.4rem;display:flex}.auth-panel label{color:var(--ink-soft)}.auth-panel input{border:1px solid var(--line);background:var(--paper-light);min-height:38px;color:var(--ink);padding:.45rem .55rem}.auth-panel button{min-height:44px;padding:.45rem .65rem}.auth-panel p{color:var(--ink-soft);flex-basis:100%;margin:0}.auth-message.is-neutral{color:var(--green)}.auth-message.is-error{color:var(--vermillion)}.auth-panel div strong,.auth-panel div small{display:block}.auth-captcha{border:1px solid var(--line);background:var(--paper-light);gap:.5rem;width:min(100%,280px);padding:.6rem .7rem;display:grid}.auth-captcha h2{margin:0;font-size:.72rem}.auth-captcha-widget{min-height:78px}.auth-captcha-fallback{color:var(--ink-soft);font-size:.7rem}.auth-captcha-fallback summary{cursor:pointer}.auth-login-trigger{background:var(--green);color:#fff;min-width:7rem;font-weight:700}.auth-dialog{border:1px solid var(--ink);background:var(--paper-light);width:min(100vw - 2rem,760px);max-height:calc(100dvh - 2rem);color:var(--ink);margin:auto;padding:0;overflow:auto}.auth-dialog::backdrop{background:#10252d94}.auth-dialog-shell{display:grid}.auth-dialog-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:1rem;padding:1rem 1.1rem;display:flex}.auth-dialog-heading h2{margin:.1rem 0 0;font-size:1.45rem}.auth-dialog-heading p{color:var(--ink-soft);margin:.3rem 0 0;font-size:.78rem}.auth-dialog-heading small{color:var(--green);font-weight:700}.auth-dialog-heading button{min-width:5rem}.auth-dialog-grid{background:var(--line);gap:1px;display:grid}.auth-dialog-grid>*{background:var(--paper-light)}.auth-dialog .auth-captcha{border:0;width:100%;padding:1rem}.auth-dialog .auth-captcha h3{font-size:1rem}.auth-dialog-actions{align-content:start;gap:.75rem;padding:1rem;display:grid}.auth-dialog-actions form,.auth-dialog-actions form label{gap:.4rem;display:grid}.auth-dialog-actions input{width:100%;min-height:44px}.auth-dialog-actions button{white-space:nowrap;width:100%}.auth-dialog-actions .privacy-note{color:var(--ink-soft);font-size:.72rem}.cms-layout{gap:1rem;display:grid}.cms-view .page-heading a{align-items:center;min-height:44px;padding:.25rem;display:inline-flex}.cms-form,.cms-preview{border:1px solid var(--line);background:var(--paper-light);gap:.85rem;padding:1rem;display:grid}.cms-form label{color:var(--ink-soft);gap:.3rem;font-size:.75rem;display:grid}.cms-form input,.cms-form textarea,.cms-form select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;padding:.55rem}.cms-form textarea{resize:vertical;min-height:76px}.cms-message{margin:0}.cms-message.is-neutral{color:var(--green)}.cms-message.is-error{color:var(--vermillion)}.cms-actions{gap:.5rem;display:grid}.cms-revision-link{border-top:1px solid var(--line);gap:.35rem;margin:0;padding-top:.7rem;display:grid}.cms-revision-link code{overflow-wrap:anywhere}.cms-gates{background:var(--line);gap:1px;margin:0;padding:1px;list-style:none;display:grid}.cms-gates li{background:#fff;grid-template-columns:minmax(8rem,1fr) auto;gap:.2rem 1rem;padding:.65rem;display:grid}.cms-gates li small{color:var(--ink-soft);grid-column:1/-1}.cms-preview h3{font-size:1.5rem}.cms-preview dl{gap:.5rem;margin:0;display:grid}.cms-preview dl div{grid-template-columns:7rem 1fr;display:grid}.cms-preview dt{color:var(--ink-soft)}.cms-preview fieldset{border:1px solid var(--line);gap:.5rem;margin:0;padding:1rem;display:grid}.brand{align-items:center;gap:.65rem;display:flex}.brand-mark{flex:none;width:40px;height:40px;display:block}.brand strong,.brand small{display:block}.brand strong{font-family:var(--body);letter-spacing:-.02em;font-size:1.2rem}.brand small{color:var(--ink-soft);letter-spacing:.18em;font-size:.65rem}.global-notice{border:1px solid var(--line);background:var(--paper-light);justify-content:space-between;align-items:center;gap:1rem;margin:1rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.global-notice button{border:0;min-width:44px;min-height:44px;padding:0;font-size:1.25rem}.pwa-update-status{z-index:30;border:1px solid var(--ink);background:var(--paper-light);max-width:24rem;color:var(--ink);padding:.75rem 1rem;font-size:.8rem;position:fixed;bottom:1rem;right:1rem}.guest-adoption{border:1px solid var(--ink);background:var(--paper-light);gap:1rem;margin:1rem;padding:1rem;display:grid}.guest-adoption h2,.guest-adoption p{margin:0}.guest-adoption dl{gap:.4rem;margin:0;display:grid}.guest-adoption dl div{grid-template-columns:8rem 1fr;gap:1rem;display:grid}.guest-adoption dt{color:var(--ink-soft)}.guest-adoption dd{margin:0}.sync-status{color:var(--ink-soft);align-items:center;gap:.6rem;margin:.5rem 1rem;font-size:.72rem;display:flex}.sync-status p{margin:0}.sync-status.is-error{color:var(--vermillion)}.sync-status button{min-height:32px;padding:.25rem .5rem}.account-data{border:1px solid var(--line);background:var(--paper-light);gap:1rem;margin:1rem;padding:1rem;display:grid}.account-data h2,.account-data p{margin:0}.account-data ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.account-data li{align-items:center;gap:.5rem;display:grid}.account-data input{border:1px solid var(--line);min-height:42px;padding:.5rem}.account-delete{border-top:1px solid var(--line);gap:.5rem;padding-top:1rem;display:grid}.mfa-panel{border:1px solid var(--line);background:var(--paper-deep);gap:.55rem;padding:.85rem;display:grid}.mfa-panel h3,.mfa-panel p{margin:0}.mfa-panel button{justify-self:start}.mfa-enrollment{gap:.45rem;display:grid}.mfa-enrollment img{background:#fff;width:min(100%,220px);height:auto}.mfa-enrollment code,.mfa-enrollment small{overflow-wrap:anywhere}.mfa-verification{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.mfa-verification label{color:var(--ink-soft);gap:.25rem;display:grid}.mfa-verification input{border:1px solid var(--line);background:#fff;width:10rem;min-height:42px;padding:.5rem}.mfa-recovery-button{color:var(--ink-soft);border:0;padding:.2rem 0;text-decoration:underline}.view{width:min(100%,1240px);margin:0 auto;padding:1.5rem 1rem 3rem}.context-line,.meta-line{letter-spacing:.03em;margin:0 0 .4rem;font-size:.72rem;font-weight:650}.context-line{color:var(--green)}.meta-line{color:var(--ink-soft)}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{font-family:var(--body);font-weight:750}h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.2rem,11vw,4.8rem);line-height:1.04}h1 [lang=ja]{font-family:var(--display);font-weight:700}h2{margin:0;font-size:clamp(1.55rem,6vw,2.15rem);line-height:1.2}h3{margin:0}p{text-wrap:pretty}.section-heading{display:block}.section-heading h1,.section-heading h2,.section-heading h3{margin:0}.section-heading p{max-width:34rem;color:var(--ink-soft);margin:.45rem 0 0}.compact-heading h2,.compact-heading h3{font-size:1.35rem}.page-heading{margin:1.5rem 0 2rem}.page-heading>div>p:last-child{max-width:42rem;color:var(--ink-soft);margin:.8rem 0 0}.bottom-nav{z-index:50;padding:.35rem max(.35rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));border-top:1px solid var(--line);background:#f8fafbfa;position:fixed;bottom:0;left:0;right:0}.bottom-nav .nav-list{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.bottom-nav button{min-width:0;color:var(--ink-soft);border:0;gap:.1rem;padding:.3rem .1rem;font-size:.64rem;display:grid;position:relative}.bottom-nav button>.nav-mark{font-family:var(--body);font-size:1.05rem;font-weight:650}.bottom-nav .nav-label{font-size:.64rem}.bottom-nav button[aria-current=page]{color:var(--green)}.bottom-nav button:hover:not(:disabled){color:var(--green);background:0 0}.bottom-nav button small{background:var(--vermillion);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:.58rem;display:grid;position:absolute;top:2px;left:calc(50% + 8px)}.today-intro{align-items:end;gap:1.5rem;padding:1.5rem 0 2.5rem;display:grid}.today-intro .intro-copy{max-width:34rem;color:var(--ink-soft);margin:1rem 0 0}.today-intro .mobile-streak{border-top:1px solid var(--line);color:var(--ink-soft);align-items:baseline;gap:.55rem;margin-top:1.15rem;padding-top:.7rem;font-size:.72rem;display:flex}.mobile-streak strong{color:var(--green);font-family:var(--body);font-variant-numeric:tabular-nums;font-size:1.15rem}.daily-mission{border:solid var(--line);background:var(--paper-deep);border-width:1px 0;gap:1rem;margin-bottom:1.5rem;padding:1.1rem;display:grid}.daily-mission h2{font-size:1.35rem}.daily-mission ol{gap:.45rem;margin:0;padding-left:1.5rem;font-size:.75rem;display:grid}.daily-mission li::marker{color:var(--green);font-family:var(--body);font-weight:700}.ruled-panel{border:1px solid var(--ink);background-color:var(--paper-light)}.next-lesson{grid-template-columns:auto 1fr;gap:1rem;padding:1.25rem;display:grid;position:relative}.lesson-index{border-right:1px solid var(--line);padding-right:1rem}.lesson-index span,.lesson-index strong{display:block}.lesson-index span{color:var(--ink-soft);letter-spacing:.04em;font-size:.68rem}.lesson-index strong{color:var(--green);font-family:var(--body);font-variant-numeric:tabular-nums;margin-top:1rem;font-size:2rem}.lesson-copy p:not(.meta-line){color:var(--ink-soft);margin:.4rem 0}.lesson-copy ul{flex-wrap:wrap;gap:.35rem 1.1rem;margin:.8rem 0 0;padding:0;font-size:.72rem;list-style:none;display:flex}.lesson-copy li:before{content:"— ";color:var(--green)}.start-lesson{background:var(--green);color:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.start-lesson b{font-size:1.3rem}.lesson-progress{background:var(--line);grid-column:1/-1;height:2px;margin-top:.5rem;position:relative}.lesson-progress>span{background:var(--green);position:absolute;inset:0 auto 0 0}.lesson-progress small{color:var(--ink-soft);font-size:.65rem;position:absolute;top:.35rem;right:0}.dashboard-grid{border:1px solid var(--line);background:var(--line);gap:1px;margin-top:2.5rem;display:grid}.dashboard-grid>section{background:var(--paper);padding:1.25rem}.foundation-meter{grid-template-columns:auto 1fr;align-items:center;gap:1.4rem;margin-top:1.5rem;display:grid}.foundation-meter>strong{font-family:var(--body);font-variant-numeric:tabular-nums;font-size:3.3rem;line-height:1}.foundation-meter>strong small,.review-count small{font-size:1rem}.foundation-meter>div{grid-template-columns:4.5rem 1fr;align-items:center;gap:.55rem;font-size:.72rem;display:grid}.text-button{text-align:left;border-width:1px 0 0;width:100%;margin-top:1.5rem;padding:.7rem 0}.text-button span{float:right}.track-row{margin-top:1.4rem}.track-row>div{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.track-row>div span{letter-spacing:.05em;font-size:.78rem;font-weight:700}.track-row>div strong{font-family:var(--body);font-variant-numeric:tabular-nums;font-size:1.3rem}.track-row small{color:var(--ink-soft);font-size:.74rem}.skill-bars{border-top:1px solid var(--line);gap:.45rem;margin-top:1.3rem;padding-top:1rem;display:grid}.skill-bars>div{grid-template-columns:5rem 1fr 1.7rem;align-items:center;gap:.5rem;font-size:.74rem;display:grid}.review-preview{color:var(--paper-light);background:var(--rail)!important}.review-count{font-family:var(--body);font-variant-numeric:tabular-nums;margin-top:1.4rem;font-size:4.8rem;line-height:1;display:block}.review-preview>p{color:#d6ded9;margin:.6rem 0 1rem;font-size:.8rem}.review-preview>button{border-color:var(--paper-light);width:100%;color:var(--paper-light)}.content-notice{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:2rem;padding-top:1rem;font-size:.78rem}.stage-track{border:solid var(--line);border-width:1px 0 0 1px;grid-template-columns:repeat(2,1fr);margin:0 0 2rem;display:grid}.stage-track button{border:solid var(--line);text-align:left;border-width:0 1px 1px 0;gap:.3rem;min-width:0;padding:.9rem;display:grid}.stage-track button>span{color:var(--green);font-family:var(--body);font-variant-numeric:tabular-nums;font-size:.75rem}.stage-track button strong{font-family:var(--body)}.stage-track button small{color:var(--ink-soft);font-size:.62rem}.stage-track button[data-preview=true]{background:#e8edef}.stage-track button[aria-current=step]{background:var(--green);color:#fff}.stage-track button[aria-current=step] small,.stage-track button[aria-current=step] span{color:#d9f1f3}.lesson-workspace{border:1px solid var(--ink);background:var(--paper-light);display:grid}.lesson-brief{border-bottom:1px solid var(--ink);padding:1.4rem}.lesson-brief>p:not(.meta-line){color:var(--ink-soft)}.lesson-brief dl{border-top:1px solid var(--line);margin:1.5rem 0 0}.lesson-brief dl>div{border-bottom:1px solid var(--line);grid-template-columns:5.5rem 1fr;padding:.65rem 0;font-size:.75rem;display:grid}.lesson-brief dt{color:var(--ink-soft)}.lesson-brief dd{margin:0;font-weight:700}.lesson-quiz{padding:1.4rem}.lesson-quiz fieldset{border:0;gap:.65rem;margin:0 0 1rem;padding:0;display:grid}.lesson-quiz legend{width:100%;font-family:var(--body);margin-bottom:1rem;font-size:1.15rem;font-weight:700}.lesson-quiz legend span{color:var(--green);font-family:var(--body);letter-spacing:.14em;margin-bottom:.3rem;font-size:.64rem;display:block}.preview-notice{border:1px solid var(--line);background:var(--paper);margin:0 0 1rem;padding:.75rem;font-size:.72rem}.lesson-quiz.is-preview fieldset{opacity:.72}.lesson-quiz label{border:1px solid var(--line);cursor:pointer;grid-template-columns:auto 2rem 1fr;align-items:center;gap:.6rem;min-height:52px;padding:.55rem .75rem;display:grid}.lesson-quiz label:has(input:checked){border-color:var(--ink);background:var(--paper-deep)}.lesson-quiz input{accent-color:var(--green)}.choice-index{color:var(--green);font-family:var(--body);font-size:1.2rem}.lesson-quiz label.answer-correct{border-color:var(--green);background:var(--green-light)}.lesson-quiz label.answer-wrong{border-color:var(--vermillion);background:var(--vermillion-light)}.primary-button{background:var(--green);color:#fff;padding:.7rem 1.1rem}.quiz-feedback{border:1px solid var(--line);background:var(--paper);margin-top:1rem;padding:1rem}.quiz-feedback strong{color:var(--green)}.quiz-feedback.is-wrong strong{color:var(--vermillion)}.quiz-feedback p,.save-state{margin:.25rem 0 0;font-size:.78rem}.save-state{color:var(--ink-soft)}.path-disclaimer{color:var(--ink-soft);margin-top:1rem;font-size:.78rem}.workshop-layout{gap:1px;width:min(100%,1240px);margin:0 auto;padding:1.5rem 1rem 3rem;display:grid}.workshop-layout>section{border:1px solid var(--line);background:var(--paper-light);min-width:0;padding:1.25rem}.workshop-toolbar{gap:.7rem;margin-top:1.3rem;display:grid}.segmented{border:1px solid var(--line);flex-wrap:wrap;width:fit-content;display:inline-flex}.segmented button{border:0;border-right:1px solid var(--line);min-height:38px;padding:.45rem .75rem;font-size:.72rem}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper-light)}.kana-picker-label{color:var(--ink-soft);margin:1rem 0 .4rem;font-size:.68rem;font-weight:700}.kana-row-picker{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:.35rem;display:grid}.kana-row-picker button{border:1px solid var(--line);background:var(--paper-light);min-height:44px;padding:.45rem .35rem;font-size:.68rem}.kana-row-picker button[aria-pressed=true]{background:var(--ink);color:var(--paper-light)}.kana-picker{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.kana-picker button{background:var(--paper-light);border:0;place-items:center;min-width:0;min-height:54px;padding:.3rem;display:grid}.kana-picker button[aria-pressed=true]{background:var(--green);color:#fff}.kana-picker button span{font-family:var(--display);font-size:1.3rem;line-height:1}.kana-picker button small{color:inherit;font-size:.52rem}.character-title{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.character-title>span{font-family:var(--display);font-size:3.5rem;line-height:1}.character-title strong,.character-title small{display:block}.character-title strong{color:var(--green);font-size:1.15rem}.character-title small{color:var(--ink-soft);font-size:.68rem}.writing-square{aspect-ratio:1;border:1px solid var(--ink);background-color:#fbfcfc;background-image:linear-gradient(45deg,#0000 calc(50% - .5px),#d8573f2e 50%,#0000 calc(50% + .5px)),linear-gradient(-45deg,#0000 calc(50% - .5px),#d8573f2e 50%,#0000 calc(50% + .5px)),linear-gradient(90deg,#0000 calc(50% - .5px),#1d748033 50%,#0000 calc(50% + .5px)),linear-gradient(#0000 calc(50% - .5px),#1d748033 50%,#0000 calc(50% + .5px));width:min(100%,510px);margin:0 auto;position:relative;overflow:hidden}.writing-square canvas,.stroke-guide{width:100%;height:100%;position:absolute;inset:0}.writing-square canvas{z-index:2;touch-action:none}.stroke-guide{z-index:1;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;overflow:visible}.writing-station .stroke-guide{stroke-width:1.35px}.kana-glyph-guide{fill:var(--ink);stroke:none;opacity:.055;font-family:var(--font-kana-guide), "Noto Sans JP", sans-serif;font-size:88px;font-weight:400}.stroke-guide path.complete{stroke:var(--green);opacity:.25}.stroke-guide path.current{stroke:var(--vermillion);opacity:.8}.stroke-guide path.upcoming{stroke:var(--ink);opacity:.11}.stroke-guide marker circle,.stroke-guide marker path{fill:var(--vermillion);stroke:none}.mode-test .kana-glyph-guide,.mode-test .stroke-guide>path{opacity:0}.mode-test .stroke-guide path.current{opacity:.08}.production-check-canvas .stroke-guide>path{opacity:0}.stroke-guide.is-demonstrating path.current{stroke-dasharray:1;animation:1.3s ease-out both demonstrate-stroke}@keyframes demonstrate-stroke{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.canvas-fallback{z-index:3;background:var(--paper);color:var(--vermillion);padding:.25rem .4rem;font-size:.6rem;position:absolute;bottom:.5rem;right:.5rem}.stroke-progress{justify-content:space-between;gap:1rem;margin:.9rem 0 0;display:flex}.stroke-progress strong{font-family:var(--body);font-variant-numeric:tabular-nums}.stroke-progress span{color:var(--ink-soft);text-align:right;font-size:.62rem}.canvas-status{border:solid var(--line);border-width:1px 0;min-height:3em;margin:.7rem 0;padding:.65rem 0;font-size:.75rem}.stroke-transcript{color:var(--ink-soft);margin:0 0 .7rem;font-size:.72rem;line-height:1.6}.kana-unit-instruction{border:solid var(--line);border-width:1px 0;margin:.8rem 0;padding:.8rem 0;font-size:.72rem}.kana-unit-instruction h3,.kana-unit-instruction p{margin:0 0 .45rem}.kana-unit-instruction ul{color:var(--ink-soft);margin:0 0 .65rem;padding-left:1.2rem}.kana-unit-instruction fieldset{border:1px solid var(--line);margin:0;padding:.6rem}.rule-practice{gap:1rem;display:grid}.rule-practice .lesson-brief label{gap:.35rem;margin:.4rem .75rem .4rem 0;display:inline-flex}.canvas-actions,.speech-actions,.review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.canvas-actions button,.speech-actions button,.review-actions button{flex:auto;padding:.55rem .7rem;font-size:.7rem}.keyboard-help,.support-note,.privacy-note{color:var(--ink-soft);font-size:.75rem}.privacy-note a,.speech-privacy-gate a,.legal-content a{color:var(--green);text-underline-offset:.15em;text-decoration:underline}.license-link{font-size:.65rem}.speech-practice{align-self:start}.speech-target{border:solid var(--line);border-width:1px 0;place-items:center;min-height:128px;margin:1.25rem 0;display:grid}.speech-target strong{font-family:var(--display);font-size:4rem;line-height:1}.speech-target span{color:var(--green);font-size:.75rem}.speech-practice>.primary-button{width:100%;margin:.8rem 0}.speech-practice .notice{border:solid var(--line);border-width:1px 0;padding:.7rem 0;font-size:.7rem}.danger-button{border-color:var(--vermillion);color:var(--vermillion)}.recognition-status{border-bottom:1px solid var(--line);min-height:3rem;padding:.7rem 0;font-size:.75rem}.recording-player{width:100%;margin-top:.7rem}.speech-privacy-gate{border:1px solid var(--line);margin:1rem 0 0;padding:.8rem}.speech-privacy-gate legend{color:var(--ink-soft);padding-inline:.35rem;font-size:.72rem}.speech-privacy-gate p{color:var(--ink-soft);margin:0 0 .7rem;font-size:.72rem;line-height:1.55}.speech-privacy-gate label{align-items:flex-start;gap:.5rem;font-size:.72rem;line-height:1.5;display:flex}.speech-privacy-gate input{flex:none;margin-top:.2rem}.legal-page{min-height:100dvh}.legal-content{width:min(100%,760px);margin:0 auto;padding:2rem 1rem 4rem}.legal-content h1{font-family:var(--display);margin:.3rem 0 1rem;font-size:clamp(2.5rem,8vw,4.8rem);font-weight:400;line-height:.95}.legal-content h2{border-top:1px solid var(--line);margin:2rem 0 .65rem;padding-top:1rem;font-size:1.15rem}.legal-content p,.legal-content li{color:var(--ink-soft);font-size:.85rem;line-height:1.75}.legal-content ul{margin:0;padding-left:1.25rem}.legal-content li+li{margin-top:.55rem}.legal-content strong{color:var(--ink)}.legal-lead{max-width:46rem;font-size:1rem!important}.legal-nav{border-top:1px solid var(--ink);margin-top:2.5rem;padding-top:1rem}.srs-explainer{border:solid var(--line);border-width:1px 0;gap:.4rem;margin:0 0 1.5rem;padding:1rem 0;display:grid}.srs-explainer p{color:var(--ink-soft);margin:0;font-size:.8rem}.review-message{min-height:1.5rem;color:var(--green);font-size:.75rem}.review-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.review-list li{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;gap:1rem;padding:1.2rem 0;display:grid}.review-index{color:var(--green);font-family:var(--body);font-variant-numeric:tabular-nums}.review-list p,.review-list strong,.review-list small{margin:0;display:block}.review-list p{color:var(--ink-soft);font-size:.68rem}.review-list strong{font-family:var(--display);margin:.3rem 0;font-size:1.45rem}.review-list small{color:var(--ink-soft);font-size:.65rem}.review-actions{grid-column:1/-1}.review-done{text-align:center;padding:4rem 1rem}.empty-count{color:var(--green);font-variant-numeric:tabular-nums;margin-bottom:.5rem;font-size:3.4rem;font-weight:650;line-height:1;display:block}.review-done p{color:var(--ink-soft)}@media (min-width:680px){.account-data li{grid-template-columns:minmax(10rem,1fr) auto auto auto}.topbar,.view,.workshop-layout{padding-inline:2rem}.today-intro{padding-block:3rem}.daily-mission{grid-template-columns:.55fr 1.45fr;align-items:center;padding:1.2rem 1.5rem}.daily-mission ol{grid-template-columns:repeat(2,minmax(0,1fr))}.next-lesson{grid-template-columns:auto 1fr auto;padding:1.75rem}.start-lesson{grid-column:auto;align-self:center;width:160px}.dashboard-grid{grid-template-columns:1fr 1fr}.cms-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dual-progress{grid-row:span 2}.stage-track{grid-template-columns:repeat(7,1fr)}.stage-track button{min-height:112px}.lesson-workspace{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}.lesson-brief{border:0;border-right:1px solid var(--ink)}.workshop-toolbar{grid-template-columns:auto auto;justify-content:space-between}.review-list li{grid-template-columns:auto 1fr auto;align-items:center}.review-actions{grid-column:auto;min-width:210px}}@media (min-width:900px){.app-shell{grid-template-columns:196px minmax(0,1fr);display:grid}.side-rail{background:var(--rail);height:100dvh;color:var(--paper-light);border-right:1px solid #27444d;flex-direction:column;padding:1.7rem 1.1rem;display:flex;position:sticky;top:0}.side-rail .brand{border-bottom:1px solid #35515a;padding-bottom:1.5rem}.side-rail .brand small{color:#a8bbc0}.rail-toggle{color:#a8bbc0;border-color:#35515a;place-items:center;width:100%;min-height:34px;margin-top:.75rem;display:grid}.rail-toggle span{font-size:1.35rem;line-height:1}.side-rail .nav-list{gap:.35rem;margin-top:1rem;display:grid}.side-rail .nav-list button{text-align:left;border:0;grid-template-columns:2rem 1fr auto;align-items:center;gap:.55rem;padding:.65rem .5rem;display:grid;position:relative}.side-rail .nav-list button>.nav-mark{font-family:var(--body);font-size:1rem;font-weight:650}.side-rail .nav-list button small{background:var(--vermillion);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.62rem;display:grid}.side-rail .nav-list button[aria-current=page]{background:var(--green);color:#fff}.rail-streak{border:1px solid #35515a;border-width:1px 0;grid-template-columns:1fr auto;align-items:end;margin-top:auto;padding:1rem 0;display:grid}.rail-streak span,.rail-streak small{color:#a8bbc0;font-size:.65rem}.rail-streak strong{font-family:var(--body);font-variant-numeric:tabular-nums;grid-row:span 2;font-size:2.7rem;line-height:1}.rail-note{color:#a8bbc0;margin:1rem 0 0;font-size:.72rem}.app-shell.is-rail-collapsed{grid-template-columns:72px minmax(0,1fr)}.is-rail-collapsed .side-rail{padding-inline:.65rem}.is-rail-collapsed .brand{justify-content:center}.is-rail-collapsed .brand-copy,.is-rail-collapsed .nav-label,.is-rail-collapsed .rail-streak,.is-rail-collapsed .rail-note{display:none}.is-rail-collapsed .side-rail .nav-list button{grid-template-columns:1fr;justify-items:center;padding-inline:.25rem}.is-rail-collapsed .side-rail .nav-list button small{position:absolute;top:2px;right:0}.app-main{padding-bottom:0}.bottom-nav,.mobile-brand{display:none}.topbar{grid-template-columns:minmax(10rem,1fr) auto;align-items:start;gap:.75rem 1.5rem;min-height:82px}.topbar>div:not(.mobile-brand):not(.auth-panel){min-width:0;padding-top:.15rem;display:block}.topbar .today-date{white-space:nowrap}.topbar>.auth-panel{justify-content:flex-end;margin-top:0;display:flex}.topbar>.auth-panel-login{align-self:center}.view,.workshop-layout{padding:2rem clamp(2rem,4vw,4rem) 4rem}.today-intro{padding-block:3rem 2.5rem}.today-intro .mobile-streak{display:none}.dashboard-grid{grid-template-columns:1fr 1.25fr .78fr}.dual-progress{grid-row:auto}.workshop-layout{grid-template-columns:minmax(240px,.82fr) minmax(390px,1.25fr);align-items:start}.speech-practice{grid-column:1/-1}.workshop-toolbar{grid-template-columns:1fr}}@media (min-width:1100px){.topbar{grid-template-columns:140px minmax(0,1fr);align-items:stretch;gap:1.25rem;padding-block:1rem}.topbar>div:not(.mobile-brand):not(.auth-panel){border-right:1px solid var(--line);flex-direction:column;justify-content:center;padding:0 1.25rem 0 0;display:flex}.topbar>.auth-panel-login{grid-area:1/2;justify-self:end}.auth-dialog-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}@media (min-width:1240px){.workshop-layout{grid-template-columns:minmax(250px,.78fr) minmax(430px,1.25fr) minmax(260px,.82fr)}.speech-practice{grid-column:auto}}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled){border-color:var(--green);background:var(--green);color:#fff}.bottom-nav button:hover:not(:disabled){color:var(--green);background:0 0}.side-rail .nav-list button:hover:not(:disabled){background:#1a3a44;border-color:#0000}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.landing-page{background:var(--paper);min-height:100dvh;color:var(--ink);overflow-x:clip}.landing-page h1,.landing-page h2{letter-spacing:-.045em;margin-top:0}.landing-page [lang=ja]{font-family:var(--display)}.landing-header{z-index:10;background:var(--rail);min-height:76px;color:var(--paper-light);border-bottom:1px solid #31505a;justify-content:space-between;align-items:center;padding:14px clamp(18px,4vw,68px);animation:none;display:flex;position:relative}.landing-brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.landing-brand img{border-radius:10px}.landing-brand span,.landing-brand strong,.landing-brand small{display:block}.landing-brand strong{letter-spacing:.02em;font-size:.98rem}.landing-brand small{color:#a8bbc0;letter-spacing:.1em;margin-top:1px;font-size:.68rem}.landing-header .auth-panel{justify-content:flex-end;align-items:center;margin:0}.landing-header .auth-panel>small{color:#a8bbc0}.landing-header .auth-panel>button:not(.auth-login-trigger){color:var(--paper-light);border-color:#6e8990}.landing-hero{background:var(--rail);min-height:calc(100dvh - 76px);color:var(--paper-light);position:relative;overflow:hidden}.landing-ghost{color:#173a44;pointer-events:none;animation:landing-ghost-enter 1.05s var(--ease-out) 80ms both;font-size:min(70vw,900px);line-height:1;position:absolute;bottom:-22vw;right:-6vw}.landing-hero-grid{z-index:1;grid-template-columns:minmax(380px,.9fr) minmax(0,1fr);align-items:center;gap:clamp(50px,9vw,140px);min-height:calc(100dvh - 76px);padding:clamp(38px,6vw,88px) clamp(24px,8vw,130px);display:grid;position:relative}.landing-hero-grid>.landing-writing{max-width:620px;animation:landing-hero-left .72s var(--ease-out) 80ms both}.landing-hero-copy .landing-context{color:#6fc5cc}.landing-hero-copy h1{max-width:900px;margin-bottom:30px;font-size:clamp(4rem,7.2vw,8rem);line-height:.91}.landing-hero-copy>p:not(.landing-context){color:#bed0d4;max-width:36rem;font-size:1.06rem;line-height:1.8}.landing-hero-copy .landing-primary{margin:22px 0 16px}.landing-hero-copy>small{color:#89a5ac;display:block}.landing-hero-copy>*{animation:landing-copy-enter .58s var(--ease-out) both}.landing-hero-copy>:first-child{animation-delay:.14s}.landing-hero-copy>:nth-child(2){animation-delay:.2s}.landing-hero-copy>:nth-child(3){animation-delay:.28s}.landing-hero-copy>:nth-child(4){animation-delay:.36s}.landing-hero-copy>:nth-child(5){animation-delay:.42s}.landing-context{color:var(--green);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;font-size:.74rem;font-weight:800}.landing-primary{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:1px;min-height:48px;padding:0 22px;font-weight:750}.landing-primary.is-light{border-color:var(--paper-light);background:var(--paper-light);color:var(--rail)}.landing-primary.is-light:hover:not(:disabled){color:var(--rail);background:#fff;border-color:#fff}.landing-writing{border:1px solid var(--line);width:min(100%,520px);color:var(--ink);background:#fff;padding:clamp(18px,3vw,30px)}.landing-writing-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.landing-writing-head>div{align-items:center;gap:14px;display:flex}.landing-writing-head>div>span:first-child{font-size:3.4rem;line-height:1}.landing-writing-head strong,.landing-writing-head small{display:block}.landing-writing-head strong{font-size:1rem}.landing-writing-head small{color:var(--ink-soft);margin-top:3px;font-size:.7rem}.landing-writing-head em{color:var(--green);letter-spacing:.1em;font-size:.68rem;font-style:normal;font-weight:800}.landing-writing-square{aspect-ratio:1;border:1px solid var(--line);background-color:#fbfcfc;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:50% 50%;position:relative}.landing-writing-square:after{content:"";pointer-events:none;background:linear-gradient(45deg,#0000 calc(50% - .5px),#c4cfd299 50%,#0000 calc(50% + .5px));position:absolute;inset:0}.landing-writing-square svg,.landing-writing-square canvas{width:100%;height:100%;position:absolute;inset:0}.landing-writing-square svg{z-index:1;fill:none;stroke-linecap:round;stroke-linejoin:round}.landing-writing-square canvas{z-index:2;touch-action:none}.landing-glyph{fill:var(--ink);stroke:none;opacity:.055;font-family:var(--font-kana-guide), "Noto Sans JP", sans-serif;font-size:88px}.landing-writing-square path{stroke-width:1.35px}.landing-writing-square path.is-upcoming{stroke:var(--ink);opacity:.12}.landing-writing-square path.is-complete{stroke:var(--green);opacity:.28}.landing-writing-square path.is-current{stroke:var(--vermillion);opacity:.9;stroke-dasharray:1;animation:1.3s ease-out both landing-draw}.landing-stroke-numbers{fill:var(--vermillion);stroke:none;font-family:var(--body);font-size:7px;font-weight:800}.landing-writing-status{border-bottom:1px solid var(--line);min-height:2.8em;margin:14px 0 8px;padding-block:10px;font-size:.78rem;line-height:1.5}.landing-transcript{color:var(--ink-soft);margin-bottom:14px;font-size:.68rem;line-height:1.6}.landing-writing-actions{gap:8px;display:flex}.landing-writing-actions button{border-radius:1px;flex:1;min-height:44px;font-weight:700}.landing-writing-actions button:first-child{background:var(--ink);color:#fff}.landing-license{min-height:24px;color:var(--ink-soft);align-items:center;margin-top:14px;font-size:.64rem;display:inline-flex}.landing-method{border-bottom:1px solid var(--line);grid-template-columns:.7fr 1.3fr;gap:clamp(40px,8vw,110px);padding:clamp(58px,8vw,112px) clamp(24px,7vw,112px);display:grid}.landing-method h2{max-width:520px;margin:0;font-size:clamp(2.4rem,4.5vw,5rem);line-height:.98}.landing-method ol{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.landing-method li{border-right:1px solid var(--line);flex-direction:column;min-height:160px;padding:18px 16px;display:flex}.landing-method li:last-child{border-right:0}.landing-method li small{color:#a64031;font-weight:800}.landing-method li strong{margin-top:auto;font-size:1.15rem}.landing-method li span{color:var(--ink-soft);margin-top:6px;font-size:.72rem;line-height:1.5}.landing-workspace-preview{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:minmax(280px,.58fr) minmax(620px,1.42fr);align-items:center;gap:clamp(50px,8vw,120px);padding:clamp(80px,11vw,160px) clamp(24px,7vw,112px);display:grid}.landing-section-copy h2{margin-bottom:24px;font-size:clamp(3rem,5.5vw,6rem);line-height:.95}.landing-section-copy>p:last-child{max-width:34rem;color:var(--ink-soft);line-height:1.8}.landing-workspace-frame{border:1px solid var(--line);background:var(--paper);grid-template-columns:88px 1fr;min-height:520px;display:grid}.landing-workspace-rail{background:var(--rail);color:var(--paper-light);flex-direction:column;align-items:center;gap:8px;padding:22px 12px;display:flex}.landing-workspace-rail img{border-radius:10px;margin-bottom:28px}.landing-workspace-rail span{border:1px solid #0000;place-items:center;width:100%;min-height:58px;font-weight:800;display:grid}.landing-workspace-rail span.is-active{background:var(--green);border-color:#4d8d95}.landing-workspace-rail small{color:#a9bec3;margin-top:2px;font-size:.52rem;font-weight:500;display:block}.landing-workspace-rail .is-active small{color:var(--paper-light)}.landing-workspace-main{min-width:0;padding:clamp(24px,4vw,54px)}.landing-workspace-top{border-bottom:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;gap:16px;padding-bottom:18px;font-size:.64rem;display:flex}.landing-workspace-top strong{color:var(--ink)}.landing-workspace-kicker{color:var(--green);letter-spacing:.11em;margin:52px 0 12px;font-size:.68rem;font-weight:800}.landing-workspace-main>h3{letter-spacing:-.05em;max-width:650px;margin:0 0 16px;font-size:clamp(2.6rem,4.3vw,5.2rem);line-height:.94}.landing-workspace-main>h3 span{color:var(--vermillion)}.landing-workspace-main>p:not(.landing-workspace-kicker){color:var(--ink-soft)}.landing-workspace-next{border:solid var(--line);border-width:1px 0;grid-template-columns:72px 1fr auto;align-items:center;gap:22px;margin-top:34px;padding:22px 0;display:grid}.landing-workspace-next>span{border-right:1px solid var(--line);place-items:center;min-height:72px;display:grid}.landing-workspace-next small,.landing-workspace-next strong{display:block}.landing-workspace-next>span strong{font-size:2rem}.landing-workspace-next>div>strong{margin-top:5px;font-size:.95rem}.landing-workspace-next p{color:var(--ink-soft);margin:7px 0 0;font-size:.62rem}.landing-workspace-next b{background:var(--green);color:#fff;padding:13px 18px;font-size:.68rem}.landing-workspace-signals{grid-template-columns:repeat(3,1fr);gap:18px;padding-top:22px;display:grid}.landing-workspace-signals span{border-right:1px solid var(--line);padding-right:12px}.landing-workspace-signals span:last-child{border-right:0}.landing-workspace-signals small,.landing-workspace-signals strong{display:block}.landing-workspace-signals small{color:var(--ink-soft);font-size:.58rem}.landing-workspace-signals strong{margin-top:8px;font-size:.74rem}.landing-session{border-bottom:1px solid var(--line);padding:clamp(78px,10vw,150px) clamp(24px,7vw,112px)}.landing-session-head{grid-template-columns:1fr .62fr;align-items:end;gap:clamp(40px,8vw,120px);margin-bottom:62px;display:grid}.landing-session-head h2{max-width:820px;margin:0;font-size:clamp(3.2rem,6.2vw,7rem);line-height:.94}.landing-session-head>p{max-width:36rem;color:var(--ink-soft);margin:0;line-height:1.8}.landing-session-track{border:solid var(--line);border-width:1px 0;margin:0;padding:0;list-style:none;display:flex}.landing-session-track li{border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:190px;padding:20px 16px;display:flex;position:relative}.landing-session-track li:before{content:"";background:var(--green);transform-origin:0;width:100%;height:2px;position:absolute;top:-1px;left:0;transform:scaleX(0)}.landing-session-track li:last-child{border-right:0}.landing-session-track small{color:var(--green);font-size:.62rem;font-weight:800}.landing-session-track strong{margin-top:auto;font-size:1.15rem}.landing-session-track span{color:var(--ink-soft);margin-top:7px;font-size:.66rem;line-height:1.45}.landing-evidence{border-bottom:1px solid var(--line);background:var(--paper-light);grid-template-columns:.8fr 1.2fr;gap:clamp(50px,10vw,150px);padding:clamp(82px,11vw,160px) clamp(24px,8vw,130px);display:grid;position:relative;overflow:hidden}.landing-evidence>div:first-child{position:relative}.landing-evidence h2{z-index:1;margin:0;font-size:clamp(4rem,7.5vw,8.4rem);line-height:.88;position:relative}.landing-evidence>div:first-child>span{color:#e4e9ea;font-family:var(--display);font-size:min(28vw,380px);line-height:1;position:absolute;top:48%;left:46%;transform:translate(-50%,-50%)}.landing-evidence ol{z-index:1;margin:0;padding:0;list-style:none;position:relative}.landing-evidence li{border-top:1px solid var(--line);grid-template-columns:48px 1fr;gap:24px;padding:28px 0;display:grid}.landing-evidence li:last-child{border-bottom:1px solid var(--line)}.landing-evidence li>small{color:#a64031;font-weight:800}.landing-evidence h3{margin:0 0 10px;font-size:1.2rem}.landing-evidence li p{max-width:44rem;color:var(--ink-soft);margin:0;font-size:.85rem;line-height:1.75}.landing-scope{border-bottom:1px solid var(--line);background:var(--paper-light);padding:clamp(70px,10vw,150px) clamp(24px,13vw,210px)}.landing-scope h2{max-width:950px;margin-bottom:32px;font-size:clamp(3rem,6.4vw,7rem);line-height:.95}.landing-scope>p:not(.landing-context){max-width:48rem;color:var(--ink-soft);line-height:1.8}.landing-pathline{border:solid var(--line);border-width:1px 0;grid-template-columns:1.2fr repeat(3,1fr);margin:66px 0 0;padding:0;list-style:none;display:grid}.landing-pathline li{border-right:1px solid var(--line);min-height:180px;padding:22px 18px;position:relative}.landing-pathline li:last-child{border-right:0}.landing-pathline li:before{content:"";border:2px solid var(--ink-soft);background:var(--paper-light);border-radius:50%;width:9px;height:9px;position:absolute;top:-5px;left:18px}.landing-pathline li.is-current:before{border-color:var(--green);background:var(--green)}.landing-pathline small,.landing-pathline strong,.landing-pathline span{display:block}.landing-pathline small{color:var(--ink-soft);font-size:.62rem}.landing-pathline strong{margin-top:54px;font-size:1.25rem}.landing-pathline span{color:var(--ink-soft);margin-top:8px;font-size:.66rem;line-height:1.5}.landing-pathline .is-current strong{color:var(--green)}.landing-login-boundary{background:var(--rail);color:var(--paper-light);grid-template-columns:1fr .72fr;gap:clamp(42px,8vw,120px);padding:clamp(70px,9vw,130px) clamp(24px,7vw,112px);display:grid}.landing-login-boundary .landing-context{color:#6fc5cc}.landing-login-boundary h2{max-width:760px;margin:0;font-size:clamp(2.8rem,5.6vw,6.2rem);line-height:.96}.landing-login-boundary>div:last-child{align-self:end}.landing-login-boundary>div:last-child p{color:#b7cbd0;line-height:1.75}.landing-login-boundary .landing-primary{margin-top:18px}.landing-footer{background:var(--rail);color:#93abb1;border-top:1px solid #27444d;justify-content:space-between;align-items:center;gap:24px;padding:28px clamp(24px,7vw,112px);font-size:.72rem;display:flex}.landing-footer nav{gap:24px;display:flex}.landing-footer a{min-height:24px;color:var(--paper-light);align-items:center;display:inline-flex}@keyframes landing-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes landing-header-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-ghost-enter{0%{opacity:0;transform:translate(22px,18px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes landing-hero-left{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}@keyframes landing-copy-enter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes landing-section-reveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-item-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-card-settle{0%{opacity:.25;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes landing-rule-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes landing-dot-in{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}[data-landing-reveal].is-motion-pending{opacity:0;transform:translateY(24px)}[data-landing-reveal].is-visible{animation:landing-section-reveal .68s var(--ease-out) both}.landing-method.is-motion-pending li,.landing-evidence.is-motion-pending li,.landing-scope.is-motion-pending .landing-pathline li{opacity:0;transform:translateY(12px)}.landing-method.is-visible li,.landing-evidence.is-visible li,.landing-scope.is-visible .landing-pathline li{animation:landing-item-reveal .52s var(--ease-out) both}.landing-method.is-visible li:nth-child(2),.landing-evidence.is-visible li:nth-child(2),.landing-scope.is-visible .landing-pathline li:nth-child(2){animation-delay:70ms}.landing-method.is-visible li:nth-child(3),.landing-evidence.is-visible li:nth-child(3),.landing-scope.is-visible .landing-pathline li:nth-child(3){animation-delay:.14s}.landing-method.is-visible li:nth-child(4),.landing-scope.is-visible .landing-pathline li:nth-child(4){animation-delay:.21s}.landing-workspace-preview.is-visible .landing-workspace-frame{animation:landing-card-settle .74s var(--ease-out) .1s both}.landing-session.is-visible .landing-session-track li:before{animation:landing-rule-grow .62s var(--ease-out) both}.landing-session.is-visible .landing-session-track li:nth-child(2):before{animation-delay:60ms}.landing-session.is-visible .landing-session-track li:nth-child(3):before{animation-delay:.12s}.landing-session.is-visible .landing-session-track li:nth-child(4):before{animation-delay:.18s}.landing-session.is-visible .landing-session-track li:nth-child(5):before{animation-delay:.24s}.landing-session.is-visible .landing-session-track li:nth-child(6):before{animation-delay:.3s}.landing-scope.is-visible .landing-pathline li:before{animation:landing-dot-in .4s var(--ease-out) both}.landing-scope.is-visible .landing-pathline li:nth-child(2):before{animation-delay:80ms}.landing-scope.is-visible .landing-pathline li:nth-child(3):before{animation-delay:.16s}.landing-scope.is-visible .landing-pathline li:nth-child(4):before{animation-delay:.24s}@media (max-width:820px){.landing-header{min-height:68px;padding:12px 16px}.landing-header .auth-panel p{display:none}.landing-header .auth-panel>button:not(.auth-login-trigger){max-width:9rem;padding-inline:.45rem;font-size:.65rem}.landing-brand img{width:40px;height:40px}.landing-brand strong{font-size:.9rem}.landing-brand small{letter-spacing:.08em}.landing-hero,.landing-hero-grid{min-height:calc(100svh - 68px)}.landing-hero-grid,.landing-method,.landing-workspace-preview,.landing-session-head,.landing-evidence,.landing-login-boundary{grid-template-columns:1fr}.landing-hero-grid{gap:44px;padding:36px 18px 64px}.landing-hero-grid>.landing-writing{order:2}.landing-hero-copy{order:1;padding-top:20px}.landing-hero-copy h1{font-size:clamp(3.7rem,15vw,5.6rem)}.landing-ghost{font-size:130vw;bottom:7vh;right:-30vw}.landing-writing{padding:16px}.landing-method{padding:66px 18px}.landing-method ol{grid-template-columns:repeat(2,1fr)}.landing-method li:nth-child(2){border-right:0}.landing-method li:nth-child(n+3){border-top:1px solid var(--line)}.landing-workspace-preview{gap:46px;padding:76px 18px}.landing-workspace-frame{grid-template-columns:58px minmax(0,1fr);min-height:440px}.landing-workspace-rail{padding:14px 8px}.landing-workspace-rail img{width:36px;height:36px;margin-bottom:18px}.landing-workspace-rail span{min-height:48px}.landing-workspace-rail small{display:none}.landing-workspace-main{padding:22px 16px}.landing-workspace-top{display:block}.landing-workspace-top strong{margin-top:4px;display:block}.landing-workspace-kicker{margin-top:36px}.landing-workspace-main>h3{font-size:clamp(2.2rem,11vw,3.4rem)}.landing-workspace-next{grid-template-columns:48px 1fr;gap:14px}.landing-workspace-next>span{min-height:56px}.landing-workspace-next b{display:none}.landing-workspace-signals{grid-template-columns:1fr;gap:12px}.landing-workspace-signals span{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.landing-session{padding:76px 18px}.landing-session-head{gap:24px;margin-bottom:42px}.landing-session-head h2{font-size:clamp(3rem,14vw,5rem)}.landing-session-track{grid-template-columns:repeat(2,1fr);display:grid}.landing-session-track li{border-bottom:1px solid var(--line);min-height:150px}.landing-session-track li:nth-child(2n){border-right:0}.landing-session-track li:nth-last-child(-n+2){border-bottom:0}.landing-evidence{gap:56px;padding:82px 20px}.landing-evidence h2{font-size:clamp(4rem,19vw,6.6rem)}.landing-evidence>div:first-child>span{font-size:70vw;top:40%;left:72%}.landing-evidence li{grid-template-columns:34px 1fr;gap:12px}.landing-scope{padding:76px 20px}.landing-scope h2{font-size:clamp(3rem,14vw,5rem)}.landing-pathline{grid-template-columns:repeat(2,1fr);margin-top:48px}.landing-pathline li:nth-child(2){border-right:0}.landing-pathline li:nth-child(n+3){border-top:1px solid var(--line)}.landing-login-boundary{padding:74px 20px}.landing-login-boundary h2{font-size:clamp(3rem,14vw,5rem)}.landing-footer{flex-direction:column;align-items:flex-start;padding:26px 20px 40px}}.landing-scroll-progress{z-index:80;background:var(--vermillion);height:2px;transform:scaleX(var(--page-p,0));transform-origin:0;position:fixed;top:0;left:0;right:0}.landing-folio{z-index:50;gap:8px;display:grid;position:fixed;top:50%;left:18px;transform:translateY(-50%)}.landing-folio a{min-height:28px;color:var(--ink-soft);grid-template-columns:18px 1fr;align-items:center;gap:8px;font-size:.62rem;text-decoration:none;display:grid}.landing-folio a:before{content:"";width:8px;height:1px;transition:width .18s var(--ease-out), background-color .18s var(--ease-out);background:currentColor}.landing-folio a[aria-current=step]{color:#a64031;font-weight:800}.landing-folio a[aria-current=step]:before{background:#a64031;width:16px}.landing-opening-chapter{--hero-intro:1;--hero-evidence:0;--hero-handoff:0;background:var(--paper-light);height:300svh}.landing-opening-stage{background:var(--paper-light);isolation:isolate}.landing-opening-video,.landing-opening-shade{width:100%;height:100%;position:absolute;inset:0}.landing-opening-video{z-index:-2;object-fit:cover;object-position:center}.landing-opening-shade{z-index:-1;background:linear-gradient(90deg,#f7f8f7cc 0%,#f7f8f770 38%,#f7f8f70d 70%)}.landing-opening-copy{width:min(78vw,1040px);color:var(--ink);text-shadow:0 1px 18px #f8fafbd1;position:absolute;top:50%;left:clamp(28px,11vw,180px);transform:translateY(-50%)}.landing-opening-copy.is-intro{opacity:var(--hero-intro);transform:translate3d(0,calc(-50% + (1 - var(--hero-intro)) * -24px),0)}.landing-opening-copy.is-intro h1{max-width:1040px;margin:clamp(28px,5vh,56px) 0 0;font-size:clamp(5rem,11vw,12rem);line-height:.82}.landing-opening-copy.is-intro>p{max-width:42rem;color:var(--ink-soft);margin:24px 0 0;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.7}.landing-opening-copy.is-evidence{width:min(62vw,860px);opacity:var(--hero-evidence);transform:translate3d(0,calc(-50% + (1 - var(--hero-evidence)) * 24px),0);left:auto;right:clamp(28px,8vw,130px)}.landing-opening-copy.is-evidence>p{color:var(--green);letter-spacing:.12em;margin:0 0 18px;font-size:.7rem;font-weight:800}.landing-opening-copy.is-evidence h2,.landing-opening-copy.is-handoff h2{margin:0;font-size:clamp(3.5rem,7vw,8rem);line-height:.88}.landing-opening-copy.is-evidence ol{width:min(100%,650px);margin:44px 0 0 auto;padding:0;list-style:none}.landing-opening-copy.is-evidence li{border-top:1px solid #1f31353d;grid-template-columns:130px 1fr;gap:24px;padding:14px 0;display:grid}.landing-opening-copy.is-evidence li:last-child{border-bottom:1px solid #1f31353d}.landing-opening-copy.is-evidence strong{font-size:.78rem}.landing-opening-copy.is-evidence span{color:var(--ink-soft);font-size:.76rem;line-height:1.7}.landing-opening-copy.is-handoff{width:min(68vw,900px);opacity:var(--hero-handoff);transform:translate3d(0,calc(-50% + (1 - var(--hero-handoff)) * 28px),0);text-align:right;left:auto;right:clamp(28px,8vw,130px)}.landing-opening-copy.is-handoff p{max-width:36rem;color:var(--ink-soft);margin:24px 0 0 auto}.landing-opening-cue{color:var(--ink-soft);letter-spacing:.08em;opacity:var(--hero-intro);align-items:center;gap:10px;font-size:.62rem;display:flex;position:absolute;bottom:26px;right:clamp(20px,3vw,44px)}.landing-opening-cue i{width:42px;height:1px;transform:scaleX(calc(.3 + var(--chapter-p,0) * .7));transform-origin:0;background:currentColor;display:block}.landing-title-folio{border-bottom:1px solid #1f31353d;padding-bottom:24px}.landing-title-folio span,.landing-title-folio small{display:block}.landing-title-folio span{font-weight:800}.landing-title-folio small{color:var(--ink-soft);letter-spacing:.12em;margin-top:4px;font-size:.68rem}.landing-scroll-stage{min-height:100svh;position:sticky;top:0;overflow:clip}.landing-writing-chapter{--stroke-1:1;--stroke-2:1;--stroke-3:1;--handoff:0;background:var(--rail);height:340svh;color:var(--paper-light)}.landing-writing-chapter .landing-scroll-stage{z-index:2}.landing-writing-peak{grid-template-columns:minmax(260px,.62fr) minmax(420px,1fr);align-items:center;gap:clamp(42px,9vw,140px);padding:clamp(38px,6vw,88px) clamp(28px,8vw,130px);display:grid}.landing-writing-peak-copy p{color:#8ccbd0;letter-spacing:.12em;font-size:.72rem;font-weight:800}.landing-writing-peak-copy h2{max-width:760px;margin:0;font-size:clamp(3.3rem,6.5vw,7.4rem);line-height:.9}.landing-writing-peak-copy span{color:#a8bbc0;max-width:34rem;margin-top:28px;font-size:.72rem;line-height:1.7;display:block}.landing-writing-handoff{aspect-ratio:1;justify-self:center;width:min(100%,56svh,560px);position:relative}.landing-scroll-glyph,.landing-live-writing{width:100%;height:100%;position:absolute;inset:0}.landing-scroll-glyph{opacity:calc(1 - var(--handoff));fill:none;stroke:var(--paper-light);stroke-linecap:round;stroke-linejoin:round}.landing-scroll-glyph text{fill:var(--paper-light);stroke:none;opacity:.05;font-family:var(--font-kana-guide), "Noto Sans JP", sans-serif;font-size:88px}.landing-scroll-glyph path{stroke-width:2px;stroke-dasharray:1}.landing-scroll-glyph path[data-stroke="1"]{stroke-dashoffset:var(--stroke-1)}.landing-scroll-glyph path[data-stroke="2"]{stroke-dashoffset:var(--stroke-2)}.landing-scroll-glyph path[data-stroke="3"]{stroke-dashoffset:var(--stroke-3)}.landing-live-writing{opacity:var(--handoff);transform:translateY(calc((1 - var(--handoff)) * 14px));pointer-events:none}.landing-live-writing .landing-writing{width:100%}.landing-writing-chapter.is-handoff-ready .landing-live-writing{pointer-events:auto}.landing-method-chapter{background:var(--paper);height:300svh}.landing-method-chapter .landing-scroll-stage{z-index:1;grid-template-rows:auto 1fr;align-content:center;padding-block:clamp(52px,8vh,90px);display:grid}.landing-method-chapter header{grid-template-columns:1fr .5fr;align-items:end;gap:48px;padding-inline:clamp(28px,8vw,130px);display:grid}.landing-method-chapter header h2{max-width:900px;margin:0;font-size:clamp(3.1rem,6vw,6.8rem);line-height:.92}.landing-method-chapter header p{max-width:34rem;color:var(--ink-soft);margin:0}.landing-method-rail{will-change:transform;align-items:stretch;gap:clamp(18px,3vw,42px);width:max-content;padding:54px clamp(28px,8vw,130px) 0;display:flex}.landing-method-rail article{border:1px solid var(--line);background:var(--paper-light);flex-direction:column;width:min(58vw,760px);min-height:390px;padding:clamp(28px,4vw,54px);display:flex}.landing-method-rail article small{color:var(--green);letter-spacing:.08em;font-weight:800}.landing-method-rail article h3{max-width:14ch;margin:auto 0 32px;font-size:clamp(2.2rem,4vw,4.8rem);line-height:.94}.landing-method-rail dl{margin:0}.landing-method-rail dl div{border-top:1px solid var(--line);grid-template-columns:70px 1fr;gap:18px;padding:13px 0;display:grid}.landing-method-rail dt{color:var(--ink-soft);font-size:.68rem}.landing-method-rail dd{margin:0;font-size:.82rem}.landing-method-rail article>p{color:var(--ink-soft);margin:24px 0 0;font-size:.72rem}.landing-close-chapter{background:var(--rail);min-height:140svh;color:var(--paper-light)}.landing-close-chapter .landing-workspace-preview{color:var(--ink)}.landing-close-copy{grid-template-columns:1fr .7fr;gap:clamp(42px,8vw,120px);padding:clamp(80px,12vw,170px) clamp(28px,8vw,130px);display:grid}.landing-close-copy h2{max-width:900px;margin:0;font-size:clamp(3.2rem,6.5vw,7.4rem);line-height:.9}.landing-close-copy p{color:#b7cbd0;align-self:end;max-width:38rem;margin:0;line-height:1.8}.landing-close-copy .landing-primary{grid-column:2;justify-self:start}[data-scroll-in].is-motion-pending{opacity:0;transform:translateY(14px)}[data-scroll-in].is-visible{animation:landing-section-reveal .62s var(--ease-out) both}@media (max-width:820px){.landing-folio{border-bottom:1px solid var(--line);background:#f8fafbf5;display:flex;position:sticky;top:0;left:auto;overflow-x:auto;transform:none}.landing-folio a{min-width:max-content;min-height:44px;padding:0 12px}.landing-folio a:before{display:none}.landing-opening-chapter{height:300svh}.landing-opening-video{object-position:var(--hero-object-x,68%) center}.landing-opening-shade{background:linear-gradient(#f7f8f747,#f7f8f7bd)}.landing-opening-copy{width:auto;inset:auto 20px 62px;transform:none}.landing-opening-copy.is-intro{transform:translate3d(0,calc((1 - var(--hero-intro)) * -18px),0)}.landing-opening-copy.is-intro h1{margin-top:24px;font-size:clamp(4rem,20vw,6.4rem)}.landing-opening-copy.is-intro>p{margin-top:18px;font-size:.96rem}.landing-opening-copy.is-evidence,.landing-opening-copy.is-handoff{text-align:left;width:auto;left:20px;right:20px}.landing-opening-copy.is-evidence{transform:translate3d(0,calc((1 - var(--hero-evidence)) * 18px),0)}.landing-opening-copy.is-evidence h2,.landing-opening-copy.is-handoff h2{font-size:clamp(3.2rem,16vw,5.4rem)}.landing-opening-copy.is-evidence ol{margin-top:26px}.landing-opening-copy.is-evidence li{grid-template-columns:94px 1fr;gap:12px;padding:10px 0}.landing-opening-copy.is-handoff{transform:translate3d(0,calc((1 - var(--hero-handoff)) * 20px),0)}.landing-opening-copy.is-handoff p{margin-left:0}.landing-opening-cue{bottom:18px;right:20px}.landing-writing-peak{grid-template-columns:1fr;align-content:center;gap:24px;padding:34px 18px}.landing-writing-peak-copy h2{font-size:clamp(2.7rem,13vw,4.6rem)}.landing-writing-peak-copy span{margin-top:16px}.landing-writing-handoff{width:min(100%,440px)}.landing-method-chapter{height:280svh}.landing-method-chapter .landing-scroll-stage{padding-block:36px}.landing-method-chapter header{grid-template-columns:1fr;gap:14px;padding-inline:20px}.landing-method-chapter header h2{font-size:clamp(2.8rem,13vw,4.8rem)}.landing-method-rail{gap:16px;padding:34px 20px 0}.landing-method-rail article{width:84vw;min-height:360px;padding:28px 22px}.landing-close-copy{grid-template-columns:1fr;padding:78px 20px}.landing-close-copy h2{font-size:clamp(3rem,15vw,5.2rem)}.landing-close-copy .landing-primary{grid-column:1}}@media (prefers-reduced-motion:reduce){.landing-opening-chapter,.landing-writing-chapter,.landing-method-chapter{height:auto}.landing-scroll-stage{min-height:auto;position:relative}.landing-opening-stage{display:grid}.landing-opening-video{z-index:0;aspect-ratio:16/9;object-fit:cover;height:auto;position:relative}.landing-opening-shade,.landing-opening-cue{display:none}.landing-opening-copy,.landing-opening-copy.is-intro,.landing-opening-copy.is-evidence,.landing-opening-copy.is-handoff{opacity:1;text-align:left;width:auto;text-shadow:none;padding:56px clamp(20px,8vw,120px);position:relative;inset:auto;transform:none}.landing-opening-copy.is-evidence{background:var(--paper)}.landing-opening-copy.is-handoff p{margin-left:0}.landing-scroll-glyph{display:none}.landing-live-writing{opacity:1;pointer-events:auto;position:relative;transform:none}.landing-writing-handoff{aspect-ratio:auto}.landing-method-chapter .landing-scroll-stage{padding-block:64px}.landing-method-rail{scroll-snap-type:x proximity;width:100%;overflow-x:auto;transform:none!important}.landing-method-rail article{scroll-snap-align:center;flex:0 0 84vw}}
