/* Dark is the default, including when JavaScript or storage is unavailable. */
:root{--ink:#eeeade;--muted:#aaa99d;--signal:#e38472;--line:#d0c9b529;--page-bg:#121511;--panel:#1b201a;--field:#171c16;--field-border:#6a705f;--media:#0b100b;--hover:#282f24;--primary:#b42821;--on-primary:#fff;--support-bg:#242e20;--support-ink:#d8e7c9;--danger-bg:#321c19;--danger-ink:#ff9b89;color-scheme:dark}
:root[data-theme=light]{--ink:#232620;--muted:#656960;--signal:#b42821;--line:#24291f29;--page-bg:#f5f3ed;--panel:#ebe9e1;--field:#faf9f5;--field-border:#aeb2a6;--media:#e8e6df;--hover:#e9e7df;--support-bg:#e6e9de;--support-ink:#35422c;--danger-bg:#fae8e4;--danger-ink:#93251d;color-scheme:light}
.public-page{background:var(--page-bg);color:var(--ink)}
.public-page p,.public-page .lead,.public-page .form-note{color:var(--muted)}
.public-page .portal-header,.public-page .section-nav{border-color:var(--line)}
.public-page .brand,.public-page .site-nav a:hover,.public-page .site-nav a[aria-current=page]{color:var(--ink)}
.public-page .brand img,.public-page .icon-feature img{mix-blend-mode:normal;background:transparent}
.public-page .site-nav .play-link{border-color:var(--field-border);color:var(--ink)}
.public-page .site-nav .play-link:hover{background:var(--ink);color:var(--page-bg)}
.public-page .button,.public-page .small-button{color:var(--ink);border-color:var(--field-border)}
.public-page .button:hover,.public-page .small-button:hover{background:var(--hover);color:var(--ink)}
.public-page .button.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.public-page .button.primary:hover{background:#98251f;color:#fff}
.public-page .eyebrow,.public-page .timeline strong,.public-page .play-guide>div>span{color:var(--signal)}
.public-page .photo-card .photo-open,.public-page .archive-grid img,.public-page .archive-photo>a{background:var(--media)}
.public-page .contribution-form{background:var(--panel);border-top-color:var(--ink)}
.public-page .contribution-form input:not([type=checkbox]),.public-page .contribution-form textarea{background:var(--field);border-color:var(--field-border);color:var(--ink)}
.public-page .contribution-form input::placeholder,.public-page .contribution-form textarea::placeholder{color:var(--muted)}
.public-page .contribution-form .file-label{border-color:var(--field-border)}
.public-page .file-label input::file-selector-button{background:var(--ink);color:var(--page-bg)}
.public-page .form-status,.public-page .comment .reply-to{color:var(--signal)}
.public-page #commentFeed .support-reply{background:var(--support-bg);border-color:var(--field-border)}
.public-page #commentFeed .support-meta strong,.public-page #commentFeed .support-reply p{color:var(--support-ink)}
.public-page #commentFeed .support-badge,.public-page #commentFeed .support-reply time{color:var(--muted)}
.public-page .support-photo-like{color:var(--signal)!important}
.public-page .support-photo-like>span{color:var(--signal)}
.public-page .photo-lightbox,.public-page .delete-dialog{background:var(--page-bg);color:var(--ink);border-color:var(--field-border)}
.public-page .photo-lightbox p,.public-page .delete-dialog p{color:var(--muted)}
.public-page .safety-notice{background:var(--panel);border-color:var(--field-border);color:var(--muted)}
.public-page .safety-notice strong{color:var(--signal)}
.public-page .demolition-section .demolition-countdown{background:var(--panel);border-color:var(--field-border);border-left-color:var(--signal)}
.public-page .demolition-section .countdown-date,.public-page .demolition-section .countdown-link,.public-page .demolition-section .countdown-kicker{color:var(--signal)}
.public-page .portal-footer p{color:#c0c3b7}
.public-page .portal-footer .brand-word span{color:#eb5145}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;flex:none;padding:9px 12px;border:1px solid var(--field-border);border-radius:0;background:transparent;color:var(--ink);font:13px/1.3 var(--ui-font);cursor:pointer;white-space:nowrap}
.theme-toggle:hover{background:var(--hover)}
.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}
:root[data-theme=light] .theme-toggle .theme-moon{display:none}
:root[data-theme=light] .theme-toggle .theme-sun{display:block}
#game .theme-toggle{margin:4px 0}
@media(max-width:760px){.theme-toggle{padding-inline:10px}}
