:root{--bg:#11142A;--surface:#1A1E3D;--text:#ECEBFF;--mute:#8E92BD;--line:#2C3163;--accent:#7C6CFF;--hot:#FFB547;--on-accent:#fff;--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--body:"Instrument Sans","Segoe UI",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Consolas,monospace;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg:#EEF0FA;--surface:#fff;--text:#15183A;--mute:#5C6190;--line:#CBD0EA;--accent:#4B3FE0;--hot:#B85F00;color-scheme:light}}:root[data-theme=night]{--bg:#11142A;--surface:#1A1E3D;--text:#ECEBFF;--mute:#8E92BD;--line:#2C3163;--accent:#7C6CFF;--hot:#FFB547;--on-accent:#fff;color-scheme:dark}:root[data-theme=daylight]{--bg:#EEF0FA;--surface:#fff;--text:#15183A;--mute:#5C6190;--line:#CBD0EA;--accent:#4B3FE0;--hot:#B85F00;--on-accent:#fff;color-scheme:light}:root[data-theme=ember]{--bg:#190F14;--surface:#26161D;--text:#FBEFE8;--mute:#B58F94;--line:#4A2A33;--accent:#FF5C7A;--hot:#FFC247;--on-accent:#190F14;color-scheme:dark}:root[data-theme=ocean]{--bg:#08191F;--surface:#0F2830;--text:#E3F6F4;--mute:#7FA9AC;--line:#1D4650;--accent:#38BDF8;--hot:#FDE047;--on-accent:#08191F;color-scheme:dark}html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.6 var(--body);transition:background .25s,color .25s}a{color:inherit}:focus-visible{outline:2px solid var(--hot);outline-offset:3px;border-radius:4px}.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}.bar{display:flex;align-items:center;gap:1rem;height:64px}.logo{font:800 1.25rem var(--display);text-decoration:none;letter-spacing:-.02em}.logo span{color:var(--accent)}nav{display:flex;gap:.25rem;margin-left:auto;overflow-x:auto;scrollbar-width:none}nav a{padding:.45rem .8rem;border-radius:8px;text-decoration:none;color:var(--mute);font-size:.95rem;white-space:nowrap}nav a:hover,nav a.on{color:var(--text);background:var(--surface)}.tools{display:flex;gap:.5rem}.btn{font:500 .95rem var(--body);display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;text-decoration:none}.btn:hover{border-color:var(--accent)}.btn.main{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.sm{padding:.4rem .7rem;font-size:.85rem}kbd{font:400 .75rem var(--mono);border:1px solid var(--line);border-radius:5px;padding:.05rem .35rem;color:var(--mute)}@media(max-width:720px){.bar{flex-wrap:wrap;height:auto;padding:.6rem 0}nav{order:3;width:100%;margin-left:0}.hide-sm{display:none}.tools{margin-left:auto}}.hero{position:relative;z-index:1;padding:clamp(2.5rem,7vw,5.5rem) 0 clamp(2rem,5vw,4rem)}.portrait{position:fixed;z-index:0;top:calc(64px + env(safe-area-inset-top,0px) + clamp(2.5rem,7vw,5.5rem) + 1.6rem);right:max(clamp(1rem,4vw,2rem),calc((100vw - 1120px)/2 + clamp(1rem,4vw,2rem)));height:clamp(380px,66vh,640px);aspect-ratio:353/836;pointer-events:none}.portrait .ring{position:absolute;left:50%;top:16%;width:170%;aspect-ratio:1;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 70%);border:2px solid var(--accent)}.portrait svg,.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom}.portrait svg{color:var(--mute)}@media(max-width:720px){.portrait{height:clamp(240px,40vh,340px);top:calc(112px + env(safe-area-inset-top,0px) + 4.1rem)}.lede{max-width:58%}}.status{display:inline-flex;align-items:center;gap:.5rem;font:400 .85rem var(--mono);color:var(--mute);border:1px solid var(--line);border-radius:99px;padding:.3rem .8rem}.status i{width:.55rem;height:.55rem;border-radius:50%;background:var(--hot)}h1{font:800 clamp(3.4rem,14vw,10.5rem)/.86 var(--display);letter-spacing:-.045em;margin:1.2rem 0 1.5rem;position:relative;z-index:0}h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--accent)}.lede{max-width:34rem;color:var(--mute);margin:0 0 1.6rem}.cta{display:flex;flex-wrap:wrap;gap:.7rem}.editor{margin-top:clamp(2rem,5vw,3.5rem);background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:640px}.editor .tab{display:flex;gap:.45rem;align-items:center;padding:.6rem .9rem;border-bottom:1px solid var(--line);font:400 .8rem var(--mono);color:var(--mute)}.editor .tab b{width:.6rem;height:.6rem;border-radius:50%;background:var(--line)}pre{margin:0;padding:1rem 1.1rem;font:400 .9rem/1.8 var(--mono);overflow-x:auto;counter-reset:l}pre span.l{display:block;counter-increment:l}pre span.l:before{content:counter(l);display:inline-block;width:1.8rem;color:var(--mute);opacity:.6}.k{color:var(--accent)}.s{color:var(--hot)}.c{color:var(--mute)}.caret{display:inline-block;width:.55rem;height:1.05em;background:var(--hot);vertical-align:text-bottom;animation:blink 1.1s steps(2) infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.caret{animation:none}html{scroll-behavior:auto}}section{position:relative;z-index:2;background:var(--bg);padding:clamp(2.5rem,6vw,4.5rem) 0;border-top:1px solid var(--line)}.head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.6rem;flex-wrap:wrap}h2{font:800 clamp(1.9rem,5vw,3rem)/1 var(--display);letter-spacing:-.03em;margin:0}.note{font:400 .8rem var(--mono);color:var(--mute);margin:0}.ph{border:1.5px dashed var(--line);border-radius:12px;background:repeating-linear-gradient(135deg,transparent 0 10px,color-mix(in srgb,var(--line) 35%,transparent) 10px 11px);display:grid;place-items:center;color:var(--mute);font:400 .85rem var(--mono);text-align:center;padding:.5rem}.grid3{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.case{display:flex;flex-direction:column;gap:.7rem;text-decoration:none;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.case:hover{border-color:var(--accent)}.case .ph{aspect-ratio:16/10}.case h3{font:800 1.3rem/1.15 var(--display);margin:.3rem 0 0;letter-spacing:-.02em}.case p{margin:0;color:var(--mute);font-size:.95rem}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.tags span{font:400 .75rem var(--mono);border:1px solid var(--line);border-radius:6px;padding:.1rem .5rem;color:var(--mute)}.posts{display:grid;gap:0}.post{display:grid;grid-template-columns:7.5rem 1fr auto;gap:1rem;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.post:hover h3{color:var(--accent)}.post h3{margin:0;font:500 1.15rem var(--body)}.post time,.post small{font:400 .8rem var(--mono);color:var(--mute)}@media(max-width:560px){.post{grid-template-columns:1fr}}.travel{display:grid;gap:.8rem;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px}.travel .ph:nth-child(1){grid-column:span 2;grid-row:span 2}.travel .ph:nth-child(4){grid-column:span 2}@media(max-width:640px){.travel{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px}}.map{margin-top:.8rem;height:200px}.about{display:grid;gap:2rem;grid-template-columns:minmax(0,260px) 1fr;align-items:start}@media(max-width:700px){.about{grid-template-columns:1fr}}.avatar{height:100%;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 75%,var(--bg)),color-mix(in srgb,var(--hot) 60%,var(--bg)))}.about p{max-width:60ch;margin:0 0 1rem;color:var(--mute)}.lines{display:grid;gap:.5rem;margin-bottom:1.2rem}.lines i{height:.7rem;border-radius:4px;background:var(--line);display:block}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips .ph{padding:.25rem .8rem;border-radius:99px;display:inline-block}form{display:grid;gap:.8rem;max-width:520px}label{display:grid;gap:.3rem;font-size:.9rem;color:var(--mute)}input,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem}.contact{display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media(max-width:760px){.contact{grid-template-columns:1fr}}.socials{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}footer{position:relative;z-index:2;background:var(--bg);border-top:1px solid var(--line);padding:1.5rem 0 2.5rem;color:var(--mute);font:400 .85rem var(--mono)}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;width:min(560px,92vw);padding:1rem;margin-top:12vh}dialog::backdrop{background:#0000008c}dialog input{width:100%}dialog ul{list-style:none;margin:.8rem 0 0;padding:0;color:var(--mute);font-size:.95rem}dialog li{padding:.5rem .3rem;border-bottom:1px solid var(--line)}
