:root{color-scheme:light}.header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.theme-toggle{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;padding:10px}.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .sun{display:none}.theme-toggle:hover{border-color:var(--ink)}
:root[data-theme=dark]{color-scheme:dark;--paper:#141618;--ink:#eeeee9;--red:#f07888;--line:#393d41;--surface:#202428;--muted:#b3b8b8}
:root[data-theme=dark] .theme-toggle .sun{display:block}:root[data-theme=dark] .theme-toggle .moon{display:none}
:root[data-theme=dark] .site-header,:root[data-theme=dark] body[data-page=home] .site-header{background:var(--paper);border-color:var(--line)}
:root[data-theme=dark] .site-header .brand img,:root[data-theme=dark] footer .brand img{filter:invert(1)}
:root[data-theme=dark] main #home,:root[data-theme=dark] body[data-page=home] .store-hero{background:var(--paper)}
:root[data-theme=dark] .campaign-frame{background:radial-gradient(ellipse at 60% 48%,#41464b,transparent 70%)}
:root[data-theme=dark] .campaign-plinth{background:linear-gradient(175deg,#41464b,#1b1e21);border-color:#62686c}
:root[data-theme=dark] .store-categories{background:var(--paper);border-color:var(--line)}
:root[data-theme=dark] .store-category{background:#24282c}
:root[data-theme=dark] .category-sleeves,:root[data-theme=dark] .category-accessories{color:#f5f5ef}
:root[data-theme=dark] .category-sleeves::after,:root[data-theme=dark] .category-accessories::after{background:linear-gradient(transparent,#111d)}
:root[data-theme=dark] .button{background:#eeeee9;color:#17191b}:root[data-theme=dark] .button:hover{background:#d6d9d6;color:#17191b}
:root[data-theme=dark] .viewer{background:radial-gradient(ellipse at 50% 38%,#41474c,#282d31);border-color:var(--line)}
:root[data-theme=dark] .view-controls .active{background:var(--ink);color:var(--paper)}
:root[data-theme=dark] .cut-photo{background:radial-gradient(ellipse at 50% 34%,#44494c,#272c30)}
:root[data-theme=dark] .cut-photo-label,:root[data-theme=dark] .preset-photo>span{color:#d2d6d6}
:root[data-theme=dark] .preset-photo{background:radial-gradient(ellipse at 50% 35%,#42474b,#282d31)}
:root[data-theme=dark] .preset-grid>button[aria-pressed=true]{background:#292d32}
:root[data-theme=dark] #preset-library{border-color:var(--line)}
:root[data-theme=dark] .direct-tools{background:#202428f5;border-color:#565d62;box-shadow:0 6px 24px #0005}
:root[data-theme=dark] .direct-actions button,:root[data-theme=dark] .direct-text-label textarea{border-color:#565d62}
:root[data-theme=dark] .direct-text-label textarea{background:#141618;color:var(--ink)}
:root[data-theme=dark] .selected-outline{stroke:#8dccff}:root[data-theme=dark] .alignment-guide{stroke:#ff9ca9}
:root[data-theme=dark] .upload{background:#202428;border-color:#757d82}:root[data-theme=dark] .upload.dragging{background:#343039;border-color:var(--red)}
:root[data-theme=dark] input:not([type=color]):not([type=checkbox]):not([type=range]):not([type=file]),:root[data-theme=dark] select,:root[data-theme=dark] textarea{background-color:#202428;color:var(--ink)}
:root[data-theme=dark] input[type=range],:root[data-theme=dark] input[type=checkbox]{accent-color:var(--red)}
:root[data-theme=dark] .swatches button{border-color:#fff5}
:root[data-theme=dark] .template-section,:root[data-theme=dark] .team-workspace{background:var(--surface)}
/* Artwork stays on white paper; do not invert rendered garments or exported colours. */
:root[data-theme=dark] .panel-sheet{background:#f6f4ee;border-color:#44484a}:root[data-theme=dark] .panel-sheet>span{color:#65675f}
:root[data-theme=dark] .team-workspace-heading,:root[data-theme=dark] .team-note,:root[data-theme=dark] .lineup-card{border-color:var(--line)}
:root[data-theme=dark] .bag-item img,:root[data-theme=dark] .lineup-card img,:root[data-theme=dark] .art-file img{background:#343a3e}
:root[data-theme=dark] #toast{background:#eeeee9;color:#17191b}
:root[data-theme=dark] .app-nav a:active{background:#fff1}
:root[data-theme=dark] :is(.small-copy,.model-note,.viewer-help,.store-kicker,.store-description,.hero-description,.cut-card p,.cut-section-head p,.preset-intro,.preset-card-copy>span,.direct-tools p,.upload-status,.upload>span:last-of-type,.range-label output,.empty,.bag-item p,.step-controls span,.section-head>p,summary>span,#fallback p,#reset-dialog p){color:var(--muted)}
:root[data-theme=dark] .team p:not(.eyebrow){color:var(--muted)}:root[data-theme=dark] .upload-status.error{color:#ff9ca9}
:root[data-theme=dark] body[data-page=studio] .editor{scrollbar-color:#656d72 transparent}
@media(max-width:760px){.site-header .header-actions{grid-column:2;grid-row:1;gap:12px}.site-header .header-actions #open-bag{display:block}.theme-toggle{width:38px;height:38px;padding:9px}.header-actions #bag-count{margin-left:6px}}
