:root{--color-background:#f2f5fa;--color-background-glow:#e4e9f7;--color-surface:#fff;--color-surface-raised:#f8fafe;--color-text-primary:#172033;--color-text-secondary:#5d687d;--color-rule:#d7deea;--color-primary:#5158d8;--color-primary-strong:#3d43b4;--color-secondary:#347f96;--color-accent:#c65f52;--color-success:#287c6b;--color-warning:#986a18;--color-danger:#b04455;--color-info:#28659c;--on-primary:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-background:#0b1020;--color-background-glow:#17213b;--color-surface:#121a2f;--color-surface-raised:#1b2742;--color-text-primary:#f4f6fb;--color-text-secondary:#a9b3c8;--color-rule:#34415d;--color-primary:#8b91ff;--color-primary-strong:#6268e8;--color-secondary:#8dc7d8;--color-accent:#f39a83;--color-success:#79c5b0;--color-warning:#e5b96a;--color-danger:#e4828d;--color-info:#82b5e8;--on-primary:#0b1020;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--canvas:var(--color-background);--surface:var(--color-surface);--surface-raised:var(--color-surface-raised);--ink:var(--color-text-primary);--text-primary:var(--color-text-primary);--muted:var(--color-text-secondary);--text-secondary:var(--color-text-secondary);--rule:var(--color-rule);--accent:var(--color-primary);--accent-strong:var(--color-primary-strong);--accent-ink:var(--on-primary);--secondary:var(--color-secondary);--success:var(--color-success);--warning:var(--color-warning);--danger:var(--color-danger);--error:var(--color-danger);--info:var(--color-info);--tint:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));--card-art-background:var(--tint);--card-art-line:color-mix(in srgb, var(--color-accent) 26%, transparent);--card-art-solid:color-mix(in srgb, var(--color-accent) 55%, var(--tint));--artwork-clay:color-mix(in srgb, var(--color-danger) 12%, var(--canvas));--artwork-neutral:color-mix(in srgb, var(--muted) 14%, var(--canvas));--overlay:color-mix(in srgb, var(--color-background) 78%, black 22%);--shadow-dialog:0 1.5rem 6rem color-mix(in srgb, var(--color-background) 70%, black 30%);--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Microsoft JhengHei", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "Cascadia Code", Consolas, "Courier New", monospace;--text-scale:1;--text-display:calc(2.25rem * var(--text-scale));--text-h1:calc(1.75rem * var(--text-scale));--text-h2:calc(1.375rem * var(--text-scale));--text-h3:calc(1.125rem * var(--text-scale));--text-body-lg:calc(1.0625rem * var(--text-scale));--text-body:calc(.9375rem * var(--text-scale));--text-body-sm:calc(.8125rem * var(--text-scale));--text-label:calc(.8125rem * var(--text-scale));--text-caption:calc(.75rem * var(--text-scale));--text-code:calc(.875rem * var(--text-scale));--text-xs:var(--text-caption);--text-sm:var(--text-body-sm);--text-base:var(--text-body);--text-md:var(--text-body-lg);--text-lg:var(--text-h2);--text-xl:var(--text-h1);--text-heading:clamp(2rem, 4.5vw, var(--text-display));--text-page-heading:clamp(1.6rem, 3.4vw, calc(var(--text-h1) * 1.15))}:root[data-text-size=small]{--text-scale:.9375}:root[data-text-size=large]{--text-scale:1.125}:root{--density-scale:1;--space-1:calc(.25rem * var(--density-scale));--space-2:calc(.5rem * var(--density-scale));--space-3:calc(.75rem * var(--density-scale));--space-4:calc(1rem * var(--density-scale));--space-5:calc(1.5rem * var(--density-scale));--space-6:calc(2rem * var(--density-scale));--space-7:calc(3rem * var(--density-scale));--space-8:calc(4rem * var(--density-scale));--space-9:calc(6rem * var(--density-scale));--space-10:calc(8rem * var(--density-scale));--touch-target:2.75rem}:root[data-density=compact]{--density-scale:.8}:root[data-density=comfortable]{--density-scale:1.15}:root{--radius-small:.375rem;--radius-medium:.75rem;--radius-round:999px;--line-thin:1px;--line-focus:3px;--motion-fast:.15s;--motion-normal:.22s;--motion-slow:.42s;--motion-easing:cubic-bezier(.2, .7, .2, 1);--layer-modal:20;--layer-drawer:30;--measure-wide:84rem;--measure-reading:42rem;--measure-dialog:46rem;--measure-form:27rem;--measure-art:20rem;--artwork-ratio:8 / 5;--grid-columns:1;--status-dot-size:.375rem;--tracking-wide:.08em;--letterspace-label:.1em;--card-hover-shift:-.2rem;--card-arrow-shift:.2rem;--artwork-rotation:1.5deg;--artwork-scale:1.02;--content-min-height:55vh;--login-min-height:72vh;--modal-max-height:88dvh;--artwork-caption-size:.6rem;--detail-label-width:10rem;--detail-definition-width:7rem;--page-gutter:clamp(1.25rem, 4.8vw, 4rem);--card-gap:var(--space-6);--control-border:var(--rule);--sidebar-width:15rem;--sidebar-width-collapsed:4.5rem;--management-header-height:3.75rem}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-normal:0s;--motion-slow:0s}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);background-color:var(--color-background);background-image:radial-gradient(ellipse 70% 55% at 15% -10%, color-mix(in srgb, var(--color-primary) 16%, transparent), transparent 60%), radial-gradient(ellipse 60% 50% at 100% 0%, color-mix(in srgb, var(--color-background-glow) 90%, transparent), transparent 65%), var(--color-background);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;background:0 0}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-underline-offset:var(--space-1)}:root[data-input-modality=keyboard] button:focus,:root[data-input-modality=keyboard] a:focus,:root[data-input-modality=keyboard] input:focus,:root[data-input-modality=keyboard] select:focus,:root[data-input-modality=keyboard] textarea:focus,:root[data-input-modality=keyboard] [tabindex]:focus{outline:var(--line-focus) solid var(--color-primary);outline-offset:var(--space-1)}button,input,select,textarea{border-radius:var(--radius-small)}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-weight:650;line-height:1.3}svg{display:block}::selection{background:var(--color-primary);color:var(--on-primary)}main:focus{outline:none}main{min-height:var(--content-min-height)}.sr-only{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{inset:var(--space-4) auto auto var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-primary);color:var(--on-primary);z-index:calc(var(--layer-drawer) + 10);border-radius:var(--radius-small);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.eyebrow{font-size:var(--text-caption);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--letterspace-label);color:var(--text-secondary)}.muted{color:var(--text-secondary)}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.text-link{align-items:center;gap:var(--space-2);min-height:var(--touch-target);border-bottom:var(--line-thin) solid var(--text-primary);text-decoration:none;display:inline-flex}.text-link:hover{color:var(--color-primary);border-color:var(--color-primary)}.text-link svg{width:1em;height:1em}.tag{font-size:var(--text-caption);color:var(--text-secondary);display:inline-block}.tag+.tag:before{content:"/";padding-inline:var(--space-2);opacity:.6}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-5);border:var(--line-thin) solid var(--control-border);border-radius:var(--radius-small);background:var(--surface);color:var(--text-primary);font-size:var(--text-body-sm);white-space:nowrap;transition:background var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing), color var(--motion-fast) var(--motion-easing);font-weight:550;text-decoration:none;display:inline-flex;position:relative}.button svg{flex-shrink:0;width:1.1em;height:1.1em}.button:hover:not(:disabled){background:var(--tint);border-color:var(--color-primary)}.button-primary,.button.button-primary{color:var(--on-primary);background:var(--color-primary);border-color:var(--color-primary)}.button-primary:hover:not(:disabled){background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.button-secondary{background:var(--surface)}.button-quiet{background:0 0;border-color:#0000}.button-quiet:hover:not(:disabled){background:var(--tint);border-color:#0000}.button-danger{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 45%, var(--control-border))}.button-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 12%, var(--surface));border-color:var(--color-danger)}.button-small{min-height:var(--touch-target);padding:var(--space-1) var(--space-3);font-size:var(--text-caption)}.button-large{min-height:calc(var(--touch-target) + .375rem);padding:var(--space-3) var(--space-6);font-size:var(--text-body)}.button[aria-pressed=true]{color:var(--on-primary);background:var(--color-primary);border-color:var(--color-primary)}.button-content{align-items:center;gap:var(--space-2);display:inline-flex}.button[aria-busy=true] .button-content{opacity:0}.button-loader{width:1.1em;height:1.1em;margin:auto;animation:.85s linear infinite spin;position:absolute;inset:0}.icon-button{width:var(--touch-target);min-width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-round);place-items:center;padding:0;display:inline-grid}@keyframes spin{to{transform:rotate(360deg)}}.form-field{gap:var(--space-2);min-width:0;display:grid}.form-field>span,.form-field>label{font-size:var(--text-body-sm);font-weight:550}.form-field small{font-size:var(--text-caption)}.form-input{min-height:var(--touch-target);width:100%;min-width:0;padding:var(--space-3) var(--space-4);color:var(--text-primary);border:var(--line-thin) solid var(--control-border);background:var(--surface);font-size:var(--text-body)}.form-input::placeholder{color:var(--text-secondary);opacity:1}.form-input:disabled{opacity:.7}textarea.form-input{resize:vertical;font:inherit}.form-grid{gap:var(--space-5);border:0;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.full-width{grid-column:1/-1}.form-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.checkbox-field{align-items:center;gap:var(--space-3);min-height:var(--touch-target);cursor:pointer;display:flex}.checkbox-field input,input[type=checkbox],input[type=radio]{accent-color:var(--color-primary);flex-shrink:0;width:1.15rem;height:1.15rem}.inline-input{gap:var(--space-2);display:flex}.token-values{gap:var(--space-2);flex-wrap:wrap;display:flex}.input-token{align-items:center;gap:var(--space-2);padding-left:var(--space-3);border:var(--line-thin) solid var(--rule);background:var(--tint);font-size:var(--text-body-sm);overflow-wrap:anywhere;border-radius:var(--radius-small);max-width:100%;display:inline-flex}.input-token button{min-width:var(--touch-target);min-height:var(--touch-target);background:0 0;border:0}.error-message{color:var(--color-danger)}.notice{padding:var(--space-4);margin-top:var(--space-5);border-left:var(--line-focus) solid var(--color-info);border-radius:var(--radius-small);background:var(--surface-raised);font-size:var(--text-body-sm)}.notice[role=alert]{border-left-color:var(--color-danger)}.workspace-form{gap:var(--space-5);display:grid}.workspace-form>.button{justify-self:start}.image-upload{padding-block:var(--space-5);border-block:var(--line-thin) solid var(--rule)}.managed-images{gap:var(--space-6);display:grid}.managed-image{gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:var(--line-thin) solid var(--rule);min-width:0;display:grid}.managed-image>.project-artwork{max-width:var(--measure-reading)}.mutation-notice{gap:var(--space-3);display:grid}.mutation-notice>.button{justify-self:start}.workspace-section{padding-bottom:var(--space-8)}.project-status{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-caption);white-space:nowrap;display:inline-flex}.status-dot{width:var(--status-dot-size);height:var(--status-dot-size);border-radius:var(--radius-round);background:currentColor;flex-shrink:0}.project-status[data-status=active],.project-status[data-status=prod]{color:var(--color-success)}.project-status[data-status=paused] .status-dot{border-radius:var(--radius-small)}.project-status[data-status=archived] .status-dot{border:var(--line-thin) solid currentColor;background:0 0}.visibility-label{font-size:var(--text-caption);color:var(--text-secondary);border:var(--line-thin) solid var(--rule);padding:0 var(--space-2);border-radius:var(--radius-small);white-space:nowrap;align-items:center;display:inline-flex}.visibility-label.is-public{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 14%, var(--surface));border-color:#0000}.public-shell,.management-root{width:min(100%, var(--measure-wide));margin-inline:auto}.public-shell{padding-inline:max(var(--page-gutter), env(safe-area-inset-left)) max(var(--page-gutter), env(safe-area-inset-right))}.public-header{min-height:var(--header-height,5rem);justify-content:space-between;align-items:center;gap:var(--space-5);padding-block:var(--space-4);border-bottom:var(--line-thin) solid var(--rule);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-3);color:var(--color-primary);flex-shrink:0;text-decoration:none;display:inline-flex}.brand span{color:var(--text-primary);font-weight:650;font-size:var(--text-body-lg);letter-spacing:var(--tracking-wide);flex-direction:column;display:flex}.brand small{font:var(--text-caption) var(--font-mono);letter-spacing:var(--letterspace-label);color:var(--text-secondary);font-weight:500}.header-nav{align-items:center;gap:var(--space-3);display:flex}.site-footer{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:4rem;padding-block:var(--space-5) max(var(--space-5), env(safe-area-inset-bottom));border-top:var(--line-thin) solid var(--rule);font-size:var(--text-body-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.public-intro{gap:var(--space-4);max-width:var(--measure-reading);padding-block:var(--space-8) var(--space-6);display:grid}.public-intro h1{font-size:var(--text-heading);line-height:1.3}.public-intro p{color:var(--text-secondary);line-height:1.75}.collection-section{padding-bottom:var(--space-8)}.collection-heading{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);border-block:var(--line-thin) solid var(--rule);display:flex}.collection-heading h2{align-items:center;gap:var(--space-4);font-size:var(--text-h2);display:flex}.collection-count{font-size:var(--text-body-sm);font-family:var(--font-mono);white-space:nowrap;color:var(--text-secondary)}.project-filters{padding-block:var(--space-5) var(--space-7)}.category-list{gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.category-button{min-height:var(--touch-target);border:var(--line-thin) solid transparent;border-radius:var(--radius-round);padding:var(--space-2) var(--space-4);font-size:var(--text-body-sm);color:var(--text-secondary);background:0 0}.category-button:hover{background:var(--tint);color:var(--text-primary)}.category-button[aria-pressed=true]{background:var(--color-primary);color:var(--on-primary)}.admin-filters{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.search-field{grid-column:1/-1}.clear-filters{justify-self:start}.project-grid{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));gap:var(--space-7) var(--card-gap);display:grid}.project-card{flex-direction:column;min-width:0;display:flex}.project-card-open{text-align:left;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;width:100%;height:100%;padding:0;display:flex}.card-edit{margin-top:var(--space-3);align-self:flex-start}.project-artwork{width:100%;aspect-ratio:var(--artwork-ratio);background:var(--card-art-background);border:var(--line-thin) solid color-mix(in srgb, var(--rule) 50%, transparent);border-radius:var(--radius-medium);display:block;position:relative;overflow:hidden}.project-artwork img{object-fit:cover;width:100%;height:100%;display:block}.artwork-variant-1{--card-art-background:var(--artwork-clay)}.artwork-variant-2{--card-art-background:var(--artwork-neutral)}.artwork-drawing{width:100%;height:100%}.artwork-grid{stroke:var(--card-art-line);stroke-width:.5px}.artwork-object{transform-origin:50%;transition:transform var(--motion-slow) var(--motion-easing)}.artwork-fill{fill:var(--card-art-solid);stroke:var(--color-accent);stroke-width:1.2px}.artwork-paper{fill:var(--surface);stroke:var(--color-accent);stroke-width:1.2px}.artwork-ink{stroke:var(--color-accent);stroke-width:1.2px}.artwork-caption{bottom:var(--space-3);left:var(--space-4);font:var(--artwork-caption-size) var(--font-mono);letter-spacing:var(--tracking-wide);color:var(--text-secondary);position:absolute}.artwork-corner{right:var(--space-3);top:var(--space-2);color:var(--text-secondary);position:absolute}.artwork-large{max-height:var(--measure-art);border-inline:0}.project-card-open:hover .artwork-object{transform:rotate(var(--artwork-rotation)) scale(var(--artwork-scale))}.card-meta{justify-content:space-between;align-items:center;gap:var(--space-2);margin-block:var(--space-4) var(--space-3);flex-wrap:wrap;width:100%;display:flex}.card-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);width:100%;display:flex}.card-title{font-size:var(--text-h3);overflow-wrap:anywhere;font-weight:650;line-height:1.4}.card-arrow{font-size:var(--text-h3);transition:transform var(--motion-fast)}.project-card-open:hover .card-arrow{transform:translate(var(--card-arrow-shift), var(--card-hover-shift))}.card-summary{-webkit-line-clamp:3;overflow-wrap:anywhere;margin-block:var(--space-3) var(--space-5);color:var(--text-secondary);font-size:var(--text-body-sm);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-bottom{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-3);border-bottom:var(--line-thin) solid var(--rule);flex-wrap:wrap;width:100%;margin-top:auto;display:flex}.card-tech{overflow-wrap:anywhere;min-width:0}.collection-state{align-items:center;gap:var(--space-4);text-align:center;padding:var(--space-9) var(--space-4);flex-direction:column;display:flex}.collection-state h3{font-size:var(--text-h2)}.collection-state p{color:var(--text-secondary);max-width:var(--measure-reading)}.collection-state p.error-message{color:var(--color-danger)}.collection-state .button{margin-top:var(--space-3)}.state-orbit{color:var(--color-accent);font-size:var(--text-heading);line-height:1}.loading-orbit{animation:2s linear infinite turn}.empty-drawing{color:var(--color-accent);margin-bottom:var(--space-4)}.empty-collection{padding-block:var(--space-8)}@keyframes turn{to{transform:rotate(360deg)}}.project-modal{width:min(var(--measure-dialog), calc(100% - var(--space-6)));max-width:none;max-height:var(--modal-max-height);color:var(--text-primary);background:var(--surface);border:var(--line-thin) solid var(--rule);border-radius:var(--radius-medium);box-shadow:var(--shadow-dialog);overscroll-behavior:contain;scrollbar-gutter:stable;margin:auto;padding:0;overflow:auto}.project-modal[open]{animation:reveal var(--motion-normal) var(--motion-easing)}.project-modal::backdrop,dialog::backdrop{background:var(--overlay)}.modal-topline{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-7);border-bottom:var(--line-thin) solid var(--rule);display:flex}.modal-heading{padding:var(--space-6) var(--space-7)}.modal-status{gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.modal-heading h2{font-size:var(--text-h1);overflow-wrap:anywhere}.modal-heading p{margin-top:var(--space-4);color:var(--text-secondary)}.modal-content{padding:0 var(--space-7) var(--space-7)}.detail-screenshots{gap:var(--space-3);display:grid}.detail-section{grid-template-columns:var(--detail-label-width) minmax(0, 1fr);gap:var(--space-5);padding-block:var(--space-6);border-bottom:var(--line-thin) solid var(--rule);display:grid}.detail-section h3{font-size:var(--text-body-sm);line-height:1.6}.detail-section h3 .eyebrow{margin-top:var(--space-1);display:block}.detail-section p{font-size:var(--text-body-sm)}.detail-technologies{gap:var(--space-2);flex-wrap:wrap;display:flex}.technology-label{padding:var(--space-1) var(--space-3);font-size:var(--text-body-sm);background:var(--tint);overflow-wrap:anywhere;border-radius:var(--radius-small);max-width:100%}.detail-tags{margin-top:var(--space-3);color:var(--text-secondary);overflow-wrap:anywhere}.detail-tags span{margin-right:var(--space-2);display:inline-block}.detail-links{align-items:flex-start;gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.detail-links .text-link{font-size:var(--text-body-sm);overflow-wrap:anywhere;max-width:100%}.detail-dates{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-5);font-size:var(--text-caption);color:var(--text-secondary);flex-wrap:wrap;display:flex}.detail-dates time{font-family:var(--font-mono);margin-left:var(--space-2)}.private-details{border-top:var(--line-thin) solid var(--rule);margin-top:var(--space-6);padding-top:var(--space-6)}.private-heading{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.private-heading h3{font-size:var(--text-body)}.private-details dl{grid-template-columns:var(--detail-definition-width) minmax(0, 1fr);gap:var(--space-3) var(--space-4);margin-block:var(--space-5);font-size:var(--text-body-sm);display:grid}.private-details dt{color:var(--text-secondary);overflow-wrap:anywhere}.private-details dd{overflow-wrap:anywhere;font-family:var(--font-mono);margin:0}.private-details>p{font-size:var(--text-body-sm)}@keyframes reveal{0%{opacity:0;transform:translateY(var(--space-3))}to{opacity:1;transform:translateY(0)}}.login-page{align-items:center;gap:var(--space-9);min-height:var(--login-min-height);padding-block:var(--space-9);width:min(100%, var(--measure-wide));padding-inline:max(var(--page-gutter), env(safe-area-inset-left)) max(var(--page-gutter), env(safe-area-inset-right));grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-inline:auto;display:grid}.login-intro h1{font-size:var(--text-page-heading);margin-block:var(--space-5);line-height:1.3}.login-intro h1 span{color:var(--color-primary)}.login-intro>p:not(.eyebrow){color:var(--text-secondary)}.login-intro .text-link{font-size:var(--text-body-sm);margin-top:var(--space-6)}.login-panel{width:100%;max-width:var(--measure-form);border-top:var(--line-thin) solid var(--text-primary);padding-top:var(--space-6);justify-self:end}.login-heading h2{font-size:var(--text-h1);margin-top:var(--space-3)}.login-heading p{margin-top:var(--space-3);color:var(--text-secondary);font-size:var(--text-body-sm)}.login-form{gap:var(--space-5);margin-top:var(--space-6);display:grid}.login-submit{width:100%;margin-top:var(--space-2);justify-content:space-between}.login-footnote{color:var(--text-secondary);font-size:var(--text-caption);margin-top:var(--space-5)}.not-found-page{text-align:center;justify-content:center;align-items:center;gap:var(--space-5);padding-block:var(--space-9);flex-direction:column;display:flex}.not-found-page h1{font-size:var(--text-page-heading)}.not-found-page p:not(.eyebrow){color:var(--text-secondary)}.not-found-page .button{margin-top:var(--space-3)}.management-root{align-items:stretch;width:100%;max-width:none;min-height:100dvh;display:flex}.management-sidebar{flex:0 0 var(--sidebar-width-collapsed);width:var(--sidebar-width-collapsed);gap:var(--space-6);padding:var(--space-5) var(--space-3);border-right:var(--line-thin) solid var(--rule);background:var(--surface-raised);flex-direction:column;display:flex}.sidebar-brand{justify-content:center;align-items:center;gap:var(--space-3);color:var(--color-primary);padding-block:var(--space-2);display:flex}.sidebar-brand span{display:none}.sidebar-nav{gap:var(--space-1);display:grid}.sidebar-link{justify-content:center;align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-2);border-radius:var(--radius-small);color:var(--text-secondary);font-size:var(--text-body-sm);font-weight:550;text-decoration:none;display:flex}.sidebar-link span{display:none}.sidebar-link:hover{background:var(--tint);color:var(--text-primary)}.sidebar-link.is-current{background:var(--color-primary);color:var(--on-primary)}.sidebar-footer{margin-top:auto}.management-main{flex-direction:column;flex:1;min-width:0;display:flex}.management-header{align-items:center;gap:var(--space-4);min-height:var(--management-header-height);padding-inline:var(--space-5);border-bottom:var(--line-thin) solid var(--rule);background:var(--surface-raised);z-index:10;display:flex;position:sticky;top:0}.management-header h1{font-size:var(--text-h3);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu-toggle{display:none}.account-area{align-items:center;gap:var(--space-2);display:flex}.account-area .account-name{color:var(--text-secondary);font-size:var(--text-body-sm);padding-inline:var(--space-2);text-overflow:ellipsis;white-space:nowrap;max-width:8rem;overflow:hidden}.management-content{min-width:0;padding:var(--space-6) var(--space-6) var(--space-9);flex:1}.nav-scrim{display:none}.overview-page{gap:var(--space-6);max-width:var(--measure-wide);display:grid}.overview-page>header{gap:var(--space-2);max-width:var(--measure-reading);display:grid}.overview-page>header h1{font-size:var(--text-h1)}.overview-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));align-items:start;display:grid}.overview-section{gap:var(--space-4);padding:var(--space-5);background:var(--surface-raised);border:var(--line-thin) solid var(--rule);border-radius:var(--radius-medium);display:grid}.overview-section h2{font-size:var(--text-h3)}.overview-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.overview-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-3);border-bottom:var(--line-thin) solid var(--rule);color:inherit;min-height:var(--touch-target);text-decoration:none;display:flex}.overview-row:last-child{border-bottom:0}.overview-row:hover{color:var(--color-primary)}.overview-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.overview-row-meta{color:var(--text-secondary);font-size:var(--text-caption);white-space:nowrap}.overview-empty{color:var(--text-secondary);font-size:var(--text-body-sm);padding-block:var(--space-3)}.projects-page{gap:var(--space-4);display:grid}.projects-page>header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.projects-page>header h1{font-size:var(--text-h1)}.projects-toolbar{align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.projects-toolbar .form-field{flex:9rem;min-width:9rem}.view-toggle{border:var(--line-thin) solid var(--rule);border-radius:var(--radius-small);display:inline-flex;overflow:hidden}.view-toggle button{min-height:var(--touch-target);padding-inline:var(--space-4);border:0;border-radius:0}.view-toggle button[aria-pressed=true]{background:var(--color-primary);color:var(--on-primary)}.filter-context{align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);color:var(--text-secondary);display:flex}.bulk-bar{align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:var(--line-thin) solid var(--rule);border-radius:var(--radius-medium);top:calc(var(--management-header-height) + var(--space-3));z-index:5;flex-wrap:wrap;display:flex;position:sticky}.bulk-bar-count{font-weight:650}.bulk-bar-actions{gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto;display:flex}.projects-list{border-top:var(--line-thin) solid var(--rule);margin:0;padding:0;list-style:none}.project-row{align-items:center;gap:var(--space-4);padding-block:var(--space-3);border-bottom:var(--line-thin) solid var(--rule);min-height:calc(var(--touch-target) + var(--space-2));grid-template-columns:auto minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto auto;display:grid}.project-row-name{min-width:0;display:grid}.project-row-name a{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;overflow:hidden}.project-row-name a:hover{color:var(--color-primary)}.project-row-name small{color:var(--text-secondary);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.projects-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));display:grid}.projects-grid-card{gap:var(--space-3);padding:var(--space-4);border:var(--line-thin) solid var(--rule);border-radius:var(--radius-medium);background:var(--surface);min-width:0;display:grid}.projects-grid-thumb{aspect-ratio:16/9;border-radius:var(--radius-small);background:var(--tint);color:var(--text-secondary);place-items:center;display:grid;overflow:hidden}.projects-grid-thumb img{object-fit:cover;width:100%;height:100%}.projects-grid-card header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.projects-grid-card h3{font-size:var(--text-body-lg);overflow-wrap:anywhere}.projects-empty{padding-block:var(--space-8);text-align:center;color:var(--text-secondary);gap:var(--space-3);justify-items:center;display:grid}.settings-page{gap:var(--space-7);max-width:var(--measure-wide);display:grid}.settings-page>header h1{font-size:var(--text-h1)}.settings-section{gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:var(--line-thin) solid var(--rule);display:grid}.settings-section:last-child{border-bottom:0}.settings-section h2{font-size:var(--text-h2)}.preference-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.preference-options .button{min-width:6rem}@media (width>=48rem){:root{--grid-columns:2}.admin-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto}.search-field{grid-column:auto}.clear-filters{justify-self:stretch}}@media (width>=75rem){:root{--grid-columns:3}}@media (width>=70rem){.management-sidebar{flex-basis:var(--sidebar-width);width:var(--sidebar-width)}.sidebar-brand{padding-inline:var(--space-2);justify-content:flex-start}.sidebar-brand span,.sidebar-link span{display:inline}.sidebar-link{padding-inline:var(--space-4);justify-content:flex-start}}@media (width<=69.99rem) and (width>=48rem){.management-sidebar{align-items:center}}@media (width<=47.999rem){:root{--header-height:4.5rem;--text-heading:clamp(1.9rem, 8vw, 2.6rem);--text-page-heading:1.9rem;--measure-dialog:100%;--page-gutter:1.25rem}.public-header{gap:var(--space-2);padding-block:var(--space-3)}.header-nav{gap:var(--space-2)}.collection-heading h2{font-size:var(--text-h3)}.site-footer{align-items:flex-start;gap:var(--space-2);flex-direction:column}.login-page{gap:var(--space-7);padding-block:var(--space-7);grid-template-columns:1fr}.login-panel{justify-self:start;max-width:none}.admin-filters .clear-filters{grid-column:1/-1}.project-modal{width:calc(100% - var(--space-4));max-height:calc(100dvh - var(--space-6) - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:var(--radius-medium) var(--radius-medium) 0 0}.modal-topline{padding:var(--space-3) var(--space-4)}.modal-heading{padding:var(--space-5)}.modal-content{padding-inline:var(--space-5);padding-bottom:var(--space-5)}.detail-section{gap:var(--space-4);padding-block:var(--space-5);grid-template-columns:1fr}.private-details dl{gap:var(--space-2);grid-template-columns:1fr}.menu-toggle{display:inline-grid}.management-sidebar{z-index:var(--layer-drawer);width:min(80vw,18rem);transition:transform var(--motion-normal) var(--motion-easing);padding-top:max(var(--space-5), env(safe-area-inset-top));padding-bottom:max(var(--space-5), env(safe-area-inset-bottom));flex-basis:auto;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.management-sidebar.is-open{transform:translate(0)}.sidebar-brand,.sidebar-link{padding-inline:var(--space-4);justify-content:flex-start}.sidebar-brand span,.sidebar-link span{display:inline}.nav-scrim.is-open{z-index:calc(var(--layer-drawer) - 1);background:var(--overlay);display:block;position:fixed;inset:0}.management-content{padding:var(--space-4) var(--space-4) var(--space-9)}.account-area .account-name{display:none}.logout-button{width:var(--touch-target);padding:0}.logout-button span{display:none}.bulk-bar{left:var(--space-3);right:var(--space-3);bottom:max(var(--space-3), env(safe-area-inset-bottom));z-index:var(--layer-modal);box-shadow:var(--shadow-dialog);position:fixed;top:auto}.bulk-bar-actions{width:100%;margin-inline-start:0}.project-row{grid-template-columns:auto minmax(0,1fr) auto}.project-row .project-row-category,.project-row .project-row-updated{display:none}.form-grid,.repo-row{grid-template-columns:minmax(0,1fr)}.projects-toolbar .form-field{flex-basis:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.button-loader,.loading-orbit{animation-duration:1.4s!important;animation-iteration-count:infinite!important}}
