@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Caveat:wght@500;600;700&family=Permanent+Marker&display=swap');
:root{color-scheme:dark;--bg:#141918;--text:#ebece2;--muted:#9ba39b;--accent:#e9b875;--line:#ffffff20}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{position:absolute;top:0;left:0;right:0;height:105px;padding:30px 4%;display:flex;justify-content:space-between;align-items:center;z-index:3}.brand{display:grid;grid-template-columns:36px auto;column-gap:12px;color:var(--text);font:600 15px 'Space Grotesk',sans-serif;letter-spacing:2px;text-decoration:none}.mark{grid-row:span 2;font-size:32px;line-height:1;color:var(--accent)}.brand-sub{font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:5px}button{border:1px solid var(--line);background:#1c2321;padding:12px 18px;border-radius:6px}button:hover{border-color:var(--accent)}#view-toggle{font-size:14px;background:transparent}#view-toggle span{margin-left:25px;color:var(--accent)}#lab{height:100svh;min-height:680px;position:relative;overflow:hidden}#scene{position:absolute;inset:0}canvas{display:block;width:100%;height:100%}.intro{position:absolute;left:4%;top:24%;pointer-events:none;max-width:360px}.eyebrow{font:500 12px 'Space Grotesk',sans-serif;letter-spacing:2.5px;color:var(--accent);margin:0 0 24px}h1{font:500 clamp(32px,3.5vw,56px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:0 0 22px}.intro>p:last-child{color:var(--muted);font-size:15px;line-height:1.8}.scene-label{position:absolute;right:4%;top:132px;font:12px monospace;color:var(--accent);letter-spacing:2px}.scene-label span{color:#8c9990;margin-left:16px}.hotspot{position:absolute;display:flex;align-items:center;gap:12px;white-space:nowrap;background:#18221fed;box-shadow:0 8px 32px #0004;transform:translate(-50%,-50%);font-size:14px;padding:10px 14px}.hotspot span{color:var(--accent);font:12px monospace;border-right:1px solid var(--line);padding-right:12px}.hotspot b{color:var(--accent);font-weight:400}.hint{position:absolute;bottom:70px;left:0;right:0;text-align:center;color:#9ca69a;letter-spacing:2px;font:11px monospace}.hint span{padding:0 12px}footer{position:fixed;bottom:0;left:4%;right:4%;height:56px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font:10px monospace;letter-spacing:1.5px;color:var(--muted);pointer-events:none}.asterisk{font-size:22px;color:var(--accent);margin-left:22px}dialog{margin:0 0 0 auto;max-height:none;height:100svh;width:min(550px,100%);max-width:100%;border:0;border-left:1px solid var(--line);background:#181e1b;color:var(--text);padding:28px 34px;box-shadow:-30px 0 100px #0006}dialog::backdrop{background:#070d0a6b;backdrop-filter:blur(3px)}.panel-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid var(--line);gap:12px}.panel-top>span{font:12px monospace;color:var(--accent)}#close{padding:8px 10px;font-size:12px}#close span{font-size:20px;margin-left:10px}#panel-content{padding-top:32px}h2{font:500 34px 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:0 0 14px}h3{font:500 21px 'Space Grotesk',sans-serif;margin:0 0 12px}p{line-height:1.7}.muted,.lead{color:var(--muted)}.sample{font:11px monospace;letter-spacing:1px;text-transform:uppercase;color:var(--accent);padding:7px 10px;border:1px solid #e9b87540;display:inline-block;border-radius:4px}.terminal{margin-top:26px;padding:20px;background:#0d1410;border:1px solid #334137;border-radius:8px;font:14px/1.8 monospace;color:#b9d69e;min-height:280px}.terminal output{white-space:pre-wrap;display:block;overflow-wrap:anywhere}.terminal form{display:flex;align-items:center;gap:10px}.terminal input{width:100%;min-width:0;background:none;border:0;color:#e9efd9;font:inherit;padding:6px 0;outline:none}.project{padding:24px 0;border-bottom:1px solid var(--line)}.project small{font:11px monospace;color:var(--accent)}.project h3{margin-top:10px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid var(--line);border-radius:4px;padding:4px 8px;color:var(--muted);font-size:12px}.board-item{margin-top:24px;border-left:2px solid var(--accent);padding:0 0 0 18px}.board-item p{color:var(--muted);margin-bottom:0}#simple{max-width:1080px;margin:auto;padding:160px 6% 100px}#simple>.lead{max-width:600px}#simple-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:60px}#simple-content>article:first-child{grid-column:1/-1}#simple-content .terminal{max-width:680px}body.simple footer{position:relative}#scene-error{position:absolute;bottom:130px;left:10%;right:10%;text-align:center;color:var(--accent)}[hidden]{display:none!important}@media(min-width:1500px){.intro{left:7%}}@media(max-width:800px){header{height:90px}.intro{top:130px;left:6%;max-width:300px}.intro h1{font-size:38px}.intro>p:last-child{font-size:14px}.scene-label{display:none}.hotspot{font-size:12px;gap:8px;padding:9px 10px}.hint{bottom:76px;font-size:9px;letter-spacing:1px}.footer-right{display:none}#simple-content{grid-template-columns:1fr;gap:35px}#simple-content>article:first-child{grid-column:auto}.brand{font-size:12px;letter-spacing:1px}.brand-sub{font-size:9px}#view-toggle{padding:10px;font-size:12px}#view-toggle span{margin-left:8px}dialog{padding:24px}.eyebrow{font-size:10px}footer{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.content-link{color:var(--accent);font-size:14px;text-underline-offset:5px;display:inline-block;margin:16px 16px 0 0}.project-links:empty{display:none}
