.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;touch-action:manipulation}
.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}html[data-theme=dark] .theme-toggle .theme-sun{display:block}html[data-theme=dark] .theme-toggle .theme-moon{display:none}
.theme-toggle:hover{border-color:var(--gold)}.theme-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
html[data-theme=dark]{--paper:#1b1815;--ink:#f1e9dc;--muted:#bfb3a2;--line:#514638;--gold:#d0ac74;--dark:#24201a;--surface:#26211c;--surface-raised:#302920;color-scheme:dark}
html[data-theme=dark] body{background:var(--paper);color:var(--ink)}
html[data-theme=dark] body>header{background:var(--paper);border-color:var(--line)}
html[data-theme=dark].nav-scrolled body:not(.admin-body)>header{background:rgba(27,24,21,.92);box-shadow:0 1px 0 #ffffff16}
html[data-theme=dark] .logo-window img{filter:brightness(0) saturate(100%) invert(93%) sepia(15%) saturate(361%) hue-rotate(338deg) brightness(98%) contrast(92%)}
html[data-theme=dark] :is(.dark,.chapter-dark){background:var(--dark);color:var(--ink)}
html[data-theme=dark] #footer{background:#141210;color:var(--ink)}
html[data-theme=dark] :is(input,textarea,select){background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(input,textarea)::placeholder{color:#a99c89;opacity:1}
html[data-theme=dark] .drop{background:var(--surface);box-shadow:0 16px 40px #0005}
html[data-theme=dark] .drop a:hover{background:var(--surface-raised)}
html[data-theme=dark] .button{background:var(--gold);color:#211a13;border-color:var(--gold)}
html[data-theme=dark] .button:hover{background:#dfbd89;border-color:#dfbd89}
html[data-theme=dark] .button.light{background:transparent;color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .button.light:hover{background:var(--surface-raised)}
html[data-theme=dark] :is(.contact-pop,.admin-panel,.admin-card,.studio-stats,.admin-more,.customer-pick){background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.quote-list button,.quote-list-card,.admin-body .small-btn,.customer-picker>input){background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.customer-picker,.upload-zone,.admin-body .upload-zone,.admin-body .empty,.admin-alert){background:var(--surface-raised);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.danger,.quote-error){color:#ffad9c}
html[data-theme=dark] :is(.admin-card>.badge,.admin-body .empty .eyebrow){color:var(--gold)}
html[data-theme=dark] :is(.admin-body .editor-actions,.quote-save-bar){background:var(--surface);box-shadow:none;border-color:var(--line)}
html[data-theme=dark] .admin-section-nav{background:var(--paper);border-color:var(--line)}
html[data-theme=dark] .admin-section-nav a[aria-current=page]{background:var(--gold);color:#211a13}
html[data-theme=dark] .contact-bubble{background:var(--surface);color:var(--ink)}
html[data-theme=dark] :is(.project-carousel-track,.gallery img:first-child){background:#171410}
html[data-theme=dark] .image-notice{color:var(--muted)}
html[data-theme=dark] .skip:focus{background:var(--surface);color:var(--ink)}
@media(max-width:760px){.header-end{gap:8px}.theme-toggle{width:44px;height:44px}.studio-header-actions{gap:8px}.studio-header-actions .theme-toggle{padding:10px;min-width:44px}}
@media print{html[data-theme=dark]{--paper:#fff;--ink:#332a22;--muted:#776e61;--line:#d8cebd;--gold:#a28351;color-scheme:light}.theme-toggle{display:none!important}html[data-theme=dark] .logo-window img{filter:none}}
html[data-theme=dark] .hero .hero-secondary{background:#181a1930;color:#f5eee1;border-color:#c6bca880}
html[data-theme=dark] .hero .hero-secondary:hover{background:#eee5d518}
html[data-theme=dark] .admin-body .small-btn.danger{color:#ffad9c}
html[data-theme=dark] input:is([type=checkbox],[type=radio]){accent-color:var(--gold)}
@media(min-width:761px) and (max-width:1150px){body:not(.admin-body)>header .header-cta{display:none}}
