:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-primary-100:var(--lightningcss-light,#dcebe1)var(--lightningcss-dark,#16301f);--color-primary-200:var(--lightningcss-light,#b9d7c4)var(--lightningcss-dark,#1e4129);--color-primary-300:var(--lightningcss-light,#8fbda0)var(--lightningcss-dark,#2c5a3a);--color-primary-400:var(--lightningcss-light,#4d8468)var(--lightningcss-dark,#4c8562);--color-primary-500:var(--lightningcss-light,#1f5c3a)var(--lightningcss-dark,#6bb58a);--color-primary-600:var(--lightningcss-light,#133b25)var(--lightningcss-dark,#8fcba7);--color-primary-700:var(--lightningcss-light,#0d2a1a)var(--lightningcss-dark,#b4ddc3);--color-primary-contrast:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0b1c10);--color-band-dark:var(--lightningcss-light,#1b3a28)var(--lightningcss-dark,#0f2318);--color-surface:var(--lightningcss-light,#f3f5ee)var(--lightningcss-dark,#12140f);--color-surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a1d17);--color-surface-sunken:var(--lightningcss-light,#e7ede0)var(--lightningcss-dark,#202418);--color-border:var(--lightningcss-light,#cbd5c4)var(--lightningcss-dark,#333c2d);--color-border-strong:var(--lightningcss-light,#7d8f76)var(--lightningcss-dark,#677a5f);--color-text:var(--lightningcss-light,#15221a)var(--lightningcss-dark,#eaf0ea);--color-text-muted:var(--lightningcss-light,#46564b)var(--lightningcss-dark,#b7c2b6);--color-text-faint:var(--lightningcss-light,#5d6b5a)var(--lightningcss-dark,#8d9a8b);--color-text-inverse:var(--lightningcss-light,#fff)var(--lightningcss-dark,#10140f);--color-focus-ring:var(--lightningcss-light,#1f5c3a)var(--lightningcss-dark,#8fcba7);--color-info:var(--lightningcss-light,#0a5aa8)var(--lightningcss-dark,#7cb8f2);--color-info-surface:var(--lightningcss-light,#e6f0fb)var(--lightningcss-dark,#152536);--color-info-border:var(--lightningcss-light,#a9c9ea)var(--lightningcss-dark,#2c5278);--color-warning:var(--lightningcss-light,#5e3b07)var(--lightningcss-dark,#e9c98f);--color-warning-surface:var(--lightningcss-light,#f6e9cf)var(--lightningcss-dark,#332a12);--color-warning-border:var(--lightningcss-light,#e3c48c)var(--lightningcss-dark,#6b531f);--color-danger:var(--lightningcss-light,#6b2308)var(--lightningcss-dark,#e9a683);--color-danger-surface:var(--lightningcss-light,#fbe9df)var(--lightningcss-dark,#3a1f13);--color-danger-border:var(--lightningcss-light,#c2410c)var(--lightningcss-dark,#8a4a1e);--color-success:var(--lightningcss-light,#146035)var(--lightningcss-dark,#8fcba7);--color-success-surface:var(--lightningcss-light,#dcefe2)var(--lightningcss-dark,#132a1b);--color-success-border:var(--lightningcss-light,#a9d4bb)var(--lightningcss-dark,#2d5a3c);--color-neutral-surface:var(--lightningcss-light,#e7ede0)var(--lightningcss-dark,#202418);--color-neutral-border:var(--lightningcss-light,#cbd5c4)var(--lightningcss-dark,#3a4431);--color-class-germinated:var(--lightningcss-light,#1a7f45)var(--lightningcss-dark,#7ecc99);--color-class-ungerminated:var(--lightningcss-light,#c2410c)var(--lightningcss-dark,#e6957e);--color-class-uncertain:var(--lightningcss-light,#a16207)var(--lightningcss-dark,#e4b655);--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs:.8125rem;--font-size-sm:.875rem;--font-size-md:1.0625rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-h1:clamp(2.125rem, 5.2vw, 3.625rem);--line-height-tight:1.2;--line-height-normal:1.55;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--page-margin:clamp(20px, 5vw, 64px);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--shadow-ink:var(--lightningcss-light,#0a140c)var(--lightningcss-dark,#000);--shadow-sm:0 1px 2px color-mix(in srgb, var(--shadow-ink) 10%, transparent);--shadow-md:0 4px 14px color-mix(in srgb, var(--shadow-ink) 20%, transparent);--shadow-lg:0 10px 30px color-mix(in srgb, var(--shadow-ink) 28%, transparent);--transition-fast:.12s ease;--transition-base:.2s ease;--touch-target:44px;--touch-target-primary:48px;--page-max-width:1280px;--prose-max-width:70ch}@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}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);-webkit-text-size-adjust:100%}body{font-size:var(--font-size-md);line-height:var(--line-height-normal);min-height:100vh;margin:0}h1,h2,h3,h4{font-family:var(--font-serif);line-height:var(--line-height-tight);margin:0 0 var(--space-3);font-weight:650}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}p{margin:0 0 var(--space-3)}ul,ol{margin:0 0 var(--space-3);padding-left:var(--space-5)}a{color:var(--color-primary-600)}img,svg{max-width:100%}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.page-transition{animation:.15s ease-out backwards page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.page-loading{min-height:40vh;padding-top:var(--space-6);justify-content:center;display:flex}main [tabindex="-1"]:focus{outline:none}@media (prefers-reduced-motion:reduce){.page-transition{animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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}.skip-link{left:var(--space-3);background:var(--color-primary-500);color:var(--color-primary-contrast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:100;transition:top var(--transition-fast);position:absolute;top:-3rem}.skip-link:focus-visible{top:var(--space-3)}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:20;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);position:sticky;top:0}.app-header__inner{align-items:center;gap:var(--space-3);max-width:var(--page-max-width);min-height:60px;padding:0 var(--page-margin);margin:0 auto;display:flex}.app-header__brand{align-items:center;gap:var(--space-2);font-family:var(--font-serif);font-weight:700;font-size:var(--font-size-lg);color:var(--color-text);white-space:nowrap;flex:none;text-decoration:none;display:flex}.app-header__nav{flex:1;min-width:0;display:none;position:relative}.app-header__nav-visible{align-items:center;gap:4px;width:100%;display:flex}.app-header__measure{visibility:hidden;pointer-events:none;white-space:nowrap;gap:4px;height:0;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:0;left:0;overflow:hidden}.app-header__controls{align-items:center;gap:4px;margin-left:auto;display:flex}.app-header__health,.app-header__desktop-only{display:none}.app-header__sep{width:1px;height:24px;margin:0 var(--space-2);background:var(--color-border)}.app-header__account{align-items:center;gap:4px}@media (width>=860px){.app-header__nav{display:block}.app-header__controls{margin-left:0}.app-header__sep{display:block}.app-header__account{display:flex}.app-header .app-header__burger{display:none}}@media (width>=1100px){.app-header__health{margin-right:var(--space-2);display:inline-flex}}.nav-link{min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;align-items:center;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.nav-link:hover{background:var(--color-surface-sunken);color:var(--color-text)}.nav-badge{min-width:20px;height:20px;margin-left:var(--space-1);border-radius:var(--radius-full);background:var(--color-danger-border);color:var(--color-primary-contrast);justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.nav-link--active{color:var(--color-text);font-weight:700}.nav-link--active:after{content:"";right:var(--space-3);bottom:5px;left:var(--space-3);background:var(--color-primary-500);border-radius:2px;height:2px;position:absolute}.header-menu{position:relative}.header-menu__button{min-width:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius-md);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.header-menu__button--text{padding:0 var(--space-3);border-radius:var(--radius-full)}.header-menu__button--pill{gap:var(--space-2);height:40px;min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-raised);box-shadow:var(--shadow-sm);margin:2px 0}.lang-code{font-size:var(--font-size-sm);letter-spacing:.04em;color:var(--color-text);font-weight:700}.header-menu__list{animation:.12s ease-out fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.theme-switch{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-raised);width:80px;height:40px;color:var(--color-text-faint);cursor:pointer;transition:background var(--transition-base), border-color var(--transition-base);flex:none;justify-content:space-between;align-items:center;margin:2px;padding:3px;display:inline-flex;position:relative}.theme-switch:after{content:"";position:absolute;inset:-2px}.theme-switch--dark{background:var(--color-surface-sunken)}.theme-switch__slot{justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.theme-switch__knob{background:var(--color-border);width:32px;height:32px;color:var(--color-text);transition:transform var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:3px;left:3px;transform:translate(40px)}.theme-switch--dark .theme-switch__knob{background:var(--color-primary-300);transform:translate(0)}.header-menu__button:hover,.header-menu__button[aria-expanded=true],.header-menu--active>.header-menu__button{background:var(--color-surface-sunken);color:var(--color-text)}.header-menu__list{z-index:30;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:10rem;box-shadow:var(--shadow-md);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px)}.header-menu__list--end{right:0}.header-menu__list--start{left:0}.header-menu__item{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.header-menu__label{flex:1}.header-menu__item:hover{background:var(--color-surface-sunken)}.header-menu__item[aria-current=page]{font-weight:700}.mobile-panel{box-shadow:var(--shadow-md);max-height:calc(100dvh - 60px);padding:var(--space-2) var(--page-margin) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-raised);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.mobile-panel__list{margin:0;padding:0;list-style:none}.mobile-panel__link{align-items:center;gap:var(--space-2);width:100%;min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;font-weight:600;text-decoration:none;display:flex}.mobile-panel__link--active{background:var(--color-primary-100)}.mobile-panel__account{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.mobile-panel__name{margin:0 var(--space-3) var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (width>=860px){.mobile-panel{display:none}}.app-main{width:100%;max-width:var(--page-max-width);padding:var(--space-4) var(--page-margin) var(--space-8);flex:1;margin:0 auto}@media (width>=720px){.app-main{padding:var(--space-6) var(--page-margin) var(--space-8)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);min-width:var(--touch-target);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);white-space:nowrap;border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-primary-500);color:var(--color-primary-contrast);min-height:var(--touch-target-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-600)}.btn--secondary{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.btn--danger{background:var(--color-surface-raised);color:var(--color-danger);border-color:var(--color-danger-border)}.btn--danger:hover:not(:disabled){background:var(--color-danger-surface)}.btn--ghost{color:var(--color-text-muted);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.btn--sm{min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn--icon{padding:var(--space-2);width:var(--touch-target)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn[aria-pressed=true]{background:var(--color-primary-100);border-color:var(--color-primary-400);color:var(--color-primary-700)}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.card--pressable{cursor:pointer;text-align:left;width:100%;transition:box-shadow var(--transition-fast), border-color var(--transition-fast);display:block}.card--pressable:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.card__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.card__title{font-weight:700;font-size:var(--font-size-md)}.card__meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.card-grid{grid-template-columns:repeat(auto-fit, minmax(var(--grid-min,230px), 1fr));gap:var(--space-4);display:grid}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;line-height:var(--line-height-tight);white-space:nowrap;border:1px solid #0000;display:inline-flex}.badge svg{flex:none;width:14px;height:14px}.badge--info{background:var(--color-info-surface);color:var(--color-info);border-color:var(--color-info-border)}.badge--warning{background:var(--color-warning-surface);color:var(--color-warning);border-color:var(--color-warning-border)}.badge--danger{background:var(--color-danger-surface);color:var(--color-danger);border-color:var(--color-danger-border)}.badge--success{background:var(--color-success-surface);color:var(--color-success);border-color:var(--color-success-border)}.badge--neutral{background:var(--color-neutral-surface);color:var(--color-text-muted);border-color:var(--color-neutral-border)}.seed-badge{align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:700;display:inline-flex}.seed-badge:before{content:"";border-top-style:solid;border-top-width:3px;width:18px;height:0}.seed-badge--germinated{color:var(--color-class-germinated)}.seed-badge--germinated:before{border-color:var(--color-class-germinated);border-top-style:solid}.seed-badge--ungerminated{color:var(--color-class-ungerminated)}.seed-badge--ungerminated:before{border-color:var(--color-class-ungerminated);border-top-style:solid}.seed-badge--uncertain{color:var(--color-class-uncertain)}.seed-badge--uncertain:before{border-color:var(--color-class-uncertain);border-top-style:dashed}.chip{align-items:center;gap:var(--space-1);min-height:var(--touch-target);padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;font-weight:600;display:inline-flex}.chip:hover{background:var(--color-surface-sunken)}.chip[aria-pressed=true]{background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-primary-contrast)}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field__label{font-size:var(--font-size-sm);font-weight:600}.field__required{color:var(--color-danger)}.text-input,select.text-input,textarea.text-input{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);width:100%}.text-input:disabled{background:var(--color-surface-sunken);color:var(--color-text-faint)}.field__help{font-size:var(--font-size-xs);color:var(--color-text-muted)}.field__error{font-size:var(--font-size-xs);color:var(--color-danger);font-weight:600}.field--has-error .text-input{border-color:var(--color-danger-border)}.input-icon-left{align-items:center;display:flex;position:relative}.input-icon-left svg{left:var(--space-3);color:var(--color-text-faint);pointer-events:none;position:absolute}.input-icon-left .text-input{padding-left:calc(var(--space-3) * 2 + 18px)}.password-field{align-items:center;display:flex;position:relative}.password-field .text-input{padding-right:calc(var(--touch-target) + var(--space-1))}.password-field__toggle{position:absolute;top:2px;bottom:2px;right:2px}.notice{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4);border:1px solid #0000;display:flex}.notice svg{flex:none;width:18px;height:18px;margin-top:1px}.notice--info{background:var(--color-info-surface);color:var(--color-info);border-color:var(--color-info-border)}.notice--warning{background:var(--color-warning-surface);color:var(--color-warning);border-color:var(--color-warning-border)}.notice--danger{background:var(--color-danger-surface);color:var(--color-danger);border-color:var(--color-danger-border)}.notice--success{background:var(--color-success-surface);color:var(--color-success);border-color:var(--color-success-border)}.notice__body{flex:1}.notice__title{margin-bottom:2px;font-weight:700}.empty-state{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);color:var(--color-text-muted);flex-direction:column;display:flex}.empty-state svg{width:40px;height:40px;color:var(--color-text-faint)}.empty-state__title{color:var(--color-text);font-weight:700}.spinner{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);display:inline-flex}.spinner__ring{border:2.5px solid var(--color-border-strong);border-top-color:var(--color-primary-500);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-spin{animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--color-surface-sunken) 25%, var(--color-border) 37%, var(--color-surface-sunken) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s infinite skeleton-wave}@keyframes skeleton-wave{0%{background-position:100%}to{background-position:0}}.skeleton--card{border-radius:var(--radius-lg);height:110px}.skeleton--line{height:14px;margin-bottom:var(--space-2)}.toast-stack{bottom:var(--space-3);left:var(--space-3);right:var(--space-3);align-items:stretch;gap:var(--space-2);z-index:100;pointer-events:none;flex-direction:column;display:flex;position:fixed}@media (width>=720px){.toast-stack{left:auto;right:var(--space-4);bottom:var(--space-4);width:360px}}.toast{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);pointer-events:auto;border:1px solid #0000;font-weight:600;display:flex}.toast svg{flex:none;width:18px;height:18px}.toast__text{flex:1;min-width:0}.toast__close{width:var(--touch-target);height:var(--touch-target);margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) 0;color:inherit;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.toast--info{background:var(--color-info-surface);color:var(--color-info);border-color:var(--color-info-border)}.toast--success{background:var(--color-success-surface);color:var(--color-success);border-color:var(--color-success-border)}.toast--danger{background:var(--color-danger-surface);color:var(--color-danger);border-color:var(--color-danger-border)}.form-stack{gap:var(--space-3);flex-direction:column;display:flex}.inline-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.checkbox-row{align-items:center;gap:var(--space-2);min-height:var(--touch-target);font-size:var(--font-size-sm);display:flex}.checkbox-row input[type=checkbox]{width:20px;height:20px}input[type=checkbox]{accent-color:var(--color-primary-500)}.filter-form{align-items:flex-end}.filter-form .field{margin-bottom:0}.auth-forgot{margin-left:calc(-1 * var(--space-3))}.list-table-wrap{display:none}@media (width>=720px){.list-cards{display:none}.list-table-wrap{display:block}}.list-card__thumb{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);width:100%;margin-bottom:var(--space-2);background:var(--color-surface-sunken)}.list-card__row{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--font-size-sm);display:flex}.data-table{border-collapse:collapse;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;overflow:hidden}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.data-table th{color:var(--color-text-muted);background:var(--color-surface-sunken);font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr[data-pressable=true]{cursor:pointer}.data-table tbody tr[data-pressable=true]:hover{background:var(--color-surface-sunken)}.table-thumb{object-fit:cover;border-radius:var(--radius-sm);width:48px;height:48px;display:block}.auth-shell{width:100%;padding:var(--space-3);background:radial-gradient(circle at 50% -10%, var(--color-primary-100), transparent 55%), var(--color-surface);flex:1;display:flex}.app-shell--fit{height:100dvh;min-height:0}.app-shell--fit .page-transition{flex:1;min-width:0;min-height:0;display:flex}.app-shell--fit .app-main{max-width:none;min-height:0;padding:0;display:flex;overflow-y:auto}.auth-back{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);display:inline-flex}.auth-card{width:100%;max-width:440px;margin:0 auto}.auth-brand{align-items:center;gap:var(--space-1);margin-bottom:var(--space-3);text-align:center;flex-direction:column;display:flex}.auth-brand__tagline{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.password-rules{margin:0 0 var(--space-3);gap:var(--space-1);font-size:var(--font-size-xs);flex-direction:column;padding:0;list-style:none;display:flex}.password-rules__item{align-items:center;gap:var(--space-2);color:var(--color-text-muted);display:flex}.password-rules__item[data-met=true]{color:var(--color-success)}.password-rules__item svg{flex:none;width:14px;height:14px}.form-narrow{max-width:560px}.attribution-line{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2);display:flex}.timeline{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline__item{padding:var(--space-3);border-left:3px solid var(--color-primary-300);background:var(--color-surface-sunken);border-radius:0 var(--radius-md) var(--radius-md) 0}.timeline__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:2px}.prose{max-width:var(--prose-max-width)}.prose h1,.prose h2,.prose h3{margin-top:var(--space-5)}.prose blockquote{margin:var(--space-3) 0;padding:var(--space-2) var(--space-4);border-left:3px solid var(--color-primary-300);background:var(--color-surface-sunken);color:var(--color-text-muted)}.prose table{border-collapse:collapse;width:100%;margin:var(--space-3) 0}.prose th,.prose td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left}.prose code{background:var(--color-surface-sunken);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.9em}.secret-box{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-warning-surface);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex}.secret-box code{font-size:var(--font-size-lg);letter-spacing:.02em;word-break:break-all;flex:1;font-weight:700}.confirm-inline{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.hero{gap:var(--space-6);padding:var(--space-6) 0;grid-template-columns:1fr;align-items:center;display:grid}@media (width>=860px){.hero{grid-template-columns:1.1fr .9fr}}.hero__eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:var(--font-size-xs);color:var(--color-primary-500);margin-bottom:var(--space-2);font-weight:700}.section{padding:var(--space-8) 0}.section--band{background:var(--color-surface-sunken);margin:0 calc(-1 * var(--page-margin));padding:var(--space-8) var(--page-margin)}.section__eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:700}.numbered-card__index{font-family:var(--font-serif);font-size:var(--font-size-xl);color:var(--color-border-strong);margin-bottom:var(--space-2)}.solution-grid{gap:var(--space-4);grid-template-columns:1fr;grid-auto-rows:1fr;display:grid}@media (width>=860px){.solution-grid{grid-template-columns:repeat(3,1fr)}}.solution-card{gap:var(--space-2);flex-direction:column;height:100%;display:flex}.solution-card__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.solution-card .numbered-card__index,.solution-card .showcase-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.showcase-card__img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);width:100%;margin-bottom:var(--space-2);display:block}.showcase-card__counts{gap:var(--space-3);flex-wrap:wrap;display:flex}.showcase-card__count{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:700;display:inline-flex}.petri-illustration{width:100%;max-width:420px;margin:0 auto;display:block}.illustration-legend{gap:var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.image-card{gap:var(--space-2);flex-direction:column;display:flex}.image-card__actions,.delete-image{gap:var(--space-1);flex-direction:column;display:flex}.form-dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text);max-width:none;padding:0}.form-dialog::backdrop{background:#00000080}.form-dialog{width:min(560px, calc(100vw - 2 * var(--space-3)));max-height:calc(100dvh - 2 * var(--space-3));overflow-y:auto}.form-dialog .form-stack{padding:var(--space-4)}.error-code{align-items:center;gap:var(--space-1) var(--space-2);margin-top:var(--space-2);font-size:var(--font-size-xs);flex-wrap:wrap;font-weight:600;display:flex}.error-code__value{letter-spacing:.06em;font-family:ui-monospace,Consolas,monospace}.error-code__copy{min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-full);color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid}.user-menu{position:relative}.user-menu__button{align-items:center;gap:var(--space-1);min-height:var(--touch-target);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;font-weight:600;display:inline-flex}.user-menu__button:hover,.user-menu__button[aria-expanded=true]{background:var(--color-surface-sunken);color:var(--color-text)}.user-menu__name{text-overflow:ellipsis;max-width:10rem;overflow:hidden}.user-menu__list{z-index:30;min-width:11rem;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:0;list-style:none;position:absolute;top:100%;right:0}.user-menu__item{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);align-items:center;text-decoration:none;display:flex}.user-menu__item:hover{background:var(--color-surface-sunken)}.settings{gap:var(--space-4);max-width:560px;margin:0 auto;display:grid}
