/* Minimal, dependency-free personal site. */
:root{color-scheme:dark;--bg:#101418;--surface:#181e22;--line:#30393b;--text:#edf0e9;--muted:#9ca9a7;--accent:#b8e3ab;--accent-strong:#d2f4c5;--max:1360px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:var(--accent);color:#101418}
.page-shell{max-width:var(--max);margin:0 auto;padding:0 clamp(24px,5vw,88px)}
.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.identity{display:inline-flex;align-items:center;gap:16px}
.identity-mark{height:49px;width:49px;border:1px solid #53615d;display:grid;place-items:center;font-size:24px;font-weight:780;letter-spacing:-2.5px;border-radius:13px}
.identity-mark span,.art-center span{color:var(--accent)}
.identity-copy{display:flex;flex-direction:column;gap:4px}
.identity-copy strong{font-size:14px;letter-spacing:-.1px}
.identity-copy>span{font-size:11px;color:var(--muted);letter-spacing:1.1px;text-transform:uppercase}
.header-links{display:flex;align-items:center;gap:42px;font-size:13px;font-weight:600}
.header-links a{transition:color .2s ease}
.header-links a:hover{color:var(--accent)}
.header-github span{padding-left:7px;color:var(--accent)}
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);gap:clamp(32px,6vw,96px);align-items:center;min-height:640px;padding:76px 0 95px}
.hero-copy{position:relative;z-index:1}
.eyebrow,.section-kicker{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--accent);text-transform:uppercase}
.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.pulse-dot{height:7px;width:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #b8e3ab16;animation:breath 3.5s ease-in-out infinite}
.eyebrow-line{width:25px;height:1px;background:#65716c}
h1{margin:32px 0 30px;font-size:clamp(56px,5.6vw,86px);line-height:1.06;letter-spacing:-5.4px;font-weight:720}
h1 em{color:var(--accent);font-family:Georgia,serif;font-weight:400;letter-spacing:-4.5px}
.hero-lead{font-size:clamp(18px,1.6vw,21px);font-weight:400;line-height:1.65;max-width:590px;color:#d3dad5;margin:0}
.hero-lead strong{font-weight:750;color:#f6f8f0}
.hero-support{font-size:15px;line-height:1.8;color:var(--muted);max-width:510px;margin:20px 0 0}
.hero-actions{margin-top:40px;display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:55px;background:var(--accent);color:#122017;font-weight:750;font-size:13px;padding:0 23px;border-radius:6px;transition:background .2s ease,transform .2s ease}
.primary-link:hover{background:var(--accent-strong);transform:translateY(-2px)}
.primary-link span{font-size:19px;font-weight:400}
.secondary-link{font-size:13px;font-weight:650;padding:14px 0;border-bottom:1px solid #597064;transition:color .2s ease}
.secondary-link:hover{color:var(--accent)}
.secondary-link span{margin-left:8px;color:var(--accent)}
.hero-art{height:490px;min-width:0;position:relative;overflow:hidden;isolation:isolate;border:1px solid #3a4543;background:radial-gradient(circle at 50% 44%,#2d4234 0%,#1a2826 30%,#18201f 66%,#131c1c 100%);border-radius:12px;box-shadow:0 35px 75px #00000024}
.art-grid{position:absolute;inset:0;opacity:.43;background-image:linear-gradient(to right,#b9d2bb16 1px,transparent 1px),linear-gradient(to bottom,#b9d2bb16 1px,transparent 1px);background-size:29px 29px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.art-sun{width:280px;height:280px;position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);background:radial-gradient(circle,#a4d7a11a 0%,transparent 67%);filter:blur(8px)}
.art-circle{position:absolute;left:50%;top:44%;border:1px solid #89a49750;border-radius:50%;transform:translate(-50%,-50%)}
.art-circle-outer{width:388px;height:388px;border-style:dashed;border-color:#95baa04a;animation:spin 80s linear infinite}
.art-circle-middle{width:300px;height:300px;border-color:#95baa070}
.art-circle-middle:after{content:"";height:8px;width:8px;background:var(--accent);position:absolute;top:23px;right:56px;transform:rotate(20deg);border-radius:50%;box-shadow:0 0 24px var(--accent)}
.art-circle-inner{height:215px;width:215px;border-color:#bce5ae8a;box-shadow:0 0 45px #bce5ae08 inset}
.art-center{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font-size:94px;font-weight:800;letter-spacing:-13px;padding-right:14px;color:#f0f8ed;line-height:1}
.art-coordinate{position:absolute;color:#94b4a1;font-size:9px;font-weight:700;letter-spacing:1.4px;font-family:"Courier New",monospace}
.art-coordinate-top{left:24px;top:25px}
.art-coordinate-side{right:22px;top:25px}
.art-status{position:absolute;bottom:28px;left:26px;display:flex;align-items:center;gap:12px;padding:13px 17px;background:#101b19e8;border:1px solid #58706382;border-radius:6px;box-shadow:0 10px 30px #00000025}
.art-status-mark{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #b8e3ab20}
.art-status strong,.art-status small{display:block}
.art-status strong{font-size:12px;font-weight:700}
.art-status small{font-size:10px;margin-top:4px;color:#9eb6a9}
.art-index{position:absolute;right:22px;bottom:29px;color:#9bb5a6;font-family:"Courier New",monospace;font-size:10px;letter-spacing:1px}
.focus{border-top:1px solid var(--line);padding:62px 0 88px;scroll-margin-top:35px}
.focus-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:37px}
h2{font-size:clamp(29px,3vw,43px);line-height:1.2;font-weight:680;letter-spacing:-1.6px;margin:17px 0 0}
.focus-heading>p{color:var(--muted);font-size:13px;line-height:1.65;max-width:250px;margin:0 0 5px}
.focus-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.focus-item{min-height:183px;padding:23px 23px 20px;border:1px solid #333e3e;background:linear-gradient(145deg,#1b2425,#171d1e);border-radius:7px;position:relative;transition:border-color .2s ease,transform .2s ease}
.focus-item:hover{border-color:#668675;transform:translateY(-3px)}
.focus-number{font-family:"Courier New",monospace;font-size:11px;color:var(--accent);letter-spacing:1px}
.focus-item h3{font-size:19px;letter-spacing:-.5px;margin:27px 0 7px}
.focus-item p{font-size:12px;line-height:1.65;color:var(--muted);max-width:240px;margin:0}
.focus-symbol{position:absolute;right:20px;top:19px;font-size:19px;color:#80948a}
.site-footer{min-height:104px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#9aa9a0;font-size:12px}
.site-footer a{color:var(--text);font-weight:650}
.site-footer a:hover{color:var(--accent)}
.footer-star{padding-left:4px;color:var(--accent)}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes breath{50%{box-shadow:0 0 0 8px #b8e3ab0a}}
@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) 355px;gap:30px;min-height:0;padding:65px 0 80px}.hero-art{height:420px}h1{font-size:clamp(54px,6vw,69px);letter-spacing:-3.8px}h1 em{letter-spacing:-3.5px}.art-circle-outer{width:355px;height:355px}}
@media(max-width:760px){.site-header{height:88px}.identity-mark{width:43px;height:43px;font-size:21px}.identity-copy>span{font-size:9px}.header-links{gap:20px}.header-about{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;gap:46px;padding:65px 0 60px}.hero-art{width:100%;height:360px}.hero-copy{width:100%}h1{font-size:clamp(52px,9vw,76px)}.focus{padding:48px 0 66px}.focus-heading{display:block}.focus-heading>p{margin-top:16px;max-width:420px}.focus-list{grid-template-columns:1fr}.focus-item{min-height:145px}.focus-item h3{margin-top:18px}.site-footer{padding:25px 0;flex-wrap:wrap;min-height:0}.site-footer>span:nth-child(2){order:3;flex-basis:100%}}
@media(max-width:400px){.page-shell{padding:0 21px}.identity{gap:10px}.identity-copy strong{font-size:12px}.identity-copy>span{letter-spacing:.6px}.header-links{font-size:12px}h1{font-size:49px;letter-spacing:-3.6px}h1 em{letter-spacing:-3.4px}.hero-actions{gap:17px}.primary-link{padding:0 15px;gap:12px}.hero-art{height:310px}.art-circle-outer{height:315px;width:315px}.art-circle-middle{height:250px;width:250px}.art-circle-inner{height:180px;width:180px}.art-center{font-size:78px}.art-coordinate-side{display:none}.art-status{bottom:18px;left:17px}.art-index{right:15px;bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
