@charset "UTF-8";.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}os-boot.boot{position:fixed;inset:0;z-index:200;display:block;overflow:auto;cursor:default;background:#0d1510;color:#f2e9a0;font:14px/1.7 var(--font-code)}.boot-screen{max-width:820px;padding:clamp(24px,7vh,72px) clamp(18px,7vw,80px)}.boot-head{margin:0 0 18px;color:#bdb57c}.post{display:flex;gap:8px;margin:0}.post .k{min-width:76px}.post .dots{flex:0 0 90px;border-bottom:1px dotted #6f7a60;transform:translateY(-6px)}.post .ok{color:#9fd67a}.post>span:last-child{flex:1;min-width:0;overflow-wrap:anywhere}.post.muted{color:#8d9878;margin-top:10px}.boot .hint{margin-top:22px;color:#8d9878;font-size:12px}.boot .menu{margin-top:26px;border:1.6px solid #f2e9a0;padding:14px 16px 10px;max-width:560px}.menu-title{margin:0 0 10px;color:#bdb57c;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.boot .opt{display:grid;grid-template-columns:18px auto 1fr;gap:10px;align-items:baseline;width:100%;text-align:left;padding:6px 8px;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.boot .opt b{font-weight:700}.boot .opt .desc{color:#bdb57c;font-size:12px}.boot .opt.on{background:#f2e9a0;color:#0d1510}.boot .opt.on .desc{color:#3a3f2c}.boot .opt:focus-visible{outline:2px solid #ff6a4d;outline-offset:2px}@media(pointer:coarse){.boot .opt{min-height:44px;align-items:center}}.boot .reason{color:#ff6a4d;font-size:12px;margin:10px 0 0}.os-off{position:fixed;inset:0;display:grid;place-content:center;gap:6px;border:0;cursor:pointer;background:#0d1510;color:#f2e9a0;font:15px/1.5 var(--font-code);text-align:center}.os-off .muted{color:#8d9878;font-size:12px}.os-off:focus-visible{outline:2px solid #ff6a4d;outline-offset:-8px}.os{position:fixed;inset:0;overflow:hidden}.desk{position:absolute;inset:0 0 44px;padding:18px;background-image:linear-gradient(color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px);background-size:24px 24px;outline:1.6px solid var(--ink);outline-offset:-8px;border-radius:14px}.icons{list-style:none;margin:0;padding:8px;display:grid;grid-auto-flow:column;grid-template-rows:repeat(auto-fill,96px);grid-auto-columns:96px;gap:4px 10px;height:100%;align-content:start}@media(min-width:761px)and (max-height:880px){.icons{grid-template-rows:repeat(auto-fill,80px);gap:2px 10px;padding-top:2px}.icon{height:80px;gap:4px}.icon svg{width:34px;height:34px}}.icon{width:96px;height:96px;display:grid;justify-items:center;align-content:center;gap:6px;position:relative;border:1px solid transparent;background:none;color:var(--ink);cursor:pointer;padding:6px 4px;font:11px/1.2 var(--font-code);text-align:center}.icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}.icon small{position:absolute;top:8px;right:14px;color:var(--ink-soft)}.icon:hover{background:var(--red-wash);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.icon:hover svg{color:var(--red)}.icon:focus-visible{outline:2px solid var(--red);outline-offset:2px}.stickies{position:absolute;right:28px;top:28px;display:grid;gap:16px;justify-items:end;max-width:300px;color:var(--red)}.stickies app-hand.inked{display:block;padding:10px 14px;background:color-mix(in srgb,var(--body-fill) 70%,var(--paper));border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);box-shadow:3px 3px color-mix(in srgb,var(--ink) 25%,transparent)}.stickies app-hand:nth-child(odd){transform:rotate(-1.5deg)}.stickies app-hand:nth-child(2n){transform:rotate(1.2deg)}.wallmark{position:absolute;right:26px;bottom:16px;margin:0;font:10px/1 var(--font-code);color:var(--ink-faint)}.os.app-open .wallmark{visibility:hidden}.window{position:absolute;z-index:20;inset:5vh 7vw 62px;margin:0 auto;max-width:1180px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);background:var(--paper);border:var(--w-thick) solid var(--ink);box-shadow:6px 6px 0 var(--ink);outline:none}.window.win-full{inset:10px 10px 54px;max-width:none}.win-title{display:flex;align-items:center;gap:10px;height:34px;padding:0 12px;border-bottom:var(--w-thin) solid var(--ink);font:13px/1 var(--font-body)}.win-title .file{font:12px/1 var(--font-code);color:var(--ink-soft)}.win-title .dot{width:12px;height:12px;border-radius:50%;border:1.3px solid var(--ink);flex:none}.win-title .file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.win-title .win-close{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:var(--w-mid) solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;font:600 12px/1 var(--font-body)}.win-title .win-close .x{font-size:11px}.win-title .win-close:hover,.win-title .win-close:focus-visible{background:var(--red);border-color:var(--red);color:var(--paper)}.win-ghost{position:fixed;z-index:21;pointer-events:none;border:var(--w-thick) solid var(--ink);transform-origin:top left}.win-body{position:relative;overflow:auto;min-height:0}.win-body>:not(router-outlet):not(.win-loading){display:block;min-height:100%}.win-loading{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:12px;background:var(--paper);font:12px/1.4 var(--font-code);color:var(--ink-soft)}.win-loading .bar{width:180px;height:6px;border:1px solid var(--ink);background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 16px);background-size:32px 100%;animation:os-bar .8s linear infinite}@keyframes os-bar{to{background-position:32px 0}}.win-status{min-height:24px;padding:5px 12px;border-top:var(--w-thin) solid var(--ink);font:11px/1.2 var(--font-code);color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-stub{display:grid;place-items:center;min-height:240px;font:13px/1 var(--font-code);color:var(--ink-soft)}.taskbar{position:absolute;left:0;right:0;bottom:0;height:44px;z-index:30;display:flex;align-items:center;gap:6px;padding:0 8px;background:var(--paper-deep);border-top:var(--w-thick) solid var(--ink);font:12px/1 var(--font-code)}.taskbar .spacer{flex:1}.taskbar button{font:inherit;color:var(--ink);cursor:pointer}.taskbar .start{height:32px;min-width:44px;padding:0 10px;font:700 14px/1 var(--font-body);background:var(--ink);color:var(--paper);border:0}.taskbar .task{height:30px;padding:0 12px;background:var(--paper);border:var(--w-mid) solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.taskbar .tray{height:28px;padding:0 8px;background:none;border:var(--w-thin) solid color-mix(in srgb,var(--ink) 40%,transparent);display:inline-flex;align-items:center}.taskbar .tray.pad{color:var(--wire);border-color:var(--wire)}.taskbar .clock{padding:0 6px;color:var(--ink-soft)}.menu-backdrop{position:absolute;inset:0;z-index:39}.start-menu{position:absolute;z-index:40;left:8px;bottom:50px;width:min(340px,100vw - 16px);max-height:calc(100vh - 70px);overflow:auto;display:grid;padding:6px;background:var(--paper);border:var(--w-thick) solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.start-menu>button,.start-menu>a{display:grid;gap:2px;text-align:left;padding:8px 10px;border:0;background:none;color:var(--ink);text-decoration:none;font:700 13px/1.2 var(--font-body);cursor:pointer}.start-menu>button:hover,.start-menu>a:hover,.start-menu>button:focus-visible,.start-menu>a:focus-visible{background:var(--red-wash)}.start-menu small{font:400 11px/1.3 var(--font-body);color:var(--ink-soft)}.start-menu hr{border:0;border-top:var(--w-thin) solid var(--ink);margin:4px 0;width:100%}.os-toast{position:absolute;z-index:45;right:12px;bottom:56px;display:grid;gap:3px;text-align:left;max-width:300px;padding:10px 14px;cursor:pointer;background:var(--paper);color:var(--ink);border:var(--w-thick) solid var(--ink);box-shadow:4px 4px 0 var(--ink);font:12px/1.35 var(--font-code)}.os-toast b{color:var(--red)}@media(max-width:1100px){.window{inset:10px 10px 54px;max-width:none}}@media(max-width:760px),(pointer:coarse){.taskbar .start,.taskbar .task,.taskbar .tray{height:40px;min-width:40px;justify-content:center}.win-title{height:44px}.win-title .win-close{height:40px;padding:0 12px}.start-menu>button,.start-menu>a{min-height:44px}}@media(max-width:760px){.desk{padding:10px;outline-offset:-4px}.icons{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-template-rows:none;grid-auto-columns:auto;height:auto;justify-items:center}.stickies{position:static;margin-top:18px;max-width:none;justify-items:center}.window,.window.win-full{inset:0 0 44px;box-shadow:none;border-width:0}.taskbar .clock{display:none}}@media(prefers-reduced-motion:reduce){.win-loading .bar{animation:none}}@font-face{font-family:B612;src:url(/fonts/B612-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:B612;src:url(/fonts/B612-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:B612;src:url(/fonts/B612-Italic.ttf) format("truetype");font-style:italic;font-display:swap}@font-face{font-family:B612 Mono;src:url(/fonts/B612Mono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:B612 Mono;src:url(/fonts/B612Mono-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Osifont;src:url(/fonts/osifont.ttf) format("truetype");font-display:swap}:root{--paper: #ecf1e7;--paper-deep: #e0e8da;--ink: #1a1a18;--ink-soft: #54524c;--ink-faint: #8f8b80;--wire: #0a7a3c;--body: #840000;--body-fill: #fffcd0;--net: #1d34b8;--power: #c01f18;--red: #c4351f;--red-wash: rgba(196, 53, 31, .08);--w-thick: 1.6px;--w-mid: 1px;--w-thin: .6px;--font-body: "B612", "Helvetica Neue", Arial, sans-serif;--font-draft: "Osifont", "B612", sans-serif;--font-code: "B612 Mono", ui-monospace, monospace;--margin: clamp(10px, 1.6vw, 20px);--zone: 16px;color-scheme:light}:root[data-mode=pcb]{--paper: #0d1510;--paper-deep: #15211a;--ink: #f2e9a0;--ink-soft: #bdb57c;--ink-faint: #6f7a60;--wire: #c8554a;--body: #e8d33a;--body-fill: #1c2a20;--net: #6b8cff;--power: #ff6a4d;--red: #ff6a4d;--red-wash: rgba(255, 106, 77, .12);color-scheme:dark}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.09 0 0 0 0 0.08 0 0 0 0 0.07 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),var(--paper)}a{color:inherit;text-decoration-color:var(--red);text-decoration-thickness:1.5px;text-underline-offset:3px}a:hover{color:var(--red)}::selection{background:var(--red);color:var(--paper)}.frame{position:fixed;inset:var(--margin);z-index:50;pointer-events:none;border:var(--w-thick) solid var(--ink);border-radius:14px;outline:calc(var(--margin) + 4px) solid var(--paper)}.frame:before{content:none}.hole{position:absolute;width:22px;height:22px;border:1.4px solid var(--ink);border-radius:50%;background:var(--paper)}.hole:after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px dashed var(--ink-faint)}.hole.tl{top:8px;left:8px}.hole.tr{top:8px;right:8px}.hole.bl{bottom:8px;left:8px}.hole.br{bottom:8px;right:8px}.fid{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--ink-faint)}.fid.a{top:13px;left:42px}.fid.b{bottom:13px;right:42px}.edge-label{position:absolute;bottom:-1px;left:56px;transform:translateY(50%);background:var(--paper);padding:0 6px;font:10px/1 var(--font-code);color:var(--ink-soft)}.zones{display:none}.sheet{padding:calc(var(--margin) + var(--zone) + 18px) calc(var(--margin) + var(--zone) + 22px)}.title-block{position:fixed;z-index:60;right:calc(var(--margin) + var(--zone));bottom:calc(var(--margin) + var(--zone));width:min(420px,100vw - 2 * (var(--margin) + var(--zone)));display:grid;grid-template-columns:64px 1fr 1fr;background:var(--paper);border-top:var(--w-thick) solid var(--ink);border-left:var(--w-thick) solid var(--ink);font-size:11px;line-height:1.2}.title-block>*{border-right:var(--w-thin) solid var(--ink);border-bottom:var(--w-thin) solid var(--ink);padding:5px 7px;min-width:0}.title-block>*:nth-child(3n){border-right:0}.title-block label{display:block;font:8.5px/1 var(--font-draft);letter-spacing:.04em;color:var(--ink-soft);margin-bottom:3px;text-transform:uppercase}.title-block .logo{grid-row:span 2;display:grid;place-items:center;padding:6px}.title-block .logo img{width:44px;filter:grayscale(1) contrast(1.4)}.title-block .name{grid-column:span 2;font-weight:700;font-size:14px}.title-block .drawing-title{grid-column:span 2}.title-block strong{font-weight:600}.title-block .sheet-no strong{font:700 15px/1 var(--font-code)}.title-block a{pointer-events:auto}.title-block{transition:width .25s}.title-block.compact{grid-template-columns:auto 1fr auto;width:auto}.title-block.compact>:not(.keep){display:none}.title-block.compact>.keep{border-bottom:0}.title-block.compact .name{grid-column:auto;font-size:12.5px}.title-block.compact label{display:none}.btn:disabled{background:transparent;color:var(--ink-faint);border-style:dashed;border-color:var(--ink-faint);box-shadow:none;cursor:not-allowed;transform:none}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.035em;line-height:1.02}h1{font-size:clamp(2.3rem,5.2vw,4.6rem)}h2{font-size:clamp(1.7rem,3.2vw,2.6rem)}h3{font-size:1.05rem;letter-spacing:-.01em}.draft{font-family:var(--font-draft);letter-spacing:.02em}.code{font-family:var(--font-code);font-size:.82em}.muted{color:var(--ink-soft)}.sheet-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:18px;border-bottom:var(--w-thick) solid var(--ink)}.sheet-head .sheet-tag{position:relative;font:12px/1 var(--font-code);color:var(--net);white-space:nowrap;padding:5px 10px 5px 16px;border:1.2px solid var(--net);border-left:0;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);background:linear-gradient(var(--net),var(--net)) left/1.2px 100% no-repeat}.sheet-head .sheet-tag:before{content:"";position:absolute;left:0;top:0;bottom:0;width:11px;background:linear-gradient(to bottom right,transparent calc(50% - .7px),var(--net) 50%,transparent calc(50% + .7px)) top/100% 50% no-repeat,linear-gradient(to top right,transparent calc(50% - .7px),var(--net) 50%,transparent calc(50% + .7px)) bottom/100% 50% no-repeat}.redline{color:var(--red);font-family:var(--font-draft)}.cloud{position:relative;padding:0 .12em 6px;background:radial-gradient(circle at 50% 100%,transparent 5px,var(--red) 5.6px,var(--red) 6.4px,transparent 7px) 0 100%/12px 8px repeat-x}.note{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;color:var(--red);font:14px/1.35 var(--font-draft);max-width:36ch}.note b{display:inline-grid;place-items:center;width:20px;height:20px;border:1.2px solid var(--red);border-radius:50%;font-size:11px}.delta{display:inline-grid;place-items:center;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:15px solid var(--red);position:relative;vertical-align:-2px}.delta span{position:absolute;top:3px;left:-4px;width:8px;text-align:center;font:700 9px/1 var(--font-code);color:var(--paper)}table.spec{width:100%;border-collapse:collapse;font-size:13.5px}table.spec caption{text-align:left;font-weight:700;font-size:13px;padding:0 0 6px}table.spec th{text-align:left;font:600 10.5px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:7px 10px 7px 0;border-top:var(--w-thick) solid var(--ink);border-bottom:var(--w-mid) solid var(--ink)}table.spec td{padding:9px 10px 9px 0;border-bottom:var(--w-thin) solid color-mix(in srgb,var(--ink) 35%,transparent);vertical-align:top}table.spec tr:last-child td{border-bottom:var(--w-mid) solid var(--ink)}table.spec td.num,table.spec th.num{text-align:right;font-variant-numeric:tabular-nums}table.spec .pn{font:600 12px/1 var(--font-code);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;font:600 13px/1 var(--font-body);letter-spacing:.02em;color:var(--ink);text-decoration:none;background:var(--paper);border:var(--w-mid) solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer}.btn:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink);color:var(--ink)}.btn:active{transform:translate(3px,3px);box-shadow:none}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{color:var(--paper)}.field{display:grid;gap:4px;font:10.5px/1 var(--font-body);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.input,select.input{width:100%;padding:8px 2px 6px;font:15px/1.2 var(--font-code);color:var(--ink);background:transparent;border:0;border-bottom:var(--w-mid) solid var(--ink);border-radius:0}.input:focus{outline:none;border-bottom:2px solid var(--red);background:var(--red-wash)}:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media(max-width:760px){:root{--zone: 0px}.zones{display:none}.frame:before{display:none}.title-block{position:static;width:auto;margin:24px 0 0;border:var(--w-thick) solid var(--ink)}.sheet{padding-bottom:60px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.sheet{position:relative;padding-left:calc(var(--margin) + 78px);overflow-x:clip}.topbar{position:sticky;top:calc(var(--margin) + 2px);z-index:40;margin:0 0 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 0;background:var(--paper);border-bottom:var(--w-mid) solid var(--ink)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700}.brand img{width:30px}.hier{display:flex;gap:2px;flex-wrap:wrap;font:12px/1 var(--font-code)}.hier a{padding:6px 9px;text-decoration:none;color:var(--net);border:1px solid transparent}.hier a:hover,.hier a.on{border-color:var(--net)}.hier a:before{content:"\25b8  ";color:var(--ink-faint)}.topbar .right{margin-left:auto;display:flex;gap:8px;align-items:center}.mode{display:inline-flex;border:1px solid var(--ink);font:11px/1 var(--font-code)}.mode button{padding:6px 9px;border:0;background:transparent;color:var(--ink);cursor:pointer;font:inherit}.mode button.on{background:var(--ink);color:var(--paper)}.schematic{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:1}.schematic .w{fill:none;stroke:var(--wire);stroke-width:1.4;stroke-linecap:square}.schematic .bodyfill{fill:var(--body-fill);stroke:var(--body)}.schematic .solid{fill:var(--body);stroke:var(--body)}.schematic .jn{fill:var(--wire)}.schematic text{font:11px/1 var(--font-code);fill:var(--body)}.schematic text.val{fill:var(--ink-soft);font-size:10px}.schematic text.net{fill:var(--power);font-weight:700}.schematic .tap{opacity:.5;transition:opacity .4s}.schematic .tap.live{opacity:1;stroke:var(--power)}.schematic .current{fill:none;stroke:var(--power);stroke-width:2.2;stroke-dasharray:0 1000;opacity:.85;transition:stroke-dasharray .15s linear}.schematic text.netlbl{fill:var(--net);font-size:10.5px}.schematic .branch .br{transition:stroke .5s}.schematic .branch.live .br{stroke:var(--power)}.schematic .branch .bled .tri{transition:fill .4s}.schematic .branch.live .bled .tri{fill:var(--power)}.schematic .branch .bled .arr{opacity:.2}.schematic .branch.live .bled .arr{opacity:1;stroke:var(--power)}.schematic .led .tri{transition:fill .3s}.schematic.lit .led .tri,.schematic.hot .led .tri{fill:var(--power)}.schematic .led .arr{opacity:.25;transition:opacity .3s}.schematic.lit .led .arr,.schematic.hot .led .arr{opacity:1;stroke:var(--power)}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,3vw,48px);position:relative;z-index:2}.text-col>section{min-height:78vh;padding:5vh 0 9vh}.text-col>section.hero{min-height:92vh;padding-top:1vh}.sticky{position:sticky;top:calc(var(--margin) + 70px)}.sheet section.full{position:relative;z-index:2;padding:7vh 0}.viewer{border:var(--w-mid) solid var(--ink);background:var(--paper);display:grid;grid-template-rows:auto auto 1fr auto;height:min(70vh,640px)}.viewer .titlebar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:var(--w-mid) solid var(--ink);font:12px/1 var(--font-code)}.viewer .titlebar .dots{display:flex;gap:5px}.viewer .titlebar .dots i{width:9px;height:9px;border:1px solid var(--ink);border-radius:50%}.viewer .titlebar strong{font-weight:700}.viewer .titlebar span.file{color:var(--ink-soft)}.viewer .toolbar{display:flex;gap:2px;padding:4px 6px;border-bottom:var(--w-thin) solid var(--ink);font:11px/1 var(--font-code);flex-wrap:wrap}.viewer .toolbar button{padding:5px 8px;border:1px solid transparent;background:none;color:var(--ink);font:inherit;cursor:pointer}.viewer .toolbar button:hover{border-color:var(--ink-faint)}.viewer .toolbar button.on{border-color:var(--ink);background:var(--paper-deep)}.viewer .toolbar .sep{width:1px;background:var(--ink-faint);margin:2px 4px}.viewer .stage{position:relative;min-height:0;outline:none}.viewer .stage canvas{width:100%;height:100%;display:block}.viewer .stage.active{box-shadow:inset 0 0 0 2px var(--red)}.viewer .statusbar{display:flex;gap:14px;padding:5px 10px;border-top:var(--w-thin) solid var(--ink);font:11px/1.2 var(--font-code);color:var(--ink-soft);white-space:nowrap;overflow:hidden}.viewer .statusbar .state{color:var(--red);overflow:hidden;text-overflow:ellipsis}.viewer .hint{position:absolute;left:10px;bottom:8px;font:12px/1.2 var(--font-draft);color:var(--red);pointer-events:none;max-width:70%}.viewer .view-label{position:absolute;right:10px;bottom:8px;font:11px/1 var(--font-draft);pointer-events:none}.viewer.no-hotspots .balloon,.viewer.no-hotspots .leaders{display:none}.overlay{position:absolute;inset:0;pointer-events:none}.overlay .leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.overlay line{stroke:var(--ink);stroke-width:.8;transition:opacity .3s}.overlay circle{fill:var(--ink);transition:opacity .3s}.balloon{position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;padding:0;display:grid;place-items:center;background:var(--paper);border:1.2px solid var(--ink);color:var(--ink);font:12px/1 var(--font-draft);cursor:pointer;transition:opacity .3s,background .2s}.balloon:hover,.balloon:focus-visible{background:var(--ink);color:var(--paper)}.view-tip{position:absolute;left:0;top:0;margin:-34px 0 0 30px;padding:4px 8px;white-space:nowrap;background:var(--ink);color:var(--paper);font:11.5px/1.2 var(--font-body);opacity:0;transition:opacity .15s;pointer-events:none}.fw-pop{position:absolute;left:12px;top:12px;width:min(290px,100% - 24px);pointer-events:auto;background:var(--paper);border:1.2px solid var(--body);box-shadow:4px 4px 0 var(--body);font-size:13px;z-index:5}.fw-head{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;background:var(--body-fill);border-bottom:1px solid var(--body);color:var(--body)}.fw-head button{background:none;border:0;font-size:18px;cursor:pointer;color:var(--body)}.fw-list{display:grid;padding:6px;gap:2px}.fw-list button{text-align:left;padding:7px 9px;background:none;border:1px solid transparent;font:13px/1.2 var(--font-body);color:var(--ink);cursor:pointer}.fw-list button:hover,.fw-list button:focus-visible{border-color:var(--ink)}.fw-list button.on:after{content:" \b7  current";color:var(--ink-soft)}.fw-pop .log{margin:0;padding:6px 10px 8px;min-height:1.2em;font:11px/1.45 var(--font-code);color:var(--wire);white-space:pre-wrap}.kicker{font:12px/1.4 var(--font-code);color:var(--ink-soft);margin:0 0 14px}.lede{font-size:1.12rem;max-width:46ch;line-height:1.55;margin:22px 0}.detail{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:start;margin:26px 0}.detail figure{margin:0;position:relative}.detail img{width:150px;height:180px;object-fit:cover;display:block;border:1px solid var(--ink)}.detail figcaption{font:11px/1.2 var(--font-draft);margin-top:6px}.detail figure:before,.detail figure:after{content:"";position:absolute;width:12px;height:12px;border-color:var(--red);border-style:solid}.detail figure:before{top:-6px;left:-6px;border-width:1.2px 0 0 1.2px}.detail figure:after{top:174px;right:-6px;border-width:0 1.2px 1.2px 0}.dim{position:absolute;left:-22px;top:0;height:180px;border-left:1px solid var(--ink-faint);font:10px/1 var(--font-code);color:var(--ink-soft)}.dim span{position:absolute;top:50%;left:-8px;transform:rotate(-90deg) translate(50%);transform-origin:left;white-space:nowrap}.profile{margin:0;display:grid;grid-template-columns:26px max-content 1fr;gap:5px 10px;font:12.5px/1.3 var(--font-code)}.profile dt{color:var(--ink-faint)}.profile dd{margin:0;color:var(--net)}.profile .k{color:var(--ink-soft)}.online{font:11px/1 var(--font-code);color:var(--wire);margin-top:10px;display:flex;align-items:center;gap:6px}.online:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--wire);animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.25}}.notes{list-style:none;counter-reset:n;padding:0;margin:22px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.notes li{counter-increment:n;display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:13.5px}.notes li:before{content:counter(n);width:18px;height:18px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:10px/1 var(--font-code)}.notes strong{display:block;font-size:1.05rem}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cap-no{font:12px/1 var(--font-code);color:var(--ink-soft)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.tags span{font:11.5px/1 var(--font-code);padding:5px 7px;border:1px solid var(--body);color:var(--body);background:var(--body-fill)}.flow{margin:16px 0 0;font-size:13.5px}.flow b{display:block;font:11px/1 var(--font-code);color:var(--wire);margin-bottom:5px}p.body{max-width:54ch}.proj{min-height:72vh;padding:5vh 0;border-top:var(--w-thin) solid var(--ink)}.proj .item{display:flex;gap:12px;align-items:baseline;font:12px/1.2 var(--font-code);color:var(--ink-soft)}.proj .item b{font-size:1.6rem;color:var(--ink)}.proj h3{font-size:clamp(1.5rem,2.6vw,2.2rem);margin:10px 0 12px}.proj dl{display:grid;grid-template-columns:110px 1fr;gap:8px 14px;margin:14px 0;font-size:14px}.proj dt{font:11px/1.5 var(--font-code);color:var(--ink-soft)}.proj dd{margin:0}.proj.active h3{color:var(--red)}.proj .when{color:var(--red);font-family:var(--font-draft)}.mcu{max-width:100%;height:auto;display:block;margin:10px 0 20px;overflow:visible}.mcu .w{fill:none;stroke:var(--wire);stroke-width:1.4}.mcu .body{fill:var(--body-fill);stroke:var(--body);stroke-width:1.8}.mcu text{font:12px/1 var(--font-code)}.mcu .pname{fill:var(--body)}.mcu .pnum{fill:var(--ink-faint);font-size:10px}.mcu .ref{fill:var(--body);font-weight:700;font-size:14px}.mcu .val{fill:var(--ink-soft)}.mcu .chip-mark{fill:var(--ink-faint);font-size:11px}.mcu .pin:hover .pname{fill:var(--red)}.mcu .pin:hover .w{stroke:var(--red)}.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:10px}.groups h3{font-size:1rem;margin:4px 0 6px}.groups p{margin:0;font-size:13.5px;color:var(--ink-soft)}.big-link{font-size:clamp(1.3rem,2.4vw,2rem);font-weight:700}#led-anchor{height:1px}.footer-note{margin-top:40px;font-size:13px;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-bottom:180px}@media(max-width:900px){.layout{grid-template-columns:1fr}.view-col{order:-1;position:sticky;top:56px;z-index:3}.viewer{height:46vh}.text-col>section,.text-col>section.hero,.proj{min-height:0}.notes{grid-template-columns:1fr}}@media(max-width:760px){.sheet{padding-left:calc(var(--margin) + 14px)}.schematic{display:none}.detail{grid-template-columns:1fr}.dim{display:none}}.viewer .mapnote{position:absolute;left:10px;top:8px;white-space:pre-line;font:10px/1.4 var(--font-code);color:var(--ink-soft);pointer-events:none;max-width:60%}.viewer .statusbar .xy{overflow:hidden;text-overflow:ellipsis;min-width:0}.pad-toast{position:fixed;right:26px;bottom:74px;z-index:60;display:grid;gap:3px;text-align:left;max-width:300px;padding:10px 14px;background:var(--paper);color:var(--ink);border:var(--w-thick, 2px) solid var(--ink);box-shadow:4px 4px 0 var(--ink);font:12px/1.35 var(--font-code);cursor:pointer}.pad-toast b{color:var(--red);font-weight:700}.pad-toast span{color:var(--wire, var(--ink))}.pad-toast[hidden]{display:none}@media(max-width:600px){.viewer .mapnote{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 20px);height:1.4em}}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:8px 12px;background:var(--ink);color:var(--paper)}.skip-link:focus{left:calc(var(--margin) + 30px);top:calc(var(--margin) + 30px)}.resume-panel{position:absolute;z-index:65;right:calc(var(--margin) + var(--zone) + 22px);margin-top:8px;width:min(360px,100vw - 48px);padding:12px 16px 16px;background:var(--paper);border:var(--w-thick) solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.resume-panel .sheet-head{display:flex;align-items:center;justify-content:space-between}.resume-panel .close{border:0;background:none;font:20px/1 var(--font-code);color:var(--ink);cursor:pointer}.resume-panel .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}app-hand{display:inline-block;line-height:0;color:var(--red);vertical-align:bottom}app-hand:not(.inked){display:none}app-hand svg{display:block;overflow:visible;max-width:100%}.sheet-head:has(>app-hand.margin-note.inked){position:relative}.sheet-head>app-hand.margin-note{position:absolute;right:0;bottom:5px;z-index:1;max-width:45%;pointer-events:none}.sheet-head>app-hand.margin-note svg{height:52px;width:auto}section.full>.sheet-head>app-hand.margin-note{right:132px}@media(max-width:1100px){.sheet-head>app-hand.margin-note,section.full>.sheet-head>app-hand.margin-note{position:static;margin-left:auto;align-self:flex-end;max-width:62%}.sheet-head>app-hand.margin-note svg{height:36px}}.title-block .name:has(>app-hand.inked)>.typed{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.title-block .name>app-hand{max-width:100%}.title-block .name>app-hand svg{height:30px;width:auto}.title-block.compact .name>app-hand{max-width:150px}.title-block.compact .name>app-hand svg{height:18px}table.field-notes .note-text{color:var(--red);font:15px/1.4 var(--font-draft)}
