:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f6faf2)var(--lightningcss-dark,#0f1510);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#172019);--surface-2:var(--lightningcss-light,#eef5e8)var(--lightningcss-dark,#1e2a20);--ink:var(--lightningcss-light,#1b2a1d)var(--lightningcss-dark,#e5eee2);--ink-muted:var(--lightningcss-light,#5b6c5d)var(--lightningcss-dark,#9cac9c);--line:var(--lightningcss-light,#dce8d4)var(--lightningcss-dark,#2a392c);--green:var(--lightningcss-light,#3a8a38)var(--lightningcss-dark,#6cc06a);--green-strong:var(--lightningcss-light,#2a6a29)var(--lightningcss-dark,#93d890);--green-soft:var(--lightningcss-light,#e2f1d9)var(--lightningcss-dark,#213622);--on-green:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0f1510);--hl-evidence:var(--lightningcss-light,#fff1a6)var(--lightningcss-dark,#4a4318);--hl-grammar:var(--lightningcss-light,#e2f1d9)var(--lightningcss-dark,#213622);--hl-vocab:var(--lightningcss-light,#e4eefb)var(--lightningcss-dark,#1d2c44);--correct:var(--lightningcss-light,#2f8a3c)var(--lightningcss-dark,#6cc06a);--correct-soft:var(--lightningcss-light,#e3f4e3)var(--lightningcss-dark,#1f3521);--wrong:var(--lightningcss-light,#c4463b)var(--lightningcss-dark,#f08a7f);--wrong-soft:var(--lightningcss-light,#fbe8e5)var(--lightningcss-dark,#3e211d);--role-noun:var(--lightningcss-light,#2f7d3a)var(--lightningcss-dark,#7fcf7c);--role-stem:var(--lightningcss-light,#2f7d3a)var(--lightningcss-dark,#7fcf7c);--role-particle:var(--lightningcss-light,#2563a8)var(--lightningcss-dark,#7fb2f0);--role-tense:var(--lightningcss-light,#a86400)var(--lightningcss-dark,#f0b35c);--role-ending:var(--lightningcss-light,#7a48b0)var(--lightningcss-dark,#c4a0f0);--role-honorific:var(--lightningcss-light,#b4407a)var(--lightningcss-dark,#f08fbf);--role-suffix:var(--lightningcss-light,#1c7c77)var(--lightningcss-dark,#6fd1ca);--role-other:var(--lightningcss-light,#66706a)var(--lightningcss-dark,#a8b2ab);--shadow-soft:var(--lightningcss-light,#1b2a1d0d)var(--lightningcss-dark,#0000004d);--shadow-wide:var(--lightningcss-light,#1b2a1d0f)var(--lightningcss-dark,#0000);--shadow-lift:var(--lightningcss-light,#1b2a1d2e)var(--lightningcss-dark,#00000080);--radius:16px;--radius-sm:12px;--shadow:0 1px 2px var(--shadow-soft), 0 6px 20px var(--shadow-wide);--shadow-lg:0 -4px 32px var(--shadow-lift);--font:system-ui, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:16px;line-height:1.55}p{margin:0}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:2px}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--ink-muted)}.site-header,.site-main,.site-footer{max-width:640px;padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right));margin:0 auto}.site-header{padding-block:max(16px, env(safe-area-inset-top)) 12px;align-items:center;gap:10px;display:flex}.site-header__end{align-items:center;gap:8px;margin-left:auto;display:flex}.streak-badge{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-size:.95rem;font-weight:800;text-decoration:none;display:inline-flex}.streak-badge--none{color:var(--ink-muted);font-weight:600}.streak-badge--none span{filter:grayscale();opacity:.6}.account-link{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink-muted);border-radius:999px;place-items:center;text-decoration:none;display:grid}.account-link--in{border-color:var(--green);background:var(--green);color:var(--on-green);font-weight:800}@media (max-width:340px){.tagline{display:none}}.logo{color:var(--green-strong);letter-spacing:-.02em;font-size:1.5rem;font-weight:800;text-decoration:none}.tagline{color:var(--ink-muted);font-size:.9rem}.site-main{gap:16px;padding-bottom:32px;display:grid}.site-footer{padding-block:8px calc(40px + env(safe-area-inset-bottom));color:var(--ink-muted);text-align:center;justify-items:center;gap:12px;font-size:.85rem;display:grid}body:has(.reader-shell){flex-direction:column;height:100dvh;display:flex;overflow:hidden}body:has(.reader-shell) .site-header{flex:none;width:100%}body:has(.reader-shell) .site-main{flex-direction:column;flex:1;gap:0;width:100%;max-width:none;min-height:0;padding:0;display:flex}body:has(.reader-shell) .site-footer{display:none}body:has(.reader-shell) .preview-banner{width:calc(100% - 32px);max-width:640px;margin:0 auto 8px;position:static}.reader-shell{flex-direction:column;flex:1;min-height:0;display:flex}.reader-pager{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-height:0;display:flex;position:relative;overflow:auto hidden}.reader-pager::-webkit-scrollbar{display:none}.reader-pager--locked{overflow-x:hidden}.reader-page{overscroll-behavior-y:contain;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;min-width:0;overflow-y:auto}.reader-page__inner{max-width:640px;padding:4px max(16px, env(safe-area-inset-right)) 24px max(16px, env(safe-area-inset-left));gap:16px;margin:0 auto;display:grid}.next-page{justify-self:end}.stepper{padding:0 max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));flex:none}.stepper ol{align-items:center;max-width:640px;margin:0 auto;padding:0;list-style:none;display:flex}.stepper__step{align-items:center;display:flex}.stepper__step+.stepper__step{flex:1}.stepper__step+.stepper__step:before{content:"";background:var(--line);border-radius:2px;flex:1;height:2px;margin:0 6px;transition:background-color .3s}.stepper__step--current:before,.stepper__step--done:before{background:var(--green)!important}.stepper button{min-height:40px;color:var(--ink-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 2px;font-size:.85rem;font-weight:600;display:inline-flex}.stepper__number{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:800;transition:background-color .3s,border-color .3s;display:grid}.stepper__step--done .stepper__number{border-color:var(--green);background:var(--green-soft);color:var(--green-strong)}.stepper__step--current .stepper__number{border-color:var(--green);background:var(--green);color:var(--on-green)}.stepper__step--current button{color:var(--ink);font-weight:800}@media (min-width:768px){body:has(.reader-shell) .site-header{max-width:1280px}.reader-shell{width:100%;max-width:1280px;margin:0 auto}.stepper{padding-inline:0}.stepper ol{justify-content:center;max-width:none;padding-left:50%}.stepper__step--story{display:none}.stepper__step--words{flex:none!important}.stepper__step--words:before{display:none}.stepper__number{background:var(--line);border:0;width:8px;height:8px;font-size:0}.stepper__step--story .stepper__number{display:none}.stepper__step--done .stepper__number{background:var(--green-soft);box-shadow:inset 0 0 0 1.5px var(--green)}.stepper__step--current .stepper__number{background:var(--green)}.stepper__step--quiz{flex:none!important}.stepper__step--quiz:before{flex:none;width:40px}.reader-page{flex-basis:50%}.reader-page--story{z-index:1;background:var(--bg);scroll-snap-align:none;position:sticky;left:0}.reader-page:not(.reader-page--story){scroll-snap-align:end}.reader-page .next-page--story{display:none}}.reader-footer{color:var(--ink-muted);text-align:center;justify-items:center;gap:12px;padding-top:8px;font-size:.85rem;display:grid}.celebration{background:var(--surface);width:min(92vw,380px);color:var(--ink);border:0;border-radius:24px;padding:0;box-shadow:0 20px 60px #0000004d}.celebration[open]{animation:.4s cubic-bezier(.2,1.3,.4,1) celebration-in}.celebration::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f151080}@keyframes celebration-in{0%{opacity:0;transform:scale(.85)}}.celebration__confetti{z-index:2;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.celebration__body{text-align:center;justify-items:center;gap:6px;padding:28px 22px 22px;display:grid}.celebration__mark{font-size:3rem;line-height:1}.celebration h2{margin:6px 0 0;font-size:1.6rem}.celebration__en{color:var(--ink-muted)}.celebration__score{font-size:2.4rem;font-weight:800;line-height:1.1}.celebration__streak{font-size:1.2rem;font-weight:800}.celebration__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.theme-button{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink-muted);cursor:pointer;border-radius:999px;place-items:center;display:grid}.theme-button__icon{display:grid}.theme-button__icon--dark,:root[data-theme=dark] .theme-button__icon--light{display:none}:root[data-theme=dark] .theme-button__icon--dark{display:grid}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-button__icon--light{display:none}:root:not([data-theme=light]) .theme-button__icon--dark{display:grid}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 18px}.section-title{white-space:nowrap;align-items:baseline;gap:8px;margin:0 0 12px;font-size:1.15rem;display:flex}.section-title__en{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:600}.pos{background:var(--surface-2);color:var(--ink-muted);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;line-height:1.6;display:inline-block}.translate-toggle{border:1px solid var(--line);min-width:44px;min-height:36px;color:var(--ink-muted);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 10px;font-size:.72rem;font-weight:700}.translate-toggle[aria-expanded=true],.translate-toggle[aria-pressed=true]{border-color:var(--green);background:var(--green-soft);color:var(--green-strong)}.translate-toggle--inline{vertical-align:.3em;border-radius:6px;min-width:0;min-height:0;margin-left:6px;padding:0 5px;font-size:.6rem;line-height:1.6;position:relative}.translate-toggle--inline:after{content:"";position:absolute;inset:-12px -10px}.button{min-height:48px;color:var(--ink);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;font-weight:700;text-decoration:none;display:inline-flex}.button--primary{border-color:var(--green);background:var(--green);color:var(--on-green)}.button:disabled{opacity:.4;cursor:default}.link-button{min-height:44px;color:var(--green-strong);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.icon-button{background:var(--surface-2);cursor:pointer;border:0;border-radius:999px;place-items:center;width:40px;height:40px;font-size:1.5rem;line-height:1;display:grid}.preview-banner{z-index:15;border:1.5px dashed var(--role-tense);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hl-evidence) 70%, var(--surface));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:10px 14px;font-size:.9rem;display:flex;position:sticky;top:8px}.preview-banner__hint{color:var(--ink-muted)}.preview-banner__link{color:var(--green-strong);font-weight:700}.preview-banner__issues{color:var(--wrong);flex-basis:100%}.preview-banner__issues summary{cursor:pointer;font-weight:700}.preview-banner__issues ul{color:var(--ink);margin:6px 0 0;padding-left:18px}.preview-banner__issues code{font-size:.8rem}.score__actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.empty-state{text-align:center;justify-items:center;gap:8px;padding-block:48px;display:grid}.empty-state__mark{font-size:3rem}.empty-state h1{margin:0;font-size:1.3rem}.empty-state p:last-child{color:var(--ink-muted)}.story__meta-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.story__meta{color:var(--ink-muted);flex-wrap:wrap;gap:4px 10px;font-size:.85rem;display:flex}.story__rerun{background:var(--surface-2);color:var(--ink-muted);border-radius:10px;margin-top:8px;padding:6px 10px;font-size:.85rem}.story__meta span+span:before{content:"·";margin-right:10px}.story__title-row{align-items:baseline;margin-top:6px;display:flex}.story__title{letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:800;line-height:1.25}.story__title-en{color:var(--ink-muted);margin-top:2px;font-size:1.05rem}.story__tags{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.story__tags li{background:var(--surface-2);color:var(--ink-muted);border-radius:999px;padding:1px 10px;font-size:.8rem;font-weight:600}.story__hint{color:var(--ink-muted);margin-top:10px;font-size:.85rem}.story__text{gap:8px;margin-top:16px;display:grid}.sentence{border-radius:var(--radius-sm);margin-inline:-10px;padding:4px 10px;transition:background-color .3s;position:relative}.sentence--grammar:before{content:"";background:var(--green);border-radius:3px;width:3px;position:absolute;inset:10px auto 10px 0}.sentence--hl-evidence{background:var(--hl-evidence)}.sentence--hl-grammar{background:var(--hl-grammar)}.sentence--hl-vocab{background:var(--hl-vocab)}.sentence__ko{word-break:keep-all;font-size:1.25rem;line-height:1.8}.sentence__speaker{color:var(--green-strong);margin-right:8px;font-weight:700}.sentence__en{color:var(--ink-muted);padding-bottom:6px;font-size:.95rem;line-height:1.5}.word{white-space:nowrap;white-space:nowrap}.tok{cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0 -2px;padding:4px 2px;transition:background-color .15s}@media (hover:hover){.tok:hover{background:var(--green-soft)}}.tok--key{-webkit-text-decoration:underline dotted var(--green);text-decoration:underline dotted var(--green);text-underline-offset:7px;text-decoration-thickness:2px}.tok--vocab-hit{background:color-mix(in srgb, var(--role-particle) 22%, transparent)}.tok.tok--selected{background:var(--green);color:var(--on-green);text-decoration-color:#0000}.gloss-sheet{z-index:20;padding:0 10px calc(10px + env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:fixed;inset:auto 0 0}.gloss-sheet__panel{border:1px solid var(--line);background:var(--surface);width:100%;max-width:620px;max-height:55vh;box-shadow:var(--shadow-lg);pointer-events:auto;border-radius:20px;padding:16px 18px 18px;animation:.18s ease-out sheet-in;overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}.gloss-sheet__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.gloss-sheet__surface{font-size:1.75rem;font-weight:800}.gloss-sheet__gloss{margin-top:2px;font-size:1.1rem;font-weight:600}.gloss-sheet__lemma{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:1.05rem;display:flex}.gloss-sheet__label{color:var(--ink-muted);font-size:.8rem}.gloss-sheet__note{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-muted);margin-top:12px;padding:10px 12px;font-size:.9rem}.breakdown{border-top:1px solid var(--line);gap:8px;margin:14px 0 0;padding:12px 0 0;list-style:none;display:grid}.breakdown__row{--role:var(--role-other);grid-template-columns:auto 1fr;grid-template-areas:"piece meaning""piece role";align-items:center;column-gap:12px;display:grid}.breakdown__piece{background:color-mix(in srgb, var(--role) 16%, transparent);min-width:52px;color:var(--role);text-align:center;border-radius:10px;grid-area:piece;padding:4px 10px;font-size:1.15rem;font-weight:700}.breakdown__meaning{grid-area:meaning;font-size:.95rem}.breakdown__role{color:var(--role);letter-spacing:.06em;text-transform:uppercase;grid-area:role;font-size:.72rem;font-weight:700}.role-noun{--role:var(--role-noun)}.role-stem{--role:var(--role-stem)}.role-particle{--role:var(--role-particle)}.role-tense{--role:var(--role-tense)}.role-ending{--role:var(--role-ending)}.role-honorific{--role:var(--role-honorific)}.role-suffix{--role:var(--role-suffix)}.grammar__pattern{background:var(--green-soft);color:var(--green-strong);border-radius:10px;padding:4px 12px;font-size:1.35rem;font-weight:800;display:inline-block}.grammar__meaning{color:var(--ink-muted);margin-top:6px;font-size:.9rem}.grammar__explanation{margin-top:12px}.grammar__explanation code{background:var(--surface-2);border-radius:6px;padding:1px 5px}.examples{gap:10px;margin:14px 0 4px;padding:0;list-style:none;display:grid}.examples li{border-left:3px solid var(--line);padding-left:12px}.examples [lang=ko]{font-size:1.05rem}.examples [lang=en]{font-size:.9rem}.vocab__list{margin:0;padding:0;list-style:none}.vocab__list li+li{border-top:1px solid var(--line)}.vocab__item{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 0;display:grid}.vocab__lemma{font-size:1.1rem;font-weight:700}.vocab__gloss{color:var(--ink-muted);font-size:.92rem}.quiz__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 12px;display:flex}.quiz__dots{gap:2px;margin:0;padding:0;list-style:none;display:flex}.quiz__dot{cursor:pointer;background:0 0;border:0;width:32px;height:32px;position:relative}.quiz__dot:disabled{cursor:default}.quiz__dot:after{content:"";background:var(--line);border-radius:999px;position:absolute;inset:10px}.quiz__dot--correct:after{background:var(--correct)}.quiz__dot--wrong:after{background:var(--wrong)}.quiz__dot[aria-current=step]:after{box-shadow:0 0 0 3px var(--green-soft), 0 0 0 4.5px var(--green)}.quiz__count{color:var(--ink-muted);font-size:.85rem}.quiz__next{width:100%;margin-top:16px}.question{gap:12px;margin-top:8px;display:grid}.question__prompt{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.question__text{font-size:1.15rem;font-weight:700}.question__en,.question__hint{color:var(--ink-muted);font-size:.92rem}.options{gap:8px;margin:0;padding:0;list-style:none;display:grid}.option{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;align-items:flex-start;gap:10px;width:100%;min-height:52px;padding:12px 14px;transition:border-color .15s,background-color .15s;display:flex}@media (hover:hover){.option:not(:disabled):hover{border-color:var(--green)}}.option:disabled{cursor:default}.option__marker{color:var(--green-strong);font-size:1.1rem;line-height:1.4}.option__text,.order-item__text{gap:2px;font-size:1.05rem;display:grid}.option__en,.order-item__en{color:var(--ink-muted);font-size:.88rem}.option--correct{border-color:var(--correct);background:var(--correct-soft)}.option--wrong{border-color:var(--wrong);background:var(--wrong-soft)}.option--dim{opacity:.5}.feedback{border-radius:var(--radius-sm);gap:4px;padding:12px 14px;display:grid}.feedback--correct{background:var(--correct-soft)}.feedback--wrong{background:var(--wrong-soft)}.feedback__verdict{font-weight:800}.feedback--correct .feedback__verdict{color:var(--correct)}.feedback--wrong .feedback__verdict{color:var(--wrong)}.feedback .link-button{justify-self:start}.order-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.order-row{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:10px;min-height:56px;padding:8px 10px 8px 8px;display:flex}.order-row--sortable{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:box-shadow .15s}.order-row--sortable:focus-visible{outline:2px solid var(--green);outline-offset:2px}.order-row--dragging{z-index:1;border-color:var(--green);box-shadow:var(--shadow-lg);cursor:grabbing;position:relative}.order-row__number{background:var(--surface-2);width:28px;height:28px;color:var(--ink-muted);border-radius:999px;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.order-item{flex:1;min-width:0}.order-row__grip{width:32px;height:40px;color:var(--ink-muted);flex:none;place-items:center;display:grid}.order-row--correct{border-color:var(--correct);background:var(--correct-soft)}.order-row--wrong{border-color:var(--wrong);background:var(--wrong-soft)}.order-row--correct .order-row__number{background:var(--correct);color:var(--on-green)}.order-row--wrong .order-row__number{background:var(--wrong);color:var(--surface)}.order-answer{border-radius:var(--radius-sm);background:var(--surface-2);padding:12px 14px}.order-answer__title{color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:700}.order-answer ol{margin:6px 0 0;padding-left:22px}.score{text-align:center;justify-items:center;gap:6px;padding:12px 0 4px;display:grid}.score__cucumbers{letter-spacing:.1em;font-size:2rem}.score__number{font-size:2.5rem;font-weight:800;line-height:1.1}.score__message{color:var(--ink-muted);margin-bottom:10px}.score__message [lang=ko]{color:var(--ink);font-weight:700}.day-progress{justify-items:start;gap:12px;display:grid}.day-progress--skip{color:var(--ink-muted);text-align:center;display:block}.score__streak{font-weight:800}.day-progress--done{text-align:center;justify-items:center;gap:4px}.day-progress__streak{font-weight:700}.day-progress__streak-number{font-size:1.6rem;font-weight:800}.account-loading{min-height:240px}.account-section{align-content:start;gap:14px;display:grid}.account-section .section-title{margin-bottom:0}.button--danger{border-color:var(--wrong);background:var(--wrong);color:var(--surface)}.segmented{background:var(--surface-2);border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented button{min-height:40px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.form{gap:12px;display:grid}.form .button{justify-self:start}.field{gap:4px;display:grid}.field__label{font-size:.9rem;font-weight:700}.field__input{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:48px;color:var(--ink);font:inherit;padding:0 14px;font-size:16px}.field__input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);outline:none}.field__hint{color:var(--ink-muted);font-size:.85rem}.form__error{color:var(--wrong);font-weight:600}.form__success{color:var(--correct);font-weight:600}.account-details{border-top:1px solid var(--line);padding-top:12px}.account-details summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:700}.account-details[open]>:not(summary){margin-top:10px}.account-details--danger summary{color:var(--wrong)}.account-actions{gap:8px;display:flex}.stats{grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 16px;display:grid}@media (min-width:520px){.stats{grid-template-columns:repeat(4,1fr)}}.stats div{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.stats dt{color:var(--ink-muted);font-size:.8rem}.stats dd{margin:0;font-size:1.5rem;font-weight:800}.calendar__head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.calendar__head .icon-button:disabled{opacity:.35;cursor:default}.calendar__month{font-weight:800}.calendar__grid{border-collapse:collapse;table-layout:fixed;text-align:center;width:100%}.calendar__grid th{color:var(--ink-muted);padding-bottom:6px;font-size:.8rem;font-weight:600}.calendar__grid td{padding:3px 0}.calendar__day{font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;width:36px;height:36px;font-size:.9rem;display:inline-grid}.calendar__day--read{background:var(--green);color:var(--on-green);font-weight:800}.calendar__day--today{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--green)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
