body[data-page=works]:has(.fl){overflow:hidden}.fl{position:fixed;inset:0;z-index:2;--panel: rgba(26, 21, 19, .93);--line: #3a322d;--gold: #e2b35c}.fl-canvas{position:absolute;inset:70px 0 0;width:100%;height:calc(100% - 70px);display:block;touch-action:none;image-rendering:pixelated}.fl.placing .fl-canvas{cursor:crosshair}.fl button{font:inherit;color:inherit}.fl .lbl,.fl .k{font:500 10.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.fl-top{position:absolute;left:var(--gutter);right:var(--gutter-r);top:78px;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 24px;pointer-events:none}.fl-top>*{pointer-events:auto}.fl-where,.fl-order,.fl-ctl{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 14px}.fl-back{font:500 11px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-2);text-decoration:none}.fl-back:hover{color:var(--ivory)}.fl-title{margin:4px 0 0;font:560 24px/1 var(--display)}.fl-order{display:grid;gap:6px;min-width:min(360px,100%)}.meter{display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:10px}.meter .bar{height:8px;border-radius:4px;background:#2e2723;overflow:hidden}.meter .bar b{display:block;height:100%;width:0;background:var(--ivory-2);transition:width .3s}.meter .bar b.red{background:#b8492a}.meter .num{font:500 13px/1 IBM Plex Sans,system-ui,sans-serif;font-variant-numeric:tabular-nums}.fl .sw{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}.fl .sw.sumi{background:#0e0c0b;box-shadow:0 0 0 1px #6d655b}.fl .sw.red{background:#8f2e14}.fl-order .note{margin:0;font-size:12.5px;color:var(--muted)}.fl-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.fl-ctl p{margin:0;font:500 13px/1 IBM Plex Sans,system-ui,sans-serif;font-variant-numeric:tabular-nums}.fl-power .short{color:#e8836a}.fl .seg{display:inline-flex;padding:2px;border:1px solid var(--line);border-radius:999px}.fl .seg button{appearance:none;border:0;background:none;cursor:pointer;padding:5px 9px;border-radius:999px;font:500 11px/1 var(--mono);color:var(--ivory-2)}.fl .seg button[aria-pressed=true]{background:var(--ivory);color:var(--ground)}.fl .ghost{appearance:none;cursor:pointer;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:none;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-2)}.fl .ghost:hover{color:var(--ivory);border-color:var(--muted)}.fl-side{position:absolute;left:var(--gutter);top:178px;bottom:112px;width:290px;display:flex;flex-direction:column;gap:10px;pointer-events:none}.fl-side>*{pointer-events:auto}.fl-steps{flex:0 1 auto;min-height:0;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 14px 12px}.fl-steps-head{appearance:none;display:flex;width:100%;justify-content:space-between;align-items:baseline;background:none;border:0;padding:0;cursor:pointer;font:500 11px/1.2 var(--mono)!important;letter-spacing:.12em;text-transform:uppercase}.fl-steps-head .count{color:var(--muted)}.fl-steps ol{margin:10px 0 0;padding:0;list-style:none;counter-reset:s;display:grid;gap:8px}.fl-steps li{counter-increment:s;position:relative;padding-left:24px;font-size:13.5px;line-height:1.42;color:var(--ivory-2)}.fl-steps li:before{content:counter(s);position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font:500 10px/1 var(--mono);color:var(--muted)}.fl-steps li b{color:var(--ivory);font-weight:600}.fl-steps li.next{color:var(--ivory)}.fl-steps li.next:before{border-color:var(--gold);color:var(--gold)}.fl-steps li.done{color:var(--muted)}.fl-steps li.done b{color:inherit;font-weight:400}.fl-steps li:not(.next){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl-steps li.done:before{content:"✓";border-color:#7a9a55;color:#a8c47a}.fl-help{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.45;color:var(--muted)}.fl kbd{font:500 10.5px/1 var(--mono);padding:1px 4px;border:1px solid var(--line);border-radius:3px}.fl-inspect{flex:none;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.45}.fl-inspect h3{margin:3px 0 4px;font:560 19px/1.15 var(--display)}.fl-inspect p{margin:4px 0;color:var(--ivory-2)}.fl-inspect .rc{font:500 12px/1.45 var(--mono);color:var(--ivory)}.fl-inspect .st{color:var(--gold)}.fl-inspect .sk{font-size:12.5px;color:var(--muted)}.fl-inspect .seg{margin:6px 0 2px}.fl-inspect [data-remove]{appearance:none;cursor:pointer;margin-top:8px;padding:6px 11px;border:1px solid #6e3d29;border-radius:999px;background:none;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#e8836a}.fl-inspect [data-remove]:hover{background:#b8492a26}.fl-tools{position:absolute;left:50%;transform:translate(-50%);bottom:max(12px,env(safe-area-inset-bottom,0px));max-width:calc(100% - 24px);display:flex;gap:4px;overflow-x:auto;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;scrollbar-width:thin}.fl-tools button{appearance:none;flex:none;position:relative;width:74px;display:grid;justify-items:center;align-content:end;gap:4px;padding:6px 4px;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer}.fl-tools button:hover{background:#f3eee50f}.fl-tools button[aria-pressed=true]{border-color:var(--gold);background:#e2b35c1a}.fl-tools .ic{height:42px;width:auto;image-rendering:pixelated}.fl-tools .ic.w1{height:30px}.fl-tools span{font:500 10px/1.15 var(--mono);letter-spacing:.02em;text-align:center;color:var(--ivory-2)}.fl-tools kbd{position:absolute;top:3px;right:4px;border:0;padding:0;font-size:9px;color:var(--muted)}.fl-toast{position:absolute;left:50%;bottom:112px;transform:translate(-50%,8px);max-width:min(560px,calc(100% - 32px));margin:0;padding:9px 14px;border-radius:8px;background:var(--ivory);color:var(--ground);font-size:14px;line-height:1.4;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.fl-toast.on{opacity:1;transform:translate(-50%)}.fl-done{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100% - 32px));padding:20px 22px;border-radius:10px;background:var(--ivory);color:var(--ground);box-shadow:0 24px 60px #00000080}.fl-done .k{color:#6d655b}.fl-done p{margin:6px 0 14px;font-size:16px;line-height:1.45}.fl-done .go{display:inline-block;padding:11px 16px 10px;border-radius:999px;background:#8f2e14;color:#f6efe6;text-decoration:none;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.fl-done [data-done-close]{appearance:none;margin-left:10px;background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:14px;color:var(--ground)!important}.fl-inspect .wire{appearance:none;cursor:pointer;display:block;margin:8px 0 2px;padding:9px 13px 8px;border:0;border-radius:999px;background:#2f6a3e;color:#f3eee5;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 0 0 1px #4f9a62}.fl-inspect .wire:hover{background:#3c7d4c}.fl-inspect .bd{font-size:12.5px;color:var(--muted)}.fl-inspect .link{appearance:none;background:none;border:0;padding:0;cursor:pointer;color:var(--ivory-2);text-decoration:underline;text-underline-offset:3px;font:inherit}.pcb{position:absolute;inset:70px 0 0;z-index:5;display:grid;place-items:center;padding:16px;background:#0f0c0ad1}.pcb[hidden]{display:none}.pcb-card{position:relative;width:min(1180px,100%);height:min(680px,100%);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#1a1513}.pcb-stage{position:relative;min-height:0;border-radius:6px;background:radial-gradient(80% 80% at 50% 45%,#241e1b,#15110f)}.pcb-stage canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;touch-action:none;cursor:crosshair}.pcb.erasing .pcb-stage canvas{cursor:cell}.pcb-side{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;font-size:14px;line-height:1.45}.pcb-side h2{margin:0;font:560 26px/1.05 var(--display)}.pcb-side p{margin:0}.pcb-for{color:var(--gold);font-size:13.5px}.pcb-story{color:var(--ivory-2)}.pcb-nets{list-style:none;margin:4px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.pcb-nets li{display:inline-flex;align-items:center;gap:6px;padding:4px 9px 3px;border:1px solid var(--line);border-radius:999px;font:500 11.5px/1.2 var(--mono);color:var(--ivory-2)}.pcb-nets li i{width:9px;height:9px;border-radius:2px}.pcb-nets li.done{border-color:#7a9a55;color:var(--ivory)}.pcb-nets li.done span:before{content:"✓";color:#a8c47a}.pcb-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pcb-stats{font:500 13px/1.4 IBM Plex Sans,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--ivory-2)}.pcb-stats b{color:var(--ivory);font-weight:500}.pcb-stats span{color:var(--muted)}.pcb-say{min-height:2.9em;font-size:13.5px;color:var(--gold)}.pcb-help{margin-top:auto!important;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.pcb-done{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(400px,calc(100% - 32px));padding:20px 22px;border-radius:10px;background:var(--ivory);color:var(--ground);box-shadow:0 24px 60px #00000080}.pcb-done .k{color:#6d655b}.pcb-done p{margin:6px 0 14px;font-size:16px;line-height:1.45}.pcb-done .go{appearance:none;border:0;cursor:pointer;padding:11px 16px 10px;border-radius:999px;background:#2f6a3e;color:#f6efe6!important;font:500 12px/1 var(--mono)!important;letter-spacing:.1em;text-transform:uppercase}.pcb-done .tidy{appearance:none;margin-left:10px;background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:14px;color:var(--ground)!important}.mcu{position:absolute;inset:70px 0 0;z-index:5;display:grid;place-items:center;padding:16px;background:#0f0c0ad1}.mcu[hidden]{display:none}.mcu-card{position:relative;width:min(1180px,100%);height:min(760px,100%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#1a1513;overflow:auto}.mcu-left,.mcu-right{display:flex;flex-direction:column;gap:10px;min-height:0}.mcu h2{margin:0;font:560 26px/1.05 var(--display)}.mcu p{margin:0}.mcu code{font:500 .9em/1 var(--mono);padding:1px 4px;border-radius:3px;background:#2e2723}.mcu .blk{color:#f3eee5}.mcu .red{color:#e8836a}.mcu .prs{color:#e2b35c}.mcu-story{font-size:14px;line-height:1.5;color:var(--ivory-2)}.mcu-chip{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;padding:12px 0 22px;border-radius:6px;background:linear-gradient(#24201d,#1b1715);box-shadow:inset 0 0 0 1px #3a322d}.mcu-pins{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:18px;font:500 10.5px/1 var(--mono);letter-spacing:.06em;color:var(--muted)}.mcu-pins li{position:relative;padding:4px 0}.mcu-pins.in li{text-align:right;padding-right:8px}.mcu-pins.out li{padding-left:8px}.mcu-pins li:after{content:"";position:absolute;top:50%;width:8px;height:2px;background:#c49a4a}.mcu-pins.in li:after{right:-2px}.mcu-pins.out li:after{left:-2px}.mcu-code{display:grid;grid-template-columns:26px minmax(0,1fr);border-radius:4px;background:#0f0c0b;box-shadow:inset 0 0 0 1px #2e2723;height:328px;overflow:hidden}.mcu-gutter{padding:10px 0;overflow:hidden;font:500 11px/22px var(--mono);color:#5a4c40;text-align:right}.mcu-gutter span{display:block;height:22px;padding-right:6px}.mcu-gutter .err{color:#e8836a}.mcu-gutter .over{color:#e8836a;text-decoration:line-through}.mcu-edit{position:relative;min-width:0}.mcu-hl,.mcu-edit textarea{position:absolute;inset:0;margin:0;padding:10px 12px;border:0;font:500 14px/22px var(--mono);white-space:pre;tab-size:2;letter-spacing:0}.mcu-hl{overflow:hidden;color:var(--ivory-2);pointer-events:none}.mcu-edit textarea{width:100%;height:100%;resize:none;outline:none;background:transparent;color:transparent;caret-color:var(--ivory);overflow:auto}.mcu-edit textarea::selection{background:#e2b35c4d;color:transparent}.mcu-hl .ln{display:inline-block;min-width:100%}.mcu-hl .ln.run{background:#e2b35c29;box-shadow:inset 2px 0 #e2b35c}.mcu-hl .ln.err{text-decoration:underline wavy #e8836a;text-underline-offset:4px}.mcu-hl b{font-weight:500}.mcu-hl .o{color:#e2b35c}.mcu-hl .n{color:#7fd0c4}.mcu-hl .r{color:#c9a0dc}.mcu-hl .p{color:#9cc0de}.mcu-hl .p.blk{color:#f3eee5}.mcu-hl .p.red{color:#e8836a}.mcu-hl .p.prs{color:#e2b35c}.mcu-hl .cp{color:#a8c47a}.mcu-hl .cm{color:#e8836a}.mcu-hl i{font-style:normal;color:#6d655b}.mcu.running .mcu-edit textarea{caret-color:transparent}.mcu-count{position:absolute;right:52px;bottom:4px;font:500 10.5px/1 var(--mono);letter-spacing:.06em;color:var(--muted)}.mcu-errors{list-style:none;margin:0;padding:0;font-size:13px;color:#e8836a}.mcu-errors b{font:500 11px/1 var(--mono);margin-right:6px}.mcu-refs{font-size:12.5px;color:var(--muted)}.mcu-refs summary{cursor:pointer;font:500 10.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-2)}.mcu-refs dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0}.mcu-refs dt{font:500 12px/1.5 var(--mono);color:#e2b35c}.mcu-refs dd{margin:0;line-height:1.5;color:var(--ivory-2)}.mcu-press{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}.mcu-press figure{margin:0;display:grid;gap:6px}.mcu-press canvas{display:block;image-rendering:pixelated;border-radius:2px}.mcu-press .sheet canvas{height:330px;width:auto}.mcu-press .wave canvas{width:100%;height:auto}.mcu-press figcaption{font:500 10.5px/1.4 var(--mono);letter-spacing:.04em;color:var(--muted)}.mcu-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mcu .go{appearance:none;border:0;cursor:pointer;padding:10px 16px 9px;border-radius:999px;background:#8f2e14;color:#f6efe6!important;text-decoration:none;font:500 12px/1 var(--mono)!important;letter-spacing:.1em;text-transform:uppercase}.mcu .go:hover{background:#a23a1c}.mcu .ghost[aria-pressed=true]{background:var(--ivory);color:var(--ground)}.mcu-say{min-height:3em;font-size:14px;line-height:1.45;color:var(--gold)}.mcu-done{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));padding:20px 22px;border-radius:10px;background:var(--ivory);color:var(--ground);box-shadow:0 24px 60px #00000080}.mcu-done .k{color:#6d655b}.mcu-done p{margin:6px 0 14px;font-size:16px;line-height:1.45}.mcu-done .tidy{appearance:none;margin-left:10px;background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:14px;color:var(--ground)!important}.fl-done [hidden]{display:none}.fl-done button.go{appearance:none;border:0;cursor:pointer}@media(max-width:900px){.mcu{padding:0}.mcu-card{height:100%;grid-template-columns:1fr;grid-auto-rows:max-content;border-radius:0;padding:12px}.mcu-left,.mcu-right{min-height:auto}.mcu-press .sheet canvas{height:220px}.pcb{padding:0}.pcb-card{height:100%;grid-template-columns:1fr;grid-template-rows:minmax(220px,46%) minmax(0,1fr);border-radius:0;padding:10px;gap:10px}.pcb-story,.pcb-help{font-size:13px}.fl-top{top:74px;gap:6px}.fl-where{display:none}.fl-order,.fl-ctl{padding:7px 10px}.fl-order{flex:1 1 100%}.fl-order .note{display:none}.fl-ctl{flex:1 1 100%;justify-content:space-between}.fl-side{inset:auto 12px 104px;width:auto;max-height:55%;flex-direction:column-reverse}.fl-steps{max-height:40vh}.fl:not(.steps-open) .fl-steps ol,.fl:not(.steps-open) .fl-help{display:none}.fl-tools{left:0;right:0;transform:none;max-width:none;border-radius:0;bottom:0;padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}.fl-toast{bottom:150px}}
