*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:13px system-ui,sans-serif;background:#eee;color:#111;overflow:hidden}textarea{font:inherit}.selected,.examples .active{font-weight:600}#toolbar{height:36px;border-bottom:1px solid #aaa;padding:5px 8px;display:flex;align-items:center;gap:8px;background:#eee}#toolbar>b{margin-right:auto}#status{padding:2px 6px;min-width:70px;text-align:center}main{height:calc(100% - 36px);display:grid;grid-template-columns:50% 50%}section{min-width:0}#leftPane{--console-height:130px;border-right:1px solid #aaa;display:grid;grid-template-rows:30px minmax(0,1fr) 7px var(--console-height);padding:4px;min-height:0;overflow:hidden}.tabs{display:flex;align-items:center;gap:4px}.file-view{grid-row:2;border:1px solid #aaa;background:#fff;min-height:0}#codeFile{overflow:hidden}.examples{height:36px;padding:6px;border-bottom:1px solid #aaa;background:#f5f5f5}.editor-wrap{height:calc(100% - 36px);min-height:0;display:flex;overflow:hidden;background:#fff}.editor-wrap pre{width:42px;flex:0 0 42px;margin:0;padding:8px 7px;text-align:right;background:#f4f4f4;border-right:1px solid #ccc;color:#666;font:12px/1.45 monospace;overflow:hidden}.editor-wrap textarea{display:block;min-width:0;min-height:0;width:100%;height:100%;flex:1 1 auto;border:0;resize:none;outline:0;padding:8px;font:12px/1.45 monospace;white-space:pre;overflow:scroll;color:#000;background:#fff}#consoleResize{grid-row:3;cursor:row-resize;border-top:1px solid #ccc;background:#eee}.console{grid-row:4;border:1px solid #aaa;background:#fff;min-height:0;overflow:hidden}.console>div{height:28px;padding:3px 6px;background:#f5f5f5;border-bottom:1px solid #aaa}.console button{float:right}.console pre{margin:0;padding:6px;height:calc(100% - 28px);overflow:auto;font:11px monospace;white-space:pre-wrap}#pinFile{padding:10px;overflow:auto}#pinGrid{margin:0;font:12px/1.45 monospace}.pin-group{display:block;margin-bottom:8px}.pin-group b{display:block}.pin-group code{display:block}#rightPane{padding:6px;display:grid;grid-template-rows:28px minmax(260px,1fr) 20px 250px 22px;min-height:0}.sim-title{padding:4px 2px;display:flex;justify-content:space-between}.board-row{position:relative;display:grid;grid-template-columns:1fr;gap:6px;align-items:center;min-height:0;background:#777;border:1px solid #999;padding:6px;user-select:none;-webkit-user-select:none}.board-card{position:relative;width:100%;max-height:100%;aspect-ratio:1376/872;user-select:none;-webkit-user-select:none}.pcb-render{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.board-card #goBoard{position:absolute;inset:0;width:100%;height:100%;user-select:none;-webkit-user-select:none}.board-card .switch{pointer-events:all;cursor:pointer;outline:none}.board-card .switch:focus{outline:none}.board-card .cap{fill:transparent}.board-card .switch.pressed .cap{fill:#0005}.board-card .seg{fill:#3b1415}.board-card .seg.on{fill:#ff1b10}.board-card .led{fill:#581719}.board-card .led.on{fill:#ff2419;filter:url(#ledGlow)}.monitor{position:absolute;left:8px;top:8px;width:190px;min-width:130px;min-height:130px;max-width:70%;max-height:90%;z-index:5;border:1px solid #777;background:#eee;padding:4px;resize:both;overflow:auto}.monitor-title{height:20px;background:#2c1925;color:#fff;padding:2px 4px;cursor:move;user-select:none}.monitor-title span{float:right;font-size:10px}.monitor canvas{display:block;width:100%;background:#000;border:1px solid #777;margin:4px 0;image-rendering:pixelated}.monitor small{font-size:9px}.hint{padding:3px}.wave-panel{margin:0;padding:5px;min-height:0;overflow:auto}.wave-panel canvas{display:block;width:100%;height:210px;background:#000;border:1px solid #777}.device-line{border-top:1px solid #aaa;padding:3px 2px;font:11px monospace}#startupOverlay,#compileOverlay{position:fixed;inset:0;z-index:9999;background:#000e;color:#fff;display:grid;place-items:center}#startupOverlay[hidden],#compileOverlay[hidden]{display:none}#startupOverlay>div,#compileOverlay>div{width:min(620px,85vw)}#startupOverlay b,#compileOverlay b{display:block;font-size:20px;margin-bottom:12px}#startupOverlay progress,#compileOverlay progress{width:100%}#startupStatus{margin:16px 0;font:13px/1.5 monospace}#startupOverlay small{display:block;color:#aaa;margin-bottom:14px}#compileOverlay pre{white-space:pre-wrap;color:#ddd;min-height:90px;margin:18px 0;font:13px/1.5 monospace}#compileOverlay small{color:#aaa}dialog{display:none}@media(max-width:900px){body{overflow:auto}main{display:block;height:auto}#leftPane,#rightPane{height:700px}.monitor{max-width:90%}}
