:root{--bg:#090d1f;--ink:#f3f5ff;--muted:#aab5d1;--line:#303b62;--gold:#ffd452;--cyan:#68dbe9;--pink:#ff78a9;--green:#7be7ae;--panel:#151d39;--mono:Consolas,"Courier New",monospace;--sans:"Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;--scene-fade:1}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font:16px/1.7 var(--sans);overflow-x:hidden}
button,a{font:inherit}
a{color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:#11162e}
:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.skip-link{position:absolute;z-index:200;top:-60px;left:16px;padding:8px 16px;background:var(--gold);color:var(--bg)}
.skip-link:focus{top:12px}
.pixel-scene{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:var(--scene-fade);background:#101a38}
.pixel-scene__viewport{position:absolute;inset:-6% 0 0;width:100%;height:112%;will-change:transform}
.pixel-scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;image-rendering:pixelated}
#sceneBg{z-index:0}#sceneFx{z-index:1}
.pixel-scene__scan{position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(180deg,rgba(0,0,0,.12) 0 2px,transparent 2px 5px);-webkit-mask-image:linear-gradient(transparent 12%,#000 100%);mask-image:linear-gradient(transparent 12%,#000 100%)}
.pixel-scene__vig{position:absolute;inset:0;z-index:3;box-shadow:inset 0 0 100px 20px rgba(4,8,25,.32)}
.site{position:relative;z-index:1}
.site-header{position:sticky;top:0;z-index:60;background:rgba(8,12,28,.9);border-bottom:1px solid rgba(145,166,218,.3);backdrop-filter:blur(12px);box-shadow:0 4px 0 rgba(4,7,20,.25)}
.nav-shell{max-width:1440px;margin:auto;min-height:74px;padding:0 32px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}.brand canvas{width:34px;height:34px;image-rendering:pixelated}.brand strong{display:block;font-size:18px;letter-spacing:.08em;line-height:1.2}.brand small{display:block;font:10px/1.3 var(--mono);letter-spacing:.15em;color:var(--cyan);margin-top:3px}
.site-nav{display:flex;align-items:center;gap:26px;margin-left:auto}.site-nav a{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;color:#cbd4ee;transition:color .15s}.site-nav a:hover{color:var(--gold)}
.nav-tools{display:flex;align-items:center;gap:10px;flex:none}.clock{font:700 12px var(--mono);color:var(--gold);min-width:38px;text-align:right}
.time-dial{position:relative;width:39px;height:39px;flex:none;border:2px solid #050817;border-radius:50%;background:linear-gradient(#a4ddf8 0 50%,#283b67 50%);box-shadow:2px 2px 0 #050817;overflow:hidden;touch-action:none;cursor:grab}.time-dial.is-dragging{cursor:grabbing}.time-dial__icon{position:absolute;inset:0;display:grid;place-items:center;font-size:16px;pointer-events:none;text-shadow:1px 1px #111}.time-dial__hand{position:absolute;z-index:1;left:50%;top:50%;width:2px;height:40%;margin-left:-1px;background:var(--gold);transform-origin:50% 100%;transform:translateY(-100%) rotate(0deg);pointer-events:none;box-shadow:1px 0 #050817}.time-dial__dot{position:absolute;z-index:2;left:50%;top:50%;width:6px;height:6px;margin:-3px;background:var(--gold);border:1px solid #050817;border-radius:50%;pointer-events:none}
.time-live{font:700 10px var(--mono);letter-spacing:.04em;border:1px solid var(--line);background:#1a2343;color:var(--muted);padding:7px 8px;box-shadow:2px 2px #050817}.time-live.is-live{color:var(--green);border-color:var(--green)}.time-live:hover{color:var(--gold);border-color:var(--gold)}
.nav-github{display:grid;place-items:center;width:36px;height:36px}.nav-github canvas{width:30px;height:30px;image-rendering:pixelated}.nav-github:hover{filter:drop-shadow(0 0 6px var(--cyan))}
.hero{min-height:calc(100vh - 74px);min-height:calc(100dvh - 74px);position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:70px max(32px,calc((100vw - 1360px)/2)) 84px;isolation:isolate}
.hero-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,9,25,.88) 0%,rgba(6,11,29,.74) 34%,rgba(6,11,29,.18) 74%,rgba(6,11,29,.12)),linear-gradient(0deg,rgba(5,9,22,.75),transparent 35%)}
.hero-content{max-width:740px;min-width:0}.eyebrow{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:0 0 24px;padding:7px 12px;background:rgba(9,16,36,.82);border:1px solid rgba(123,231,174,.65);color:var(--green);font:700 11px/1.4 var(--mono);letter-spacing:.05em;box-shadow:4px 4px 0 rgba(0,0,0,.35)}.status-dot,.hud-led{width:7px;height:7px;background:var(--green);box-shadow:0 0 10px var(--green);flex:none}.eyebrow-divider{color:#7985a7}
.hero h1{margin:0;font-size:clamp(38px,4.2vw,65px);line-height:1.28;letter-spacing:-.045em;font-weight:900;text-shadow:4px 5px 0 rgba(3,5,16,.6),0 0 28px rgba(1,4,13,.45)}.hero h1>span{color:var(--gold)}.hero h1 .highlight{color:var(--cyan)}
.hero-role{font:700 14px/1.5 var(--mono);color:var(--gold);letter-spacing:.04em;margin:20px 0 0}.hero-role span{color:var(--muted);padding:0 7px}
.hero-lead{font-size:17px;line-height:1.85;max-width:610px;margin:20px 0 0;color:#ebf1ff;text-shadow:0 2px 10px #0a1128}
.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 18px;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none;border:2px solid #050817;box-shadow:5px 5px 0 #050817;transition:transform .15s,box-shadow .15s,background .15s}.button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #050817}.button:active{transform:translate(5px,5px);box-shadow:none}.button--gold{background:var(--gold);color:#11152b}.button--gold:hover{background:#ffe88a}.button--outline{background:rgba(9,14,31,.68);color:var(--cyan);border-color:var(--cyan);box-shadow:5px 5px 0 rgba(2,8,24,.75)}.button--outline:hover{background:#1b3551;box-shadow:7px 7px 0 rgba(2,8,24,.75)}
.hero-proof{margin:24px 0 0;color:#e7edfd;font:700 12px/1.8 var(--mono);text-shadow:0 2px 8px #030614}.hero-proof span{padding:0 6px;color:var(--gold)}.press-start{display:inline-block;margin-top:26px;color:var(--gold);font:700 13px var(--mono);letter-spacing:.1em;text-decoration:none;text-shadow:2px 2px #050817;animation:blink 1.3s steps(1,end) infinite}.press-start:hover{color:#fff}@keyframes blink{0%,55%{opacity:1}56%,100%{opacity:.35}}
.hero-hud{width:258px;flex:none;align-self:center;padding:17px 18px 18px;background:rgba(8,13,33,.83);border:2px solid rgba(141,213,234,.65);box-shadow:8px 8px 0 rgba(3,7,20,.65);backdrop-filter:blur(3px);transform:translateY(100px)}.hud-top{display:flex;align-items:center;justify-content:space-between;color:var(--cyan);font:700 10px var(--mono);letter-spacing:.14em;border-bottom:1px solid var(--line);padding-bottom:10px}.hero-hud strong{display:block;margin-top:18px;font-size:27px;letter-spacing:.12em}.hero-hud>p{font:700 11px var(--mono);color:var(--muted);letter-spacing:.11em;margin:2px 0 16px}.hud-bars{display:flex;gap:4px}.hud-bars i{display:block;width:20%;height:8px;background:var(--gold);box-shadow:2px 2px #070b20}.hud-bars i:nth-child(5){background:#39486d}.hero-hud dl{margin:18px 0 0}.hero-hud dl div{display:flex;justify-content:space-between;padding:7px 0;border-top:1px dashed #425071;font-size:12px}.hero-hud dt{color:var(--muted)}.hero-hud dd{margin:0;color:#f5f7ff}
.hero-bottom{position:absolute;bottom:17px;left:32px;right:32px;display:flex;justify-content:space-between;gap:10px;color:rgba(240,245,255,.8);font:700 10px var(--mono);letter-spacing:.1em;text-shadow:1px 2px #050817}
.content-world{position:relative;z-index:2;background:#090d1f;background-image:radial-gradient(circle at 10% 20%,rgba(55,91,146,.1),transparent 25%),radial-gradient(circle at 90% 70%,rgba(27,148,165,.06),transparent 25%),linear-gradient(rgba(112,138,200,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(112,138,200,.025) 1px,transparent 1px);background-size:auto,auto,24px 24px,24px 24px}
.ticker{overflow:hidden;background:var(--gold);border-block:3px solid #080b16;padding:9px 0}.ticker-track{display:flex;width:max-content;animation:slide 35s linear infinite}.ticker-track span{white-space:nowrap;padding:0 24px;color:#11172b;font:900 12px var(--mono);letter-spacing:.08em}@keyframes slide{to{transform:translateX(-50%)}}
.section{max-width:1260px;margin:auto;padding:105px 32px}.section+.section{border-top:1px solid rgba(81,101,156,.25)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:36px}.section-heading>div{min-width:0}.section-kicker{display:flex;align-items:center;gap:10px;color:var(--cyan);font:700 12px/1.3 var(--mono);letter-spacing:.09em;margin:0 0 14px}.section-kicker img{width:24px;height:24px;image-rendering:pixelated}.section h2{margin:0;font-size:clamp(31px,3.7vw,51px);line-height:1.3;letter-spacing:-.04em}.section h2 span{color:var(--gold)}.section-intro{max-width:390px;margin:0;color:var(--muted);font-size:15px;line-height:1.85}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{display:flex;flex-direction:column;min-width:0;background:var(--panel);border:2px solid #35456d;box-shadow:7px 7px 0 #040713;transition:transform .17s,box-shadow .17s,border-color .17s}.project-card:hover{transform:translateY(-4px);box-shadow:9px 11px 0 #040713;border-color:var(--accent)}.project-card--aes{--accent:var(--gold)}.project-card--twin{--accent:var(--cyan)}.project-card--mall{--accent:var(--pink)}
.card-art{height:220px;position:relative;background:#101832;overflow:hidden;border-bottom:2px solid #35456d}.card-art img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.art-label{position:absolute;left:12px;bottom:12px;z-index:1;background:#0b1128;border:1px solid var(--accent);color:var(--accent);padding:5px 8px;font:700 10px var(--mono);letter-spacing:.04em;box-shadow:3px 3px 0 #050817}.card-body{padding:23px;display:flex;flex-direction:column;flex:1}.card-meta{display:flex;flex-wrap:wrap;gap:8px}.card-meta span{font:700 10px var(--mono);letter-spacing:.06em;color:var(--accent);background:rgba(255,255,255,.05);border:1px solid #38466b;padding:5px 7px}.card-body h3{margin:19px 0 0;color:#fff;font:900 27px/1.3 var(--mono)}.card-body h3 small{display:block;font:700 14px/1.5 var(--sans);color:var(--accent);margin-top:4px}.card-summary{font-size:15px;color:#e5ebfc;line-height:1.75;min-height:80px;margin:16px 0 0}.feature-list{list-style:none;padding:15px 0 0;margin:0;border-top:1px solid #344163;display:grid;gap:9px}.feature-list li{position:relative;padding-left:16px;color:#b9c5df;font-size:13px;line-height:1.65}.feature-list li::before{content:"›";position:absolute;left:0;top:-2px;color:var(--accent);font:900 20px var(--mono)}.card-footnote{color:#899abc;font-size:12px;line-height:1.6;margin:15px 0 0}.card-links{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:22px}.card-links a{color:var(--accent);text-decoration:none;font-size:14px;font-weight:800;border-bottom:1px solid currentColor}.card-links a:hover{color:#fff}.card-links>span{font-size:11px;color:#8899b8}
.source-section{padding-top:100px}.pr-list{border:2px solid #3c4c73;box-shadow:7px 7px 0 #040713;background:#121b35}.pr-row{display:grid;grid-template-columns:60px minmax(0,1fr) 100px;gap:20px;align-items:center;padding:23px 26px;text-decoration:none;border-bottom:1px solid #3c4c73;transition:background .15s}.pr-row:last-child{border-bottom:0}.pr-row:hover{background:#1c2a4b}.pr-index{font:900 28px var(--mono);color:#587194}.pr-main{min-width:0;display:grid;gap:3px}.pr-main small{color:var(--cyan);font:700 10px var(--mono);letter-spacing:.1em}.pr-main strong{font-size:18px;line-height:1.45}.pr-main>span{color:#aebcd8;font-size:13px;line-height:1.6}.pr-end{display:grid;justify-items:end;gap:10px}.pr-end em{font:700 10px var(--mono);font-style:normal;color:var(--green);border:1px solid var(--green);padding:4px 6px}.pr-end b{color:var(--gold);font:700 13px var(--mono);white-space:nowrap}
.flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.flow-step{position:relative;min-height:205px;padding:23px 18px 22px;background:#121a34;border:1px solid #38486d}.flow-step::before{content:"";position:absolute;left:0;top:0;width:44px;height:4px;background:var(--cyan)}.flow-step:nth-child(3)::before{background:var(--gold)}.flow-step:nth-child(4)::before{background:var(--green)}.flow-step>span{font:700 11px var(--mono);color:var(--cyan)}.flow-step:nth-child(3)>span{color:var(--gold)}.flow-step:nth-child(4)>span{color:var(--green)}.flow-step strong{display:block;margin-top:20px;font-size:20px}.flow-step p{color:var(--muted);font-size:13px;line-height:1.8;margin:9px 0 0}
.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.journey-panel{padding:26px 30px 8px;background:#121a34;border:1px solid #3d4b70;box-shadow:5px 5px #040713}.journey-panel h3{font-size:16px;margin:0 0 22px;color:var(--gold)}.timeline-item{border-left:2px solid #48617f;margin:0 0 22px;padding:0 0 3px 19px;position:relative}.timeline-item::before{content:"";position:absolute;width:9px;height:9px;background:var(--cyan);left:-5px;top:5px}.timeline-item time{display:block;color:var(--cyan);font:700 12px var(--mono)}.timeline-item h4{font-size:17px;line-height:1.5;margin:7px 0}.timeline-item p{font-size:14px;color:var(--muted);margin:0;line-height:1.8}
.skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.skill-grid article{padding:22px 19px 24px;border:1px solid #344469;background:#111a34;min-height:195px}.skill-grid article>span{font:900 24px var(--mono);color:#536d91}.skill-grid h3{font-size:17px;color:var(--gold);margin:16px 0 8px}.skill-grid p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}
.contact-section{padding-bottom:115px}.contact-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:35px;align-items:center;padding:48px;background:linear-gradient(135deg,#1b294b,#111b34 55%,#101e32);border:2px solid #637ba4;box-shadow:10px 10px 0 #040713;position:relative;overflow:hidden}.contact-panel::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border:18px solid rgba(104,219,233,.08);transform:rotate(45deg);pointer-events:none}.contact-copy h2{font-size:clamp(32px,4vw,52px)}.contact-copy>p:not(.section-kicker){max-width:570px;color:#cbd6ee;font-size:16px;line-height:1.85}.contact-actions{margin-top:28px}.contact-card{padding:23px;background:#0a1127;border:2px solid #4e648b;box-shadow:6px 6px 0 #050817;min-width:0}.contact-card>span{display:block;color:var(--cyan);font:700 11px var(--mono);letter-spacing:.07em;border-bottom:1px solid #334364;padding-bottom:12px}.contact-card dl{margin:0}.contact-card dl div{padding:14px 0;border-bottom:1px solid #334364}.contact-card dt{font:700 11px var(--mono);color:#8ca6c4}.contact-card dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:15px;font-weight:700}.contact-card a{text-decoration:none}.contact-card a:hover{color:var(--gold)}.contact-card p{font-size:11px;color:#8193b3;margin:14px 0 0}
.site-footer{position:relative;z-index:2;background:#060915;border-top:1px solid #39476b}.fband{display:block;width:100%;height:42px;object-fit:cover;image-rendering:pixelated;border-bottom:1px solid #293658}.footer-inner{max-width:1260px;margin:auto;padding:36px 32px;display:grid;grid-template-columns:1fr auto;gap:18px}.footer-inner strong{font-size:18px}.footer-inner p{margin:5px 0 0;color:#8fa0be;font-size:13px}.footer-inner nav{display:flex;align-items:start;gap:20px}.footer-inner nav a{color:#b8c5de;text-decoration:none;font-size:13px}.footer-inner nav a:hover{color:var(--gold)}.footer-end{grid-column:1/-1;border-top:1px solid #28344f;padding-top:17px}
@media(max-width:1120px){.nav-shell{gap:16px}.site-nav{gap:15px}.hero-hud{width:225px}.project-grid{gap:12px}.card-body{padding:19px}.skill-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.nav-shell{flex-wrap:wrap;padding:10px 24px;gap:6px 15px}.brand{margin-right:auto}.site-nav{order:3;width:100%;margin:0;justify-content:center;gap:26px;border-top:1px solid #33405c;padding-top:8px}.hero{min-height:calc(100dvh - 112px);padding:56px 24px 72px}.hero-hud{display:none}.hero-content{max-width:700px}.project-grid{grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:40% 60%}.card-art{height:100%;min-height:320px}.card-body{padding:24px}.card-summary{min-height:0}.section{padding:82px 24px}.flow-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){html{scroll-padding-top:115px}.nav-shell{padding:8px 14px}.brand canvas{width:28px;height:28px}.brand strong{font-size:15px}.brand small{font-size:8px}.nav-tools{gap:6px}.clock{font-size:10px}.time-dial{width:33px;height:33px}.time-live{font-size:9px;padding:6px}.nav-github{width:29px}.nav-github canvas{width:26px;height:26px}.site-nav{justify-content:flex-start;overflow-x:auto;gap:24px;scrollbar-width:none;padding:7px 0 3px}.site-nav::-webkit-scrollbar{display:none}.site-nav a{font-size:12px}.hero{min-height:calc(100dvh - 105px);padding:46px 18px 68px;align-items:center}.hero-shade{background:linear-gradient(90deg,rgba(5,9,25,.88),rgba(5,9,25,.68) 80%),linear-gradient(0deg,rgba(5,9,25,.8),transparent 50%)}.hero h1{font-size:clamp(30px,8.7vw,44px);line-height:1.4}.hero-role{font-size:11px}.hero-lead{font-size:14px;line-height:1.8}.hero-proof{font-size:10px}.hero-proof span{padding:0 2px}.hero-bottom{left:18px;right:18px;font-size:8px}.hero-bottom span:last-child{display:none}.eyebrow{font-size:9px;margin-bottom:18px}.button{font-size:12px;min-height:44px;padding:10px 12px}.hero-actions{gap:12px}.section{padding:66px 18px}.section-heading{display:block;margin-bottom:27px}.section h2{font-size:31px}.section-intro{margin-top:15px;font-size:14px}.project-card{display:flex}.card-art{height:200px;min-height:0}.card-body{padding:21px}.card-summary{font-size:14px}.pr-row{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:18px 13px}.pr-index{font-size:20px}.pr-main strong{font-size:15px}.pr-main>span{font-size:12px}.pr-end{grid-column:2;display:flex;justify-content:space-between;align-items:center}.flow-grid,.journey-grid,.skill-grid{grid-template-columns:1fr}.flow-step{min-height:0}.contact-panel{grid-template-columns:1fr;padding:26px 18px;gap:28px}.contact-card{padding:18px}.footer-inner{display:block;padding:28px 18px}.footer-inner nav{margin-top:18px;flex-wrap:wrap}.footer-end{margin-top:25px!important}.ticker-track span{font-size:10px}}
@media(max-width:390px){.clock{display:none}.hero h1{font-size:29px}.hero-proof{line-height:2}.hero-bottom span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track,.press-start{animation:none}.pixel-scene__viewport{transform:none!important}.project-card,.button{transition:none}}

/* Site color is independent of the scene clock. */
.theme-picker{display:flex;align-items:center;gap:6px;white-space:nowrap;color:var(--cyan);font:700 10px var(--mono)}
.theme-picker select{min-width:58px;padding:7px 5px;background:#1b3150;color:#eff9ff;border:1px solid var(--cyan);box-shadow:2px 2px #050817;font:700 11px var(--sans);cursor:pointer}
.theme-picker option{background:#1b3150;color:#fff}
.project-card{position:relative;cursor:pointer}
.card-hit{position:absolute;inset:0;z-index:2}
.card-hit:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.card-links{position:relative;z-index:3;pointer-events:none}
.card-links a{position:relative;z-index:4;pointer-events:auto}
.card-open-label{color:var(--accent)!important;font-size:13px!important;font-weight:800}
.miniapp-teaser{display:flex;align-items:center;gap:12px;margin:14px 0;padding:9px;background:rgba(255,255,255,.055);border:1px solid #4c627b}
.miniapp-teaser img{width:70px;height:70px;flex:none;object-fit:contain;background:#fff;padding:3px;image-rendering:auto}
.miniapp-teaser span{font-size:13px;font-weight:700;line-height:1.5;color:#f4f7ff}.miniapp-teaser small{display:block;font-size:11px;color:#b7c5df;font-weight:400;margin-top:4px}

html[data-theme="ocean"]{--bg:#153b58;--panel:#244e6b;--muted:#d1e1ed;--line:#6597ad}
html[data-theme="ocean"] .content-world{background-color:#173c59;background-image:radial-gradient(circle at 12% 18%,rgba(99,197,211,.16),transparent 30%),radial-gradient(circle at 88% 70%,rgba(249,191,120,.1),transparent 28%),linear-gradient(rgba(203,232,241,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(203,232,241,.045) 1px,transparent 1px)}
html[data-theme="ocean"] .site-header{background:rgba(18,51,77,.95)}
html[data-theme="ocean"] .site-nav a{color:#e7f5ff}
html[data-theme="ocean"] .project-card{border-color:#6b9db0}
html[data-theme="ocean"] .pr-list,html[data-theme="ocean"] .flow-step,html[data-theme="ocean"] .journey-panel,html[data-theme="ocean"] .skill-grid article{background:#214762;border-color:#638fa9}
html[data-theme="ocean"] .pr-row{border-color:#638fa9}
html[data-theme="ocean"] .pr-row:hover{background:#2b5773}
html[data-theme="ocean"] .pr-index,html[data-theme="ocean"] .skill-grid article>span{color:#89bad0}
html[data-theme="ocean"] .card-footnote,html[data-theme="ocean"] .card-links>span{color:#cfdeed}
html[data-theme="ocean"] .contact-panel{background:linear-gradient(135deg,#2f6681,#204861 55%,#1b3c58)}
html[data-theme="ocean"] .site-footer{background:#13334b}
html[data-theme="ocean"] .hero-shade{background:linear-gradient(90deg,rgba(10,36,57,.75) 0%,rgba(15,49,71,.52) 37%,rgba(13,40,60,.12) 80%),linear-gradient(0deg,rgba(11,35,54,.5),transparent 38%)}
html[data-theme="ocean"] #sceneBg{filter:brightness(1.2) saturate(1.12)}
html[data-theme="ocean"] .pixel-scene__vig{box-shadow:inset 0 0 85px 8px rgba(9,35,55,.15)}

html[data-theme="dusk"]{--bg:#2d3159;--panel:#373f6c;--muted:#dadcf3;--line:#8888b4}
html[data-theme="dusk"] .content-world{background-color:#30365e;background-image:radial-gradient(circle at 14% 20%,rgba(247,175,152,.16),transparent 30%),linear-gradient(rgba(218,220,251,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(218,220,251,.04) 1px,transparent 1px)}
html[data-theme="dusk"] .site-header{background:rgba(42,43,80,.95)}
html[data-theme="dusk"] .project-card{border-color:#807fa9}
html[data-theme="dusk"] .pr-list,html[data-theme="dusk"] .flow-step,html[data-theme="dusk"] .journey-panel,html[data-theme="dusk"] .skill-grid article{background:#3a426e;border-color:#797fac}
html[data-theme="dusk"] .pr-row{border-color:#797fac}
html[data-theme="dusk"] .pr-row:hover{background:#49527c}
html[data-theme="dusk"] .pr-index,html[data-theme="dusk"] .skill-grid article>span{color:#b9add5}
html[data-theme="dusk"] .card-footnote,html[data-theme="dusk"] .card-links>span{color:#deddf4}
html[data-theme="dusk"] .contact-panel{background:linear-gradient(135deg,#6a517f,#474876 55%,#363d68)}
html[data-theme="dusk"] .site-footer{background:#272b50}
html[data-theme="dusk"] .hero-shade{background:linear-gradient(90deg,rgba(35,28,63,.78) 0%,rgba(39,31,70,.5) 38%,rgba(43,35,75,.1) 80%),linear-gradient(0deg,rgba(38,30,66,.55),transparent 38%)}
html[data-theme="dusk"] #sceneBg{filter:brightness(1.16) saturate(1.16)}
html[data-theme="dusk"] .pixel-scene__vig{box-shadow:inset 0 0 85px 8px rgba(48,30,70,.17)}

@media(max-width:640px){.theme-picker>span{display:none}.brand small{display:none}.nav-tools{gap:5px}.theme-picker select{font-size:10px;padding:6px 3px;min-width:54px}}
@media(max-width:390px){.clock{display:inline}.brand{gap:7px}.nav-shell{gap:5px 9px}}
