.btn{--btn-bg:var(--color-action);--btn-bg-hover:var(--color-action-hover);--btn-fg:var(--color-on-primary);--btn-shadow:var(--color-primary-shadow);justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-base);letter-spacing:.06em;text-transform:uppercase;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);box-shadow:0 4px 0 var(--btn-shadow);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:2px solid #0000;text-decoration:none;transition:transform 80ms,box-shadow 80ms,background .12s;display:inline-flex}.btn:hover{background:var(--btn-bg-hover)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--btn-shadow);transform:translateY(4px)}.btn:disabled,.btn[aria-disabled=true]{--btn-bg:var(--color-bg-alt);--btn-bg-hover:var(--color-bg-alt);--btn-fg:var(--color-text-subtle);--btn-shadow:var(--color-border);cursor:not-allowed}.btn--secondary{--btn-bg:var(--color-surface);--btn-bg-hover:var(--color-bg);--btn-fg:var(--color-text);--btn-shadow:var(--color-border);border-color:var(--color-border)}.btn--ghost{--btn-bg:transparent;--btn-bg-hover:var(--color-bg-alt);--btn-fg:var(--color-primary-text);--btn-shadow:transparent}.btn--success{--btn-bg:var(--color-success-strong);--btn-bg-hover:var(--color-success-shadow);--btn-shadow:var(--color-success-shadow)}.btn--danger{--btn-bg:var(--color-error);--btn-bg-hover:var(--color-error-shadow);--btn-shadow:var(--color-error-shadow)}.btn--blue{--btn-bg:var(--color-bauhaus-blue);--btn-bg-hover:#163d7c;--btn-shadow:#102c5a}.btn--gold{--btn-bg:var(--color-gold);--btn-bg-hover:#e6b620;--btn-fg:var(--color-ink-900);--btn-shadow:var(--color-gold-shadow)}.btn--lg{min-height:56px;padding:var(--space-4) var(--space-8);font-size:1.0625rem}.btn--block{width:100%;display:flex}.icon-btn{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--color-bg-alt);color:var(--color-text)}.tile{font:inherit;min-height:48px;padding:var(--space-2) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:0 3px 0 var(--color-border);cursor:pointer;font-size:1.0625rem;transition:transform 80ms,box-shadow 80ms,border-color .12s}.tile:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.tile.is-selected{border-color:var(--color-bauhaus-blue);background:var(--color-pastel-sky);box-shadow:0 3px 0 var(--color-bauhaus-blue)}.tile.is-correct{border-color:var(--color-success);background:var(--color-success-soft);box-shadow:0 3px 0 var(--color-success)}.tile.is-wrong{border-color:var(--color-error);background:var(--color-error-soft);box-shadow:0 3px 0 var(--color-error);animation:.3s shake}.tile.is-used,.tile:disabled{color:#0000;background:var(--color-bg-alt);box-shadow:none;cursor:default}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.progress{border-radius:var(--radius-pill);background:var(--color-bg-alt);height:16px;overflow:hidden}.progress__fill{border-radius:inherit;background:var(--color-primary);min-width:16px;height:100%;transition:width .4s cubic-bezier(.3,1.4,.6,1);box-shadow:inset 0 -4px #0000001f,inset 0 4px #ffffff40}.progress--gold .progress__fill{background:var(--color-gold)}.progress--success .progress__fill{background:var(--color-success)}.ring{flex:none;place-items:center;display:inline-grid;position:relative}.ring>svg{position:absolute;inset:0}.ring__track{stroke:var(--color-bg-alt)}.ring__fill{stroke:var(--color-primary);transition:stroke-dashoffset .6s}.ring__content{color:var(--color-primary-text);font-family:var(--font-display);place-items:center;display:grid;position:relative}.pill{align-items:center;gap:var(--space-1);padding:2px var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-medium);background:var(--color-bg-alt);color:var(--color-text);display:inline-flex}.pill--primary{background:var(--color-primary);color:var(--color-on-primary)}.pill--yellow{background:var(--color-gold);color:var(--color-ink-900)}.pill--blue{background:var(--color-bauhaus-blue);color:#fff}.pill--success{background:var(--color-success-soft);color:var(--color-text)}.card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.card h3{font-weight:var(--weight-bold);font-size:var(--text-lg);margin-bottom:var(--space-2)}.card p{margin:0}.card--pastel-sky{background:var(--color-pastel-sky);border-color:#0000}.card--pastel-butter{background:var(--color-pastel-butter);border-color:#0000}.card--pastel-blush{background:var(--color-pastel-blush);border-color:#0000}.card--pastel-sage{background:var(--color-pastel-sage);border-color:#0000}.card--pastel-lilac{background:var(--color-pastel-lilac);border-color:#0000}.card--inverse{background:var(--color-surface-inverse);color:var(--color-on-inverse);border-color:#0000}.talk{align-items:flex-end;gap:var(--space-3);display:flex}.talk__art{flex:none;width:110px}.speech{padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin-bottom:var(--space-8);font-size:1.0625rem;position:relative}.speech:before{content:"";background:inherit;border:inherit;border-top:none;border-right:none;width:14px;height:14px;position:absolute;bottom:14px}.speech--left:before{left:-9px;transform:rotate(45deg)}.speech--bottom:before{bottom:-9px;left:24px;transform:rotate(-45deg)}.toast-host{left:50%;bottom:calc(var(--bottomnav-height) + var(--space-4));z-index:60;gap:var(--space-2);pointer-events:none;width:min(92vw,420px);display:grid;position:fixed;transform:translate(-50%)}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-inverse);color:var(--color-on-inverse);font-weight:var(--weight-medium);text-align:center;box-shadow:var(--shadow-float);animation:.22s toast-in}.toast--success{background:var(--color-success-strong);color:#fff}.toast--error{background:var(--color-error);color:#fff}.toast--leaving{opacity:0;transition:opacity .26s,transform .26s;transform:translateY(8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.update-ready{left:50%;bottom:calc(var(--bottomnav-height) + var(--space-4));z-index:60;align-items:center;gap:var(--space-3);width:min(92vw,460px);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-inverse);color:var(--color-on-inverse);font-weight:var(--weight-medium);box-shadow:var(--shadow-float);animation:.22s toast-in;display:flex;position:fixed;translate:-50%}.update-ready__text{flex-direction:column;flex:1;gap:2px;display:flex}.update-ready__text small{font-size:var(--text-sm);opacity:.85}.update-ready .btn{min-height:40px;padding:var(--space-2) var(--space-4)}.update-ready__close{border-radius:var(--radius-sm);width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.modal-backdrop{z-index:50;padding:var(--space-4);background:#1c1a188c;place-items:center;animation:.16s fade-in;display:grid;position:fixed;inset:0}.modal{width:min(100%,440px);max-height:90vh;padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;box-shadow:var(--shadow-float);animation:.22s cubic-bezier(.3,1.3,.6,1) rise-in;position:relative;overflow:auto}.modal__close{top:var(--space-2);right:var(--space-2);position:absolute}.modal__art{width:140px;margin:0 auto var(--space-4)}.modal__title{font-size:var(--text-xl);font-weight:var(--weight-bold)}.modal__body{margin-top:var(--space-3);color:var(--color-text-muted)}.modal__body p{margin:0 0 var(--space-2)}.modal__actions{gap:var(--space-3);margin-top:var(--space-6);display:grid}@media (width<=560px){.modal-backdrop{place-items:end stretch;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}}.crane-card__art .brand-mark{width:100%;height:auto}[data-motion=full] .crane-card__art{animation:1.6s ease-in-out .22s 2 crane-bob}[data-motion=full] .crane-card__art--celebrating{animation-name:crane-dance}@keyframes crane-bob{50%{transform:translateY(-6px)rotate(-4deg)}}@keyframes crane-dance{25%{transform:rotate(-8deg)scale(1.04)}75%{transform:rotate(8deg)scale(1.04)}}.crane-card__why{gap:var(--space-2);text-align:start;margin:0;padding:0;list-style:none;display:grid}.crane-card__why li{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-bg)}.field{gap:var(--space-2);display:grid}.field label{font-weight:var(--weight-medium)}.input{font:inherit;width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:1.0625rem}.input:focus{border-color:var(--color-bauhaus-blue);outline:none}.choice{align-items:center;gap:var(--space-3);width:100%;font:inherit;text-align:left;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:0 3px 0 var(--color-border);cursor:pointer;font-size:1.0625rem;display:flex}.choice:hover{background:var(--color-bg)}.choice[aria-pressed=true],.choice[aria-checked=true],.choice.is-selected{border-color:var(--color-bauhaus-blue);background:var(--color-pastel-sky);box-shadow:0 3px 0 var(--color-bauhaus-blue)}.choice.is-correct{border-color:var(--color-success);background:var(--color-success-soft);box-shadow:0 3px 0 var(--color-success)}.choice.is-wrong{border-color:var(--color-error);background:var(--color-error-soft);box-shadow:0 3px 0 var(--color-error)}.choice__key{border:2px solid var(--color-border);border-radius:var(--radius-sm);width:28px;height:28px;font-size:var(--text-sm);color:var(--color-text-muted);flex:none;place-items:center;display:inline-grid}.empty-state{align-items:center;gap:var(--space-4);max-width:460px;padding:var(--space-12) var(--space-4);text-align:center;flex-direction:column;margin:0 auto;display:flex}.empty-state__art,.empty-state__mark{width:min(200px,55vw)}.empty-state h1{font-size:var(--text-2xl)}.empty-state p{margin:0}.quick-quiz .ex-choice__options{gap:var(--space-2);width:100%;display:grid}.quick-quiz__prompt{font-size:var(--text-xl);font-weight:700}.quick-quiz__result:empty{display:none}.icon{vertical-align:middle;flex:none}.avatar{width:var(--avatar-size,48px);height:var(--avatar-size,48px);padding:calc(var(--avatar-size,48px) * .06);background:var(--avatar-bg,var(--color-primary));border-radius:50%;flex:none;place-items:center;display:inline-grid}.avatar .ill{width:100%;height:100%}.avatar--vermillion{--avatar-bg:var(--color-primary)}.avatar--ink{--avatar-bg:var(--color-block)}.avatar--butter{--avatar-bg:#f1e4b0}.avatar--sky{--avatar-bg:#cfdbe9}.avatar--sage{--avatar-bg:#d4e2cd}.avatar--lilac{--avatar-bg:#dad5ec}.avatar--blush{--avatar-bg:#efd0c9}.avatar--paper{--avatar-bg:var(--color-paper-200)}.confetti{z-index:70;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti__piece{top:-24px;left:var(--x);width:var(--size);height:var(--size);background:var(--c);animation:confetti-fall 2.6s cubic-bezier(.25, .6, .4, 1) var(--delay) forwards;position:absolute}.confetti__piece--circle{border-radius:50%}.confetti__piece--half{border-radius:var(--size) var(--size) 0 0;height:calc(var(--size) / 2)}.confetti__piece--triangle{border-left:calc(var(--size) / 2) solid transparent;border-right:calc(var(--size) / 2) solid transparent;border-bottom:var(--size) solid var(--c);background:0 0;width:0;height:0}@keyframes confetti-fall{to{transform:translate(var(--drift), 110vh) rotate(var(--spin))}}.badge{width:var(--badge-size);height:var(--badge-size);flex:none;place-items:center;display:inline-grid;position:relative}.badge>svg{position:absolute;inset:0}.badge__icon{color:var(--badge-fg);margin-top:6%;position:relative}.badge__tier{text-align:center;width:22%;font-family:var(--font-serif);font-style:italic;font-size:calc(var(--badge-size) * .15);color:var(--color-ink-900);line-height:1;position:absolute;top:9%;right:9%;transform:translate(25%,-15%)}.badge--locked{opacity:.55}.avatar--frame-gold{box-shadow:0 0 0 4px var(--color-gold), 0 0 0 6px var(--color-gold-shadow)}.avatar--frame-bauhaus{box-shadow:0 0 0 4px var(--color-surface);background-image:conic-gradient(var(--color-primary) 0 25%, var(--color-block) 0 50%, var(--color-gold) 0 75%, var(--color-paper-400) 0);padding:calc(var(--avatar-size,48px) * .1);outline:4px solid #0000}.avatar--frame-sky{box-shadow:0 0 0 4px var(--color-bauhaus-blue), 0 0 0 7px var(--color-pastel-sky)}.avatar--frame-sun{box-shadow:0 0 0 4px var(--color-surface);background-image:repeating-conic-gradient(var(--color-bauhaus-yellow) 0 15deg, var(--color-primary) 0 30deg);padding:calc(var(--avatar-size,48px) * .1)}.switch-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;cursor:pointer;display:flex}.switch-row+.switch-row{border-top:1px solid var(--color-divider)}.switch-row__text{gap:2px;display:grid}.switch-row__text small{color:var(--color-text-muted)}.switch{appearance:none;border-radius:var(--radius-pill);background:var(--color-border-strong);cursor:pointer;flex:none;width:52px;height:30px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch:checked{background:var(--color-action)}.switch:checked:after{transform:translate(22px)}.install-btn[hidden]{display:none}.install-btn{--btn-fg:var(--color-primary-text);--btn-shadow:var(--color-primary);border-color:var(--color-primary)}.install-btn:not(.btn--lg){min-height:40px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.install-btn__short{display:none}@media (width<=559px){.install-btn:not(.btn--lg) .install-btn__label{display:none}.landing__header .install-btn__short{display:inline}.topbar .install-btn{--btn-bg:var(--color-action);--btn-bg-hover:var(--color-action-hover);--btn-fg:var(--color-on-primary);--btn-shadow:var(--color-primary-shadow);border-color:#0000;width:40px;padding:0}}@media (width<=439px){.landing__header .install-btn{display:none}}.install-card{gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--color-primary);grid-template-columns:auto 1fr;align-items:center;display:grid}.install-card__icon{border-radius:var(--radius-md);background:var(--color-primary);width:56px;height:56px;color:var(--color-on-primary);place-items:center;display:grid}.reminder-card__art{width:64px;height:70px;display:block}.reminder-card__art svg{width:100%;height:100%}.install-card h2{margin:0;font-size:1.25rem}.install-card p{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.install-card__actions{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.install-steps{margin:var(--space-3) 0;text-align:left;padding-left:1.4em}.install-steps li+li{margin-top:var(--space-2)}.speak-btn{width:2.25rem;height:2.25rem;vertical-align:middle;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;flex:none;place-items:center;margin-inline-start:var(--space-2);padding:0;display:inline-grid}.speak-btn:hover{background:var(--color-primary-strong)}.speak-btn:focus-visible{outline:3px solid var(--color-primary-shadow);outline-offset:2px}.speak-btn.is-playing{animation:.9s ease-in-out infinite speak-pulse}@keyframes speak-pulse{50%{transform:scale(1.12)}}.flag{aspect-ratio:4/3;vertical-align:-.05em;block-size:.85em;inline-size:auto;box-shadow:0 0 0 1px color-mix(in srgb, var(--color-text) 14%, transparent);object-fit:cover;border-radius:2px;margin-inline-end:.5em;display:inline-block}.lang-switch{align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;display:inline-flex}.lang-switch:hover{border-color:var(--color-primary);color:var(--color-primary)}.lang-switch .icon{color:var(--color-primary);flex:none}.lang-switch--compact{justify-content:center;width:44px;height:44px;padding:0}.lang-sheet .modal__actions:empty{display:none}.lang-sheet .modal__body{gap:var(--space-3);text-align:start;display:grid}.lang-sheet__options{gap:var(--space-2);display:grid}.lang-sheet__option{justify-content:space-between}.lang-sheet__option[hidden]{display:none}.lang-sheet__option span{color:var(--color-text-muted);font-size:var(--text-sm)}.lang-sheet__auto{vertical-align:-.2em;color:var(--color-primary);margin-inline-end:.5em}.lang-sheet__search{position:relative}.lang-sheet__search .icon{inset-inline-start:var(--space-3);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;translate:0 -50%}.lang-sheet__search .input{width:100%;padding-inline-start:calc(var(--space-3) + 26px)}.lang-sheet__none{font-size:var(--text-sm);margin:0}.settings-lang-icon{vertical-align:-.2em;color:var(--color-primary);margin-inline-end:var(--space-2)}.cycle{justify-items:center;display:inline-grid}.cycle__item{opacity:0;white-space:nowrap;grid-area:1/1;transition:opacity .28s ease-in,translate .28s ease-in;translate:0 -.15em}.cycle__item.is-on{opacity:1;transition:opacity .42s ease-out .3s,translate .42s ease-out .3s;translate:0}.lang-switch .cycle{justify-items:start}.layout{min-height:100vh}.layout__main{min-height:100vh;padding-bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom))}.view{outline:none}.view--bare{min-height:100vh}.brand-mark{flex:none;width:34px;height:34px;display:block}.nav__mark{flex:none;display:block}.topbar{z-index:20;height:var(--topbar-height);padding:0 var(--space-4);background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar__brand{padding:0}[data-crane-card]{font:inherit;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0}[data-crane-card] .brand-mark{transition:transform .16s}[data-crane-card]:hover .brand-mark{transform:rotate(-8deg)scale(1.06)}[data-crane-card].is-hopping .brand-mark{animation:.52s cubic-bezier(.3,1.4,.6,1) crane-hop}@keyframes crane-hop{0%{transform:none}30%{transform:translateY(-9px)rotate(-12deg)scale(1.1)}60%{transform:translateY(0)rotate(6deg)scale(.96,1.04)}to{transform:none}}.topbar__stats{gap:var(--space-2);margin-left:auto;display:flex}.topbar__music{margin-left:var(--space-1);flex:none}.topbar__install{margin-left:var(--space-2);flex:none}.topbar__music[aria-pressed=true]{color:var(--color-primary)}.stat{min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--color-text);align-items:center;gap:6px;font-size:1.0625rem;text-decoration:none;display:inline-flex}.stat:hover{background:var(--color-bg-alt)}.stat--streak .icon{color:var(--color-primary)}.stat--gems .icon{color:var(--color-bauhaus-blue)}.stat--hearts .icon{color:var(--color-error)}.stat--dim .icon{color:var(--color-text-subtle)}.nav{z-index:30;height:calc(var(--bottomnav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:2px solid var(--color-border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.nav__brand{display:none}.nav__link{font-size:.75rem;font-weight:var(--weight-medium);color:var(--color-text-muted);border-radius:var(--radius-md);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.nav__link.is-active{color:var(--color-primary-text)}.nav__link.is-active .icon{color:var(--color-primary)}@media (width>=900px){.layout__main{margin-left:var(--nav-width);padding-bottom:0}.topbar__brand{display:none}.nav{width:var(--nav-width);justify-content:flex-start;gap:var(--space-1);height:100vh;padding:var(--space-6) var(--space-3);border-top:none;border-right:2px solid var(--color-border);flex-direction:column;top:0;right:auto}.nav__brand{align-items:center;gap:var(--space-3);padding:0 var(--space-3) var(--space-6);font-family:var(--font-display);font-size:1.5rem;font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text);text-align:start;text-decoration:none;display:flex}.nav__link{justify-content:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;border:2px solid #0000;flex-direction:row;flex:none}.nav__link:hover{background:var(--color-bg-alt)}.nav__link.is-active{background:var(--color-primary-soft);border-color:var(--color-primary-soft-border)}.toast-host{bottom:var(--space-8)}}.page{max-width:var(--content-width);padding:var(--space-6) var(--space-4) var(--space-12);margin:0 auto}.page--wide{max-width:1000px}.page__header{margin-bottom:var(--space-8)}.page__header h1{font-size:var(--text-2xl)}.page__header p{margin:var(--space-2) 0 0}.sg-section{gap:var(--space-4);padding:var(--space-8) 0;border-top:2px solid var(--color-border);display:grid}.sg-section>h2{font-size:var(--text-lg);font-weight:var(--weight-bold)}.sg-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.sg-swatches{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.sg-swatch{color:var(--color-text-muted);margin:0;font-size:.75rem}.sg-swatch span{border-radius:var(--radius-sm);border:1px solid var(--color-border);height:56px;margin-bottom:var(--space-1);display:block}.sg-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.sg-icons{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(84px,1fr));display:grid}.sg-icons figure{justify-items:center;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);margin:0;font-size:.75rem;display:grid}.settings-group{gap:var(--space-3);padding:var(--space-6) 0;border-top:2px solid var(--color-border);grid-template-columns:minmax(0,1fr);display:grid}.settings-group h2{font-size:var(--text-lg);font-weight:var(--weight-bold)}.settings-group p{margin:0}.settings-group .btn{justify-self:start}.settings-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-group{scroll-margin-top:calc(var(--topbar-height) + var(--space-2))}.settings-profile{align-items:center;gap:var(--space-4);display:flex}.settings-profile .field{flex:1}.goal-options{gap:var(--space-2);display:grid}.goal-options .choice{justify-content:space-between}.settings-hour{width:auto;min-width:8rem;max-width:55%}.switch-row[hidden]{display:none}.prose h2{margin:var(--space-8) 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-bold)}.prose p{max-width:65ch;line-height:1.6}.site-links{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.site-links a{color:var(--color-text-muted)}.site-links--page{margin-top:var(--space-12);padding-top:var(--space-4);border-top:2px solid var(--color-border)}.settings-credits{margin:var(--space-3) 0 0;font-size:.875rem}.landing{overflow-x:hidden}.landing h2{font-size:var(--text-2xl);max-width:18ch}.landing__header{z-index:20;align-items:center;gap:var(--space-6);max-width:1200px;padding:var(--space-3) var(--space-4);background:color-mix(in srgb, var(--color-bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:0 auto;display:flex;position:sticky;top:0}.landing__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.landing__header .btn{min-height:40px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.landing__brand{align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:1.375rem;font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text);text-decoration:none;display:inline-flex}.landing__links{gap:var(--space-6);display:none}.landing__links a{color:var(--color-text-muted);font-weight:var(--weight-medium);text-decoration:none}.landing__links a:hover{color:var(--color-text)}@media (width>=760px){.landing__links{display:flex}}.hero{gap:var(--space-8);max-width:1200px;padding:var(--space-8) var(--space-4) var(--space-12);align-items:center;margin:0 auto;display:grid;position:relative}.hero h1{font-size:var(--text-3xl);max-width:12ch}.hero__lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:34ch;margin:var(--space-4) 0 var(--space-6)}.hero__ctas{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.hero__langs{gap:var(--space-2);margin:0 0 var(--space-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.hero__langs li{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:999px;display:inline-flex}.hero__install.install-btn{--btn-fg:var(--color-text);--btn-shadow:var(--color-border);border-color:var(--color-border)}.hero__install .icon{color:var(--color-primary)}.hero__link{margin-bottom:var(--space-4);color:var(--color-text-muted);font-weight:var(--weight-medium);display:inline-block}.hero__link:hover{color:var(--color-text)}@media (width<=559px){.hero__ctas .btn{width:100%}}.hero__copy,.hero__art{z-index:1;position:relative}@media (width>=900px){.hero{padding-top:var(--space-12);grid-template-columns:1fr 1.1fr;min-height:calc(100vh - 64px)}}.shape{z-index:0;pointer-events:none;position:absolute}.shape--circle{background:var(--color-border-strong);border-radius:50%;width:120px;height:120px;animation:9s ease-in-out infinite float;top:20px;right:-40px}.shape--square{background:var(--color-block);width:54px;height:54px;animation:11s ease-in-out infinite reverse float;bottom:24px;left:46%}.shape--triangle{border-left:40px solid #0000;border-right:40px solid #0000;border-bottom:70px solid var(--color-primary);opacity:.85;width:0;height:0;animation:13s ease-in-out infinite float;bottom:-10px;right:8%}@keyframes float{50%{transform:translateY(-14px)rotate(8deg)}}.ticker{background:var(--color-surface-inverse);color:var(--color-on-inverse);padding:var(--space-4) 0;margin:0 -10px;overflow:hidden;transform:rotate(-1.5deg)}.ticker__track{gap:var(--space-8);width:max-content;animation:40s linear infinite ticker;display:flex}.ticker__item{white-space:nowrap;font-family:var(--font-serif);font-size:1.25rem;font-style:italic}.ticker__item strong{font-family:var(--font-display);color:var(--color-vermillion-300);margin-right:var(--space-2);font-style:normal}@keyframes ticker{to{transform:translate(-50%)}}.landing__section{max-width:1200px;padding:var(--space-12) var(--space-4);margin:0 auto}@media (width>=900px){.landing__section{padding:6rem var(--space-6)}}.why__grid{gap:var(--space-6);align-items:end;display:grid}.why__text{font-size:var(--text-lg);color:var(--color-text-muted);max-width:48ch;margin:0}.why__cards{gap:var(--space-4);margin-top:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}@media (width>=900px){.why__grid{grid-template-columns:1fr 1fr}}.how h2{margin-bottom:var(--space-8)}.how__steps{gap:var(--space-6);counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.how__step{padding-top:var(--space-6);border-top:2px solid var(--color-text);counter-increment:step;position:relative}.how__step:before{content:"Nº 0" counter(step);top:var(--space-2);letter-spacing:.16em;color:var(--color-text-muted);font-family:ui-monospace,monospace;font-size:.75rem;position:absolute;right:0}.how__step h3{font-weight:var(--weight-bold);font-size:var(--text-lg);margin:var(--space-4) 0 var(--space-2)}.how__step p{color:var(--color-text-muted);margin:0}.how__icon{color:#fff;background:var(--color-primary);border-radius:50%;place-items:center;width:56px;height:56px;display:inline-grid}.how__icon--1{background:var(--color-text);color:var(--color-bg);border-radius:0}.how__icon--2{background:var(--color-error);border-radius:50% 50% 0}.how__icon--3{background:var(--color-block-soft);border-radius:0 50%}.try{gap:var(--space-6);align-items:center;display:grid}.try__card{padding:var(--space-8) var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);border:2px solid var(--color-border)}.try__card h2{font-size:var(--text-xl);font-weight:var(--weight-bold);margin-bottom:var(--space-6)}.try__options{gap:var(--space-3);display:grid}.try__feedback{align-items:center;gap:var(--space-2);min-height:1.5em;margin:var(--space-4) 0 0;font-weight:var(--weight-medium);display:flex}.try__feedback--good{color:var(--color-success-text)}.try__feedback--bad{color:var(--color-error-text)}.try__art{width:min(260px,70vw);margin:0 auto}@media (width>=760px){.try{grid-template-columns:1.4fr 1fr}}.showcase{gap:var(--space-8);display:grid}.showcase__art{max-width:360px;margin-bottom:var(--space-4)}.showcase__item h3{font-size:var(--text-xl)}.showcase__item p{max-width:40ch}@media (width>=760px){.showcase{grid-template-columns:1fr 1fr}}.cast h2{margin-bottom:var(--space-8)}.cast__grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.cast__item{margin:0}.cast__item:nth-child(2n){transform:translateY(var(--space-6))}.cast__art{margin-bottom:var(--space-3)}.cast__item figcaption{gap:2px;display:grid}.cast__item figcaption span{font-family:var(--font-serif);color:var(--color-text-muted);font-style:italic;line-height:1.3}.places h2{margin-bottom:var(--space-8)}.places__grid{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.places__item{margin:0}.places__item figcaption{margin-top:var(--space-2);font-family:var(--font-serif);color:var(--color-text-muted);font-style:italic}.faq h2{margin-bottom:var(--space-6)}.faq__list{max-width:760px;display:grid}.faq__item{border-top:2px solid var(--color-border);padding:var(--space-4) 0}.faq__item:last-child{border-bottom:2px solid var(--color-border)}.faq__item summary{justify-content:space-between;gap:var(--space-4);cursor:pointer;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-medium);list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";color:var(--color-primary-text);font-weight:var(--weight-bold)}.faq__item[open] summary:after{content:"–"}.faq__item p{margin:var(--space-3) 0 0;color:var(--color-text-muted);max-width:60ch}.final-cta{justify-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4) 6rem;text-align:center;background:var(--color-action);color:#fff;display:grid}.final-cta h2{font-size:var(--text-3xl)}.final-cta .caption{color:#fff;margin:0 0 var(--space-4)}.final-cta .btn{--btn-bg:#fff;--btn-bg-hover:var(--color-paper-50);--btn-fg:var(--color-vermillion-700);--btn-shadow:var(--color-primary-shadow)}.final-cta__art{--ill-rule:#fff;width:180px}.landing__footer{gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted);justify-items:center;display:grid}.landing__footer p{margin:0}.landing__footer .site-links{justify-content:center}@media (width<=479px){.landing__header{gap:var(--space-3)}.landing__header>.landing__brand>span:not([data-brand]){display:none}}@media (width<=380px){.landing__header .lang-switch__name{display:none}.landing__header .lang-switch{justify-content:center;width:40px;padding:0}}@media (width>=1200px){.landing__header,.hero,.landing__section{max-width:1280px}.hero{gap:var(--space-12);grid-template-columns:1fr 1.2fr;min-height:min(100vh - 64px,880px)}.hero__art svg{width:112%;max-width:none;margin-inline-end:-12%}.try{gap:var(--space-12);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.try__art{width:min(340px,100%)}.showcase{gap:var(--space-12)}.showcase__art{max-width:460px}.cast__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.faq{column-gap:var(--space-12);grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start;display:grid}.faq>.eyebrow,.faq h2{grid-column:1}.faq__list{grid-area:1/2/span 3;max-width:none}}.onb{max-width:640px;min-height:100vh;padding:0 var(--space-4);flex-direction:column;margin:0 auto;display:flex}.onb__top{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;display:flex}.onb__top .progress{flex:1}.onb__main{gap:var(--space-6);padding:var(--space-4) 0 var(--space-8);flex-direction:column;flex:1;display:flex}.onb__main--welcome,.onb__main--ready{justify-content:center}.onb__talk .talk__art{width:120px}.onb__main--welcome .talk,.onb__main--ready .talk{text-align:center;flex-direction:column;align-items:center}.onb__main--welcome .talk__art,.onb__main--ready .talk__art{width:200px}.onb__main--welcome .speech,.onb__main--ready .speech{font-size:var(--text-lg);margin-bottom:0}.onb__main--welcome .speech:before,.onb__main--ready .speech:before{display:none}.onb__lead{text-align:center;color:var(--color-text-muted);font-size:var(--text-lg);margin:0}.onb__body{gap:var(--space-6);display:grid}.onb__options{gap:var(--space-3);display:grid}.onb__options--grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.onb__options .icon{color:var(--color-primary)}.onb__goal{grid-template-columns:1fr auto;row-gap:0;display:grid}.onb__goal span:not(.onb__xp){font-size:var(--text-sm);color:var(--color-text-muted);grid-column:1}.onb__xp{font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--color-primary-text);grid-area:1/2/span 2;align-self:center}.onb__level{gap:2px;display:grid}.onb__level span{font-size:var(--text-sm);color:var(--color-text-muted)}.onb__avatar-preview{place-items:center;display:grid}.onb__fieldset{border:none;margin:0;padding:0}.onb__fieldset legend{font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.onb__characters,.onb__colors{gap:var(--space-3);flex-wrap:wrap;display:flex}.onb__character{cursor:pointer;background:0 0;border:3px solid #0000;border-radius:50%;padding:3px}.onb__character[aria-checked=true]{border-color:var(--color-bauhaus-blue)}.onb__color{border:3px solid var(--color-surface);background:var(--avatar-bg);width:40px;height:40px;box-shadow:0 0 0 2px var(--color-border);cursor:pointer;border-radius:50%}.onb__color[aria-checked=true]{box-shadow:0 0 0 3px var(--color-bauhaus-blue)}.onb__summary{align-items:center;gap:var(--space-4);display:flex}.onb__summary p{margin:0}.onb__footer{padding:var(--space-4) 0 calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-bg);border-top:2px solid var(--color-border);position:sticky;bottom:0}.onb__say{font:inherit;letter-spacing:inherit;margin:0}.onb-langs__hellos{gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-1);flex-wrap:wrap;max-height:7rem;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.onb-langs__hello{font-family:var(--font-display);font-size:var(--text-sm);padding:var(--space-1) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);white-space:nowrap}.onb-langs__hello.is-guess{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--weight-medium);order:-1;animation:.6s ease-out both hello-pop}@keyframes hello-pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}.onb-langs__other{margin-top:var(--space-3)}.onb-langs__search{position:relative}.onb-langs__search .icon{inset-inline-start:var(--space-3);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;translate:0 -50%}.onb-langs__search .input{width:100%;padding-inline-start:calc(var(--space-3) + 26px)}.onb-langs__none{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.onb-langs__none[hidden],.onb__options [hidden]{display:none}.onb-langs__legend-ui{color:var(--color-text-muted);font-weight:var(--weight-regular)}.ad-card{margin:0 0 var(--space-12);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.ad-card:not(.is-filled){height:0;padding:0 var(--space-4);visibility:hidden;border-width:0;margin:0;overflow:hidden}.ad-card__head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm);display:flex}.ad-card__label{padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--color-bg-alt);font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.ad-card__about{font-family:var(--font-serif);color:var(--color-text-muted);margin-left:auto;font-style:italic}.ad-card__unit{border-radius:var(--radius-md);min-width:250px;overflow:hidden}.ad-card--complete{width:100%;margin:var(--space-4) 0 var(--space-8)}.consent{z-index:50;left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-4) + var(--bottomnav-height) + env(safe-area-inset-bottom));max-width:560px;padding:var(--space-4);border:3px solid var(--color-outline);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:6px 6px 0 var(--color-outline);margin:0 auto;position:fixed}.consent p{margin:0 0 var(--space-3);font-size:var(--text-sm)}.consent__actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width>=900px){.consent{bottom:var(--space-6)}}.ad-card__break{padding:2px var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-pill);font:inherit;font-weight:var(--weight-medium);color:var(--color-text-muted);cursor:pointer;background:0 0}.ad-card__break:hover{background:var(--color-bg)}.ad-break-row{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-divider);flex-wrap:wrap;display:flex}.learn{gap:var(--space-8);max-width:1040px;padding:var(--space-6) var(--space-4) var(--space-12);margin:0 auto;display:grid}@media (width>=1100px){.learn{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}.learn__side{display:none}@media (width>=1100px){.learn__side{top:calc(var(--topbar-height) + var(--space-6));gap:var(--space-4);display:grid;position:sticky}}.side-card{align-items:center;gap:var(--space-4);padding:var(--space-4);display:flex}.side-card h3{font-size:var(--text-base);margin:0}.side-card__icon{color:var(--color-primary)}.learn__more{text-align:center;margin-top:var(--space-8)}.course-section{margin-bottom:var(--space-12)}.course-section__head{padding:var(--space-6);border:3px solid var(--color-outline);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:6px 6px 0 var(--color-outline)}.course-section__eyebrow{color:var(--color-primary-text);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase;margin:0}.course-section__head h2{font-size:var(--text-xl);font-weight:var(--weight-bold)}.course-section__desc{margin:var(--space-1) 0 var(--space-4)}.course-section__meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.course-section__meta .btn{margin-left:auto}.course-section--locked .course-section__head{border-color:var(--color-text-subtle);box-shadow:6px 6px 0 var(--color-border-strong)}.course-section__units>summary{width:max-content;margin:var(--space-4) auto var(--space-8);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-weight:var(--weight-bold);cursor:pointer}.course-section__units>summary:hover{background:var(--color-bg-alt)}.unit{--unit-bg:var(--color-action);--unit-fg:#fff;--unit-node:var(--color-primary);--unit-node-shadow:var(--color-primary-shadow);margin-bottom:var(--space-12)}.unit--ink{--unit-bg:var(--color-block);--unit-node:var(--color-block);--unit-node-shadow:#000}.unit--sage,.unit--sky,.unit--butter,.unit--lilac,.unit--blush{--unit-fg:var(--color-ink-900);--unit-node:var(--color-ink-700);--unit-node-shadow:var(--color-ink-900)}:root[data-theme=dark] :is(.unit--sage,.unit--sky,.unit--butter,.unit--lilac,.unit--blush){--unit-fg:var(--color-text);--unit-node:var(--color-block-soft);--unit-node-shadow:#000}.unit--sage{--unit-bg:var(--color-pastel-sage)}.unit--sky{--unit-bg:var(--color-pastel-sky)}.unit--butter{--unit-bg:var(--color-pastel-butter)}.unit--lilac{--unit-bg:var(--color-pastel-lilac)}.unit--blush{--unit-bg:var(--color-pastel-blush)}.unit__banner{top:calc(var(--topbar-height) + var(--space-2));z-index:5;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);background:var(--unit-bg);color:var(--unit-fg);box-shadow:0 4px 0 #00000026, 0 calc(-2 * var(--space-2)) 0 var(--space-1) var(--color-bg);grid-template-columns:1fr auto;align-items:center;display:grid;position:sticky}.unit__eyebrow{font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase;margin:0}.unit__banner h3{font-size:var(--text-xl);font-weight:var(--weight-bold)}@media (width<=480px){.unit__banner{padding:var(--space-3) var(--space-4)}.unit__banner h3{font-size:var(--text-lg)}}.unit__desc{max-width:44ch;margin:var(--space-4) auto 0;color:var(--color-text-muted);text-align:center}.unit__guide{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:inherit;font-weight:var(--weight-bold);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;border:2px solid;text-decoration:none;display:inline-flex}.unit__guide:hover{background:#ffffff1f}@media (width<=480px){.unit__guide span{display:none}}.unit__meter{border-radius:var(--radius-pill);background:#ffffff47;grid-column:1/-1;height:6px;overflow:hidden}.unit--sage .unit__meter,.unit--sky .unit__meter,.unit--butter .unit__meter,.unit--lilac .unit__meter,.unit--blush .unit__meter{background:#0000001a}.unit__meter span{border-radius:inherit;background:currentColor;height:100%;display:block}.unit__body{position:relative}.unit__cast{pointer-events:none;flex-direction:column;justify-content:space-around;display:flex;position:absolute;inset:0}.unit__character{opacity:.95;width:110px}.unit__character:nth-child(odd){align-self:flex-start;transform:rotate(-4deg)}.unit__character:nth-child(2n){align-self:flex-end;transform:rotate(4deg)}@media (width<=480px){.unit__character{width:72px}}.unit__prop{width:56px;opacity:.9;align-self:flex-end;margin-inline-end:var(--space-2)}@media (width<=480px){.unit__prop{width:40px}}.unit--locked .unit__character,.unit--locked .unit__prop{filter:grayscale();opacity:.5}.skills{margin:0;padding:0;list-style:none}.skill__title{justify-content:center;align-items:center;gap:var(--space-3);margin:var(--space-8) 0 var(--space-4);font-size:var(--text-base);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);display:flex}.skill__title:before,.skill__title:after{content:"";background:var(--color-border);flex:0 60px;height:2px}.skill__count{font-family:var(--font-serif);text-transform:none;font-style:italic;font-weight:var(--weight-regular)}.skill--complete .skill__title{color:var(--color-primary-text)}.trail{align-items:center;gap:var(--space-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.trail--checkpoint{margin-top:var(--space-8)}.node-wrap{transform:translateX(var(--x));position:relative}.node-wrap--open{z-index:4}.node-wrap:has(.node__bubble){margin-top:var(--space-12)}.node{background:var(--unit-node);color:#fff;width:72px;height:66px;box-shadow:0 7px 0 var(--unit-node-shadow);cursor:pointer;border:none;border-radius:50%;place-items:center;transition:transform 80ms,box-shadow 80ms;display:grid;position:relative}.node:active{box-shadow:0 1px 0 var(--unit-node-shadow);transform:translateY(6px)}.node--locked{background:var(--color-border);color:var(--color-text-subtle);box-shadow:0 7px 0 var(--color-border-strong)}.node--skipped{background:var(--color-bg);color:var(--color-text-muted);box-shadow:0 7px 0 var(--color-border-strong)}.node--done{background:var(--color-gold);color:var(--color-ink-900);box-shadow:0 7px 0 var(--color-gold-shadow)}.node--current{outline:4px solid var(--color-surface-raised);box-shadow:0 7px 0 var(--unit-node-shadow), 0 0 0 9px var(--color-border);animation:2s ease-in-out infinite node-pulse}@keyframes node-pulse{50%{box-shadow:0 7px 0 var(--unit-node-shadow), 0 0 0 13px var(--color-bg-alt)}}.node--checkpoint{border-radius:var(--radius-lg);width:84px;height:78px}.node__bubble{padding:var(--space-2) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary-text);font-weight:var(--weight-bold);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;animation:1.6s ease-in-out infinite bubble-bob;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%)}.node__bubble:after{content:"";background:inherit;border-right:2px solid var(--color-border);border-bottom:2px solid var(--color-border);width:12px;height:12px;position:absolute;top:100%;left:50%;transform:translate(-50%,-6px)rotate(45deg)}@keyframes bubble-bob{50%{transform:translate(-50%,-4px)}}.node-pop{z-index:10;width:260px;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--unit-node);color:#fff;box-shadow:var(--shadow-float);animation:.18s rise-in;position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%)}.node-pop h3{font-size:var(--text-lg);font-weight:var(--weight-bold)}.node-pop p{margin:var(--space-1) 0 var(--space-4);opacity:.9}.node-pop .btn{--btn-bg:#fff;--btn-bg-hover:var(--color-paper-50);--btn-fg:var(--color-ink-900);--btn-shadow:#00000040;border-color:#0000}.goal-strip{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);text-decoration:none;display:flex}.goal-strip strong{color:var(--color-text);margin-right:var(--space-1)}@media (width>=1100px){.goal-strip{display:none}}.side-card--link{color:inherit;text-decoration:none}.side-card--link:hover{border-color:var(--color-border-strong)}.side-card__icon.is-dim{color:var(--color-text-subtle)}.risk-banner{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary-soft);border:2px solid var(--color-primary-soft-border);color:var(--color-text);display:flex}.risk-banner .icon{color:var(--color-primary);animation:1.4s ease-in-out infinite bubble-flicker}.risk-banner p{margin:0}@keyframes bubble-flicker{50%{transform:scale(1.12)rotate(-4deg)}}.skill__review{text-transform:none;letter-spacing:0;font-size:.75rem;text-decoration:none}.lesson{flex-direction:column;min-height:100dvh;display:flex}.lesson__top{align-items:center;gap:var(--space-3);width:100%;max-width:1000px;padding:var(--space-4);margin:0 auto;display:flex}.lesson__progress{flex:1}.lesson__extra{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:var(--weight-bold);display:flex}.lesson__extra:empty{display:none}.lesson__stage{padding:var(--space-4) var(--space-4) var(--space-8);flex:1;justify-content:center;display:flex}.lesson__exercise{width:100%;max-width:600px}.lesson__footer{border-top:2px solid var(--color-border);background:var(--color-bg);padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));position:sticky;bottom:0}.lesson__footer.is-hidden{visibility:hidden}.lesson__footer--good{background:var(--color-success-soft);border-top-color:#0000}.lesson__footer--bad{background:var(--color-error-soft);border-top-color:#0000}.lesson__feedback,.lesson__actions{max-width:1000px;margin:0 auto}@media (width>=760px){.lesson__footer{padding-top:var(--space-6);padding-bottom:var(--space-6)}.lesson__actions .btn--block{width:auto;min-width:200px;margin-left:auto}.lesson__footer>.lesson__feedback:not(:empty)+.lesson__actions{margin-top:calc(-1 * var(--space-12))}}.fb{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);animation:.2s rise-in;display:flex}.fb strong{font-family:var(--font-display);font-size:var(--text-lg)}.lesson__footer--good .fb{color:var(--color-success-shadow)}.lesson__footer--bad .fb{color:var(--color-error-shadow)}:root[data-theme=dark] .lesson__footer--good .fb{color:var(--color-success-text)}:root[data-theme=dark] .lesson__footer--bad .fb{color:var(--color-error-text)}.fb__icon{background:#fff;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.fb__answer{margin:2px 0 0;font-size:1.0625rem}.ex{gap:var(--space-6);display:grid}.ex__prompt{font-size:var(--text-xl);font-weight:var(--weight-bold)}.ex--intro{text-align:center;padding-top:var(--space-8);justify-items:center;gap:var(--space-3)}.ex-intro__lg{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-primary-text)}.ex-intro__en{font-size:var(--text-xl);margin:0}.ex-intro__notes{max-width:36ch;margin:var(--space-2) 0 0;font-size:var(--text-lg)}.ex-choice__options{gap:var(--space-3);display:grid}.ex-translate__source .speech{margin:0 0 0 var(--space-3);font-size:var(--text-lg);display:inline-block}.ex-translate__answer{align-content:flex-start;gap:var(--space-2);min-height:116px;padding:var(--space-2) 0;background-image:repeating-linear-gradient(to bottom, transparent 0 56px, var(--color-border) 56px 58px);flex-wrap:wrap;display:flex}.ex-translate__bank{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ex-match__grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.ex-match__col{gap:var(--space-3);display:grid}.ex-match__col .tile{align-items:center;gap:var(--space-2);text-align:left;min-height:56px;display:flex}.ex-match__col .tile.is-used{color:var(--color-text-subtle)}.ex-match__col .tile .choice__key{width:24px;height:24px;font-size:.75rem}@media (width<=480px){.ex-match__col .tile .choice__key{display:none}}.complete{align-items:center;gap:var(--space-6);max-width:560px;min-height:100vh;padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;margin:0 auto;display:flex}.complete__art{width:min(320px,80vw)}.complete h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-primary-text)}.complete__stats{gap:var(--space-3);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.complete__stat{border:2px solid var(--stat-color);border-radius:var(--radius-md);background:var(--stat-color);animation:.4s backwards rise-in;overflow:hidden}.complete__stat:nth-child(2){animation-delay:.12s}.complete__stat:nth-child(3){animation-delay:.24s}.complete__stat span{padding:var(--space-1);color:#fff;font-size:.75rem;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;display:block}.complete__stat strong{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-1);border-radius:calc(var(--radius-md) - 2px);background:var(--color-surface);color:var(--stat-color);font-family:var(--font-display);font-size:var(--text-lg);display:flex}.complete__stat--xp{--stat-color:var(--color-gold-shadow)}.complete__stat--acc{--stat-color:var(--color-success-strong)}.complete__stat--time{--stat-color:var(--color-bauhaus-blue)}.complete__actions{width:100%;margin-top:auto}.ex-type__input{resize:none;min-height:120px;font-size:var(--text-lg)}.ex-fill__hint{margin:0}.ex-fill__sentence{font-size:var(--text-xl);margin:0;line-height:2}.ex-fill__blank{min-width:96px;margin:0 var(--space-1);padding:0 var(--space-2);border-bottom:3px solid var(--color-border);text-align:center;color:var(--color-bauhaus-blue);font-weight:var(--weight-bold);display:inline-block}.ex-fill__blank.is-correct{color:var(--color-success-text);border-color:var(--color-success)}.ex-fill__blank.is-wrong{color:var(--color-error-text);border-color:var(--color-error)}.ex-fill__options{gap:var(--space-3);flex-wrap:wrap;display:flex}.ex-fill__options .tile{align-items:center;gap:var(--space-2);display:flex}.ex-dialogue__scene{align-items:flex-end;gap:var(--space-3);display:flex}.ex-dialogue__speaker{justify-items:center;gap:var(--space-1);width:112px;font-family:var(--font-serif);color:var(--color-text-muted);flex:none;font-style:italic;display:grid}.ex-dialogue__face{width:100%;display:block}.ex-dialogue__line{margin-bottom:var(--space-12)}.ex-dialogue__line p{margin:0}.ex-dialogue__line p[lang]{font-size:var(--text-lg);font-weight:var(--weight-medium)}.ex-dialogue__reveal{align-items:center;gap:var(--space-1);margin-top:var(--space-2);color:var(--color-primary-text);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.ex-listen__controls{justify-content:center;display:flex}.ex-listen__play{border-radius:var(--radius-lg);width:120px;height:120px}.complete__sub{margin:calc(-1 * var(--space-4)) 0 0}.complete__parts{gap:var(--space-1);width:100%;font-size:var(--text-sm);color:var(--color-text-muted);margin:0;padding:0;list-style:none;display:grid}.complete__parts li{border-bottom:1px dashed var(--color-border);padding:var(--space-1) 0;justify-content:space-between;display:flex}.complete__art--small{width:180px}.complete__ring .ring__content{color:var(--color-text);justify-items:center;display:grid}.complete__ring-num{color:var(--color-primary-text);font-size:2.5rem;line-height:1}.lesson__hearts{align-items:center;gap:var(--space-1);color:var(--color-error-text);font-size:var(--text-lg);display:inline-flex}.lesson__hearts span{color:var(--color-error-text)}.lesson__hearts.is-lost .icon{animation:.5s heart-lost}@keyframes heart-lost{30%{transform:scale(1.35)rotate(-10deg)}60%{transform:scale(.8)rotate(8deg)}}.complete__gems .icon{color:var(--color-bauhaus-blue);vertical-align:-3px}.unlocks{gap:var(--space-4);text-align:left;width:100%;margin:0;padding:0;list-style:none;display:grid}.unlock{align-items:center;gap:var(--space-4);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);animation:.4s backwards rise-in;display:flex}.unlock strong{font-family:var(--font-display);font-size:var(--text-lg)}.unlock p{margin:2px 0 var(--space-2)}.ex-translate__mode{margin:var(--space-4) auto 0;min-height:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);justify-self:center;display:flex}.ex-translate__answer[hidden],.ex-translate__bank[hidden]{display:none}.reminder-offer__art{justify-items:center;gap:var(--space-2);display:grid}.reminder-offer__yes{width:100%;max-width:420px}.reminder-offer__later{font-size:var(--text-sm);text-align:center;max-width:36ch}.lesson[hidden]{display:none}.streak-page{gap:var(--space-6);display:grid}.streak-hero{align-items:center;gap:var(--space-4);grid-template-columns:1fr 160px;display:grid}.streak-hero h1{font-size:var(--text-3xl)}.streak-hero h1 strong{color:var(--color-primary-text)}.streak-hero p{margin:var(--space-2) 0 0}.streak-next h2{font-size:var(--text-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-3)}.streak-next p{margin-top:var(--space-2)}.streak-stats{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.streak-stats .card{gap:var(--space-1);padding:var(--space-4);display:grid}.streak-stats strong{font-family:var(--font-display);font-size:var(--text-xl)}.streak-stats__icon{color:var(--color-primary)}.streak-stats__icon--freeze{color:var(--color-bauhaus-blue)}.streak-shop{align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-3)) 0 0;color:var(--color-text-muted);flex-wrap:wrap;display:flex}.cal__head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.cal__head h2{font-size:var(--text-lg);font-weight:var(--weight-bold)}.cal__grid{gap:var(--space-2);text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.cal__dow{font-size:.75rem;font-weight:var(--weight-bold);color:var(--color-text-muted)}.cal__cell{aspect-ratio:1;font-size:var(--text-sm);color:var(--color-text-muted);border-radius:50%;place-items:center;display:grid}.cal__cell.is-active{background:var(--color-primary);color:#fff;font-weight:var(--weight-bold)}.cal__cell.is-frozen{background:var(--color-pastel-sky);color:var(--color-bauhaus-blue)}.cal__cell.is-today{box-shadow:inset 0 0 0 2px var(--color-text)}.cal__legend{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.cal__key{width:14px;height:14px;margin-left:var(--space-2);border-radius:50%}.cal__key.is-active{background:var(--color-primary)}.cal__key.is-frozen{background:var(--color-pastel-sky)}.practice-cards{gap:var(--space-3);display:grid}.practice-card{align-items:center;gap:var(--space-4);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 4px 0 var(--color-border);color:var(--color-text);text-decoration:none;display:flex}.practice-card>span:nth-child(2){flex:1;display:grid}.practice-card small{color:var(--color-text-muted);font-size:var(--text-sm)}.practice-card>.icon{color:var(--color-text-subtle)}.practice-card__icon{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.practice-card--stories .practice-card__icon{border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-sm);background:var(--color-block-soft)}.practice-card--mistakes .practice-card__icon{border-radius:var(--radius-sm);background:var(--color-block)}.practice-card.is-disabled{opacity:.6;pointer-events:none}.practice-heading{margin:var(--space-8) 0 var(--space-4);font-size:var(--text-xl)}.practice-unit h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.practice-skills{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.practice-skill{align-items:center;gap:var(--space-3);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-decoration:none;display:flex}.practice-skill:hover{border-color:var(--color-border-strong)}.practice-skill__icon{background:var(--color-gold);width:40px;height:40px;color:var(--color-ink-900);border-radius:50%;place-items:center;display:grid}.practice-skill__body{gap:var(--space-1);flex:1;display:grid}.practice-skill__body .progress{height:10px}.shop-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.shop-balance{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface);border:2px solid var(--color-border);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);display:inline-flex}.shop-balance .icon{color:var(--color-bauhaus-blue)}.shop-earn{margin:0 0 var(--space-6)}.shop-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.shop-item{align-items:center;gap:var(--space-4);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:flex}.shop-item__icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid}.shop-item__icon--freeze{background:var(--color-bauhaus-blue);border-radius:var(--radius-md)}.shop-item__icon--refill{background:var(--color-error)}.shop-item__icon--rewarded{background:var(--color-bauhaus-yellow);color:var(--color-bauhaus-black);border-radius:50% 50% var(--radius-md) var(--radius-md)}.shop-item__body{flex:1;min-width:0}.shop-item__body h2{font-size:var(--text-base);font-weight:var(--weight-bold)}.shop-item__body p{font-size:var(--text-sm);margin:2px 0 0}.shop-item__note{color:var(--color-primary-text);font-weight:var(--weight-medium)}.shop-item__action .btn{min-width:96px;padding:var(--space-2) var(--space-4)}@media (width<=480px){.shop-item{flex-wrap:wrap}.shop-item__action,.shop-item__action .btn{width:100%}}.shop-rules{margin-top:var(--space-6);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.shop-rules h2{font-size:var(--text-base);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.shop-rules ul{gap:var(--space-2);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.shop-rules li{justify-content:space-between;gap:var(--space-3);display:flex}.shop-rules__gems{font-weight:var(--weight-bold);flex:none;align-items:center;gap:4px;display:inline-flex}.shop-rules__gems .icon{color:var(--color-bauhaus-blue)}.profile-head{align-items:center;column-gap:var(--space-4);row-gap:var(--space-3);margin-bottom:var(--space-8);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar text edit";display:grid}.profile-head>.avatar{grid-area:avatar}.profile-head__text{grid-area:text}.profile-head>.btn{grid-area:edit}.profile-head h1{font-size:clamp(var(--text-xl), 9vw, var(--text-2xl));overflow-wrap:anywhere}@media (width<=560px){.profile-head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar text""avatar edit"}.profile-head>.btn{justify-self:start}}.profile-head p{margin:var(--space-1) 0 0}.profile-section{margin:var(--space-8) 0 var(--space-4);font-size:var(--text-xl);font-weight:var(--weight-bold)}.achievements{border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin:0;padding:0;list-style:none;display:grid}.achievement{align-items:center;gap:var(--space-4);padding:var(--space-4);display:flex}.achievement+.achievement{border-top:2px solid var(--color-border)}.achievement__body{gap:var(--space-1);flex:1;display:grid}.achievement__body h3{font-size:var(--text-base);font-weight:var(--weight-bold)}.achievement__body h3 span{font-weight:var(--weight-regular);font-size:var(--text-sm);margin-left:var(--space-1)}.achievement__body p{font-size:var(--text-sm);margin:0}.achievement__body .progress{height:10px}.achievement__count{color:var(--color-text-muted);justify-self:end;font-size:.75rem}.profile-head__text{min-width:0}.stat-tiles{gap:var(--space-3);margin:0 0 var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}@media (width>=720px){.stat-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-tile{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.stat-tile>.icon{color:var(--color-text-muted);flex:none}.stat-tile--flame>.icon,.stat-tile--xp>.icon{color:var(--color-primary)}.stat-tile div{min-width:0;display:grid}.stat-tile strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.1}.stat-tile span{font-size:var(--text-sm);color:var(--color-text-muted)}.xp-week{padding:var(--space-4)}.xp-week__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.xp-week__head h2{font-size:var(--text-base);font-weight:var(--weight-bold);margin:0}.chart{margin:0}.chart__plot{height:140px;margin-top:var(--space-6);border-bottom:1px solid var(--color-border-strong);align-items:flex-end;display:flex;position:relative}.chart__goal{border-top:1px dashed var(--color-text-subtle);position:absolute;left:0;right:0}.chart__goal span{color:var(--color-text-muted);background:var(--color-surface);padding-right:var(--space-1);font-size:.7rem;position:absolute;bottom:2px;left:0}.bar{flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex}.bar__mark{background:var(--color-vermillion-300);border-radius:4px 4px 0 0;width:min(28px,50%);position:relative}.bar--today .bar__mark,.bar:hover .bar__mark{background:var(--color-action)}.bar__value{font-size:var(--text-sm);font-weight:var(--weight-bold);opacity:0;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.bar--today .bar__value,.bar:hover .bar__value{opacity:1}.chart__labels{margin-top:var(--space-2);display:flex}.chart__labels span{text-align:center;font-size:var(--text-sm);color:var(--color-text-muted);flex:1}.chart__labels .is-today{font-weight:var(--weight-bold);color:var(--color-text)}.profile-home{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm)}.profile-home a{color:var(--color-text-muted)}.stories-unit+.stories-unit{margin-top:var(--space-8)}.stories-unit__title{margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.story-list{gap:var(--space-3);display:grid}@media (width>=720px){.story-list{grid-template-columns:1fr 1fr}}.story-card{align-items:center;gap:var(--space-4);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 4px 0 var(--color-border);color:inherit;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:flex}a.story-card:hover{border-color:var(--color-border-strong)}a.story-card:active{box-shadow:0 1px 0 var(--color-border);transform:translateY(3px)}.story-card.is-locked{opacity:.6}.story-card.is-locked .avatar{filter:grayscale()}.story-card__text{gap:2px;min-width:0;display:grid}.story-card__text small{color:var(--color-text-muted);font-size:var(--text-sm)}.story-card__status{align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-subtle);display:inline-flex}.story-card__status.is-new{color:var(--color-primary-text)}.story-card__status.is-done{color:var(--color-success-shadow)}:root[data-theme=dark] .story-card__status.is-done{color:var(--color-success-text)}.cast-row{flex:none;display:inline-flex}.cast-row .avatar+.avatar{margin-left:-14px}.cast-row .avatar{border:3px solid var(--color-surface);border-radius:50%}.story__script{gap:var(--space-4);flex-direction:column;width:100%;max-width:640px;display:flex}.story__title{text-align:center;margin-bottom:var(--space-4)}.story__title h1{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-xl);font-weight:var(--weight-bold)}.story__step{animation:.22s rise-in}.story-line{align-items:flex-end;gap:var(--space-3);display:flex}.story-line--right{flex-direction:row-reverse}.story-line__who{flex:none;width:52px}.story-line__bubble{max-width:80%;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 4px;background:var(--color-surface);color:inherit;font:inherit;text-align:left;cursor:pointer;gap:2px;display:grid}.story-line--right .story-line__bubble{border-radius:var(--radius-lg) var(--radius-lg) 4px var(--radius-lg)}.story-line__name{font-size:.75rem;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle)}.story-line__lg{font-size:var(--text-lg);font-weight:var(--weight-bold)}.story-line__en,.story-line__gloss{color:var(--color-text-muted);display:none}.story-line__bubble[aria-expanded=true] .story-line__en,.story-line__bubble[aria-expanded=true] .story-line__gloss{display:block}.story-line__gloss{margin-top:var(--space-1);font-size:var(--text-sm);font-family:var(--font-serif);font-style:italic}.story-line__gloss span{display:block}.story-q{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-raised);border:2px dashed var(--color-border-strong)}.story-q__prompt{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-weight:var(--weight-bold);display:flex}.story-q__prompt .icon{color:var(--color-primary)}.story-q__options{gap:var(--space-2);display:grid}.guide__head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.guide__head h1{margin:var(--space-1) 0;font-size:var(--text-2xl);font-weight:var(--weight-bold)}.guide__art{flex:0 0 120px}@media (width<=520px){.guide__art{flex-basis:80px}}.guide__section{margin-bottom:var(--space-8)}.guide__section h2{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-bold)}.phrase-list{border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.phrase-list li{padding:var(--space-3) var(--space-4);gap:2px;display:grid}.phrase-list li+li{border-top:1px solid var(--color-divider)}.phrase-list span{color:var(--color-text-muted)}@media (width>=640px){.phrase-list li{gap:var(--space-4);grid-template-columns:1fr 1fr}}.guide-note{padding:var(--space-4) var(--space-5,var(--space-4));scroll-margin-top:calc(var(--topbar-height) + var(--space-4))}.guide-note+.guide-note{margin-top:var(--space-3)}.guide-note h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:var(--weight-bold);display:flex}.guide-note h3 .icon{color:var(--color-primary)}.guide-note p{margin:0 0 var(--space-2)}.guide-note strong[lang=lg]{color:var(--color-primary-text)}.guide-note.is-highlighted{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.guide-table{margin-top:var(--space-3);overflow-x:auto}.guide-table table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.guide-table th,.guide-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-divider)}.guide-table th{font-weight:var(--weight-bold);color:var(--color-text-muted);background:var(--color-surface-raised)}.guide__back{text-align:center}.story-line__speak{align-self:center;margin-inline-start:0}
