/* Four local, dependency-free desktop skins. Plan9 retains the original palette. */
.theme-picker{margin-left:auto;display:flex;align-items:center;gap:8px;font: .75rem var(--font-ui);white-space:nowrap}.theme-picker select{max-width:170px;padding:6px 8px;border:1px solid var(--line);background:var(--window-2);color:var(--ink);font:inherit;cursor:pointer}.site-nav__toggle{color:var(--ink)}
:root[data-theme="anime"]{color-scheme:dark;--desktop:#111127;--bg:#111127;--window:#20203b;--window-2:#2c2848;--ink:#f4e7df;--muted:#c5b5cb;--line:#aa718f;--accent:#ee8ca4;--accent-2:#81dcd9;--shadow:#070711;--font-display:Georgia,"Times New Roman",serif;--font-ui:Verdana,sans-serif;--font-body:"Courier New",monospace}
:root[data-theme="fluxbox"]{color-scheme:dark;--desktop:#25282c;--bg:#25282c;--window:#34383d;--window-2:#262a2f;--ink:#e5e5de;--muted:#b7bab5;--line:#111315;--accent:#d4a951;--accent-2:#edc77e;--shadow:rgba(0,0,0,.5);--font-display:Tahoma,Verdana,sans-serif;--font-ui:Tahoma,Verdana,sans-serif;--font-body:"DejaVu Sans Mono","Courier New",monospace;--maxw:1080px}
:root[data-theme="retrofuture"]{color-scheme:light;--desktop:#dcecf4;--bg:#dcecf4;--window:#f4faff;--window-2:#d8e8f1;--ink:#173149;--muted:#49647c;--line:#779bb3;--accent:#51c8eb;--accent-2:#00678a;--shadow:rgba(41,91,125,.2);--font-display:"Trebuchet MS",Arial,sans-serif;--font-ui:"Trebuchet MS",Verdana,sans-serif;--font-body:Verdana,Arial,sans-serif}
/* Shared surfaces prevent page-specific light colors from leaking into dark skins. */
:root:not([data-theme="plan9"])[data-theme] .hero-text{color:var(--ink)}
:root:not([data-theme="plan9"])[data-theme] :is(.project-card,.photo-card,.music-card,.panel-note,.pullquote,.skill-tag,.home-markers div,.meta-grid .cell){background:var(--window-2);border-color:var(--line)}
:root:not([data-theme="plan9"])[data-theme] :is(.admin-form input:not([type=hidden]),.admin-form textarea,.contact-field input,.contact-field textarea,.project-field input,.project-field select,.collection-filter select,.order-form input){background:var(--window-2);color:var(--ink);border-color:var(--line)}
:root:not([data-theme="plan9"])[data-theme] :is(.listing li,.contact-link-item,.cv-entry,.project-tools,.project-card__bottom,.admin-item,.tableish td,.tableish th){border-color:var(--line)}
:root:not([data-theme="plan9"])[data-theme] .tableish th{background:var(--window-2)}
:root:not([data-theme="plan9"])[data-theme] .form-submit{color:var(--ink)}
:root:not([data-theme="plan9"])[data-theme] .site-footer a:hover{background:var(--window-2)}
:root:not([data-theme="plan9"])[data-theme] .admin-tabs a[aria-current]{background:var(--accent);color:#15212c}
:root:is([data-theme="anime"],[data-theme="fluxbox"]) .danger{color:#ffb2ac}
/* Late-night cel animation: indigo, dusty rose, teal phosphor and hard ink outlines. */
[data-theme="anime"] body{background:radial-gradient(ellipse at 85% 0,#4d294b 0,transparent 45%),linear-gradient(155deg,#151629 20%,#101d32 75%);background-attachment:fixed}
[data-theme="anime"] .window,[data-theme="anime"] .site-nav{border:2px solid #aa718f;box-shadow:7px 7px 0 #090b19}
[data-theme="anime"] .window__bar{background:linear-gradient(105deg,#56334c,#292e50);color:#ffe5d9;border-bottom:2px solid #aa718f;letter-spacing:.09em;text-transform:uppercase;font-size:.78rem}
[data-theme="anime"] .site-nav__bar{background:repeating-linear-gradient(0deg,#27223e 0,#27223e 3px,#302642 3px,#302642 4px);border-color:#aa718f}
[data-theme="anime"] .site-nav__brand{color:#f8c4ba;letter-spacing:.18em}
[data-theme="anime"] .site-nav__menu>a[aria-current],[data-theme="anime"] .site-nav__menu>a:hover{background:#383354;border-color:#81dcd9;box-shadow:0 3px 0 #81dcd9}
[data-theme="anime"] :is(h1,.hero-title){color:#f7c9bf;text-shadow:2px 2px #6a3655}
[data-theme="anime"] .about-card__photo{border:3px solid #edb6b1;box-shadow:9px 9px 0 #3d4663}
[data-theme="anime"] .buttonlike{border-color:#bb839e;background:#3b304c}
[data-theme="anime"] .badge{border-color:#6b9ca9;color:#9ae1dc}
/* Fluxbox: narrow title bars, beveled graphite surfaces and amber focus. */
[data-theme="fluxbox"] .shell{padding-top:12px}
[data-theme="fluxbox"] .window,[data-theme="fluxbox"] .site-nav{border:1px solid #111;box-shadow:3px 3px 3px #1118}
[data-theme="fluxbox"] .window__bar{min-height:25px;padding:3px 8px;background:linear-gradient(#656b72,#393e45);border-top:1px solid #8b9197;border-bottom:1px solid #111;color:#fff;font-size:.76rem;letter-spacing:0}
[data-theme="fluxbox"] .window__glyph{width:10px;height:10px;background:#c99c42;border:1px solid #e8c778}
[data-theme="fluxbox"] .site-nav__bar{padding:5px 9px;background:linear-gradient(#52575e,#30353b);border-top:1px solid #747a82}
[data-theme="fluxbox"] .site-nav__brand{font-size:.8rem;letter-spacing:0}
[data-theme="fluxbox"] .site-nav__menu{padding:5px;gap:3px}
[data-theme="fluxbox"] .site-nav__menu>a{font-size:.8rem;padding:5px 10px}
[data-theme="fluxbox"] .site-nav__menu>a[aria-current],[data-theme="fluxbox"] .site-nav__menu>a:hover{background:linear-gradient(#e2bd74,#b58a39);color:#171a1d;border-color:#efcd8b #79602e #79602e #efcd8b}
[data-theme="fluxbox"] .buttonlike,[data-theme="fluxbox"] .form-submit{background:linear-gradient(#555b62,#383d43);border-color:#858b90 #16191c #16191c #858b90;box-shadow:none}
[data-theme="fluxbox"] .about-card__photo{border:4px ridge #70767c}
[data-theme="fluxbox"] :is(h1,.hero-title){font-weight:500;letter-spacing:-.035em}
[data-theme="fluxbox"] .window__body{padding:12px}
/* Turn-of-the-millennium future: pearl chrome, aqua gel, orbital curves. */
[data-theme="retrofuture"] body{background:radial-gradient(ellipse at 10% 15%,#fff 0,transparent 45%),repeating-linear-gradient(0deg,#dcecf4 0,#dcecf4 3px,#d2e4ef 3px,#d2e4ef 4px);background-attachment:fixed}
[data-theme="retrofuture"] .window,[data-theme="retrofuture"] .site-nav{border-radius:18px 18px 8px 8px;border-color:#8aa9be;box-shadow:inset 0 1px 0 #fff,0 8px 18px #355a7326;overflow:clip}
[data-theme="retrofuture"] .window__bar{background:linear-gradient(#fff 0,#d3e1ea 47%,#b8cbd9 50%,#eaf4f9 100%);color:#264963;border-bottom:1px solid #92acbf;min-height:35px;padding:7px 15px;text-transform:uppercase;font-size:.75rem;letter-spacing:.13em}
[data-theme="retrofuture"] .window__glyph{border-radius:50%;background:radial-gradient(circle at 35% 25%,white,#5ce0fc 35%,#1686b2 80%);border-color:#177ca3;box-shadow:0 0 4px #fff}
[data-theme="retrofuture"] .site-nav__bar{background:linear-gradient(#fff,#c6dbe8 50%,#ecf8ff);padding:10px 16px;border-color:#98b5c9}
[data-theme="retrofuture"] .site-nav__brand{font-style:italic;letter-spacing:.1em;color:#1a5c82}
[data-theme="retrofuture"] .site-nav__menu>a{border-radius:20px;padding:7px 14px}
[data-theme="retrofuture"] .site-nav__menu>a[aria-current],[data-theme="retrofuture"] .site-nav__menu>a:hover{background:linear-gradient(#e2fbff,#82d5ef 48%,#42b3da 51%,#bbf2ff);border-color:#66a8c3;box-shadow:inset 0 1px 0 white;color:#123c59}
[data-theme="retrofuture"] .buttonlike,[data-theme="retrofuture"] .form-submit{border-radius:16px;background:linear-gradient(#fff,#c7eaf6 48%,#9cd2e6 51%,#ebfaff);border-color:#7aa6bc;box-shadow:inset 0 1px 0 #fff,0 2px 3px #547b8d33}
[data-theme="retrofuture"] .about-card__photo{border-radius:50% 50% 42% 42%;border:6px solid #e2f3fc;outline:1px solid #8bb2c9;box-shadow:0 8px 22px #568da54d}
[data-theme="retrofuture"] :is(h1,.hero-title){color:#1e5474;letter-spacing:-.04em}
[data-theme="retrofuture"] .badge{border-radius:10px;background:#e2f8ff}
[data-theme="retrofuture"] .theme-picker select{border-radius:12px;background:#f2fcff}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.profile-card{padding:18px;border:1px solid var(--line);background:var(--window-2)}.profile-card h2{font:700 1.1rem var(--font-ui)}.profile-card img{width:160px;height:160px;object-fit:cover;margin-bottom:16px;border:1px solid var(--line)}.profile-card .admin-form{margin-top:14px}
@media(max-width:640px){.site-nav__bar{flex-wrap:wrap;gap:10px}.theme-picker{font-size:.7rem}.theme-picker select{max-width:145px}.profile-grid{grid-template-columns:1fr}}
@media print{[data-theme] body{background:white!important;color:black!important}[data-theme] .window,[data-theme] .window__bar{background:white!important;color:black!important;border-radius:0!important;box-shadow:none!important}[data-theme] :is(h1,.hero-title,.cv-meta,.kicker){color:black!important}.theme-picker{display:none!important}}

.portrait-preview{width:280px;max-width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);margin:0 auto 16px}.profile-card .portrait-preview img{display:block;width:100%;height:100%;margin:0;border:0;object-fit:cover}.portrait-controls output{font-variant-numeric:tabular-nums}.portrait-controls input[type=range]{width:100%;padding:0}

@media(max-width:640px){.site-nav__menu .theme-picker{margin:4px 0 0;padding:12px 10px 2px;border-top:1px solid var(--line);justify-content:space-between}.site-nav__menu .theme-picker select{max-width:none}}

/* Small per-page adjustments, layered over the visitor's theme. */
#main[data-page-width="narrow"]{max-width:760px;margin-inline:auto}
#main[data-page-width="wide"]{max-width:none;width:100%}
#main[data-page-font="sans"]{--font-body:Arial,sans-serif;--font-display:Arial,sans-serif;font-family:Arial,sans-serif}
#main[data-page-font="serif"]{--font-body:Georgia,serif;--font-display:Georgia,serif;font-family:Georgia,serif}
#main[data-page-font="mono"]{--font-body:"Courier New",monospace;--font-display:"Courier New",monospace;font-family:"Courier New",monospace}
#main[data-page-size="small"] :is(p,li){font-size:14px}
#main[data-page-size="large"] :is(p,li){font-size:19px}
#main[data-page-spacing="compact"] .window__body{padding:10px}
#main[data-page-spacing="spacious"] .window__body{padding:clamp(16px,4vw,32px)}
#main[data-page-align="left"] :is(.window__body,.about-card){text-align:left}
#main[data-page-align="center"] :is(.window__body,.about-card){text-align:center}
#main[data-page-layout="single"] :is(.grid-2,.project-grid,.photo-grid,.music-list){grid-template-columns:minmax(0,1fr)}
.page-editor summary{cursor:pointer;font-weight:bold;padding:8px 0}
.page-style-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.page-style-controls select{padding:8px;width:100%;background:var(--window-2);color:var(--ink);border:1px solid var(--line)}
@media(max-width:640px){.page-style-controls{grid-template-columns:1fr 1fr}}

.page-copy{min-width:0;width:100%}.page-copy p:last-child{margin-bottom:0}

.shell:has(#main[data-page-width="wide"]){max-width:1440px}
