:root{--g:#39ff14;--g-dim:#27b80c;--g-faint:#0f3d06;--bg:#020602;--panel:#020602e0;--glow:0 0 3px #39ff1473;--font:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--g);font:14px/1.5 var(--font);text-shadow:var(--glow);margin:0;overflow:hidden}body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit;text-shadow:inherit;cursor:pointer;background:0 0;border:0;padding:0}p,pre{margin:0}pre{font:inherit;white-space:pre-wrap}a{color:inherit}[hidden]{display:none!important}::selection{background:var(--g);color:var(--bg);text-shadow:none}.dim,.ps1{color:var(--g-dim)}@keyframes blink{50%{opacity:0}}.box{background:var(--panel);border:1px solid var(--g-faint);padding:6px 10px}.btn{border:1px solid var(--g-dim);padding:2px 10px;text-decoration:none;display:inline-block}.btn span,#back span{color:var(--g-dim);margin-left:6px}.btn:hover,.btn:focus-visible,#back:hover{background:var(--g);color:var(--bg);text-shadow:none;outline:none}.btn:hover span,#back:hover span{color:var(--bg)}@media (hover:none){.btn span,#back span{display:none}}#scene{touch-action:none;cursor:grab;width:100%;height:100%;image-rendering:pixelated;display:block;position:fixed;inset:0}#scene:active{cursor:grabbing}#labels{pointer-events:none;position:fixed;inset:0}.mark{--c:var(--g-dim);--l:13px;filter:drop-shadow(1px 1px #000000d9);width:56px;height:56px;display:none;position:absolute}.mark.show{display:block}.mark:before{content:"";background:linear-gradient(var(--c) 0 0) 0 0 / var(--l) 2px, linear-gradient(var(--c) 0 0) 0 0 / 2px var(--l), linear-gradient(var(--c) 0 0) 100% 0 / var(--l) 2px, linear-gradient(var(--c) 0 0) 100% 0 / 2px var(--l), linear-gradient(var(--c) 0 0) 0 100% / var(--l) 2px, linear-gradient(var(--c) 0 0) 0 100% / 2px var(--l), linear-gradient(var(--c) 0 0) 100% 100% / var(--l) 2px, linear-gradient(var(--c) 0 0) 100% 100% / 2px var(--l);background-repeat:no-repeat;position:absolute;inset:0}.mark.hot{--c:var(--g);--l:18px}.mark.hot:before{animation:.24s steps(3,end) lock}@keyframes lock{0%{inset:-10px}}.tag{white-space:nowrap;pointer-events:auto;background:var(--panel);border:1px solid var(--g-faint);margin-bottom:4px;padding:1px 6px;position:absolute;bottom:100%;left:0}.tag span{color:var(--g-dim)}.mark.hot .tag{background:var(--g);color:var(--bg);text-shadow:none}.mark.hot .tag span{color:var(--bg)}.mark.hot .tag:after{content:"_";animation:1s step-end infinite blink}#hint{left:50%;bottom:max(20px, env(safe-area-inset-bottom));white-space:nowrap;pointer-events:none;font-size:12px;transition:opacity .4s steps(4,end);position:fixed;transform:translate(-50%)}#hint.gone,body.zoomed #hint{opacity:0}#back{top:max(16px, env(safe-area-inset-top));z-index:20;position:fixed;left:16px}body.screen-full #back{display:none}#card{width:min(380px,100vw - 32px);padding:12px 14px;position:fixed;bottom:16px;left:16px}#card p+p{margin:4px 0 12px}#card .rows{margin-top:8px}#card .rows a{gap:12px;margin:0 -4px;padding:1px 4px;text-decoration:none;display:flex}#card .rows span{width:80px;color:var(--g-dim);flex:none}#card .rows a:hover{background:var(--g);color:var(--bg);text-shadow:none}#card .rows a:hover span{color:var(--bg)}#loader,#lost{z-index:50;background:var(--bg);text-align:left;width:100%;padding:24px;display:block;position:fixed;inset:0}#loader pre:after{content:"_";animation:1s step-end infinite blink}#loader.done{opacity:0;pointer-events:none;transition:opacity .5s steps(5,end)}#lost{z-index:70}#debug{z-index:60;font-size:12px;position:fixed;bottom:12px;left:12px}#debug:after{content:" · " attr(data-view)}#screen{z-index:10;transform-origin:0 0;background:var(--bg);opacity:0;transition:opacity .6s steps(6,end);position:fixed;top:0;left:0;overflow:hidden}#screen.on{opacity:1}#screen.full{border:1px solid var(--g-dim);inset:24px}#screen-inner{width:100%;height:100%}.term{height:100%;font-size:15px;line-height:1.55;container-type:size}.term section{height:100%}.home{cursor:pointer;font-size:15px;font-size:calc(2.3cqw * var(--home-scale,1));flex-direction:column;padding:3.2cqw 3.6cqw;line-height:1.5;display:flex}.boot p{white-space:pre-wrap}.home .hint{color:var(--g-dim);margin-top:auto}.home:hover .hint{color:var(--g)}.live .t:after,.pane .cmd:last-of-type .t:after{content:"█";margin-left:.2em;animation:1.1s step-end infinite blink}.full{flex-direction:column;display:flex}.tbar{border-bottom:1px solid var(--g-faint);flex:none;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.path{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--g-dim);flex:1;overflow:hidden}.path b{color:var(--g);font-weight:400}.pane{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-color:var(--g-dim) var(--bg);flex:1;padding:20px 24px 40px;overflow:auto}.cmd{margin:0 0 8px}.whoami{max-width:72ch;margin-bottom:24px}.whoami b{font-weight:500}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px 16px;display:grid}.proj{text-align:left;align-self:start;width:100%;display:block}.thumb{aspect-ratio:4/3;border:1px solid var(--g-faint);background:#000;position:relative;overflow:hidden}.thumb img,.thumb video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.nosig{height:100%;color:var(--g-dim);background:repeating-linear-gradient(0deg, #041208 0 2px, var(--bg) 2px 4px);place-items:center;display:grid}.name{margin-top:6px}.proj .dim{font-size:12px}.proj:hover .thumb,.proj:focus-visible .thumb{border-color:var(--g)}.proj:hover .name,.proj:focus-visible .name{background:var(--g);color:var(--bg);text-shadow:none;display:inline-block}.proj:focus-visible{outline:none}.detail{max-width:880px}.detail h2{margin:16px 0 2px;font-size:22px;font-weight:500}.detail .copy{max-width:70ch;margin:14px 0}.detail .copy p+p{margin-top:8px}.detail .sub{margin-top:10px}.actions .btn{margin:4px 8px 4px 0}#card .mail{align-items:center;gap:8px;margin-top:12px;display:flex}#card input{min-width:0;font:inherit;color:var(--g);text-shadow:var(--glow);border:0;border-bottom:1px solid var(--g-dim);caret-color:var(--g);background:0 0;outline:none;flex:1;padding:2px 0}#card input::placeholder{color:var(--g-faint)}#card input:focus{border-bottom-color:var(--g)}.gallery{gap:16px;margin:20px 0;display:grid}figure{margin:0}figure img,figure video{border:1px solid var(--g-faint);background:#000;width:100%;display:block}figcaption{color:var(--g-dim);margin-top:4px;font-size:12px}.embed{aspect-ratio:16/9;border:1px solid var(--g-faint);position:relative}.embed.site{aspect-ratio:16/10;background:#fff}.embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (width<=700px){#screen.full{inset:10px}.pane{padding:14px 14px 32px}.grid{grid-template-columns:1fr 1fr;gap:16px 12px}.term{font-size:14px}}@media (width<=420px){.grid{grid-template-columns:1fr}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}
