.ns-button{background-color:var(--ns-color-action-primary);border:var(--ns-border-width-standard) var(--ns-border-style-solid) transparent;border-radius:var(--ns-radius-control);box-shadow:var(--ns-elevation-button-primary);color:var(--ns-color-action-primary-foreground);cursor:pointer;font:inherit;font-size:var(--ns-text-button-size);font-weight:var(--ns-text-button-weight);align-items:center;gap:var(--ns-space-2);letter-spacing:var(--ns-text-button-letter-spacing);line-height:var(--ns-text-button-line-height);min-height:var(--ns-size-button-height-standard);padding:var(--ns-space-2-5) var(--ns-space-4);text-transform:uppercase;transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), box-shadow var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), transform var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);justify-content:center;display:inline-flex}.ns-button[data-size=compact]{min-height:var(--ns-size-control-height-compact);padding:var(--ns-space-2) var(--ns-space-3)}.ns-button[data-size=comfortable]{min-height:var(--ns-size-button-height-comfortable);padding:var(--ns-space-3) var(--ns-space-5)}.ns-button.ns-button--icon{inline-size:var(--ns-size-button-height-standard);padding:0}.ns-button.ns-button--icon[data-size=compact]{inline-size:var(--ns-size-control-height-compact)}.ns-button.ns-button--icon[data-size=comfortable]{inline-size:var(--ns-size-button-height-comfortable)}.ns-button[data-variant=primary]:hover:not(:disabled){background-color:var(--ns-color-action-primary-hover);box-shadow:var(--ns-elevation-button-primary-hover)}.ns-button[data-variant=secondary]{background-color:var(--ns-color-surface);border-width:var(--ns-border-width-emphasis);border-color:var(--ns-color-action-secondary-edge);box-shadow:var(--ns-elevation-button-secondary);color:var(--ns-color-action-secondary-foreground)}.ns-button[data-variant=secondary]:hover:not(:disabled){background-color:var(--ns-color-canvas)}.ns-button[data-variant]:active:not(:disabled){box-shadow:var(--ns-elevation-none);transform:translateY(var(--ns-motion-button-press-offset))}.ns-button[data-variant=secondary]:active:not(:disabled){transform:translateY(var(--ns-motion-button-secondary-press-offset))}.ns-button:focus-visible{outline:var(--ns-border-width-focus) var(--ns-border-style-solid) var(--ns-color-focus);outline-offset:2px}.ns-button:disabled{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border);box-shadow:var(--ns-elevation-none);color:var(--ns-color-text-secondary);cursor:default;transform:none}.ns-button__spinner{block-size:var(--ns-size-icon-box-small);border:var(--ns-border-width-emphasis) var(--ns-border-style-solid) currentColor;border-radius:var(--ns-radius-pill);inline-size:var(--ns-size-icon-box-small);border-inline-end-color:#0000;flex:none;animation:.8s linear infinite ns-button-spin}.ns-button__status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes ns-button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ns-button__spinner{animation:none}}.ns-badge{background-color:var(--ns-color-surface-subtle);border:var(--ns-border-width-subtle) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-pill);color:var(--ns-color-text-secondary);font-size:var(--ns-text-caption-size);font-weight:var(--ns-text-label-weight);letter-spacing:var(--ns-text-label-letter-spacing);line-height:var(--ns-text-label-line-height);padding-block:var(--ns-space-1);padding-inline:var(--ns-space-2);vertical-align:middle;white-space:nowrap;align-items:center;display:inline-flex}.ns-badge[data-variant=success]{background-color:var(--ns-color-feedback-success-surface);color:var(--ns-color-feedback-success);border-color:#0000}.ns-badge[data-variant=warning]{background-color:var(--ns-color-feedback-warning-surface);color:var(--ns-color-feedback-warning);border-color:#0000}.ns-badge[data-variant=info]{background-color:var(--ns-color-feedback-info-surface);color:var(--ns-color-feedback-info);border-color:#0000}.ns-badge[data-variant=danger]{background-color:var(--ns-color-feedback-danger-surface);color:var(--ns-color-feedback-danger);border-color:#0000}.ns-progress{background-color:var(--ns-color-surface-subtle);border-radius:var(--ns-radius-pill);height:var(--ns-size-progress-track);width:100%;display:block;overflow:hidden}.ns-progress__indicator{background-color:var(--ns-color-action-primary);border-radius:inherit;height:100%;display:block}.ns-surface{background-color:var(--ns-color-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-card);box-shadow:var(--ns-elevation-none)}.ns-surface[data-variant=subtle]{background-color:var(--ns-color-surface-subtle)}.ns-surface[data-variant=raised]{background-color:var(--ns-color-surface-raised)}.ns-surface[data-variant=highlighted]{border:var(--ns-border-width-emphasis) var(--ns-border-style-solid) var(--ns-color-border)}.ns-surface[data-elevation=none]{box-shadow:var(--ns-elevation-none)}.ns-surface[data-elevation=card]{box-shadow:var(--ns-elevation-card)}.ns-surface[data-elevation=interactive]{box-shadow:var(--ns-elevation-interactive);transition:box-shadow var(--ns-motion-duration-fast) var(--ns-motion-easing-standard)}.ns-surface[data-elevation=interactive]:hover,.ns-surface[data-elevation=interactive]:focus-within{box-shadow:var(--ns-elevation-hover)}.ns-surface[data-elevation=interactive]:active{box-shadow:var(--ns-elevation-pressed)}.ns-icon[data-color=primary]{color:var(--ns-color-text-primary)}.ns-icon[data-color=secondary]{color:var(--ns-color-text-secondary)}.ns-icon[data-color=tertiary]{color:var(--ns-color-text-tertiary)}.ns-icon[data-color=inverse]{color:var(--ns-color-text-inverse)}.ns-text{color:var(--ns-color-text-primary);margin:0}.ns-text[data-color=secondary]{color:var(--ns-color-text-secondary)}.ns-text[data-color=tertiary]{color:var(--ns-color-text-tertiary)}.ns-text[data-color=inverse]{color:var(--ns-color-text-inverse)}.ns-achievement{align-items:start;gap:var(--ns-space-4);padding:var(--ns-space-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ns-achievement__icon{background-color:var(--ns-color-reward-achievement-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);color:var(--ns-color-reward-achievement);height:var(--ns-size-avatar-large);width:var(--ns-size-avatar-large);justify-content:center;align-items:center;display:inline-flex}.ns-achievement[data-state=locked] .ns-achievement__icon{background-color:var(--ns-color-surface-subtle);color:var(--ns-color-text-secondary)}.ns-achievement[data-state=in-progress] .ns-achievement__icon{background-color:var(--ns-color-feedback-info-surface);color:var(--ns-color-feedback-info)}.ns-achievement__content{gap:var(--ns-space-2);min-width:0;display:grid}.ns-achievement__title,.ns-achievement__description{margin:0}.ns-achievement__progress{gap:var(--ns-space-1);display:grid}.ns-achievement__progress-bar .ns-progress__indicator{background-color:var(--ns-color-reward-achievement)}.ns-achievement__state{justify-self:end}@media (width<=30rem){.ns-achievement{grid-template-columns:auto minmax(0,1fr)}.ns-achievement__state{grid-column:2;justify-self:start}}.ns-card__surface{padding:var(--ns-space-5)}.ns-reward-card__layout{align-items:center;gap:var(--ns-space-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ns-reward-card__icon{background-color:var(--ns-color-reward-xp-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);color:var(--ns-color-reward-xp);height:var(--ns-size-avatar-large);width:var(--ns-size-avatar-large);flex:none;justify-content:center;align-items:center;display:inline-flex}.ns-reward-card[data-category=streak] .ns-reward-card__icon{background-color:var(--ns-color-reward-streak-surface);color:var(--ns-color-reward-streak)}.ns-reward-card[data-category=achievement] .ns-reward-card__icon{background-color:var(--ns-color-reward-achievement-surface);color:var(--ns-color-reward-achievement)}.ns-reward-card[data-state=locked] .ns-reward-card__icon{background-color:var(--ns-color-surface-subtle);color:var(--ns-color-text-secondary)}.ns-reward-card__content{gap:var(--ns-space-1);min-width:0;display:grid}.ns-reward-card__label,.ns-reward-card__value{margin:0}.ns-reward-card__value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ns-reward-card__state{justify-self:end}@media (width<=30rem){.ns-reward-card__layout{grid-template-columns:auto minmax(0,1fr)}.ns-reward-card__state{grid-column:2;justify-self:start}}.ns-quest-card{gap:var(--ns-space-4);display:grid}.ns-quest-card__header{align-items:start;gap:var(--ns-space-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ns-quest-card__icon{background-color:var(--ns-color-feedback-info-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);color:var(--ns-color-feedback-info);height:var(--ns-size-avatar-large);width:var(--ns-size-avatar-large);justify-content:center;align-items:center;display:inline-flex}.ns-quest-card[data-status=completed] .ns-quest-card__icon{background-color:var(--ns-color-feedback-success-surface);color:var(--ns-color-feedback-success)}.ns-quest-card__heading{gap:var(--ns-space-2);min-width:0;display:grid}.ns-quest-card__title,.ns-quest-card__description{margin:0}.ns-quest-card__status{justify-self:end}.ns-quest-card__progress{gap:var(--ns-space-2);display:grid}.ns-quest-card__progress-summary{align-items:baseline;gap:var(--ns-space-2);flex-wrap:wrap;justify-content:space-between;display:flex}.ns-quest-card__progress-value{font-variant-numeric:tabular-nums}.ns-quest-card__progress-bar .ns-progress__indicator{background-color:var(--ns-color-reward-xp)}.ns-quest-card__reward,.ns-quest-card__action{border-top:var(--ns-border-width-subtle) var(--ns-border-style-solid) var(--ns-color-border-subtle);padding-top:var(--ns-space-4)}.ns-quest-card__action{align-items:center;gap:var(--ns-space-2);flex-wrap:wrap;justify-content:end;display:flex}@media (width<=30rem){.ns-quest-card__header{grid-template-columns:auto minmax(0,1fr)}.ns-quest-card__status{grid-column:2;justify-self:start}}.ns-quest-list{gap:var(--ns-space-3);width:100%;min-width:0;max-width:38rem;display:grid}.ns-quest-list__header{align-items:center;gap:var(--ns-space-2) var(--ns-space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.ns-quest-list__title{font-size:var(--ns-text-heading-size);font-weight:var(--ns-text-heading-weight);line-height:var(--ns-text-heading-line-height);margin:0}.ns-quest-list__time{color:var(--ns-color-feedback-warning);font-size:var(--ns-text-label-size);font-variant-numeric:tabular-nums;font-weight:var(--ns-primitive-font-weight-bold);align-items:center;gap:var(--ns-space-1);text-transform:uppercase;display:inline-flex}.ns-quest-list__clock{border:2px solid;border-radius:50%;width:1rem;height:1rem;display:inline-block;position:relative}.ns-quest-list__clock:after{content:"";border-bottom:2px solid;border-left:2px solid;width:.25rem;height:.3rem;position:absolute;top:.16rem;left:.27rem;transform:rotate(-45deg)}.ns-quest-list__items{background:var(--ns-color-surface);border:var(--ns-border-width-emphasis) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-card);box-shadow:var(--ns-elevation-card);margin:0;padding:0;list-style:none}.ns-quest-list__item{align-items:center;gap:var(--ns-space-5);min-width:0;padding:var(--ns-space-5) var(--ns-space-6);grid-template-columns:3.5rem minmax(0,1fr);display:grid}.ns-quest-list__item+.ns-quest-list__item{border-top:var(--ns-border-width-subtle) var(--ns-border-style-solid) var(--ns-color-border-subtle)}.ns-quest-list__icon{justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:2.25rem;line-height:1;display:flex}.ns-quest-list__icon :is(img,svg){object-fit:contain;max-width:100%;height:100%}.ns-quest-list__content{gap:var(--ns-space-3);min-width:0;display:grid}.ns-quest-list__item-title{font-size:var(--ns-text-body-size);font-weight:var(--ns-primitive-font-weight-bold);line-height:var(--ns-text-body-line-height)}.ns-quest-list__progress-row{align-items:center;gap:var(--ns-space-2);min-width:0;min-height:2rem;display:flex}.ns-quest-list__progress-wrap{flex:1;min-width:0;position:relative}.ns-quest-list__progress{height:1.25rem}.ns-quest-list__progress .ns-progress__indicator{background:var(--ns-color-reward-xp)}.ns-quest-list__value{background:var(--ns-color-surface);border-radius:var(--ns-radius-pill);color:var(--ns-color-text-primary);font-size:var(--ns-text-caption-size);font-variant-numeric:tabular-nums;font-weight:var(--ns-primitive-font-weight-bold);pointer-events:none;white-space:nowrap;padding:.125rem .375rem;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ns-quest-list__reward{justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.75rem;line-height:1;display:inline-flex}@media (width<=30rem){.ns-quest-list__item{gap:var(--ns-space-3);padding:var(--ns-space-4);grid-template-columns:2.5rem minmax(0,1fr)}.ns-quest-list__icon{width:2.5rem;height:2.5rem;font-size:1.75rem}}.ns-avatar{background-color:var(--ns-color-surface-subtle);border-radius:var(--ns-radius-pill);color:var(--ns-color-text-secondary);height:var(--ns-size-avatar-medium);vertical-align:middle;width:var(--ns-size-avatar-medium);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.ns-avatar[data-size=small]{height:var(--ns-size-avatar-small);width:var(--ns-size-avatar-small)}.ns-avatar[data-size=small] .ns-avatar__fallback{font-size:var(--ns-text-caption-size)}.ns-avatar[data-size=large]{height:var(--ns-size-avatar-large);width:var(--ns-size-avatar-large)}.ns-avatar[data-size=large] .ns-avatar__fallback{font-size:var(--ns-text-body-size)}.ns-avatar__fallback{font-size:var(--ns-text-label-size);font-weight:var(--ns-text-label-weight);justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:inline-flex}.ns-avatar__fallback svg{width:62%;height:62%}.ns-avatar__image{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.ns-avatar__image[data-loaded=true]{opacity:1}.ns-leaderboard-item{list-style:none}.ns-leaderboard-item__surface{align-items:center;gap:var(--ns-space-3);padding:var(--ns-space-3) var(--ns-space-4);flex-wrap:wrap;display:flex}.ns-leaderboard-item__rank{font-variant-numeric:tabular-nums;flex:none;min-width:3.5rem}.ns-leaderboard-item__avatar{flex:none}.ns-leaderboard-item__participant{overflow-wrap:anywhere;flex:8rem;min-width:0}.ns-leaderboard-item__current-user,.ns-leaderboard-item__change{gap:var(--ns-space-1);flex:none}.ns-leaderboard-item__score{gap:var(--ns-space-1);justify-items:end;min-width:5rem;margin-inline-start:auto;display:grid}.ns-leaderboard-item__score-label,.ns-leaderboard-item__score-value{text-align:end;display:block}.ns-leaderboard-item__score-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ns-celebration{border-radius:inherit;vertical-align:middle;display:inline-flex}.ns-celebration[data-active=true]{animation:ns-celebration-pulse var(--ns-motion-duration-celebration) var(--ns-motion-easing-bounce) both}@keyframes ns-celebration-pulse{0%,to{transform:scale(1);box-shadow:0 0 #0000}35%{box-shadow:0 0 0 var(--ns-space-2) var(--ns-color-reward-achievement-surface);transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.ns-celebration[data-active=true]{animation:none}}.ns-inline{gap:var(--ns-space-2);flex-flow:wrap;justify-content:flex-start;align-items:center;display:flex}.ns-inline[data-gap=none]{gap:0}.ns-inline[data-gap="1"]{gap:var(--ns-space-1)}.ns-inline[data-gap="2"]{gap:var(--ns-space-2)}.ns-inline[data-gap="2-5"]{gap:var(--ns-space-2-5)}.ns-inline[data-gap="3"]{gap:var(--ns-space-3)}.ns-inline[data-gap="4"]{gap:var(--ns-space-4)}.ns-inline[data-gap="5"]{gap:var(--ns-space-5)}.ns-inline[data-gap="6"]{gap:var(--ns-space-6)}.ns-inline[data-gap="8"]{gap:var(--ns-space-8)}.ns-inline[data-gap="12"]{gap:var(--ns-space-12)}.ns-inline[data-gap="16"]{gap:var(--ns-space-16)}.ns-inline[data-align=start]{align-items:flex-start}.ns-inline[data-align=center]{align-items:center}.ns-inline[data-align=end]{align-items:flex-end}.ns-inline[data-align=baseline]{align-items:baseline}.ns-inline[data-align=stretch]{align-items:stretch}.ns-inline[data-justify=start]{justify-content:flex-start}.ns-inline[data-justify=center]{justify-content:center}.ns-inline[data-justify=end]{justify-content:flex-end}.ns-inline[data-justify=space-between]{justify-content:space-between}.ns-inline[data-wrap=false]{flex-wrap:nowrap}.ns-lesson-completed{inline-size:100%}.ns-lesson-completed__celebration{display:block}.ns-lesson-completed__layout{gap:var(--ns-space-5);min-inline-size:0;display:grid}.ns-lesson-completed__header{gap:var(--ns-space-2);display:grid}.ns-lesson-completed__summary{gap:var(--ns-space-4);min-inline-size:0;display:grid}.ns-lesson-completed__progress,.ns-lesson-completed__rewards{min-inline-size:0}.ns-lesson-completed__actions>*{flex:12rem}@media (width>=42rem){.ns-lesson-completed__summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));align-items:start}.ns-lesson-completed__actions>*{flex:0 auto}}.ns-reward-received{inline-size:100%}.ns-reward-received__celebration{display:block}.ns-reward-received__layout{gap:var(--ns-space-5);min-inline-size:0;display:grid}.ns-reward-received__header{gap:var(--ns-space-2);min-inline-size:0;display:grid}.ns-reward-received__actions>*{flex:12rem}@media (width>=42rem){.ns-reward-received__actions>*{flex:0 auto}}.ns-achievement-unlocked{inline-size:100%}.ns-achievement-unlocked__celebration{display:block}.ns-achievement-unlocked__layout{gap:var(--ns-space-5);min-inline-size:0;display:grid}.ns-achievement-unlocked__header{gap:var(--ns-space-2);display:grid}.ns-achievement-unlocked__actions>*{flex:12rem}@media (width>=42rem){.ns-achievement-unlocked__actions>*{flex:0 auto}}.ns-level-badge{gap:var(--ns-space-2);padding-block:var(--ns-space-2);padding-inline:var(--ns-space-3)}.ns-level-badge[data-size=compact]{gap:var(--ns-space-1);padding-block:var(--ns-space-1);padding-inline:var(--ns-space-2)}.ns-level-badge__icon{color:var(--ns-color-reward-achievement)}.ns-level-badge__value{font-variant-numeric:tabular-nums}.ns-level-badge__tier{font-size:var(--ns-text-caption-size);line-height:var(--ns-text-caption-line-height);padding-block:var(--ns-space-1);padding-inline:var(--ns-space-2)}.ns-level-badge[data-size=compact] .ns-level-badge__tier{padding-block:0;padding-inline:var(--ns-space-1)}.ns-level-up{inline-size:100%}.ns-level-up__celebration{display:block}.ns-level-up__layout{gap:var(--ns-space-5);min-inline-size:0;display:grid}.ns-level-up__header,.ns-level-up__rewards{gap:var(--ns-space-2);min-inline-size:0;display:grid}.ns-level-up__levels{align-items:center;gap:var(--ns-space-3);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-inline-size:0;display:grid}.ns-level-up__level{gap:var(--ns-space-2);min-inline-size:0;display:grid}.ns-level-up__level--new{text-align:end;justify-items:end}.ns-level-up__transition{place-items:center;display:grid}.ns-level-up__actions>*{flex:12rem}.ns-level-up[data-size=compact] .ns-level-up__layout{gap:var(--ns-space-3)}.ns-level-up[data-size=compact] .ns-level-up__levels{gap:var(--ns-space-2)}.ns-level-up[data-size=compact] .ns-level-up__actions>*{flex:0 auto}@media (width<=26rem){.ns-level-up__levels{grid-template-columns:minmax(0,1fr)}.ns-level-up__level--new{text-align:start;justify-items:start}.ns-level-up__transition{transform:rotate(90deg)}}@media (width>=42rem){.ns-level-up__actions>*{flex:0 auto}}.ns-progress-ring{aspect-ratio:1;inline-size:var(--ns-size-progress-ring-medium);vertical-align:middle;place-items:center;display:inline-grid;position:relative}.ns-progress-ring--small{inline-size:var(--ns-size-progress-ring-small)}.ns-progress-ring--large{inline-size:var(--ns-size-progress-ring-large)}.ns-progress-ring__graphic{block-size:100%;inline-size:100%;display:block}.ns-progress-ring__track,.ns-progress-ring__indicator{fill:none;stroke-width:var(--ns-border-width-emphasis)}.ns-progress-ring__track{stroke:var(--ns-color-surface-subtle)}.ns-progress-ring__indicator{stroke:var(--ns-color-action-primary);stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.ns-progress-ring__content{overflow-wrap:anywhere;text-align:center;place-items:center;max-inline-size:80%;display:grid;position:absolute;inset:0}.ns-grid{gap:var(--ns-space-4);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.ns-grid[data-gap=none]{gap:0}.ns-grid[data-gap="1"]{gap:var(--ns-space-1)}.ns-grid[data-gap="2"]{gap:var(--ns-space-2)}.ns-grid[data-gap="2-5"]{gap:var(--ns-space-2-5)}.ns-grid[data-gap="3"]{gap:var(--ns-space-3)}.ns-grid[data-gap="4"]{gap:var(--ns-space-4)}.ns-grid[data-gap="5"]{gap:var(--ns-space-5)}.ns-grid[data-gap="6"]{gap:var(--ns-space-6)}.ns-grid[data-gap="8"]{gap:var(--ns-space-8)}.ns-grid[data-gap="12"]{gap:var(--ns-space-12)}.ns-grid[data-gap="16"]{gap:var(--ns-space-16)}@media (width>=40rem){.ns-grid[data-columns="2"],.ns-grid[data-columns="3"],.ns-grid[data-columns="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=60rem){.ns-grid[data-columns="3"],.ns-grid[data-columns="4"]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=80rem){.ns-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}.ns-stack{gap:var(--ns-space-4);flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex}.ns-stack[data-gap=none]{gap:0}.ns-stack[data-gap="1"]{gap:var(--ns-space-1)}.ns-stack[data-gap="2"]{gap:var(--ns-space-2)}.ns-stack[data-gap="2-5"]{gap:var(--ns-space-2-5)}.ns-stack[data-gap="3"]{gap:var(--ns-space-3)}.ns-stack[data-gap="4"]{gap:var(--ns-space-4)}.ns-stack[data-gap="5"]{gap:var(--ns-space-5)}.ns-stack[data-gap="6"]{gap:var(--ns-space-6)}.ns-stack[data-gap="8"]{gap:var(--ns-space-8)}.ns-stack[data-gap="12"]{gap:var(--ns-space-12)}.ns-stack[data-gap="16"]{gap:var(--ns-space-16)}.ns-stack[data-align=start]{align-items:flex-start}.ns-stack[data-align=center]{align-items:center}.ns-stack[data-align=end]{align-items:flex-end}.ns-stack[data-align=stretch]{align-items:stretch}.ns-stack[data-justify=start]{justify-content:flex-start}.ns-stack[data-justify=center]{justify-content:center}.ns-stack[data-justify=end]{justify-content:flex-end}.ns-stack[data-justify=space-between]{justify-content:space-between}.ns-stack[data-justify=space-around]{justify-content:space-around}.ns-stack[data-justify=space-evenly]{justify-content:space-evenly}.ns-progress-summary{inline-size:100%}.ns-progress-summary__content{min-inline-size:0}.ns-progress-summary__header{gap:var(--ns-space-2);display:grid}.ns-progress-summary__title,.ns-progress-summary__metric-label,.ns-progress-summary__description,.ns-progress-summary__metric-description{margin:0}.ns-progress-summary__metrics{min-inline-size:0}.ns-progress-summary__metric{align-content:start;gap:var(--ns-space-3);min-inline-size:0;display:grid}.ns-progress-summary__metric-header,.ns-progress-summary__metric-badges{min-inline-size:0}.ns-progress-summary__metric-label{overflow-wrap:anywhere;min-inline-size:0}.ns-progress-summary__metric-description{overflow-wrap:anywhere}.ns-progress-summary__bar{inline-size:100%}.ns-progress-summary__ring{justify-items:center;display:grid}.ns-progress-summary__actions>*{flex:12rem}@media (width>=42rem){.ns-progress-summary__actions>*{flex:0 auto}}.ns-daily-goal-completed{inline-size:100%}.ns-daily-goal-completed__celebration{display:block}.ns-daily-goal-completed__layout{gap:var(--ns-space-5);min-inline-size:0;display:grid}.ns-daily-goal-completed__header,.ns-daily-goal-completed__goal,.ns-daily-goal-completed__rewards{gap:var(--ns-space-3);min-inline-size:0;display:grid}.ns-daily-goal-completed__header{gap:var(--ns-space-2)}.ns-daily-goal-completed__heading,.ns-daily-goal-completed__description,.ns-daily-goal-completed__goal-label,.ns-daily-goal-completed__goal-description,.ns-daily-goal-completed__reward-heading{margin:0}.ns-daily-goal-completed__goal-header{min-inline-size:0}.ns-daily-goal-completed__goal-label{overflow-wrap:anywhere;min-inline-size:0}.ns-daily-goal-completed__progress{inline-size:100%}.ns-daily-goal-completed__reward-grid{gap:var(--ns-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));min-inline-size:0;display:grid}.ns-daily-goal-completed__actions>*{flex:12rem}@media (width>=42rem){.ns-daily-goal-completed__actions>*{flex:0 auto}}.ns-streak{background-color:var(--ns-color-reward-streak-surface);border:var(--ns-border-width-subtle) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);align-items:center;gap:var(--ns-space-3);padding-block:var(--ns-space-2);padding-inline:var(--ns-space-3);transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);display:inline-flex}.ns-streak[data-state=at-risk]{background-color:var(--ns-color-feedback-warning-surface)}.ns-streak[data-state=protected]{background-color:var(--ns-color-feedback-info-surface)}.ns-streak[data-state=completed]{background-color:var(--ns-color-feedback-success-surface)}.ns-streak[data-state=inactive]{background-color:var(--ns-color-surface-subtle)}.ns-streak__icon{color:var(--ns-color-reward-streak);transition:color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);flex:none}.ns-streak__icon[data-state=at-risk]{color:var(--ns-color-feedback-warning)}.ns-streak__icon[data-state=protected]{color:var(--ns-color-feedback-info)}.ns-streak__icon[data-state=completed]{color:var(--ns-color-feedback-success)}.ns-streak__icon[data-state=inactive]{color:var(--ns-color-text-tertiary)}.ns-streak__label{white-space:nowrap}.ns-streak__count{align-items:baseline;gap:var(--ns-space-1);display:inline-flex}.ns-streak__value{font-variant-numeric:tabular-nums}.ns-streak__unit{white-space:nowrap}.ns-streak__state{transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard)}.ns-streak__state[data-state=active]{background-color:var(--ns-color-reward-streak-surface);color:var(--ns-color-reward-streak);border-color:#0000}@media (prefers-reduced-motion:reduce){.ns-streak,.ns-streak__icon,.ns-streak__state{transition:none}}.ns-xp-bar{gap:var(--ns-space-2);display:grid}.ns-xp-bar__text{color:var(--ns-color-text-secondary);font-size:var(--ns-text-caption-size);font-weight:var(--ns-text-caption-weight);line-height:var(--ns-text-caption-line-height)}.ns-xp-bar__progress .ns-progress__indicator{background-color:var(--ns-color-reward-xp);transition:width var(--ns-motion-duration-normal) var(--ns-motion-easing-standard)}.ns-skeleton{background-color:var(--ns-color-surface-subtle);border-radius:var(--ns-radius-sm);inline-size:100%;animation:1.8s ease-in-out infinite ns-skeleton-pulse;display:block}.ns-skeleton[data-shape=text]{block-size:var(--ns-text-body-size);border-radius:var(--ns-radius-pill)}.ns-skeleton[data-shape=text][data-size=small]{block-size:var(--ns-text-caption-size)}.ns-skeleton[data-shape=text][data-size=large]{block-size:var(--ns-text-heading-size)}.ns-skeleton[data-shape=rectangular]{block-size:var(--ns-size-control-height-standard);border-radius:var(--ns-radius-md)}.ns-skeleton[data-shape=rectangular][data-size=small]{block-size:var(--ns-size-control-height-compact)}.ns-skeleton[data-shape=rectangular][data-size=large]{block-size:var(--ns-size-control-height-comfortable)}.ns-skeleton[data-shape=circular]{aspect-ratio:1;block-size:var(--ns-size-avatar-medium);border-radius:var(--ns-radius-pill);inline-size:var(--ns-size-avatar-medium);flex:none}.ns-skeleton[data-shape=circular][data-size=small]{block-size:var(--ns-size-avatar-small);inline-size:var(--ns-size-avatar-small)}.ns-skeleton[data-shape=circular][data-size=large]{block-size:var(--ns-size-avatar-large);inline-size:var(--ns-size-avatar-large)}@keyframes ns-skeleton-pulse{0%,to{opacity:.64}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ns-skeleton{animation:none}}.ns-spinner{color:var(--ns-color-action-primary);inline-size:var(--ns-size-spinner-medium);vertical-align:middle;flex:none;display:inline-flex}.ns-spinner[data-size=small]{inline-size:var(--ns-size-spinner-small)}.ns-spinner[data-size=large]{inline-size:var(--ns-size-spinner-large)}.ns-spinner[data-color=secondary]{color:var(--ns-color-text-secondary)}.ns-spinner[data-color=inverse]{color:var(--ns-color-text-inverse)}.ns-spinner__indicator{aspect-ratio:1;animation:ns-spinner-rotate var(--ns-motion-duration-indeterminate) linear infinite;border:var(--ns-border-width-emphasis) solid currentColor;border-radius:var(--ns-radius-pill);border-inline-start-color:#0000;inline-size:100%;display:block}@keyframes ns-spinner-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ns-spinner__indicator{opacity:.72;animation:none}}.ns-form-field{gap:var(--ns-space-2);display:grid}.ns-form-field__label{font-size:var(--ns-text-label-size);font-weight:var(--ns-text-label-weight);align-items:baseline;gap:var(--ns-space-2);letter-spacing:var(--ns-text-label-letter-spacing);line-height:var(--ns-text-label-line-height);display:flex}.ns-form-field__required,.ns-form-field__description,.ns-form-field__error{font-size:var(--ns-text-caption-size);line-height:var(--ns-text-caption-line-height)}.ns-form-field__required,.ns-form-field__description{color:var(--ns-color-text-secondary);font-weight:var(--ns-text-caption-weight)}.ns-form-field__error{color:var(--ns-color-feedback-danger);font-weight:var(--ns-text-label-weight)}.ns-checkbox{block-size:var(--ns-size-pointer-target-minimum);inline-size:var(--ns-size-pointer-target-minimum);vertical-align:middle;justify-content:center;align-items:center;display:inline-flex;position:relative}.ns-checkbox__input{appearance:none;background-color:var(--ns-color-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-strong);border-radius:var(--ns-radius-sm);block-size:var(--ns-size-pointer-target-minimum);cursor:pointer;inline-size:var(--ns-size-pointer-target-minimum);transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);margin:0}.ns-checkbox__input:hover:not(:disabled){border-color:var(--ns-color-action-primary-hover)}.ns-checkbox__input:checked,.ns-checkbox__input:indeterminate{background-color:var(--ns-color-action-primary);border-color:var(--ns-color-action-primary)}.ns-checkbox__input:focus-visible{outline:var(--ns-border-width-focus) var(--ns-border-style-solid) var(--ns-color-focus);outline-offset:2px}.ns-checkbox__input:disabled{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border);cursor:default}.ns-checkbox__input:checked:disabled,.ns-checkbox__input:indeterminate:disabled{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border)}.ns-checkbox__indicator{color:var(--ns-color-action-primary-foreground);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.ns-checkbox__input:checked:not(:indeterminate)+.ns-checkbox__indicator,.ns-checkbox__input:indeterminate+.ns-checkbox__indicator{display:flex}.ns-checkbox__input:indeterminate+.ns-checkbox__indicator>.ns-icon{visibility:hidden}.ns-checkbox__input:indeterminate+.ns-checkbox__indicator:after{block-size:var(--ns-border-width-emphasis);border-radius:var(--ns-radius-pill);content:"";inline-size:var(--ns-size-icon-box-small);background-color:currentColor}.ns-checkbox__input:checked:disabled+.ns-checkbox__indicator,.ns-checkbox__input:indeterminate:disabled+.ns-checkbox__indicator{color:var(--ns-color-text-secondary)}@media (prefers-reduced-motion:reduce){.ns-checkbox__input{transition:none}}.ns-switch{border-radius:var(--ns-radius-pill);cursor:pointer;min-block-size:var(--ns-size-pointer-target-comfortable);min-inline-size:var(--ns-size-pointer-target-comfortable);vertical-align:middle;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ns-switch__track{background-color:var(--ns-color-surface-subtle);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-strong);border-radius:var(--ns-radius-pill);block-size:var(--ns-size-pointer-target-minimum);inline-size:var(--ns-size-pointer-target-comfortable);padding:var(--ns-border-width-standard);transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);align-items:center;display:flex}.ns-switch__thumb{background-color:var(--ns-color-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-radius:var(--ns-radius-pill);block-size:var(--ns-size-icon-box-medium);color:var(--ns-color-action-primary);inline-size:var(--ns-size-icon-box-medium);transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), transform var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);justify-content:center;align-items:center;display:flex;transform:translate(0)}.ns-switch__thumb>.ns-icon{visibility:hidden}.ns-switch[data-state=checked] .ns-switch__track{background-color:var(--ns-color-action-primary);border-color:var(--ns-color-action-primary)}.ns-switch[data-state=checked] .ns-switch__thumb{transform:translateX(var(--ns-size-icon-box-medium))}.ns-switch[data-state=checked] .ns-switch__thumb>.ns-icon{visibility:visible}.ns-switch:hover:not(:disabled) .ns-switch__track{border-color:var(--ns-color-action-primary-hover)}.ns-switch:focus-visible{outline:var(--ns-border-width-focus) var(--ns-border-style-solid) var(--ns-color-focus);outline-offset:2px}.ns-switch:disabled{cursor:default}.ns-switch:disabled .ns-switch__track{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border)}.ns-switch:disabled .ns-switch__thumb{color:var(--ns-color-text-secondary)}@media (prefers-reduced-motion:reduce){.ns-switch__track,.ns-switch__thumb{transition:none}}.ns-radio-group{gap:var(--ns-space-2);flex-direction:column;display:flex}.ns-radio-group[data-orientation=horizontal]{flex-flow:wrap}.ns-radio{border-radius:var(--ns-radius-md);color:var(--ns-color-text-primary);cursor:pointer;font:inherit;align-items:center;gap:var(--ns-space-2);line-height:inherit;min-block-size:var(--ns-size-pointer-target-minimum);padding:var(--ns-space-1);text-align:start;transition:color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);background:0 0;border:0;display:inline-flex}.ns-radio[data-variant=card]{background-color:var(--ns-color-surface);border:var(--ns-border-width-emphasis) var(--ns-border-style-solid) var(--ns-color-border);border-block-end-width:var(--ns-border-width-raised-edge);border-radius:var(--ns-radius-card);box-shadow:var(--ns-elevation-card);align-items:center;gap:var(--ns-space-2);padding:var(--ns-space-4);text-align:center;transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-block-end-width var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), box-shadow var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), transform var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);flex-direction:column;justify-content:center;display:flex}.ns-radio-group[data-orientation=horizontal] .ns-radio[data-variant=card]{flex:12rem;min-inline-size:0}.ns-radio[data-variant=card] .ns-radio__control{display:none}.ns-radio[data-variant=card] .ns-radio__label{align-items:center;gap:var(--ns-space-2);flex-direction:column;display:flex}.ns-radio[data-variant=card][data-state=checked]{--ns-radio-card-accent-glow:0 3px 8px color-mix(in srgb, var(--ns-color-brand-text) 24%, transparent);background-color:var(--ns-color-selection);border-color:var(--ns-color-brand-text);box-shadow:var(--ns-radio-card-accent-glow), var(--ns-elevation-hover);color:var(--ns-color-brand-text)}.ns-radio[data-variant=card][data-state=checked] .ns-radio__label>*{color:inherit}.ns-radio[data-variant=card]:hover:not([data-disabled]):not([data-state=checked]){border-color:var(--ns-color-border-strong);box-shadow:var(--ns-elevation-hover)}.ns-radio[data-variant=card]:active:not([data-disabled]){border-block-end-width:var(--ns-border-width-emphasis);box-shadow:var(--ns-elevation-pressed);transform:translateY(var(--ns-border-width-emphasis))}.ns-radio[data-variant=card][data-state=checked]:active:not([data-disabled]){box-shadow:var(--ns-radio-card-accent-glow), var(--ns-elevation-pressed)}.ns-radio__control{background-color:var(--ns-color-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-strong);block-size:var(--ns-size-pointer-target-minimum);border-radius:var(--ns-radius-pill);flex:0 0 var(--ns-size-pointer-target-minimum);inline-size:var(--ns-size-pointer-target-minimum);transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);justify-content:center;align-items:center;display:inline-flex}.ns-radio__indicator{background-color:var(--ns-color-action-primary);block-size:var(--ns-primitive-size-8);border-radius:var(--ns-radius-pill);inline-size:var(--ns-primitive-size-8)}.ns-radio[data-state=checked] .ns-radio__control{border-color:var(--ns-color-action-primary)}.ns-radio:hover:not([data-disabled]) .ns-radio__control{border-color:var(--ns-color-action-primary-hover)}.ns-radio:focus-visible{outline:var(--ns-border-width-focus) var(--ns-border-style-solid) var(--ns-color-focus);outline-offset:2px}.ns-radio[data-disabled]{color:var(--ns-color-text-secondary);cursor:default}.ns-radio[data-variant=card][data-disabled]{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border-subtle)}.ns-radio[data-disabled] .ns-radio__control{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border)}.ns-radio[data-disabled][data-state=checked] .ns-radio__indicator{background-color:var(--ns-color-text-secondary)}@media (prefers-reduced-motion:reduce){.ns-radio,.ns-radio__control{transition:none}.ns-radio[data-variant=card]:active:not([data-disabled]){border-block-end-width:var(--ns-border-width-raised-edge);transform:none}}:root[data-motion=reduced] .ns-radio[data-variant=card]:active:not([data-disabled]){border-block-end-width:var(--ns-border-width-raised-edge);transform:none}.ns-radio-group.ns-segmented-control{background-color:var(--ns-color-surface-subtle);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);align-items:center;gap:var(--ns-space-1);isolation:isolate;padding:var(--ns-space-1);display:inline-flex;position:relative}.ns-radio-group.ns-segmented-control[data-orientation=horizontal]{flex-wrap:nowrap}.ns-segmented-control__indicator{background-color:var(--ns-color-surface-raised);border-radius:var(--ns-radius-md);height:var(--ns-segmented-control-indicator-height,0px);box-shadow:var(--ns-elevation-hover);opacity:0;pointer-events:none;transform:translate3d(var(--ns-segmented-control-indicator-x,0px), var(--ns-segmented-control-indicator-y,0px), 0);width:var(--ns-segmented-control-indicator-width,0px);z-index:0;position:absolute;top:0;left:0}.ns-segmented-control__indicator[data-ready=true]{opacity:1}.ns-segmented-control__indicator[data-ready=true][data-animated=true]{transition:height var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), opacity var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), transform var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), width var(--ns-motion-duration-fast) var(--ns-motion-easing-standard)}.ns-segmented-control .ns-radio__control{display:none}.ns-radio-group.ns-segmented-control .ns-radio.ns-segmented-control__option{border-radius:var(--ns-radius-md);color:var(--ns-color-text-secondary);padding:var(--ns-space-2) var(--ns-space-4);text-align:center;transition:color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);white-space:nowrap;z-index:1;background-color:#0000;flex:none;justify-content:center;position:relative}.ns-radio-group.ns-segmented-control .ns-radio.ns-segmented-control__option:hover:not([data-disabled]):not([data-state=checked]){color:var(--ns-color-text-primary)}.ns-radio-group.ns-segmented-control .ns-radio.ns-segmented-control__option[data-state=checked]{color:var(--ns-color-text-primary);font-weight:700}.ns-radio-group.ns-segmented-control .ns-radio.ns-segmented-control__option:active:not([data-disabled]){box-shadow:var(--ns-elevation-pressed)}@media (prefers-reduced-motion:reduce){.ns-radio-group.ns-segmented-control .ns-radio.ns-segmented-control__option,.ns-segmented-control__indicator{transition:none}}.ns-select__trigger{background-color:var(--ns-color-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-block-end-width:var(--ns-border-width-raised-edge);border-radius:var(--ns-radius-control);box-shadow:var(--ns-elevation-button-secondary);color:var(--ns-color-text-primary);cursor:pointer;font-size:var(--ns-text-body-size);align-items:center;gap:var(--ns-space-3);line-height:var(--ns-text-body-line-height);min-block-size:var(--ns-size-control-height-standard);padding:var(--ns-space-2-5) var(--ns-space-3);text-align:start;transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), box-shadow var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), transform var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);justify-content:space-between;inline-size:100%;display:flex;transform:translateY(0)}.ns-select__trigger:hover:not(:disabled){border-color:var(--ns-color-action-primary-hover)}.ns-select__trigger:active:not(:disabled){box-shadow:var(--ns-elevation-none);transform:translateY(var(--ns-motion-button-secondary-press-offset))}.ns-select__trigger:focus{background-color:var(--ns-color-feedback-info-surface);border-color:var(--ns-color-feedback-info);box-shadow:inset 0 0 0 var(--ns-border-width-emphasis) var(--ns-color-feedback-info);outline:none}.ns-select__trigger:focus:not(:active){box-shadow:inset 0 0 0 var(--ns-border-width-emphasis) var(--ns-color-feedback-info), var(--ns-elevation-button-secondary)}.ns-select__trigger[aria-invalid=true]{border-color:var(--ns-color-feedback-danger)}.ns-select__trigger:disabled{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border);box-shadow:var(--ns-elevation-none);color:var(--ns-color-text-secondary);cursor:default;transform:none}.ns-select__icon{color:var(--ns-color-text-secondary);flex:0 0 var(--ns-size-icon-box-small);inline-size:var(--ns-size-icon-box-small);justify-content:center;align-items:center;display:inline-flex}.ns-select__icon span{border-block-end:var(--ns-border-width-standard) var(--ns-border-style-solid) currentColor;border-inline-end:var(--ns-border-width-standard) var(--ns-border-style-solid) currentColor;block-size:var(--ns-primitive-size-8);inline-size:var(--ns-primitive-size-8);transform:translateY(-1px)rotate(45deg)}.ns-select__content{background-color:var(--ns-color-surface-raised);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-radius:var(--ns-radius-md);box-shadow:var(--ns-elevation-overlay);color:var(--ns-color-text-primary);max-block-size:var(--radix-select-content-available-height);min-inline-size:var(--radix-select-trigger-width);z-index:var(--ns-layer-popover);overflow:hidden}.ns-select__viewport{min-inline-size:var(--radix-select-trigger-width);padding:var(--ns-space-1)}.ns-select__item{border-radius:var(--ns-radius-sm);cursor:default;font-size:var(--ns-text-body-size);align-items:center;gap:var(--ns-space-3);line-height:var(--ns-text-body-line-height);min-block-size:var(--ns-size-pointer-target-minimum);padding-block:var(--ns-space-2);padding-inline:var(--ns-space-3);-webkit-user-select:none;user-select:none;outline:none;justify-content:space-between;display:flex}.ns-select__item[data-highlighted]{background-color:var(--ns-color-surface-subtle);color:var(--ns-color-text-primary)}.ns-select__item[data-disabled]{color:var(--ns-color-text-secondary);cursor:default;opacity:.65}.ns-select__indicator{color:var(--ns-color-action-primary);flex:0 0 var(--ns-size-icon-box-small);inline-size:var(--ns-size-icon-box-small);justify-content:center;align-items:center;display:inline-flex}.ns-select__indicator span{border-block-end:var(--ns-border-width-emphasis) var(--ns-border-style-solid) currentColor;border-inline-end:var(--ns-border-width-emphasis) var(--ns-border-style-solid) currentColor;block-size:var(--ns-primitive-size-2);inline-size:var(--ns-primitive-size-3);transform:translateY(-1px)rotate(45deg)}.ns-select__label{color:var(--ns-color-text-secondary);font-size:var(--ns-text-caption-size);padding-block:var(--ns-space-2);padding-inline:var(--ns-space-3)}.ns-select__separator{background-color:var(--ns-color-border-subtle);block-size:var(--ns-border-width-standard);margin-block:var(--ns-space-1)}@media (prefers-reduced-motion:reduce){.ns-select__trigger{transition:none}}@media (forced-colors:active){.ns-select__trigger:focus{box-shadow:none;outline-offset:-2px;background-color:field;border-color:highlight;outline:2px solid highlight}.ns-select__trigger:focus:active,.ns-select__trigger:focus:not(:active){box-shadow:none}}.ns-input{background-color:var(--ns-color-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-radius:var(--ns-radius-control);color:var(--ns-color-text-primary);font-size:var(--ns-text-body-size);line-height:var(--ns-text-body-line-height);min-height:var(--ns-size-control-height-standard);padding:var(--ns-space-2-5) var(--ns-space-3);transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), box-shadow var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);width:100%;display:block}.ns-input::placeholder{color:var(--ns-color-text-tertiary);opacity:1}.ns-input[data-size=compact]{min-height:var(--ns-size-control-height-compact);padding-block:var(--ns-space-2);padding-inline:var(--ns-space-3)}.ns-input[data-size=comfortable]{min-height:var(--ns-size-control-height-comfortable);padding-block:var(--ns-space-3);padding-inline:var(--ns-space-4)}.ns-input:focus{background-color:var(--ns-color-feedback-info-surface);border-color:var(--ns-color-feedback-info);box-shadow:inset 0 0 0 var(--ns-border-width-emphasis) var(--ns-color-feedback-info);outline:none}.ns-input[aria-invalid=true]{border-color:var(--ns-color-feedback-danger)}.ns-input:disabled{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border);box-shadow:var(--ns-elevation-none);color:var(--ns-color-text-secondary);cursor:default}@media (forced-colors:active){.ns-input:focus{box-shadow:none;outline-offset:-2px;background-color:field;border-color:highlight;outline:2px solid highlight}}.ns-textarea{background-color:var(--ns-color-surface);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-radius:var(--ns-radius-control);color:var(--ns-color-text-primary);font-size:var(--ns-text-body-size);line-height:var(--ns-text-body-line-height);min-height:var(--ns-size-control-height-standard);overflow-wrap:anywhere;padding:var(--ns-space-2-5) var(--ns-space-3);resize:vertical;transition:background-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), box-shadow var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);width:100%;display:block;overflow:hidden auto}.ns-textarea::placeholder{color:var(--ns-color-text-tertiary);opacity:1}.ns-textarea[data-size=compact]{min-height:var(--ns-size-control-height-compact);padding-block:var(--ns-space-2);padding-inline:var(--ns-space-3)}.ns-textarea[data-size=comfortable]{min-height:var(--ns-size-control-height-comfortable);padding-block:var(--ns-space-3);padding-inline:var(--ns-space-4)}.ns-textarea[data-resize=none]{resize:none}.ns-textarea:focus{background-color:var(--ns-color-feedback-info-surface);border-color:var(--ns-color-feedback-info);box-shadow:inset 0 0 0 var(--ns-border-width-emphasis) var(--ns-color-feedback-info);outline:none}.ns-textarea[aria-invalid=true]{border-color:var(--ns-color-feedback-danger)}.ns-textarea:disabled{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border);box-shadow:var(--ns-elevation-none);color:var(--ns-color-text-secondary);cursor:default}@media (forced-colors:active){.ns-textarea:focus{box-shadow:none;outline-offset:-2px;background-color:field;border-color:highlight;outline:2px solid highlight}}.ns-tabs{color:var(--ns-color-text-primary);min-inline-size:0;display:block}.ns-tabs[data-orientation=vertical]{align-items:flex-start;gap:var(--ns-space-4);display:flex}.ns-tabs__list{border-block-end:var(--ns-border-width-subtle) var(--ns-border-style-solid) var(--ns-color-border-subtle);align-items:stretch;gap:var(--ns-space-1);overscroll-behavior-inline:contain;scrollbar-width:thin;max-inline-size:100%;display:flex;overflow-x:auto}.ns-tabs__list[data-orientation=vertical]{border-block-end:0;border-inline-end:var(--ns-border-width-subtle) var(--ns-border-style-solid) var(--ns-color-border-subtle);flex-direction:column;align-items:stretch;overflow:visible auto}.ns-tabs__trigger{appearance:none;border:0;border-block-end:var(--ns-border-width-emphasis) var(--ns-border-style-solid) transparent;border-radius:var(--ns-radius-sm) var(--ns-radius-sm) 0 0;color:var(--ns-color-text-secondary);cursor:pointer;font:inherit;min-block-size:var(--ns-size-control-height-standard);min-inline-size:var(--ns-size-pointer-target-minimum);padding:var(--ns-space-2) var(--ns-space-3);text-align:center;transition:border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);white-space:nowrap;background-color:#0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.ns-tabs__trigger[data-state=active]{border-block-end-color:var(--ns-color-action-primary);color:var(--ns-color-text-primary)}.ns-tabs__trigger:hover:not([data-disabled]){color:var(--ns-color-action-primary-hover)}.ns-tabs__trigger:focus-visible,.ns-tabs__content:focus-visible{outline:var(--ns-border-width-focus) var(--ns-border-style-solid) var(--ns-color-focus);outline-offset:2px}.ns-tabs__trigger[data-disabled]{color:var(--ns-color-text-tertiary);cursor:default}.ns-tabs__list[data-orientation=vertical] .ns-tabs__trigger{border-block-end:0;border-inline-end:var(--ns-border-width-emphasis) var(--ns-border-style-solid) transparent;border-radius:var(--ns-radius-sm) 0 0 var(--ns-radius-sm);text-align:start;justify-content:flex-start;margin-inline-end:calc(-1 * var(--ns-border-width-emphasis))}.ns-tabs__list[data-orientation=vertical] .ns-tabs__trigger[data-state=active]{border-inline-end-color:var(--ns-color-action-primary)}.ns-tabs__content{min-inline-size:0;margin-block-start:var(--ns-space-4)}.ns-tabs[data-orientation=vertical] .ns-tabs__content{flex:auto;margin-block-start:0;padding-inline-start:var(--ns-space-4)}@media (prefers-reduced-motion:reduce){.ns-tabs__trigger{transition:none}}.ns-divider{border:0;border-block-start:var(--ns-border-width-subtle) var(--ns-border-style-solid) var(--ns-color-border-subtle);inline-size:100%;margin:0}.ns-action-card{appearance:none;background-color:var(--ns-color-surface);border:var(--ns-border-width-emphasis) var(--ns-border-style-solid) var(--ns-color-border);border-block-end-width:var(--ns-border-width-raised-edge);border-radius:var(--ns-radius-card);color:var(--ns-color-text-primary);cursor:pointer;inline-size:100%;min-block-size:var(--ns-size-action-card-minimum-height);min-inline-size:0;padding:var(--ns-space-8) var(--ns-space-3) var(--ns-space-5);text-align:center;transition:border-color var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), border-block-end-width var(--ns-motion-duration-fast) var(--ns-motion-easing-standard), transform var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);flex-direction:column;justify-content:center;align-items:center;display:flex}.ns-action-card:hover:not(:disabled){border-color:var(--ns-color-border-strong)}.ns-action-card:active:not(:disabled){border-block-end-width:var(--ns-border-width-emphasis);transform:translateY(var(--ns-border-width-emphasis))}.ns-action-card:focus-visible{outline:var(--ns-border-width-focus) var(--ns-border-style-solid) var(--ns-color-focus);outline-offset:2px}.ns-action-card:disabled{background-color:var(--ns-color-surface-subtle);border-color:var(--ns-color-border-subtle);color:var(--ns-color-text-secondary);cursor:default}.ns-action-card__media{justify-content:center;align-items:center;min-block-size:5rem;min-inline-size:5.5rem;margin-block-end:var(--ns-space-2-5);display:flex}.ns-action-card__media img{border-radius:var(--ns-radius-card);object-fit:contain;max-block-size:5rem;max-inline-size:5.5rem}.ns-action-card__media svg{block-size:3rem;inline-size:3rem}.ns-action-card__title{font-size:var(--ns-text-body-size);font-weight:var(--ns-text-heading-weight);line-height:var(--ns-text-heading-line-height)}.ns-action-card__description{color:var(--ns-color-text-secondary);font-size:var(--ns-text-body-size);font-weight:var(--ns-text-body-weight);line-height:var(--ns-text-body-line-height);margin-block-start:var(--ns-space-2)}@media (prefers-reduced-motion:reduce){.ns-action-card{transition:none}.ns-action-card:active:not(:disabled){border-block-end-width:var(--ns-border-width-raised-edge);transform:none}}:root[data-motion=reduced] .ns-action-card:active:not(:disabled){border-block-end-width:var(--ns-border-width-raised-edge);transform:none}.ns-popover__content{background-color:var(--ns-color-surface-raised);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-radius:var(--ns-radius-md);box-shadow:var(--ns-elevation-overlay);color:var(--ns-color-text-primary);max-inline-size:min(24rem, var(--radix-popover-content-available-width,24rem));padding:var(--ns-space-4);transform-origin:var(--radix-popover-content-transform-origin);z-index:var(--ns-layer-popover)}.ns-popover__content[data-state=open]{animation:ns-popover-enter var(--ns-motion-duration-fast) var(--ns-motion-easing-enter) both}.ns-popover__content[data-state=closed]{animation:ns-popover-exit var(--ns-motion-duration-fast) var(--ns-motion-easing-exit) both}@keyframes ns-popover-enter{0%{opacity:0;transform:scale(.98) translateY(var(--ns-space-1))}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes ns-popover-exit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.98) translateY(var(--ns-space-1))}}@media (prefers-reduced-motion:reduce){.ns-popover__content{animation:none}}.ns-dialog__overlay{background-color:var(--ns-color-overlay-backdrop);z-index:var(--ns-layer-dialog-backdrop);position:fixed;inset:0}.ns-dialog__overlay[data-state=open]{animation:ns-dialog-backdrop-enter var(--ns-motion-duration-fast) var(--ns-motion-easing-enter) both}.ns-dialog__overlay[data-state=closed]{animation:ns-dialog-backdrop-exit var(--ns-motion-duration-fast) var(--ns-motion-easing-exit) both}.ns-dialog__content{background-color:var(--ns-color-surface-raised);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-radius:var(--ns-radius-lg);box-shadow:var(--ns-elevation-dialog);box-sizing:border-box;color:var(--ns-color-text-primary);max-block-size:calc(100dvh - var(--ns-space-8));max-inline-size:calc(100vw - var(--ns-space-8));overscroll-behavior:contain;padding:var(--ns-space-6);width:min(32rem, calc(100vw - var(--ns-space-8)));z-index:var(--ns-layer-dialog);position:fixed;inset-block-start:50%;inset-inline-start:50%;overflow-y:auto;transform:translate(-50%,-50%)}.ns-dialog__content[data-state=open]{animation:ns-dialog-enter var(--ns-motion-duration-fast) var(--ns-motion-easing-enter) both}.ns-dialog__content[data-state=closed]{animation:ns-dialog-exit var(--ns-motion-duration-fast) var(--ns-motion-easing-exit) both}.ns-dialog__title{color:var(--ns-color-text-primary);font:inherit;font-size:var(--ns-text-heading-size);font-weight:var(--ns-text-heading-weight);letter-spacing:var(--ns-text-heading-letter-spacing);line-height:var(--ns-text-heading-line-height);margin:0}.ns-dialog__description{color:var(--ns-color-text-secondary);font:inherit;margin-block:var(--ns-space-2) 0}@keyframes ns-dialog-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes ns-dialog-backdrop-exit{0%{opacity:1}to{opacity:0}}@keyframes ns-dialog-enter{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes ns-dialog-exit{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-48%)scale(.98)}}@media (prefers-reduced-motion:reduce){.ns-dialog__overlay,.ns-dialog__content{animation:none}}.ns-tooltip__content{background-color:var(--ns-color-surface-raised);border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border-subtle);border-radius:var(--ns-radius-sm);box-shadow:var(--ns-elevation-overlay);color:var(--ns-color-text-primary);font-size:var(--ns-text-caption-size);line-height:var(--ns-text-caption-line-height);max-inline-size:min(20rem, var(--radix-tooltip-content-available-width));padding-block:var(--ns-space-2);padding-inline:var(--ns-space-3);transform-origin:var(--radix-tooltip-content-transform-origin);z-index:var(--ns-layer-tooltip)}.ns-tooltip__content[data-state=delayed-open],.ns-tooltip__content[data-state=instant-open]{animation:ns-tooltip-enter var(--ns-motion-duration-fast) var(--ns-motion-easing-enter) both}.ns-tooltip__content[data-state=closed]{animation:ns-tooltip-exit var(--ns-motion-duration-fast) var(--ns-motion-easing-exit) both}.ns-tooltip__arrow{fill:var(--ns-color-surface-raised)}@keyframes ns-tooltip-enter{0%{opacity:0;transform:translateY(var(--ns-space-1))}to{opacity:1;transform:translateY(0)}}@keyframes ns-tooltip-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--ns-space-1))}}@media (prefers-reduced-motion:reduce){.ns-tooltip__content{animation:none}}.ns-toast__viewport{box-sizing:border-box;gap:var(--ns-space-3);max-block-size:100dvh;max-inline-size:100vw;padding-block:var(--ns-space-4) max(var(--ns-space-4), env(safe-area-inset-bottom,0px));padding-inline:var(--ns-space-4);width:min(26rem,100vw);z-index:var(--ns-layer-toast);outline:none;flex-direction:column-reverse;margin:0;list-style:none;display:flex;position:fixed;inset-block-end:0;inset-inline-end:0;overflow-y:auto}.ns-toast__toast{border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-inline-start-width:var(--ns-border-width-emphasis);border-radius:var(--ns-radius-md);box-shadow:var(--ns-elevation-overlay);box-sizing:border-box;color:var(--ns-color-text-primary);align-items:start;gap:var(--ns-space-3);max-inline-size:100%;padding:var(--ns-space-4);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:minmax(0,1fr) auto;display:grid}.ns-toast__toast[data-variant=success]{background-color:var(--ns-color-feedback-success-surface);border-inline-start-color:var(--ns-color-feedback-success)}.ns-toast__toast[data-variant=warning]{background-color:var(--ns-color-feedback-warning-surface);border-inline-start-color:var(--ns-color-feedback-warning)}.ns-toast__toast[data-variant=danger]{background-color:var(--ns-color-feedback-danger-surface);border-inline-start-color:var(--ns-color-feedback-danger)}.ns-toast__toast[data-variant=info]{background-color:var(--ns-color-feedback-info-surface);border-inline-start-color:var(--ns-color-feedback-info)}.ns-toast__toast[data-state=open]{animation:ns-toast-enter var(--ns-motion-duration-fast) var(--ns-motion-easing-enter) both}.ns-toast__toast[data-state=closed]{animation:ns-toast-exit var(--ns-motion-duration-fast) var(--ns-motion-easing-exit) both}.ns-toast__toast[data-swipe=move]{transform:translate3d(var(--radix-toast-swipe-move-x,0), var(--radix-toast-swipe-move-y,0), 0)}.ns-toast__toast[data-swipe=cancel]{transition:transform var(--ns-motion-duration-fast) var(--ns-motion-easing-standard);transform:translate(0,0)}.ns-toast__toast[data-swipe=end]{animation:ns-toast-swipe-out var(--ns-motion-duration-fast) var(--ns-motion-easing-exit) both}.ns-toast__title{color:var(--ns-color-text-primary);font:inherit;font-size:var(--ns-text-label-size);font-weight:var(--ns-text-label-weight);line-height:var(--ns-text-label-line-height);margin:0;display:block}.ns-toast__description{color:var(--ns-color-text-secondary);font:inherit;font-size:var(--ns-text-body-size);line-height:var(--ns-text-body-line-height);margin-block-start:var(--ns-space-1);display:block}.ns-toast__action{border:var(--ns-border-width-standard) var(--ns-border-style-solid) var(--ns-color-border);border-radius:var(--ns-radius-sm);color:var(--ns-color-text-primary);cursor:pointer;font:inherit;font-weight:var(--ns-text-label-weight);min-block-size:var(--ns-size-control-height-compact);padding-block:var(--ns-space-2);padding-inline:var(--ns-space-3);background:0 0}.ns-toast__close{border-radius:var(--ns-radius-sm);color:var(--ns-color-text-secondary);cursor:pointer;font:inherit;font-size:var(--ns-text-heading-size);inline-size:var(--ns-size-pointer-target-comfortable);min-block-size:var(--ns-size-pointer-target-comfortable);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ns-toast__action:focus-visible,.ns-toast__close:focus-visible{outline:var(--ns-border-width-focus) var(--ns-border-style-solid) var(--ns-color-focus);outline-offset:2px}@keyframes ns-toast-enter{0%{opacity:0;transform:translateY(var(--ns-space-3))}to{opacity:1;transform:translateY(0)}}@keyframes ns-toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--ns-space-3))}}@keyframes ns-toast-swipe-out{0%{opacity:1;transform:translate3d(var(--radix-toast-swipe-end-x,0), var(--radix-toast-swipe-end-y,0), 0)}to{opacity:0;transform:translate3d(calc(var(--radix-toast-swipe-end-x,0) * 1.5), calc(var(--radix-toast-swipe-end-y,0) * 1.5), 0)}}@media (width<=40rem){.ns-toast__viewport{padding-block-end:max(var(--ns-space-3), env(safe-area-inset-bottom,0px));padding-inline:var(--ns-space-3);width:100%;inset-inline:0}}@media (prefers-reduced-motion:reduce){.ns-toast__toast,.ns-toast__toast[data-state=open],.ns-toast__toast[data-state=closed],.ns-toast__toast[data-swipe=cancel],.ns-toast__toast[data-swipe=end]{transition:none;animation:none}}:root{--ns-layer-content:0;--ns-layer-sticky:10;--ns-layer-dialog-backdrop:20;--ns-layer-dialog:30;--ns-layer-popover:40;--ns-layer-tooltip:50;--ns-layer-toast:60;--ns-primitive-color-hinomaru-50:#fff1f3;--ns-primitive-color-hinomaru-100:#ffe0e5;--ns-primitive-color-hinomaru-300:#f58a9e;--ns-primitive-color-hinomaru-500:#d92345;--ns-primitive-color-hinomaru-600:#bc002d;--ns-primitive-color-hinomaru-700:#990026;--ns-primitive-color-hinomaru-900:#5f0018;--ns-primitive-color-sumi-50:#fafaf9;--ns-primitive-color-sumi-100:#f2f2f0;--ns-primitive-color-sumi-300:#c9c9c5;--ns-primitive-color-sumi-500:#777772;--ns-primitive-color-sumi-600:#595956;--ns-primitive-color-sumi-700:#3c3c39;--ns-primitive-color-sumi-900:#181817;--ns-primitive-color-green-50:#edf9f1;--ns-primitive-color-green-100:#d7f1df;--ns-primitive-color-green-300:#7bcf96;--ns-primitive-color-green-500:#32965a;--ns-primitive-color-green-600:#277a49;--ns-primitive-color-green-700:#1d6039;--ns-primitive-color-green-900:#123c26;--ns-primitive-color-amber-50:#fff8e9;--ns-primitive-color-amber-100:#ffedc7;--ns-primitive-color-amber-300:#f2c46f;--ns-primitive-color-amber-500:#d58e3f;--ns-primitive-color-amber-600:#bb702b;--ns-primitive-color-amber-700:#925522;--ns-primitive-color-amber-900:#57330f;--ns-primitive-color-blue-50:#eff7ff;--ns-primitive-color-blue-100:#d8ebff;--ns-primitive-color-blue-300:#8cbef2;--ns-primitive-color-blue-500:#478ad4;--ns-primitive-color-blue-600:#3472b7;--ns-primitive-color-blue-700:#2b5b93;--ns-primitive-color-blue-900:#1c365e;--ns-primitive-color-orange-50:#fff3eb;--ns-primitive-color-orange-100:#ffe3d1;--ns-primitive-color-orange-300:#f5aa78;--ns-primitive-color-orange-500:#e4753e;--ns-primitive-color-orange-600:#c85a2c;--ns-primitive-color-orange-700:#9f4425;--ns-primitive-color-orange-900:#5d2719;--ns-primitive-color-indigo-50:#f3f1ff;--ns-primitive-color-indigo-100:#e5e0ff;--ns-primitive-color-indigo-300:#b2a7f5;--ns-primitive-color-indigo-500:#7766d4;--ns-primitive-color-indigo-600:#6251b5;--ns-primitive-color-indigo-700:#4d4091;--ns-primitive-color-indigo-900:#30285d;--ns-primitive-color-neutral-0:#fff;--ns-primitive-color-neutral-50:#f7f8f5;--ns-primitive-color-neutral-200:#dce5e1;--ns-primitive-color-neutral-700:#596967;--ns-primitive-color-neutral-900:#1f2c2c;--ns-primitive-color-teal-100:#cce4dd;--ns-primitive-color-teal-700:#245c55;--ns-primitive-color-teal-800:#194a44;--ns-primitive-font-size-1:.75rem;--ns-primitive-font-size-2:.875rem;--ns-primitive-font-size-3:1rem;--ns-primitive-font-size-15:.9375rem;--ns-primitive-font-size-17:1.0625rem;--ns-primitive-font-size-4:1.125rem;--ns-primitive-font-size-5:1.25rem;--ns-primitive-font-size-6:1.5rem;--ns-primitive-font-size-7:2rem;--ns-primitive-font-size-8:2.5rem;--ns-primitive-font-weight-regular:400;--ns-primitive-font-weight-medium:500;--ns-primitive-font-weight-semibold:600;--ns-primitive-font-weight-bold:700;--ns-primitive-line-height-tight:1.1;--ns-primitive-line-height-snug:1.25;--ns-primitive-line-height-normal:1.5;--ns-primitive-letter-spacing-tight:-.025em;--ns-primitive-letter-spacing-snug:-.0125em;--ns-primitive-letter-spacing-normal:0;--ns-primitive-letter-spacing-wide:.04em;--ns-primitive-font-family-sans:Nunito, ui-rounded, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ns-primitive-motion-duration-0:0s;--ns-primitive-motion-duration-1:.12s;--ns-primitive-motion-duration-2:.2s;--ns-primitive-motion-duration-3:.32s;--ns-primitive-motion-duration-4:.6s;--ns-primitive-motion-duration-5:1s;--ns-primitive-motion-easing-standard:cubic-bezier(.2, 0, 0, 1);--ns-primitive-motion-easing-enter:cubic-bezier(0, 0, .2, 1);--ns-primitive-motion-easing-exit:cubic-bezier(.4, 0, 1, 1);--ns-primitive-motion-easing-spring:cubic-bezier(.2, 1.45, .4, 1);--ns-primitive-motion-easing-bounce:cubic-bezier(.34, 1.7, .64, 1);--ns-primitive-space-1:.25rem;--ns-primitive-space-2:.5rem;--ns-primitive-space-2-5:.625rem;--ns-primitive-space-3:.75rem;--ns-primitive-space-4:1rem;--ns-primitive-space-5:1.25rem;--ns-primitive-space-6:1.5rem;--ns-primitive-space-8:2rem;--ns-primitive-space-12:3rem;--ns-primitive-space-16:4rem;--ns-primitive-size-8:.5rem;--ns-primitive-size-16:1rem;--ns-primitive-size-20:1.25rem;--ns-primitive-size-24:1.5rem;--ns-primitive-size-40:2.5rem;--ns-primitive-size-44:2.75rem;--ns-primitive-size-48:3rem;--ns-primitive-size-50:3.125rem;--ns-primitive-size-56:3.5rem;--ns-primitive-size-216:13.5rem;--ns-primitive-radius-0:0;--ns-primitive-radius-1:.25rem;--ns-primitive-radius-2:.5rem;--ns-primitive-radius-3:.75rem;--ns-primitive-radius-4:1rem;--ns-primitive-radius-full:9999px;--ns-primitive-border-width-1:1px;--ns-primitive-border-width-2:2px;--ns-primitive-border-width-3:3px;--ns-primitive-border-width-4:4px;--ns-primitive-border-style-solid:solid;--ns-space-1:var(--ns-primitive-space-1);--ns-space-2:var(--ns-primitive-space-2);--ns-space-2-5:var(--ns-primitive-space-2-5);--ns-space-3:var(--ns-primitive-space-3);--ns-space-4:var(--ns-primitive-space-4);--ns-space-5:var(--ns-primitive-space-5);--ns-space-6:var(--ns-primitive-space-6);--ns-space-8:var(--ns-primitive-space-8);--ns-space-12:var(--ns-primitive-space-12);--ns-space-16:var(--ns-primitive-space-16);--ns-size-control-height-compact:var(--ns-primitive-size-40);--ns-size-control-height-standard:var(--ns-primitive-size-44);--ns-size-control-height-comfortable:var(--ns-primitive-size-48);--ns-size-button-height-standard:var(--ns-primitive-size-50);--ns-size-button-height-comfortable:var(--ns-primitive-size-56);--ns-size-action-card-minimum-height:var(--ns-primitive-size-216);--ns-size-progress-track:var(--ns-primitive-size-8);--ns-size-progress-ring-small:var(--ns-primitive-size-24);--ns-size-progress-ring-medium:var(--ns-primitive-size-40);--ns-size-progress-ring-large:var(--ns-primitive-size-48);--ns-size-spinner-small:var(--ns-size-icon-box-small);--ns-size-spinner-medium:var(--ns-size-icon-box-medium);--ns-size-spinner-large:var(--ns-size-icon-box-large);--ns-size-avatar-small:var(--ns-primitive-size-24);--ns-size-avatar-medium:var(--ns-primitive-size-40);--ns-size-avatar-large:var(--ns-primitive-size-48);--ns-size-icon-box-small:var(--ns-primitive-size-16);--ns-size-icon-box-medium:var(--ns-primitive-size-20);--ns-size-icon-box-large:var(--ns-primitive-size-24);--ns-size-pointer-target-minimum:var(--ns-primitive-size-24);--ns-size-pointer-target-comfortable:var(--ns-primitive-size-44);--ns-radius-none:var(--ns-primitive-radius-0);--ns-radius-sm:var(--ns-primitive-radius-1);--ns-radius-md:var(--ns-primitive-radius-2);--ns-radius-lg:var(--ns-primitive-radius-3);--ns-radius-xl:var(--ns-primitive-radius-4);--ns-radius-pill:var(--ns-primitive-radius-full);--ns-radius-control:var(--ns-radius-lg);--ns-radius-card:var(--ns-radius-xl);--ns-border-width-subtle:var(--ns-primitive-border-width-1);--ns-border-width-standard:var(--ns-primitive-border-width-1);--ns-border-width-emphasis:var(--ns-primitive-border-width-2);--ns-border-width-focus:var(--ns-primitive-border-width-3);--ns-border-width-raised-edge:var(--ns-primitive-border-width-4);--ns-border-style-solid:var(--ns-primitive-border-style-solid);--ns-size-button-edge-primary:var(--ns-space-1);--ns-size-button-edge-secondary:var(--ns-border-width-emphasis);--ns-motion-duration-instant:var(--ns-primitive-motion-duration-0);--ns-motion-duration-fast:var(--ns-primitive-motion-duration-1);--ns-motion-duration-normal:var(--ns-primitive-motion-duration-2);--ns-motion-duration-slow:var(--ns-primitive-motion-duration-3);--ns-motion-duration-celebration:var(--ns-primitive-motion-duration-4);--ns-motion-duration-indeterminate:var(--ns-primitive-motion-duration-5);--ns-motion-press-offset:1px;--ns-motion-button-press-offset:var(--ns-size-button-edge-primary);--ns-motion-button-secondary-press-offset:var(--ns-size-button-edge-secondary);--ns-motion-easing-standard:var(--ns-primitive-motion-easing-standard);--ns-motion-easing-enter:var(--ns-primitive-motion-easing-enter);--ns-motion-easing-exit:var(--ns-primitive-motion-easing-exit);--ns-motion-easing-spring:var(--ns-primitive-motion-easing-spring);--ns-motion-easing-bounce:var(--ns-primitive-motion-easing-bounce)}@media (prefers-reduced-motion:reduce){:root{--ns-motion-duration-fast:var(--ns-motion-duration-instant);--ns-motion-duration-normal:var(--ns-motion-duration-instant);--ns-motion-duration-slow:var(--ns-motion-duration-instant);--ns-motion-duration-celebration:var(--ns-motion-duration-instant);--ns-motion-duration-indeterminate:var(--ns-motion-duration-instant);--ns-motion-press-offset:0px;--ns-motion-button-press-offset:0px;--ns-motion-button-secondary-press-offset:0px;--ns-motion-easing-spring:var(--ns-motion-easing-standard);--ns-motion-easing-bounce:var(--ns-motion-easing-standard)}}:root[data-motion=reduced]{--ns-motion-duration-fast:var(--ns-motion-duration-instant);--ns-motion-duration-normal:var(--ns-motion-duration-instant);--ns-motion-duration-slow:var(--ns-motion-duration-instant);--ns-motion-duration-celebration:var(--ns-motion-duration-instant);--ns-motion-duration-indeterminate:var(--ns-motion-duration-instant);--ns-motion-press-offset:0px;--ns-motion-button-press-offset:0px;--ns-motion-button-secondary-press-offset:0px;--ns-motion-easing-spring:var(--ns-motion-easing-standard);--ns-motion-easing-bounce:var(--ns-motion-easing-standard)}:root{--ns-text-display-size:var(--ns-primitive-font-size-8);--ns-text-display-weight:var(--ns-primitive-font-weight-bold);--ns-text-display-line-height:var(--ns-primitive-line-height-tight);--ns-text-display-letter-spacing:var(--ns-primitive-letter-spacing-tight);--ns-text-heading-size:var(--ns-primitive-font-size-6);--ns-text-heading-weight:var(--ns-primitive-font-weight-bold);--ns-text-heading-line-height:var(--ns-primitive-line-height-snug);--ns-text-heading-letter-spacing:var(--ns-primitive-letter-spacing-snug);--ns-text-body-size:var(--ns-primitive-font-size-17);--ns-text-body-weight:var(--ns-primitive-font-weight-medium);--ns-text-body-line-height:var(--ns-primitive-line-height-normal);--ns-text-body-letter-spacing:var(--ns-primitive-letter-spacing-normal);--ns-text-label-size:var(--ns-primitive-font-size-2);--ns-text-label-weight:var(--ns-primitive-font-weight-semibold);--ns-text-label-line-height:var(--ns-primitive-line-height-snug);--ns-text-label-letter-spacing:var(--ns-primitive-letter-spacing-normal);--ns-text-button-size:var(--ns-primitive-font-size-15);--ns-text-button-weight:var(--ns-primitive-font-weight-bold);--ns-text-button-line-height:var(--ns-primitive-line-height-snug);--ns-text-button-letter-spacing:.8px;--ns-text-caption-size:var(--ns-primitive-font-size-1);--ns-text-caption-weight:var(--ns-primitive-font-weight-regular);--ns-text-caption-line-height:var(--ns-primitive-line-height-normal);--ns-text-caption-letter-spacing:var(--ns-primitive-letter-spacing-normal)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ns-color-canvas:var(--ns-primitive-color-sumi-50);--ns-color-surface:var(--ns-primitive-color-neutral-0);--ns-color-surface-subtle:var(--ns-primitive-color-sumi-100);--ns-color-surface-raised:var(--ns-primitive-color-neutral-0);--ns-color-overlay-backdrop:#1818178f;--ns-color-text-primary:var(--ns-primitive-color-sumi-900);--ns-color-text-secondary:var(--ns-primitive-color-sumi-700);--ns-color-text-tertiary:var(--ns-primitive-color-sumi-600);--ns-color-text-inverse:var(--ns-primitive-color-neutral-0);--ns-color-ink:var(--ns-color-text-primary);--ns-color-muted:var(--ns-color-text-secondary);--ns-color-border-subtle:var(--ns-primitive-color-sumi-100);--ns-color-border:var(--ns-primitive-color-sumi-500);--ns-color-border-strong:var(--ns-primitive-color-sumi-700);--ns-color-action-primary:var(--ns-primitive-color-hinomaru-600);--ns-color-action-primary-hover:var(--ns-primitive-color-hinomaru-700);--ns-color-action-primary-foreground:var(--ns-primitive-color-neutral-0);--ns-color-brand:var(--ns-color-action-primary);--ns-color-brand-hover:var(--ns-color-action-primary-hover);--ns-color-brand-foreground:var(--ns-color-action-primary-foreground);--ns-color-brand-text:var(--ns-primitive-color-hinomaru-600);--ns-color-brand-text-hover:var(--ns-primitive-color-hinomaru-700);--ns-color-action-primary-edge:var(--ns-primitive-color-hinomaru-700);--ns-color-action-primary-hover-edge:var(--ns-primitive-color-hinomaru-900);--ns-color-action-secondary-edge:color-mix(in srgb, var(--ns-color-text-primary) 14%, var(--ns-color-surface));--ns-color-action-secondary-foreground:var(--ns-color-brand-text);--ns-color-focus:var(--ns-primitive-color-amber-600);--ns-color-selection:var(--ns-primitive-color-hinomaru-50);--ns-color-selection-foreground:var(--ns-color-text-primary);--ns-color-feedback-success:var(--ns-primitive-color-green-700);--ns-color-feedback-success-surface:var(--ns-primitive-color-green-50);--ns-color-feedback-warning:var(--ns-primitive-color-amber-700);--ns-color-feedback-warning-surface:var(--ns-primitive-color-amber-50);--ns-color-feedback-info:var(--ns-primitive-color-blue-700);--ns-color-feedback-info-surface:var(--ns-primitive-color-blue-50);--ns-color-feedback-danger:var(--ns-primitive-color-hinomaru-700);--ns-color-feedback-danger-surface:var(--ns-primitive-color-hinomaru-50);--ns-color-reward-xp:var(--ns-primitive-color-amber-700);--ns-color-reward-xp-surface:var(--ns-primitive-color-amber-50);--ns-color-reward-streak:var(--ns-primitive-color-orange-700);--ns-color-reward-streak-surface:var(--ns-primitive-color-orange-50);--ns-color-reward-achievement:var(--ns-primitive-color-indigo-700);--ns-color-reward-achievement-surface:var(--ns-primitive-color-indigo-50);--ns-elevation-none:none;--ns-elevation-card:0 1px 2px #18181714;--ns-elevation-interactive:0 1px 2px #1818171a;--ns-elevation-hover:0 3px 8px #18181724, 0 1px 2px #18181714;--ns-elevation-pressed:inset 0 1px 2px #1818171f, 0 0 1px #18181714;--ns-elevation-button-primary:0 var(--ns-size-button-edge-primary) 0 var(--ns-color-action-primary-edge);--ns-elevation-button-primary-hover:0 var(--ns-size-button-edge-primary) 0 var(--ns-color-action-primary-hover-edge);--ns-elevation-button-secondary:0 var(--ns-size-button-edge-secondary) 0 var(--ns-color-action-secondary-edge);--ns-elevation-dialog:0 12px 24px #18181729, 0 4px 8px #1818171a;--ns-elevation-overlay:0 24px 48px #18181733, 0 8px 16px #1818171f;--ns-font-sans:var(--ns-primitive-font-family-sans)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ns-color-canvas:var(--ns-primitive-color-sumi-900);--ns-color-surface:color-mix(in srgb, var(--ns-primitive-color-sumi-900) 82%, var(--ns-primitive-color-sumi-700));--ns-color-surface-subtle:color-mix(in srgb, var(--ns-primitive-color-sumi-900) 65%, var(--ns-primitive-color-sumi-700));--ns-color-surface-raised:var(--ns-primitive-color-sumi-700);--ns-color-overlay-backdrop:#000000a3;--ns-color-text-primary:var(--ns-primitive-color-sumi-50);--ns-color-text-secondary:var(--ns-primitive-color-sumi-100);--ns-color-text-tertiary:var(--ns-primitive-color-sumi-300);--ns-color-text-inverse:var(--ns-primitive-color-sumi-900);--ns-color-ink:var(--ns-color-text-primary);--ns-color-muted:var(--ns-color-text-secondary);--ns-color-border-subtle:var(--ns-primitive-color-sumi-700);--ns-color-border:var(--ns-primitive-color-sumi-300);--ns-color-border-strong:var(--ns-primitive-color-sumi-100);--ns-color-action-primary:var(--ns-primitive-color-hinomaru-500);--ns-color-action-primary-hover:var(--ns-primitive-color-hinomaru-600);--ns-color-action-primary-foreground:var(--ns-primitive-color-neutral-0);--ns-color-brand:var(--ns-color-action-primary);--ns-color-brand-hover:var(--ns-color-action-primary-hover);--ns-color-brand-foreground:var(--ns-color-action-primary-foreground);--ns-color-brand-text:var(--ns-primitive-color-hinomaru-300);--ns-color-brand-text-hover:var(--ns-primitive-color-hinomaru-100);--ns-color-action-primary-edge:var(--ns-primitive-color-hinomaru-600);--ns-color-action-primary-hover-edge:var(--ns-primitive-color-hinomaru-700);--ns-color-action-secondary-edge:color-mix(in srgb, var(--ns-color-text-primary) 14%, var(--ns-color-surface));--ns-color-action-secondary-foreground:var(--ns-color-brand-text);--ns-color-focus:var(--ns-primitive-color-amber-300);--ns-color-selection:var(--ns-primitive-color-hinomaru-900);--ns-color-selection-foreground:var(--ns-color-text-primary);--ns-color-feedback-success:var(--ns-primitive-color-green-300);--ns-color-feedback-success-surface:var(--ns-primitive-color-green-900);--ns-color-feedback-warning:var(--ns-primitive-color-amber-300);--ns-color-feedback-warning-surface:var(--ns-primitive-color-amber-900);--ns-color-feedback-info:var(--ns-primitive-color-blue-300);--ns-color-feedback-info-surface:var(--ns-primitive-color-blue-900);--ns-color-feedback-danger:var(--ns-primitive-color-hinomaru-300);--ns-color-feedback-danger-surface:var(--ns-primitive-color-hinomaru-900);--ns-color-reward-xp:var(--ns-primitive-color-amber-300);--ns-color-reward-xp-surface:var(--ns-primitive-color-amber-900);--ns-color-reward-streak:var(--ns-primitive-color-orange-300);--ns-color-reward-streak-surface:var(--ns-primitive-color-orange-900);--ns-color-reward-achievement:var(--ns-primitive-color-indigo-300);--ns-color-reward-achievement-surface:var(--ns-primitive-color-indigo-900);--ns-elevation-none:none;--ns-elevation-card:0 1px 2px #0000003d, 0 0 0 1px #fafaf90a;--ns-elevation-interactive:0 1px 2px #00000047;--ns-elevation-hover:0 3px 8px #00000057, 0 1px 2px #00000038;--ns-elevation-pressed:inset 0 1px 2px #00000047;--ns-elevation-button-primary:0 var(--ns-size-button-edge-primary) 0 var(--ns-color-action-primary-edge);--ns-elevation-button-primary-hover:0 var(--ns-size-button-edge-primary) 0 var(--ns-color-action-primary-hover-edge);--ns-elevation-button-secondary:0 var(--ns-size-button-edge-secondary) 0 var(--ns-color-action-secondary-edge);--ns-elevation-dialog:0 12px 24px #0000006b, 0 4px 8px #00000047;--ns-elevation-overlay:0 24px 48px #00000080, 0 8px 16px #00000052;--ns-font-sans:var(--ns-primitive-font-family-sans)}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/opennihongo/assets/nunito-latin-ext-CXYtwYOx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/opennihongo/assets/nunito-latin-BzFMHfZw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{background-color:var(--ns-color-canvas);color:var(--ns-color-ink);font-family:var(--ns-font-sans);font-synthesis:none;text-rendering:optimizelegibility}:where([data-theme=light],[data-theme=dark]){background-color:var(--ns-color-canvas);color:var(--ns-color-ink)}*,:before,:after{box-sizing:border-box}body{min-width:20rem;min-height:100vh;font-size:var(--ns-text-body-size);font-weight:var(--ns-text-body-weight);line-height:var(--ns-text-body-line-height);letter-spacing:var(--ns-text-body-letter-spacing);margin:0}.ns-text-display{font-size:var(--ns-text-display-size);font-weight:var(--ns-text-display-weight);line-height:var(--ns-text-display-line-height);letter-spacing:var(--ns-text-display-letter-spacing)}.ns-text-heading{font-size:var(--ns-text-heading-size);font-weight:var(--ns-text-heading-weight);line-height:var(--ns-text-heading-line-height);letter-spacing:var(--ns-text-heading-letter-spacing)}.ns-text-body{font-size:var(--ns-text-body-size);font-weight:var(--ns-text-body-weight);line-height:var(--ns-text-body-line-height);letter-spacing:var(--ns-text-body-letter-spacing)}.ns-text-label{font-size:var(--ns-text-label-size);font-weight:var(--ns-text-label-weight);line-height:var(--ns-text-label-line-height);letter-spacing:var(--ns-text-label-letter-spacing)}.ns-text-caption{font-size:var(--ns-text-caption-size);font-weight:var(--ns-text-caption-weight);line-height:var(--ns-text-caption-line-height);letter-spacing:var(--ns-text-caption-letter-spacing)}button,input,textarea,select{font:inherit}::selection{background:var(--ns-color-selection);color:var(--ns-color-selection-foreground)}:root[data-motion=reduced],:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--container-2xl:42rem;--container-3xl:48rem;--font-weight-bold:700;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--ns-font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.isolate{isolation:isolate}.my-auto{margin-block:auto}.contents{display:contents}.hidden{display:none}.table{display:table}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ns-space-1) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ns-space-1) * 2) * calc(1 - var(--tw-space-y-reverse)))}.p-6{padding:calc(var(--ns-space-1) * 6)}.py-12{padding-block:calc(var(--ns-space-1) * 12)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-brand-text{color:var(--ns-color-brand-text)}.underline{text-decoration-line:underline}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (width>=48rem){.md\:p-8{padding:calc(var(--ns-space-1) * 8)}}}:root[data-focus-navigation=false] :focus-visible:not(input,textarea,[contenteditable]){outline:none}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-font-weight{syntax:"*";inherits:false}.reading-feedback{gap:.35rem;max-width:48rem;display:grid}.reading-feedback p{margin:0;font-size:.9rem;line-height:1.5}.reading-results,.reading-review{width:min(100%,58rem);margin:0 auto;padding:1.5rem}.reading-results h2,.reading-review h1{color:var(--ns-color-text-primary)}.reading-results ul,.reading-review ul{gap:.75rem;padding:0;list-style:none;display:grid}.reading-results li,.reading-review li{border:1px solid var(--ns-color-border-subtle);background:var(--ns-color-surface);border-radius:1rem}.reading-results label,.reading-review label{cursor:pointer;align-items:center;gap:1rem;min-height:4.5rem;padding:1rem;display:flex}.reading-results label>span,.reading-review label>span{gap:.35rem;display:grid}.reading-results input,.reading-review input{width:1.25rem;height:1.25rem;accent-color:var(--ns-color-action-primary);flex-shrink:0}.reading-results strong,.reading-review strong{font-size:1.4rem}.reading-review__actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.reading-review__note,.reading-results small,.reading-review small{color:var(--ns-color-text-secondary);line-height:1.6}.practice-hub__presets{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.practice-hub__presets article{align-content:start;gap:.75rem;padding:1.5rem;display:grid}.practice-hub__presets p{margin:0}@media (width<=40rem){.reading-results,.reading-review{padding:1rem}.reading-review__actions>*{width:100%}}.practice-session--reading{grid-template-rows:auto auto minmax(0,1fr) auto}.practice-session--reading>.practice-session__header{grid-row:1}.practice-session--reading>.practice-session__save-status{grid-row:2}.practice-session--reading>.practice-session__body,.practice-session--reading>.practice-results{grid-row:3}.practice-session--reading>.practice-session__action-slot{grid-row:4}.practice-session--reading>.practice-session__action-slot--reading-feedback{height:auto;max-height:55dvh;overflow-y:auto}.practice-session__action-slot--reading-feedback .practice-feedback{height:auto;position:static}.practice-session__action-slot--reading-feedback .practice-feedback__inner{height:auto}.reading-results{text-align:start;padding-inline:0}.reading-results h2{margin:1rem 0 .5rem;font-size:1.4rem;font-weight:700}.reading-review h1{margin-bottom:1rem;font-size:2rem;font-weight:700}.practice-results:has(.reading-results) .practice-results__art{max-width:11rem}.practice-setup{width:100%;max-width:76rem;margin-inline:auto;padding-block:1rem 3rem}.practice-setup__header{gap:.65rem;margin-bottom:2rem;display:grid}.practice-setup h1{font-size:var(--ns-text-display-size);margin:0;line-height:1.15}.practice-setup h2{margin:0;font-size:1.25rem}.practice-setup p{color:var(--ns-color-text-secondary);margin:0}.practice-setup__back{color:var(--ns-color-brand-text);text-underline-offset:.2em;margin-bottom:.75rem;font-weight:700}.practice-setup__layout{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:1.5rem;display:grid}.practice-setup__form{gap:1.25rem;min-width:0;display:grid}.practice-setup__panel,.practice-setup__summary{background:var(--ns-color-surface);border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);gap:1rem;padding:1.5rem;display:grid}.practice-setup__summary{position:sticky;top:1.5rem}.practice-setup__summary-content{gap:.75rem;display:grid}.practice-setup__summary-art{background:var(--ns-color-surface-subtle);border-radius:var(--ns-radius-md);place-items:center;min-height:5rem;font-size:2.25rem;font-weight:800;display:grid}.practice-setup .practice-setup__session-count{color:var(--ns-color-text-primary);font-size:1.75rem;font-weight:800}.practice-setup__start .ns-button{width:100%}.practice-setup__difficulty,.practice-setup__length{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.practice-setup__difficulty .ns-radio,.practice-setup__length .ns-radio{min-width:0}.practice-setup__difficulty .ns-radio__label{gap:.5rem;display:grid}.practice-setup__option-description{color:var(--ns-color-text-secondary);font-size:.875rem;font-weight:400;line-height:1.45}.practice-setup__directions{gap:.5rem;display:grid}.practice-setup__fast{justify-content:space-between;align-items:center;gap:1rem;display:flex}.practice-setup__fast label{font-weight:700}.practice-setup__fast p{margin-top:.3rem;font-size:.875rem}.practice-setup__fieldset{border:0;min-width:0;margin:0;padding:0}.practice-setup__fieldset legend{margin-bottom:.75rem;padding:0;font-weight:700}.practice-setup__chips{flex-wrap:wrap;gap:.5rem;display:flex}.practice-setup__chip{border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-md);cursor:pointer;align-items:center;gap:.5rem;padding:.65rem .8rem;font-size:.875rem;display:flex}.practice-setup__chip[data-checked=true],.practice-setup__tile[data-checked=true]{background:var(--ns-color-surface-subtle);border-color:var(--ns-color-action-primary)}.practice-setup__selection-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.practice-setup__selection-actions>div{gap:.5rem;display:flex}.practice-setup__character-group{border-top:1px solid var(--ns-color-border-subtle);padding-top:1rem}.practice-setup__character-group summary{cursor:pointer;font-weight:700}.practice-setup__rows{gap:.5rem;padding-top:.75rem;display:grid}.practice-setup__row{grid-template-columns:1.25rem minmax(0,1fr);align-items:center;gap:.65rem;display:grid}.practice-setup__tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;display:grid}.practice-setup__tile{border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-md);cursor:pointer;justify-items:center;gap:.2rem;min-width:0;padding:.5rem .25rem;display:grid;position:relative}.practice-setup__tile>.ns-checkbox{position:absolute;top:.25rem;left:.25rem}.practice-setup__tile>span[lang]{overflow-wrap:anywhere;padding-top:.8rem;font-size:clamp(1.2rem,2vw,1.75rem)}.practice-setup__tile small{color:var(--ns-color-text-secondary)}.practice-setup__tile:focus-within,.practice-setup__chip:focus-within{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.practice-setup .practice-setup__notice{font-size:.875rem}.practice-setup .practice-setup__error{color:var(--ns-color-feedback-danger);font-weight:700}@media (width<=68rem){.practice-setup__layout{grid-template-columns:minmax(0,1fr)}.practice-setup__summary{grid-row:1;position:static}}@media (width<=40rem){.practice-setup{padding-bottom:6rem}.practice-setup h1{font-size:2rem}.practice-setup__panel,.practice-setup__summary{padding:1rem}.practice-setup__difficulty{grid-template-columns:minmax(0,1fr)}.practice-setup__start{z-index:20;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--ns-color-border-subtle);background:var(--ns-color-surface);position:fixed;bottom:0;left:0;right:0}.practice-setup__tile>.ns-checkbox{position:relative;inset:auto}.practice-setup__tile>span[lang]{padding-top:0}}.practice-setup .ns-radio[data-variant=card][data-state=checked]{background-color:var(--ns-color-surface-subtle);color:var(--ns-color-text-primary)}.practice-setup .ns-radio[data-state=checked] .ns-radio__label>.practice-setup__option-description{color:var(--ns-color-text-secondary)}.kanji-selection__group{grid-template-columns:1.25rem minmax(0,1fr);align-items:center;gap:.65rem;padding-top:.75rem;display:grid}.kanji-selection small{text-align:center;overflow-wrap:anywhere}.kanji-setup .practice-setup__summary-art,.practice-hub__art--kanji{font-size:clamp(1.1rem,2.5vw,1.75rem)}.kanji-setup .practice-setup__summary-art{text-align:center;overflow-wrap:anywhere}.kanji-session .kana-quiz__option{padding:1.75rem 1rem 1rem;font-size:clamp(1.125rem,3vw,1.5rem)}.practice-session__header{grid-template-columns:auto minmax(4rem,1fr) auto;align-items:center;gap:1rem;width:100%;max-width:64rem;margin-inline:auto;padding:1.5rem 2rem;display:grid}.practice-session__exit{border-radius:var(--ns-radius-control);color:var(--ns-color-text-secondary);justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;text-decoration:none;display:inline-flex}.practice-session__exit:hover{background:var(--ns-color-surface-subtle);color:var(--ns-color-text-primary)}.practice-session__exit:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.practice-session__progress{background:var(--ns-color-surface-subtle);border-radius:var(--ns-radius-pill);height:.75rem;overflow:hidden}.practice-session__progress-fill{background:var(--ns-color-action-primary);border-radius:inherit;height:100%;transition:width var(--ns-motion-duration-normal) var(--ns-motion-easing-standard);display:block}.practice-session__step{color:var(--ns-color-text-secondary);font-size:var(--ns-text-body-size);text-align:right;min-width:2.5rem;font-weight:800}@media (width<=40rem){.practice-session__header{padding:1rem 1.25rem}}@media (prefers-reduced-motion:reduce){.practice-session__progress-fill{transition:none}}.practice-feedback{background:var(--ns-color-feedback-success-surface);border-top:2px solid var(--ns-color-feedback-success);color:var(--ns-color-feedback-success);width:100%;height:100%;position:absolute;inset:0}.practice-feedback[data-correct=false]{background:var(--ns-color-feedback-danger-surface);border-color:var(--ns-color-feedback-danger);color:var(--ns-color-feedback-danger)}.practice-feedback__inner{grid-template-columns:4.25rem minmax(0,1fr) auto;align-items:center;gap:1.25rem;max-width:64rem;height:100%;margin-inline:auto;padding:1rem 2rem;display:grid}.practice-feedback__icon{background:var(--ns-color-canvas);border-radius:50%;justify-content:center;align-items:center;width:4.25rem;height:4.25rem;display:flex}.practice-feedback__icon svg{width:2.5rem;height:2.5rem}.practice-feedback__copy{gap:.25rem;display:grid}.practice-feedback__copy strong{font-size:1.35rem;line-height:1.2}.practice-feedback__copy span{color:var(--ns-color-text-primary);font-size:var(--ns-text-body-size)}.practice-feedback__inner>button{min-width:9rem}@media (width<=40rem){.practice-feedback__inner{padding:1rem 1.25rem max(1rem, env(safe-area-inset-bottom));grid-template-columns:3rem minmax(0,1fr);gap:.75rem 1rem}.practice-feedback__icon{width:3rem;height:3rem}.practice-feedback__icon svg{width:1.75rem;height:1.75rem}.practice-feedback__inner>button{grid-column:1/-1;width:100%}}.keyboard-shortcut{border-radius:var(--ns-radius-pill);box-sizing:border-box;opacity:.65;text-align:center;border:2px solid;flex:0 0 1.5rem;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.kana-quiz{gap:clamp(1rem,3vh,2rem);max-width:36rem}.kana-quiz .kana-quiz__prompt{max-width:16rem;min-height:7rem;padding:1.5rem 3rem}.kana-quiz__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;display:grid}.kana-quiz__option{overflow-wrap:anywhere;text-transform:none;min-height:6rem;padding:1rem 2rem;font-size:clamp(1.5rem,4vw,2rem);position:relative}.kana-quiz__shortcut{position:absolute;top:.5rem;left:.75rem}.kana-quiz__option[aria-pressed=true]{border-color:var(--ns-color-action-primary);background:var(--ns-color-surface-subtle)}.kana-quiz__option[data-result=correct]{border-color:var(--ns-color-feedback-success);background:var(--ns-color-feedback-success-surface);opacity:1}.kana-quiz__option[data-result=incorrect]{border-color:var(--ns-color-feedback-danger);background:var(--ns-color-feedback-danger-surface);opacity:1}@media (width<=40rem){.kana-quiz__options{gap:.75rem}.kana-quiz__option{min-height:5rem;padding:1rem 1.75rem}}.matching-board{--matching-selection-blue:#1899d6;--matching-selection-blue-edge:#3f85a7;--matching-selection-blue-surface:color-mix(in srgb, var(--matching-selection-blue) 12%, var(--ns-color-surface));grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:34rem;display:grid}.matching-board__column{align-content:start;gap:.625rem;display:grid}.matching-board__option{cursor:pointer;text-align:center;text-transform:none;-webkit-user-select:none;user-select:none;grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;width:100%;min-height:3.5rem;display:grid}.matching-board .ns-button.matching-board__option:not([data-selected=true]):not([data-matched=true]){color:var(--ns-color-text-primary)}.matching-board__option[data-selected=true]{background:var(--matching-selection-blue-surface);border-color:var(--matching-selection-blue);box-shadow:0 2px 0 var(--matching-selection-blue-edge), 0 0 0 1px var(--matching-selection-blue);color:var(--ns-color-feedback-info)}.matching-board .ns-button.matching-board__option[data-selected=true]:hover:not(:disabled){background:var(--matching-selection-blue-surface)}.matching-board__option:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.matching-board__option[data-selected=true]:focus-visible{outline-color:var(--matching-selection-blue)}.matching-board__option--kana{font-size:1.25rem}.matching-board__option[data-matched=true]{background:var(--ns-color-feedback-success-surface);border-color:var(--ns-color-feedback-success);box-shadow:none;color:var(--ns-color-feedback-success);opacity:.8}.matching-board .ns-button.matching-board__option[data-error=true]{background:var(--ns-color-feedback-danger-surface);border-color:var(--ns-color-feedback-danger);box-shadow:0 2px 0 var(--ns-color-feedback-danger), 0 0 0 1px var(--ns-color-feedback-danger);color:var(--ns-color-feedback-danger)}.matching-board__feedback{color:var(--ns-color-text-secondary);text-align:center;grid-column:1/-1;min-height:1.5em;margin:0}@media (width<=40rem){.matching-board{gap:.5rem}.matching-board__option{min-height:3.25rem;padding-inline:.5rem}}.practice-results{text-align:center;flex:1;grid-auto-rows:max-content;align-content:safe center;justify-items:center;gap:.75rem;width:100%;max-width:42rem;min-height:0;margin-inline:auto;padding:2rem 1.25rem;display:grid;overflow-y:auto}.practice-results__art{width:min(100%,22.5rem);max-width:22.5rem;height:auto}.practice-results h1{color:var(--ns-color-feedback-success);margin:0}.practice-results__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:26rem;margin-top:1.5rem;display:grid}.practice-results__stat{background:var(--ns-color-surface);border-radius:var(--ns-radius-lg);border:2px solid;gap:.25rem;padding:0 0 .85rem;display:grid;overflow:hidden;box-shadow:0 4px}.practice-results__stat span{background:var(--practice-stat-accent);color:var(--ns-color-text-inverse);font-size:var(--ns-text-label-size);text-transform:uppercase;padding:.45rem .25rem;font-weight:800}.practice-results__stat strong{font-size:1.5rem}.practice-results__stat--score{--practice-stat-accent:var(--ns-color-action-primary);color:var(--ns-color-action-primary)}.practice-results__stat--accuracy{--practice-stat-accent:var(--ns-color-feedback-success);color:var(--ns-color-feedback-success)}.practice-results__actions{border-top:1px solid var(--ns-color-border-subtle);width:100%;height:100%}.practice-results__actions>div{justify-content:space-between;align-items:center;gap:1rem;max-width:64rem;height:100%;margin-inline:auto;padding:1.5rem 2rem;display:flex}@media (width<=40rem){.practice-results__action-slot--options{height:calc(13.5rem + env(safe-area-inset-bottom))}.practice-results__art{max-width:16rem}.practice-results__actions>div{padding:1rem 1.25rem max(1rem, env(safe-area-inset-bottom));flex-direction:column-reverse}.practice-results__actions .ns-button{width:100%}}.practice-session{--practice-action-panel-height:8.75rem;cursor:default;flex:none;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100dvh;display:grid;overflow:hidden}.practice-session__body{align-items:safe center;min-height:0;padding:2rem 1.25rem;display:grid;overflow-y:auto}.practice-session__question{justify-items:center;gap:clamp(2rem,5vh,3rem);width:100%;max-width:43rem;margin-inline:auto;display:grid}.practice-session__question>h1{justify-self:stretch}.practice-session__exercise{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr);place-items:center;gap:1.5rem;width:100%;max-width:40rem;display:grid}.practice-session__prompt{place-items:center;width:100%;min-height:12rem;padding:2rem;display:grid;position:relative}.practice-session__prompt--typed{padding-inline:1rem}.practice-session__prompt-kana{white-space:nowrap;font-size:clamp(3rem,8vw,4.5rem);font-weight:700;line-height:1}.practice-session__prompt-kana--compact{text-align:center;width:100%;font-size:clamp(2.25rem,5vw,2.75rem)}.practice-session__prompt-romaji{font-size:clamp(2.25rem,6vw,3.25rem);font-weight:700;line-height:1}.practice-session__typed-answer{max-width:22.5rem}.practice-session__audio{border-radius:var(--ns-radius-pill);width:2.75rem;min-height:2.75rem;padding:0;position:absolute;top:.75rem;right:.75rem}.practice-session__audio-loading{color:var(--ns-color-text-secondary);justify-self:center}.practice-session__action-slot{height:var(--practice-action-panel-height);position:relative}.practice-session__actions{border-top:1px solid var(--ns-color-border-subtle);width:100%;height:100%}.practice-session__actions-inner{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:64rem;min-height:100%;margin-inline:auto;padding:1.5rem 2rem;display:flex}@media (width<=40rem){.practice-session{--practice-action-panel-height:calc(9.5rem + env(safe-area-inset-bottom))}.practice-session__body{padding:1.25rem}.practice-session__question{gap:1.75rem}.practice-session__exercise{grid-template-columns:minmax(0,1fr);gap:1rem}.practice-session__prompt{max-width:14rem;min-height:10.75rem}.practice-session__actions-inner{padding:1rem 1.25rem max(1rem, env(safe-area-inset-bottom))}}.practice-session__answer-field{justify-items:start;gap:.75rem;width:100%;display:grid}.practice-session__hint{color:var(--ns-color-text-secondary);margin:0;font-weight:700}.practice-session__save-status{padding:.75rem 1.5rem}.card-stack__content{justify-items:center;gap:2rem;width:100%;max-width:42rem;margin-inline:auto;display:grid}.card-stack__heading{text-align:center;gap:.5rem;display:grid}.card-stack__heading h1,.card-stack__heading p{margin:0}.card-stack__heap{isolation:isolate;max-width:26rem;min-height:var(--card-stack-card-height);width:calc(100% - 2rem);margin:.75rem 1rem 2rem;position:relative}.card-stack__layer,.card-stack__card{background:var(--ns-color-surface);border:2px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg)}.card-stack__layer{z-index:-1;position:absolute;inset:0}.card-stack__layer--back{background:var(--ns-color-surface-subtle);transform:translateY(1.25rem)rotate(-4deg)}.card-stack__layer--middle{transform:translateY(.625rem)rotate(3deg)}.card-stack__card{min-height:var(--card-stack-card-height);text-align:center;align-items:center;padding:3.5rem 1.5rem 2rem;display:grid;position:relative}.card-stack__card[data-revealed=true]{border-color:var(--ns-color-feedback-success)}.card-stack__card[data-entering=true]{animation:card-stack-settle var(--ns-motion-duration-normal) var(--ns-motion-easing-enter) both}.card-stack__discard{--discard-x:110%;--discard-y:1rem;--discard-rotation:16deg;animation:card-stack-discard var(--ns-motion-easing-exit) both;pointer-events:none;z-index:2;position:absolute;inset:0}.card-stack__discard[data-direction=left]{--discard-x:-110%;--discard-rotation:-16deg}.card-stack__discard[data-direction=down]{--discard-x:15%;--discard-y:90%;--discard-rotation:8deg}.card-stack__discard .card-stack__front,.card-stack__discard .card-stack__answer{animation:linear both card-stack-content-fade;animation-duration:inherit;-webkit-mask-image:linear-gradient(90deg,#000 45%,#0000 55%);mask-image:linear-gradient(90deg,#000 45%,#0000 55%);-webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes card-stack-discard{0%{opacity:1;transform:translate(0)rotate(0)}65%{opacity:1}to{opacity:0;transform:translate(var(--discard-x), var(--discard-y)) rotate(var(--discard-rotation))}}@keyframes card-stack-content-fade{0%{-webkit-mask-position:0 0;mask-position:0 0}to{-webkit-mask-position:100% 0;mask-position:100% 0}}@keyframes card-stack-settle{0%{opacity:.65;transform:translateY(.625rem)rotate(3deg)scale(.98)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}:root[data-motion=reduced] .card-stack__card{animation:none}:root[data-motion=reduced] .card-stack__discard{display:none}@media (prefers-reduced-motion:reduce){.card-stack__card[data-entering=true]{animation:none}.card-stack__discard{display:none}}.card-stack__front,.card-stack__answer{gap:1rem;display:grid}.card-stack__face{overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,6vw,3.5rem);font-weight:800;line-height:1.35}.card-stack__context{color:var(--ns-color-text-secondary);margin:0;font-size:1.5rem}.card-stack__hint,.card-stack__supporting{color:var(--ns-color-text-secondary);margin:0}.card-stack__supporting{font-size:1.25rem}.card-stack__ratings{gap:1rem;display:flex}.card-stack__ratings button{align-items:center;gap:.75rem;display:flex}@media (width<=40rem){.card-stack{--card-stack-card-height:16rem}.card-stack__content{gap:1.25rem}.card-stack__heading h1{font-size:2rem}.card-stack__actions{flex-wrap:wrap;gap:.75rem}.card-stack__ratings{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.card-stack__ratings button{justify-content:center;gap:.5rem;padding-inline:.5rem}.card-stack__actions:has(.card-stack__ratings){align-content:center}}.card-stack{--card-stack-card-height:clamp(14rem, 34dvh, 20rem)}.card-stack .practice-session__body{overflow-x:hidden}.card-stack__supporting{white-space:pre-line}.app-shell{grid-template-columns:16rem minmax(0,1fr);min-height:100vh;display:grid}.app-skip-link{background:var(--ns-color-surface);border-radius:var(--ns-radius-md);color:var(--ns-color-brand-text);z-index:var(--ns-layer-sticky);padding:.5rem .75rem;position:fixed;top:-4rem;left:1rem}.app-skip-link:focus{top:1rem}.app-sidebar{background:var(--ns-color-surface);border-right:2px solid var(--ns-color-border-subtle);color:var(--ns-color-text-primary);grid-area:1/1;align-self:start;height:100vh;padding:1rem;position:sticky;top:0;overflow-y:auto}.app-sidebar__brand{margin-bottom:1rem}.app-brand{border-radius:var(--ns-radius-lg);color:inherit;align-items:center;gap:.75rem;min-height:3.75rem;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.app-brand__mark{flex:none;width:2.25rem;height:2.25rem;display:block}.app-navigation__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.app-navigation__item{border-radius:var(--ns-radius-lg);color:var(--ns-color-text-primary);border:2px solid #0000;align-items:center;gap:1.25rem;min-height:3.25rem;padding:.25rem .5rem;text-decoration:none;display:flex}.app-navigation a.app-navigation__item:hover{background:var(--ns-color-surface-subtle)}.app-navigation a.app-navigation__item[aria-current=page]{background:var(--ns-color-selection);border-color:var(--ns-color-brand-text);color:var(--ns-color-brand-text)}.app-navigation__item:focus-visible,.app-brand:focus-visible,.app-mobile-header__button:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:2px}.app-navigation__icon{flex:none;width:2rem;height:2rem}.app-navigation__label{font-size:var(--ns-text-button-size);font-weight:var(--ns-text-button-weight);letter-spacing:var(--ns-text-button-letter-spacing);text-transform:uppercase}.app-navigation__soon{color:var(--ns-color-text-secondary);letter-spacing:.04em;text-transform:uppercase;margin-left:auto;font-size:.625rem;font-weight:700}.app-shell__body{flex-direction:column;grid-column:2;min-width:0;min-height:100vh;display:flex}.app-shell__main{flex-direction:column;flex:1;width:100%;max-width:72rem;margin-inline:auto;padding:3rem;display:flex}.app-shell__footer{border-top:1px solid var(--ns-color-border-subtle);color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:1.25rem;display:flex}.app-shell__footer-link{color:var(--ns-color-brand-text);font-weight:700}.app-shell__footer-link:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.app-shell--lesson{min-height:100dvh;display:block}.app-shell--lesson .app-shell__body{min-height:100dvh}.app-shell--lesson .app-shell__main{max-width:none;padding:0}.app-mobile-header{display:none}@media (width<=64rem){.app-shell{flex-direction:column;display:flex}.app-mobile-header{background:var(--ns-color-surface);border-bottom:1px solid var(--ns-color-border-subtle);color:var(--ns-color-text-primary);min-height:4rem;z-index:var(--ns-layer-sticky);justify-content:space-between;align-items:center;padding:0 1rem;display:flex;position:sticky;top:0}.app-brand--compact{min-height:3.5rem;font-size:1rem}.app-mobile-header__button{background:var(--ns-color-surface);border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);color:var(--ns-color-text-primary);font-size:var(--ns-text-label-size);align-items:center;gap:.5rem;min-height:2.75rem;padding:.5rem .75rem;font-weight:700;display:inline-flex}.app-mobile-header__icon{gap:.2rem;display:grid}.app-mobile-header__icon span{background:currentColor;border-radius:1px;width:1rem;height:2px}.app-sidebar{border-bottom:2px solid var(--ns-color-border-subtle);border-right:0;flex:none;align-self:stretch;width:100%;height:auto;max-height:calc(100vh - 4rem);display:none;position:static;overflow-y:auto}.app-sidebar[data-open=true]{display:block}.app-sidebar__brand{display:none}.app-shell__body{min-height:calc(100vh - 4rem)}.app-shell__main{padding:2rem 1.25rem}.app-shell__footer{text-align:center;flex-wrap:wrap;justify-content:center}}.kana-chart{width:100%;max-width:54rem;margin-inline:auto;padding-block:1rem 3rem}.kana-chart__page-title{color:var(--ns-color-text-primary);font-size:var(--ns-text-heading-size);font-weight:var(--ns-text-heading-weight);text-align:center;margin:0 0 1.5rem}.kana-chart__script-selector{justify-content:center;max-width:34rem;margin-inline:auto;display:flex}.kana-chart__panel{padding-top:1.5rem}.kana-chart__intro{text-align:center;max-width:38rem;margin-inline:auto}.kana-chart__title{color:var(--ns-color-text-primary);margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;line-height:1.15}.kana-chart__description{color:var(--ns-color-text-secondary);margin:.75rem 0 1.25rem}.kana-chart__learn-button{min-width:min(100%,20rem);text-decoration:none}.kana-chart__section{margin-top:2.25rem}.kana-chart__section-header{text-align:center;max-width:38rem;margin:0 auto 1rem}.kana-chart__section-title{color:var(--ns-color-text-primary);margin:0;font-size:1.2rem;font-weight:800}.kana-chart__section-description{color:var(--ns-color-text-secondary);margin:.35rem 0 0}.kana-chart__rows{gap:.5rem;display:grid}.kana-chart__row{justify-content:center;gap:.5rem;width:max-content;max-width:100%;margin-inline:auto;display:grid}.kana-chart__tile{aspect-ratio:1/.95;background:var(--ns-color-surface);border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);color:var(--ns-color-text-primary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:.35rem .2rem .7rem;transition:border-color .12s,transform .12s;display:flex;position:relative}.kana-chart__tile:hover{border-color:var(--ns-primitive-color-blue-500);transform:translateY(-1px)}.kana-chart__tile:focus-visible,.kana-chart__learn-button:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.kana-chart__glyph{font-size:1.8rem;font-weight:700;line-height:1.05}.kana-chart__romanization{color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);line-height:1.2}.kana-chart__progress{background:var(--ns-color-border-subtle);border-radius:999px;height:.25rem;position:absolute;bottom:.35rem;left:20%;right:20%}.kana-chart__empty{aspect-ratio:1/.95}@media (width<=34rem){.kana-chart__row{gap:.35rem}.kana-chart__tile{padding-inline:.1rem}.kana-chart__glyph{font-size:1.5rem}}.kana-chart__practice-link{color:var(--ns-color-brand-text);font-size:var(--ns-text-label-size);text-underline-offset:.2em;font-weight:700}.kana-chart__practice-link:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.welcome-home{gap:3rem;margin-block:auto;padding-block:1rem;display:grid}.welcome-hero{grid-template-columns:minmax(0,1fr) 18rem;align-items:center;gap:2rem;display:grid;position:relative}.welcome-copy{min-width:0}.welcome-greeting{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.welcome-greeting__japanese{color:var(--ns-color-brand-text);letter-spacing:.08em;font-family:serif;font-size:1.5rem}.welcome-title{text-wrap:balance;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.15}.welcome-title span{display:block}.welcome-introduction{text-wrap:pretty;max-width:33rem}.welcome-reassurance{color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);align-items:center;gap:.65rem;margin:0;display:flex}.welcome-reassurance span{background:var(--ns-color-brand);border-radius:var(--ns-radius-pill);flex:none;width:.4rem;height:.4rem}.welcome-illustration{height:21rem;position:relative}.welcome-sun{background:color-mix(in srgb, var(--ns-color-brand) 12%, var(--ns-color-canvas));border:1px solid color-mix(in srgb, var(--ns-color-brand) 15%, transparent);border-radius:var(--ns-radius-pill);width:14rem;height:14rem;position:absolute;top:.5rem;right:0}.welcome-sun:after{border:1px solid color-mix(in srgb, var(--ns-color-brand) 10%, transparent);border-radius:inherit;content:"";position:absolute;inset:-.8rem}.welcome-kitsune{width:6.75rem;height:6.75rem;position:absolute;top:1.8rem;right:2rem;transform:rotate(8deg)}.welcome-kana-paper{background-color:var(--ns-color-surface);background-image:linear-gradient(var(--ns-color-border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--ns-color-border-subtle) 1px, transparent 1px);border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);box-shadow:var(--ns-elevation-hover);background-size:2.5rem 2.5rem;justify-items:center;width:12.5rem;padding:1rem 1.25rem;display:grid;position:absolute;bottom:3rem;left:.5rem;transform:rotate(-7deg)}.welcome-paper-label{background:var(--ns-color-surface);color:var(--ns-color-text-secondary);font-size:var(--ns-text-caption-size);letter-spacing:.2em;padding-inline:.25rem}.welcome-paper-glyph{color:var(--ns-color-text-primary);font-family:serif;font-size:7rem;line-height:1.35}.welcome-paper-reading{color:var(--ns-color-brand-text);font-weight:var(--ns-text-heading-weight)}.welcome-seal{border-radius:var(--ns-radius-md);color:var(--ns-color-brand-text);letter-spacing:.16em;text-orientation:upright;writing-mode:vertical-rl;border:2px solid;padding:.5rem;font-family:serif;font-size:1.2rem;position:absolute;bottom:4.5rem;right:.3rem;transform:rotate(5deg)}.welcome-illustration-caption{color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);text-align:center;width:100%;position:absolute;bottom:.25rem}.welcome-paths{gap:1.25rem;display:grid}.welcome-paths__heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;display:flex}.welcome-path-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.welcome-path-list>li{min-width:0}.welcome-path{flex-direction:column;gap:1rem;height:100%;padding:1.25rem;display:flex}.welcome-path__top{align-items:center;gap:.5rem;min-height:2.5rem;display:flex}.welcome-path__number{color:var(--ns-color-text-tertiary);font-size:var(--ns-text-label-size);font-weight:var(--ns-text-heading-weight)}.welcome-path__suggestion{background:var(--ns-color-selection);border-radius:var(--ns-radius-pill);color:var(--ns-color-brand-text);font-size:var(--ns-text-caption-size);font-weight:var(--ns-text-heading-weight);padding:.25rem .6rem}.welcome-path__glyph{color:var(--ns-color-brand-text);margin-inline-start:auto;font-family:serif;font-size:2rem;line-height:1.25}.welcome-path__title{font-size:1.3rem}.welcome-path__description{flex:1;font-size:.95rem}.welcome-path__detail{line-height:1.5}.welcome-path__action{letter-spacing:.02em;text-align:center;width:100%;font-size:.75rem}@media (width<=50rem){.welcome-home{gap:2rem;padding-block:0}.welcome-hero{display:block}.welcome-greeting{flex-direction:column;place-content:center;align-items:start;min-height:5.5rem;padding-inline-end:7rem}.welcome-illustration{width:5.5rem;height:5.5rem;position:absolute;top:0;right:0}.welcome-sun{width:5rem;height:5rem;top:0}.welcome-sun:after{inset:-.3rem}.welcome-kitsune{width:4.5rem;height:4.5rem;top:.25rem;right:.25rem}.welcome-kana-paper,.welcome-seal,.welcome-illustration-caption{display:none}.welcome-path-list{grid-template-columns:minmax(0,1fr)}.welcome-path__action{font-size:var(--ns-text-label-size)}}.welcome-particles,.welcome-kanji{flex-wrap:wrap;align-items:center;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);display:flex}.welcome-particles>.ns-stack,.welcome-kanji>.ns-stack{flex:16rem}.welcome-particles__glyph,.welcome-kanji__glyph{color:var(--ns-color-brand-text);font:2.5rem serif}.settings-page{width:100%;max-width:64rem;margin:auto;padding-block:1rem 3rem}.settings-page__header{max-width:42rem;margin-bottom:2rem}.settings-page__eyebrow,.settings-page__section-label{color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5rem;font-weight:800}.settings-page__header h1{color:var(--ns-color-text-primary);font-size:var(--ns-text-display-size);font-weight:var(--ns-text-display-weight);line-height:var(--ns-text-display-line-height);margin:0}.settings-page__header>p:last-child{color:var(--ns-color-text-secondary);margin:.75rem 0 0}.settings-page__layout{grid-template-columns:minmax(0,1fr) minmax(15rem,18rem);align-items:start;gap:2rem;display:grid}.settings-page__preferences{min-width:0}.settings-page__section{margin-bottom:2.25rem;scroll-margin-top:1rem}.settings-page__section h2{border-bottom:1px solid var(--ns-color-border-subtle);color:var(--ns-color-text-primary);font-size:var(--ns-text-heading-size);font-weight:var(--ns-text-heading-weight);margin:0;padding-bottom:.75rem}.settings-page__row{border-bottom:1px solid var(--ns-color-border-subtle);justify-content:space-between;align-items:center;gap:1rem;min-height:5rem;padding:1rem 0;display:flex}.settings-page__row-copy{min-width:0}.settings-page__row-copy h3,.settings-page__row-copy label{color:var(--ns-color-text-primary);font-size:var(--ns-text-body-size);margin:0;font-weight:700;display:block}.settings-page__row-copy p{color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);margin:.25rem 0 0}.settings-page__row--select select{background:var(--ns-color-surface);border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-control);color:var(--ns-color-text-primary);flex:0 0 min(14rem,45%);min-height:2.75rem;padding:.5rem 2rem .5rem .75rem}.settings-page__row--select select:focus-visible,.settings-page__aside a:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.settings-page__aside{gap:1rem;display:grid;position:sticky;top:1.5rem}.settings-page__card{border-radius:var(--ns-radius-lg);gap:1rem;padding:1.25rem;display:grid}.settings-page__card h2{color:var(--ns-color-text-primary);font-size:var(--ns-text-heading-size);margin:0}.settings-page__card nav{gap:.25rem;display:grid}.settings-page__card a{border-radius:var(--ns-radius-md);color:var(--ns-color-text-primary);padding:.55rem .25rem;font-weight:700;text-decoration:none}.settings-page__card a:hover{color:var(--ns-color-brand-text-hover)}.settings-page__card p{color:var(--ns-color-text-secondary);margin:0}.settings-page__card>a{color:var(--ns-color-brand-text)}@media (width<=52rem){.settings-page__layout{grid-template-columns:minmax(0,1fr)}.settings-page__aside{position:static}}@media (width<=34rem){.settings-page__row--select{flex-direction:column;align-items:stretch}.settings-page__row--select select{flex:auto;width:100%}}.words-page{gap:1.5rem;width:100%;max-width:54rem;margin:auto;padding-block:1rem 3rem;display:grid}.words-page__header{max-width:40rem}.words-page__eyebrow{color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);margin:0 0 .5rem;font-weight:700}.words-page__title{color:var(--ns-color-text-primary);font-size:var(--ns-text-display-size);font-weight:var(--ns-text-display-weight);line-height:var(--ns-text-display-line-height);margin:0}.words-page__intro{color:var(--ns-color-text-secondary);margin:.75rem 0 0}.words-page__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem 1.5rem;display:flex}.words-page__count{color:var(--ns-color-text-secondary);margin:0;font-weight:700}.words-page__sort{color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);gap:.35rem;font-weight:700;display:grid}.words-page__sort select{background:var(--ns-color-surface);border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-md);color:var(--ns-color-text-primary);min-width:min(100%,16rem);min-height:2.75rem;padding:.45rem .75rem}.words-page__sort select:focus-visible,.words-page__start:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.words-page__list{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.words-page__card{background:var(--ns-color-surface);border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-lg);box-shadow:var(--ns-elevation-card);justify-content:space-between;align-items:center;gap:1rem;min-height:6rem;padding:1rem 1.25rem;display:flex}.words-page__reading h2{color:var(--ns-color-text-primary);margin:0;font-size:2rem;line-height:1.1}.words-page__reading p{color:var(--ns-color-text-secondary);margin:.25rem 0 0}.words-page__meaning{color:var(--ns-color-text-primary);text-align:right;margin:0;font-weight:700}.words-page__meaning-label{color:var(--ns-color-text-secondary);font-size:var(--ns-text-caption-size);margin-bottom:.15rem;font-weight:600;display:block}.words-page__start{text-align:center;justify-self:start;min-width:min(100%,16rem);text-decoration:none}@media (width<=34rem){.words-page__toolbar{flex-direction:column;align-items:stretch}.words-page__start{width:100%}}.words-page__back{color:var(--ns-color-brand-text);text-underline-offset:.2em;font-weight:700}.words-page__back:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.practice-hub{gap:2rem;width:100%;max-width:60rem;margin-inline:auto;padding-block:1rem 3rem;display:grid}.practice-hub__header h1{font-size:var(--ns-text-display-size);line-height:var(--ns-text-display-line-height);margin:0}.practice-hub__header>p:last-child,.practice-hub__section-header p,.practice-hub__game .ns-card__surface>p:not(.practice-hub__eyebrow){color:var(--ns-color-text-secondary);margin:0}.practice-hub__header,.practice-hub__section,.practice-hub__section-header{gap:.625rem;display:grid}.practice-hub__section{gap:1.25rem}.practice-hub__section-header h2{font-size:var(--ns-text-heading-size);margin:0}.practice-hub__eyebrow{color:var(--ns-color-text-secondary);font-size:var(--ns-text-label-size);margin:0;font-weight:700}.practice-hub__games{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.practice-hub__game .ns-card__surface{flex-direction:column;gap:.75rem;height:100%;padding:1.25rem;display:flex}.practice-hub__game h3{font-size:var(--ns-text-heading-size);margin:0;line-height:1.2}.practice-hub__art{background:var(--ns-color-surface-subtle);border-radius:var(--ns-radius-lg);color:var(--ns-color-text-primary);justify-content:center;align-items:center;gap:.75rem;height:4.5rem;margin-bottom:.5rem;font-size:2.25rem;font-weight:800;display:flex}.practice-hub__art--reading{background:var(--ns-color-feedback-success-surface);color:var(--ns-color-feedback-success)}.practice-hub__art--words>span:last-child{font-size:1.25rem}.practice-hub__play{text-align:center;align-self:start;width:100%;margin-top:auto;text-decoration:none}@media (width<=40rem){.practice-hub__games{grid-template-columns:minmax(0,1fr)}}.practice-hub__starter .ns-card__surface{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.practice-hub__starter h3{margin:0;font-size:1.25rem;font-weight:800}.practice-hub__starter p{color:var(--ns-color-text-secondary);max-width:32rem;margin:.5rem 0 0}.practice-hub__reference{color:var(--ns-color-brand-text);text-underline-offset:.2em;font-weight:700}.practice-hub__reference:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-focus);outline-offset:3px}.practice-hub__art--quiz{background:var(--ns-color-action-primary-subtle,var(--ns-color-surface-subtle))}.practice-hub__art--cards{color:var(--ns-color-brand-text)}.words-practice .practice-session__body{padding-block:1rem}.words-practice__content{text-align:center;justify-items:center;gap:1rem;width:100%;max-width:46rem;margin-inline:auto;display:grid}.words-practice__content>p{color:var(--ns-color-text-secondary);max-width:38rem;margin:0}.words-practice__eyebrow{font-size:var(--ns-text-label-size);letter-spacing:.04em;text-transform:uppercase;font-weight:800}.kanji-theory{width:100%;max-width:60rem;margin-inline:auto;padding-block:1rem 3rem}.kanji-theory--reader{max-width:48rem}.kanji-theory header{gap:1rem;display:grid}.kanji-theory h1{text-wrap:balance;font-size:clamp(2rem,5vw,3rem);line-height:1.3}.kanji-theory h2{font-size:1.4rem}.kanji-theory p{line-height:1.75}.kanji-theory__unit{padding:clamp(1.25rem,4vw,2rem)}.kanji-theory__catalog{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:1rem;margin-top:1rem;padding:0;list-style:none;display:grid}.kanji-theory__card{text-align:center;color:var(--ns-color-text-primary);background:var(--ns-color-surface);border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-card);box-shadow:var(--ns-elevation-card);overflow-wrap:anywhere;gap:.65rem;padding:1.25rem;text-decoration:none;display:grid}.kanji-theory__card:hover{border-color:var(--ns-color-brand-text)}.kanji-theory__glyph{color:var(--ns-color-brand-text);font:3rem serif}.kanji-theory__word{font-size:clamp(2rem,6vw,3rem)}.kanji-theory__readings{gap:1rem;display:grid}.kanji-theory__readings dt{color:var(--ns-color-text-secondary);margin-bottom:.35rem}.kanji-theory__readings dd{overflow-wrap:anywhere;margin:0;font-size:1.4rem}.kanji-theory__back,.kanji-theory__sources a{color:var(--ns-color-brand-text);text-underline-offset:.2em;text-decoration:underline}.kanji-theory__sources{color:var(--ns-color-text-secondary);line-height:1.7}.kanji-theory__sources summary{cursor:pointer}.kanji-theory__sources ul{margin-top:1rem;padding-inline-start:1.25rem}.kanji-theory__sources li+li{margin-top:1rem}.kanji-theory__navigation{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.kanji-theory__choices{flex-wrap:wrap;gap:.75rem;display:flex}.kanji-theory__choices button{white-space:normal;overflow-wrap:anywhere;min-width:min(100%,7rem);max-width:100%}.kanji-theory__choices button[aria-pressed=true]{background:var(--ns-color-selection);border-color:var(--ns-color-brand-text)}.kanji-theory__feedback{border-radius:var(--ns-radius-lg);background:var(--ns-color-selection);border-inline-start:3px solid var(--ns-color-brand-text);padding:1rem}.kanji-theory__feedback p{margin-top:.5rem}.kanji-theory__card:focus-visible,.kanji-theory__sources summary:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-brand-text);outline-offset:4px}@media (width<=36rem){.kanji-theory__navigation{flex-direction:column}}.writing-history{width:100%;max-width:54rem;margin-inline:auto;padding-block:1rem 3rem}.writing-history h1{text-wrap:balance;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;line-height:1.15}.writing-history h2{font-size:1.3rem;font-weight:800;line-height:1.3}.writing-history h3{font-size:1rem;font-weight:800}.writing-history p{color:var(--ns-color-text-secondary);line-height:1.75}.history-intro{text-align:center;max-width:42rem;margin:2rem auto}.history-intro p{margin-top:1rem}.history-intro .history-eyebrow{color:var(--ns-color-brand-text);letter-spacing:.025em;font-size:.85rem;font-weight:800}.history-overview-glyphs{color:var(--ns-color-brand-text);flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.5rem;font-size:clamp(2rem,6vw,3.5rem);display:flex}.history-overview-glyphs span:nth-child(3){margin-right:1rem}.history-back-link,.history-sources a{color:var(--ns-color-brand-text);text-underline-offset:.2em;font-weight:800;text-decoration:underline}.history-read-status{font-weight:800;color:var(--ns-color-feedback-success)!important}.history-units{gap:1.5rem;display:grid}.history-unit-surface{padding:clamp(1.3rem,3vw,2.2rem)}.history-unit h2{margin-bottom:1rem}.history-unit p+p,.history-supplement p{margin-top:.8rem}.history-sources{color:var(--ns-color-text-secondary);overflow-wrap:anywhere;margin-top:1.5rem;font-size:.85rem}.history-sources summary,.history-supplement summary{cursor:pointer;font-weight:800}.history-sources ul{margin-top:.75rem;padding-inline-start:1.25rem}.history-sources li+li{margin-top:.7rem}.history-supplement{border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-card);padding:1.25rem 1.5rem}.history-reader-footer{justify-items:center;gap:1.5rem;margin-top:2rem;display:grid}.history-reader-footer nav{flex-wrap:wrap;justify-content:space-between;gap:1rem;width:100%;display:flex}.history-next-steps{text-align:center;flex-wrap:wrap;justify-content:center;gap:1rem;padding:2rem 0;display:flex}.history-next-steps h2,.history-next-steps p{flex-basis:100%}.history-storage-status{font-size:.85rem}.history-storage-error{background:var(--ns-color-feedback-warning-surface);border-radius:var(--ns-radius-lg);flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem;display:flex}.history-storage-error p{flex:15rem}.history-course-progress{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.history-course-progress>div{flex:1}.history-course-progress p{margin:.5rem 0 1rem}.history-chapter-list{gap:.85rem;margin-top:1.5rem;padding:0;list-style:none;display:grid}.history-chapter-card{border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-card);background:var(--ns-color-surface);box-shadow:var(--ns-elevation-card);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.4rem;text-decoration:none;display:grid}.history-chapter-card:hover{border-color:var(--ns-color-brand-text)}.history-chapter-card h2{font-size:1.1rem}.history-chapter-card p{margin:.4rem 0}.history-chapter-number,.history-node-number{color:var(--ns-color-brand-text);font-weight:800}.history-chapter-number{font-size:1.5rem}.history-chapter-open{color:var(--ns-color-brand-text);font-size:1.5rem}.history-caption{color:var(--ns-color-text-secondary);font-size:.85rem;display:block}@media (width<=40rem){.history-course-progress{flex-direction:column;align-items:stretch}.history-chapter-card{grid-template-columns:auto minmax(0,1fr);gap:.8rem;padding:1rem}.history-chapter-open{display:none}}.history-comparison,.history-comparison-detail,.history-script-example{gap:1.25rem;display:grid}.history-comparison-detail{animation:history-comparison-reveal var(--ns-motion-duration-slow) var(--ns-motion-easing-enter) both}@keyframes history-comparison-reveal{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}:root[data-motion=reduced] .history-comparison-detail{animation:none}@media (prefers-reduced-motion:reduce){.history-comparison-detail{animation:none}}.history-comparison .ns-segmented-control,.history-script-example .ns-segmented-control{max-width:100%;overflow-x:auto}.history-character-pair{border-radius:var(--ns-radius-card);background:var(--ns-color-surface-subtle);text-align:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding:1.5rem 1rem;display:grid}.history-glyph{color:var(--ns-color-text-primary);font-family:serif;font-size:clamp(4rem,12vw,7rem);line-height:1.25;display:block}.history-hentaigana,.history-choice-glyph{font-family:NINJAL Hentaigana,serif}.history-character-arrow{color:var(--ns-color-brand-text);font-size:2rem}.history-usage-result strong{font-size:clamp(1.2rem,4vw,2rem)}.history-usage-result p{font-size:.9rem}.history-origin-note{border-inline-start:3px solid var(--ns-color-brand-text);padding-inline-start:1rem;font-size:.9rem}.history-origin-note strong{color:var(--ns-color-brand-text)}@media (width<=40rem){.history-comparison .ns-radio-group.ns-segmented-control[data-orientation=horizontal]{flex-wrap:wrap}.history-character-pair{gap:.5rem;padding-inline:.5rem}}.history-flow{width:100%;max-width:38rem;margin-inline:auto;display:block;overflow:visible}.history-flow rect{fill:var(--ns-color-surface-subtle);stroke:var(--ns-color-border-subtle)}.history-flow text{fill:var(--ns-color-text-primary);text-anchor:middle;dominant-baseline:central;font-size:22px;font-weight:800}.history-flow marker path{fill:var(--ns-color-brand-text)}.history-flow-edge{fill:none;stroke:var(--ns-color-brand-text);stroke-width:2px}.history-diagram-details{margin-top:1rem}.history-diagram-details summary{cursor:pointer;margin-bottom:1rem;font-weight:800}.history-diagram-nodes{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;display:grid}.history-diagram-node{border-radius:var(--ns-radius-lg);background:var(--ns-color-surface-subtle);padding:1.2rem}.history-diagram-node h3{margin-block:.4rem}.history-diagram-node p{font-size:.9rem}.history-connections{gap:.6rem;margin-top:1.2rem;padding:0;list-style:none;display:grid}.history-connections li{border-bottom:1px solid var(--ns-color-border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.7rem;padding:.75rem;font-size:.9rem;display:grid}.history-connection-label{color:var(--ns-color-brand-text)}.history-timeline{border-inline-start:3px solid var(--ns-color-brand-text);gap:1.5rem;margin-left:.5rem;padding:0 0 0 1.5rem;list-style:none;display:grid}.history-timeline li{position:relative}.history-timeline li:before{content:"";background:var(--ns-color-brand-text);border-radius:50%;width:.7rem;height:.7rem;position:absolute;top:.4rem;left:-1.95rem}.history-timeline p{margin-top:.4rem}@media (width<=40rem){.history-flow text{font-size:28px}.history-connections li{grid-template-columns:minmax(0,1fr);gap:.25rem}}.history-sentence{text-align:center;border-radius:var(--ns-radius-card);background:var(--ns-color-surface-subtle);overflow-wrap:anywhere;padding:1.5rem .5rem;font-size:clamp(1.75rem,5vw,2.5rem)}.history-sentence span{color:var(--ns-color-text-secondary);border-bottom:3px solid #0000}.history-sentence [data-highlighted=true][data-script=kanji]{color:var(--ns-color-brand-text);border-bottom-color:currentColor}.history-sentence [data-highlighted=true][data-script=hiragana]{color:var(--ns-color-feedback-success);border-bottom-color:currentColor}.history-sentence [data-highlighted=true][data-script=katakana],.history-sentence [data-highlighted=true][data-script=romaji]{color:var(--ns-color-feedback-info);border-bottom-color:currentColor}.history-translation{text-align:center}.history-script-legend{gap:.7rem;padding:0;list-style:none;display:grid}.history-script-legend li{grid-template-columns:4.5rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.history-token{text-align:center;border-radius:var(--ns-radius-md);background:var(--ns-color-surface-subtle);overflow-wrap:anywhere;padding:.5rem;font-size:1.2rem}.history-script-legend p{font-size:.9rem}@font-face{font-family:NINJAL Hentaigana;src:url(/opennihongo/assets/ninjal_hentaigana-ZV3gqHt3.woff2)format("woff2");font-display:swap;unicode-range:U+1B001-1B11E}.particles-page{width:100%;max-width:60rem;margin-inline:auto;padding-block:1rem 3rem}.particles-reader{max-width:48rem}.particles-page h1{text-wrap:balance;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.25}.particles-page h2{font-size:1.3rem;font-weight:800}.particles-page p{line-height:1.75}.particles-introduction{gap:1rem;max-width:44rem;display:grid}.particles-welcome{grid-template-columns:minmax(8rem,1fr) 3fr;align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.particles-welcome__glyphs{color:var(--ns-color-brand-text);flex-wrap:wrap;justify-content:center;gap:.5rem;font-family:serif;font-size:clamp(2.5rem,5vw,4rem);display:flex}.particles-welcome__glyphs span{border-bottom:2px solid var(--ns-color-border-subtle);padding:.3rem}.particles-welcome .ns-button{align-self:start}.particles-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;padding:0;list-style:none;display:grid}.particles-card{border:1px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-card);background:var(--ns-color-surface);height:100%;box-shadow:var(--ns-elevation-card);color:var(--ns-color-text-primary);transition:border-color var(--ns-motion-duration-fast);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.5rem;text-decoration:none;display:grid}.particles-card:hover{border-color:var(--ns-color-brand-text)}.particles-card__glyph{color:var(--ns-color-brand-text);font-family:serif;font-size:2.8rem}.particles-card__copy{gap:.6rem;line-height:1.6;display:grid}.particles-card h3{font-size:1.1rem;line-height:1.4}.particles-eyebrow{color:var(--ns-color-text-secondary);font-size:.8rem}.particles-back,.particles-sources a{color:var(--ns-color-brand-text);text-underline-offset:.2em;text-decoration:underline}.particles-unit{padding:clamp(1.25rem,4vw,2rem)}.particles-unit .ns-segmented-control{flex-wrap:wrap;align-self:start;max-width:100%}.particles-unit .ns-segmented-control__option{white-space:normal;text-align:center}.particles-sentence{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.2rem;padding-block:.75rem;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.8;display:flex}.particles-token{min-width:var(--ns-size-pointer-target-comfortable);min-height:var(--ns-size-pointer-target-comfortable);border:2px solid var(--ns-color-border-subtle);border-radius:var(--ns-radius-control);background:var(--ns-color-surface);color:var(--ns-color-brand-text);font:inherit;cursor:pointer;transition:background var(--ns-motion-duration-fast), border-color var(--ns-motion-duration-fast);padding-inline:.35rem}.particles-token[aria-pressed=true],.particles-check-options button[aria-pressed=true]{background:var(--ns-color-selection);border-color:var(--ns-color-brand-text)}.particles-card:focus-visible,.particles-token:focus-visible,.particles-sources summary:focus-visible{outline:var(--ns-border-width-focus) solid var(--ns-color-brand-text);outline-offset:4px}.particles-reading{margin-top:.8rem}.particles-explanation,.particles-feedback{border-radius:var(--ns-radius-lg);background:var(--ns-color-selection);border-inline-start:3px solid var(--ns-color-brand-text);padding:1.25rem}.particles-explanation p,.particles-feedback p,.particles-note p{margin-top:.5rem}.particles-note{border-inline-start:2px solid var(--ns-color-border-subtle);padding:.25rem 1.5rem}.particles-check-options,.particles-related,.particles-lesson-navigation{flex-wrap:wrap;gap:.75rem;display:flex}.particles-related{margin-top:1rem}.particles-lesson-navigation{justify-content:space-between}.particles-sources{color:var(--ns-color-text-secondary);font-size:.85rem;line-height:1.7}.particles-sources summary{cursor:pointer}.particles-sources ul{margin-top:1rem;padding-inline-start:1.25rem}.particles-reveal{animation:particle-reveal var(--ns-motion-duration-slow) var(--ns-motion-easing-enter) both}@keyframes particle-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}:root[data-motion=reduced] .particles-reveal{animation:none}@media (prefers-reduced-motion:reduce){.particles-reveal{animation:none}}@media (width<=48rem){.particles-catalog{grid-template-columns:minmax(0,1fr)}}@media (width<=36rem){.particles-welcome{grid-template-columns:minmax(0,1fr);gap:1rem}.particles-welcome__glyphs{justify-content:start}.particles-card{gap:.8rem;padding:1.1rem}.particles-lesson-navigation{flex-direction:column}}
