:root.reading-ui,.speaking-menu,.speaking-guide-shell{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;--reading-accent:#17853a;--reading-accent-hover:#157a35;--reading-accent-shadow:#126c30;--reading-brand:#22b14c;--reading-white:#fff;--reading-ink:#0f172a;--reading-soft:#334155;--reading-muted:#6f6c62;--reading-line:#e5e1d4;--reading-paper:#f5f1e8;--reading-positive:#edf9f1;--reading-error:#b2352b;--reading-error-bg:#fdeeec;--reading-disabled-bg:#eeefef;--reading-disabled-ink:#687078;--reading-disabled-shadow:#e3e5e5;--reading-space-2:8px;--reading-space-3:12px;--reading-space-4:16px;--reading-space-5:20px;--reading-space-6:24px;--reading-space-8:32px;--reading-space-9:36px;--reading-space-14:56px;--reading-gutter:var(--reading-space-6);--reading-gutter-small:18px;--reading-target:44px;--reading-action-height:56px;--reading-button-padding:14px var(--reading-space-4);--reading-button-radius:14px;--reading-button-font:1rem;--reading-button-line:1.65;--reading-button-align:center;--reading-button-gap:var(--reading-space-3);font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif}:root.reading-directory{--reading-ink:#182b23;--reading-soft:#163d29;--reading-muted:#55655b;--reading-line:#e1e6df;--reading-positive:#edf7ef;--reading-positive-line:#d4e8d9;--reading-gutter:22px;--reading-button-padding:15px 18px;--reading-button-radius:12px;--reading-button-font:.9375rem;--reading-button-line:1.6;--reading-button-align:space-between;--reading-button-gap:10px}:where(.reading-ui) *{box-sizing:border-box}:where(.reading-ui) body,:where(.reading-ui) :is(h1,h2,h3,p){margin:0}:where(.reading-ui) [hidden]{display:none!important}:where(.reading-ui) :is(button,a,summary){-webkit-tap-highlight-color:transparent;touch-action:manipulation}:where(.reading-ui) button{font:inherit;color:inherit;cursor:pointer}:where(.reading-ui) button:disabled{cursor:default;opacity:1}:where(.reading-ui) :is(button,a,summary):focus-visible{outline:3px solid var(--reading-accent);outline-offset:4px}:where(.reading-ui) :is(h1,h2,h3,h4,h5,h6)[tabindex="-1"]:focus{outline:none}:where(.reading-ui) :is(.primary,.secondary,.start-button){align-items:center;justify-content:var(--reading-button-align);gap:var(--reading-button-gap);min-height:var(--reading-action-height);width:100%;padding:var(--reading-button-padding);border-radius:var(--reading-button-radius);font-size:var(--reading-button-font);line-height:var(--reading-button-line);border:0;font-weight:700;text-decoration:none;display:flex}:where(.reading-ui) :is(.primary,.start-button){color:var(--reading-white);background:var(--reading-accent);box-shadow:0 3px 0 var(--reading-accent-shadow);transition:background .15s,transform .15s,box-shadow .15s}:where(.reading-ui) :is(.primary,.start-button):hover:not(:disabled){background:var(--reading-accent-hover)}:where(.reading-ui) :is(.primary,.start-button):active:not(:disabled){box-shadow:0 1px 0 var(--reading-accent-shadow);transform:translateY(2px)}:where(.reading-ui) :is(.primary,.start-button):disabled{background:var(--reading-disabled-bg);color:var(--reading-disabled-ink);box-shadow:0 2px 0 var(--reading-disabled-shadow)}:where(.reading-ui) .secondary{border:1px solid var(--reading-line);background:var(--reading-white);box-shadow:none;font-weight:600}:where(.reading-ui) a.secondary{color:var(--reading-ink);text-decoration:none}@media (prefers-reduced-motion:reduce){:where(.reading-ui) :is(.primary,.secondary,.start-button){transition:none}}.reading-ui .lesson-goal{background:var(--reading-positive);border:1px solid #dcecdf;border-radius:16px;padding:19px}.reading-ui .lesson-goal>strong{color:var(--reading-accent-shadow)}.primary-app{background:var(--reading-paper);min-height:100svh;color:var(--reading-ink);padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px))}.primary-app-header{box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;max-width:640px;margin:auto;padding:16px 24px 8px;display:flex}.primary-app-brand{letter-spacing:-.055em;color:var(--reading-accent);white-space:nowrap;align-items:center;min-height:44px;font-size:1.65rem;font-weight:850;line-height:1.2;text-decoration:none;display:flex}.primary-app-account{color:var(--reading-soft);white-space:nowrap;align-items:center;gap:7px;min-height:44px;padding:4px 0;font-size:.75rem;text-decoration:none;display:inline-flex}.primary-app-account svg{color:var(--reading-accent);flex:none}.primary-app-nav{z-index:45;width:min(100%,640px);padding:9px 16px calc(9px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background:var(--reading-white);border-top:1px solid var(--reading-line);gap:8px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -5px 22px #26392306}.primary-app-nav a{min-width:0;min-height:55px;color:var(--reading-muted);text-align:center;border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:7px 10px;font-size:.75rem;line-height:1.4;text-decoration:none;display:flex}.primary-app-nav a[aria-current=page]{color:var(--reading-accent);font-weight:750}.primary-app-nav a{z-index:1;position:relative}.primary-app-nav-pill{background:var(--reading-positive);opacity:0;pointer-events:none;border-radius:18px;height:55px;transition:transform .42s cubic-bezier(.34,1.56,.64,1),width .3s cubic-bezier(.22,1,.36,1),top .3s,height .3s;position:absolute;top:9px;left:0}.primary-app-nav a.is-pressed svg{animation:.45s cubic-bezier(.34,1.56,.64,1) primary-nav-bounce}@keyframes primary-nav-bounce{0%{transform:scale(.7)translateY(3px)}to{transform:none}}[data-primary-moved] main{animation:.28s cubic-bezier(.22,1,.36,1) primary-page-in}@keyframes primary-page-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.primary-app-nav-pill{transition:none}.primary-app-nav a.is-pressed svg,[data-primary-moved] main{animation:none}}.primary-app-account:active{background:var(--reading-positive)}.primary-app-nav a:focus-visible,.primary-app-header a:focus-visible{outline:3px solid var(--reading-accent);outline-offset:3px}@media (width<=360px){.primary-app-header{padding-inline:18px}.primary-app-nav{padding-inline:10px}.primary-app-account{font-size:.72rem}}@media (width>=680px){.primary-app-nav{border:1px solid var(--reading-line);border-bottom:0;border-radius:20px 20px 0 0}}
