/* Decorative viewport layer behind the workspace and navigation. */
.studio-seasonal-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.72}
html[data-theme=dark] .studio-seasonal-canvas{opacity:.85}
.studio-island .seasonal-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:24px;background:var(--panel,var(--paper-raised,var(--paper)));color:var(--ink);font-size:11px;white-space:nowrap}
.seasonal-toggle [data-seasonal-state]{padding:1px 6px;border-radius:12px;background:var(--green-soft);color:var(--ink)}
.seasonal-toggle[aria-checked=true] [data-seasonal-state]{background:#47653b;color:#fff}
@media(prefers-reduced-motion:reduce){.studio-seasonal-canvas{opacity:.5}}
@media print{.studio-seasonal-canvas,.seasonal-toggle{display:none}}

/* Shared seasonal paint for the Studio island and the site-navigation drawer.
   These tokens are independent of the light/dark appearance preference. */
html[data-seasonal-style=autumn]{--season-nav-top:#f7e4c4;--season-nav-bottom:#dec198;--season-nav-ink:#493321;--season-nav-muted:#6c513a;--season-nav-line:#ab784b66;--season-nav-panel:#ecddc4;--season-nav-active:#ad662326;--season-accent:#8b4d28}
html[data-seasonal-style=winter]{--season-nav-top:#f2f8fa;--season-nav-bottom:#c8dce5;--season-nav-ink:#233e50;--season-nav-muted:#4d6675;--season-nav-line:#7d9bad77;--season-nav-panel:#dce8ed;--season-nav-active:#5e91ab25;--season-accent:#426e87}
html[data-theme=dark][data-seasonal-style=autumn]{--season-nav-top:#594130;--season-nav-bottom:#39291f;--season-nav-ink:#f4e6cf;--season-nav-muted:#cbb59a;--season-nav-panel:#322b25;--season-nav-active:#dda45424;--season-accent:#d9ab71}
html[data-theme=dark][data-seasonal-style=winter]{--season-nav-top:#344d60;--season-nav-bottom:#243542;--season-nav-ink:#e6f1f6;--season-nav-muted:#b4cbd7;--season-nav-panel:#223440;--season-nav-active:#a4ccdf24;--season-accent:#9bc6dc}
html[data-seasonal-style] body:is(.studio-app,.photography-site) .studio-island,
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-switcher:not([open])>summary{background:linear-gradient(var(--season-nav-top),var(--season-nav-bottom));color:var(--season-nav-ink);border-color:var(--season-nav-line);box-shadow:0 12px 30px #152a3020,inset 0 1px #ffffff55}
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-switcher[open],
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-switcher[open]::after{background:var(--season-nav-panel);color:var(--season-nav-ink)}
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-switcher[open]>summary{background:transparent;color:var(--season-nav-ink)}
html[data-seasonal-style] body:is(.studio-app,.photography-site) .studio-island .nav-item{color:var(--season-nav-ink)}
html[data-seasonal-style] body:is(.studio-app,.photography-site) .studio-island .nav-item.active,
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-links a[aria-current],
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-links a:hover{background:var(--season-nav-active)}
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-switcher :is(.project-label,.project-foot),
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-links a::before,
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-links a::after{color:var(--season-nav-muted)}
html[data-seasonal-style] body:is(.studio-app,.photography-site) .project-switcher .project-glyph{background:radial-gradient(circle at 38% 32%,#ffffffdd 0 18%,transparent 19%),conic-gradient(from 210deg,var(--season-accent),var(--season-nav-bottom),var(--season-nav-top),var(--season-accent));box-shadow:inset 0 0 0 3px var(--season-nav-line)}
html[data-seasonal-style] body:is(.studio-app,.photography-site) .studio-island .seasonal-toggle{background:var(--season-nav-panel);color:var(--season-nav-ink);border-color:var(--season-nav-line)}
html[data-seasonal-style] .seasonal-toggle[aria-checked=true] [data-seasonal-state]{background:var(--season-accent);color:var(--season-nav-top)}
html[data-seasonal-style=winter][data-theme=light] body:is(.studio-app,.photography-site){background:linear-gradient(165deg,#e5eef2 0%,#b8cbd6 65%,#9eb7c7 100%);background-attachment:fixed}
html[data-seasonal-style=winter][data-theme=dark] body:is(.studio-app,.photography-site){background:linear-gradient(165deg,#172634 0%,#243c4c 65%,#182e3b 100%);background-attachment:fixed}
.studio-snow-canvas{opacity:1!important}

/* Blossom pink with fresh sage: coordinated island and site-navigation colors. */
html[data-seasonal-style=spring]{--season-nav-top:#fff3f4;--season-nav-bottom:#e4cdd5;--season-nav-ink:#503843;--season-nav-muted:#705762;--season-nav-line:#b891a277;--season-nav-panel:#f0e1e6;--season-nav-active:#9d687f22;--season-accent:#80516a}
html[data-theme=dark][data-seasonal-style=spring]{--season-nav-top:#513d4c;--season-nav-bottom:#362d38;--season-nav-ink:#fae8f1;--season-nav-muted:#d6bdcc;--season-nav-panel:#382d36;--season-nav-active:#d9a6bf26;--season-accent:#dfaec5}
html[data-seasonal-style=spring][data-theme=light] body:is(.studio-app,.photography-site){background:linear-gradient(160deg,#f5f2e9 0%,#d8e3d0 60%,#b9cbb4 100%);background-attachment:fixed}
html[data-seasonal-style=spring][data-theme=dark] body:is(.studio-app,.photography-site){background:linear-gradient(160deg,#26222e 0%,#2e3d37 65%,#20332e 100%);background-attachment:fixed}
.studio-petal-canvas{opacity:.85}

/* Warm meadow light keeps gold fireflies visible without changing appearance mode. */
html[data-seasonal-style=summer][data-theme=light] body:is(.studio-app,.photography-site){background:linear-gradient(160deg,#f1e8c8 0%,#b6bc8d 58%,#879974 100%);background-attachment:fixed}
html[data-seasonal-style=summer][data-theme=dark] body:is(.studio-app,.photography-site){background:linear-gradient(160deg,#242a26 0%,#354338 60%,#182d27 100%);background-attachment:fixed}
html[data-seasonal-style=summer]{--season-nav-top:#fff0ca;--season-nav-bottom:#dfc28a;--season-nav-ink:#4c3b24;--season-nav-muted:#705b3b;--season-nav-line:#ad8b5477;--season-nav-panel:#efe0be;--season-nav-active:#aa7c3026;--season-accent:#80602f}
html[data-theme=dark][data-seasonal-style=summer]{--season-nav-top:#55462f;--season-nav-bottom:#393123;--season-nav-ink:#fff0cb;--season-nav-muted:#d5c19b;--season-nav-panel:#383125;--season-nav-active:#e0bf7026;--season-accent:#dfc17c}
html .studio-firefly-canvas{opacity:1}

.appearance-menu{position:relative;color:var(--season-nav-ink,var(--ink));font-size:12px}
.appearance-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:9px 13px;border-radius:24px;background:var(--season-nav-panel,var(--panel,var(--paper-raised,var(--paper))));border:1px solid var(--season-nav-line,var(--line))}
.appearance-menu>summary::-webkit-details-marker{display:none}
.appearance-panel{position:absolute;right:0;top:calc(100% + 12px);width:280px;max-width:calc(100vw - 40px);padding:18px;background:var(--panel,var(--paper-raised,var(--paper)));color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px #0003;z-index:70;text-align:left}
.appearance-panel label{display:grid;gap:6px;margin-bottom:14px;font-size:12px}
.appearance-panel select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:7px;padding:7px;background:var(--panel,var(--paper-raised,var(--paper)));color:var(--ink)}
.appearance-panel p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
@media(max-width:48rem){.appearance-panel{position:fixed;top:auto;right:20px;left:20px;width:auto}}
@media print{.appearance-menu{display:none}}
@media(max-width:48rem){.appearance-panel{bottom:20px;max-height:calc(100dvh - 40px);overflow-y:auto}}

/* Photography keeps decorative motion behind images and reading surfaces. */
.photography-site > main{position:relative;z-index:1}
html[data-seasonal-style] .photography-site .nav-island{--island-ink:var(--season-nav-ink);--island-muted:var(--season-nav-muted);background:linear-gradient(var(--season-nav-top),var(--season-nav-bottom));border-color:var(--season-nav-line);color:var(--season-nav-ink)}
.photography-site .appearance-panel{box-sizing:border-box;background:var(--paper-raised,var(--paper));color:var(--ink)}
@media(max-width:48rem){.photography-site .appearance-panel{position:absolute;bottom:calc(100% + 12px);top:auto;left:50%;right:auto;transform:translateX(-50%);width: min(280px,calc(100vw - 40px));max-height:calc(100dvh - 340px)}}
