.onboarding-mission,.onboarding-mission__surface{display:grid;gap:var(--space-4)}.onboarding-mission__surface{border:1px solid color-mix(in srgb,var(--color-accent-strong) 30%,var(--color-border));border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 10%,var(--color-surface)) 0,var(--color-surface) 100%);box-shadow:0 2px 0 rgb(47 36 29/.08);padding:var(--space-5)}.onboarding-mission__header{display:grid;gap:var(--space-2)}.onboarding-mission__eyebrow{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em;color:var(--color-accent-strong)}.onboarding-mission__title{margin:0;font-size:var(--font-size-xl);line-height:1.3}.onboarding-mission__description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed)}.onboarding-mission__progress{display:grid;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);padding:var(--space-3)}.onboarding-mission__progress-row{display:flex;justify-content:space-between;gap:var(--space-2)}.onboarding-mission__progress-row>p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.onboarding-mission__progress-bar{width:100%;height:.55rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-border) 80%,#fff 20%);overflow:hidden}.onboarding-mission__progress-bar>span{display:block;height:100%;border-radius:inherit;background:var(--color-accent);transition:width .18s ease}.onboarding-mission__motivation{display:grid;gap:var(--space-2);border:1px solid color-mix(in srgb,var(--color-warning) 44%,var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-warning) 10%,var(--color-surface));padding:var(--space-3)}.onboarding-mission__motivation-eyebrow{margin:0;color:color-mix(in srgb,var(--color-warning) 76%,#744c00 24%);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.onboarding-mission__motivation-title{margin:0;color:var(--color-text);font-size:var(--font-size-md)}.onboarding-mission__motivation-description{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.onboarding-mission__reward-map{display:grid;gap:var(--space-2)}.onboarding-mission__reward-title{margin:0;font-size:var(--font-size-md)}.onboarding-mission__reward-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.onboarding-mission__reward-item{display:grid;gap:var(--space-1);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);padding:var(--space-3)}.onboarding-mission__reward-item--unlocked{border-style:solid;border-color:color-mix(in srgb,var(--color-accent-strong) 50%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}.onboarding-mission__reward-cta,.onboarding-mission__reward-description,.onboarding-mission__reward-name,.onboarding-mission__reward-state,.onboarding-mission__reward-trigger{margin:0}.onboarding-mission__reward-state,.onboarding-mission__reward-trigger{color:var(--color-text-muted);font-size:var(--font-size-xs)}.onboarding-mission__reward-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.onboarding-mission__reward-description{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.onboarding-mission__reward-cta{color:var(--color-accent-strong);font-size:var(--font-size-xs)}.onboarding-mission__day-card,.onboarding-mission__day-list{display:grid;gap:var(--space-3)}.onboarding-mission__day-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-4)}.onboarding-mission__day-header{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center}.onboarding-mission__day-label{margin:0;color:var(--color-accent-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.onboarding-mission__day-status{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.onboarding-mission__day-status--done{color:var(--color-accent-strong)}.onboarding-mission__day-title{margin:0;font-size:var(--font-size-md)}.onboarding-mission__day-goal{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.onboarding-mission__checkpoint-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.onboarding-mission__checkpoint-item{display:grid;gap:var(--space-1);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);padding:var(--space-3)}.onboarding-mission__checkpoint-toggle{display:inline-flex;gap:var(--space-2);align-items:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.onboarding-mission__checkpoint-item>p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.onboarding-mission__checkpoint-item>a{font-size:var(--font-size-xs);color:var(--color-accent-strong);text-decoration:underline}.onboarding-mission__actions{display:grid;gap:var(--space-2)}.onboarding-mission__completion-note{margin:0;border:1px solid color-mix(in srgb,var(--color-accent-strong) 45%,var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));color:var(--color-text);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);padding:var(--space-3)}.onboarding-mission__action-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-mission__action-links>a{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;background:var(--color-surface-alt);color:var(--color-text);text-decoration:none;font-weight:var(--font-weight-semibold)}.onboarding-mission__action-links>a,.onboarding-mission__reset{border-radius:var(--radius-pill);border:1px solid var(--color-border);font-size:var(--font-size-xs);padding:0 var(--space-3)}.onboarding-mission__reset{width:fit-content;min-height:2.2rem;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.onboarding-mission__reset:disabled{opacity:.55;cursor:not-allowed}.onboarding-mission__storage-note{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.onboarding-mission__action-links>a,.onboarding-mission__checkpoint-toggle input,.onboarding-mission__reset{accent-color:var(--color-accent-strong)}.onboarding-mission__action-links>a:focus-visible,.onboarding-mission__checkpoint-item>a:focus-visible,.onboarding-mission__checkpoint-toggle:focus-within,.onboarding-mission__reset:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}@media (max-width:430px){.onboarding-mission__surface{padding:var(--space-4)}.onboarding-mission__action-links{flex-direction:column}.onboarding-mission__action-links>a,.onboarding-mission__reset{width:100%}}.onboarding-returning,.onboarding-returning__surface{display:grid;gap:var(--space-4)}.onboarding-returning__surface{border:1px solid color-mix(in srgb,var(--color-accent-strong) 28%,var(--color-border));border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 10%,var(--color-surface)) 0,var(--color-surface) 100%);box-shadow:0 2px 0 rgb(47 36 29/.08);padding:var(--space-5)}.onboarding-returning__header{display:grid;gap:var(--space-2)}.onboarding-returning__eyebrow{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent-strong);letter-spacing:.02em}.onboarding-returning__title{margin:0;font-size:var(--font-size-xl);line-height:1.3}.onboarding-returning__description{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.onboarding-returning__status{display:grid;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);padding:var(--space-4)}.onboarding-returning__status-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.onboarding-returning__status-header>h2,.onboarding-returning__status-header>p{margin:0}.onboarding-returning__status-header>h2{font-size:var(--font-size-md)}.onboarding-returning__status-header>p{color:var(--color-text-muted);font-size:var(--font-size-xs)}.onboarding-returning__status-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.onboarding-returning__status-grid>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-3);display:grid;gap:var(--space-1)}.onboarding-returning__status-grid dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.onboarding-returning__status-grid dd{margin:0;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.onboarding-returning__status-empty{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.onboarding-returning__plan{display:grid;gap:var(--space-2);border:1px solid color-mix(in srgb,var(--color-accent-strong) 35%,var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-accent) 9%,var(--color-surface));padding:var(--space-4)}.onboarding-returning__plan>h2,.onboarding-returning__plan>p{margin:0}.onboarding-returning__plan>h2{font-size:var(--font-size-lg)}.onboarding-returning__plan>p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.onboarding-returning__plan-reason{color:var(--color-accent-strong)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-semibold)}.onboarding-returning__plan-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-returning__primary-link,.onboarding-returning__secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.4rem;border-radius:var(--radius-pill);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:0 var(--space-3)}.onboarding-returning__primary-link{background:var(--color-accent);color:var(--color-surface)}.onboarding-returning__secondary-link{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.onboarding-returning__progress{display:grid;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);padding:var(--space-3)}.onboarding-returning__progress-row{display:flex;justify-content:space-between;gap:var(--space-2)}.onboarding-returning__progress-row>p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.onboarding-returning__progress-bar{width:100%;height:.55rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-border) 80%,#fff 20%);overflow:hidden}.onboarding-returning__progress-bar>span{display:block;height:100%;border-radius:inherit;background:var(--color-accent);transition:width .18s ease}.onboarding-returning__checkpoint-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.onboarding-returning__checkpoint-item{display:grid;gap:var(--space-1);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);padding:var(--space-3)}.onboarding-returning__checkpoint-toggle{display:inline-flex;gap:var(--space-2);align-items:center;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.onboarding-returning__checkpoint-item>p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.onboarding-returning__checkpoint-item>a{color:var(--color-accent-strong);font-size:var(--font-size-xs);text-decoration:underline}.onboarding-returning__footer{display:grid;gap:var(--space-2)}.onboarding-returning__completion-note{margin:0;border:1px solid color-mix(in srgb,var(--color-accent-strong) 45%,var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));color:var(--color-text);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);padding:var(--space-3)}.onboarding-returning__support-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-returning__support-links>a{display:inline-flex;align-items:center;justify-content:center;min-height:2.2rem;color:var(--color-text);text-decoration:none}.onboarding-returning__reset,.onboarding-returning__support-links>a{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-size-xs);padding:0 var(--space-3)}.onboarding-returning__reset{width:fit-content;min-height:2.1rem;color:var(--color-text-muted);cursor:pointer}.onboarding-returning__reset:disabled{opacity:.55;cursor:not-allowed}.onboarding-returning__storage-note{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.onboarding-returning__checkpoint-toggle input,.onboarding-returning__reset,.onboarding-returning__support-links>a{accent-color:var(--color-accent-strong)}.onboarding-returning__checkpoint-item>a:focus-visible,.onboarding-returning__checkpoint-toggle:focus-within,.onboarding-returning__primary-link:focus-visible,.onboarding-returning__reset:focus-visible,.onboarding-returning__secondary-link:focus-visible,.onboarding-returning__support-links>a:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}@media (max-width:430px){.onboarding-returning__surface{padding:var(--space-4)}.onboarding-returning__status-grid{grid-template-columns:1fr}.onboarding-returning__plan-actions,.onboarding-returning__support-links{flex-direction:column}.onboarding-returning__primary-link,.onboarding-returning__reset,.onboarding-returning__secondary-link,.onboarding-returning__support-links>a{width:100%}}:root,body,html{min-height:100%}body{margin:0}[data-nextjs-dev-overlay=true],nextjs-portal{display:none!important}.mobile-frame-stage{--frame-gutter-inline:16px;--frame-gutter-block:16px;--viewport-height:100vh;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);min-height:var(--viewport-height);display:grid;place-items:center;padding:calc(var(--frame-gutter-block) + var(--safe-area-top)) calc(var(--frame-gutter-inline) + var(--safe-area-right)) calc(var(--frame-gutter-block) + var(--safe-area-bottom)) calc(var(--frame-gutter-inline) + var(--safe-area-left));background:radial-gradient(circle at top,#fffaf2 0,#f7f2e9 45%,#efe2cf 100%)}.mobile-frame{width:min(100%,430px);height:calc(var(--viewport-height) - (var(--frame-gutter-block) * 2) - var(--safe-area-top) - var(--safe-area-bottom));min-height:calc(100vh - (var(--frame-gutter-block) * 2));min-height:calc(100dvh - (var(--frame-gutter-block) * 2));display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--color-border) 75%,#000 5%);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg);box-shadow:0 8px 24px rgb(47 36 29/.1),0 2px 8px rgb(47 36 29/.08)}@media (min-width:900px){.mobile-frame-stage:has(.landing-page),.mobile-frame-stage:has(.literacy-history-detail),.mobile-frame-stage:has(.literacy-history-page),.mobile-frame-stage:has(.literacy-report-page),.mobile-frame-stage:has(.one-game-panel),.mobile-frame-stage:has(.service-flow-shell){--frame-gutter-inline:clamp(20px,3vw,32px);--frame-gutter-block:clamp(18px,3vw,32px);place-items:start center}.mobile-frame:has(.landing-page),.mobile-frame:has(.literacy-history-detail),.mobile-frame:has(.literacy-history-page),.mobile-frame:has(.literacy-report-page),.mobile-frame:has(.one-game-panel),.mobile-frame:has(.service-flow-shell){width:min(100%,1180px);height:auto;min-height:min(calc(var(--viewport-height) - (var(--frame-gutter-block) * 2)),56rem)}.mobile-frame:has(.landing-page) .app-shell,.mobile-frame:has(.literacy-history-detail) .app-shell,.mobile-frame:has(.literacy-history-page) .app-shell,.mobile-frame:has(.literacy-report-page) .app-shell,.mobile-frame:has(.one-game-panel) .app-shell,.mobile-frame:has(.service-flow-shell) .app-shell{min-height:auto;height:auto}.mobile-frame:has(.landing-page) .app-shell__content,.mobile-frame:has(.landing-page) .app-shell__header-inner,.mobile-frame:has(.literacy-history-detail) .app-shell__content,.mobile-frame:has(.literacy-history-detail) .app-shell__header-inner,.mobile-frame:has(.literacy-history-page) .app-shell__content,.mobile-frame:has(.literacy-history-page) .app-shell__header-inner,.mobile-frame:has(.literacy-report-page) .app-shell__content,.mobile-frame:has(.literacy-report-page) .app-shell__header-inner,.mobile-frame:has(.one-game-panel) .app-shell__content,.mobile-frame:has(.one-game-panel) .app-shell__header-inner,.mobile-frame:has(.service-flow-shell) .app-shell__content,.mobile-frame:has(.service-flow-shell) .app-shell__header-inner{padding-inline:clamp(20px,3vw,32px)}.mobile-frame:has(.landing-page) .app-shell__content,.mobile-frame:has(.literacy-history-detail) .app-shell__content,.mobile-frame:has(.literacy-history-page) .app-shell__content,.mobile-frame:has(.literacy-report-page) .app-shell__content,.mobile-frame:has(.one-game-panel) .app-shell__content,.mobile-frame:has(.service-flow-shell) .app-shell__content{overflow:visible;min-height:auto;padding-top:clamp(20px,3vw,28px);padding-bottom:clamp(28px,4vw,40px)}}@media (min-width:900px){.mobile-frame-stage:has(.app-tabbar--figma){place-items:start center}.mobile-frame:has(.app-tabbar--figma){width:min(100%,430px);min-height:min(calc(var(--viewport-height) - (var(--frame-gutter-block) * 2)),932px)}.mobile-frame:has(.app-tabbar--figma) .app-shell__content,.mobile-frame:has(.app-tabbar--figma) .app-shell__header-inner{padding-inline:0}}@media (min-width:480px){.mobile-frame-stage{background:radial-gradient(circle at top,#fffaf2 0,#f7f2e9 42%,#efe2cf 100%),linear-gradient(140deg,rgb(255 250 242/42%),rgb(239 226 207/38%))}.mobile-frame{border:1px solid color-mix(in srgb,var(--color-border) 76%,#000 8%);box-shadow:0 24px 56px rgb(47 36 29/.2),0 8px 20px rgb(47 36 29/.12),inset 0 1px 0 rgb(255 255 255/.45)}}.app-shell{flex:1 1 auto;min-height:100%;height:100%;min-width:0;display:flex;flex-direction:column;background:var(--color-bg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.app-shell__skip-link{position:fixed;z-index:1000;left:var(--space-3);top:var(--space-3);transform:translateY(-160%);background:var(--color-text);color:var(--color-surface);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:transform .12s ease}.app-shell__skip-link:focus-visible{transform:translateY(0)}.app-shell__header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-shell:has(.app-tabbar--figma){background:#eff2e0}.app-shell:has(.app-tabbar--figma) .app-shell__header{border-bottom:0;background:#eff2e0}.app-shell:has(.app-tabbar--figma) .app-shell__header-inner{width:min(100%,430px);padding:0}.app-shell:has(.app-tabbar--figma) .app-shell__content{padding:0;background:#eff2e0}.mobile-frame-stage:has(.app-entry-frame-exact),.mobile-frame-stage:has(.one-game-panel--figma-countdown),.mobile-frame:has(.app-entry-frame-exact),.mobile-frame:has(.app-entry-frame-exact) .app-shell,.mobile-frame:has(.one-game-panel--figma-countdown),.mobile-frame:has(.one-game-panel--figma-countdown) .app-shell{background:#eff2e0}.mobile-frame:has(.app-entry-frame-exact),.mobile-frame:has(.one-game-panel--figma-countdown){width:min(100%,430px);height:min(var(--viewport-height),932px);min-height:min(var(--viewport-height),932px);border:0;border-radius:36px;box-shadow:none}.mobile-frame:has(.one-game-panel--figma-countdown){border-radius:40px}.mobile-frame:has(.app-entry-frame-exact[data-mode=practice]),.mobile-frame:has(.app-entry-frame-exact[data-selected-tier=hard]),.mobile-frame:has(.app-entry-frame-exact[data-selected-tier=normal]){border-radius:40px}.mobile-frame:has(.app-entry-frame-exact) .app-shell__content,.mobile-frame:has(.one-game-panel--figma-countdown) .app-shell__content{align-items:flex-start;overflow:hidden}.app-entry-frame-exact__card{overflow:visible;will-change:transform,width,height;transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1)}.app-entry-frame-exact__card-layer{position:absolute;top:0;left:0;display:block;pointer-events:none;transition:opacity .16s ease}.app-entry-frame-exact__card-layer--expanded{width:398px;height:398px;opacity:0}.app-entry-frame-exact__card-layer--collapsed{width:100%;height:72px;opacity:1}.app-entry-frame-exact__card[data-selected=true] .app-entry-frame-exact__card-layer--expanded{opacity:1}.app-entry-frame-exact__card[data-selected=true] .app-entry-frame-exact__card-layer--collapsed{opacity:0}.app-entry-frame-exact__ghost-card{position:absolute;top:0;left:0;z-index:5;pointer-events:none;overflow:visible;will-change:opacity;animation:app-entry-frame-exact-ghost-fade .28s ease forwards}@keyframes app-entry-frame-exact-ghost-fade{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.app-entry-frame-exact__card,.app-entry-frame-exact__card-layer{transition:none}.app-entry-frame-exact__ghost-card{animation:none;opacity:0}}.app-shell__header-inner{margin:0 auto;padding:var(--space-3) var(--frame-gutter-inline) var(--space-2);display:grid;gap:var(--space-2)}.app-shell__header-topline{display:flex;align-items:center;gap:var(--space-1)}.app-shell__admin-link{display:inline-flex;align-items:center;justify-content:center;min-height:1.7rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-2xs,.75rem);font-weight:var(--font-weight-medium);padding:0 var(--space-2)}.app-shell__admin-link:hover{color:var(--color-text);border-color:color-mix(in srgb,var(--color-accent-strong) 45%,var(--color-border))}.app-shell__header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.app-shell__brand{display:grid;gap:var(--space-1)}.app-shell__eyebrow{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em;flex:1 1}.app-tabbar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.app-tabbar--figma{width:min(100%,430px);height:88px;display:block;overflow:hidden}.app-tabbar__figma-visual{position:absolute;inset:0;z-index:1;pointer-events:none}.app-tabbar__figma-visual>div{width:100%!important}.app-tabbar__figma-hit-targets{position:absolute;inset:0;z-index:3;pointer-events:none}.app-tabbar__figma-hit-target{position:absolute;display:block;box-sizing:border-box;border:0;border-radius:999px;padding:0;background:transparent;color:transparent;font-size:0;line-height:0;text-decoration:none;cursor:pointer;pointer-events:auto}.app-tabbar__figma-hit-target:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent-strong) 72%,white);outline-offset:2px}.app-tabbar--figma .app-tabbar__left,.app-tabbar--figma .app-tabbar__right{position:absolute;z-index:2;opacity:0;pointer-events:none}.app-tabbar--figma .app-tabbar__left{inset:0 72px 0 0;align-items:center}.app-tabbar--figma .app-tabbar__right{top:0;right:0;width:72px;height:88px;align-items:center;justify-content:center}.app-tabbar__left{min-width:0;display:flex;align-items:center;gap:.35rem;overflow-x:auto;scrollbar-width:none}.app-tabbar__left::-webkit-scrollbar{display:none}.app-tabbar__brand-link{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:1.85rem;color:var(--color-text);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:-.01em;padding-right:.35rem;white-space:nowrap}.app-tabbar__brand-link:hover{color:var(--color-accent-strong)}.app-tabbar__streak-wrap{position:relative;flex:0 0 auto}.app-tabbar__home-link{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;flex:0 0 auto;border-radius:.7rem;border:1px solid color-mix(in srgb,var(--color-border-soft) 84%,transparent);background:color-mix(in srgb,var(--color-surface-alt) 34%,var(--color-surface) 66%);color:var(--color-text);text-decoration:none}.app-tabbar__home-link:hover{border-color:color-mix(in srgb,var(--color-accent-strong) 38%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 14%,var(--color-surface))}.app-tabbar__home-icon{width:.95rem;height:.95rem}.app-tabbar__streak{display:inline-flex;align-items:center;justify-content:center;min-height:1.8rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--color-accent-strong) 35%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:0 var(--space-2);white-space:nowrap;appearance:none;cursor:pointer;font:inherit}.app-tabbar__streak:hover{border-color:color-mix(in srgb,var(--color-accent-strong) 50%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 18%,var(--color-surface))}.app-tabbar__streak-popover{position:absolute;top:calc(100% + .45rem);left:0;z-index:45;width:min(18rem,calc(100vw - 2rem));border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 16px 30px rgb(47 36 29/.18),0 6px 14px rgb(47 36 29/.12);padding:var(--space-3);display:grid;gap:var(--space-2)}.app-tabbar__streak-popover-header{align-items:baseline;color:var(--color-text);font-size:var(--font-size-xs)}.app-tabbar__streak-calendar-nav,.app-tabbar__streak-popover-header{display:flex;justify-content:space-between;gap:var(--space-2)}.app-tabbar__calendar-grid,.app-tabbar__calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem}.app-tabbar__calendar-weekdays{color:var(--color-text-muted);font-size:var(--font-size-2xs,.75rem);text-align:center}.app-tabbar__calendar-cell{min-height:2rem;border-radius:.7rem;display:grid;place-items:center;font-size:var(--font-size-xs);border:1px solid color-mix(in srgb,var(--color-border-soft) 80%,transparent);background:color-mix(in srgb,var(--color-surface-alt) 40%,var(--color-surface) 60%);color:var(--color-text)}.app-tabbar__calendar-cell[data-state=completed]{border-color:color-mix(in srgb,var(--color-success) 42%,var(--color-border));background:color-mix(in srgb,var(--color-success) 18%,var(--color-surface))}.app-tabbar__calendar-cell[data-state=missed]{border-color:color-mix(in srgb,var(--color-danger) 32%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface))}.app-tabbar__calendar-cell[data-state=future]{color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface-alt) 58%,var(--color-surface) 42%)}.app-tabbar__calendar-cell[data-state=outside]{color:color-mix(in srgb,var(--color-text-muted) 58%,transparent);background:transparent;border-style:dashed}.app-tabbar__calendar-cell[data-today=true]{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--color-accent-strong) 54%,var(--color-border))}.app-tabbar__calendar-legend{display:flex;flex-wrap:wrap;gap:.38rem}.app-tabbar__calendar-legend-item{display:inline-flex;align-items:center;gap:.28rem;border-radius:var(--radius-pill);padding:.18rem .5rem;font-size:var(--font-size-2xs,.75rem);color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface-alt) 62%,var(--color-surface) 38%)}.app-tabbar__calendar-legend-item[data-state=completed]{color:color-mix(in srgb,var(--color-success) 72%,var(--color-text))}.app-tabbar__calendar-legend-item[data-state=missed]{color:color-mix(in srgb,var(--color-danger) 68%,var(--color-text))}.app-tabbar__link{display:inline-flex;align-items:center;justify-content:center;min-height:1.7rem;color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:.15rem .25rem .22rem;border-bottom:2px solid transparent;white-space:nowrap;transition:color .12s ease,border-color .12s ease,font-size .12s ease}.app-tabbar__link--active{color:var(--color-text);font-weight:var(--font-weight-bold);font-size:calc(var(--font-size-xs) + .08rem);border-bottom-color:color-mix(in srgb,var(--color-accent-strong) 55%,var(--color-border))}.app-tabbar__link:hover{color:var(--color-text);border-bottom-color:color-mix(in srgb,var(--color-accent-strong) 40%,var(--color-border))}.app-tabbar__right{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem}.app-tabbar__env-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.4rem;padding:0 .45rem;border-radius:999px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-alt) 64%,var(--color-surface) 36%);color:var(--color-text-muted);font-size:var(--font-size-2xs,.72rem);font-weight:var(--font-weight-semibold);letter-spacing:.01em}.app-tabbar__env-badge[data-env=preview]{border-color:color-mix(in srgb,var(--color-warning) 46%,var(--color-border));background:color-mix(in srgb,var(--color-warning) 14%,var(--color-surface));color:color-mix(in srgb,var(--color-warning) 78%,var(--color-text))}.app-tabbar__env-badge[data-env=production]{border-color:color-mix(in srgb,var(--color-success) 44%,var(--color-border));background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface));color:color-mix(in srgb,var(--color-success) 80%,var(--color-text))}.app-tabbar__flag-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-alt);cursor:pointer;font-size:1rem}.app-tabbar__flag-button:hover{border-color:color-mix(in srgb,var(--color-accent-strong) 45%,var(--color-border));background:color-mix(in srgb,var(--color-surface-alt) 86%,var(--color-accent) 14%)}.app-tabbar__popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;width:min(16.5rem,calc(100vw - 2.5rem));border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 12px 24px rgb(47 36 29/.2),0 4px 10px rgb(47 36 29/.12);padding:var(--space-3);display:grid;gap:var(--space-2)}.app-tabbar__settings-overlay{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:var(--space-4);background:rgb(0 0 0/.35)}.app-tabbar__settings-modal{width:min(24rem,100%);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 20px 34px rgb(47 36 29/.26),0 6px 14px rgb(47 36 29/.16);padding:var(--space-4);display:grid;gap:var(--space-3)}.app-tabbar__settings-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.app-tabbar__settings-header h2{margin:0;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.app-tabbar__settings-header-actions{display:inline-flex;align-items:center;gap:var(--space-1)}.app-tabbar__popover-header h2{margin:0;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.app-tabbar__field{display:grid;gap:.3rem;justify-items:center;text-align:center}.app-tabbar__field span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.app-tabbar__option-row{display:flex;gap:var(--space-1);overflow-x:auto;justify-content:center;width:100%;padding-bottom:.1rem;scrollbar-width:thin}.app-tabbar__option-chip{display:inline-flex;align-items:center;gap:.32rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;padding:.34rem .66rem;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.app-tabbar__option-chip-flag{font-size:.86rem;line-height:1}.app-tabbar__option-chip-label{line-height:1.15}.app-tabbar__option-chip--language{flex-direction:column;gap:.12rem;min-width:4.5rem;padding:.35rem .56rem}.app-tabbar__option-chip--language .app-tabbar__option-chip-label{font-size:var(--font-size-2xs,.72rem);text-align:center}.app-tabbar__option-chip--selected{border-color:color-mix(in srgb,var(--color-accent-strong) 44%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 20%,var(--color-surface));color:var(--color-text)}.app-tabbar__option-chip:hover{border-color:color-mix(in srgb,var(--color-accent-strong) 36%,var(--color-border));color:var(--color-text)}.app-tabbar__option-chip:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent-strong) 30%,var(--focus-ring-color));outline-offset:1px}.app-tabbar__popover-actions{display:flex;justify-content:flex-end;gap:var(--space-1)}.app-tabbar__ghost-button,.app-tabbar__save-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:1.95rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:0 var(--space-2);cursor:pointer}.app-tabbar__save-button{background:var(--color-accent);color:var(--color-surface);border-color:color-mix(in srgb,var(--color-accent-strong) 42%,var(--color-border))}.app-tabbar__ghost-button:hover,.app-tabbar__save-button:hover{border-color:color-mix(in srgb,var(--color-accent-strong) 42%,var(--color-border));color:var(--color-text)}.app-tabbar__popover-hint{margin:0;color:var(--color-danger,#a13a2f);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.app-tabbar__exam-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--space-4);background:rgb(0 0 0/.35)}.app-tabbar__exam-dialog{width:min(20rem,100%);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 18px 30px rgb(47 36 29/.24),0 6px 12px rgb(47 36 29/.14);padding:var(--space-4);display:grid;gap:var(--space-2)}.app-tabbar__exam-dialog h2{margin:0;font-size:var(--font-size-md);line-height:1.35}.app-tabbar__exam-dialog p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.app-tabbar__exam-actions{display:flex;justify-content:flex-end;gap:var(--space-1)}.app-shell__title{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-md,1.125rem);line-height:1.3}.app-shell__subtitle{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.app-shell__a11y-panel{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-alt) 24%,var(--color-surface) 76%);padding:var(--space-2);display:grid;gap:var(--space-2)}.app-shell__a11y-panel>summary{cursor:pointer;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.app-shell__a11y-panel:not([open]) .app-shell__a11y-grid,.app-shell__a11y-panel:not([open]) .app-shell__a11y-hint,.app-shell__a11y-panel:not([open]) .app-shell__a11y-summary{display:none}.app-shell__a11y-grid{display:grid;gap:var(--space-3)}.app-shell__a11y-fieldset{margin:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:grid;gap:var(--space-2)}.app-shell__a11y-fieldset legend{color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:0 var(--space-1)}.app-shell__a11y-fieldset label{color:var(--color-text-muted);font-size:var(--font-size-xs);display:inline-flex;align-items:center;gap:var(--space-1)}.app-shell__a11y-hint,.app-shell__a11y-summary{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.app-shell__primary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.125rem;border-radius:var(--radius-pill);background:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent-strong) 55%,transparent);color:var(--color-surface);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:0 var(--space-4);white-space:nowrap}.app-shell__primary-cta:hover{background:color-mix(in srgb,var(--color-accent) 88%,#000 12%)}.app-shell__nav-link:focus-visible,.app-shell__primary-cta:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.app-shell__nav{display:flex;flex-wrap:wrap;gap:var(--space-1)}.app-shell__nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:1.8rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-2xs,.75rem);font-weight:var(--font-weight-medium);padding:0 var(--space-2)}.app-shell__nav-link:hover{color:var(--color-text);border-color:color-mix(in srgb,var(--color-accent-strong) 45%,var(--color-border))}.app-shell__content{flex:1 1 auto;margin:0 auto;min-height:0;padding:var(--space-3) var(--frame-gutter-inline) var(--space-4);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom}.app-shell__content,.app-shell__content>*{width:100%;min-width:0}.app-shell__content :where(p,li,dt,dd,blockquote,figcaption,a,button){overflow-wrap:anywhere;word-break:break-word}.app-shell__content :where(button,input,select,textarea){max-width:100%}.app-shell__content :where(pre,code,kbd,samp){max-width:100%}.app-shell__content :where(pre){overflow-x:auto;white-space:pre-wrap}.app-shell__content :where(table){display:block;width:100%;max-width:100%;overflow-x:auto}@media (max-width:430px){.app-shell__header-top{flex-direction:column;align-items:stretch}.app-shell__eyebrow{line-height:var(--line-height-relaxed)}.app-shell__title{font-size:clamp(1.2rem,4.3vw,1.4rem);line-height:1.35}.app-shell__subtitle{font-size:var(--font-size-xs)}.app-shell__primary-cta{width:100%}.app-tabbar{gap:var(--space-1)}.app-tabbar__left{gap:.3rem}.app-tabbar__streak{min-height:1.7rem;font-size:.72rem;padding-inline:.5rem}.app-tabbar__home-link{width:1.75rem;height:1.75rem}.app-tabbar__brand-link{min-height:1.65rem;font-size:.8rem;padding-right:.18rem}.app-tabbar__link{min-height:1.65rem;font-size:.72rem;padding:.1rem .18rem .2rem}.app-tabbar__link--active{font-size:.8rem}.app-tabbar__flag-button{width:1.85rem;height:1.85rem}.app-tabbar__env-badge{min-height:1.2rem;padding-inline:.35rem;font-size:.65rem}.app-tabbar__popover{right:-2px;width:min(15.5rem,calc(100vw - 1.5rem))}.app-tabbar__settings-overlay{padding:var(--space-3)}.app-tabbar__settings-modal{width:100%}.app-shell__content{line-height:var(--line-height-relaxed)}}@media (min-width:360px){.mobile-frame-stage{--frame-gutter-inline:18px}}@media (min-width:390px){.mobile-frame-stage{--frame-gutter-inline:20px}}@media (min-width:430px){.mobile-frame-stage{--frame-gutter-inline:22px}}@media (orientation:landscape) and (max-width:932px){.mobile-frame-stage{--frame-gutter-inline:clamp(12px,2.5vw,20px);--frame-gutter-block:max(10px,env(safe-area-inset-top));place-items:start center;padding:var(--frame-gutter-block) max(var(--frame-gutter-inline),env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(var(--frame-gutter-inline),env(safe-area-inset-left))}.mobile-frame{width:min(100%,680px);height:calc(var(--viewport-height) - var(--frame-gutter-block) - max(10px, env(safe-area-inset-bottom)));min-height:calc(100vh - (var(--frame-gutter-block) + max(10px, env(safe-area-inset-bottom))));min-height:calc(100dvh - (var(--frame-gutter-block) + max(10px, env(safe-area-inset-bottom))))}.app-shell__content,.app-shell__header-inner{padding-inline:clamp(14px,2.8vw,20px)}}@supports (height:100svh){.mobile-frame-stage{--viewport-height:100svh}}@supports (height:100dvh){.mobile-frame-stage{--viewport-height:100dvh}}@media (max-width:479px){.mobile-frame-stage{--frame-gutter-inline:16px;--frame-gutter-block:0;padding:0}.mobile-frame{width:100%;height:var(--viewport-height);min-height:var(--viewport-height);border:0;border-radius:0;box-shadow:none}.app-shell__content,.app-shell__header-inner{padding-left:max(var(--frame-gutter-inline),var(--safe-area-left));padding-right:max(var(--frame-gutter-inline),var(--safe-area-right))}.app-shell__header-inner{padding-top:max(var(--space-4),var(--safe-area-top))}.app-shell__content{padding-bottom:calc(var(--space-5) + max(var(--space-2), var(--safe-area-bottom)))}}.mobile-frame-stage:has(.reading-loop-view--figma-rsvp),.mobile-frame:has(.reading-loop-view--figma-rsvp),.mobile-frame:has(.reading-loop-view--figma-rsvp) .app-shell{background:#eff2e0}.mobile-frame:has(.reading-loop-view--figma-rsvp){width:min(100%,430px);height:min(var(--viewport-height),932px);min-height:min(var(--viewport-height),932px);border:0;border-radius:40px;box-shadow:none}.mobile-frame:has(.reading-loop-view--figma-rsvp) .app-shell__content{align-items:flex-start;overflow:hidden;padding:0}.home-focus-layout{display:grid;gap:var(--space-5)}.home-focus-stage{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:radial-gradient(circle at top left,rgba(255,255,255,.72),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,246,232,.96));box-shadow:0 24px 44px rgba(64,27,27,.08),inset 0 1px 0 rgba(255,255,255,.62)}.home-entry-selector,.home-entry-selector__secondary-actions,.home-focus-stage__hero{display:grid;gap:var(--space-3)}.home-focus-stage__eyebrow{margin:0;color:color-mix(in srgb,var(--color-text) 62%,transparent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.home-focus-stage__title{margin:0;color:var(--color-text);font-size:clamp(1.8rem,4vw,2.5rem);line-height:.96;letter-spacing:-.04em}.home-focus-stage__description{margin:0;max-width:32rem;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.home-course-selector{padding:1rem 1.1rem 1.1rem;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:rgba(255,255,255,.68)}.course-selector__header{display:grid;gap:.35rem}.course-selector__title{margin:0;font-size:1rem;line-height:1.25;color:var(--color-text)}.course-selector__description{margin:0;color:var(--color-text-muted);font-size:.8125rem;line-height:1.5}.course-selector__field{display:grid;gap:.35rem}.course-selector__label{color:color-mix(in srgb,var(--color-text) 62%,transparent);font-size:.75rem;font-weight:600}.course-selector__select{width:100%;min-height:3rem;padding:0 1rem;border-radius:999px;border:1px solid var(--color-border);background:rgba(255,255,255,.9);color:var(--color-text);font:inherit}.course-selector__helper{margin:0;color:var(--color-text-muted);font-size:.75rem;line-height:1.45}.home-entry-selector--figma{border:0;background:transparent;padding:0;box-shadow:none}.home-entry-selector__header{display:grid;gap:.35rem}.home-entry-selector__title{margin:0;color:var(--color-text);font-size:1rem;line-height:1.25}.home-entry-selector__description{margin:0;color:var(--color-text-muted);font-size:.8125rem;line-height:1.5}.home-entry-selector__mode-pill{display:flex;justify-content:flex-start}.home-entry-selector__tier-stack{display:grid;gap:0;justify-items:center;overflow:visible}.home-entry-selector__tier-card-button,.home-entry-selector__tier-card-link{--tier-card-scale:1;width:calc(398px * var(--tier-card-scale));height:calc(72px * var(--tier-card-scale));max-width:100%;padding:0;border:0;background:transparent;text-align:left;display:block;text-decoration:none;color:inherit}.home-entry-selector__tier-card-button{cursor:pointer}.home-entry-selector__tier-card-link--selected{height:calc(398px * var(--tier-card-scale))}.home-entry-selector__tier-card-shell{width:398px;height:72px;display:block;transform:scale(var(--tier-card-scale));transform-origin:top left}.home-entry-selector__tier-card-shell[data-status=expand]{height:398px}.home-entry-selector__tier-card-button:focus-visible,.home-entry-selector__tier-card-link:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:4px;border-radius:var(--radius-lg)}.home-entry-selector__tier-card-button--selected{cursor:default}.home-entry-selector__cta-link{text-decoration:none}.home-entry-selector__helper,.home-entry-selector__policy{margin:0;color:var(--color-text-muted);font-size:.75rem;line-height:1.5}.home-entry-selector__secondary-actions{display:flex;justify-content:flex-start}.home-entry-selector__report-link{color:var(--color-text);font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:.18rem}.home-focus-support{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:rgba(255,255,255,.52);padding:var(--space-3) var(--space-4)}.home-focus-support>summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.home-focus-support__body{margin-top:var(--space-3);display:grid;gap:var(--space-3)}@media (max-width:430px){.home-focus-stage{padding:var(--space-3)}.home-focus-stage__title{font-size:1.65rem}}@media (max-width:398px){.home-entry-selector__tier-card-button,.home-entry-selector__tier-card-link{--tier-card-scale:calc((100vw - 32px) / 398)}}.home-streak-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.streak-summary-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-5);box-shadow:0 1px 0 rgba(47,36,29,.08)}.streak-summary-card__header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-4)}.streak-summary-card__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.streak-summary-card__status{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.streak-summary-card__days{margin:0;font-family:var(--font-family-display);font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.streak-summary-card__days-label{font-size:var(--font-size-md);color:var(--color-text-muted)}.streak-summary-card__meta{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}@media (max-width:430px){.streak-summary-card{padding:var(--space-5)}.streak-summary-card__title{line-height:1.35}.streak-summary-card__status{line-height:var(--line-height-relaxed)}}.performance-probes{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface-base);display:grid;gap:var(--space-2)}.performance-probes__title{margin:0;font-size:var(--text-base)}.performance-probes__list{margin:0;padding-left:var(--space-5);color:var(--color-text-secondary)}.performance-probes__item--warn{color:var(--color-accent-primary);font-weight:var(--font-semibold)}.service-flow-shell{display:grid;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 2px 0 rgb(47 36 29/.08)}.service-flow-shell__header{display:grid;gap:var(--space-2)}.service-flow-shell__eyebrow{margin:0;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.service-flow-shell__title{margin:0;font-size:var(--font-size-xl);line-height:1.3}.service-flow-shell__description{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.service-flow-shell__action,.service-flow-shell__content,.service-flow-shell__progress{display:grid;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-alt) 18%,var(--color-surface) 82%);padding:var(--space-3)}.service-flow-shell__progress-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.service-flow-shell__progress-caption,.service-flow-shell__progress-label{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.service-flow-shell__progress-caption{font-weight:var(--font-weight-medium)}.service-flow-shell__progress-bar{height:.45rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-surface-alt) 62%,var(--color-surface) 38%);overflow:hidden}.service-flow-shell__progress-bar>span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--color-accent-strong) 68%,var(--color-accent));transition:width .18s ease}.service-flow-shell__step-track{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2)}.service-flow-shell__step-track--compact .service-flow-shell__step{min-height:1.9rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3)}.service-flow-shell__step-index{width:1.2rem;height:1.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);border:1px solid var(--color-border);background:var(--color-surface-alt)}.service-flow-shell__step-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.service-flow-shell__step--complete,.service-flow-shell__step--complete .service-flow-shell__step-index{border-color:color-mix(in srgb,var(--color-success) 45%,var(--color-border))}.service-flow-shell__step--complete .service-flow-shell__step-index{color:var(--color-success)}.service-flow-shell__step--complete .service-flow-shell__step-label{color:var(--color-text)}.service-flow-shell--daily .service-flow-shell__step--active{border-color:color-mix(in srgb,var(--color-accent-strong) 56%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}.service-flow-shell--practice .service-flow-shell__step--active{border-color:color-mix(in srgb,var(--color-success) 56%,var(--color-border));background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface))}.service-flow-shell__step--active .service-flow-shell__step-label{color:var(--color-text)}.service-flow-shell__focus-rule{margin:0;border:1px solid color-mix(in srgb,var(--color-accent-strong) 38%,var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface));color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);padding:var(--space-2) var(--space-3)}.service-flow-shell__focus-rule span{color:var(--color-accent-strong);font-weight:var(--font-weight-semibold)}.service-flow-shell__highlights{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.service-flow-shell__highlights--compact li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);padding:var(--space-2) var(--space-3)}.service-flow-shell__content-body{display:grid;gap:var(--space-3)}.service-flow-shell__action{background:color-mix(in srgb,var(--color-surface-alt) 22%,var(--color-surface) 78%)}.service-flow-shell__action-caption{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.service-flow-shell__action-links{display:grid;gap:var(--space-2)}.service-flow-shell__action-link{display:inline-flex;justify-content:center;align-items:center;min-height:2.2rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:0 var(--space-3)}.service-flow-shell__action-link:hover{border-color:color-mix(in srgb,var(--color-accent-strong) 45%,var(--color-border));color:var(--color-text)}.service-flow-shell__action-link:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.service-flow-shell__supporting-panel{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-alt) 28%,var(--color-surface) 72%);padding:var(--space-3)}.service-flow-shell__supporting-panel>summary{cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.service-flow-shell__supporting-panel>.service-flow-shell__highlights{margin-top:var(--space-2)}.service-flow-shell__supporting-panel[open]>summary{margin-bottom:var(--space-2)}.service-flow-shell__footer{border-top:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);padding-top:var(--space-3);display:grid;gap:var(--space-2)}.service-flow-shell__footer p{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-relaxed)}@media (min-width:390px){.service-flow-shell__action-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:430px){.service-flow-shell{padding:var(--space-4);gap:var(--space-4)}.service-flow-shell__title{font-size:clamp(1.2rem,4.2vw,1.4rem)}.service-flow-shell__action,.service-flow-shell__content,.service-flow-shell__progress{padding:var(--space-3)}.service-flow-shell__progress-row{flex-direction:column;align-items:flex-start}.service-flow-shell__action-links{grid-template-columns:1fr}}.reading-loop-view{display:grid;min-height:100%;align-content:center}.reading-loop-view--immersive{flex:1 1 auto;min-height:100%}.reading-loop-view__focus-card{display:grid;gap:var(--space-4);width:100%;padding:var(--space-5);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface-base)}.reading-loop-view__focus-card--immersive{min-height:100%}.reading-loop-view__focus-card--loading{border-color:color-mix(in srgb,var(--color-accent) 38%,var(--color-border))}.reading-loop-view__focus-card--warning{border-color:color-mix(in srgb,var(--color-warning) 52%,var(--color-border))}.reading-loop-view__focus-card--success{border-color:color-mix(in srgb,var(--color-success) 52%,var(--color-border))}.reading-loop-view__header{display:grid;gap:var(--space-2)}.reading-loop-view__title{margin:0;font-size:var(--text-lg)}.reading-loop-view__meta{display:flex;flex-wrap:wrap;gap:var(--space-3)}.reading-loop-view__meta,.reading-loop-view__policy{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.reading-loop-view__policy{line-height:var(--line-height-relaxed)}.reading-loop-view__helper{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.reading-loop-view__status{margin:0;border:1px solid var(--color-border-soft);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-surface-alt) 55%,var(--color-surface) 45%);color:var(--color-text-primary);font-size:var(--text-sm);line-height:var(--line-height-relaxed);padding:var(--space-2) var(--space-3)}.reading-loop-view__status--neutral{border-color:var(--color-border-soft)}.reading-loop-view__status--loading{border-color:color-mix(in srgb,var(--color-accent) 38%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}.reading-loop-view__status--warning{border-color:color-mix(in srgb,var(--color-warning) 52%,var(--color-border));background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface))}.reading-loop-view__status--success{border-color:color-mix(in srgb,var(--color-success) 52%,var(--color-border));background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface))}.reading-loop-view__progress{display:grid}.reading-loop-view__progress-inline{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2)}.reading-loop-view__progress-bar{height:.45rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-surface-alt) 62%,var(--color-surface) 38%);overflow:hidden}.reading-loop-view__progress-bar>span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--color-accent-strong) 68%,var(--color-accent));transition:width .12s linear}.reading-loop-view__progress-elapsed{margin:0;min-width:4ch;text-align:left;color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.reading-loop-view__viewport{min-height:clamp(12rem,44vh,22rem);border-radius:var(--radius-md);border:1px dashed var(--color-border-soft);display:grid;place-items:center;overflow:hidden;padding:var(--space-4);background-color:#efe1c6;background-image:radial-gradient(150% 95% at 50% 6%,rgb(255 252 244/.74),transparent 60%),radial-gradient(150% 120% at 50% 115%,rgb(113 79 43/.18),transparent 66%),radial-gradient(circle at 16% 18%,rgb(143 109 71/.1) 0 11%,transparent 38%),radial-gradient(circle at 82% 72%,rgb(133 97 58/.085) 0 10%,transparent 37%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.86' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.16'/%3E%3C/svg%3E"),repeating-linear-gradient(22deg,rgb(132 95 54/.05) 0 1px,transparent 1px 6px),repeating-linear-gradient(-27deg,rgb(165 129 82/.04) 0 1px,transparent 1px 8px),linear-gradient(142deg,rgb(255 252 244/.95),rgb(242 226 191/.9));background-blend-mode:screen,multiply,multiply,multiply,soft-light,multiply,multiply,normal;box-shadow:inset 0 0 0 1px rgb(122 86 46/.09),inset 0 12px 18px rgb(255 250 240/.24),inset 0 -10px 16px rgb(137 98 57/.11)}.reading-loop-view__token-cluster{position:relative;display:inline-grid;place-items:center;max-width:100%}.reading-loop-view__token-context{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:clamp(.74rem,1.9vw,.9rem);line-height:var(--line-height-tight);opacity:.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(24vw,16ch);pointer-events:none;transition:opacity .12s linear}.reading-loop-view__token-context[data-visible=false]{opacity:0}.reading-loop-view__token-context--prev{right:calc(100% + 4ch);text-align:right}.reading-loop-view__token-context--next{left:calc(100% + 4ch);text-align:left}.reading-loop-view__token{margin:0;font-size:clamp(1.35rem,4.3vw,2.1rem);font-weight:var(--font-semibold);letter-spacing:.02em;text-align:center;line-height:1.35}.reading-loop-view__token-word{display:inline-flex;align-items:baseline;justify-content:center;gap:0}.reading-loop-view__token-segment{display:inline-block;line-height:1.05;transition:font-size .12s linear,opacity .12s linear}.reading-loop-view__controls{display:flex;gap:var(--space-3);flex-wrap:wrap}.reading-loop-view__button{min-height:2.5rem;max-width:100%;border:1px solid color-mix(in srgb,var(--color-accent-strong) 40%,var(--color-border));border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-surface);font-weight:var(--font-semibold);padding:0 var(--space-4);white-space:normal;overflow-wrap:anywhere;cursor:pointer}.reading-loop-view__button--subtle{border-color:var(--color-border-strong);background:transparent;color:var(--color-text-primary)}.reading-loop-view__button:disabled{cursor:not-allowed;opacity:.6}.reading-loop-view__button:focus-visible,.reading-loop-view__details>summary:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.reading-loop-view__details{border-top:1px dashed var(--color-border);padding-top:var(--space-3)}.reading-loop-view__details>summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--text-sm)}.reading-loop-view__details p{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm)}@media (max-width:430px){.reading-loop-view--immersive,.reading-loop-view__focus-card--immersive{display:flex;flex-direction:column;min-height:100%}.reading-loop-view__focus-card--immersive{flex:1 1 auto}.reading-loop-view__focus-card--immersive .reading-loop-view__viewport{flex:1 1 auto;min-height:0;padding:clamp(1rem,4vw,1.5rem)}.reading-loop-view__focus-card--immersive .reading-loop-view__token{font-size:clamp(2rem,10vw,4rem);line-height:1.1}.reading-loop-view__focus-card--immersive .reading-loop-view__token-context--prev{right:calc(100% + 2.1ch)}.reading-loop-view__focus-card--immersive .reading-loop-view__token-context--next{left:calc(100% + 2.1ch)}.reading-loop-view__focus-card{gap:var(--space-5);padding:var(--space-4)}.reading-loop-view__button{width:100%;min-height:2.75rem;padding-inline:var(--space-5)}}.reading-loop-view--figma-rsvp{display:flex;width:430px;height:844px;min-height:844px;flex:0 0 auto;align-content:normal;background:transparent}.reading-loop-view--figma-rsvp .reading-loop-view__focus-card--figma-rsvp{display:flex;width:430px;height:844px;min-height:844px;flex:0 0 auto;flex-direction:column;gap:0;padding:0;border:0;border-radius:0;background:transparent}.reading-loop-view--figma-rsvp .reading-loop-view__header{display:contents}.reading-loop-view--figma-rsvp .reading-loop-view__progress{display:flex;width:430px;height:36px;flex:0 0 36px;flex-direction:column;row-gap:12px;padding:0;background:transparent}.reading-loop-view--figma-rsvp .reading-loop-view__progress-inline{display:flex;width:430px;height:36px;flex-direction:column;align-items:flex-start;gap:12px}.reading-loop-view--figma-rsvp .reading-loop-view__progress-bar{width:430px;height:4px;flex:0 0 4px;border-radius:0;background:rgb(220 215 152/.5);overflow:hidden}.reading-loop-view--figma-rsvp .reading-loop-view__progress-bar>span{display:block;width:0;height:4px;border-radius:0;background:#401b1b;transition:none}.reading-loop-view--figma-rsvp .reading-loop-view__progress-elapsed{width:112px;height:20px;margin:0 0 0 16px;color:#401b1b;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:16px;font-weight:600;line-height:20px;letter-spacing:0;text-align:left;white-space:nowrap}.reading-loop-view--figma-rsvp .reading-loop-view__wrap{display:flex;width:430px;height:808px;flex:0 0 808px;align-items:center;justify-content:center;gap:12px;padding:0 16px 106px;background:transparent}.reading-loop-view--figma-rsvp .reading-loop-view__viewport{position:relative;isolation:isolate;display:flex;width:398px;height:384px;min-height:384px;flex:0 0 auto;align-items:center;justify-content:space-between;padding:20px;border:4px solid #ffffff;border-radius:36px;overflow:hidden;background:#ffffff;background-image:none;background-blend-mode:normal;box-shadow:none}.reading-loop-view--figma-rsvp .reading-loop-view__card-gradient{position:absolute;display:block;border-radius:999px;filter:blur(150px);pointer-events:none;z-index:0}.reading-loop-view--figma-rsvp .reading-loop-view__card-gradient--large{left:-53px;top:256px;width:474px;height:474px;background:#dec6ed;opacity:.8}.reading-loop-view--figma-rsvp .reading-loop-view__card-gradient--left{left:0;top:336px;width:184px;height:184px;background:#ff9900;opacity:.25}.reading-loop-view--figma-rsvp .reading-loop-view__card-gradient--right{left:165px;top:214px;width:184px;height:184px;background:rgb(220 215 152/.7);opacity:1}.reading-loop-view--figma-rsvp .reading-loop-view__viewport:after,.reading-loop-view--figma-rsvp .reading-loop-view__viewport:before{position:absolute;top:0;height:384px;content:"";pointer-events:none;z-index:2}.reading-loop-view--figma-rsvp .reading-loop-view__viewport:before{left:0;width:82px;background:linear-gradient(90deg,#ffffff,rgb(255 255 255/0))}.reading-loop-view--figma-rsvp .reading-loop-view__viewport:after{left:308px;width:90px;background:linear-gradient(90deg,rgb(255 255 255/0),#ffffff)}.reading-loop-view--figma-rsvp .reading-loop-view__token-cluster{position:absolute;left:102px;top:131px;z-index:1;display:flex;width:186px;height:76px;max-width:none;align-items:flex-end;justify-content:flex-start}.reading-loop-view--figma-rsvp .reading-loop-view__token-context{position:absolute;top:38px;width:63px;height:32px;max-width:none;transform:none;color:rgb(64 27 27/.7);font-family:Pretendard Variable,Pretendard,sans-serif;font-size:24px;font-weight:500;line-height:32px;letter-spacing:0;opacity:1;overflow:visible;text-overflow:clip;white-space:nowrap;transition:none}.reading-loop-view--figma-rsvp .reading-loop-view__token-context[data-visible=false]{opacity:1}.reading-loop-view--figma-rsvp .reading-loop-view__token-context--prev{right:auto;left:-86px;text-align:left}.reading-loop-view--figma-rsvp .reading-loop-view__token-context--next{left:209px;text-align:left}.reading-loop-view--figma-rsvp .reading-loop-view__token{display:flex;width:186px;height:76px;margin:0;align-items:flex-end;justify-content:center;color:#401b1b;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:45px;font-weight:600;line-height:56px;letter-spacing:-.5px;text-align:center;white-space:nowrap}.reading-loop-view--figma-rsvp .reading-loop-view__token-word{display:inline-flex;height:56px;align-items:flex-end;justify-content:center;gap:0;white-space:nowrap}.reading-loop-view--figma-rsvp .reading-loop-view__token-segment{display:inline-block;width:auto;height:56px;color:#401b1b;font-size:45px;font-weight:600;line-height:56px;letter-spacing:-.5px;white-space:nowrap;transition:none}.reading-loop-view--figma-rsvp .reading-loop-view__token-suffix{display:inline-block;width:21px;height:38px;padding-bottom:6px;color:#401b1b;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:24px;font-weight:500;line-height:32px;letter-spacing:0}