:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-surface:#f4efe7;--color-surface-raised:#fffcf8;--color-surface-sunken:#eae3d8;--color-surface-header:#fffcf8db;--color-border:#ddd5c8;--color-border-strong:#c3b9aa;--color-ink:#231f1b;--color-ink-muted:#6a635a;--color-ink-faint:#9b9286;--color-accent:#c94d0a;--color-accent-hover:#b3440a;--color-accent-pressed:#9c3b09;--color-accent-ink:#fff;--color-accent-soft:#fbe5d6;--color-accent-glow:#c94d0a1a;--color-success:#2b7f49;--color-success-soft:#dff1e3;--color-danger:#b42318;--color-danger-soft:#fbe6e3;--color-highlight:#ffffff38;--color-focus:#2563eb;--color-focus-ring:#2563eb47;--color-scrim:#231c168c;--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%236a635a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-caption:.75rem;--text-small:.875rem;--text-body:1rem;--text-lead:1.125rem;--text-title:clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--text-heading:clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);--text-display:clamp(2.25rem, 1.75rem + 2.5vw, 3.25rem);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.55;--tracking-tight:-.02em;--tracking-wide:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:64px;--radius-small:6px;--radius-control:8px;--radius-card:12px;--radius-pill:999px;--shadow-raised:0 1px 2px #3c2d1e0d, 0 4px 14px #3c2d1e12;--shadow-floating:0 2px 6px #3c2d1e1a, 0 24px 56px #3c2d1e38;--duration-fast:.15s;--duration-base:.22s;--duration-slow:.36s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--content-max-width:1040px;--page-padding:var(--space-4);--tap-target:44px;--control-height:44px;--breakpoint-wide:768px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-surface:#1b1816;--color-surface-raised:#262220;--color-surface-sunken:#141210;--color-surface-header:#262220d6;--color-border:#39332d;--color-border-strong:#4e463e;--color-ink:#f4eee6;--color-ink-muted:#a89f93;--color-ink-faint:#7b7266;--color-accent:#ff7b30;--color-accent-hover:#ff8f50;--color-accent-pressed:#f26b1e;--color-accent-ink:#1b1816;--color-accent-soft:#3e2718;--color-accent-glow:#ff7b301f;--color-success:#62c882;--color-success-soft:#1d3626;--color-danger:#f47c72;--color-danger-soft:#41231f;--color-highlight:#ffffff1a;--color-focus:#7cb6ff;--color-focus-ring:#7cb6ff59;--color-scrim:#0000009e;--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23a89f93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--shadow-raised:0 1px 2px #00000059, 0 4px 14px #0000004d;--shadow-floating:0 2px 6px #0006, 0 24px 56px #0009}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}@media (width>=768px){:root{--page-padding:var(--space-6)}}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:100%;line-height:var(--leading-normal);-webkit-text-size-adjust:100%;background:var(--color-surface);color:var(--color-ink);-webkit-font-smoothing:antialiased}body{background-image:radial-gradient(80rem 28rem at 50% -12rem, var(--color-accent-glow), transparent 70%);background-repeat:no-repeat;min-height:100vh;margin:0}h1,h2,h3,p{overflow-wrap:break-word;margin:0}h1{font-size:var(--text-heading);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h2{font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:-.01em}h3{font-size:var(--text-lead);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}a{color:var(--color-accent);text-underline-offset:.18em;transition:color var(--duration-fast) var(--ease-standard);text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover)}::selection{background:var(--color-accent-soft);color:var(--color-ink)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.numeric{font-variant-numeric:tabular-nums}.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}.eyebrow{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink-muted)}:where(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=submit],[type=button]),select,textarea){width:100%;min-width:0;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-ink);font:inherit;font-size:var(--text-body);font-variant-numeric:tabular-nums;box-shadow:0 1px 0 var(--color-surface-raised) inset;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);margin:0}:where(input,select,textarea)::placeholder{color:var(--color-ink-faint)}:where(input:not([type=checkbox],[type=radio],[type=file]),select,textarea):hover{border-color:var(--color-ink-muted)}:where(input:not([type=checkbox],[type=radio],[type=file]),select,textarea):focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger)}:where(input,select,textarea)[aria-invalid=true]:focus-visible{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}:where(textarea){padding:var(--space-3);min-height:calc(var(--control-height) * 2);line-height:var(--leading-normal);resize:vertical}:where(select){appearance:none;padding-right:calc(var(--space-3) * 2 + 16px);background-image:var(--icon-chevron);background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer;background-size:16px 16px}:where(input[type=number]){appearance:textfield}:where(input[type=number])::-webkit-inner-spin-button{appearance:none;margin:0}:where(input[type=number])::-webkit-outer-spin-button{appearance:none;margin:0}:where(input[type=file]){width:100%;min-height:var(--control-height);padding:var(--space-2);border:1px dashed var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink-muted);font:inherit;font-size:var(--text-small);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard)}:where(input[type=file]):hover{border-color:var(--color-accent)}::file-selector-button{margin-right:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-raised);color:var(--color-ink);font:inherit;font-size:var(--text-small);font-weight:var(--weight-semibold);cursor:pointer}.shell{flex-direction:column;min-height:100vh;display:flex}.shell__header{z-index:10;background:var(--color-surface-header);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);border-bottom:1px solid var(--color-border);position:sticky;top:0}.shell__header-inner{max-width:var(--content-max-width);padding:var(--space-2) var(--page-padding);align-items:center;gap:var(--space-1) var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-3);min-height:var(--tap-target);min-width:0;color:var(--color-ink);font-weight:var(--weight-bold);font-size:var(--text-lead);letter-spacing:var(--tracking-tight);text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-ink)}.brand>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand__mark{border-radius:var(--radius-control);background:linear-gradient(145deg, var(--color-accent-hover), var(--color-accent));width:32px;height:32px;color:var(--color-accent-ink);font-size:var(--text-body);font-weight:var(--weight-bold);letter-spacing:0;box-shadow:0 1px 0 var(--color-highlight) inset, var(--shadow-raised);transition:transform var(--duration-base) var(--ease-spring);flex:none;place-items:center;line-height:1;display:inline-grid}.brand:hover .brand__mark{transform:rotate(-6deg)scale(1.04)}.main-nav{margin-left:auto}.main-nav ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.main-nav a{min-height:var(--tap-target);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-ink-muted);font-weight:var(--weight-medium);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.main-nav a:hover{color:var(--color-ink);background:var(--color-surface-sunken)}.main-nav a:active{background:var(--color-border)}.main-nav a[aria-current=page]{color:var(--color-accent);background:var(--color-accent-soft);font-weight:var(--weight-semibold)}@media (width<=599px){.main-nav{padding-top:var(--space-1);flex-basis:100%;margin-left:0}.main-nav ul{gap:var(--space-1)}.main-nav li{flex:1 1 0;min-width:0}.main-nav a{width:100%;min-height:var(--tap-target);padding:0 var(--space-2);font-size:var(--text-small)}}.shell__main{width:100%;max-width:var(--content-max-width);padding:var(--space-7) var(--page-padding) var(--space-9);flex:1;margin:0 auto}.shell__footer{border-top:1px solid var(--color-border);color:var(--color-ink-muted);font-size:var(--text-small)}.shell__footer-inner{max-width:var(--content-max-width);padding:var(--space-5) var(--page-padding);gap:var(--space-2) var(--space-6);flex-wrap:wrap;justify-content:space-between;margin:0 auto;display:flex}.sub-nav ul{gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-pill);scrollbar-width:none;width:fit-content;max-width:100%;margin:0;list-style:none;display:flex;overflow-x:auto}.sub-nav ul::-webkit-scrollbar{display:none}.sub-nav a{min-height:var(--tap-target);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-ink-muted);font-weight:var(--weight-medium);font-size:var(--text-small);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);align-items:center;text-decoration:none;display:inline-flex}.sub-nav a:hover{color:var(--color-ink)}.sub-nav a[aria-current=page]{color:var(--color-ink);background:var(--color-surface-raised);box-shadow:var(--shadow-raised)}.page{gap:var(--space-7);flex-direction:column;display:flex}.page>.sub-nav{margin-bottom:calc(var(--space-7) * -1 + var(--space-5))}.project-grid{gap:var(--space-4);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.project-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card{gap:var(--space-3);height:100%;padding:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);color:var(--color-ink);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;position:relative}.project-card:hover{color:var(--color-ink);border-color:var(--color-accent);box-shadow:var(--shadow-floating);transform:translateY(-3px)}.project-card:active{transition-duration:var(--duration-fast);transform:translateY(-1px)}.project-card__mark{border-radius:var(--radius-control);background:var(--color-accent-soft);width:44px;height:44px;color:var(--color-accent);font-size:var(--text-title);font-weight:var(--weight-bold);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);place-items:center;line-height:1;display:inline-grid}.project-card:hover .project-card__mark{background:var(--color-accent);color:var(--color-accent-ink)}.project-card__name{font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.01em;margin:0}.project-card__description{color:var(--color-ink-muted);line-height:var(--leading-normal);margin:0}.project-card__meta{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-ink-muted);font-size:var(--text-small);font-variant-numeric:tabular-nums;margin:auto 0 0;display:flex}.project-card__cta{color:var(--color-accent);font-weight:var(--weight-semibold);transition:transform var(--duration-base) var(--ease-out);flex:none}.project-card:hover .project-card__cta{transform:translate(3px)}.button{appearance:none;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-5);border-radius:var(--radius-control);font:inherit;font-size:var(--text-body);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:1px solid #0000;line-height:1.2;text-decoration:none;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)scale(.985)}.button:disabled{cursor:not-allowed;opacity:.45}.button--block{width:100%}.button--primary{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:0 1px 0 var(--color-highlight) inset}.button--primary:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-accent-ink)}.button--primary:active:not(:disabled){background:var(--color-accent-pressed)}.button--secondary{background:var(--color-surface-raised);color:var(--color-ink);border-color:var(--color-border-strong)}.button--secondary:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-ink);border-color:var(--color-ink-muted)}.button--ghost{padding:0 var(--space-3);color:var(--color-accent);background:0 0}.button--ghost:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-hover)}.button--danger{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.button--danger:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}.button--danger:active:not(:disabled){background:var(--color-danger);color:var(--color-surface-raised)}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-raised)}.card--normal{padding:var(--space-5)}.card--compact{padding:var(--space-3) var(--space-4)}@media (width>=768px){.card--normal{padding:var(--space-6)}}.check-row{align-items:center;gap:var(--space-2) var(--space-3);min-height:calc(var(--tap-target) + var(--space-3));padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);transition:background-color var(--duration-fast) var(--ease-standard), opacity var(--duration-base) var(--ease-standard);flex-wrap:wrap;display:flex;position:relative}.check-row:hover{background:var(--color-surface-sunken)}.check-row--dimmed{opacity:.5}.check-row__input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.check-row__label{align-items:center;gap:var(--space-3);min-width:0;min-height:var(--tap-target);cursor:pointer;-webkit-tap-highlight-color:transparent;flex:12rem;display:flex}.check-row__input:disabled+.check-row__label{cursor:default}.check-row__box{border:2px solid var(--color-border-strong);border-radius:var(--radius-small);background:var(--color-surface-raised);width:28px;height:28px;color:var(--color-accent-ink);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);flex:none;place-items:center;display:inline-grid}.check-row__label:hover .check-row__box{border-color:var(--color-accent)}.check-row__label:active .check-row__box{transform:scale(.92)}.check-row__box svg{opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-base) var(--ease-spring);transform:scale(.4)}.check-row__input:checked+.check-row__label .check-row__box{background:var(--color-accent);border-color:var(--color-accent)}.check-row__input:checked+.check-row__label .check-row__box svg{opacity:1;transform:scale(1)}.check-row__input:focus-visible+.check-row__label .check-row__box{outline:3px solid var(--color-focus);outline-offset:2px}.check-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.check-row__title{font-weight:var(--weight-medium);line-height:var(--leading-snug);transition:color var(--duration-fast) var(--ease-standard)}.check-row--checked .check-row__title{color:var(--color-ink-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);text-decoration-thickness:1.5px}.check-row__detail{font-size:var(--text-small);line-height:var(--leading-snug);color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.check-row__trailing{flex:none;margin-left:auto}@media (width<=559px){.check-row__trailing{padding-left:calc(28px + var(--space-3));flex-basis:100%;justify-content:flex-end;display:flex}}.confirm-dialog{width:min(100% - var(--space-6), 440px);max-height:calc(100vh - var(--space-8));border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-raised);color:var(--color-ink);box-shadow:var(--shadow-floating);margin:auto;padding:0}.confirm-dialog::backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:confirm-dialog-backdrop-in var(--duration-base) var(--ease-out)}.confirm-dialog[open]{animation:confirm-dialog-in var(--duration-base) var(--ease-out)}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes confirm-dialog-backdrop-in{0%{opacity:0}to{opacity:1}}.confirm-dialog__panel{gap:var(--space-3);padding:var(--space-6);flex-direction:column;display:flex}.confirm-dialog__title{font-size:var(--text-title);line-height:var(--leading-snug);text-wrap:balance}.confirm-dialog__body{color:var(--color-ink-muted)}.confirm-dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}@media (width<=479px){.confirm-dialog__actions{flex-direction:column-reverse}.confirm-dialog__actions .button{width:100%}}.empty-state{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-raised);text-align:center;flex-direction:column;display:flex}.empty-state__mark{width:64px;height:64px;margin-bottom:var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);box-shadow:0 0 0 8px var(--color-accent-glow);place-items:center;display:inline-grid}.empty-state__title{font-size:var(--text-title);text-wrap:balance}.empty-state__body{max-width:40ch;color:var(--color-ink-muted);text-wrap:pretty}.empty-state__action{margin-top:var(--space-3)}.empty-state__action>a:not(.button){min-height:var(--tap-target);padding:0 var(--space-5);border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);font-weight:var(--weight-semibold);transition:background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.empty-state__action>a:not(.button):hover{background:var(--color-accent-hover);color:var(--color-accent-ink)}.empty-state__action>a:not(.button):active{transform:translateY(1px)scale(.985)}.field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.field__label{font-weight:var(--weight-semibold);font-size:var(--text-small);line-height:var(--leading-snug);color:var(--color-ink)}.field__control{min-width:0}.field--invalid .field__control :where(input,select,textarea){border-color:var(--color-danger)}.field__hint{font-size:var(--text-small);line-height:var(--leading-snug);color:var(--color-ink-muted)}.field__error{align-items:flex-start;gap:var(--space-2);font-size:var(--text-small);line-height:var(--leading-snug);font-weight:var(--weight-medium);color:var(--color-danger);display:flex}.field__error:before{content:"";border-radius:var(--radius-pill);background:currentColor;flex:none;width:6px;height:6px;margin-top:.45em}.field__error>span+span{display:block}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.page-header__text{gap:var(--space-3);flex-direction:column;flex:20rem;min-width:0;display:flex}.page-header__back{align-items:center;gap:var(--space-1);min-height:var(--tap-target);width:fit-content;margin-left:calc(var(--space-2) * -1);padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--color-ink-muted);font-size:var(--text-small);font-weight:var(--weight-medium);transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);text-decoration:none;display:inline-flex}.page-header__back:hover{color:var(--color-accent);background:var(--color-accent-soft)}.page-header__back>span{transition:transform var(--duration-base) var(--ease-out)}.page-header__back:hover>span{transform:translate(-2px)}.page-header__lead{color:var(--color-ink-muted);font-size:var(--text-lead);line-height:var(--leading-normal);text-wrap:pretty;max-width:56ch}.page-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page-header__actions>a:not(.button){min-height:var(--tap-target);padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--color-accent);font-weight:var(--weight-semibold);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);align-items:center;text-decoration:none;display:inline-flex}.page-header__actions>a:not(.button):hover{background:var(--color-accent-soft);color:var(--color-accent-hover)}.segmented{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.segmented__label{font-weight:var(--weight-semibold);font-size:var(--text-small);line-height:var(--leading-snug)}.segmented__options{gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-control);flex-wrap:wrap;width:fit-content;max-width:100%;display:flex}.segmented__option{appearance:none;min-height:var(--tap-target);padding:0 var(--space-4);border-radius:var(--radius-small);color:var(--color-ink-muted);font:inherit;font-weight:var(--weight-medium);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex:1 0 auto}.segmented__option:hover{color:var(--color-ink)}.segmented__option:active{transform:scale(.97)}.segmented__option[aria-pressed=true]{background:var(--color-surface-raised);color:var(--color-accent);font-weight:var(--weight-semibold);box-shadow:var(--shadow-raised)}.stepper{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface-raised);align-items:stretch;display:inline-flex;overflow:hidden}.stepper__button{appearance:none;width:var(--tap-target);min-height:var(--tap-target);color:var(--color-accent);font:inherit;font-size:var(--text-title);font-weight:var(--weight-semibold);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;line-height:1}.stepper__button:hover:not(:disabled){background:var(--color-accent-soft)}.stepper__button:active:not(:disabled){background:var(--color-accent);color:var(--color-accent-ink)}.stepper__button:focus-visible{outline-offset:-3px}.stepper__button:disabled{color:var(--color-ink-faint);cursor:not-allowed}.stepper__value{min-width:48px;padding:0 var(--space-2);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);font-weight:var(--weight-semibold);justify-content:center;align-items:center;display:inline-flex}.stepper__suffix{color:var(--color-ink-muted);font-weight:var(--weight-regular);font-size:var(--text-small)}.measurements{gap:var(--space-7);flex-direction:column;display:flex}.measurements__fields{gap:var(--space-5) var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));display:grid}.measurements__choice{gap:var(--space-2);flex-direction:column;display:flex}.measurements__number{align-items:center;display:flex;position:relative}.measurements__number input{min-height:52px;padding-right:calc(var(--space-3) * 2 + 2.5ch);font-size:var(--text-lead);font-weight:var(--weight-medium)}.measurements__unit{right:var(--space-3);padding:2px var(--space-2);border-radius:var(--radius-small);background:var(--color-surface-sunken);color:var(--color-ink-muted);font-size:var(--text-small);font-weight:var(--weight-medium);pointer-events:none;position:absolute}.measurements__submit{min-height:52px;font-size:var(--text-lead);align-self:stretch}@media (width>=768px){.measurements__submit{align-self:flex-start;min-width:16rem}}.page.list-page{gap:var(--space-6);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.list-page__side,.list-page__main{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}@media (width>=768px){.page.list-page{gap:var(--space-8);grid-template-columns:minmax(260px,1fr) minmax(0,2fr)}.list-page__side{top:calc(var(--space-9) + var(--space-4));position:sticky}}.list-page__rename{min-height:52px;font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.list-progress{gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-raised);box-shadow:var(--shadow-raised);transition:border-color var(--duration-base) var(--ease-standard), background-color var(--duration-base) var(--ease-standard);flex-direction:column;display:flex}.list-progress__text{font-size:var(--text-lead);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:0}.list-progress__track{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:10px;overflow:hidden}.list-progress__fill{border-radius:inherit;background:var(--color-accent);height:100%;transition:width var(--duration-slow) var(--ease-out), background-color var(--duration-base) var(--ease-standard);display:block}.list-progress--done{border-color:var(--color-success);background:var(--color-success-soft)}.list-progress--done .list-progress__text{color:var(--color-success)}.list-progress--done .list-progress__fill{background:var(--color-success)}.built-from{gap:var(--space-2);padding:0 var(--space-2);flex-direction:column;display:flex}.built-from__title{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink-muted);margin:0}.built-from__list{font-size:var(--text-small);font-variant-numeric:tabular-nums;color:var(--color-ink);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.built-from__list li{padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.aisle-group{gap:var(--space-3);flex-direction:column;display:flex}.aisle-group__header{align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.aisle-group__badge{border-radius:var(--radius-control);background:var(--color-accent);width:36px;height:36px;color:var(--color-accent-ink);font-size:var(--text-body);font-weight:var(--weight-bold);flex:none;place-items:center;line-height:1;display:inline-grid}.aisle-group__badge--unmapped{background:var(--color-surface-sunken);color:var(--color-ink-muted);border:1px dashed var(--color-border-strong)}.aisle-group__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.aisle-group__title{font-size:var(--text-title);line-height:var(--leading-snug);margin:0}.aisle-group__categories{font-size:var(--text-small);color:var(--color-ink-muted);margin:0}.aisle-group__lines{margin:calc(var(--space-2) * -1) calc(var(--space-3) * -1) 0;flex-direction:column;padding:0;list-style:none;display:flex}.aisle-group__lines>li+li{border-top:1px solid var(--color-border)}.check-row__detail .line-note{color:var(--color-ink-faint);display:block}.line-qty-block{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.line-qty{padding:var(--space-1) var(--space-2);border-radius:var(--radius-small);background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--text-small);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);display:inline-block}.check-row--checked .line-qty,.check-row--dimmed .line-qty{background:var(--color-surface-sunken);color:var(--color-ink-muted)}.line-calculated{align-items:center;gap:var(--space-1);font-size:var(--text-small);color:var(--color-ink-muted);font-variant-numeric:tabular-nums;display:inline-flex}.line-calculated .button{min-height:var(--tap-target);font-size:var(--text-small)}.line-error{align-items:center;gap:var(--space-3);min-height:calc(var(--tap-target) + var(--space-3));padding:var(--space-2) var(--space-3);display:flex}.line-error__mark{border-radius:var(--radius-small);border:2px dashed var(--color-danger);width:28px;height:28px;color:var(--color-danger);font-weight:var(--weight-bold);flex:none;place-items:center;display:inline-grid}.line-error__text{flex-direction:column;gap:2px;display:flex}.line-error__name{font-weight:var(--weight-medium)}.line-error__message{font-size:var(--text-small);color:var(--color-danger)}.add-item-form{gap:var(--space-4);flex-direction:column;display:flex}.add-item-form__title{font-size:var(--text-title);margin:0}.add-item-form__row{gap:var(--space-3);grid-template-columns:minmax(0,1fr);align-items:end;display:grid}@media (width>=640px){.add-item-form__row{grid-template-columns:minmax(0,3fr) minmax(0,2fr) auto}}.print-only{display:none}.lists-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));margin:0;padding:0;list-style:none;display:grid}.lists-grid>li{min-width:0}.lists-grid .card{height:100%}.list-card{gap:var(--space-3);flex-direction:column;min-width:0;height:100%;display:flex}.list-card__head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.list-card__name{min-width:0;font-size:var(--text-title);line-height:var(--leading-snug)}.list-card__name a{min-height:var(--tap-target);color:var(--color-ink);overflow-wrap:anywhere;align-items:center;text-decoration:none;display:inline-flex}.list-card__name a:hover{color:var(--color-accent)}.list-card__delete{margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0;color:var(--color-ink-muted);flex:none}.list-card__delete:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}.list-card__meta-row{gap:var(--space-1) var(--space-2);color:var(--color-ink-muted);font-size:var(--text-small);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.list-card__meta-row>p+p:before{content:"·";margin-right:var(--space-2);color:var(--color-ink-faint)}.list-card__progress{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-small);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;flex-direction:column;margin-top:auto;display:flex}.list-card__progress-track{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:6px;overflow:hidden}.list-card__progress-fill{border-radius:inherit;background:var(--color-accent);height:100%;transition:width var(--duration-slow) var(--ease-out);display:block}.list-card--done .list-card__progress{color:var(--color-success)}.list-card--done .list-card__progress-fill{background:var(--color-success)}.backup-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=768px){.backup-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.backup-card{gap:var(--space-3);flex-direction:column;display:flex}.backup-card>p{color:var(--color-ink-muted);text-wrap:pretty}.backup-card>.button{margin-top:var(--space-2);align-self:flex-start}.backup-card>.field{margin-top:var(--space-2)}.backup-status{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--color-success-soft);color:var(--color-success);font-size:var(--text-small);font-weight:var(--weight-semibold);animation:backup-status-in var(--duration-base) var(--ease-out);align-self:flex-start;display:inline-flex}.backup-status:before{content:"";border-radius:var(--radius-pill);background:currentColor;width:8px;height:8px}@keyframes backup-status-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.layout-store{max-width:520px}.layout-section{gap:var(--space-4);flex-direction:column;display:flex}.layout-section-title{font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.layout-unmapped{gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--color-accent);border-radius:var(--radius-card);background:var(--color-accent-soft);flex-direction:column;display:flex}.layout-unmapped .layout-section-title{font-size:var(--text-body)}.layout-unmapped--ok{border-color:var(--color-success);background:var(--color-success-soft)}.layout-unmapped__ok{align-items:center;gap:var(--space-2);color:var(--color-success);font-weight:var(--weight-medium);display:flex}.layout-unmapped__ok:before{content:"";border-radius:var(--radius-pill);background:currentColor;width:8px;height:8px}.aisle-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.aisle-card{gap:var(--space-5);display:grid}.aisle-card__head{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.aisle-card__index{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);font-weight:var(--weight-bold);font-size:var(--text-lead);place-items:center;display:grid}.aisle-card__name{flex:200px}.aisle-card__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.aisle-card__empty{color:var(--color-ink-muted);font-size:var(--text-small)}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{align-items:center;gap:var(--space-1);min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-raised);font-size:var(--text-small);font-weight:var(--weight-medium);transition:border-color var(--duration-fast) var(--ease-standard);display:inline-flex}.chip:hover{border-color:var(--color-ink-muted)}.chip--warning{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-surface-raised)}.chip__remove{min-width:var(--tap-target);min-height:var(--tap-target);margin-block:calc(var(--space-2) * -1);margin-right:calc(var(--space-2) * -1);border-radius:var(--radius-pill);color:var(--color-ink-muted);font:inherit;font-size:var(--text-lead);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;place-items:center;line-height:1;display:grid}.chip__remove:hover{background:var(--color-danger-soft);color:var(--color-danger)}.chip__remove:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.inline-add{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.inline-add .field{flex:220px}.layout-new-aisle{padding:var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-raised)}.layout-restore{margin-top:var(--space-2);padding-top:var(--space-6);border-top:1px solid var(--color-border);justify-content:flex-start;display:flex}.template-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.template-row{gap:var(--space-4) var(--space-6);transition:border-color var(--duration-fast) var(--ease-standard);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.template-row:hover{border-color:var(--color-border-strong)}.template-row__text{gap:var(--space-1);flex-direction:column;flex:18rem;min-width:0;display:flex}.template-row__name{min-height:var(--tap-target);font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-ink);align-items:center;width:fit-content;text-decoration:none;display:inline-flex}.template-row__name:hover{color:var(--color-accent)}.template-row__description{color:var(--color-ink-muted);text-wrap:pretty}.template-row__meta{margin-top:var(--space-1);color:var(--color-ink-muted);font-size:var(--text-small);font-variant-numeric:tabular-nums}.template-row__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.page.template-editor{gap:var(--space-8)}.editor-section{gap:var(--space-4);flex-direction:column;display:flex}.editor-section__head{gap:var(--space-1);flex-direction:column;display:flex}.editor-section__title{font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.editor-section__lead{color:var(--color-ink-muted);text-wrap:pretty}.editor-input--area{line-height:var(--leading-normal)}.editor-input--mono{font-family:var(--font-mono);font-size:var(--text-small)}.editor-input--number{font-variant-numeric:tabular-nums}.details-card{gap:var(--space-4);display:grid}.validation-panel{gap:var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid var(--color-danger);border-radius:var(--radius-card);background:var(--color-danger-soft);color:var(--color-ink);border-left-width:4px;flex-direction:column;display:flex}.validation-panel__title{font-weight:var(--weight-semibold);color:var(--color-danger)}.validation-panel ul{padding-left:var(--space-5);gap:var(--space-1);font-size:var(--text-small);margin:0;display:grid}.input-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.input-list__add{align-self:flex-start}.input-row__card{gap:var(--space-5);display:grid}.input-row__head{gap:var(--space-3) var(--space-4);grid-template-columns:auto minmax(0,1fr);align-items:end;display:grid}.input-row__head .segmented{grid-column:1/-1}.input-row__index{width:36px;height:36px;margin-bottom:var(--space-1);border-radius:var(--radius-control);background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;align-self:end;place-items:center;display:grid}.input-row__grid{gap:var(--space-3);min-width:0;display:grid}.input-row__grid--numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-editor{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-control);background:var(--color-surface);display:grid}.options-table{table-layout:fixed;border-collapse:collapse;width:100%}.options-table th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-ink-muted);padding:0 var(--space-2) var(--space-2) 0}.options-table th:nth-child(2){width:30%}.options-table th:last-child{width:6.5rem}.options-table td{padding:0 var(--space-2) var(--space-2) 0;vertical-align:middle}.options-table td:last-child{text-align:right;white-space:nowrap;padding-right:0}.choice-editor__foot{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:end;display:flex}.input-row__actions{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.input-row__actions .button--danger{margin-left:auto}@media (width>=768px){.input-row__head{grid-template-columns:auto minmax(0,1fr) auto}.input-row__head .segmented{grid-column:auto}.input-row__grid--main{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.input-row__grid--numbers{grid-template-columns:repeat(5,minmax(0,1fr))}}.materials-layout{gap:var(--space-8) var(--space-6);display:grid}.materials-hint{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-sunken);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--leading-normal);overflow-wrap:anywhere}.input-row__head--material{grid-template-columns:auto minmax(0,1fr)}.material-row__packs{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=640px){.material-row__packs{grid-template-columns:repeat(3,minmax(0,1fr))}}.formula-outcome{font-family:var(--font-mono);color:var(--color-ink-muted)}.preview-panel__card{gap:var(--space-3);display:grid}.preview-panel__title{font-size:var(--text-body);font-weight:var(--weight-semibold)}.preview-panel__lines{margin:0;padding:0;list-style:none;display:grid}.preview-line{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-small);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.preview-line--error{color:var(--color-danger);font-weight:var(--weight-semibold)}.preview-panel__count{color:var(--color-ink-muted);font-size:var(--text-small);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}@media (width>=1024px){.materials-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.preview-panel{top:calc(var(--space-9) + var(--space-4));position:sticky}}@page{margin:16mm}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-sunken:#fff;--color-border:#000;--color-ink:#000;--color-ink-muted:#555;--color-accent:#000;--color-accent-ink:#fff;--color-accent-soft:#fff;--color-success:#000;--color-danger:#000;--shadow-raised:none;--duration-fast:0s;--duration-base:0s}html,body{color:#000;background:#fff}html{font-size:11pt}.shell__header,.shell__footer,.sub-nav,nav,button,.stepper,.add-item-form,.page-header,.list-progress,.built-from,.line-calculated,.aisle-group__badge,.check-row__input{display:none}.print-only{display:block}.shell__main{max-width:none;padding:0}.list-page{display:block}.list-page__side{position:static}.list-page__main{gap:var(--space-5)}.print-header{gap:var(--space-1);margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:2px solid #000;flex-direction:column;display:flex}.print-header__store{font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-muted)}.print-header__title{font-size:var(--text-heading);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.01em}.print-header__meta{gap:var(--space-4);font-size:var(--text-small);color:var(--color-ink-muted);display:flex}.print-header__measurements{margin-top:var(--space-2);font-size:var(--text-small);font-variant-numeric:tabular-nums;line-height:var(--leading-normal)}.aisle-group-card,.aisle-group{break-inside:avoid}.aisle-group-card{margin-top:var(--space-5);box-shadow:none;border:0;border-radius:0;padding:0}.aisle-group{gap:var(--space-2)}.aisle-group__header{padding-bottom:var(--space-1);border-bottom:1px solid #000}.aisle-group__title{font-size:var(--text-lead)}.aisle-group__lines{margin:0}.aisle-group__lines>li+li{border-top:1px solid #d0d0d0}.line-not-needed{display:none}.check-row{min-height:0;padding:var(--space-2) 0;opacity:1;break-inside:avoid;background:0 0;border-radius:0}.check-row__label{gap:var(--space-3);cursor:default;min-height:0}.check-row__box{background:#fff;border:1.5px solid #000;border-radius:2px;width:14px;height:14px}.check-row__box svg{display:none}.check-row__title{font-weight:var(--weight-medium);color:#000}.check-row--checked .check-row__title{color:var(--color-ink-muted);-webkit-text-decoration:line-through #000;text-decoration:line-through #000}.check-row__detail{font-size:var(--text-small);color:var(--color-ink-muted)}.line-note{font-size:var(--text-caption);color:var(--color-ink-muted)}.line-qty-block{gap:0}.line-qty{font-weight:var(--weight-semibold);background:0 0;padding:0}.line-error__mark{width:14px;height:14px;font-size:var(--text-caption);border:1.5px dashed #000;border-radius:2px}.line-error{min-height:0;padding:var(--space-2) 0}.print-footer{margin-top:var(--space-7);padding-top:var(--space-2);font-size:var(--text-caption);color:var(--color-ink-muted);border-top:1px solid #d0d0d0}a{color:inherit;text-decoration:none}}
