.hikari-language-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  align-self: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid #e9b9ce;
  border-radius: 999px;
  background: #fff4f8;
  white-space: nowrap;
}
.hikari-language-toggle button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 35px;
  min-height: 34px;
  padding: 5px 8px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  color: #85324f;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}
.hikari-language-toggle button[aria-pressed="true"] { background: #a52f63; color: #fff; }
.hikari-language-toggle button:hover { box-shadow: inset 0 0 0 1px #a52f63; }
.hikari-language-toggle button:focus-visible { outline: 2px solid #7a2352; outline-offset: 3px; }

/* Both gardens share fixed-size navigation and the same button palette. */
.site-header #primary-nav,.site-header #primary-nav.open{justify-content:center}
.hikari-language-toggle{border-color:var(--line);background:var(--pink-soft,#f9e7ee)}
.hikari-language-toggle button{color:var(--pink-dark);font-weight:700}
.hikari-language-toggle button[aria-pressed="true"]{background:var(--pink);color:#fff}
.hikari-language-toggle button:hover{box-shadow:inset 0 0 0 1px var(--pink-dark)}

#english-app{width:100%;margin:0;min-height:65vh}
.learning-heading{max-width:800px;margin-bottom:28px}.learning-heading h1{font-size:clamp(30px,4vw,54px);line-height:1.2;margin:10px 0 18px}.learning-heading>p:last-child{font-size:18px;line-height:1.7;margin:0}
.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.learning-card{min-width:0;padding:24px;background:white;border:1px solid #efdadd;border-radius:24px;display:flex;flex-direction:column;box-shadow:0 8px 24px #69384808;overflow-wrap:anywhere}.learning-card h2{font-size:24px;line-height:1.5;margin:10px 0}.learning-card p{font-size:17px;line-height:1.7;margin:8px 0}.stage-label{font-size:13px;font-weight:700;color:#ac456a}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:18px}
#english-app [data-section-body] button:not(.primary),.direction-choice a{border:1px solid #e8c9d5;border-radius:999px;background:#fff4f8;color:#9b3c60;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;min-height:44px;text-decoration:none}#english-app button:disabled{opacity:.5;cursor:default}#english-app button:focus-visible{outline:2px solid #943c62;outline-offset:3px}#english-app .small{padding:6px 12px;font-size:14px}#english-app button[aria-pressed=true]{background:#b44d75;color:white}
.learning-filters,.direction-choice,.learning-stats{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:24px 0}.learning-filters label{display:flex;flex-direction:column;gap:5px;font-size:14px;flex:1 1 220px}.learning-filters input,.learning-filters select{font:inherit;font-size:17px;border:1px solid #e4cbd5;border-radius:12px;padding:12px;background:white;min-width:0;width:100%;box-sizing:border-box}.learning-stats b{background:#f7e9ef;border-radius:12px;padding:12px 16px}.direction-choice a[aria-current]{background:#ac456a;color:white}.saved-filter{display:block;margin:16px 0}
.reader{max-width:860px;margin:auto}.reader h1{font-size:32px;line-height:1.4}.reader-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reader-controls span{margin-right:auto}.guide{display:grid;gap:18px}.example{background:#fff4f8;border-radius:14px;padding:16px;margin-top:12px}.answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.answer-options button{white-space:normal}.sentence-answer{background:#fff4f8;border:1px dashed #d398b0;border-radius:14px;min-height:52px;padding:16px}.feedback{padding:16px;border-radius:12px}.feedback.correct{background:#e5f3ec;color:#356b52}.feedback.retry{background:#fff0e5;color:#805025}.flashcard{max-width:720px;margin:24px auto;text-align:center}.flashcard h2{font-size:38px}.flashcard .card-actions{justify-content:center}.study-sheet{border-collapse:collapse;width:100%;margin-top:24px}.study-sheet td,.study-sheet th{text-align:left;padding:10px;border-bottom:1px solid #ecd6df}.muted{color:#75656c}
.hikari-language-toggle{order:3}.site-header .account-open{order:4!important}.hikari-study-direction{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hikari-study-direction a{border:1px solid #e4cbd5;border-radius:999px;padding:8px 14px;text-decoration:none}
@media(max-width:960px){.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.learning-grid{grid-template-columns:1fr}.learning-card{padding:20px}.reader h1{font-size:26px}.reader-controls{gap:6px}.site-header{gap:6px}.site-header .brand small{display:none}.site-header .brand strong{font-size:13px}.site-header .brand{gap:5px}.site-header .brand-mark{width:30px;height:30px}.hikari-language-toggle button{padding:5px 6px;min-width:30px}.site-header .menu-toggle{padding:7px}.site-header .account-open{padding:7px}}
@media print{.site-header,footer,.learning-heading,.learning-filters,#english-app button,.account-modal{display:none!important}.study-sheet{display:table!important}.learning-card{box-shadow:none;border:0}}

.english-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:36px;padding:32px 0 48px}.english-hero .learning-heading h1,.stage-heading{font-family:Georgia,'Yu Mincho',serif}.english-hero-art{position:relative;min-height:430px;border-radius:48% 52% 45% 55%;background:linear-gradient(140deg,#f7e5ec,#eed0db);display:flex;align-items:flex-end;justify-content:flex-end;padding:24px}.english-hero-art img{width:58%;height:390px;object-fit:contain}.english-bloom-note{position:absolute;left:20px;top:30%;max-width:52%;background:#fff9fce8;border:2px solid white;padding:22px;border-radius:24px;box-shadow:0 18px 35px #683b5314}.english-bloom-note span{display:block;font-size:18px;margin:6px 0}.stage-heading{font-size:32px;margin:20px 0}.english-hero .learning-stats{gap:8px}.english-hero .learning-stats b{padding:10px;font-size:14px}
@media(max-width:760px){.english-hero{grid-template-columns:1fr;gap:20px;padding-top:0}.english-hero-art{min-height:280px;max-width:440px;width:100%;margin:auto}.english-hero-art img{height:260px}.english-bloom-note{padding:15px}}

.en-actions{display:flex;flex-wrap:wrap;gap:10px}.pronunciation-panel{margin-bottom:24px}.en-muted{color:#6d5862;font-size:14px!important}.english-workbook table{width:100%;border-collapse:collapse}.english-workbook td,.english-workbook th{padding:12px;text-align:left;border-bottom:1px solid #e3cbd4}.writing-line{min-height:40px;min-width:90px;border-bottom:1px solid #bda5af}.workbook-lesson{break-before:page}.english-workbook{margin-top:24px}.english-workbook td{overflow-wrap:anywhere}
@media print{body.printing-english-workbook *{visibility:hidden}body.printing-english-workbook .english-workbook,body.printing-english-workbook .english-workbook *{visibility:visible}body.printing-english-workbook .english-workbook{position:absolute;inset:0;width:100%;color:#222}body.printing-english-workbook details{display:block}}

@media(max-width:440px){.site-header .brand>span:not(.brand-mark){display:none}.site-header .brand{flex:0 0 30px}.site-header .menu-toggle{font-size:14px}.site-header{column-gap:6px!important}}

#english-app .spoken-part{display:inline;padding:2px 0;min-height:24px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;line-height:inherit}#english-app .spoken-part:hover{background:#f9e7ee;text-decoration:underline;text-decoration-color:#c76d8b;text-underline-offset:5px}

/* The English garden uses the original homepage's shells, artwork and sections. */

[data-learning-language="en"] .section-heading{display:block;max-width:900px}
[data-learning-language="en"] .section-heading p:not(.eyebrow){max-width:760px;margin-top:20px;font-size:18px;line-height:1.75}
[data-learning-language="en"] .section-heading h2{font-family:Georgia,"Yu Mincho",serif}
[data-learning-language="en"] .hero-card strong{font-size:clamp(22px,2.2vw,36px);line-height:1.35}
[data-learning-language="en"] .hero-card-reading{flex-wrap:wrap}
[data-learning-language="en"] .learning-card h3{font-family:Georgia,"Yu Mincho",serif;font-size:25px;line-height:1.4}
[data-learning-language="en"] .english-alphabet{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
[data-learning-language="en"] #english-app .english-alphabet button{border-radius:18px;background:#fff;font-size:30px;min-height:96px;color:var(--ink,#32272d)}
[data-learning-language="en"] .english-sound-detail:empty{display:none}
[data-learning-language="en"] .english-sound-detail{padding:24px;margin-top:20px;border-radius:20px;background:#fff4f8}
[data-learning-language="en"] .english-seedlings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
[data-learning-language="en"] .english-seedlings .learning-card{text-align:center;padding:16px}
[data-learning-language="en"] .english-seedlings button{white-space:normal;font-size:20px}
[data-learning-language="en"] .english-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
[data-learning-language="en"] #phrases .learning-card,[data-learning-language="en"] #levels .learning-card{color:#32272d}
[data-learning-language="en"] #phrases .section-heading,[data-learning-language="en"] #levels .section-heading{color:white}
[data-learning-language="en"] .english-practice-layout{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:50px;align-items:start}
[data-learning-language="en"] .english-quiz-box{background:white;border:1px solid #efdadd;border-radius:32px;padding:28px;min-width:0;box-shadow:0 18px 45px #69424c0c}
[data-learning-language="en"] .english-quiz-box .flashcard{border:0;box-shadow:none;padding:0}
[data-learning-language="en"] #english-app .flashcard>.small{align-self:center}
[data-learning-language="en"] .direction-choice{font-size:14px}
[data-learning-language="en"] #english-app .hero-actions .primary{background:var(--pink,#ee7899);color:white}
[data-learning-language="en"] section[id]{scroll-margin-top:100px}
@media(max-width:900px){[data-learning-language="en"] .english-practice-layout{grid-template-columns:1fr;gap:24px}[data-learning-language="en"] .english-seedlings{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){[data-learning-language="en"] .english-alphabet{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}[data-learning-language="en"] #english-app .english-alphabet button{min-height:70px;font-size:24px}[data-learning-language="en"] .english-seedlings{grid-template-columns:repeat(2,minmax(0,1fr))}[data-learning-language="en"] .english-quiz-box{padding:20px}}

[data-learning-language="en"] #practice{display:block}
[data-learning-language="en"] #english-app .button.primary{background:var(--pink,#ee7899);color:#fff}
[data-learning-language="en"] #english-app .trial-badge{min-height:0;padding:6px 12px}

[data-learning-language="en"] .hero-card strong{white-space:normal!important;overflow-wrap:normal;max-width:100%}
@media(max-width:600px){[data-learning-language="en"] .hero-card{padding:18px;width:61%}[data-learning-language="en"] .hero-card strong{font-size:20px;max-width:100%}[data-learning-language="en"] .hero-card-reading{font-size:11px}}

.english-back-to-top{position:fixed;right:24px;bottom:24px;z-index:30;border:1px solid #ffffff80;border-radius:999px;background:#594253;color:white;padding:15px 22px;font:inherit;font-weight:700;box-shadow:0 6px 24px #52304322;cursor:pointer}.english-back-to-top[hidden]{display:none}
@media(max-width:600px){.english-back-to-top{right:12px;bottom:12px;font-size:13px;padding:11px 16px}}

/* Course selection sits after the hero stats on both learning paths. */
.hero-copy .hikari-study-direction.direction-choice{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin:24px 0 0;font-size:14px}
.hero-copy .hikari-study-direction.direction-choice a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--pink-dark);font:inherit;font-weight:700;text-decoration:none}
.hero-copy .hikari-study-direction.direction-choice a[aria-current]{background:var(--pink);border-color:var(--pink);color:#fff}
@media(max-width:760px){.hero-copy .hikari-study-direction.direction-choice{justify-content:center}}

/* Match Ctrl Alt Amen's header insets across both learning paths. */
.site-header{padding-inline:clamp(16px,3vw,48px)!important}
.site-header .account-open{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;gap:0;border-radius:50%!important;flex:0 0 44px!important}
.site-header .account-open>span[aria-hidden="true"]{font-size:24px;line-height:1}
.site-header #account-open-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:800px){.site-header{padding-inline:10px!important}}

/* Centre link text inside the existing 44px navigation targets. */
.site-header #primary-nav a{display:inline-flex;align-items:center;justify-content:center}

/* A plum learning-path banner separates the first two sections on both courses. */
:is(#path,#home--path).section.shell{background:#594253;box-shadow:0 0 0 100vmax #594253;clip-path:inset(0 -100vmax)}
:is(#path,#home--path)>.section-heading h2{color:#fff9f5}
:is(#path,#home--path)>.section-heading .eyebrow{color:#f5bfd2}
:is(#path,#home--path)>.section-heading>p,:is(#path,#home--path)>.section-heading .section-description{color:#f0e2eb}


/* Keep Memory Blossoms comfortable without an oversized character card. */
#flashcards .flashcard-studio{padding:18px}
#flashcards .flashcard-card{width:min(620px,100%);height:290px}
#flashcards .flashcard-face{padding:40px 24px}
#flashcards #flashcard-front{font-size:clamp(76px,9vw,112px)}
#flashcards .flashcard-card[data-kind="phrase"]{height:350px}
#flashcards .flashcard-card[data-kind="phrase"] #flashcard-front{font-size:clamp(25px,4vw,38px)}
#flashcards .flashcard-progress{margin:14px 0 16px}
#flashcards .flashcard-nav{margin-top:14px}
#flashcards .flashcard-ratings{max-width:620px;margin-top:14px;padding-top:14px}
@media(max-width:600px){#flashcards .flashcard-studio{padding:12px}#flashcards .flashcard-card{height:270px}}

/* A lighter contact form footprint, with comfortable input targets. */
#contact.section{padding-block:64px}
#contact #contact-form{padding:24px}
#contact #contact-form textarea{min-height:120px;height:140px}
#contact #contact-form input,#contact .contact-topic-trigger{min-height:44px;padding-block:10px}
#contact #contact-form .form-grid{gap:16px}
@media(max-width:600px){#contact.section{padding-block:40px}#contact #contact-form{padding:18px}}

/* Heart memo: the same compact bubble in both learning gardens. */
.hero-art .hero-card{
 width:236px;max-width:calc(100% - 40px);padding:14px 14px 12px 18px;
 border:1px solid #edc8d9;border-radius:22px 22px 10px 22px;background:#fffafc;
 box-shadow:0 8px 18px #633e5412;backdrop-filter:none;
}
.hero-art .hero-card::before{
 content:"♡";position:absolute;left:auto;right:10px;top:9px;bottom:auto;
 width:20px;height:auto;border:0;border-radius:0;background:none;color:#ce86a4;
 font-size:23px;line-height:1.4;box-shadow:none;transform:none;
}
.hero-art .hero-card::after{
 right:-10px;bottom:25px;width:18px;height:18px;border:0;border-radius:3px;
 background:#fffafc;transform:rotate(45deg);filter:none;
}
.hero-art .hero-card .hero-card-label{
 display:inline-block;width:auto;margin:0 22px 7px 0;padding:3px 8px;
 border:0;border-radius:8px;background:#f4e5ee;color:#987186;
 font-size:10px;font-weight:700;letter-spacing:1px;line-height:16px;
}
.hero-art .hero-card strong{
 display:block;margin:0;font-size:23px;line-height:1.4;white-space:nowrap!important;
 letter-spacing:0;overflow-wrap:normal;
}
[data-learning-language="en"] .hero-art .hero-card strong{font-size:19px}
.hero-art .hero-card .hero-card-reading{
 display:flex;flex-wrap:nowrap;gap:5px;margin:5px 0 8px;padding-bottom:7px;
 border-bottom:1px solid #f0dce6;font-size:10px;white-space:nowrap;
}
.hero-art .hero-card .hero-card-reading span,
.hero-art .hero-card .hero-card-reading i{font-size:10px;color:#907984}
.hero-art .hero-card .hero-card-reading i{margin:0;padding-left:5px}
.hero-art .hero-card small{
 display:inline-flex;align-items:center;justify-content:center;width:max-content;
 margin:0;padding:5px 9px;border-radius:12px;background:#f6dce8;color:#b25076;
 font-size:12px;font-weight:700;line-height:1.5;letter-spacing:0;white-space:nowrap!important;
}
/* Reserve matching text rows so translations do not move the hero artwork. */
.hero-copy .hero-lede{min-block-size:2lh}
@media(min-width:981px){.hero-copy h1{min-block-size:3lh}}
@media(max-width:980px){.hero-copy h1{min-block-size:2lh}}
@media(max-width:480px){
  .hero-copy h1{min-block-size:3lh}
  .hero-copy .hero-lede{min-block-size:3lh}
  .hero-copy .hikari-study-direction.direction-choice>span{flex-basis:100%;text-align:center}
}

@media(min-width:981px),(max-width:480px){
  html:lang(ja) .hero-copy h1 em{display:block;max-inline-size:3.5em}
}
@media(max-width:480px){html:lang(ja) .hero-copy h1 em{margin-inline:auto}}

/* One fixed composition, scaled uniformly from the desktop artwork. */
.hero-visual{width:100%;max-width:533.453125px;aspect-ratio:1;container-type:inline-size;justify-self:center;min-width:0}
.hero-visual>.hero-art{width:533.453125px;height:533.453125px;min-height:533.453125px;max-width:none;margin:0;border-radius:50%;zoom:calc(100cqw / 533.453125px)}
.hero-visual>.hero-art .hero-card{left:64px;top:86px;width:236px;height:164px;font-size:16px;line-height:25.6px}
.hero-visual>.hero-art .hero-mascot-art{width:285px;height:427.5px;max-width:none;right:-1px;bottom:-2px;top:auto;object-fit:contain;transform:none}
.hero-visual>.hero-art .sun{top:64px;right:76px;width:82px;height:82px}
.hero-visual>.hero-art .branch{right:-25px;top:128px;width:250px;height:9px}
.hero-visual>.hero-art .f1{right:160px;top:98px;font-size:38px}
.hero-visual>.hero-art .f2{right:85px;top:145px;font-size:29px}
.hero-visual>.hero-art .f3{right:222px;top:141px;font-size:24px}
.hero-visual>.hero-art .hero-sparkle{animation:none}
@media(max-width:980px){.hero-copy .hikari-study-direction.direction-choice{justify-content:center}}
/* Navigation is readable immediately, without waiting for downloaded fonts. */
.site-header #primary-nav a,.site-header .menu-toggle,.site-header .hikari-language-toggle{font-family:"Segoe UI","Yu Gothic UI",sans-serif}

.hero-visual>.hero-art .sparkle-one{top:64px;right:27px;bottom:auto;left:auto;font-size:27px;line-height:1;transform:rotate(12deg)}
.hero-visual>.hero-art .sparkle-two{top:auto;right:183px;bottom:144px;left:auto;font-size:24px;line-height:1;transform:rotate(-10deg)}
.hero-visual>.hero-art .sparkle-three{top:auto;left:25px;bottom:82px;right:auto;font-size:19px;line-height:1;transform:rotate(-8deg)}

/* Sakura arch: a symmetrical niche, scaled with the original Hana and memo. */
.hero-visual>.hero-art{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;isolation:isolate}
.hero-visual>.hero-art::before{content:"";position:absolute;inset:0 12px 12px;width:auto;height:auto;border:3px solid #edc2d0;border-radius:255px 255px 0 0;z-index:-2;transform:none;background:linear-gradient(155deg,#f9e4e9,#edcbd6);box-shadow:0 15px 35px #6946530b}
.hero-visual>.hero-art::after{content:"";position:absolute;inset:9px 21px 21px;width:auto;height:auto;border:2px solid #fff8f2;border-radius:246px 246px 0 0;z-index:-1;transform:none;background:none;box-shadow:none}
.hero-visual>.hero-art .arch-crest{position:absolute;left:calc(50% - 20px);top:40px;width:40px;text-align:center;color:#fffaf6;font-size:40px;line-height:1}
.hero-visual>.hero-art .arch-crest::before,.hero-visual>.hero-art .arch-crest::after{content:"";position:absolute;top:20px;width:42px;height:1px;background:#fff8f0}
.hero-visual>.hero-art .arch-crest::before{right:54px}.hero-visual>.hero-art .arch-crest::after{left:54px}
.hero-visual>.hero-art .hero-card{left:48px;top:164px;z-index:2}
.hero-visual>.hero-art .hero-mascot-art{z-index:3;pointer-events:none}
.hero-visual>.hero-art .flower{color:#fff9f5;line-height:1;z-index:0}
.hero-visual>.hero-art .f1{left:55px;top:auto;bottom:130px;right:auto;font-size:27px;transform:rotate(-14deg)}
.hero-visual>.hero-art .f2{right:40px;top:220px;font-size:22px}
.hero-visual>.hero-art .f3{right:210px;top:auto;bottom:65px;font-size:18px}
.hero-visual>.hero-art .hero-sparkle{color:#fff9f5;font-size:20px}
.hero-visual>.hero-art .sparkle-one{top:107px;right:84px}
.hero-visual>.hero-art .sparkle-two{bottom:220px;right:40px}
.hero-visual>.hero-art .sparkle-three{left:58px;bottom:75px}
.hero-art .hero-card .hero-listen{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:30px;height:30px;min-height:0;padding:0;margin:0 0 0 6px;border:1px solid #efd1df;border-radius:50%;background:#fffafd;color:#b25076;cursor:pointer;box-shadow:none;line-height:1}
.hero-art .hero-card .hero-listen:hover{background:#f6dce8}
.hero-art .hero-card .hero-listen:focus-visible{outline:2px solid #a74571;outline-offset:3px}
.hero-art .hero-card .hero-listen:disabled{opacity:.55;cursor:wait}

/* Hana and the street share one rendered lighting and ground plane. */
.hero-visual>.hero-art .hero-mascot-art{left:21px;right:auto;top:9px;bottom:auto;width:491.453125px;height:503.453125px;object-fit:cover;border-radius:246px 246px 0 0;z-index:0;filter:none;opacity:.9}
.hero-visual>.hero-art::after{z-index:1;pointer-events:none}
.hero-visual>.hero-art .hero-ground-shadow{display:none}
.hero-visual>.hero-art .arch-crest,.hero-visual>.hero-art .flower,.hero-visual>.hero-art .hero-sparkle{z-index:1}
