@font-face{font-family:HanmadiJP;src:url('assets/line-seed-jp-regular.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:HanmadiJP;src:url('assets/line-seed-jp-bold.woff') format('woff');font-weight:700;font-display:swap}@font-face{font-family:HanmadiJP;src:url('assets/line-seed-jp-extrabold.woff') format('woff');font-weight:800 900;font-display:swap}@font-face{font-family:HanmadiKR;src:url('assets/line-seed-kr-bold.woff') format('woff');font-weight:400 900;font-display:swap}
:root{--canvas:#F4FBF8;--surface:#FFFFFF;--surface-soft:#EAF1ED;--mint:#3FD3A2;--ink:#2E1D16;--chocolate:#5E3B2B;--muted:#6E574B;--green:#087552;--line:color-mix(in srgb,var(--ink) 22%,transparent);--focus:var(--green);--ease:cubic-bezier(.2,.8,.2,1);--gutter:clamp(22px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px;background:var(--canvas);color:var(--ink);font-family:HanmadiJP,sans-serif}body{margin:0;min-width:280px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button{touch-action:manipulation}button:disabled{cursor:wait}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[lang=ko]{font-family:HanmadiKR,HanmadiJP,sans-serif}h1,h2,p{margin:0}h1,h2{font-weight:800;letter-spacing:-.045em}p{line-height:1.9}h2{font-size:clamp(32px,4.4vw,64px);line-height:1.45}img{display:block;max-width:100%}button{border:0}.skip-link{position:fixed;left:20px;top:12px;z-index:20;padding:12px;background:var(--surface);transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:absolute;z-index:5;top:0;left:0;width:100%;height:92px;padding:24px var(--gutter);display:flex;justify-content:space-between;align-items:center}.brand{display:block;width:190px}.brand img{width:100%;height:auto}.release-link{display:flex;align-items:center;gap:12px;font-size:14px;text-decoration:none}.release-mark{font-size:22px}.opening{background:var(--mint)}.journey{max-width:1440px;margin:auto;padding:0 var(--gutter);display:grid;grid-template-columns:1fr 1fr;column-gap:7%;align-items:start;position:relative}.intro{grid-column:1;grid-row:1;padding:180px 0 100px;min-height:95svh}.intro h1{font-size:clamp(56px,6.2vw,90px);line-height:1.28;white-space:nowrap}.intro-copy{font-size:clamp(16px,1.45vw,21px);margin-top:25px}.primary-action{display:inline-flex;align-items:center;gap:14px;background:var(--chocolate);color:var(--surface);text-decoration:none;padding:20px 27px;border-radius:12px;margin-top:30px;font-size:16px}.play-icon{font-size:12px}.primary-action:hover{background:var(--ink)}.platform-note{font-size:12px;margin-top:23px;line-height:1.8}.scene-stage{grid-column:2;grid-row:1 / span 2;position:sticky;top:100px;margin:150px 0 60px;transform:rotate(4deg) translateY(10px);transform-origin:center;scroll-margin-top:110px;outline:none}.scene-window{background:var(--canvas);border-radius:25px;overflow:hidden;position:relative}.scene-tabs{display:flex;gap:6px;padding:15px;background:var(--canvas)}.scene-tabs button{font-size:12px;background:transparent;flex:1;border-radius:7px;padding:12px 4px;white-space:nowrap;min-height:44px}.scene-tabs button[aria-selected=true]{background:var(--chocolate);color:var(--surface)}.scene-picture{position:relative;overflow:hidden;aspect-ratio:1.65}.scene-picture img{width:100%;height:100%;object-fit:cover;transition:opacity .18s}.scene-picture>span{position:absolute;bottom:16px;left:17px;background:var(--canvas);border-radius:6px;font-size:12px;padding:7px 12px;max-width:calc(100% - 34px)}.conversation{padding:24px 24px 13px}.dialogue-line{display:flex;justify-content:space-between;align-items:center;gap:8px}.dialogue-line p{font-size:clamp(20px,2.2vw,32px);line-height:1.5;overflow-wrap:anywhere}.audio-button{flex-shrink:0;width:47px;height:47px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--ink)}.audio-button.is-playing{background:var(--chocolate);color:var(--surface)}.meaning-button{display:block;background:transparent;padding:13px 0;text-decoration:underline;text-underline-offset:4px;font-size:12px}.japanese-line{font-size:14px;padding-bottom:12px}.conversation-actions{display:flex;gap:10px;margin-top:12px;align-items:center}.response-button{background:var(--chocolate);color:var(--surface);border-radius:8px;flex:1;padding:14px 9px;min-height:47px;font-size:13px}.save-button{display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;min-height:47px;padding:8px;font-size:12px}.save-button svg{width:18px;height:18px}.save-button[aria-pressed=true]{color:var(--green)}.save-button[aria-pressed=true] svg{fill:currentColor}.response{margin-top:8px;border-left:3px solid var(--green);padding:5px 0 8px 16px}.response p[lang=ko]{font-size:21px;line-height:1.5}.response p:not([lang]){font-size:12px;margin-top:5px}.reply-audio{font-size:12px;padding:10px 0 0;background:transparent;text-decoration:underline;text-underline-offset:4px}.demo-status{font-size:10px;color:var(--muted);margin-top:12px;min-height:20px}.preview-note{font-size:10px;line-height:1.6;text-align:center;padding:14px 0 0}.demo-story{grid-column:1;grid-row:2;min-height:76svh;padding:60px 0 150px}.demo-story p{font-size:15px;margin-top:28px}.quiet-copy{color:var(--muted);font-size:14px}.speaking{background:var(--chocolate);color:var(--canvas);padding:120px var(--gutter)}.speaking-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.speaking h2{font-size:clamp(46px,6.2vw,92px);line-height:1.4}.speaking h2 span{opacity:.45}.speaking-lede{font-size:clamp(25px,3vw,42px);line-height:1.6;font-weight:700;letter-spacing:-.03em}.speaking-detail>p:not(:first-child){font-size:15px;margin-top:24px}.privacy-copy{border-top:1px solid color-mix(in srgb,var(--canvas) 30%,transparent);padding-top:24px}.world{overflow:hidden;padding:110px 0 80px}.world-heading{padding:0 var(--gutter);max-width:1440px;margin:auto;display:flex;gap:50px;align-items:flex-end;justify-content:space-between}.world-heading p{font-size:15px;padding-bottom:10px}.scene-ribbon{display:flex;gap:24px;padding:55px var(--gutter) 30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--chocolate) var(--surface-soft)}.scene-ribbon figure{margin:0;flex:0 0 39%;min-width:280px;scroll-snap-align:center}.scene-ribbon img{aspect-ratio:1.5;object-fit:cover;width:100%;height:auto;border-radius:16px}.scene-ribbon figcaption{font-size:16px;margin-top:20px;font-weight:700}.scene-ribbon figcaption span{display:block;font-size:19px;margin-top:8px;font-weight:400;color:var(--muted)}.course-note{padding:50px var(--gutter) 0;text-align:center;font-size:18px}.course-note strong{font-size:80px;line-height:1;font-weight:700;letter-spacing:-.07em;display:inline-block;margin-right:13px}.course-note>span{display:block;font-size:14px;margin-top:20px}.collection{padding:100px var(--gutter);max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.collection-copy h2{font-size:clamp(30px,3.8vw,54px)}.collection-copy p{margin-top:24px;font-size:16px}.collection-copy .quiet-copy{font-size:13px}.expression-book{background:var(--surface);padding:35px;border-radius:18px;min-height:320px}.book-heading{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding-bottom:24px}.book-heading span:last-child{font-size:12px;font-weight:400;color:var(--muted)}.empty-save{font-size:18px;padding:24px 0;line-height:1.7}.saved-expression{padding:18px 0;border-top:1px solid var(--line);transform:translateX(var(--row-offset,0px))}.saved-expression p[lang=ko]{font-size:21px}.saved-expression p:not([lang]){font-size:12px;color:var(--muted);margin-top:6px}.save-note{font-size:10px;color:var(--muted);margin-top:18px;line-height:1.6}.questions{max-width:930px;padding:30px var(--gutter) 110px;margin:auto}.questions details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:25px 0;font-size:15px;display:flex;align-items:center;gap:20px;justify-content:space-between}summary::-webkit-details-marker{display:none}summary>span{font-size:24px;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}.questions details>p{font-size:14px;padding:0 28px 25px 0;color:var(--muted)}.release{background:var(--mint);padding:90px var(--gutter) 80px;text-align:center}.release>img{width:260px;height:auto;margin:0 auto 45px}.release h2{font-size:clamp(32px,5.2vw,74px);line-height:1.5}.release>p{margin-top:25px;font-size:17px}.release-status{margin-top:32px;font-size:14px}.release-status>span{display:block;font-size:30px;font-weight:700;margin-top:8px}.text-action{display:inline-block;margin-top:34px;font-size:13px;text-underline-offset:5px;padding:12px}footer{padding:24px var(--gutter);display:flex;justify-content:space-between;font-size:10px;background:var(--mint)}
@media(min-width:1600px){.scene-ribbon{max-width:1440px;margin:auto}.scene-ribbon figure{flex-basis:32%}}
@media(max-width:850px){.site-header{height:78px;padding-top:20px;padding-bottom:20px}.brand{width:148px}.release-link{font-size:12px;gap:6px}.journey{display:flex;flex-direction:column;gap:0;padding:0}.intro{padding:125px var(--gutter) 46px;min-height:0;width:100%;order:1}.intro h1{font-size:clamp(40px,9.8vw,70px);line-height:1.35}.intro-copy{font-size:16px;margin-top:18px}.primary-action{padding:17px 22px;margin-top:24px}.platform-note{font-size:11px;margin-top:19px}.scene-stage{order:2;position:relative;top:auto;margin:0 18px 0;align-self:center;width:min(calc(100% - 36px),520px);transform:rotate(2deg);scroll-margin-top:25px}.scene-window{border-radius:18px}.conversation{padding:20px 20px 12px}.dialogue-line p{font-size:27px}.scene-picture{aspect-ratio:1.6}.demo-story{order:3;padding:70px var(--gutter) 72px;min-height:0;width:100%}.demo-story h2{font-size:40px}.demo-story p{font-size:14px;margin-top:24px}.speaking{padding:72px var(--gutter)}.speaking-inner{display:block}.speaking h2{font-size:clamp(43px,10vw,72px)}.speaking-detail{margin-top:35px}.speaking-lede{font-size:27px}.speaking-detail>p:not(:first-child){font-size:14px}.world{padding:70px 0 40px}.world-heading{display:block}.world-heading h2{font-size:36px}.world-heading p{margin-top:20px;font-size:14px}.scene-ribbon{padding-top:32px;gap:18px}.scene-ribbon figure{flex-basis:82%;min-width:250px}.scene-ribbon figcaption{font-size:14px;margin-top:17px}.scene-ribbon figcaption span{font-size:18px}.course-note{font-size:16px;padding-top:25px}.course-note strong{font-size:64px}.course-note>span{font-size:12px;margin-top:15px}.collection{display:block;padding:65px var(--gutter)}.collection-copy h2{font-size:30px}.collection-copy p{font-size:14px}.expression-book{margin-top:30px;padding:26px;min-height:250px}.questions{padding-top:0;padding-bottom:70px}summary{font-size:13px;padding:22px 0}.questions details>p{font-size:13px}.release{padding:65px var(--gutter) 50px}.release>img{width:200px;margin-bottom:30px}.release h2{font-size:clamp(30px,7.6vw,46px)}.release>p{font-size:15px}.release-status>span{font-size:26px}footer{gap:16px;font-size:9px}}
@media(max-width:359px){.intro h1{font-size:36px}.intro{padding-top:115px}.scene-stage{margin:0 12px;width:calc(100% - 24px)}.scene-tabs{padding:10px;gap:0}.scene-tabs button{font-size:11px}.conversation{padding:17px 15px 11px}.dialogue-line p{font-size:23px}.world-heading h2{font-size:30px}.demo-story h2{font-size:35px}.collection-copy h2{font-size:27px}.course-note{font-size:14px}.course-note>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.scene-stage{transform:none!important}.speaking h2 span{opacity:1!important}.saved-expression{transform:none!important}}

footer button{font:inherit;background:transparent;color:inherit;border:0;padding:10px;text-decoration:underline;text-underline-offset:4px;min-height:44px}footer{align-items:center;flex-wrap:wrap}

.platforms{display:flex;gap:20px;align-items:center;margin-top:12px}.platform-os{display:inline-flex;align-items:center;gap:7px;font-size:14px;line-height:1.4}.platform-icon{display:block;width:19px;height:22px;fill:currentColor;stroke:none;flex-shrink:0}.platform-soon{margin-top:10px}.release-status .platforms{justify-content:center;margin:0}.release-status .platform-os{font-size:18px}.release-status .platform-icon{width:24px;height:28px}

.trial-reassurance{font-size:.8125rem;margin-top:12px;line-height:1.6}
.learning-choice{max-width:1440px;margin:auto;padding:48px var(--gutter) 100px;display:grid;grid-template-columns:1.1fr 1fr;gap:44px 8%;align-items:center}
.choice-eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.04em;margin-bottom:18px}
.learning-choice-copy h2{font-size:clamp(2rem,3.9vw,3.5rem);line-height:1.5}
.choice-lede{font-size:1rem;margin-top:24px;max-width:34em}
.free-choice{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.free-choice h3{font-size:1.375rem;margin:0 0 10px;line-height:1.5}
.free-choice>p{font-size:1rem}
.free-choice .choice-condition{font-size:.875rem;color:var(--muted);margin-top:12px}
.pass-choice{background:var(--mint);border-radius:28px;padding:clamp(24px,3vw,42px);min-width:0}
.pass-choice .choice-eyebrow{margin-bottom:14px}
.pass-choice h3{font-size:clamp(2rem,3.5vw,3.25rem);letter-spacing:-.045em;line-height:1.4;margin:0}
.pass-benefits{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:16px;font-size:1rem;line-height:1.7}
.pass-benefits li{display:flex;align-items:baseline;gap:12px}
.pass-benefits li>span{flex-shrink:0;font-weight:700;color:var(--green)}
.pass-trial{font-size:1rem;font-weight:700;line-height:1.7;margin-top:24px}
.pass-trial-terms{font-size:.8125rem;line-height:1.7;margin-top:8px}
.pass-validity{font-size:.8125rem;margin-top:18px;line-height:1.7}
.support-note{width:100%;display:flex;gap:16px;justify-content:space-between;align-items:center;text-align:left;padding:18px;margin-top:26px;border-radius:16px;background:var(--canvas);font-size:1rem;font-weight:700;line-height:1.65;min-height:48px}
.support-more{display:inline-flex;gap:6px;align-items:center;flex-shrink:0;font-size:.875rem;color:var(--chocolate)}
.support-more svg{width:20px;height:20px;flex-shrink:0}
.choice-next{grid-column:1/-1;text-align:center}
.choice-next p{font-size:.8125rem;color:var(--muted)}
.choice-next .primary-action{margin-top:22px;font-size:1rem;max-width:100%}
.support-dialog{width:min(640px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:32px;border:0;border-radius:28px;background:var(--canvas);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.support-dialog::backdrop{background:color-mix(in srgb,var(--ink) 48%,transparent)}
.support-dialog>form:first-child{display:flex;justify-content:flex-end;margin:-12px -12px 0 0}
.support-close{width:48px;height:48px;display:grid;place-items:center;background:transparent;border-radius:50%}
.support-dialog h2{font-size:clamp(1.875rem,4vw,2.625rem);line-height:1.45;margin:0 0 28px}
.support-dialog h3{font-size:1.125rem;line-height:1.65;margin:28px 0 12px}
.support-dialog>p{font-size:1rem;color:var(--muted);margin-top:16px}
.support-dialog>form:last-child{display:flex;justify-content:flex-end;margin-top:28px}
.support-dismiss{background:var(--chocolate);color:var(--surface);padding:12px 24px;border-radius:12px;min-height:48px;font-size:1rem}
@media(max-width:850px){.learning-choice{grid-template-columns:1fr;padding-top:20px;padding-bottom:70px;gap:32px}.choice-next{grid-column:auto}.pass-choice{border-radius:24px}.support-dialog{padding:24px;border-radius:24px}.learning-choice-copy h2{font-size:2rem}.pass-choice h3{font-size:2rem}.support-note{flex-wrap:wrap}.support-more{margin-left:auto}.choice-next .primary-action{padding:17px 20px;justify-content:center;line-height:1.6}.choice-next .primary-action>span{flex-shrink:0}}

/* Keep the existing layout and type scale usable across every site language. */
@font-face{font-family:HanmadiTC;src:url('/assets/noto-sans-tc.woff') format('woff');font-weight:100 900;font-display:swap}
html:lang(zh-Hant-TW){font-family:HanmadiTC,HanmadiJP,sans-serif}
.intro h1,.scene-tabs button{white-space:normal}
.intro,.demo-story,.speaking-inner>*,.world-heading>*,.collection>*,.learning-choice>*{min-width:0}
h1,h2,h3,summary,.primary-action,.scene-tabs button,.release-link,.support-note,.book-heading{overflow-wrap:anywhere;hyphens:auto}
.scene-tabs button{min-width:0;line-height:1.5}
.primary-action{max-width:100%;line-height:1.6}
.primary-action .play-icon,.primary-action>span[aria-hidden]{flex-shrink:0}
.conversation-actions,.book-heading,.platforms{flex-wrap:wrap}
.response-button{min-width:8em}
.save-button{flex-wrap:wrap}
footer .legal-links{display:flex;flex-wrap:wrap;gap:6px 16px}
.legal-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px}
summary>span{flex-shrink:0}
@media(max-width:850px){.brand{flex-shrink:0}.release-link{max-width:42%}.scene-tabs{align-items:stretch}.scene-tabs button{flex-basis:0}.book-heading{gap:12px}.scene-stage{max-width:calc(100% - 36px)}}
/* Line breaks a reader expects (2026-10-21): Korean keeps its words whole, Japanese breaks between phrases, and no paragraph ends on a lone word. */
[lang=ko]{word-break:keep-all}:root:lang(ja) body{word-break:auto-phrase}p,li,summary,figcaption{text-wrap:pretty}h1,h2,h3{text-wrap:balance}
@media(min-width:851px) and (max-width:1023px){.learning-choice{grid-template-columns:1fr;gap:40px}.choice-next{grid-column:auto}.support-note{flex-wrap:wrap}}
/* Display type per script (owner 2026-10-21): headings in the brand's ExtraBold; Latin, Chinese and Thai keep the tracking their scripts read best at. */
h3{font-weight:800}html:is(:lang(en),:lang(fr),:lang(de),:lang(es),:lang(pt),:lang(id),:lang(vi)) :is(h1,h2,h3){letter-spacing:-.015em}html:is(:lang(zh-Hant-TW),:lang(zh-Hans)) :is(h1,h2,h3){letter-spacing:-.02em}html:lang(th) :is(h1,h2,h3){letter-spacing:0;line-height:1.5}
/* Store buttons replace the coming-soon spots once a store is released. */.store-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.store-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:12px;background:var(--chocolate);color:var(--surface);text-decoration:none;font-size:15px;font-weight:700}.store-button:hover{background:var(--ink)}.release-status .store-buttons{justify-content:center;margin-top:18px}
/* Redesign app screens and sections (2026-10-27): real app captures in a phone-shaped frame. */
.app-shot{margin:0;justify-self:center;width:min(300px,100%)}.app-shot img{width:100%;height:auto;border-radius:34px;border:7px solid var(--ink);background:var(--ink);box-shadow:0 34px 70px -28px rgba(46,29,22,.55)}
.speaking-inner{grid-template-columns:minmax(0,1fr) minmax(200px,280px);grid-template-areas:"title shot" "detail shot";column-gap:9%;row-gap:36px}.speaking-inner>h2{grid-area:title}.speaking-detail{grid-area:detail;max-width:640px}.app-shot-verdict{grid-area:shot;align-self:center}.app-shot-verdict img{border-color:#1C120D;box-shadow:0 34px 70px -24px rgba(0,0,0,.6)}
.daily{background:var(--surface);padding:110px var(--gutter)}.daily-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr minmax(220px,300px);gap:10%;align-items:center}.daily h2{font-size:clamp(32px,4.4vw,64px)}.daily-copy p{margin-top:24px;font-size:16px}
.album{background:#074D39;color:#F6FFF8;padding:110px var(--gutter)}.album-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:10%;align-items:center}.album h2{font-size:clamp(32px,4.4vw,64px)}.album-copy p{margin-top:24px;font-size:16px;color:color-mix(in srgb,#F6FFF8 86%,transparent)}.app-shot-chapter img{border-color:#03271C;box-shadow:0 34px 70px -24px rgba(0,0,0,.55)}
.daily-inner>*,.album-inner>*{min-width:0}
@media(max-width:850px){.speaking-inner{display:block}.app-shot{width:min(260px,72%);margin:44px auto 0}.daily,.album{padding:72px var(--gutter)}.daily-inner,.album-inner{display:flex;flex-direction:column;gap:0}.album .app-shot{order:2}.daily h2,.album h2{font-size:clamp(30px,8vw,46px)}.daily-copy p,.album-copy p{font-size:14px}}
/* Desktop QR popup (2026-10-28): one code that opens /app?src=site-qr on the phone. Touch devices and browsers without popover never see the button. */
.qr-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:12px;background:transparent;color:var(--chocolate);border:2px solid var(--chocolate);font-size:15px;font-weight:700}.qr-button:hover{background:var(--chocolate);color:var(--surface)}
@media(hover:none),(pointer:coarse){.qr-button{display:none}}@supports not selector(:popover-open){.qr-button{display:none}}
.qr-popover{width:min(380px,calc(100vw - 32px));padding:32px 32px 24px;border:0;border-radius:24px;background:var(--surface);color:var(--ink);text-align:center;box-shadow:0 30px 80px -20px rgba(46,29,22,.45)}.qr-popover::backdrop{background:rgba(46,29,22,.55)}.qr-title{font-size:18px;font-weight:800;line-height:1.5}.qr-code{display:block;width:260px;height:260px;max-width:100%;margin:22px auto 16px;fill:#000;stroke:none;border-radius:8px}.qr-hint{font-size:13px;color:var(--muted);line-height:1.7}.qr-close{margin-top:18px;min-height:44px;padding:10px 26px;border-radius:10px;background:var(--surface-soft);font-size:14px}.qr-close:hover{background:var(--mint)}
