.skip-link{top:var(--space-2);z-index:1000;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-body);font-size:var(--font-size-label);font-weight:var(--font-weight-strong);border-radius:var(--radius-md);transition:transform var(--duration-control) var(--ease-out);text-decoration:none;position:absolute;inset-inline-start:var(--space-2);transform:translateY(-200%)}.skip-link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);transform:none}.skip-link:before{content:"";position:absolute;inset-block:-4px;inset-inline:0}.sidebar{--gv-sidebar-padding-block:20px;--gv-sidebar-padding-inline:14px;--gv-sidebar-brand-gap-block:18px;--gv-sidebar-divider-margin-block-start:14px;--gv-sidebar-divider-margin-inline:6px;--gv-sidebar-account-padding-inline:10px;--gv-sidebar-account-name-size:.9375rem;background:var(--color-surface);border-inline-end:1px solid var(--color-line);width:232px;padding:var(--gv-sidebar-padding-block) var(--gv-sidebar-padding-inline);scrollbar-width:none;flex-direction:column;flex:none;display:flex;overflow-y:auto}.sidebar::-webkit-scrollbar{display:none}.sidebar-brand{align-items:center;gap:var(--space-2);padding-inline:var(--space-1);margin-block-end:var(--gv-sidebar-brand-gap-block);display:flex}.sidebar-brand-name{font-family:var(--font-heading);font-size:var(--font-size-title);font-weight:var(--font-weight-heading);color:var(--color-text)}.sidebar-links{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sidebar-link{align-items:center;gap:var(--space-3);min-height:48px;padding-inline:var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-body);transition:background var(--duration-state) var(--ease-out), color var(--duration-state) var(--ease-out);text-decoration:none;display:flex}.sidebar-link>svg{color:var(--color-text-muted);flex:none}.sidebar-link[data-hovered]{background:var(--color-soft)}.sidebar-link[data-focus-visible]{outline:var(--focus-ring);outline-offset:-1px}.sidebar-link[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-text);font-weight:var(--font-weight-strong)}.sidebar-link[aria-current=page]>svg{color:inherit}.sidebar-divider{background:var(--color-line);height:1px;margin-block:var(--gv-sidebar-divider-margin-block-start) var(--space-3);margin-inline:var(--gv-sidebar-divider-margin-inline)}.sidebar-account{align-items:center;gap:var(--space-3);min-width:0;min-height:48px;padding-inline:var(--gv-sidebar-account-padding-inline);border-radius:var(--radius-md);color:var(--color-text);transition:background var(--duration-state) var(--ease-out);text-decoration:none;display:flex}.sidebar-account:hover{background:var(--color-soft)}.sidebar-account:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.sidebar-account-text{flex-direction:column;min-width:0;line-height:1.2;display:flex;overflow:hidden}.sidebar-account-name{font-family:var(--font-body);font-size:var(--gv-sidebar-account-name-size);font-weight:var(--font-weight-strong);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-account-caption{font-family:var(--font-body);font-size:var(--font-size-caption);color:var(--color-text-muted)}.sidebar-tooltip{max-width:220px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-family:var(--font-body);font-size:var(--font-size-caption);box-shadow:var(--shadow-2)}@media (width<=1099px){.sidebar{width:72px;padding-inline:var(--space-2)}.sidebar-brand{justify-content:center;padding-inline:0}.sidebar-brand-name,.sidebar-link-label,.sidebar-account-text{display:none}.sidebar-link,.sidebar-account{justify-content:center;padding-inline:0}.sidebar-account{width:100%}}@media (width<=767px){.sidebar{display:none}}.tabbar,html[data-keyboard=open] .tabbar{display:none}@media (width<=767px){.tabbar{background:var(--color-bg);border-top:1px solid var(--color-line);display:block}.tabbar-items{--gv-tabbar-padding-block-start:10px;--gv-tabbar-padding-inline:8px;padding:var(--gv-tabbar-padding-block-start) var(--gv-tabbar-padding-inline) var(--gv-tabbar-pad-bottom,22px);grid-template-columns:repeat(3,1fr);display:grid}.tabbar-link{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--control-height);border-radius:var(--radius-sm);color:var(--color-text-muted);transition:color var(--duration-state) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.tabbar-link[data-hovered]{color:var(--color-text)}.tabbar-link[data-focus-visible]{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.tabbar-link[aria-current=page]{color:var(--color-accent-text)}.tabbar-label{font-family:var(--font-body);font-size:var(--font-size-caption);font-weight:var(--font-weight-strong);line-height:1}}.shell{height:var(--gv-app-height,100dvh);grid-template-rows:1fr;grid-template-columns:232px 1fr;width:100%;display:grid;overflow:hidden}@media (width<=1099px){.shell{grid-template-columns:64px 1fr}}.shell-main{--shell-main-inset:3.5rem;padding:var(--space-6) var(--shell-main-inset);background:var(--color-bg);overflow-wrap:break-word;scrollbar-width:none;outline:none;grid-area:1/2;min-width:0;overflow:hidden auto}.shell-main::-webkit-scrollbar{display:none}@media (width<=767px){.shell{grid-template-rows:1fr auto;grid-template-columns:1fr}.shell-main{--shell-main-inset-mobile:1.25rem;padding:var(--shell-main-inset-mobile) var(--shell-main-inset-mobile) 0;grid-area:1/1}}.welcome{min-height:var(--gv-app-height,100dvh);padding:var(--space-6);background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.welcome-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:480px;display:flex;overflow:hidden}.welcome-step{flex-direction:column;gap:18px;padding:36px 32px;display:flex}.welcome-loading{flex-direction:column;gap:20px;padding:36px 32px;display:flex}.welcome-step-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-strong);color:var(--color-text-muted);margin:0}.welcome-title{font-size:var(--font-size-heading);margin:0;line-height:1.15}.welcome-body{font-size:var(--font-size-meta);color:var(--color-text-muted);margin:var(--space-2) 0 0}.welcome-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.welcome-actions[data-layout=mobile]{flex-direction:column-reverse;align-items:stretch}.welcome-progress{gap:var(--space-2);padding:var(--space-6) 32px 0;display:flex}.welcome-progress-bar{border-radius:var(--radius-pill);background:var(--color-soft);flex:1;height:6px}.welcome-progress-bar[data-complete]{background:var(--color-accent)}@media (width<=767px){.welcome-step{padding:28px 20px}.welcome-loading{gap:18px;padding:28px 20px}.welcome-progress{padding-inline:20px}}.gv-auth-failure{padding:var(--space-4) var(--space-4) 0;background:var(--color-surface)}.gv-auth-card{background:var(--color-surface);width:100%}.gv-auth-card__captcha:empty{display:none}.gv-auth-page{align-items:center;gap:var(--space-8);min-height:var(--gv-app-height,100dvh);padding:var(--space-6) var(--space-4);background:var(--color-bg);box-sizing:border-box;flex-direction:column;display:flex}.gv-auth-page__topbar{justify-content:space-between;align-items:center;width:100%;max-width:1200px;display:flex}.gv-auth-page__brand{align-items:center;gap:var(--space-2);display:flex}.gv-auth-page__wordmark{font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:var(--font-size-headline);color:var(--color-text)}.gv-auth-page__what-is{font-size:var(--font-size-body);color:var(--color-accent-text);text-decoration:none;position:relative}.gv-auth-page__what-is:before{content:"";block-size:var(--control-height);position:absolute;inset-block-start:50%;inset-inline:0;transform:translateY(-50%)}.gv-auth-page__what-is:hover{text-decoration:underline}.gv-auth-page__group{align-items:center;gap:var(--space-4);flex-direction:column;width:100%;margin:auto 0;display:flex}.gv-auth-page__tagline{font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:var(--font-size-title);color:var(--color-text-muted);text-align:center;margin:0}.gv-auth-page__card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);width:100%;max-width:480px;margin:auto 0;overflow:hidden}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/fredoka-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-sans-3-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Fallback";font-style:normal;font-weight:400;src:local(Segoe UI),local(Helvetica Neue),local(Arial);size-adjust:98%;ascent-override:95%;descent-override:28%}:root{--gv-coral-600:#b94f31;--gv-coral-400:#e27a57;--gv-coral-200:#f3a98c;--gv-coral-050:#fbe7df;--gv-coral-900:#8f3a22;--gv-coral-shadow:#3a241c;--gv-evergreen-600:#5e7a66;--gv-evergreen-400:#8fb49a;--gv-evergreen-200:#a6cbb2;--gv-evergreen-050:#e4ece5;--gv-evergreen-900:#3e5947;--gv-evergreen-shadow:#26302a;--gv-cream:#faf6ef;--gv-surface-light:#fffdf9;--gv-soft-light:#f3ece2;--gv-line-light:#e9dfd3;--gv-ink:#2b231e;--gv-muted:#6f625a;--gv-night-000:#121010;--gv-night-050:#1b1714;--gv-night-100:#241f1b;--gv-night-150:#2c2621;--gv-night-200:#3a322b;--gv-night-ink:#f3ece3;--gv-night-muted:#b5a99e;--gv-on-coral-dark:#241109;--gv-on-evergreen-dark:#16221b;--gv-white:#fff;--gv-scrim-light:#2b231e59;--gv-scrim-dark:#0009;--gv-danger-600:#9e3a31;--color-bg:var(--gv-cream);--color-surface:var(--gv-surface-light);--color-soft:var(--gv-soft-light);--color-line:var(--gv-line-light);--color-text:var(--gv-ink);--color-text-muted:var(--gv-muted);--color-accent:var(--gv-coral-600);--color-accent-soft:var(--gv-coral-050);--color-accent-text:var(--gv-coral-900);--color-on-accent:var(--gv-white);--color-support:var(--gv-evergreen-600);--color-support-soft:var(--gv-evergreen-050);--color-support-text:var(--gv-evergreen-900);--color-on-support:var(--gv-white);--color-danger-text:var(--gv-danger-600);--color-danger-border:var(--gv-danger-600);--color-danger:var(--gv-danger-600);--color-on-danger:var(--gv-white);--color-scrim:var(--gv-scrim-light);--color-focus:var(--gv-coral-600);--focus-ring:3px solid var(--color-focus);--focus-offset:2px;--font-heading:"Fredoka", system-ui, sans-serif;--font-body:"Source Sans 3", system-ui, sans-serif;--font-weight-heading:500;--font-weight-body:400;--font-weight-strong:600;--font-size-display:2.5rem;--font-size-heading:1.75rem;--font-size-headline-lg:1.625rem;--font-size-headline:1.5rem;--font-size-price:2.125rem;--font-size-title-lg:1.375rem;--font-size-title:1.25rem;--font-size-lead:1.125rem;--font-size-lead-sm:1.0625rem;--font-size-body:1rem;--font-size-meta:.9375rem;--font-size-label:.875rem;--font-size-caption:.8125rem;--line-height-display:1.1;--line-height-heading:1.2;--line-height-title:1.3;--line-height-body:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-1:0 1px 2px #2b231e0f;--shadow-2:0 8px 24px #2b231e1a, 0 1px 2px #2b231e0f;--duration-state:.12s;--duration-control:.18s;--duration-note:.24s;--duration-celebrate:.38s;--delay-note:.38s;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-pop:cubic-bezier(.34, 1.42, .64, 1);--control-height-sm:36px;--control-height:44px;--control-height-lg:48px}:root[data-theme=dark]{--color-bg:var(--gv-night-050);--color-surface:var(--gv-night-100);--color-soft:var(--gv-night-150);--color-line:var(--gv-night-200);--color-text:var(--gv-night-ink);--color-text-muted:var(--gv-night-muted);--color-accent:var(--gv-coral-400);--color-accent-soft:var(--gv-coral-shadow);--color-accent-text:var(--gv-coral-200);--color-on-accent:var(--gv-on-coral-dark);--color-support:var(--gv-evergreen-400);--color-support-soft:var(--gv-evergreen-shadow);--color-support-text:var(--gv-evergreen-200);--color-on-support:var(--gv-on-evergreen-dark);--color-danger-text:#f0a79e;--color-danger-border:#f0a79e;--color-danger:#f0a79e;--color-on-danger:var(--gv-on-coral-dark);--color-scrim:var(--gv-scrim-dark);--color-focus:#e9906f;--shadow-1:0 1px 2px #00000080;--shadow-2:0 10px 28px #0000008c, 0 1px 2px #00000080}@media (prefers-color-scheme:dark){:root[data-theme=system]{--color-bg:var(--gv-night-050);--color-surface:var(--gv-night-100);--color-soft:var(--gv-night-150);--color-line:var(--gv-night-200);--color-text:var(--gv-night-ink);--color-text-muted:var(--gv-night-muted);--color-accent:var(--gv-coral-400);--color-accent-soft:var(--gv-coral-shadow);--color-accent-text:var(--gv-coral-200);--color-on-accent:var(--gv-on-coral-dark);--color-support:var(--gv-evergreen-400);--color-support-soft:var(--gv-evergreen-shadow);--color-support-text:var(--gv-evergreen-200);--color-on-support:var(--gv-on-evergreen-dark);--color-danger-text:#f0a79e;--color-danger-border:#f0a79e;--color-danger:#f0a79e;--color-on-danger:var(--gv-on-coral-dark);--color-focus:#e9906f;--color-scrim:var(--gv-scrim-dark)}}body{background:var(--color-bg);color:var(--color-text);font:var(--font-weight-body) var(--font-size-body) / var(--line-height-body) var(--font-body);text-wrap:pretty;margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--font-weight-heading);margin:0}a{color:var(--color-accent-text)}a:hover{color:var(--color-accent)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@keyframes gv-celebrate-pop{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes gv-note-settle{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}:root{--duration-state:.01ms;--duration-control:.01ms;--duration-note:.01ms;--duration-celebrate:.01ms;--delay-note:0s}}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] :before,:root[data-reduce-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}:root[data-reduce-motion=true]{--duration-state:.01ms;--duration-control:.01ms;--duration-note:.01ms;--duration-celebrate:.01ms;--delay-note:0s}*,:before,:after{box-sizing:border-box}html,body{height:100%;padding:0;overflow:hidden}:root{--gv-vv-top:0px;--gv-vv-bottom:0px;--gv-vv-height:100dvh;--gv-app-height:var(--gv-vv-height)}html[data-keyboard=open] body{top:var(--gv-vv-top);height:var(--gv-vv-height);position:relative}#root{height:100%;overflow-y:auto}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sign-in-page{min-height:var(--gv-app-height,100dvh);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.sign-in-card{align-items:center;gap:var(--space-4);padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);width:400px;max-width:100%;box-shadow:var(--shadow-1);text-align:center;flex-direction:column;display:flex}.sign-in-title{font-family:var(--font-heading);font-size:var(--font-size-heading);font-weight:var(--font-weight-heading);color:var(--color-text)}.sign-in-subtitle{font-size:var(--font-size-body);color:var(--color-text-muted);margin:0}.t-display{font-family:var(--font-heading);font-size:var(--font-size-display);line-height:var(--line-height-display);font-weight:var(--font-weight-heading);letter-spacing:-.02em;color:var(--color-text)}.t-h1{font-family:var(--font-heading);font-size:var(--font-size-heading);line-height:var(--line-height-heading);font-weight:var(--font-weight-heading);letter-spacing:-.012em;color:var(--color-text)}.t-h2{font-family:var(--font-heading);font-size:var(--font-size-title);line-height:var(--line-height-title);font-weight:var(--font-weight-heading);letter-spacing:-.008em;color:var(--color-text)}.t-body{font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-body);color:var(--color-text)}.t-ui{font-size:var(--font-size-label);line-height:var(--line-height-title);font-weight:var(--font-weight-body);color:var(--color-text)}.t-caption{font-size:var(--font-size-caption);line-height:var(--line-height-title);font-weight:var(--font-weight-body);color:var(--color-text-muted)}.t-label{font-size:var(--font-size-caption);line-height:var(--line-height-title);font-weight:var(--font-weight-strong);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.tx-secondary,.tx-tertiary{color:var(--color-text-muted)}.tx-accent{color:var(--color-accent-text)}.row{align-items:center;gap:var(--space-3);display:flex}.col{gap:var(--space-3);flex-direction:column;display:flex}.between{justify-content:space-between}.center{justify-content:center;align-items:center;display:flex}.wrap{flex-wrap:wrap}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.surface{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-6)}.surface-elevated{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-1)}.divider{background:var(--color-line);border:0;height:1px;margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.v-field{gap:var(--space-1);flex-direction:column;display:flex}.v-field-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-body);color:var(--color-text-muted)}.v-field-input{height:var(--control-height);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-text-muted);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-text);outline:none;align-items:center;width:100%;display:flex}.v-field-input:hover{border-color:var(--color-accent)}.v-field-input:focus,.v-field-input[data-focused]{border-color:var(--color-focus)}.v-field-input[data-focus-visible]{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.v-field-input::placeholder{color:var(--color-text-muted)}.v-field-input[data-disabled]{opacity:.5;cursor:not-allowed}.v-field-input[data-invalid]{border-color:var(--color-danger-border)}.v-field-error{font-size:var(--font-size-caption);color:var(--color-danger-text)}.v-btn{align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:var(--control-height);font-family:var(--font-body);font-size:var(--font-size-label);font-weight:var(--font-weight-strong);letter-spacing:-.005em;border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;outline:none;line-height:1;text-decoration:none;display:inline-flex}.v-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.v-btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.v-btn--primary:hover{filter:brightness(1.08)}.v-btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-line)}.v-btn--secondary:hover{background:var(--color-soft)}.v-btn--ghost{color:var(--color-text-muted);background:0 0}.v-btn--ghost:hover{background:var(--color-soft);color:var(--color-text)}.v-btn--danger{background:var(--color-danger-border);color:var(--gv-white)}.v-btn--danger:hover{filter:brightness(1.06)}.v-btn[data-disabled],.v-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.v-icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;outline:none;justify-content:center;align-items:center;display:inline-flex}.v-icon-btn:hover{background:var(--color-soft);color:var(--color-text)}.v-icon-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
