.desk{--dock-h:48px;color:var(--d-ink);background:var(--desk);transition:opacity .7s var(--ease), filter .7s var(--ease), transform .7s var(--ease);position:fixed;inset:0;overflow:hidden}html[data-view=overview] .desk{opacity:0;filter:blur(14px);visibility:hidden;pointer-events:none;transition:opacity .7s var(--ease), filter .7s var(--ease), transform .7s var(--ease), visibility 0s .7s;transform:scale(1.05)}.wall{background:radial-gradient(55% 65% at 80% 12%, var(--wall-1), transparent 62%), radial-gradient(45% 55% at 8% 100%, var(--wall-2), transparent 62%), radial-gradient(35% 45% at 52% 58%, var(--wall-3), transparent 62%), var(--desk);position:absolute;inset:0}.wall:before{content:"";background-image:radial-gradient(var(--wall-dot) 1px, transparent 1.3px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 90%);mask-image:linear-gradient(#000 0%,#0000 90%)}.wall:after{content:"";opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.wall-name{left:calc(var(--gutter) - .06em);bottom:calc(var(--dock-h) + .05em);letter-spacing:-.055em;color:#0000;-webkit-text-stroke:1px var(--wall-stroke);white-space:nowrap;user-select:none;font-size:clamp(64px,11.5vw,230px);font-weight:600;line-height:.82;position:absolute}.wall-meta{right:var(--gutter);bottom:calc(var(--dock-h) + 22px);text-align:right;color:color-mix(in oklab, currentColor 45%, transparent);font-size:12px;line-height:1.6;position:absolute}.icons{top:calc(var(--bar-h) + 18px);bottom:calc(var(--dock-h) + 18px);pointer-events:none;grid-template-rows:repeat(auto-fill,100px);grid-auto-columns:96px;grid-auto-flow:column;align-content:start;gap:4px 8px;margin:0;padding:0;list-style:none;display:grid;position:absolute}.icons>li{pointer-events:auto;width:96px}.icons-projects{left:var(--gutter);right:140px}.icons-sys{right:var(--gutter);grid-auto-columns:108px}.icons-sys>li,.icons-sys .icon{width:108px}.icon{width:96px;color:inherit;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:8px 4px 6px;text-decoration:none;display:flex;position:relative}.icon-img{filter:drop-shadow(0 6px 10px #00000059);width:60px;height:52px;transition:transform .3s var(--ease-out);place-items:center;display:grid}.icon-img svg{width:60px;height:auto}.icon:hover .icon-img{transform:translateY(-2px)}.icon-label{max-width:100%;font-family:var(--font-mono);text-align:center;text-shadow:var(--d-shadow);overflow-wrap:anywhere;border-radius:5px;padding:1px 6px;font-size:12px;line-height:1.3}.icon.is-selected{background:color-mix(in oklab, currentColor 10%, transparent)}.icon.is-selected .icon-label{color:#fff;text-shadow:none;background:#2448f0}.icon:focus-visible{outline-offset:0;outline:2px solid}.icon.is-dragging{z-index:5;opacity:.85;transition:none}.icon.is-dragging .icon-img{transform:scale(1.06)}.tip{z-index:30;color:#fff;backdrop-filter:blur(10px);pointer-events:none;opacity:0;background:#0a0d13c7;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:2px;max-width:290px;padding:10px 14px 12px;transition:opacity .15s;display:flex;position:fixed;top:0;left:0}.tip.is-visible{opacity:1}.tip-kicker{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;opacity:.6;font-size:11px}.tip-title{font-size:16px;font-weight:500}.tip-text{opacity:.82;margin-top:2px;font-size:13px;line-height:1.4}.desk-hint{left:50%;bottom:calc(var(--dock-h) + 18px);backdrop-filter:blur(6px);letter-spacing:.02em;white-space:nowrap;pointer-events:none;z-index:15;background:#00000073;border-radius:999px;padding:8px 16px;font-size:13px;transition:opacity .4s;position:absolute;transform:translate(-50%)}.desk.has-explored .desk-hint{opacity:0}.dock{z-index:20;height:var(--dock-h);padding:0 var(--gutter);background:var(--d-glass);backdrop-filter:blur(16px)saturate(1.3);border-top:1px solid var(--d-line);align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;bottom:0;left:0;right:0}.dock-start{width:34px;height:30px;font:600 12px/1 var(--font-mono);color:var(--term-green);background:var(--term-bg);border:1px solid var(--d-line);border-radius:8px;flex:none;place-items:center;display:grid}.dock-start:hover{background:var(--term-bar)}.dock-items{scrollbar-width:none;gap:6px;min-width:0;display:flex;overflow-x:auto}.dock-item{max-width:190px;height:30px;font-family:var(--font-mono);background:color-mix(in oklab, currentColor 5%, transparent);border:1px solid #0000;border-radius:8px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:12px;transition:background-color .2s,opacity .2s;display:inline-flex}.dock-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dock-item:before{content:"";background:var(--fc,var(--term-green));border-radius:2px;flex:none;width:7px;height:7px}.dock-item:hover{background:color-mix(in oklab, currentColor 10%, transparent)}.dock-item.is-active{background:color-mix(in oklab, currentColor 14%, transparent);border-color:color-mix(in oklab, currentColor 12%, transparent)}.dock-item.is-min{opacity:.55}.clock{font-family:var(--font-mono);opacity:.8;white-space:nowrap;flex:none;margin-left:auto;font-size:12px}.windows{z-index:10;pointer-events:none;position:absolute;inset:0}.win{min-width:320px;max-width:100%;min-height:200px;color:var(--ink);background:var(--paper);resize:both;pointer-events:auto;box-shadow:0 30px 80px -24px #000000b3, 0 0 0 1px var(--win-ring);border-radius:12px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.win:not(.is-active){box-shadow:0 18px 50px -24px #0009, 0 0 0 1px var(--win-ring)}.win[hidden]{display:none}.win-bar{background:var(--win-bar);border-bottom:1px solid var(--line);height:40px;font-family:var(--font-mono);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:none;align-items:center;gap:10px;padding:0 6px 0 14px;font-size:12.5px;display:flex}.win:not(.is-active) .win-bar{color:var(--muted)}.win.is-dragging .win-bar{cursor:grabbing}.win-dot{background:var(--fc,var(--muted));border-radius:3px;flex:none;width:9px;height:9px}.win-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.win-btns{gap:2px;display:flex}.win-btns button{width:32px;height:28px;color:inherit;border-radius:6px;place-items:center;transition:background-color .15s,color .15s;display:grid}.win-btns svg{width:14px;height:14px}.win-btns button:hover{background:color-mix(in oklab, currentColor 10%, transparent)}.win-btns [data-act=close]:hover{color:#fff;background:#e5484d}.win-body{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.win.is-max{resize:none;border-radius:0;left:0!important;top:var(--bar-h)!important;width:100%!important;height:calc(100% - var(--bar-h) - var(--dock-h))!important}.win.is-anim{transition:left .35s var(--ease-out), top .35s var(--ease-out), width .35s var(--ease-out), height .35s var(--ease-out), border-radius .35s}.pw-cover{border-bottom:1px solid var(--line);height:clamp(90px,22%,150px)}.pw-cover-fill{height:100%}.pw-main{max-width:720px;padding:22px 26px 34px}.pw h2{margin-top:8px;font-size:clamp(26px,2.4vw,36px)}.pw-summary{color:var(--muted);margin-top:8px;font-size:1.05rem}.pw .tags{margin-top:16px}.pw-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.pw-readme{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.pw-file{margin-bottom:14px}.fw{padding:20px 22px 26px}.fw-foot{color:var(--muted);margin-top:14px;font-size:.9rem}.win-terminal{background:var(--term-bg);color:var(--term-ink);box-shadow:0 30px 80px -24px #000c,0 0 0 1px #ffffff1a}.win-terminal:not(.is-active){box-shadow:0 18px 50px -24px #0009,0 0 0 1px #ffffff14}.win-terminal .win-bar{background:var(--term-bar);color:var(--term-dim);border-color:#ffffff12}.win-terminal.is-active .win-bar{color:var(--term-ink)}.win-terminal .win-btns button:hover{background:#ffffff14}.win-terminal .win-body{flex-direction:column;display:flex;overflow:hidden}.term{min-height:0;font-family:var(--font-mono);cursor:text;scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex:1;padding:14px 16px 10px;font-size:13.5px;line-height:1.6;overflow-y:auto}.term-out p{white-space:pre-wrap;word-break:break-word}.term-out .cmd{margin-top:.55rem}.term-out .cmd:first-child{margin-top:0}.term .dim{color:var(--term-dim)}.term .ok{color:var(--term-green)}.term .k{color:var(--term-pink)}.term .b{color:var(--term-blue)}.term .y{color:var(--term-amber)}.term a,.term .t-link{color:var(--term-blue);font:inherit;cursor:pointer;border-bottom:1px dashed;text-decoration:none}.term .t-link.dir{color:var(--term-blue)}.term a:hover,.term .t-link:hover{color:#fff}.term-line{align-items:baseline;gap:.6ch;margin-top:.55rem;display:flex}.prompt{color:var(--term-dim);white-space:nowrap}.prompt .u{color:var(--term-green)}.prompt .p{color:var(--term-blue)}.term-line input{min-width:0;color:var(--term-ink);font:inherit;caret-color:var(--term-green);background:0 0;border:0;outline:0;flex:1;padding:0}.term-chips{scrollbar-width:none;border-top:1px solid #ffffff12;flex:none;gap:6px;padding:9px 14px 11px;display:flex;overflow-x:auto}.term-chips button{font:12px/1.3 var(--font-mono);color:var(--term-ink);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex:none;padding:4px 9px;transition:background-color .2s}.term-chips button:hover{background:#ffffff21}.term :focus-visible,.term-chips :focus-visible{outline-color:var(--term-green)}@media (width<=760px),(pointer:coarse) and (orientation:portrait){.icons-projects{top:calc(var(--bar-h) + 22px);grid-template-rows:none;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));grid-auto-columns:auto;grid-auto-flow:row;gap:14px 4px;bottom:auto;left:12px;right:12px}.icons-sys{top:auto;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));background:color-mix(in oklab, currentColor 8%, transparent);backdrop-filter:blur(16px);border:1px solid var(--d-line);border-radius:22px;grid-template-rows:none;grid-auto-columns:1fr;grid-auto-flow:column;padding:8px 4px}.icons>li,.icon,.icons-sys>li,.icons-sys .icon{width:auto}.icon-label{overflow-wrap:normal;font-size:11px}.icons-sys .icon-label{font-size:10px}.wall-name{white-space:normal;font-size:21vw;line-height:.85;bottom:132px}.wall-meta,.dock{display:none}.desk-hint{font-size:12px;bottom:128px}.win,.win.is-max{resize:none;border-radius:0;min-width:0;left:0!important;top:var(--bar-h)!important;width:100%!important;height:calc(100% - var(--bar-h))!important}.win-bar{cursor:default;height:46px}.win-btns [data-act=min],.win-btns [data-act=max]{display:none}.win-btns button{width:40px;height:36px}.pw-main{padding:20px 18px 40px}.term{font-size:13px}.tip{display:none}}.overview{min-height:100vh;padding:calc(var(--bar-h) + clamp(24px, 4vw, 56px)) var(--gutter) clamp(40px, 5vw, 80px);opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .7s}html[data-view=overview] .overview{opacity:1;visibility:visible;transition:opacity .6s .1s}html[data-view=desktop] .overview{height:100vh;overflow:hidden}.ov-head,.ov-card{opacity:0;transition:opacity .4s ease, transform .5s var(--ease);transform:translateY(28px)}html[data-view=overview] .ov-head,html[data-view=overview] .ov-card{opacity:1;transition:opacity .6s ease, transform .8s var(--ease);transition-delay:calc(.2s + var(--i,0) * 70ms);transform:none}html[data-view=overview] .ov-head{transition-delay:.12s}.ov-head{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:clamp(20px,4vw,64px);margin-bottom:clamp(28px,4vw,56px);padding-bottom:clamp(24px,3vw,44px);display:grid}.ov-title{letter-spacing:-.05em;text-transform:uppercase;font-size:clamp(48px,8vw,150px);line-height:.85}.ov-intro{flex-direction:column;justify-self:end;gap:14px;max-width:34rem;font-size:clamp(16px,1.2vw,19px);line-height:1.5;display:flex}.ov-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,48px) clamp(14px,1.6vw,28px);margin:0;padding:0;list-style:none;display:grid}.ov-link{flex-direction:column;height:100%;text-decoration:none;display:flex}.ov-cover{aspect-ratio:16/11;border-radius:var(--radius);border:1px solid var(--line);transition:transform .6s var(--ease-out);overflow:hidden}.ov-cover-fill{height:100%}.ov-link:hover .ov-cover{transform:translateY(-4px)}.ov-row{align-items:flex-end;gap:14px;margin-top:-.55em;font-size:clamp(44px,4.6vw,88px);display:flex}.ov-num{letter-spacing:-.04em;background:var(--paper);border-top-right-radius:12px;padding:0 .12em 0 0;font-weight:500;line-height:.9;position:relative}.ov-rule{background:var(--rule);flex:1;height:1px;margin-bottom:.18em}.ov-row .kicker{margin-bottom:.32em;font-size:12px}.ov-card h3{text-transform:uppercase;letter-spacing:-.01em;margin-top:14px;font-size:clamp(20px,1.6vw,26px)}.ov-summary{color:var(--muted);flex:1;margin-top:8px;font-size:.98rem}.ov-card .tags{margin-top:14px}.ov-foot{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(48px,6vw,96px);padding-top:24px;display:flex}@media (width<=1100px){.ov-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.ov-head{grid-template-columns:minmax(0,1fr)}.ov-intro{justify-self:start}.ov-grid{grid-template-columns:minmax(0,1fr)}}.boot{z-index:100;color:#fff;backdrop-filter:blur(28px);cursor:pointer;transition:backdrop-filter 1.2s var(--ease), -webkit-backdrop-filter 1.2s var(--ease), background-color 1.2s var(--ease), opacity .5s ease .9s;background:#0a0d1366;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}html[data-boot-seen] .boot,html[data-view=overview] .boot{display:none}.boot.is-leaving{backdrop-filter:blur();opacity:0;pointer-events:none;background-color:#0a0d1300}.boot-inner{width:100%;transition:opacity .6s ease, transform 1.2s var(--ease);flex-direction:column;display:flex}.boot.is-leaving .boot-inner{opacity:0;transform:scale(1.03)}.boot-name,.boot-sub{text-transform:uppercase;font-size:clamp(13px,1.4vw,26px);font-weight:500}.boot-name{margin-left:var(--gutter)}.boot-sub{margin-right:var(--gutter);text-transform:none;align-self:flex-end;font-weight:400}.boot-rule{height:1px;transition:transform 1.1s var(--ease);background:currentColor;display:block;transform:scaleX(0)}.boot-rule-1{width:32vw;margin:1.2vw 0 .3vw var(--gutter);transform-origin:0}.boot-rule-2{margin:.4vw var(--gutter) 1.3vw 34vw;transform-origin:100%}.boot-title{letter-spacing:-.04em;text-transform:uppercase;opacity:0;margin-left:18vw;font-size:clamp(48px,8vw,150px);font-weight:500;line-height:1;transition:opacity .9s .25s,transform .9s .25s;transform:translateY(20px)}.boot.is-ready .boot-rule{transform:scaleX(1)}.boot.is-ready .boot-title{opacity:1;transform:none}.boot-caret{vertical-align:-.15em;background:var(--term-green);width:.55em;height:1.05em;margin-left:.2em;animation:1.05s steps(2,start) infinite blink;display:inline-block}@keyframes blink{to{visibility:hidden}}@media (width<=640px){.boot-rule-1{width:55vw}.boot-title{margin-left:10vw}.boot-rule-2{margin:4px var(--gutter) 10px 30vw}}
