/* Extend the original black-and-red design without changing its layout. */
:root,:root[data-theme=dark]{color-scheme:dark;--bg:#090909;--surface:#171214;--surface-2:#21191b;--text:#eeeae4;--muted:#b8aaa5;--accent:#ff4935;--accent-soft:#3b211d;--on-accent:#090909;--line:#ffffff25;--glass:#151112f0}
:root[data-theme=light]{color-scheme:light;--bg:#faf7f5;--paper:#251e1b;--surface:#fff;--surface-2:#f4eeea;--text:#251e1b;--muted:#71615a;--accent:#b62d1f;--red:#b62d1f;--accent-soft:#fce7df;--on-accent:#fff;--line:#dbcfc9;--glass:#fffaf5f2}
.feature-controls{display:flex;align-items:center;gap:5px;margin-left:auto}.feature-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:40px;min-height:40px;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--text);font:22px/1.2 Arial,sans-serif;cursor:pointer}.feature-button:hover{background:var(--surface-2);border-color:var(--line)}.search-trigger{gap:10px;font:13px/1.3 Arial,sans-serif;padding:7px 10px;border-color:var(--line)}.search-trigger>span:first-child{font-size:24px}.search-trigger kbd{font:10px Consolas,monospace;color:var(--muted);padding:2px 4px;border:1px solid var(--line);border-radius:3px}.sound-state{font:10px Arial;color:var(--muted)}.theme-sun,[data-theme=light] .theme-moon{display:none}[data-theme=light] .theme-sun{display:inline}.feature-button:focus-visible,.terminal-launcher:focus-visible,.github-refresh:focus-visible,.search-result:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.terminal-launcher{position:fixed;bottom:20px;right:76px;z-index:35;background:var(--glass);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:9px;color:var(--text);display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;box-shadow:0 5px 24px #0003;font:13px Arial,sans-serif;cursor:pointer}.terminal-launcher>span{color:var(--accent);font:16px Consolas,monospace}.terminal-launcher kbd{font:10px Consolas,monospace;background:var(--surface-2);border:1px solid var(--line);border-radius:3px;padding:2px 4px;color:var(--muted)}.terminal-dialog{position:fixed;inset:auto 24px 82px auto;margin:0;padding:0;width:490px;max-width:calc(100% - 32px);max-height:65svh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 20px 80px #0006;z-index:40}.terminal-bar{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);position:sticky;top:0}.terminal-bar>span{font:16px Consolas,monospace;color:var(--accent)}.terminal-bar h2{margin:0;font:13px Consolas,monospace;letter-spacing:0}.terminal-bar>.feature-button{margin-left:auto;min-width:32px;min-height:32px}.terminal-content{padding:20px}.terminal-output{min-height:155px;max-height:240px;overflow:auto;font:13px/1.8 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.terminal-output p{margin:0 0 9px}.terminal-output .terminal-command{color:var(--accent)}.terminal-form{display:flex;gap:7px;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.terminal-form label{font:11px Consolas,monospace;color:var(--accent);white-space:nowrap}.terminal-form input{flex:1;min-width:0;width:auto;padding:10px 3px;font:13px Consolas,monospace;color:var(--text);background:none;border:0}.terminal-form button{border:1px solid var(--line);border-radius:5px;padding:9px 12px;background:var(--accent-soft);color:var(--accent);font:12px Arial;cursor:pointer}.terminal-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.terminal-hint{font:11px/1.6 Arial;color:var(--muted);margin:14px 0 0}
.search-dialog{width:min(650px,calc(100% - 28px));margin:12svh auto auto;max-height:76svh;overflow:auto;border:1px solid var(--line);border-radius:11px;padding:0;background:var(--surface);color:var(--text);box-shadow:0 30px 100px #0006}.search-dialog::backdrop{background:#090909a6;backdrop-filter:blur(7px)}.search-top{display:flex;align-items:center;gap:12px;padding:12px 18px;font:14px Arial;color:var(--muted)}.search-top>span{font-size:26px;color:var(--accent)}.search-top>.feature-button{margin-left:auto}.search-dialog>input{display:block;width:100%;background:var(--surface);border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text);font:18px/1.5 Arial;padding:18px 22px;border-radius:0;outline-offset:-3px}.search-results{padding:10px;max-height:44svh;overflow:auto}.search-result{display:flex;width:100%;text-align:left;align-items:center;gap:13px;padding:13px;border:1px solid transparent;border-radius:7px;background:none;color:var(--text);cursor:pointer}.search-result:hover,.search-result.is-selected{background:var(--accent-soft);border-color:var(--line)}.result-icon{font:16px Consolas,monospace;color:var(--accent);background:var(--surface-2);display:grid;place-items:center;width:35px;height:35px;border-radius:6px;flex-shrink:0}.search-result strong{font:500 14px Arial}.search-result small{display:block;font:12px/1.6 Arial;color:var(--muted);margin-top:4px}.result-type{margin-left:auto;font:10px Consolas,monospace;color:var(--muted)}.search-footer{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid var(--line);font:11px/1.5 Arial;color:var(--muted)}.empty-search{padding:25px;margin:0;text-align:center;color:var(--muted);font:14px/1.6 Arial}.feature-toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--line);color:var(--text);padding:11px 20px;border-radius:8px;box-shadow:0 10px 35px #0003;font:13px/1.5 Arial;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;max-width:calc(100% - 32px);text-align:center}.feature-toast.show{opacity:1}.modal-open{overflow:hidden}
.github-section{padding:45px 4% 70px}.github-section .work-heading{align-items:center}.github-refresh{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:12px 16px;border-radius:6px;min-height:44px;font:14px Arial;cursor:pointer}.github-refresh span{color:var(--accent);margin-left:8px}.github-refresh:disabled{opacity:.6;cursor:wait}.github-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.feed-header,.feed-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--surface-2);padding:16px 24px;font:12px/1.5 Consolas,monospace;color:var(--muted)}.feed-header{border-bottom:1px solid var(--line)}.feed-footer{border-top:1px solid var(--line)}.feed-badge{background:var(--accent-soft);color:var(--accent);padding:4px 8px;border-radius:4px;font:11px/1.4 Consolas,monospace}.github-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:27px;border-bottom:1px solid var(--line)}.github-summary>div{display:flex;align-items:center;gap:15px}.github-summary strong{font-size:32px;font-weight:500;color:var(--accent)}.github-summary span{font-size:14px;color:var(--muted)}.feed-status{font-size:14px;color:var(--muted);padding:18px 26px;margin:0;line-height:1.6}.github-feed{padding:0 26px 20px}.feed-item{display:flex;align-items:center;gap:15px;padding:16px 0;border-top:1px solid var(--line)}.feed-icon{display:grid;place-items:center;min-width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--accent);font:18px Consolas,monospace}.feed-item p{font-size:15px;line-height:1.6;margin:0}.feed-item a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.feed-item small{display:block;font-size:12px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;margin-top:3px}.feed-item time{margin-left:auto;font:12px Consolas,monospace;white-space:nowrap;color:var(--muted)}.feed-note{margin:14px 0 0;font-size:12px;color:var(--muted);line-height:1.7}
/* Light mode keeps the original typography and red accents. */
[data-theme=light] .scene-canvas{display:block}
[data-theme=light] .header{background:#faf7f5f5;border-color:var(--line)}
[data-theme=light] :is(.hero,.flow,.work,.sticky-scene,.beyond,.finale){background:var(--bg);color:var(--text)}
[data-theme=light] :is(.hero-summary,.hero-availability,.overline,.word-baseline,.section-label,.header nav a,.universe-copy p,.work-heading p,.journey-heading p,.year-story p,.contact-intro,.contact-methods p){color:var(--muted)}
[data-theme=light] :is(.section-label span:first-child,.hero-index span,.project-role strong){color:var(--text)}
[data-theme=light] :is(.section-label,.word-baseline,.project-links){border-color:var(--line)}
[data-theme=light] .identity-card{background:linear-gradient(140deg,#fff,#faece6);border-color:#bc392880;box-shadow:0 25px 65px #66362720}
[data-theme=light] :is(.card-topline,.card-name,.card-specialty,.card-status){color:var(--text)}
[data-theme=light] :is(.card-edition,.portrait-toggle,.card-status>span){color:var(--muted)}
[data-theme=light] .portrait-code{color:#734237}
[data-theme=light] :is(.work .project-card,.skills-grid article,.beyond .credentials article){background:var(--surface);border-color:var(--line);box-shadow:0 10px 28px #65422b08}
[data-theme=light] :is(.project-summary,.project-role,.project-category,.skills-grid p,.credentials article p,.credentials article>span){color:var(--muted)}
[data-theme=light] :is(.project-stack>span,.project-links a,.project-details,.skills-grid a){color:var(--accent)}
[data-theme=light] .project-dialog{background:var(--surface);color:var(--text);border-color:var(--line)}
[data-theme=light] .dialog-close{background:var(--surface-2);color:var(--text)}
[data-theme=light] :is(.case-study h3,.year-story h3,.credentials h3,.contact-methods strong,.contact-form h3){color:var(--text)}
[data-theme=light] :is(.project-dialog .case-study p,.project-detail-image figcaption,.project-dialog .project-status,.dialog-tech,.year-skills li){color:var(--muted)}
[data-theme=light] .year-skills li{border-color:var(--line);background:var(--surface)}
[data-theme=light] :is(.year-button,.clock-label,.journey-bottom){color:var(--muted)}
[data-theme=light] .year-button[aria-pressed=true],[data-theme=light] .beyond h2 em{color:var(--accent)}
[data-theme=light] .contact-form{background:var(--surface);border-color:var(--line);box-shadow:0 15px 40px #65422b0d}
[data-theme=light] :is(.contact-form input,.contact-form textarea,.contact-form select){background:var(--surface-2);border-color:var(--line);color:var(--text)}
[data-theme=light] :is(.contact-form label,.contact-form p,.contact-methods>a>span,.footer-bottom,.contact-fallback){color:var(--muted)}
[data-theme=light] .contact-form button,[data-theme=light] .cv-button{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
[data-theme=light] .motion-toggle{background:var(--surface);border-color:var(--line);color:var(--text)}
@media(max-width:1050px){.header{gap:15px}.header nav{gap:16px}.search-label,.search-trigger kbd{display:none}.search-trigger{padding:6px 9px}.feature-controls{gap:2px}.contact-link{font-size:12px;gap:10px}}
@media(max-width:750px){.header{gap:8px 14px}.feature-controls{margin-left:auto}.header>.contact-link{margin-left:0}.feature-button{min-width:33px;min-height:36px;font-size:20px}.header nav{order:3}.github-section{padding:35px 5% 50px}.github-refresh{margin-top:20px}.github-summary{padding:21px;gap:12px}.github-summary>div{display:block}.github-summary strong{font-size:28px}.github-summary span{display:block;font-size:12px;line-height:1.6;margin-top:5px}.feed-header,.feed-footer{padding:14px 18px;font-size:11px}.feed-status{padding:16px 18px;font-size:13px}.github-feed{padding:0 18px 18px}.feed-item{gap:11px;flex-wrap:wrap}.feed-item>div{min-width:0;flex:1}.feed-item p{font-size:14px}.feed-item time{width:100%;padding-left:47px;font-size:11px}.terminal-dialog{inset:auto 10px 76px auto;width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:70svh}.terminal-launcher{right:66px;bottom:17px;padding:9px 12px}.terminal-launcher kbd{display:none}.terminal-form{flex-wrap:wrap}.terminal-form label{width:100%}.terminal-content{padding:17px}.search-dialog{margin-top:8svh}.result-type{display:none}.search-footer{font-size:10px;padding:12px}.search-result small{font-size:11px}}
@media(max-width:400px){.header>.contact-link{display:none}.header .brand{font-size:28px}.terminal-launcher{font-size:12px}.feed-header{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.feature-toast{transition:none}}

