@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Hanken+Grotesk:wght@400;500&family=JetBrains+Mono:wght@400;500&display=swap";:root{--background: #faf9f7;--surface: #f4f3f1;--surface-strong: #efeeec;--text: #1a1c1b;--muted: #5f6363;--faint: #8a8d8d;--line: #d9d9d5;--line-strong: #b9b9b4;--accent: #00a67e;--danger: #ba1a1a;--page: clamp(1.25rem, 4vw, 4rem);--gap: clamp(1.5rem, 3vw, 3rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--text);font-family:Hanken Grotesk,system-ui,sans-serif;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a{color:inherit}button{background:transparent;border:0;cursor:pointer}a{text-decoration:none}::selection{background:var(--text);color:var(--background)}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:6.25rem;padding:0 var(--page);background:color-mix(in srgb,var(--background) 94%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.55rem;font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.brand-mark{width:.65rem;height:.65rem;background:var(--text);display:inline-block}.brand-role{color:var(--muted)}.site-header nav{display:flex;align-items:center;gap:clamp(.75rem,2vw,2rem)}.site-header nav button{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.site-header nav button:hover,.brand:hover{color:var(--text)}main.loading{opacity:.75}.hero,.detail-hero{display:grid;grid-template-columns:minmax(0,8fr) minmax(18rem,4fr);gap:var(--gap);min-height:calc(100vh - 6.25rem);align-items:center;padding:clamp(4rem,9vw,9rem) var(--page);border-bottom:1px solid var(--line)}.hero>*,.detail-hero>*,.archive-heading>*,.section-grid>*,.project-row>*,.labs-grid>*,.skills-grid>*,.detail-columns>*,.admin-heading>*,.admin-grid>*{min-width:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:DM Sans,system-ui,sans-serif;font-weight:500;letter-spacing:-.01em}.hero h1,.detail-hero h1,.admin-heading h1{max-width:58rem;margin-bottom:2rem;font-size:clamp(3rem,6vw,6.25rem);line-height:.96}.hero p,.detail-hero p,.prose-block p,.admin-heading p{max-width:45rem;color:var(--muted);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.hero-actions,.contact-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-actions a,.contact-links a,.link-button,.admin-actions button,.project-editor-header button,.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 1rem;border:1px solid var(--text);color:var(--text);font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.hero-actions a:hover,.contact-links a:hover,.link-button:hover,.admin-actions button:hover,.project-editor-header button:hover{background:var(--text);color:var(--background)}.status-panel{border:1px solid var(--line-strong);padding:1.5rem}.status-title{display:flex;align-items:center;gap:.55rem;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.status-dot{width:.5rem;height:.5rem;background:var(--accent);border-radius:999px}.status-panel p{color:var(--muted);line-height:1.55}.metadata{display:grid;gap:.8rem;margin:0;font-family:JetBrains Mono,monospace;font-size:.74rem;line-height:1.45;max-width:100%}.metadata div{display:grid;gap:.12rem}.metadata dt{color:var(--faint);letter-spacing:.08em;text-transform:uppercase}.metadata dd{margin:0;color:var(--text);overflow-wrap:anywhere;word-break:break-word}.archive-section{padding:clamp(4rem,7vw,7rem) 0;border-bottom:1px solid var(--line)}.archive-heading,.section-grid{display:grid;grid-template-columns:minmax(8rem,2fr) minmax(0,10fr);gap:var(--gap)}.archive-heading{padding:clamp(4rem,7vw,7rem) var(--page);padding-top:0;padding-bottom:4rem}.archive-heading h2{margin:0;font-size:clamp(2rem,3vw,3.5rem);line-height:1.05;text-transform:uppercase}.section-grid{padding:clamp(4rem,7vw,7rem) var(--page);border-bottom:1px solid var(--line)}.section-label,.eyebrow{font-family:JetBrains Mono,monospace;color:var(--muted);font-size:.72rem;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.section-label{display:flex;gap:.6rem;align-items:flex-start}.section-content>h2,.contact-section h2{margin-bottom:2rem;font-size:clamp(2rem,3vw,3.5rem);line-height:1.05}.project-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-row{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr);gap:var(--gap);padding:3rem var(--page);border-bottom:1px solid var(--line);transition:background-color .12s ease}.project-row:last-child{border-bottom:0}.project-row:hover{background:var(--surface)}.project-main h3,.note-row h3,.lab-item h3,.skills-grid h3{margin-bottom:.9rem;font-size:clamp(1.25rem,1.8vw,1.8rem);line-height:1.2}.project-row:hover .project-main h3{transform:translate(.5rem)}.project-main h3{transition:transform .12s ease}.project-main p:not(.eyebrow),.note-row p:not(.eyebrow),.lab-item p,.skills-grid p{max-width:42rem;color:var(--muted);line-height:1.65;overflow-wrap:anywhere}.project-data{display:grid;align-content:start;justify-items:start;gap:1.25rem;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.55;text-transform:uppercase;max-width:100%;min-width:0}.project-action{align-content:space-between}.meta-block{display:grid;gap:.2rem;max-width:100%;min-width:0}.meta-block span{color:var(--faint);font-size:.68rem;letter-spacing:.08em}.meta-block strong{color:var(--text);font-weight:500;overflow-wrap:anywhere;word-break:break-word}.flow-panel{min-height:18rem;padding:2rem;background:radial-gradient(var(--line) .7px,transparent .7px) 0 0 / 18px 18px,var(--surface);border:1px solid var(--line);max-width:100%;overflow:hidden}.flow-items{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.9rem;min-height:12rem}.flow-node{position:relative;padding:.7rem .9rem;min-width:0;max-width:11rem;text-align:center;background:var(--background);border:1px solid var(--line-strong);font-family:JetBrains Mono,monospace;font-size:.68rem;text-transform:uppercase;overflow-wrap:anywhere;word-break:break-word}.flow-node:not(:last-child):after{content:"";position:absolute;right:-.9rem;top:50%;width:.9rem;border-top:1px solid var(--line-strong)}.flow-panel p{margin:1rem 0 0;font-family:JetBrains Mono,monospace;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}.notes-list{border-top:1px solid var(--line)}.note-row{padding:2rem 0;border-bottom:1px solid var(--line)}.labs-grid,.skills-grid,.detail-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.lab-item,.skills-grid article,.detail-columns article{min-height:16rem;padding:1.5rem;background:var(--background)}.lab-item .link-button{margin-top:1rem}.detail-page .section-grid{padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(3rem,6vw,6rem)}.detail-columns h2{font-size:1.25rem}.detail-columns ul{margin:0;padding-left:1.1rem;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.compact .project-row{grid-template-columns:minmax(0,1fr)}.back-link{margin-top:2rem}.admin-page{padding:clamp(3rem,6vw,6rem) var(--page)}.admin-heading{display:grid;grid-template-columns:minmax(0,7fr) minmax(18rem,5fr);gap:var(--gap);align-items:end;padding-bottom:3rem;border-bottom:1px solid var(--line)}.admin-actions{display:grid;gap:1rem}.admin-actions span{min-height:1.2rem;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.75rem}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:var(--gap);margin-top:3rem}.admin-panel{display:grid;gap:1rem;align-content:start;padding:1.5rem;border:1px solid var(--line)}.admin-panel h2{margin-bottom:.5rem;font-size:1.5rem}.admin-field{display:grid;gap:.45rem}.admin-field span,.check-field{font-family:JetBrains Mono,monospace;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.admin-field input,.admin-field textarea,.admin-field select{width:100%;border:1px solid var(--line-strong);border-radius:0;background:var(--background);color:var(--text);padding:.85rem;min-width:0}.admin-field textarea{resize:vertical}.check-field{display:flex;align-items:center;gap:.7rem}.project-editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.danger-button{border-color:var(--danger);color:var(--danger)}.danger-button:hover{background:var(--danger);color:#fff}@media(max-width:900px){.site-header{position:static;align-items:flex-start;flex-direction:column;padding-top:1.25rem;padding-bottom:1.25rem}.brand-role{display:none}.site-header nav{width:100%;overflow-x:auto;padding-bottom:.2rem}.hero,.detail-hero,.section-grid,.admin-heading,.admin-grid{grid-template-columns:1fr}.hero,.detail-hero{min-height:auto}.project-row{grid-template-columns:1fr;padding-left:var(--page);padding-right:var(--page)}.labs-grid,.skills-grid,.detail-columns{grid-template-columns:1fr}.flow-items{align-items:stretch;flex-direction:column}.flow-node:not(:last-child):after{right:50%;top:auto;bottom:-.9rem;height:.9rem;width:0;border-top:0;border-left:1px solid var(--line-strong)}}
