:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:clamp(1.75rem, 1.4rem + 1.6vw, 2.25rem);--text-3xl:clamp(2.125rem, 1.6rem + 2.6vw, 3.25rem);--leading-tight:1.15;--leading-body:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--gutter:clamp(1rem, 4vw, 2.5rem);--content-max:72rem;--measure:38rem;--target-min:44.05px;--bp-sm:640px;--bp-lg:1024px;--color-paper:#f6f1e7;--color-surface:#fbf8f2;--color-sunken:#ece5d7;--color-ink:#1f1b16;--color-ink-muted:#5e554a;--color-line:#ddd3c2;--color-accent:#c8371c;--color-accent-ink:#a62b13;--color-on-accent:#fffaf3;--color-danger:#9e2a1a;--color-success:#2f6b3a;--color-accent-soft:#c8371c1a;--color-danger-soft:#9e2a1a12;--color-success-soft:#2f6b3a1a;--color-header:#f6f1e7d9;--tracking-label:.1em;--weight-medium:500;--weight-strong:600;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--shadow-sm:0 1px 2px #1f1b1614;--shadow-md:0 2px 6px #1f1b160f, 0 12px 32px -12px #1f1b162e;--shadow-lg:0 4px 12px #1f1b1614, 0 28px 60px -24px #1f1b164d;--focus-ring-width:3px;--focus-ring-color:#c8371c;--focus-ring-offset:2px;--duration-fast:.12s;--duration-base:.22s;--duration-slow:.4s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(0, 0, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-paper:#171512;--color-surface:#201d19;--color-sunken:#110f0d;--color-ink:#efe8db;--color-ink-muted:#b0a593;--color-line:#38322b;--color-accent:#f0603f;--color-accent-ink:#ff8466;--color-on-accent:#1a0e0a;--color-danger:#ff8a73;--color-success:#8fcf98;--color-accent-soft:#f0603f24;--color-danger-soft:#ff8a731a;--color-success-soft:#8fcf981f;--color-header:#171512d1;--shadow-lg:0 4px 12px #00000059, 0 28px 60px -24px #000000b3;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 6px #0000004d, 0 12px 32px -12px #0009;--focus-ring-color:#ff8466}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}*,:before,:after{scroll-behavior:auto!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:6rem}body{background:var(--color-paper);min-width:320px;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;overflow-x:clip}::selection{background:var(--color-accent);color:var(--color-on-accent)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:var(--leading-tight);letter-spacing:-.01em;margin:0 0 var(--space-4);text-wrap:balance}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h1:focus{outline:none}p{margin:0 0 var(--space-4);max-width:var(--measure)}img,svg{max-width:100%;display:block}a{color:var(--color-accent-ink);text-underline-offset:.2em;transition:color var(--duration-fast) var(--ease-standard);text-decoration-thickness:1px}a:hover{color:var(--color-ink)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}button,.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target-min);min-width:var(--target-min);max-width:100%;padding:var(--space-1) var(--space-4);border:1px solid var(--color-ink);border-radius:var(--radius-sm);color:var(--color-ink);font:inherit;font-size:var(--text-sm);letter-spacing:.02em;text-align:center;overflow-wrap:anywhere;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--color-ink);color:var(--color-paper)}button:active:not([aria-disabled=true]),.button:active:not([aria-disabled=true]){transform:translateY(1px)scale(.98)}.button--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.button--primary:hover{border-color:var(--color-accent-ink);background:var(--color-accent-ink);color:var(--color-on-accent);box-shadow:var(--shadow-md)}.button--danger{border-color:var(--color-danger);color:var(--color-danger)}.button--danger:hover{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-paper)}button[aria-disabled=true],.button[aria-disabled=true],button[aria-disabled=true]:hover,.button[aria-disabled=true]:hover{opacity:.45;cursor:not-allowed;border-color:var(--color-ink-muted);color:var(--color-ink);box-shadow:none;background:0 0}label{font-size:var(--text-sm);margin-bottom:var(--space-1);font-weight:600;display:block}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);display:block}input:not([type=checkbox],[type=radio],[type=range],[type=file]):focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent);outline-offset:0;box-shadow:0 0 0 5px var(--color-accent-soft)}::placeholder{color:var(--color-ink-muted);opacity:.75}textarea{resize:vertical;min-height:6rem}input:hover,select:hover,textarea:hover{border-color:var(--color-ink-muted)}[aria-invalid=true],[aria-invalid=true]:hover{border-color:var(--color-danger);background-color:var(--color-danger-soft)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}input[type=range]{accent-color:var(--color-accent);min-height:var(--target-min)}.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}.save-error:not(:empty){padding:var(--space-3) var(--gutter);background:var(--color-danger-soft);color:var(--color-danger);border-bottom:2px solid var(--color-danger);text-align:center;margin:0;font-weight:600}.stage-image{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--color-sunken);width:100%;position:relative;overflow:hidden}.stage-image--thumb{border-radius:var(--radius-sm)}.stage-image__img,.stage-image__missing,.stage-image__loading{width:100%;height:100%;position:absolute;inset:0}.stage-image__img{object-fit:contain;display:block}.stage-image__missing{padding:var(--space-3);border:1px dashed var(--color-line);border-radius:inherit;color:var(--color-ink-muted);font-size:var(--text-sm);text-align:center;background:repeating-linear-gradient(-45deg, var(--color-sunken) 0 10px, var(--color-surface) 10px 20px);place-items:center;display:grid}.stage-image--thumb .stage-image__missing{font-size:var(--text-xs);padding:var(--space-1)}.stage-image__loading{background:linear-gradient(90deg, var(--color-sunken) 0%, var(--color-surface) 50%, var(--color-sunken) 100%);animation:stage-image-shimmer 1.4s var(--ease-standard) infinite;background-size:200% 100%}@keyframes stage-image-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.stage-image__loading{animation:none}}.empty-state{max-width:34rem;margin:var(--space-7) auto;padding:var(--space-7) var(--space-5);text-align:center;border:1px dashed var(--color-line);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 0%, var(--color-accent-soft), transparent 60%), var(--color-surface)}.empty-state__rule{width:var(--space-6);height:2px;margin:0 auto var(--space-5);border-radius:var(--radius-pill);background:var(--color-accent);display:block}.empty-state__body p{margin-inline:auto}.empty-state__title{margin:0 0 var(--space-3)}.empty-state__body{color:var(--color-ink-muted)}.empty-state__body>:first-child{margin-top:0}.empty-state__body>:last-child{margin-bottom:0}.empty-state__action{margin-top:var(--space-5)}.filter-bar{gap:var(--space-4);margin-block-end:var(--space-5);display:grid}.filter-bar__heading{margin:0 0 var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-muted)}.filter-bar__chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.filter-chip{min-height:var(--target-min);min-width:var(--target-min);padding:0 var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:0;cursor:pointer;overflow-wrap:anywhere}.filter-chip:hover{border-color:var(--color-ink-muted);background:var(--color-sunken);color:var(--color-ink)}.filter-chip[aria-pressed=true],.filter-chip[aria-pressed=true]:hover{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.filter-bar__status{min-height:1.5em;font-size:var(--text-sm);color:var(--color-ink-muted);margin:0}.gallery__header{margin-block:var(--space-5) var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-line);position:relative}.gallery__header:after{content:"";width:var(--space-7);background:var(--color-accent);height:2px;position:absolute;bottom:-1px;left:0}.gallery__name{font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:-.02em;overflow-wrap:anywhere}.gallery__tagline{margin-top:var(--space-2);color:var(--color-ink-muted);font-family:var(--font-display);font-size:var(--text-lg);overflow-wrap:anywhere;font-style:italic}.gallery__grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.gallery__item{min-width:0}.gallery-card{min-height:var(--target-min);height:100%;color:inherit;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.gallery-card:hover{border-color:var(--color-ink-muted);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.gallery-card:active{box-shadow:var(--shadow-md);transform:translateY(-1px)}.gallery-card:hover .gallery-card__title{color:var(--color-accent-ink)}.gallery-card__cover{overflow:hidden}.gallery-card__cover .stage-image__img{transition:transform var(--duration-slow) var(--ease-standard)}.gallery-card:hover .gallery-card__cover .stage-image__img{transform:scale(1.03)}.gallery-card__placeholder{aspect-ratio:4/3;background:repeating-linear-gradient(135deg, transparent 0 10px, var(--color-line) 10px 11px), var(--color-sunken)}.gallery-card__cover .stage-image{border-radius:0}.gallery-card__body{padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--color-line);min-width:0}.gallery-card__title{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-tight);overflow-wrap:anywhere;transition:color var(--duration-fast) var(--ease-standard);margin-bottom:0}.gallery-card__meta{gap:var(--space-2) var(--space-4);margin:var(--space-2) 0 0;color:var(--color-ink-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.gallery-card:hover,.gallery-card:active,.gallery-card:hover .gallery-card__cover .stage-image__img{transform:none}}.stage-viewer{gap:var(--space-5);display:grid}.stage-viewer__figure{gap:var(--space-4);margin:0;display:grid}.stage-viewer__image{border-radius:var(--radius-lg);width:100%;max-width:56rem;box-shadow:var(--shadow-md);justify-self:center}.stage-viewer__image .stage-image{border-radius:var(--radius-lg)}.stage-viewer__image .stage-image__img{animation:fade-in var(--duration-base) var(--ease-out)}.stage-viewer__caption{gap:var(--space-2);max-width:var(--measure);display:grid}.stage-viewer__label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-muted);margin:0}.stage-viewer__dot{color:var(--color-accent)}.stage-viewer__kind{color:var(--color-ink);font-weight:600}.stage-viewer__note{overflow-wrap:anywhere;margin:0}.stage-viewer__controls{gap:var(--space-4);border-top:1px solid var(--color-line);padding-top:var(--space-4);display:grid}.stage-viewer__steppers{align-items:center;gap:var(--space-3);grid-template-columns:auto 1fr auto;display:grid}.stage-viewer__step{min-height:var(--target-min);min-width:var(--target-min)}.stage-viewer__slider{gap:var(--space-1);display:grid}.stage-viewer__slider label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-muted)}.stage-viewer__slider input{width:100%;min-height:var(--target-min);accent-color:var(--color-accent)}.stage-viewer__strip{gap:var(--space-2);padding:0 0 var(--space-2);margin:0;list-style:none;display:flex;overflow-x:auto}.stage-viewer__strip-item{flex:none}.stage-viewer__thumb{width:6rem;min-height:var(--target-min);border-radius:var(--radius-md);cursor:pointer;opacity:.7;transition:opacity var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;border:2px solid #0000;padding:0;display:block;position:relative}.stage-viewer__thumb:hover{opacity:1;border-color:var(--color-line);background:0 0}.stage-viewer__thumb[aria-current=step]{opacity:1;border-color:var(--color-accent)}.stage-viewer__thumb-number{left:var(--space-1);bottom:var(--space-1);padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs);color:var(--color-ink);position:absolute}@media (width<=639px){.stage-viewer__steppers{grid-template-columns:1fr 1fr}.stage-viewer__slider{grid-area:1/1/auto/-1}}.compare{gap:var(--space-5);display:grid}.compare__panel{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);align-content:start;display:grid}.compare__pick{gap:var(--space-2);display:grid}.compare__pick label{color:var(--color-ink-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.compare__note{color:var(--color-ink-muted);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}@media (width>=640px){.compare{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.piece{gap:var(--space-6);display:grid}.piece__back{align-items:center;gap:var(--space-2);min-height:var(--target-min);min-width:var(--target-min);font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-muted);transition:color var(--duration-fast) var(--ease-standard);justify-self:start;text-decoration:none;display:inline-flex}.piece__back:hover{color:var(--color-accent-ink)}.piece__header{gap:var(--space-2);border-bottom:1px solid var(--color-line);padding-bottom:var(--space-5);display:grid}.piece__title{overflow-wrap:anywhere;margin:0}.piece__year{font-size:var(--text-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-muted);margin:0}.piece__about{gap:var(--space-5);max-width:var(--measure);display:grid}.piece__description{overflow-wrap:anywhere;margin:0}.piece-tags__label{margin:0 0 var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-ink-muted);font-weight:600}.piece-tags__list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.piece-tags__tag{padding:var(--space-1) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--text-sm);overflow-wrap:anywhere}.piece__switch{align-items:center;gap:var(--space-3);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.piece__switch legend{float:left;margin-right:var(--space-3);padding:0}.piece__switch button[aria-pressed=true],.piece__switch button[aria-pressed=true]:hover{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper);box-shadow:inset 0 -3px 0 var(--color-accent)}.piece__switch-hint{font-size:var(--text-xs);color:var(--color-ink-muted);margin:0}.piece-form{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.piece-form__row{gap:var(--space-4);display:grid}@media (width>=640px){.piece-form__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.piece-form__row:has(.piece-form__field--year){grid-template-columns:minmax(0,1fr) 9rem}}.piece-form__field{gap:var(--space-1);align-content:start;min-width:0;display:grid}.piece-form__field label{font-weight:var(--weight-strong)}.piece-form__optional,.piece-form__hint{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0;font-weight:400}.piece-form__error{color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-strong);margin:0}.piece-form__actions{gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.stage-form{gap:var(--space-4);width:100%;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:page-in var(--duration-base) var(--ease-out);display:grid}.stage-form__body{gap:var(--space-4);display:grid}@media (width>=640px){.stage-form__body{grid-template-columns:10rem minmax(0,1fr);align-items:start}.stage-form__row{grid-template-columns:11rem minmax(0,1fr)}}.stage-form__preview{width:100%;max-width:10rem}.stage-form__preview-box{aspect-ratio:4/3;border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-sunken);overflow:hidden}.stage-form__preview-box img{object-fit:contain;width:100%;height:100%;display:block}.stage-form__preview-empty{padding:var(--space-2);color:var(--color-ink-muted);font-size:var(--text-sm);text-align:center;border-style:dashed;place-items:center;display:grid}.stage-form__fields,.stage-form__row{gap:var(--space-4);min-width:0;display:grid}.stage-form__field{gap:var(--space-1);align-content:start;min-width:0;display:grid}.stage-form__field label{font-weight:var(--weight-strong)}.stage-form__field input[type=file]{max-width:100%;min-height:var(--target-min);font-size:var(--text-sm)}.stage-form__field input[type=file]::file-selector-button{min-height:var(--target-min);margin-right:var(--space-3);padding:0 var(--space-4);border:1px solid var(--color-ink);border-radius:var(--radius-sm);color:var(--color-ink);font:inherit;font-weight:var(--weight-strong);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0}.stage-form__field input[type=file]::file-selector-button:hover{background:var(--color-ink);color:var(--color-paper)}.stage-form__optional,.stage-form__hint{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0;font-weight:400}.stage-form__count{font-variant-numeric:tabular-nums;justify-self:end}.stage-form__error{color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-strong);margin:0}.stage-form__actions{gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.piece-editor{gap:var(--space-6);display:grid}.piece-editor__header{gap:var(--space-4);margin-top:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-line);display:grid;position:relative}.piece-editor__header:after{content:"";width:var(--space-7);background:var(--color-accent);height:2px;position:absolute;bottom:-1px;left:0}.piece-editor__title{font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0}.piece-editor__links{gap:var(--space-3);flex-wrap:wrap;display:flex}.piece-editor__section{gap:var(--space-4);display:grid}.piece-editor__heading{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.piece-editor__status{min-height:1.5em;color:var(--color-success);font-size:var(--text-sm);font-weight:var(--weight-strong);margin:0}.piece-editor__stages{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.piece-editor__stage-row{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) var(--ease-standard);grid-template-columns:6rem minmax(0,1fr);display:grid}.piece-editor__stage-row:hover,.piece-editor__stage-row:focus-within{border-color:var(--color-ink-muted)}.piece-editor__stage-actions{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;align-items:center;display:flex}@media (width>=1024px){.piece-editor__stage-row{grid-template-columns:6rem minmax(0,1fr) auto}.piece-editor__stage-actions{grid-column:auto;justify-content:flex-end;max-width:30rem}}.piece-editor__confirm{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-soft);animation:fade-in var(--duration-base) var(--ease-out);flex-wrap:wrap;align-items:center;display:flex}.piece-editor__add{justify-items:start;gap:var(--space-2);display:grid}.piece-editor__hint{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.piece-editor__stage-text{gap:var(--space-1);min-width:0;display:grid}.piece-editor__stage-num{color:var(--color-ink-muted);font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-label);text-transform:uppercase}.piece-editor__stage-label{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-tight);overflow-wrap:anywhere}.piece-editor__stage-note{color:var(--color-ink-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.backup{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-sunken);display:grid}.backup__heading{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.backup__intro{color:var(--color-ink-muted);margin:0}.backup__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.backup__error{padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-weight:var(--weight-strong);max-width:none;margin:0}.backup__confirm{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);animation:page-in var(--duration-base) var(--ease-out);display:grid}.backup__confirm p{margin:0}.backup__question{font-family:var(--font-display);font-size:var(--text-lg)}.backup__live{min-height:1.5em;color:var(--color-success);font-size:var(--text-sm);font-weight:var(--weight-strong);margin:0}.profile__form{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}@media (width>=640px){.profile__form{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.profile__actions{grid-column:1/-1}}.profile__field{gap:var(--space-1);align-content:start;min-width:0;display:grid}.profile__field label{font-weight:var(--weight-strong)}.profile__optional{color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:400}.profile__error{color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-strong);margin:0}.profile__live{min-height:1.5em;color:var(--color-success);font-size:var(--text-sm);font-weight:var(--weight-strong);margin:0}.studio{gap:var(--space-6);display:grid}.studio__header{margin-block:var(--space-5) 0;padding-bottom:var(--space-5);border-bottom:1px solid var(--color-line);position:relative}.studio__header:after{content:"";width:var(--space-7);background:var(--color-accent);height:2px;position:absolute;bottom:-1px;left:0}.studio__title{font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:-.02em}.studio__intro{margin:var(--space-2) 0 0;color:var(--color-ink-muted)}.studio__notice{max-width:none;padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-accent-soft);margin:0}.studio__section{gap:var(--space-4);display:grid}.studio__section-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.studio__heading{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.studio__new{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.studio__hint,.studio__empty{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.studio__empty{padding:var(--space-6) var(--space-4);border:1px dashed var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;max-width:none}.studio__list{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.studio__row{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-5);transition:background-color var(--duration-fast) var(--ease-standard);flex-wrap:wrap;display:flex}.studio__row:hover,.studio__row:focus-within{background:var(--color-paper)}.studio__row+.studio__row{border-top:1px solid var(--color-line)}.studio__row-text{gap:var(--space-1);flex:14rem;min-width:0;display:grid}.studio__row-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-tight);overflow-wrap:anywhere}.studio__row-meta{color:var(--color-ink-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase}.studio__edit{flex-shrink:0}.studio__confirm{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-soft);animation:fade-in var(--duration-base) var(--ease-out);flex-wrap:wrap;display:flex}.studio__live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand{align-items:center;gap:var(--space-2);min-height:var(--target-min);min-width:var(--target-min);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.01em;overflow-wrap:anywhere;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-ink)}.brand__name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.brand__mark{background:var(--color-accent);width:.6em;height:.6em;box-shadow:0 0 0 4px var(--color-accent-soft);transition:transform var(--duration-base) var(--ease-standard);border-radius:50%;flex:none}.brand:hover .brand__mark{transform:scale(1.2)}.nav__list{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.nav__link{min-height:var(--target-min);min-width:var(--target-min);padding:0 var(--space-3);color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.nav__link:active{background:var(--color-accent-soft)}.nav__link:after{content:"";left:var(--space-3);right:var(--space-3);background:var(--color-accent);transform-origin:0;height:2px;transition:transform var(--duration-base) var(--ease-standard);position:absolute;bottom:8px;transform:scaleX(0)}.nav__link:hover,.nav__link[aria-current=page]{color:var(--color-ink)}.nav__link[aria-current=page]:after{transform:scaleX(1)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.skip-link{top:var(--space-2);left:var(--space-2);z-index:10;min-height:var(--target-min);padding:0 var(--space-4);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-sm);transition:transform var(--duration-base) var(--ease-out);align-items:center;display:inline-flex;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.skip-link:hover{color:var(--color-paper)}.app-header{z-index:5;border-bottom:1px solid var(--color-line);background:var(--color-paper);position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-header{background:var(--color-header);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px)}}.app-main>*{animation:page-in var(--duration-slow) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.app-main>*{animation:none}}.app-header__inner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);max-width:var(--content-max);padding:var(--space-2) var(--gutter);flex-wrap:wrap;margin:0 auto;display:flex}.app-main{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--gutter) var(--space-8);box-sizing:border-box;flex:1;margin:0 auto}.app-main:focus{outline:none}
