:root{--paper:#fefbef;--pale:#fee0d8;--light:#ffb6ad;--mid:#f3897c;--deep:#dc837b;--accent:#8c8cad;--ink:#452320;--muted:#7a423c;--line:1.5px;--radius:14px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--term-bg:#140c0b;--term-text:#a58d88;--term-cmd:#ffb6ad;--on-term:#fee0d8;--strip:0px}@media (prefers-color-scheme:dark){:root{--paper:#2e1a18;--pale:#4a2724;--light:#6b3531;--mid:#8f4a43;--deep:#5c2e2a;--accent:#c4c5e3;--ink:#fee0d8;--muted:#e8b9b0}}@media (prefers-contrast:more){:root{--line:2.5px;--muted:var(--ink)}}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;transition:background-color .3s}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--term-bg);color:var(--ink);font:400 1.0625rem/1.6 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-underline-offset:3px}.hero{--col:calc(34rem + clamp(4rem, (100vw - 1000px) / 3 + 4rem, 16rem) + 24px);grid-template-columns:minmax(0, 1fr) minmax(0, var(--col));grid-template-rows:auto 1fr;column-gap:32px;padding-inline-end:40px;display:grid}.intro{flex-direction:column;grid-area:1/2;align-items:center;gap:28px;padding-block-start:40px;display:flex}.work{grid-area:2/2;align-self:start;padding-block:28px 72px}.term{top:var(--strip);height:calc(100dvh - var(--strip));color:var(--term-text);font:400 13px/1.55 var(--mono);flex-direction:column;grid-area:1/1/span 2;align-self:start;padding:16px 16px 52px;display:flex;position:sticky}.term-lines{white-space:pre-wrap;overflow-wrap:anywhere;flex-direction:column;flex:1;justify-content:flex-end;display:flex;overflow:hidden}.term-lines div{flex-shrink:0;min-height:1.55em}.term-lines .cmd{color:var(--term-cmd)}.term-cursor{color:var(--term-cmd);animation:1s step-end infinite term-blink}@keyframes term-blink{50%{opacity:0}}.term-input{width:calc(100% - 15ch);color:var(--term-cmd);caret-color:var(--term-cmd);font:inherit;background:0 0;border:0;outline:none;padding:0}.term.shell{cursor:text;padding-block-end:16px}.term:focus-within{outline:var(--line) solid var(--term-cmd);outline-offset:-6px;border-radius:var(--radius)}.term-stop{border:var(--line) solid var(--term-text);background:var(--term-bg);color:var(--term-text);font:inherit;cursor:pointer;border-radius:999px;padding:2px 10px;transition:transform .1s ease-out;position:absolute;inset-block-end:16px;inset-inline-end:16px}.term-stop:hover{color:var(--term-cmd);border-color:var(--term-cmd)}.term-stop:active{transform:scale(.95)}.shell .term-stop{display:none}.logo{align-items:center;gap:calc(var(--h) * .08);--h:150px;display:flex}.logo .scissors{height:var(--h);width:auto;display:block}.spin{--t:4;width:calc(var(--h) * 1.05);height:calc(var(--h) * 1.05);perspective:calc(var(--h) * 6);touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;display:block}.spin:active{cursor:grabbing}.spin .obj{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;position:relative}.spin img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.spin .face{backface-visibility:hidden}h2:lang(en){letter-spacing:-.02em}.card:focus-visible{outline:var(--line) solid var(--ink);outline-offset:3px}.ink{stroke:var(--ink);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.none{fill:none}.work header{color:var(--on-term);margin-block-end:14px;display:flex;position:relative}h2{margin:0;font-size:1.5rem;line-height:1.1}.work h2{cursor:default}.work h2:focus{outline:none}.work h2:focus-visible{outline:var(--line) solid var(--on-term);outline-offset:4px;border-radius:4px}.note{z-index:2;color:var(--ink);background:var(--paper);border:var(--line) solid var(--ink);white-space:nowrap;pointer-events:none;opacity:0;border-radius:999px;margin:0;padding:3px 10px;font-size:.8125rem;transition:opacity .15s ease-out,translate .15s ease-out;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-start:0;translate:0 -4px}.work h2:is(:hover,:focus)+.note{opacity:1;translate:0}.work section+section{margin-block-start:44px}.deck{--n:5;--w:min(12rem, (100vw - 80px - 4 * 12px) / var(--n));isolation:isolate;display:flex}.deck>.card:first-child{margin-inline-start:auto}.card{flex:0 0 var(--w);background:var(--paper);border:var(--line) solid var(--ink);border-radius:var(--radius);transform-origin:0;grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"title""pic""desc""status""tags";gap:10px;padding:14px;text-decoration:none;transition:margin-inline-start .45s cubic-bezier(.2,.8,.2,1),transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease-out,scale .1s ease-out;display:grid;overflow:hidden;transform:perspective(900px)rotateY(24deg)}.card+.card{margin-inline-start:min(-.45 * var(--w), (100% - var(--n) * var(--w)) / (var(--n) - 1));box-shadow:-14px 0 24px #140c0b73}.deck.open .card{transform:perspective(900px)rotateY(0)}.deck.open .card+.card{box-shadow:none;margin-inline-start:12px}@media (hover:hover){.deck:not(.music):is(:hover,:focus-within,:has(.picked)) .card{transform:perspective(900px)rotateY(0)}.deck:not(.music):is(:hover,:focus-within,:has(.picked)) .card+.card{box-shadow:none;margin-inline-start:12px}}.card:active{scale:.985}.card:hover h3{text-underline-offset:3px;text-decoration:underline}.card.picked{outline:var(--line) solid var(--ink);outline-offset:3px}.window{border:var(--line) solid var(--ink);border-radius:10px;grid-area:pic;overflow:hidden}.window svg{width:100%;height:auto;display:block}@property --fade{syntax:"<length>";inherits:false;initial-value:0}.deck.music{--w:13rem;scrollbar-width:none;pointer-events:none;justify-content:flex-start;margin-block:-16px;padding-block:16px;overflow:auto hidden}.deck.music .record{pointer-events:auto}@media (min-width:1000px){.deck.music{--left:calc(100vw - var(--col) - 40px - 24px);--fade:var(--left);-webkit-mask-image:linear-gradient(to right, transparent var(--fade), #000 calc(var(--fade) + 96px));mask-image:linear-gradient(to right, transparent var(--fade), #000 calc(var(--fade) + 96px));margin-inline-start:calc(-1 * var(--left));padding-inline-start:var(--left);transition:--fade .4s ease-out}.deck.music:is(:hover,:focus-within){--fade:-96px}}.deck.music::-webkit-scrollbar{display:none}.deck.music .card+.card{margin-inline-start:calc(var(--w) * -.62)}.deck.music .record{transform:translateX(var(--dx,0px)) perspective(900px) rotateY(calc(24deg * (1 - var(--flat,0))));transition:transform .35s cubic-bezier(.2,.8,.2,1),scale .1s ease-out}.card.record{aspect-ratio:1;background:0 0;border:0;border-radius:3px;padding:0;display:block;position:relative;overflow:visible}.record .sleeve{object-fit:cover;border-radius:3px;width:100%;height:100%;display:block;position:relative}.record .disc{background:conic-gradient(#ffffff24, transparent 12% 38%, #ffffff24 50%, transparent 62% 88%, #ffffff24), repeating-radial-gradient(circle, #0000002e 0 1px, transparent 1px 4px), radial-gradient(circle, var(--term-bg) 0 3%, var(--label) 3.5% 30%, var(--disc) 31%);transform:translateX(calc(-52% * var(--out,0))) rotate(calc(-160deg * var(--out,0)));border-radius:50%;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;inset:3%;box-shadow:0 0 0 1px #ffffff2e}.deck.music .record.up{--flat:1;z-index:1}.deck.music .record.up .disc{transform:translateY(-50%)rotate(160deg)}.playing{display:none}@media (hover:none){.playing{width:fit-content;min-height:1.6em;color:var(--ink);background:var(--paper);border:var(--line) solid var(--ink);opacity:0;border-radius:999px;margin:10px auto 0;padding:2px 12px;font-size:.8125rem;transition:opacity .15s ease-out;display:block}.playing.show{opacity:1}}.map{margin:0}.map .frame{aspect-ratio:1000/489;border:var(--line) solid var(--ink);border-radius:var(--radius);background:repeating-linear-gradient(135deg, var(--pale) 0 7px, var(--light) 7px 9px);place-items:center;display:grid;overflow:hidden}.map .frame:has(svg){aspect-ratio:auto;background:var(--pale);padding:10px 10px 0}.map svg{width:100%;height:auto;display:block;overflow:visible}.map path{fill:var(--paper);stroke:var(--ink);stroke-width:.6px;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;transition:fill .16s ease-out}.map .sphere{fill:var(--pale);stroke:none;cursor:default}.map path:is([data-name],[data-state]):hover{fill:var(--light)}.map .states{opacity:0;pointer-events:none;transition:opacity .25s ease-out}.map .frame.zoomed .states{opacity:1;pointer-events:auto}.map path.visited{fill:var(--mid)}.map path.picked{fill:var(--accent)}.map path:focus-visible{stroke-width:2px;outline:none}.map figcaption{color:var(--term-text);justify-content:space-between;gap:12px;margin-top:8px;font-size:.8125rem;display:flex}.map figcaption a{color:var(--term-cmd)}.map .picked-place{color:var(--on-term)}.window.blank{aspect-ratio:200/140;background:repeating-linear-gradient(135deg, var(--pale) 0 7px, var(--light) 7px 9px)}.window .ink{stroke:#452320}.card h3{overflow-wrap:anywhere;grid-area:title;margin:0;font-size:1.0625rem;line-height:1.25}.card p{grid-area:desc;margin:0;font-size:.875rem;line-height:1.45}.card .status{grid-area:status;justify-self:start}.tags{flex-wrap:wrap;grid-area:tags;gap:6px;display:flex}.tag{border:var(--line) solid var(--ink);background:var(--pale);border-radius:999px;padding:1px 8px;font-size:.75rem}[lang=ar]{letter-spacing:0;font-weight:600}footer{border-block-start:var(--line) solid var(--ink);background:var(--pale)}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:12px;max-width:68rem;margin-inline:auto;padding:24px 16px;font-size:.9375rem;display:flex}footer nav{gap:16px;display:flex}footer nav a{text-decoration:none}footer nav a:hover{text-decoration:underline}@media (max-width:999px){.hero{grid-template-rows:none;grid-template-columns:minmax(0,1fr);padding-inline-end:0}.intro,.work,.term{grid-area:auto/1}.intro{padding:32px 16px 24px}.work{padding:24px 16px 56px}.intro,.work,footer{z-index:1;position:relative}.term{inset:var(--strip) 0 0;align-self:stretch;height:auto;position:fixed}.term-input{font-size:16px}.logo{--h:110px}.work header{justify-content:center}.note{inset-inline-start:50%;transform:translate(-50%)}.work h2{background:var(--light);color:var(--ink);border:var(--line) solid var(--ink);border-radius:999px;padding:4px 16px}.deck{--w:min(15rem, 68vw)}.deck>.card:last-child{margin-inline-end:auto}.deck:not(.open,.music){padding-inline-start:calc(var(--w) * .14)}.hero{overflow-x:clip}.deck.music{--w:min(12rem, 48vw);padding-block-start:calc(var(--w) * .55)}.deck.open{scroll-snap-type:x mandatory;scrollbar-width:none;padding-block-end:8px;overflow-x:auto}.deck.open .card{scroll-snap-align:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:opacity .2s!important;animation:none!important}.card:active{scale:none}.term-stop:active{transform:none}}
.pcb{--b-ink:#452320;--b-paper:#fefbef;--b-mask:#fee0d8;--b-pour:#ffb6ad;--b-cu:#f3897c;--b-pad:#e96b5f;--b-body:#452320;--b-body2:#7a423c;--b-cap:var(--b-pour);--b-cap-hover:var(--b-body);background:var(--mid);border:var(--line) solid var(--ink);border-radius:calc(var(--radius) + 8px);width:100%;max-width:34rem;padding:14px}.pcb .board-svg{width:100%;height:auto;display:block;overflow:visible}.pcb .board{fill:var(--b-mask);stroke:var(--b-ink);stroke-width:1.5px}.pcb .pour{fill:var(--b-pour)}.pcb .clear{fill:none;stroke:var(--b-mask);stroke-linecap:round;stroke-linejoin:round}.pcb .clearfill{fill:var(--b-mask)}.pcb .spoke{fill:var(--b-pour)}.pcb .cu{fill:none;stroke:var(--b-cu);stroke-linecap:round;stroke-linejoin:round}.pcb .bot{fill:none;stroke:var(--b-cu);stroke-linecap:round;stroke-linejoin:round;opacity:.4}.pcb .pad,.pcb .via,.pcb .padring{fill:var(--b-pad)}.pcb .drill,.pcb .hole{fill:var(--b-ink)}.pcb .body{fill:var(--b-body);stroke:var(--b-ink);stroke-width:1px}.pcb .body.alt{fill:var(--b-body2)}.pcb .shell{fill:var(--b-paper);stroke:var(--b-ink);stroke-width:1px}.pcb .metal{fill:var(--b-paper)}.pcb .mark{fill:none;stroke:var(--b-ink);stroke-width:1px;stroke-linecap:round}.pcb .notch{fill:var(--b-pour);stroke:var(--b-ink);stroke-width:1px}.pcb .leddie{fill:var(--b-pad);animation:1.6s ease-in-out .8s 2 pcb-blink}.pcb .silk{fill:var(--b-ink);font:700 8px/1 var(--mono)}.pcb .silk.title,.pcb .silk.swlabel{letter-spacing:.08em;font-size:11px}.pcb .silkline{fill:none;stroke:var(--b-ink);stroke-width:1px;stroke-linejoin:round}.pcb .silkdot{fill:var(--b-ink)}.pcb .icmark{fill:var(--b-paper);font:700 7px/1 var(--mono);text-anchor:middle}.pcb .chipname{fill:var(--b-paper);font:600 28px/1 var(--font);letter-spacing:-.01em;text-anchor:middle}.pcb .sw{cursor:pointer}.pcb .sw .hit{fill:#0000}.pcb .sw .cap{fill:var(--b-cap);stroke:var(--b-ink);stroke-width:1px;transform-box:fill-box;transform-origin:50%;transition:transform .1s ease-out,fill .1s ease-out}.pcb .sw .capicon{fill:none;stroke:var(--b-ink);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:50%;transition:transform .1s ease-out,stroke .1s ease-out}.pcb .sw:hover .cap{fill:var(--b-cap-hover)}.pcb .sw:hover .capicon{stroke:var(--b-paper)}.pcb .sw:active .cap,.pcb .sw:active .capicon{transform:scale(.93)}.pcb .sw .ring{fill:none;stroke:var(--b-ink);stroke-width:1.5px;opacity:0}.pcb .sw:focus{outline:none}.pcb .sw:focus-visible .ring{opacity:1}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pcb .flow{fill:none;stroke:var(--b-paper);stroke-linecap:round;stroke-dasharray:12 52;opacity:.9;pointer-events:none;animation:4s linear infinite pcb-flow}.pcb .flow.slow{opacity:.5;stroke-dasharray:8 72;animation:9s linear infinite pcb-flow-slow}.pcb .flow.bot{opacity:0;transition:opacity .15s ease-out;animation:1.6s linear infinite paused pcb-flow-back}:is(.pcb:has(.sw.sw1:hover,.sw.sw1:focus-visible) .flow.sw1,.pcb:has(.sw.sw2:hover,.sw.sw2:focus-visible) .flow.sw2){opacity:.85;animation-play-state:running}@keyframes pcb-flow{to{stroke-dashoffset:-64px}}@keyframes pcb-flow-slow{to{stroke-dashoffset:-80px}}@keyframes pcb-flow-back{to{stroke-dashoffset:64px}}@keyframes pcb-blink{50%{opacity:.25}}.pcb .swled{fill:#e3342f;stroke:var(--b-ink);stroke-width:1px;animation:1.2s step-end infinite pcb-flash}.pcb .swglow{fill:#e3342f;opacity:.35;animation:1.2s step-end infinite pcb-glow}@keyframes pcb-flash{50%{fill:#7a1d18}}@keyframes pcb-glow{50%{opacity:0}}@media (min-width:1000px){.pcb{max-width:max(22rem, min(34rem, calc((100dvh - var(--strip) - 250px) * 1.24)))}}@media (max-width:999px){.pcb .ref,.pcb .icmark{display:none}.pcb .silk.swlabel{font-size:15px}.pcb .silk.title{font-size:13px}}.pcb .boom{fill:#0000;cursor:pointer}.pcb .boom:focus{outline:none}.pcb .boom:focus-visible{stroke:var(--b-paper);stroke-width:2px}.pcb .part{transform-box:fill-box;transform-origin:50%;transition:transform .65s cubic-bezier(.2,.7,.3,1),opacity .4s ease-out .25s}.pcb.burning .part:not(.mcu,.stay){transform:translate(var(--x), var(--y)) rotate(var(--r));opacity:0}.pcb .mcu .body{transition:fill .4s ease-out}.pcb.burning .mcu .body{fill:#1f0f0d}.pcb .fire{opacity:0;pointer-events:none;transition:opacity .3s ease-out}.pcb.burning .fire{opacity:1}.pcb .flame-out{fill:#e96b5f;stroke:var(--b-ink);stroke-width:1px;vector-effect:non-scaling-stroke}.pcb .flame-in{fill:#f2c109}.pcb .lick{transform-box:fill-box;transform-origin:50% 100%;animation:pcb-lick .26s ease-in-out var(--d) infinite alternate}.pcb .smoke{fill:#7a423c;opacity:0;transform-box:fill-box;transform-origin:50%;animation:pcb-smoke 1.6s ease-out var(--d) infinite}.pcb:not(.burning) :is(.lick,.smoke){animation-play-state:paused}.pcb.burning .board-svg{animation:.45s ease-out pcb-shake}.pcb.burning .flow{display:none}.pcb.burning :is(.swled,.swglow,.leddie){animation:none}.pcb.burning .swled{fill:#7a1d18}.pcb.burning .swglow{opacity:0}.pcb.burning .leddie{opacity:.25}@keyframes pcb-lick{0%{transform:scale(.9,.85)skew(-4deg)}to{transform:scale(1.05,1.15)skew(5deg)}}@keyframes pcb-smoke{0%{opacity:.6;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-40px)scale(2)}}@keyframes pcb-shake{20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}@media (prefers-reduced-motion:reduce){.pcb .leddie,.pcb .swled,.pcb .swglow,.pcb .lick,.pcb.burning .board-svg{animation:none}.pcb .smoke,.pcb .flow{display:none}.pcb .sw .cap,.pcb .sw .capicon{transition:none}}
