:root{--ink:#34272d;--muted:#75656c;--cream:#fffaf6;--paper:#fff;--pink:#ee7899;--pink-dark:#c94f75;--blush:#fde8ec;--plum:#80506e;--gold:#e5aa54;--mint:#79ad9a;--line:#efdadd;--shadow:0 18px 50px rgba(105,56,72,.11);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,"Segoe UI","Yu Gothic UI","Hiragino Sans",Meiryo,sans-serif;line-height:1.6}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;padding:14px max(20px,calc((100% - 1180px)/2));background:rgba(255,250,246,.9);border-bottom:1px solid rgba(239,218,221,.7);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 45% 50% 42%;background:var(--pink);color:#fff;font-family:serif;font-size:21px;box-shadow:0 7px 16px rgba(238,120,153,.25)}.brand strong,.brand small{display:block;line-height:1.15}.brand strong{font-family:Georgia,"Yu Mincho",serif;font-size:17px}.brand small{margin-top:3px;color:var(--muted);font-size:11px;letter-spacing:.12em}.site-header nav{display:flex;gap:30px}.site-header nav a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:700}.site-header nav a:hover{color:var(--pink-dark)}.menu-toggle{display:none}.hero{min-height:690px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:45px;padding-block:70px}.eyebrow{margin:0 0 13px;color:var(--pink-dark);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eyebrow span{display:inline-block;margin-right:8px;padding:3px 9px;border-radius:99px;background:var(--blush);font-size:11px}.hero h1,.section-heading h2,.quiz-copy h2{margin:0;font-family:Georgia,"Yu Mincho",serif;line-height:1.06;letter-spacing:-.035em}.hero h1{font-size:clamp(50px,6vw,82px)}.hero h1 em{color:var(--pink-dark);font-weight:400}.hero-lede{max-width:610px;margin:26px 0;color:var(--muted);font-size:18px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 21px;border:0;border-radius:99px;text-decoration:none;font-weight:800;cursor:pointer}.button.primary{background:var(--pink);color:#fff;box-shadow:0 10px 22px rgba(201,79,117,.25)}.button.primary:hover{background:var(--pink-dark);transform:translateY(-1px)}.button.soft{background:var(--blush);color:var(--pink-dark)}.hero-stats{display:flex;gap:34px;margin:39px 0 0}.hero-stats div{display:flex;flex-direction:column}.hero-stats dt{font:700 25px Georgia,serif}.hero-stats dd{margin:0;color:var(--muted);font-size:12px}.hero-art{position:relative;min-height:500px;border-radius:48% 48% 44% 50%;overflow:hidden;background:linear-gradient(160deg,#fbe4ea,#f4b9c9);box-shadow:var(--shadow)}.hero-art:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-14%;height:45%;border-radius:50%;background:#f9f2e8}.sun{position:absolute;top:64px;right:76px;width:82px;height:82px;border-radius:50%;background:#fff2c9;box-shadow:0 0 0 16px rgba(255,242,201,.25)}.branch{position:absolute;right:-25px;top:128px;width:250px;height:9px;border-radius:99px;background:#744e48;transform:rotate(-22deg)}.flower{position:absolute;z-index:2;color:#fff;font-size:38px;text-shadow:0 2px 10px rgba(201,79,117,.24)}.f1{right:160px;top:98px}.f2{right:85px;top:145px;font-size:29px}.f3{right:222px;top:141px;font-size:24px}.hero-card{position:absolute;z-index:3;left:45px;top:90px;width:260px;padding:25px;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 18px 30px rgba(91,48,64,.13);backdrop-filter:blur(10px)}.hero-card span,.hero-card small{display:block;color:var(--muted);font-size:12px}.hero-card strong{display:block;margin:12px 0 3px;font-family:"Yu Mincho",serif;font-size:35px}.hero-card ruby{display:inline-block;margin-right:5px}.hero-card small{margin-top:14px}.mascot{position:absolute;z-index:4;right:53px;bottom:56px;width:160px;height:125px;border-radius:48% 48% 42% 42%;background:#fff;box-shadow:0 15px 25px rgba(89,60,47,.12)}.mascot:before,.mascot:after{content:"";position:absolute;top:-18px;width:53px;height:58px;background:#fff;transform:rotate(45deg);border-radius:12px}.mascot:before{left:13px}.mascot:after{right:13px}.mascot span{position:absolute;z-index:2;left:0;right:0;top:43px;text-align:center;font-weight:900}.section{padding-block:100px;scroll-margin-top:70px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:37px}.section-heading h2,.quiz-copy h2{font-size:clamp(36px,4vw,54px)}.section-heading>p{max-width:450px;margin:0;color:var(--muted)}.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.path-card{position:relative;min-height:330px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 12px 35px rgba(105,56,72,.07);overflow:hidden}.path-card>span{font-size:11px;font-weight:900;letter-spacing:.13em;color:var(--muted)}.path-icon{display:grid;place-items:center;width:82px;height:82px;margin:25px 0 22px;border-radius:24px;background:var(--blush);color:var(--pink-dark);font:700 38px "Yu Mincho",serif}.path-card.gold .path-icon{background:#fff0d5;color:#9b671f}.path-card.plum .path-icon{background:#eee2eb;color:var(--plum)}.path-card.mint .path-icon{background:#e4f1eb;color:#477d69}.path-card h3{margin:0;font:700 24px Georgia,"Yu Mincho",serif}.path-card p{color:var(--muted);font-size:14px}.path-card a{position:absolute;bottom:25px;color:var(--pink-dark);font-size:13px;font-weight:900;text-decoration:none}.wash{background:#fbedf0}.study-panel{padding:25px;border:1px solid rgba(255,255,255,.85);border-radius:32px;background:rgba(255,255,255,.75);box-shadow:var(--shadow)}.panel-toolbar,.phrase-summary{display:flex;justify-content:space-between;align-items:center;gap:20px}.tabs{display:flex;gap:5px;padding:5px;border-radius:99px;background:#f6e6e9}.tab{padding:9px 16px;border:0;border-radius:99px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.tab.active{background:#fff;color:var(--pink-dark);box-shadow:0 4px 12px rgba(105,56,72,.09)}.switch{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700}.switch input{position:absolute;opacity:0}.switch span{position:relative;width:38px;height:22px;border-radius:99px;background:#d9cbcf}.switch span:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--pink)}.switch input:checked+span:after{transform:translateX(16px)}.kana-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-top:24px}.kana-cell{min-height:77px;padding:6px;border:1px solid #f0dfe2;border-radius:15px;background:#fff;cursor:pointer;transition:.18s}.kana-cell:hover{border-color:var(--pink);transform:translateY(-2px);box-shadow:0 8px 15px rgba(201,79,117,.12)}.kana-cell strong,.kana-cell small{display:block}.kana-cell strong{font:500 28px "Yu Gothic UI",sans-serif}.kana-cell small{color:var(--muted);font-size:10px}.kana-cell.ghost{visibility:hidden}.kana-note{display:flex;gap:13px;align-items:center;margin-top:22px;padding:15px 18px;border-radius:17px;background:#fff7df}.kana-note span{display:grid;place-items:center;min-width:48px;height:32px;border-radius:99px;background:#f0be62;color:#fff;font-weight:900}.kana-note p{margin:0;font-size:13px}.kanji-progress{display:flex;align-items:center;gap:28px;margin-bottom:22px;padding:17px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}.kanji-progress>div:first-child{min-width:155px}.kanji-progress strong,.kanji-progress span{display:block}.kanji-progress span{color:var(--muted);font-size:11px}.progress-track{height:9px;flex:1;border-radius:99px;background:#f2e6e8;overflow:hidden}.progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pink),#f2b166);transition:.3s}.kanji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.kanji-card{position:relative;min-height:164px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:left;cursor:pointer}.kanji-card:hover,.kanji-card.learned{border-color:var(--pink)}.kanji-card.learned{background:#fff4f6}.kanji-card b{display:block;font:500 42px "Yu Mincho",serif}.kanji-card em{display:block;color:var(--pink-dark);font-style:normal;font-size:12px;font-weight:800}.kanji-card small{display:block;color:var(--muted);font-size:11px}.kanji-card:after{content:"○";position:absolute;right:10px;top:8px;color:#d9c7cb}.kanji-card.learned:after{content:"✓";color:var(--pink-dark);font-weight:900}.phrase-section{background:#4f3544;color:#fff}.section-heading.light .eyebrow{color:#f6b4c6}.section-heading.light>p{color:#dfcfd5}.phrase-toolbar{display:flex;gap:12px}.search{display:flex;align-items:center;gap:10px;flex:1;min-height:54px;padding:0 17px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(255,255,255,.1)}.search input{width:100%;border:0;outline:0;background:transparent;color:#fff}.search input::placeholder{color:#d9c7ce}.search kbd{padding:2px 7px;border:1px solid rgba(255,255,255,.22);border-radius:6px;color:#d9c7ce;font-size:11px}.icon-button{padding:0 18px;border:1px solid rgba(255,255,255,.17);border-radius:17px;background:rgba(255,255,255,.1);color:#fff;font-weight:800;cursor:pointer}.icon-button[aria-pressed="true"]{background:var(--pink);border-color:var(--pink)}.category-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 28px}.category-filter,.chip{padding:8px 14px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:transparent;color:#eadde2;font-size:12px;font-weight:800;cursor:pointer}.category-filter.active{border-color:#fff;background:#fff;color:#4f3544}.category-filter span{opacity:.64;margin-left:5px}.phrase-summary{margin-bottom:14px}.phrase-summary p{margin:0;color:#dfcfd5;font-size:13px}.view-options{display:flex;gap:17px;color:#dfcfd5;font-size:12px}.phrase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.phrase-card{position:relative;min-height:270px;padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:21px;background:#fff;color:var(--ink);box-shadow:0 15px 30px rgba(30,15,23,.14)}.phrase-meta{display:flex;justify-content:space-between;align-items:center}.phrase-category{padding:4px 8px;border-radius:99px;background:var(--blush);color:var(--pink-dark);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.phrase-id{color:#aa979e;font-size:10px}.phrase-japanese{min-height:48px;margin:18px 38px 4px 0;font:600 23px/1.75 "Yu Gothic UI","Hiragino Sans",sans-serif}.phrase-japanese rt{color:var(--pink-dark);font-size:9px;font-weight:700}.phrase-hiragana{margin:0;color:var(--pink-dark);font-size:13px}.phrase-romaji{margin:5px 0 16px;color:var(--muted);font-size:12px;font-style:italic}.phrase-meaning{padding-top:14px;border-top:1px solid #f1e7e9;font-weight:800}.phrase-actions{position:absolute;right:16px;top:53px;display:flex;flex-direction:column;gap:6px}.round-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);cursor:pointer}.round-button:hover,.round-button.saved{border-color:var(--pink);color:var(--pink-dark);background:var(--blush)}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:28px}.pagination button{min-width:40px;height:40px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:transparent;color:#fff;cursor:pointer}.pagination button.active{background:#fff;color:#4f3544}.pagination button:disabled{opacity:.35}.empty-state{grid-column:1/-1;padding:65px 20px;text-align:center;color:#dfcfd5}.quiz-section{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:80px}.quiz-copy>p:not(.eyebrow){color:var(--muted)}.quiz-modes{display:flex;gap:7px;margin-top:25px}.quiz-modes .chip{border-color:var(--line);color:var(--muted)}.quiz-modes .chip.active{background:var(--pink);border-color:var(--pink);color:#fff}.quiz-card{min-height:440px;padding:30px;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow)}.quiz-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800}.quiz-prompt{margin:35px 0 2px;text-align:center;font:600 72px "Yu Mincho",serif}.quiz-card>p{text-align:center}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:23px}.quiz-option{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-weight:800}.quiz-option:hover{border-color:var(--pink)}.quiz-option.correct{background:#e5f4ed;border-color:#6bab91;color:#366e59}.quiz-option.wrong{background:#fff0f1;border-color:#dc7e8b;color:#a34557}.quiz-feedback{min-height:24px;color:var(--pink-dark);font-size:13px;font-weight:800}.quiz-card .button{display:flex;margin:15px auto 0}.quiz-card .button[hidden]{display:none}footer{padding:35px 0;border-top:1px solid var(--line);background:#fff}footer .shell{display:flex;align-items:center;justify-content:space-between}footer p{color:var(--muted);font-size:12px}.petals{position:fixed;z-index:-1;inset:0;pointer-events:none;background-image:radial-gradient(ellipse at 10% 20%,rgba(238,120,153,.09) 0 4px,transparent 5px),radial-gradient(ellipse at 85% 35%,rgba(238,120,153,.08) 0 5px,transparent 6px),radial-gradient(ellipse at 22% 80%,rgba(238,120,153,.07) 0 4px,transparent 5px);background-size:220px 280px,310px 250px,290px 330px}@media(max-width:980px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{text-align:center}.hero-lede{margin-inline:auto}.hero-actions,.hero-stats{justify-content:center}.hero-art{width:min(560px,100%);min-height:460px;margin:auto}.path-grid{grid-template-columns:1fr 1fr}.kana-grid{grid-template-columns:repeat(5,1fr)}.kanji-grid{grid-template-columns:repeat(5,1fr)}.phrase-grid{grid-template-columns:1fr 1fr}.quiz-section{grid-template-columns:1fr;gap:35px}}@media(max-width:680px){.shell{width:min(100% - 24px,1180px)}.site-header{padding:11px 14px}.menu-toggle{display:block;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:12px;font-weight:800}.site-header nav{display:none;position:absolute;top:66px;left:12px;right:12px;flex-direction:column;gap:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.site-header nav.open{display:flex}.site-header nav a{padding:10px}.hero{padding-block:45px}.hero h1{font-size:48px}.hero-art{min-height:400px}.hero-card{left:22px;top:60px;width:235px}.mascot{right:27px;bottom:41px;width:135px}.hero-stats{gap:17px}.section{padding-block:70px}.section-heading{display:block}.section-heading>p{margin-top:16px}.path-grid,.phrase-grid{grid-template-columns:1fr}.path-card{min-height:290px}.panel-toolbar,.phrase-summary{align-items:flex-start;flex-direction:column}.tabs{width:100%}.tab{flex:1;padding-inline:9px}.kana-grid{grid-template-columns:repeat(5,1fr);gap:5px}.kana-cell{min-height:68px}.kanji-grid{grid-template-columns:repeat(3,1fr)}.kanji-card{min-height:150px}.phrase-toolbar{flex-direction:column}.icon-button{min-height:48px}.phrase-card{min-height:260px}.quiz-options{grid-template-columns:1fr}footer .shell{align-items:flex-start;flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the longer Hana's Little Garden wordmark comfortably clear of navigation. */
@media(min-width:981px){.site-header{padding-inline:max(20px,calc((100% - 1240px)/2))}}

/* Compact desktop: retain every navigation item, but scale spacing before any
   link can collide with the Hikari Path wordmark at non-maximized widths. */
@media(min-width:681px) and (max-width:1450px){.site-header{gap:16px;padding-block:13px;padding-inline:max(16px,calc((100% - 1240px)/2))}.brand{gap:9px;flex:0 0 auto}.brand-mark{width:43px;height:43px;font-size:21px}.brand strong{font-size:16px}.brand small{font-size:10px}.site-header nav{flex:1;justify-content:center;gap:clamp(8px,.9vw,13px);min-width:0}.site-header nav a{font-size:14px;white-space:nowrap}.account-open{min-height:39px;padding-inline:11px;font-size:10px;flex:0 0 auto}}
@media(min-width:681px) and (max-width:1040px){.site-header{gap:10px;padding-inline:12px}.brand-mark{width:37px;height:37px;font-size:19px}.brand strong{font-size:15px}.brand small{font-size:9px}.site-header nav{gap:6px}.site-header nav a{font-size:13px}.account-open{min-height:34px;padding-inline:9px;font-size:9px}}
@media(min-width:681px){.hero-card{left:clamp(46px,5vw,64px);top:clamp(68px,7vw,86px);width:clamp(210px,17vw,225px);padding:18px 19px 19px}.hero-card strong{margin:5px 0 6px;font-size:24px;letter-spacing:0}.hero-card-reading{gap:5px;font-size:11px}.hero-card-reading i{padding-left:7px;font-size:10px}.hero-card small{margin-top:11px;padding:4px 8px;font-size:9px}.hero-card:after{right:-14px;bottom:20px;border-top-width:10px;border-bottom-width:10px;border-left-width:14px}}



/* Hero bunny mascot - soft, fluffy, and unmistakably rabbit-shaped. */
.hero-sparkle{position:absolute;z-index:2;color:rgba(255,255,255,.9);font-family:Georgia,serif;line-height:1;text-shadow:0 3px 9px rgba(201,79,117,.18)}
.sparkle-one{right:27px;top:64px;font-size:27px;transform:rotate(12deg)}.sparkle-two{right:183px;bottom:144px;color:#fff5f8;font-size:24px;transform:rotate(-10deg)}.sparkle-three{left:25px;bottom:82px;font-size:19px;transform:rotate(-8deg)}
.bunny-mascot{right:46px;bottom:47px;width:172px;height:132px;border:3px solid rgba(255,255,255,.88);border-radius:50% 50% 44% 44%;background:radial-gradient(circle at 40% 24%,#fff 0 35%,#fff9fb 70%,#f9e9ee 100%);box-shadow:0 18px 28px rgba(89,60,47,.14),inset 0 -8px 14px rgba(238,120,153,.08)}
.bunny-mascot:before,.bunny-mascot:after{content:none}
.bunny-mascot span{left:auto;right:auto;top:auto;text-align:initial;font-weight:initial}
.bunny-mascot .bunny-ear{position:absolute;z-index:-1;bottom:98px;width:48px;height:105px;border:3px solid rgba(255,255,255,.9);border-radius:60% 60% 44% 44%;background:linear-gradient(#fff,#fff8fa);box-shadow:0 10px 18px rgba(112,62,78,.11)}
.bunny-mascot .bunny-ear i{position:absolute;inset:13px 11px 18px;border-radius:60% 60% 45% 45%;background:linear-gradient(#f7b6c8,#fde3ea)}
.bunny-mascot .bunny-ear-left{left:25px;right:auto;top:auto;transform:rotate(-9deg)}.bunny-mascot .bunny-ear-right{left:auto;right:25px;top:auto;transform:rotate(9deg)}
.bunny-mascot .bunny-face{position:absolute;inset:0;z-index:3}
.bunny-mascot .bunny-eye{position:absolute;top:45px;width:13px;height:18px;border-radius:50%;background:#49343e;box-shadow:inset 3px 3px 0 rgba(255,255,255,.92)}
.bunny-mascot .eye-left{left:48px;right:auto}.bunny-mascot .eye-right{left:auto;right:48px}
.bunny-mascot .bunny-cheek{position:absolute;top:69px;width:25px;height:12px;border-radius:50%;background:rgba(246,151,177,.38);filter:blur(.2px)}
.bunny-mascot .cheek-left{left:27px;right:auto}.bunny-mascot .cheek-right{left:auto;right:27px}
.bunny-mascot .bunny-nose{position:absolute;left:50%;right:auto;top:65px;width:11px;height:8px;border-radius:55% 55% 70% 70%;background:#ee7899;transform:translateX(-50%)}
.bunny-mascot .bunny-mouth{position:absolute;left:50%;right:auto;top:73px;width:22px;height:14px;border-bottom:2px solid #73515f;border-radius:0 0 50% 50%;transform:translateX(-50%)}
.bunny-mouth:before{content:"";position:absolute;left:50%;top:-4px;height:7px;border-left:2px solid #73515f}
.bunny-mascot .bunny-paw{position:absolute;z-index:4;bottom:4px;width:48px;height:30px;border:2px solid #f3dbe2;border-radius:50%;background:#fff;box-shadow:inset 0 -5px 8px rgba(238,120,153,.07)}
.bunny-mascot .paw-left{left:22px;right:auto;top:auto;transform:rotate(9deg)}.bunny-mascot .paw-right{left:auto;right:22px;top:auto;transform:rotate(-9deg)}
.bunny-mascot .bunny-tail{position:absolute;z-index:-1;left:auto;right:-20px;top:auto;bottom:29px;width:58px;height:58px;border:3px solid #fff;border-radius:50%;background:radial-gradient(circle at 37% 35%,#fff,#f8e8ed);box-shadow:0 9px 16px rgba(89,60,47,.12)}
.bunny-mascot .bunny-flower{position:absolute;z-index:6;left:auto;right:15px;top:4px;color:#ee7899;font-size:31px;line-height:1;text-shadow:0 2px 0 #fff,0 5px 9px rgba(201,79,117,.2);transform:rotate(15deg)}
@media(max-width:720px){.bunny-mascot{right:22px;bottom:36px;width:142px;height:111px}.bunny-mascot .bunny-ear{bottom:83px;width:39px;height:82px}.bunny-mascot .bunny-ear-left{left:22px}.bunny-mascot .bunny-ear-right{right:22px}.bunny-mascot .bunny-eye{top:38px}.bunny-mascot .eye-left{left:40px}.bunny-mascot .eye-right{right:40px}.bunny-mascot .bunny-cheek{top:59px}.bunny-mascot .cheek-left{left:22px}.bunny-mascot .cheek-right{right:22px}.bunny-mascot .bunny-nose{top:55px}.bunny-mascot .bunny-mouth{top:63px}.bunny-mascot .bunny-paw{width:41px;height:25px}.bunny-mascot .bunny-flower{right:10px;font-size:27px}.sparkle-two{right:150px;bottom:130px}}
.hero-mascot-art{position:absolute;z-index:5;right:-1px;bottom:-2px;width:285px;height:auto;pointer-events:none;user-select:none}
@media(max-width:720px){.hero-mascot-art{right:-8px;bottom:0;width:245px}}
.hero-card{padding:24px 25px 25px;border:2px solid rgba(255,255,255,.96);border-radius:29px 29px 29px 13px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,245,249,.9));box-shadow:0 20px 35px rgba(112,59,78,.15),inset 0 0 0 1px rgba(238,120,153,.1)}
.hero-card:before{content:"✿";position:absolute;right:17px;top:15px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#f592ae,#e4678d);color:#fff;font-size:20px;line-height:1;box-shadow:0 7px 14px rgba(201,79,117,.22);transform:rotate(9deg)}
.hero-card:after{content:"";position:absolute;right:-17px;bottom:24px;width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:18px solid #fff7fa;filter:drop-shadow(1px 0 0 rgba(255,255,255,.96))}
.hero-card .hero-card-label{display:inline-flex;align-items:center;width:auto;margin:0 44px 10px 0;padding:4px 10px;border-radius:99px;background:#fde8ef;color:#ba4f72;font-size:10px;font-weight:900;letter-spacing:.09em}
.hero-card strong{margin:6px 0 7px;color:#3d2932;font-size:22px;letter-spacing:.02em;white-space:nowrap}
.hero-card-reading{display:flex;align-items:baseline;gap:7px;color:#5f4650;font-size:13px;white-space:nowrap}.hero-card-reading ruby{margin:0}.hero-card-reading rt{color:#c35b7b;font-size:8px}.hero-card-reading i{margin-left:2px;padding-left:10px;border-left:1px solid #e9cbd4;color:#8a7079;font-size:11px;font-style:normal;letter-spacing:.02em}
.hero-card small{display:inline-flex;margin-top:15px;padding:5px 10px;border-radius:99px;background:#fff0f4;color:#b14d6d;font-size:10px;font-weight:800;letter-spacing:.025em}
.kana-note{position:relative;min-height:78px;padding-right:138px;overflow:visible}.kana-study-buddy{position:absolute;right:12px;bottom:-12px;width:112px;height:auto;mix-blend-mode:multiply;pointer-events:none;user-select:none;transform:rotate(2deg)}
.quiz-buddy-wrap{display:flex;align-items:center;justify-content:center;gap:8px;margin:25px 0 -24px}.quiz-buddy-wrap>span{position:relative;max-width:155px;padding:9px 12px;border:1px solid #f0d8bc;border-radius:16px 16px 5px 16px;background:#fff8df;color:#8b642b;font-size:10px;font-weight:900;text-align:center}.quiz-buddy-wrap>span:after{content:"";position:absolute;right:-6px;bottom:7px;width:11px;height:11px;border-top:1px solid #f0d8bc;border-right:1px solid #f0d8bc;background:#fff8df;transform:rotate(45deg)}.quiz-buddy-wrap small{display:block;margin-top:2px;color:#9a7d55;font-size:8px;font-weight:700}.quiz-study-buddy{width:128px;height:auto;mix-blend-mode:multiply;pointer-events:none;user-select:none}
@media(max-width:680px){.kana-note{padding-right:104px}.kana-study-buddy{right:5px;width:88px}.quiz-buddy-wrap{margin-bottom:0}.quiz-study-buddy{width:112px}}

/* Starter kanji: pronunciation and progress are deliberately separate actions. */
.kanji-card{position:relative;min-height:184px;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:left;overflow:hidden;cursor:default;transition:.18s}
.kanji-card:hover,.kanji-card.learned{border-color:var(--pink)}
.kanji-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(201,79,117,.1)}
.kanji-card.learned{background:#fff4f6}
.kanji-card:after,.kanji-card.learned:after{content:none}
.kanji-pronounce{display:block;width:100%;min-height:182px;padding:37px 14px 12px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.kanji-hear{display:inline-flex;align-items:center;margin-top:8px;padding:2px 8px;border-radius:99px;background:var(--blush);color:var(--pink-dark);font-size:10px;font-weight:900}
.kanji-learn-toggle{position:absolute;z-index:2;right:8px;top:8px;padding:3px 7px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:9px;font-weight:900;cursor:pointer}
.kanji-learn-toggle:hover,.kanji-learn-toggle[aria-pressed="true"]{border-color:var(--pink);background:var(--pink);color:#fff}
@media(max-width:620px){.kanji-card,.kanji-pronounce{min-height:176px}}

/* Publishing polish: contact and centered Hikari Apps footer. */
.contact-section{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff9f7 0%,#fdebef 54%,#f8dbe4 100%)}
.contact-section:before,.contact-section:after{content:"✿";position:absolute;color:rgba(238,120,153,.14);font-size:170px;line-height:1;pointer-events:none}
.contact-section:before{left:-48px;top:20px;transform:rotate(-14deg)}
.contact-section:after{right:-30px;bottom:-38px;transform:rotate(18deg)}
.contact-shell{position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:center}
.contact-copy h2{margin:0;font:700 clamp(38px,4vw,56px)/1.06 Georgia,"Yu Mincho",serif;letter-spacing:-.035em}
.contact-copy>p:not(.eyebrow){max-width:470px;margin:22px 0;color:var(--muted);font-size:16px}
.contact-promise{display:flex;align-items:flex-start;gap:12px;max-width:470px;padding:16px;border:1px solid rgba(255,255,255,.88);border-radius:18px;background:rgba(255,255,255,.62)}
.contact-promise>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:var(--pink);color:#fff}
.contact-promise p{margin:0;color:var(--muted);font-size:13px}
.contact-promise strong{color:var(--ink)}
.contact-form{padding:30px;border:1px solid rgba(255,255,255,.92);border-radius:28px;background:rgba(255,255,255,.86);box-shadow:0 22px 55px rgba(105,56,72,.12);backdrop-filter:blur(12px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:900}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font:500 14px/1.5 Inter,"Segoe UI",sans-serif;outline:none;transition:.18s}
.form-grid input,.form-grid select{min-height:48px;padding:0 13px}
.form-grid textarea{min-height:150px;padding:12px 13px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(238,120,153,.13)}
.form-wide{grid-column:1/-1}
.form-submit{display:flex;align-items:center;gap:18px;margin-top:20px}
.form-submit p{margin:0;color:var(--muted);font-size:11px}
.contact-status{min-height:24px;margin:13px 0 0;color:var(--pink-dark);font-size:13px;font-weight:800;text-align:center}
.contact-status.success{color:#397b64}.contact-status.error{color:#a43e58}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.site-footer{padding:68px 0 34px;border-top:1px solid var(--line);background:#fffaf6;text-align:center}
.site-footer .footer-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.footer-brand{justify-content:center}
.footer-brand span:last-child{text-align:left}
.footer-tagline{margin:18px 0 20px;color:var(--muted)}
.social-links{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
.social-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font-size:12px;font-weight:900;text-decoration:none;cursor:pointer;transition:.18s}
.social-button:hover{border-color:var(--pink);background:var(--blush);color:var(--pink-dark);transform:translateY(-1px)}
.social-button span{font-size:15px}
.share-status{min-height:22px;margin:7px 0 0;color:var(--pink-dark);font-size:11px;font-weight:800}
.footer-links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:15px 0 24px}
.footer-links a{color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}
.footer-links a:hover{color:var(--pink-dark)}
.footer-disclaimer{width:min(850px,100%);padding:20px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}
.footer-disclaimer p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}
.footer-disclaimer p+p{margin-top:8px}
.footer-disclaimer strong{color:var(--ink)}
.copyright{margin:20px 0 0;color:#9b8990;font-size:11px}
@media(max-width:900px){.contact-shell{grid-template-columns:1fr;gap:30px}.contact-copy{text-align:center}.contact-copy>p:not(.eyebrow),.contact-promise{margin-left:auto;margin-right:auto}}
@media(max-width:620px){.contact-form{padding:20px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.form-submit{align-items:stretch;flex-direction:column}.footer-disclaimer{padding:17px}.footer-links{gap:14px}}

/* On-site flashcard studio. */
.flashcards-section{position:relative;background:linear-gradient(155deg,#fff8f4 0%,#fce7ed 48%,#f6d9e4 100%);overflow:hidden}
.flashcards-section:before{content:"桜";position:absolute;right:-25px;top:28px;color:rgba(201,79,117,.055);font:700 260px/1 Georgia,"Yu Mincho",serif;pointer-events:none}
.flashcards-section .section-heading{position:relative;z-index:1}
.flashcard-studio{position:relative;z-index:1;padding:24px;border:1px solid rgba(255,255,255,.92);border-radius:34px;background:rgba(255,255,255,.64);box-shadow:0 24px 65px rgba(105,56,72,.12);backdrop-filter:blur(14px)}
.flashcard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.flashcard-decks{display:flex;gap:6px;flex-wrap:wrap;padding:6px;border-radius:18px;background:#f7e7eb}
.flash-deck{min-height:40px;padding:0 14px;border:0;border-radius:13px;background:transparent;color:var(--muted);font-size:12px;font-weight:900;cursor:pointer}
.flash-deck:hover,.flash-deck.active{background:#fff;color:var(--pink-dark);box-shadow:0 5px 14px rgba(105,56,72,.09)}
.flashcard-summary{display:flex;align-items:flex-end;flex-direction:column;white-space:nowrap}
.flashcard-summary strong{font:700 17px Georgia,serif}.flashcard-summary span{color:var(--muted);font-size:11px;font-weight:800}
.flashcard-progress{height:7px;margin:18px 0 22px;border-radius:99px;background:#eedee3;overflow:hidden}
.flashcard-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pink),#f1b15d);transition:width .25s}
.flashcard-card{display:block;width:min(760px,100%);height:390px;margin:0 auto;padding:0;border:0;border-radius:28px;background:transparent;perspective:1200px;cursor:pointer}
.flashcard-card:focus-visible{outline:4px solid rgba(238,120,153,.28);outline-offset:5px}
.flashcard-card-inner{position:relative;display:block;width:100%;height:100%}
.flashcard-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:42px;border:1px solid rgba(238,120,153,.24);border-radius:28px;overflow:hidden;box-shadow:0 20px 45px rgba(105,56,72,.13)}
.flashcard-face:before,.flashcard-face:after{content:"✿";position:absolute;color:rgba(238,120,153,.12);font-size:92px;line-height:1}
.flashcard-face:before{left:-18px;top:-18px;transform:rotate(-20deg)}.flashcard-face:after{right:-16px;bottom:-23px;transform:rotate(18deg)}
.flashcard-front{background:linear-gradient(145deg,#fff 0%,#fff8fa 100%)}
.flashcard-back{display:none;background:linear-gradient(145deg,#4f3544 0%,#6b4056 100%);color:#fff}.flashcard-card.flipped .flashcard-front{display:none}.flashcard-card.flipped .flashcard-back{display:flex}
.flashcard-kicker{position:absolute;top:25px;color:var(--pink-dark);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.flashcard-back .flashcard-kicker{color:#f5afc2}
#flashcard-front{max-width:100%;font:500 clamp(88px,12vw,142px)/1 "Yu Mincho","Yu Gothic UI",serif;text-align:center}
.flashcard-card[data-kind="phrase"] #flashcard-front{font-size:clamp(30px,5vw,48px);line-height:1.55}
.flashcard-front-details{display:none}
#flashcard-back-primary{max-width:650px;font:700 clamp(30px,4.5vw,46px)/1.18 Georgia,"Yu Mincho",serif;text-align:center}
.flashcard-card[data-kind="phrase"] #flashcard-back-primary{font-size:clamp(25px,3.5vw,38px)}
.flashcard-card[data-kind="word"] #flashcard-back-primary{font-size:clamp(25px,3.5vw,38px)}
.flashcard-back-details{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;margin-top:20px;color:#eadce2;font-size:14px;text-align:center}
.flashcard-back-details span:first-child{color:#fff;font-size:18px;font-weight:800}
.flashcard-card[data-kind="phrase"] .flashcard-category{margin-top:9px;color:#f6b5c9;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.flashcard-card[data-kind="phrase"] #flashcard-back-primary,.flashcard-card[data-kind="phrase"] .flashcard-back-details{transform:translateY(24px)}
.flashcard-tap{position:absolute;bottom:22px;color:var(--muted);font-size:11px;font-weight:800}
.flashcard-back .flashcard-tap{color:#d8c4cc}
.flashcard-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:20px 0 0}
.flash-tool{min-height:42px;padding:0 15px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:11px;font-weight:900;cursor:pointer}
.flash-tool:hover{border-color:var(--pink);color:var(--pink-dark)}.flash-tool.audio{border-color:var(--pink);background:var(--blush);color:var(--pink-dark)}
.flashcard-ratings{max-width:760px;margin:18px auto 0;padding-top:18px;border-top:1px solid var(--line);text-align:center}
.flashcard-ratings>p{margin:0 0 10px;color:var(--muted);font-size:11px;font-weight:800}
.flashcard-ratings>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.flashcard-ratings button{display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:58px;padding:8px 13px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);font-size:12px;font-weight:900;text-align:left;cursor:pointer}
.flashcard-ratings button>span{grid-row:1/3;margin-right:9px;font-size:20px}.flashcard-ratings button small{color:var(--muted);font-size:9px;font-weight:700}
.flashcard-ratings button:hover:not(:disabled),.flashcard-ratings button.selected{border-color:var(--pink);background:var(--blush);color:var(--pink-dark)}
.flashcard-ratings button:disabled{cursor:not-allowed;opacity:.42}
.flashcard-status{min-height:24px;margin:10px 0 0;color:var(--pink-dark);font-size:12px;font-weight:900;text-align:center}
@media(max-width:720px){.flashcard-toolbar{align-items:stretch;flex-direction:column}.flashcard-summary{align-items:center;flex-direction:row;justify-content:space-between}.flashcard-decks{display:grid;grid-template-columns:1fr 1fr}.flashcard-card{height:360px}.flashcard-face{padding:35px 22px}.flashcard-ratings>div{grid-template-columns:1fr}.flashcard-ratings button{min-height:52px}.flashcard-nav{display:grid;grid-template-columns:1fr 1fr}.flash-tool{width:100%}}
@media(max-width:420px){.flashcard-studio{padding:16px;border-radius:24px}.flashcard-card{height:340px}.flashcard-face{border-radius:22px}.flashcard-card[data-kind="phrase"] #flashcard-front{font-size:27px}}

.premium-deck:after{content:"✦";margin-left:5px;color:#b27720}.jlpt-section{background:linear-gradient(150deg,#4f3544,#6e4257);color:#fff}.jlpt-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.jlpt-path-card{display:grid;grid-template-columns:auto 1fr;gap:23px;padding:29px;border:1px solid rgba(255,255,255,.16);border-radius:27px;background:rgba(255,255,255,.08);box-shadow:0 18px 45px rgba(32,20,27,.16)}.jlpt-path-card.n5{background:linear-gradient(140deg,rgba(121,173,154,.22),rgba(255,255,255,.07))}.jlpt-path-card.n4{background:linear-gradient(140deg,rgba(115,163,211,.20),rgba(255,255,255,.07))}.jlpt-path-card.n3{background:linear-gradient(140deg,rgba(128,80,110,.24),rgba(255,255,255,.07))}.jlpt-path-card.n2{background:linear-gradient(140deg,rgba(238,120,153,.17),rgba(255,255,255,.07))}.jlpt-path-card.n1{background:linear-gradient(140deg,rgba(229,170,84,.16),rgba(255,255,255,.07))}.level-orb{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;background:var(--pink);color:#fff;font:700 24px Georgia,serif;box-shadow:0 12px 25px rgba(0,0,0,.16)}.jlpt-path-card.n5 .level-orb{background:var(--mint)}.jlpt-path-card.n4 .level-orb{background:#709ccb}.jlpt-path-card.n3 .level-orb{background:var(--plum)}.jlpt-path-card.n1 .level-orb{background:var(--gold)}.jlpt-kicker{margin:0;color:#f4b2c4;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.jlpt-path-card h3{margin:4px 0 10px;font:700 27px Georgia,"Yu Mincho",serif}.jlpt-path-card>div>p:not(.jlpt-kicker){color:#dfcfd5;font-size:13px}.jlpt-path-card dl{display:flex;gap:23px;margin:18px 0 22px}.jlpt-path-card dl div{display:flex;flex-direction:column}.jlpt-path-card dt{font:700 20px Georgia,serif}.jlpt-path-card dd{margin:0;color:#cdbac3;font-size:9px}.jlpt-phrase-library{margin-top:26px;padding:28px;border:1px solid rgba(255,255,255,.15);border-radius:28px;background:rgba(255,255,255,.07)}.jlpt-phrase-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.jlpt-phrase-head .eyebrow{margin-bottom:4px;color:#f4b2c4}.jlpt-phrase-head h3{margin:0;font:700 30px Georgia,serif}.jlpt-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:5px;border-radius:18px;background:rgba(255,255,255,.1)}.jlpt-tabs button{min-width:52px;min-height:36px;border:0;border-radius:99px;background:transparent;color:#dfcfd5;font-weight:900;cursor:pointer}.jlpt-tabs button.active{background:#fff;color:var(--pink-dark)}.jlpt-phrase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.jlpt-phrase-card{position:relative;min-height:270px;padding:21px;border:1px solid rgba(255,255,255,.13);border-radius:19px;background:#fff;color:var(--ink)}.jlpt-phrase-card>span{display:inline-block;padding:3px 8px;border-radius:99px;background:var(--blush);color:var(--pink-dark);font-size:9px;font-weight:900}.jlpt-phrase-card h4{margin:14px 0 8px;font:600 20px/1.5 "Yu Mincho",serif}.jlpt-phrase-card p{margin:7px 0;color:var(--muted);font-size:11px}.jlpt-phrase-card p:nth-of-type(2){color:var(--ink);font-size:12px}.jlpt-phrase-card small{display:block;color:#9c8990;font-size:9px}.jlpt-phrase-card button{position:absolute;left:20px;bottom:17px;border:0;background:transparent;color:var(--pink-dark);font-size:10px;font-weight:900;cursor:pointer}.jlpt-section .light-pagination{margin-top:20px}.jlpt-section .light-pagination button{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}.jlpt-section .light-pagination button.active{background:var(--pink)}.jlpt-note{margin:21px 0 0;padding:14px 18px;border-radius:14px;background:rgba(0,0,0,.13);color:#ddcad3;font-size:10px;text-align:center}
@media(max-width:900px){.jlpt-path-grid{grid-template-columns:1fr}.jlpt-phrase-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.jlpt-path-card{grid-template-columns:1fr;padding:23px}.level-orb{width:62px;height:62px}.jlpt-path-card dl{gap:14px;flex-wrap:wrap}.jlpt-phrase-library{padding:19px}.jlpt-phrase-head{align-items:flex-start;flex-direction:column}.jlpt-phrase-grid{grid-template-columns:1fr}.jlpt-phrase-card{min-height:250px}}

/* Accounts, pricing, subscriptions, and speaking practice. */
.account-open{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--pink-dark);font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.account-open:hover{border-color:var(--pink);background:var(--blush)}
.pricing-section{background:#fffaf6}.pricing-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px;align-items:stretch}.price-card{position:relative;padding:32px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 17px 45px rgba(105,56,72,.08)}.price-card.premium{border-color:rgba(238,120,153,.48);background:linear-gradient(150deg,#fff 0%,#fff4f7 100%);box-shadow:0 22px 55px rgba(201,79,117,.14)}.price-kicker{color:var(--pink-dark);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.price-card h3{margin:8px 0 18px;font:700 30px Georgia,"Yu Mincho",serif}.price{display:flex;align-items:end;gap:12px;margin:0 0 24px}.price strong{font:700 48px/1 Georgia,serif}.price span{color:var(--muted);font-size:12px}.price-card ul{display:grid;gap:10px;margin:0 0 27px;padding:0;list-style:none}.price-card li{position:relative;padding-left:25px;color:var(--muted);font-size:13px}.price-card li:before{content:"✓";position:absolute;left:0;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--blush);color:var(--pink-dark);font-size:10px;font-weight:900}.popular-badge{position:absolute;right:22px;top:20px;padding:5px 10px;border-radius:99px;background:var(--pink);color:#fff;font-size:10px;font-weight:900}.premium-prices{display:flex;gap:28px;margin-bottom:23px}.premium-prices p{display:flex;align-items:baseline;flex-direction:column;margin:0}.premium-prices strong{font:700 42px/1 Georgia,serif}.premium-prices span{color:var(--muted);font-size:11px}.subscribe-actions{display:flex;gap:9px;flex-wrap:wrap}.price-card>small{display:block;margin-top:15px;color:var(--muted);font-size:10px}.pricing-status{min-height:24px;margin:17px 0 0;color:var(--pink-dark);font-size:12px;font-weight:900;text-align:center}.flash-tool.speak{border-color:#80506e;background:#eee2eb;color:#70435e}
.account-modal,.pronunciation-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(52,39,45,.58);backdrop-filter:blur(8px);cursor:pointer}.account-dialog,.pronunciation-dialog{position:relative;z-index:1;width:min(520px,100%);max-height:calc(100vh - 40px);padding:31px;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:#fffaf8;box-shadow:0 35px 90px rgba(52,39,45,.28);overflow:auto}.pronunciation-dialog{width:min(650px,100%)}.modal-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font-size:22px;cursor:pointer}.modal-close:hover{border-color:var(--pink);color:var(--pink-dark)}.account-heading{display:flex;align-items:center;gap:14px;padding-right:35px}.account-heading h2,.pronunciation-dialog h2{margin:0;font:700 29px/1.1 Georgia,"Yu Mincho",serif}.account-heading .eyebrow{margin-bottom:5px}.account-setup{margin:20px 0;padding:13px 15px;border:1px solid #ecd596;border-radius:14px;background:#fff8df}.account-setup strong{font-size:12px}.account-setup p{margin:3px 0 0;color:#755e2f;font-size:11px}.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:24px 0 18px;padding:5px;border-radius:15px;background:#f5e7ea}.account-tabs button{min-height:39px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:12px;font-weight:900;cursor:pointer}.account-tabs button.active{background:#fff;color:var(--pink-dark);box-shadow:0 5px 12px rgba(105,56,72,.08)}.auth-form{display:grid;gap:14px}.auth-form label:not(.account-consent){display:grid;gap:6px;color:var(--ink);font-size:11px;font-weight:900}.auth-form input{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);outline:none}.auth-form input:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(238,120,153,.12)}.account-consent{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:10px}.account-consent input{width:16px;min-height:16px;margin-top:2px}.text-button{justify-self:center;padding:5px;border:0;background:transparent;color:var(--pink-dark);font-size:11px;font-weight:900;cursor:pointer}.text-button.danger{color:#a6425d}.account-status{min-height:22px;margin:13px 0 0;color:var(--pink-dark);font-size:11px;font-weight:900;text-align:center}.account-status.error{color:#a6425d}.account-status.success{color:#397b64}.account-member{text-align:center}.member-avatar{display:grid;place-items:center;width:68px;height:68px;margin:25px auto 10px;border-radius:50%;background:linear-gradient(145deg,var(--pink),var(--pink-dark));color:#fff;font:700 28px Georgia,serif;box-shadow:0 10px 25px rgba(201,79,117,.24)}.account-member h3{margin:0;font:700 25px Georgia,serif}.account-member>p{margin:5px 0;color:var(--muted);font-size:12px}.member-plan{display:inline-block;margin:8px 0 18px;padding:4px 11px;border-radius:99px;background:var(--blush);color:var(--pink-dark);font-size:10px;font-weight:900}.member-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.member-stats>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.member-stats strong,.member-stats span{display:block}.member-stats strong{font:700 18px Georgia,serif}.member-stats span{color:var(--muted);font-size:9px}.member-actions{display:grid;gap:9px;margin-top:18px}.footer-links button{padding:0;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer}.footer-links button:hover{color:var(--pink-dark)}
.pronunciation-intro{margin:12px 0 20px;color:var(--muted);font-size:12px}.speech-target{display:grid;place-items:center;gap:5px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}.speech-target>span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.speech-target strong{font:600 clamp(30px,6vw,48px)/1.35 "Yu Mincho",serif}.speech-target button{border:0;background:transparent;color:var(--pink-dark);font-size:11px;font-weight:900;cursor:pointer}.speech-recorder{display:grid;place-items:center;margin-top:18px;padding:20px;border-radius:18px;background:#f9eaee;text-align:center}.record-orb{width:44px;height:44px;border:12px solid #ffd7e1;border-radius:50%;background:var(--pink)}.speech-recorder.recording .record-orb{animation:recordPulse 1.15s infinite}.speech-recorder p{margin:10px 0 14px;color:var(--muted);font-size:11px}.speech-recorder>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}@keyframes recordPulse{50%{box-shadow:0 0 0 13px rgba(238,120,153,.15)}}.speech-results{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}.speech-verdict{display:inline-block;padding:5px 12px;border-radius:99px;background:#e4f1eb;color:#397b64;font-size:11px;font-weight:900}.speech-verdict.almost{background:#fff1d6;color:#89611f}.speech-verdict.retry{background:#fde8ec;color:#a6425d}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.score-grid>div{padding:11px;border-radius:13px;background:#fff7f8}.score-grid strong,.score-grid span{display:block}.score-grid strong{font:700 25px Georgia,serif}.score-grid span{color:var(--muted);font-size:9px}.speech-results>p{color:var(--muted);font-size:12px}.speech-word-feedback{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:12px 0}.speech-word-feedback span{padding:4px 7px;border-radius:8px;background:#e4f1eb;color:#397b64;font-size:11px}.speech-word-feedback span.needs-work{background:#fde8ec;color:#a6425d}.speech-status{min-height:20px;margin:12px 0 0;color:var(--pink-dark);font-size:11px;font-weight:900;text-align:center}.speech-privacy{margin:12px 0 0;color:#928087;font-size:9px;text-align:center}
.password-hint,.form-intro{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.account-settings{display:grid;gap:22px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);text-align:left}.account-settings h4{margin:0;font:700 17px Georgia,"Yu Mincho",serif}.danger-zone{padding:16px;border:1px solid #e8b7c3;border-radius:16px;background:#fff5f6}.danger-zone p{margin:0;color:#7b4b58;font-size:10px;line-height:1.55}.danger-button{border:1px solid #a6425d;background:#a6425d;color:#fff}.danger-button:hover{background:#84334a}.auth-form button[disabled]{cursor:wait;opacity:.65}
.captcha-slot{min-height:65px}
body.modal-open{overflow:hidden}
@media(max-width:1040px){.site-header nav{gap:6px}.site-header nav a{font-size:13px}}
@media(max-width:900px){.account-open{margin-left:auto}.pricing-grid{grid-template-columns:1fr}.site-header .account-open{margin-right:50px}}
.annual-save{display:inline-flex;align-items:center;margin-top:7px;padding:4px 8px;border-radius:99px;background:var(--pink);color:#fff;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.trial-badge{border:0;cursor:pointer;font-family:inherit}.trial-badge:hover{filter:brightness(.96);transform:translateY(-1px)}.trial-badge:focus-visible{outline:3px solid rgba(238,120,153,.32);outline-offset:3px}
@media(max-width:620px){.premium-prices{gap:18px;flex-direction:column}.subscribe-actions{display:grid}.price-card{padding:24px}.account-dialog,.pronunciation-dialog{padding:24px 18px}.score-grid{gap:5px}.site-header .account-open{margin-right:45px;padding:0 10px}#account-open-label{display:none}}

.legal-page{min-height:100vh;background:linear-gradient(145deg,#fffaf6,#fdeef2)}.legal-header{display:flex;align-items:center;justify-content:space-between;padding:18px max(20px,calc((100% - 900px)/2));border-bottom:1px solid var(--line);background:rgba(255,250,246,.92)}.legal-header>a:last-child,.legal-footer a{color:var(--pink-dark);font-size:12px;font-weight:900;text-decoration:none}.legal-main{width:min(900px,calc(100% - 40px));margin:55px auto;padding:45px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.legal-main h1{margin:0;font:700 clamp(42px,7vw,68px)/1 Georgia,serif}.legal-main h2{margin:31px 0 8px;font:700 22px Georgia,serif}.legal-main>p:not(.eyebrow):not(.legal-updated){color:var(--muted);font-size:14px}.legal-updated{color:#9c8990;font-size:11px}.legal-note{margin-top:35px;padding:18px;border:1px solid #ead596;border-radius:16px;background:#fff8df;color:#745c2b;font-size:11px}.legal-footer{padding:30px;text-align:center;color:var(--muted);font-size:11px}@media(max-width:620px){.legal-header{align-items:flex-start;gap:15px}.legal-main{margin:25px auto;padding:26px 20px}.legal-header .brand small{letter-spacing:.04em}}

/* N5 curriculum and member downloads. */
.n5-learning-section{background:linear-gradient(145deg,#fff9f6,#fce8ee)}.n5-dashboard,.resource-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.n5-overview-card,.resource-card,.n5-lesson-head,.n5-activity-card,.resource-signin-prompt{padding:23px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 13px 30px rgba(105,56,72,.07)}.n5-welcome{grid-column:span 2;background:linear-gradient(135deg,#5b3b4d,#80516a);color:#fff}.n5-overview-card>span,.resource-card>span,.n5-lesson-head>span,.n5-activity-card>span{color:var(--pink-dark);font-size:10px;font-weight:900;letter-spacing:.12em}.n5-welcome>span{color:#f5b8c8}.n5-overview-card h3,.resource-card h3,.n5-lesson-head h3,.resource-signin-prompt h3{margin:8px 0;font:700 24px Georgia,"Yu Mincho",serif}.n5-overview-card p,.resource-card p,.n5-lesson-head p,.resource-signin-prompt p,.n5-activity-card p{color:var(--muted);font-size:12px;line-height:1.6}.n5-welcome p{color:#f1dce4}.n5-overview-card button,.n5-overview-card a,.n5-lesson-head button,.n5-activity-card button,.resource-card a,.resource-signin-prompt button{display:inline-flex;min-height:39px;align-items:center;margin-top:10px;padding:0 14px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--pink-dark);font-size:11px;font-weight:900;text-decoration:none;cursor:pointer}.n5-lesson-panel{margin-top:22px}.n5-lesson-head{background:#fff7f8}.n5-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.n5-activity-card strong{display:block;margin:13px 0;font:600 20px/1.45 "Yu Mincho",serif}.n5-activity-card div{display:flex;gap:7px;flex-wrap:wrap}.n5-answer{padding:10px;border-radius:12px;background:#e8f3ec;color:#397b64;font-weight:800}.resource-library-section{background:#fffaf6}.resource-signin-prompt{max-width:620px;margin:auto;text-align:center}.resource-signin-prompt>span{display:grid;place-items:center;width:54px;height:54px;margin:auto;border-radius:50%;background:var(--blush);color:var(--pink-dark);font-size:24px}.resource-card{display:flex;flex-direction:column}.resource-card a{margin-top:auto;align-self:flex-start;background:var(--blush)}@media(max-width:800px){.n5-dashboard,.resource-library-grid{grid-template-columns:1fr 1fr}.n5-welcome{grid-column:span 2}}@media(max-width:560px){.n5-dashboard,.resource-library-grid,.n5-activity-grid{grid-template-columns:1fr}.n5-welcome{grid-column:auto}.n5-overview-card,.resource-card,.n5-lesson-head,.n5-activity-card{padding:19px}}
.lesson-tabs{display:flex;justify-content:flex-end;gap:5px;margin:16px 0 24px;padding:5px;border-radius:18px;background:#f2dfe5}.lesson-tabs button{min-width:52px;min-height:36px;border:0;border-radius:99px;background:transparent;color:var(--muted);font-weight:900;cursor:pointer}.lesson-tabs button.active{background:#fff;color:var(--pink-dark);box-shadow:0 4px 10px rgba(105,56,72,.1)}@media(max-width:700px){.lesson-tabs{justify-content:flex-start;margin:10px 0 20px}}
.jlpt-phrase-card .phrase-reading{font-size:12px}.phrase-focus{display:grid;gap:4px;margin-top:13px;padding:10px 11px;border-radius:12px;background:#fff4f7}.phrase-focus b{font:600 16px "Yu Mincho",serif}.phrase-focus span{color:var(--ink);font-size:11px;line-height:1.45}
.words-section{background:linear-gradient(145deg,#fff8f7,#fcebf0)}.word-library{padding:26px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 44px rgba(105,56,72,.08)}.word-library-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.word-library-head .eyebrow{margin-bottom:4px}.word-library-head h3{margin:0;font:700 30px Georgia,"Yu Mincho",serif}.word-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:5px;border-radius:18px;background:#f2dfe5}.word-tabs button{min-width:52px;min-height:36px;border:0;border-radius:99px;background:transparent;color:var(--muted);font-weight:900;cursor:pointer}.word-tabs button.active{background:#fff;color:var(--pink-dark);box-shadow:0 4px 10px rgba(105,56,72,.1)}.word-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.word-card{position:relative;min-height:238px;padding:20px;padding-bottom:52px;border:1px solid var(--line);border-radius:18px;background:#fffafc;box-shadow:0 10px 22px rgba(105,56,72,.05)}.word-card>span{display:inline-block;padding:3px 8px;border-radius:99px;background:var(--blush);color:var(--pink-dark);font-size:9px;font-weight:900}.word-card h3{margin:13px 0 4px;font:600 28px/1.35 "Yu Mincho",serif}.word-card p{margin:0;color:var(--muted);font-size:12px}.word-card strong{display:-webkit-box;margin-top:14px;overflow:hidden;color:var(--ink);font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.word-card button{position:absolute;bottom:16px;left:20px;border:0;background:transparent;color:var(--pink-dark);font-size:10px;font-weight:900;cursor:pointer}@media(max-width:900px){.word-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.word-library{padding:19px}.word-library-head{align-items:flex-start;flex-direction:column}.word-grid{grid-template-columns:1fr}}

/* Keep the close glyph optically centered inside its circular hit target. */
.modal-close{display:grid;place-items:center;padding:0;font-family:Arial,sans-serif;line-height:1}

/* Keep supporting labels friendly and readable instead of forcing all caps. */
.eyebrow,.phrase-category,.flashcard-kicker,.flashcard-card[data-kind="phrase"] .flashcard-category,.jlpt-kicker,.price-kicker,.speech-target>span,.annual-save{text-transform:none}

/* Phrase-learning hierarchy: full reading, translation, then word-by-word structure. */
.jlpt-phrase-card{min-height:410px;padding-bottom:58px}.phrase-translation{display:grid;gap:8px;margin:10px 0 12px}.phrase-translation>div{display:grid;grid-template-columns:48px 1fr;gap:9px;align-items:start}.phrase-translation dt{color:var(--pink-dark);font-size:9px;font-weight:900}.phrase-translation dd{margin:0;color:var(--ink);font-size:11px;line-height:1.45}.phrase-translation>div:nth-child(2) dd{color:var(--muted);font-style:italic}.phrase-translation>div:last-child{padding:9px 10px;border-radius:11px;background:#fff4f7}.phrase-breakdown{margin-top:10px;border-top:1px solid #f0e2e6;padding-top:9px}.phrase-breakdown summary{color:var(--pink-dark);font-size:10px;font-weight:900;cursor:pointer}.phrase-breakdown ol{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0;padding:0;list-style:none}.phrase-breakdown li{display:grid;min-width:84px;max-width:145px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:#fff}.phrase-breakdown li.focus{border-color:#efadc0;background:#fff4f7}.phrase-breakdown b,.phrase-breakdown span,.phrase-breakdown small,.phrase-breakdown em{display:block}.phrase-breakdown b{font:600 14px "Yu Mincho",serif}.phrase-breakdown span{color:var(--pink-dark);font-size:9px}.phrase-breakdown small{color:var(--muted);font-size:8px}.phrase-breakdown em{margin-top:4px;color:var(--ink);font-size:8px;font-style:normal;line-height:1.35}.phrase-meaning{display:grid;gap:3px}.phrase-meaning>span{color:var(--pink-dark);font-size:9px;font-weight:900}.phrase-focus-note{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin:10px 0 0;padding:8px 10px;border-radius:11px;background:#fff4f7;color:var(--muted);font-size:10px}.phrase-focus-note b{color:var(--ink);font:600 16px "Yu Mincho",serif}

/* Separate the member library from the following study topic. */
.resource-library-section{background:linear-gradient(145deg,#f7e7ec,#f3dce5);border-top:1px solid #eed5dd;border-bottom:1px solid #e8ccd6}

/* Compact, interactive lesson practice. */
.n5-lesson-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:20px 24px}.lesson-head-copy>span{color:var(--pink-dark);font-size:10px;font-weight:900;letter-spacing:.1em}.lesson-head-copy h3{margin:5px 0 2px}.lesson-head-copy p{margin:0}.lesson-head-tools{display:grid;justify-items:end;gap:10px}.lesson-head-tools>button{margin:0}.lesson-reading-toggles{display:flex;gap:14px;color:var(--muted);font-size:11px;font-weight:800}.lesson-reading-toggles label{display:flex;align-items:center;gap:5px;cursor:pointer}.lesson-reading-toggles input{accent-color:var(--pink)}.lesson-prompt{min-height:42px}.lesson-blank{width:84px;margin:0 5px;padding:3px 7px;border:0;border-bottom:3px solid var(--pink);background:#fff7f9;color:var(--ink);font:600 20px "Yu Mincho",serif;text-align:center;outline:0}.lesson-blank:focus{background:#fff0f4;box-shadow:0 4px 0 rgba(238,120,153,.13)}.lesson-blank.correct{border-color:#4f9878;background:#edf7f1}.lesson-reading{margin:3px 0!important}.lesson-hiragana{color:var(--pink-dark)!important;font-size:11px!important}.lesson-romaji{color:var(--muted)!important;font-size:10px!important;font-style:italic}.lesson-actions{margin-top:10px}.lesson-feedback{margin:10px 0 0!important;padding:8px 10px;border-radius:10px;font-size:10px!important;font-weight:800}.lesson-feedback.correct{background:#e8f3ec;color:#397b64!important}.lesson-feedback.retry{background:#fff0f1;color:#a34557!important}@media(max-width:700px){.n5-lesson-head{grid-template-columns:1fr}.lesson-head-tools{justify-items:start}.lesson-reading-toggles{flex-wrap:wrap}}
.lesson-suggestions{display:flex!important;align-items:center;gap:6px!important;margin:9px 0 2px;flex-wrap:wrap}.lesson-suggestions>span{margin-right:3px;color:var(--muted);font-size:9px;font-weight:800}.lesson-suggestions button{display:inline-flex!important;align-items:center;gap:5px;min-height:30px!important;margin:0!important;padding:0 10px!important;background:#fff7f9!important}.lesson-suggestions button:hover{border-color:var(--pink)!important}.lesson-suggestions b{font:600 15px "Yu Mincho",serif}.lesson-suggestions small{color:var(--muted);font-size:8px}

/* Clear post-signup confirmation state. */
.signup-success{padding:24px 12px 8px;text-align:center}.signup-success-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 13px;border-radius:50%;background:var(--blush);color:var(--pink-dark);font-size:25px}.signup-success h3{margin:0 0 9px;font:700 25px Georgia,"Yu Mincho",serif}.signup-success p{max-width:390px;margin:0 auto 20px;color:var(--muted);font-size:12px;line-height:1.65}.signup-success strong{color:var(--ink);overflow-wrap:anywhere}.signup-success .button{width:100%;margin-bottom:8px}
