:root{color-scheme:dark;--bg:#090b14;--card:#171822;--ink:#f2f1f6;--muted:#b8b6c8;--line:#ffffff1a;--accent:#aa59ff;--field:#10111b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,sans-serif}.ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 0 0,#7027d347,transparent 27%),radial-gradient(ellipse at 100% 55%,#72268724,transparent 42%)}.ambient:before{content:'';position:absolute;width:850px;height:130px;transform:rotate(-34deg);top:-105px;left:-280px;border-bottom:3px solid #aa5aff;box-shadow:0 8px 40px #6d1cff}main{max-width:1226px;margin:auto;padding:0 24px}nav{height:90px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:20px;font-weight:750;letter-spacing:.04em}a{color:inherit;text-decoration:none}.nav-links{display:flex;align-items:center;gap:12px}.nav-links a{padding:9px 20px;color:var(--muted)}.nav-links .selected{color:#fff;border:1px solid #a453f666;border-radius:30px;background:linear-gradient(160deg,#67299166,#211629);box-shadow:inset 0 0 20px #aa59ff22}.nav-links button{margin-left:6px}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}#theme{border:0;background:none;font-size:25px}.hero{position:relative;padding:36px 0 48px;min-height:414px;isolation:isolate}.hero-art{position:absolute;z-index:-1;top:-90px;right:calc((min(100vw, 1226px) - 100vw)/2 - 24px);width:83%;height:510px;background:url('/hero.png') center right/cover no-repeat;mask-image:linear-gradient(to right,transparent,black 40%);opacity:.88}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 70%,var(--bg))}.hero-copy{position:relative;max-width:620px}.brand{font:700 14px/1.6 ui-monospace,monospace;letter-spacing:.13em;color:var(--accent)}h1{font:700 clamp(46px,5.4vw,78px)/1.05 Georgia,serif;letter-spacing:-.035em;margin:19px 0 24px}h1 span{background:linear-gradient(100deg,#d44eeb,#f4ac72);background-clip:text;color:transparent}.lead{font-size:19px;line-height:1.45;color:#d7d5e2;margin:24px 0}.actions{display:flex;gap:20px;margin-top:25px}.button{display:inline-flex;gap:14px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:14px;padding:13px 23px;font-weight:600;font-size:15px;transition:transform .18s,filter .18s}.button:hover{transform:translateY(-2px);filter:brightness(1.1)}.primary{background:linear-gradient(120deg,#6428d8,#a349fa);border-color:#ab6eff88;color:white;box-shadow:inset 0 2px 12px #d2a0ff44,0 6px 22px #5620b624}.secondary{background:linear-gradient(120deg,#252632,#191a25);color:#e4e1eb}.feed-row{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:16px 0 21px;gap:18px}#feed-state{font-size:14px;color:var(--muted);margin:8px 0}#feed-state:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);margin-right:10px}.motto{font:italic 12px ui-monospace,monospace;letter-spacing:.12em;color:#858398}.grid{display:grid;gap:23px;grid-template-columns:repeat(3,minmax(0,1fr))}.card{position:relative;isolation:isolate;overflow:hidden;display:block;color:inherit;background:linear-gradient(135deg,#20202ee8,#13151ee8);border:1px solid #8d65bc55;border-top-color:#bd83c077;border-radius:18px;padding:21px 24px 26px;transition:transform .18s,border-color .18s}.card:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,transparent 68%,#7330b92b),linear-gradient(165deg,transparent 76%,#ab57f51b);clip-path:polygon(35% 100%,100% 52%,100% 100%)}.card:nth-child(3n+2){border-color:#af729b55}.card:nth-child(3n+2):after{background:linear-gradient(145deg,transparent 65%,#aa327f38)}.card:nth-child(3n):after{background:linear-gradient(145deg,transparent 65%,#d5866d25)}.card:hover{transform:translateY(-4px);border-color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.icon{font-size:32px;display:grid;place-items:center;width:59px;height:57px;border-radius:13px;border:1px solid #ba66ef77;background:linear-gradient(140deg,#57347888,#211a24);box-shadow:inset 0 0 15px #dc73dd22}.top{display:flex;align-items:center;justify-content:space-between;gap:8px}h2{font-size:22px;line-height:1.3;margin:18px 0 10px}.desc{color:var(--muted);min-height:60px;line-height:1.5;margin:0}.visit{display:flex;justify-content:space-between;color:var(--accent);font-weight:650;margin-top:32px}.visit span:last-child{font-size:22px;line-height:1}.status{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}.dot{width:8px;height:8px;border-radius:100%;background:#8c899b}.up .dot{background:#1dd6a0}.about{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:60px;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about p{max-width:620px;color:var(--muted)}.linkedin{background:#e8e6f0;color:#1e1a29;border-radius:3px;line-height:1;padding:3px;font-size:16px}.admin{margin-top:45px}.section-note{color:var(--muted);font-size:14px}.admin .grid{margin-top:24px}.admin .icon{width:45px;height:45px;font-size:26px}.admin .card h2{font-size:20px}details{margin-top:20px}summary{color:var(--accent);cursor:pointer}code{display:block;overflow-wrap:anywhere;font-size:12px;background:var(--bg);padding:12px;border-radius:8px;margin-bottom:12px}details a{color:var(--accent)}footer{margin:50px 0 90px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;display:flex;justify-content:space-between}.message-launch{position:fixed;right:24px;bottom:24px;border:1px solid #ab6eff88;background:linear-gradient(120deg,#6326cd,#923df0);border-radius:30px;padding:13px 20px;box-shadow:0 6px 30px #0008;color:white;z-index:3}dialog{border:1px solid #9b6ccc77;border-radius:20px;background:var(--card);color:var(--ink);padding:27px;max-width:440px;width:calc(100% - 32px);box-shadow:0 20px 100px #0009}dialog::backdrop{background:#060713b0;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dialog-top h2{margin:8px 0}.dialog-top button{border:0;background:none;font-size:28px}label{display:block;font-size:14px;margin:15px 0}label span{color:var(--muted)}input,textarea{display:block;width:100%;border:1px solid #8883a655;border-radius:9px;background:var(--field);color:var(--ink);padding:10px 12px;margin-top:7px}input:focus,textarea:focus{outline:2px solid var(--accent)}textarea{resize:vertical}.honey{display:none}#message-state{font-size:14px;margin-bottom:0}button:disabled{opacity:.6;cursor:wait}.inbox-header{padding:40px 0}.inbox-message{margin:20px 0}.inbox-message p{white-space:pre-wrap;overflow-wrap:anywhere}.inbox-message small{color:var(--muted)}html[data-theme=light]{color-scheme:light;--bg:#f6f2fa;--card:#fff;--ink:#21172e;--muted:#665c73;--line:#35204422;--accent:#7e2bcc;--field:#faf7fd}html[data-theme=light] .card{background:linear-gradient(135deg,#fff,#f4edf8)}html[data-theme=light] .lead{color:var(--muted)}html[data-theme=light] .hero-art{opacity:.35}html[data-theme=light] .secondary{background:#eee5f5;color:var(--ink)}@media(min-width:1600px){.hero-art{width:96%;height:530px}.hero{min-height:414px}}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{width:100%;opacity:.4}.motto{display:none}.about{gap:24px}.nav-links a{padding:8px 12px}}@media(max-width:600px){main{padding:0 20px}nav{height:78px}.wordmark{font-size:15px}.nav-links{gap:2px}.nav-links a{padding:7px 10px;font-size:14px}.nav-links a:first-child{display:none}.hero{padding:25px 0 40px;min-height:390px}.hero-art{top:-78px;height:490px;width:130%;opacity:.26;mask-image:linear-gradient(to right,transparent,black)}h1{font-size:53px}.brand{font-size:12px}.lead{font-size:16px}.lead br{display:none}.actions{gap:10px;flex-wrap:wrap}.button{font-size:14px;padding:12px 16px}.grid{grid-template-columns:1fr;gap:16px}.card{padding:22px}.desc{min-height:0}.visit{margin-top:25px}.about{align-items:flex-start;flex-direction:column;gap:10px}.message-launch{right:16px;bottom:16px}footer{gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-art{pointer-events:none}nav{position:relative;z-index:2}
body{overflow-x:clip}@media(max-width:600px){.hero-art{right:-20px;width:calc(100% + 40px)}.nav-links a{padding:7px 8px}.nav-links button{margin-left:2px}}

/* Keep section navigation available and show the current location in either theme. */
html{scroll-padding-top:calc(var(--header-height,90px) + 24px)}
.site-header{position:sticky;top:0;z-index:5;padding:12px 24px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px)}
.site-header nav{position:static;max-width:1178px;margin:auto;height:66px;padding:10px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 8px 24px #0001}
.nav-links a{border:1px solid transparent;border-radius:30px}
.nav-links a:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 12%,transparent)}
#theme{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--card);line-height:1;flex-shrink:0}
html[data-theme=light] .nav-links .selected{color:var(--accent);background:#eadcf7;border-color:#7e2bcc66;box-shadow:none}
html[data-theme=light] .icon{background:linear-gradient(140deg,#eadcf7,#f8f2fc);box-shadow:none}
@media(max-width:600px){.site-header{padding:8px 12px}.site-header nav{height:auto;min-height:106px;flex-wrap:wrap;padding:10px;gap:6px}.wordmark{width:100%}.nav-links{width:100%;justify-content:space-between;gap:4px}.nav-links a:first-child{display:block}.nav-links a{padding:7px 10px}.nav-links button{margin-left:auto}.hero-art{top:-106px}}

/* Portfolio typography and control geometry, using the existing homepage palette. */
body{font-family:'Segoe UI',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
h1{font-family:inherit;font-weight:650;font-size:clamp(44px,5vw,70px);line-height:1.08;letter-spacing:-.045em}
h2{font-weight:650;letter-spacing:-.025em}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:650;letter-spacing:-.02em;white-space:nowrap}
.wordmark img{display:block;flex-shrink:0}
.nav-links{gap:4px}.nav-links a{font-size:13px;font-weight:400;padding:8px 12px;border:0;border-radius:9px}
.nav-links .selected,html[data-theme=light] .nav-links .selected{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:0;border-radius:9px;box-shadow:none}
#theme{width:36px;height:36px;margin-left:12px;border-radius:10px;color:var(--accent);background:var(--field)}
.ui-icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none;vertical-align:middle}
.moon-icon,html[data-theme=light] .sun-icon{display:none}html[data-theme=light] .moon-icon{display:block}
.button{gap:12px;border-radius:10px;padding:12px 17px;font-size:13px;font-weight:650}.primary{box-shadow:none}
.icon{width:48px;height:48px;border-radius:12px;font-size:27px;box-shadow:none}
.message-launch{display:inline-flex;align-items:center;gap:9px;border-radius:10px;padding:12px 17px;font-size:13px;font-weight:650}
.dialog-top button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--field)}
footer a{display:inline-flex;align-items:center;gap:6px}.visit .ui-icon{width:18px;height:18px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-width:2px}
@media(max-width:600px){.wordmark{font-size:15px;width:100%}.nav-links a{padding:7px 10px;font-size:13px}#theme{margin-left:auto}.button{font-size:13px}h1{font-size:clamp(40px,11vw,53px)}}

/* A direct path from the project homepage to the platform portfolio. */
.header-identity{display:flex;align-items:center;gap:72px}
.portfolio-link{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:9px;color:var(--accent);font-size:13px;white-space:nowrap}
.portfolio-link:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.portfolio-link .ui-icon{width:15px;height:15px}
@media(max-width:800px){.header-identity{gap:20px}}
@media(max-width:600px){.header-identity{width:100%;justify-content:space-between;gap:10px}.header-identity .wordmark{width:auto}.portfolio-link{padding:7px 10px}}
