@import url('/design/site-menu.css');
@import url('/design/auth/member.css');
@import url('/design/auth/account.css');
@import url('/design/auth/settings.css');
@import url('/design/photo-viewer.css');
@import url('/design/mobile.css');
@import url('/design/background.css');
@import url('/design/floating-header.css');
/* Interface-only palettes. Photo pixels, caption swatches and exports are untouched. */
:root{color-scheme:light;--ink:#292a33;--muted:#72727e;--line:#dfdfe7;--paper:#fafafc;--white:#fff;--accent:#e6a9bd;--accent-text:#91506a;--accent-hover:#d995ad;--accent-soft:#fceff3;--on-accent:#482735;--header:#ececf1;--subheader:#f4f4f7;--surface-alt:#f1f1f5;--wave:#e3dfe7;--footer:#f1edf2;--orange:var(--accent);--orange-dark:var(--accent-text)}
:root[data-theme=tuxedo]{color-scheme:dark;--ink:#f4f4f6;--muted:#b2b2bf;--line:#414249;--paper:#18191c;--white:#25262b;--accent:#9dd8bf;--accent-text:#9dd8bf;--accent-hover:#b6e5d1;--accent-soft:#303d37;--on-accent:#18251e;--header:#111215;--subheader:#222328;--surface-alt:#2e2f35;--wave:#3e4b44;--footer:#252a28}
:root[data-theme=cheese]{--ink:#172237;--muted:#687183;--line:#ecd9b4;--paper:#fffbf3;--white:#fff;--accent:#f2a022;--accent-text:#985600;--accent-hover:#e58d12;--accent-soft:#fff0d5;--on-accent:#30200b;--header:#efcb7e;--subheader:#f8e4b9;--surface-alt:#f8f2e7;--wave:#f8d79c;--footer:#fff1da}
:root{--background-start:#fbdcf1;--background-middle:#fae8ee;--background-end:#f5d9cd;--footer-top:#efcedf;--footer-bottom:#e8bfb5;--footer-wave-top:#e5d8e8}
:root[data-theme=tuxedo]{--background-start:#15171d;--background-middle:#263731;--background-end:#405c4c;--footer-top:#30483d;--footer-bottom:#172820;--footer-wave-top:#658475}
:root[data-theme=cheese]{--background-start:#ffe3a5;--background-middle:#fff1d9;--background-end:#f3c6a9;--footer-top:#f5ce98;--footer-bottom:#eeb795;--footer-wave-top:#ffe3b6}
/* Paint beneath the interface; never overlay controls, photos, or exported canvases. */
:root{--brand-paw-filter:none}
:root[data-theme=tuxedo]{--brand-paw-filter:hue-rotate(145deg) saturate(.7)}
:root[data-theme=cheese]{--brand-paw-filter:hue-rotate(45deg)}
body,.document-page{background-color:var(--paper);background-image:radial-gradient(ellipse 150% 125% at -25% -35%,var(--background-start) 0%,transparent 72%),linear-gradient(135deg,var(--background-start) 0%,var(--background-middle) 46%,var(--background-end) 100%);background-size:100% 100%;background-repeat:no-repeat;background-attachment:fixed;color:var(--ink)}
:is(a,button,input,textarea,select):focus-visible{outline-color:var(--accent)}
.site-header,.document-header{background:var(--header);border-color:var(--line);box-shadow:none}
.site-subnav{background:var(--subheader);border-color:var(--line)}
.site-subnav :is(a,button){color:var(--ink)}
.site-subnav :is(a.active,a:hover,button:hover){color:var(--accent-text)}
:is(.hero-subtitle,.field-heading label,.setting>label,.setting>legend,.document-main h1,.document-main h2){color:var(--ink)}
:is(.hero-description,.muted,.privacy-note,.counter,.site-footer,.site-footer>a:first-child,.notice-dialog>p,.meme-stage p,.demo-ad strong,.document-lead,.data-list dd,.more-link,.back-link,.icon-button){color:var(--muted)}
:is(.caption-search,.edit-panel,.preview-panel,.ad-dialog,.notice-dialog,.document-main,.skip-link){background:var(--white);border-color:var(--line)}
:is(.input-picture,.meme-stage,.candidate,.example-card,.demo-ad,.contact-card,.ad-space){background:var(--surface-alt);border-color:var(--line)}
.ad-space,.ad-space .icon{color:var(--muted)}
:is(.caption-search input,textarea,.setting select){color:var(--ink);border-color:var(--line)}
:is(textarea,.setting select,.setting-row input[type=color],.secondary,.position-options button,.close-button){background:var(--white);color:var(--ink);border-color:var(--line)}
:is(textarea,.caption-search input)::placeholder{color:var(--muted)}
:is(.primary,.download-button,.login-button){background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:none}
:is(.primary,.download-button,.login-button):hover{background:var(--accent-hover);border-color:var(--accent-hover)}
:is(.position-options button[aria-pressed=true],.preview-badge,.document-note,.photo-tag,.gallery-selected-tag,.gallery-category[aria-pressed=true]){background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}
.candidate[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.secondary:hover{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}
:is(.privacy-note a,.status,.step-label,.document-main a:not(.primary),.document-nav a[aria-current=page]){color:var(--accent-text)}
.document-page{background-color:var(--paper);color:var(--ink)}
.document-nav{border-color:var(--line)}
.popular-gallery-link:is(:hover,:focus-visible){background:var(--accent-soft)}
.site-footer.legal-footer{--footer-fill:var(--footer-top);--footer-wave:var(--footer-wave-top);--footer-end:var(--footer-bottom);color:var(--ink)}
.site-footer.legal-footer>a:first-child{color:var(--ink)}
.gallery-category:hover{background:var(--surface-alt);color:var(--ink)}
.candidate>.candidate-number{background:var(--white);color:var(--ink)}
.theme-picker{position:relative;flex:none}
.header-actions .theme-toggle{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;background:transparent;border-radius:50%}
.theme-toggle .theme-cat-icon{width:32px;height:32px}
.theme-toggle:hover,.theme-toggle[aria-expanded=true]{background:var(--accent-soft)}
/* Align actual alpha bounds, not the uneven transparent margins in each atlas cell. */
.theme-cat-icon{display:block;width:38px;height:38px;flex:none;background-image:url('/design/icons/theme-cats.png');background-repeat:no-repeat}
.theme-cat-icon[data-coat=snow]{background-size:304.451282% auto;background-position:3.619444% 50%}
.theme-cat-icon[data-coat=tuxedo]{background-size:303.931741% auto;background-position:50% 50%}
.theme-cat-icon[data-coat=cheese]{background-size:304.451282% auto;background-position:96.449115% 45.276498%}
.theme-menu{position:absolute;z-index:30;top:calc(100% + 12px);right:0;display:flex;align-items:center;gap:4px;width:max-content;height:auto;padding:12px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--floating-radius,28px);box-shadow:0 12px 36px #0002;opacity:0;transform:translateY(-6px);visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
.theme-picker.is-open .theme-menu{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition:opacity .18s ease,transform .18s ease,visibility 0s}
.theme-choice{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink)}
.theme-choice:hover{background:var(--surface-alt)}
.theme-choice[aria-checked=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}
.theme-choice .theme-cat-icon{width:36px;height:36px}
@media(max-width:620px){.header-actions{gap:5px}.header-inner{gap:8px}.theme-toggle .theme-cat-icon{width:30px;height:30px}}
@media(max-width:620px){.theme-menu .theme-cat-icon{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.theme-choice,.theme-toggle,.theme-menu,.site-header .brand-image{transition:none}}
