:root{--ink:#213d33;--muted:#5c6a60;--paper:#f7f5ed;--line:#dcded2;--green:#284d3d;--lime:#dce994}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:#577431}a:focus-visible,summary:focus-visible{outline:3px solid #8a581c;outline-offset:6px}img{max-width:100%;height:auto;display:block}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.header{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;letter-spacing:-1px;font-size:24px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.brand img{border-radius:11px;margin-right:3px;width:38px;height:38px}.brand span{font-family:Georgia,serif;font-style:italic;font-weight:400}nav{display:flex;gap:32px}nav a{font-size:14px;font-weight:600;text-decoration:none}.skip{position:absolute;left:20px;top:-100px;z-index:9;padding:12px;background:white}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;min-height:630px;padding-block:45px 75px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;line-height:1.6}.dot{display:inline-block;width:7px;height:7px;background:#77935a;border-radius:100%;margin-right:6px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.6vw,78px);line-height:1.05;letter-spacing:-4px;margin-bottom:28px;font-weight:650}h1 em{font-family:Georgia,serif;font-weight:400;color:#728649}h2{font-size:clamp(29px,3vw,42px);letter-spacing:-1.6px;line-height:1.15;font-weight:650}h3{font-size:21px;letter-spacing:-.6px;line-height:1.3;margin-bottom:10px}.lead{font-size:18px;line-height:1.8;color:var(--muted);max-width:490px}.actions{display:flex;gap:24px;align-items:center;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;border-radius:100px;padding:15px 25px;font-weight:650;font-size:14px;text-decoration:none}a.button:hover{background:#3e6145;color:white}.platform{font-size:12px;line-height:1.6;font-weight:600}.reassurance{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:var(--muted)}.reassurance span:before{content:'✓';margin-right:6px;color:var(--green)}.hero-art{position:relative;padding:24px 25px 38px}.orbit{position:absolute;inset:-5px -5px 5px;background:#e6ebd8;border-radius:50%}.word-card{position:relative;background:#fffdf6;border-radius:24px;padding:23px 25px 26px;transform:rotate(5deg);box-shadow:0 18px 40px #263c2f12;border:1px solid #fff;overflow:hidden}.card-bottom{display:flex;align-items:center;justify-content:space-between;position:relative}.small-label{font-size:9px;letter-spacing:2px;color:#667665}.card-bottom h2{font-size:29px;margin:3px 0 0;letter-spacing:-1px}.star{position:absolute;z-index:2;color:#849449}.star-one{font-size:58px;right:-18px;top:-10px}.star-two{font-size:70px;left:-15px;bottom:20px}.art-note{position:relative;display:block;font-family:Georgia,serif;font-style:italic;text-align:center;margin-top:28px;font-size:17px;transform:rotate(-4deg)}.footer{border-top:1px solid var(--line);padding-block:35px;display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center}.footer p{font-size:12px;color:var(--muted);margin:0;grid-column:1}.footer nav{grid-row:1;grid-column:2}.footer nav a{font-size:12px}.footer small{font-size:11px;color:var(--muted);text-align:right}.document{max-width:850px;padding-block:65px 90px;min-height:70vh}.document h1{font-size:clamp(42px,5vw,64px);letter-spacing:-2.6px}.document .lead{max-width:700px}.faq{margin-top:45px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-size:18px;font-weight:650;cursor:pointer}.faq details p{color:var(--muted);font-size:15px;margin:16px 0 0;padding-left:20px}.contact{background:#e6ebd8;padding:32px;border-radius:18px;margin-top:50px}.contact h2{font-size:32px;margin-bottom:15px}.contact p:last-child{font-size:13px;margin-bottom:0;color:var(--muted)}.contact a{overflow-wrap:anywhere}.legal>h2{font-size:25px;letter-spacing:-.6px;margin-top:35px;margin-bottom:14px}.legal>p:not(.eyebrow):not(.lead){color:var(--muted)}.updated{font-size:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.hero{min-height:700px}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:25px;min-height:570px}h1{letter-spacing:-2.5px}.hero-art{padding:20px 12px}.reassurance{gap:10px}.actions{gap:14px}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header{min-height:86px;gap:12px}.brand{font-size:20px;gap:5px}.brand img{width:32px;height:32px}nav{gap:15px}nav a{font-size:12px}.header nav a:first-child{display:none}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:45px;gap:40px}.hero h1{font-size:60px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.lead{font-size:17px}.hero-art{width:min(380px,94%);justify-self:center;padding:15px 20px 25px}.hero-copy{max-width:480px}.footer{grid-template-columns:1fr;gap:15px}.footer nav{grid-row:auto;grid-column:1;flex-wrap:wrap;gap:22px}.footer small{text-align:left}.document{padding-top:40px}.document h1{font-size:45px}.contact{padding:25px}.faq summary{font-size:17px}.faq details p{padding-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.lang-picker{position:relative;flex:none;font-size:13px}
.lang-picker summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:100px;padding:8px 13px;font-weight:650;white-space:nowrap}
.lang-picker summary::-webkit-details-marker{display:none}
.lang-picker summary::after{content:'';width:7px;height:7px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:20;display:grid;min-width:180px;max-height:320px;overflow:auto;padding:7px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px #213d3326}
.lang-menu a{padding:5px 9px;border-radius:7px;text-decoration:none;white-space:nowrap}
.lang-menu a:hover,.lang-menu a[aria-current="page"]{background:#e6ebd8}
@media(max-width:700px){.header{flex-wrap:wrap;padding-block:16px}.header nav{order:3;width:100%;gap:20px}.header .lang-picker{margin-left:auto}.hero h1{font-size:clamp(42px,12vw,60px)}}

html:lang(zh-Hans) body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
html:lang(zh-Hant) body{font-family:"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",sans-serif}
:is(html:lang(zh-Hans),html:lang(zh-Hant)) .hero h1{letter-spacing:-.02em}
:is(html:lang(zh-Hans),html:lang(zh-Hant)) .hero h1 em{font-family:inherit;font-style:normal;font-weight:600}
:is(html:lang(zh-Hans),html:lang(zh-Hant)) .hero .eyebrow{font-size:14px;letter-spacing:.08em}
:is(html:lang(zh-Hans),html:lang(zh-Hant)) .small-label{font-size:13px;font-weight:600;letter-spacing:.06em}
:is(html:lang(zh-Hans),html:lang(zh-Hant)) .art-note{font-family:inherit;font-style:normal}

html:lang(ja) body{font-family:"Hiragino Sans","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif}
html:lang(ja) .hero h1{font-size:clamp(34px,4vw,56px);line-height:1.2;letter-spacing:-.03em}
html:lang(ja) .hero h1 em{font-family:inherit;font-style:normal;font-weight:600}
html:lang(ja) .hero .eyebrow{font-size:14px;letter-spacing:.06em}
html:lang(ja) .small-label{font-size:12px;letter-spacing:.06em}
html:lang(ja) .art-note{font-family:inherit;font-style:normal}

:is(html:lang(es),html:lang(pt-BR)) .hero h1{font-size:clamp(34px,4.4vw,60px);line-height:1.16;letter-spacing:-.035em}
html:lang(de) .document h1{hyphens:manual;overflow-wrap:anywhere}

html:lang(ko) body{font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif}
html:lang(ko) .hero h1{font-size:clamp(34px,4vw,56px);line-height:1.2;letter-spacing:-.03em}
html:lang(ko) .hero h1 em{font-family:inherit;font-style:normal;font-weight:600}
html:lang(ko) .hero .eyebrow{font-size:14px;letter-spacing:.06em}
html:lang(ko) .small-label{font-size:12px;letter-spacing:.06em}
html:lang(ko) .art-note{font-family:inherit;font-style:normal}

.spin-viewport{display:block;width:100%;padding:0;border:0;background:transparent;aspect-ratio:1;cursor:grab;touch-action:pan-y;user-select:none;border-radius:16px;overflow:hidden}
.membership-note{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0 0}
.membership-note+.actions{margin-top:20px}
.spin-viewport:active{cursor:grabbing}
.spin-viewport:focus-visible{outline:3px solid #8a581c;outline-offset:-4px}
.spin-frame{width:100%;height:100%;object-fit:contain;pointer-events:none}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;letter-spacing:.08em}
.card-top>span:last-child{font-size:24px;color:#8c9653}
.hero-spin-viewport{height:clamp(240px,27vw,360px);aspect-ratio:auto}
.spin-hint{display:flex;align-items:center;justify-content:center;gap:5px;font-size:13px;color:var(--muted);text-align:center;margin:12px 0 8px}
.drag-coach{display:inline-flex;flex:none;color:#728649;animation:drag-coach-swipe 1.8s ease-in-out infinite}
.drag-coach[hidden]{display:none}
@keyframes drag-coach-swipe{50%{transform:translateX(7px)}}
@media(prefers-reduced-motion:reduce){.drag-coach{animation:none}}
.english-name{display:block;color:var(--muted);font-size:16px;line-height:1.3}
.english-name[hidden]{display:none}
.speak-button{display:grid;place-items:center;flex:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--lime);color:var(--ink);font-size:24px;cursor:pointer}
.speak-button:hover,.speak-button.is-playing{background:#c8df70}
.speak-button:focus-visible,.toy-thumb:focus-visible,.toy-arrow:focus-visible{outline:3px solid #8a581c;outline-offset:3px}
.audio-status:not(:empty){display:block;color:#a24836;font-size:11px;margin-top:5px}
.image-status{font-size:13px;line-height:1.5;color:var(--muted);margin:0;text-align:center}
.image-status:not(:empty){margin-bottom:8px}
.spin-viewport:disabled{cursor:progress}
.toy-strip{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;align-items:center;margin-top:16px}
.toy-arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font:inherit;font-size:27px;line-height:1;cursor:pointer}
.toy-arrow:hover{background:var(--lime)}
.toy-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.toy-thumb{display:grid;place-items:center;min-width:0;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);cursor:pointer;isolation:isolate}
.toy-thumb[aria-pressed="true"]{border-color:#8b9c55;background:#eef3d9}
.toy-thumb img{width:52px;height:52px;object-fit:contain;mix-blend-mode:darken}
@media(max-width:700px){.toy-strip{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.toy-arrow{width:44px;height:44px;grid-row:2}.toy-arrow:last-child{grid-column:3}.toy-thumbs{grid-column:1/-1;grid-row:1;gap:6px}.toy-thumb{min-height:52px}.toy-thumb img{width:100%;max-width:48px;height:auto;aspect-ratio:1}}
