:root{--paper:var(--tone-efeee6,#efeee6);--panel:var(--tone-f7f5ed,#f7f5ed);--ink:var(--tone-293e31,#293e31);--muted:var(--tone-7c8575,#7c8575);--line:var(--tone-d6d9cb,#d6d9cb);--green:var(--tone-2f5b45,#2f5b45);--clay:var(--tone-bb7351,#bb7351);--mono:'Cascadia Mono','Consolas','Liberation Mono',monospace;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:12px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button,a,select,input[type=color],summary{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:transparent;border-radius:5px;padding:8px 12px;transition:background .15s,border-color .15s}button:hover{background:var(--tone-e7eadd,#e7eadd);border-color:var(--tone-a5b19a,#a5b19a)}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--clay);outline-offset:4px}a{color:inherit}input,select{border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:8px;max-width:100%;min-width:0}select{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}small{font-size:9px}button.small,.small{font-size:10px;white-space:nowrap;padding:6px 10px}button.subtle{border:0;padding:5px 8px;font-size:22px;line-height:1.2;color:var(--tone-7b8976,#7b8976);background:transparent}.text-button{padding:0;border:0;border-radius:0;font-size:10px;text-align:left;color:var(--green);text-decoration:underline;text-underline-offset:4px}.text-button:hover{background:transparent}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:600;line-height:1.5}.masthead{height:91px;border-bottom:1px solid var(--tone-b9c2ae,#b9c2ae);margin:0 34px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:23px;font-weight:600;letter-spacing:2px;line-height:1.1}.brand svg{width:36px;height:40px;fill:var(--paper);stroke:var(--ink);stroke-width:2}.brand-caption{display:block;font-size:7px;letter-spacing:2.2px;font-weight:400;margin-top:8px}.edition{font-size:9px;letter-spacing:1.6px;color:var(--tone-7a8472,#7a8472)}.edition-slash{padding:0 15px;color:var(--tone-b8bea9,#b8bea9)}.head-actions{display:flex;align-items:center;gap:8px}.save-status{font-size:9px;color:var(--tone-76816e,#76816e);margin-right:13px}.save-status.error{color:var(--tone-a54e36,#a54e36)}.icon-button{border-radius:50%;width:28px;height:28px;padding:2px!important}.studio{max-width:1900px;margin:auto;display:grid;grid-template-columns:240px minmax(0,1fr) 263px;gap:0}.library{padding:36px 23px 32px 34px;border-right:1px solid var(--line);position:sticky;top:0;align-self:start;max-height:calc(100vh - 10px);overflow-y:auto;scrollbar-width:thin}.library-title{display:flex;justify-content:space-between;align-items:center;color:var(--tone-7e8c73,#7e8c73)}.tiny-mark{font-size:20px}.library h2{font-family:var(--serif);font-size:32px;line-height:1.13;margin:14px 0 17px;letter-spacing:-.9px}.library h2 em{font-weight:400;color:var(--tone-657a5a,#657a5a)}.library-intro{font-size:10px;line-height:1.85;color:var(--tone-818875,#818875)}.tabs{display:flex;border-bottom:1px solid var(--tone-b9c4ad,#b9c4ad);margin:27px 0 16px;gap:13px}.tabs button{font-size:10px;padding:9px 0;border:0;border-radius:0;color:var(--tone-8c937e,#8c937e);position:relative}.tabs button[aria-selected=true]{color:var(--ink)}.tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink)}.tabs span{font-size:8px;border:1px solid var(--tone-cbd3be,#cbd3be);padding:1px 3px;border-radius:3px}.search{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:4px;padding:0 9px;margin-bottom:17px;background:var(--tone-f4f4eb,#f4f4eb);color:var(--tone-87917b,#87917b)}.search>span{font-size:22px}.search input{width:100%;background:none;border:0;padding:8px 0;font-size:10px;outline-offset:0}.category{margin-top:21px;margin-bottom:8px;color:var(--tone-89947b,#89947b);font-size:8px;letter-spacing:1.3px;text-transform:uppercase}.study-card{display:flex;gap:11px;width:100%;text-align:left;border:1px solid transparent;border-bottom:1px solid var(--line);padding:12px 6px;border-radius:0;align-items:center;position:relative}.study-card.active{background:var(--tone-e4e9db,#e4e9db);border-color:var(--tone-b8c7aa,#b8c7aa);border-radius:5px;padding-left:9px}.study-card.active:before{content:'';position:absolute;left:-1px;top:11px;bottom:11px;width:2px;background:var(--green)}.study-index{font-size:9px;color:var(--tone-89967c,#89967c);width:16px}.study-info{flex:1;min-width:0}.study-info strong{display:block;font-size:10px;font-weight:400;line-height:1.5}.study-info small{display:block;font-size:8px;color:var(--tone-8d947f,#8d947f);margin-top:3px}.study-arrow{color:var(--tone-a0ad92,#a0ad92);font-size:13px}.part-card .part-symbol{width:29px;font-size:22px;color:var(--tone-7c8b70,#7c8b70);text-align:center}.part-tag{display:block!important;color:var(--tone-af6c4e,#af6c4e)!important}.library-foot{margin-top:38px;padding-top:21px;border-top:1px solid var(--line);color:var(--tone-89917b,#89917b);font-size:9px}.mini-dots{letter-spacing:7px;font-size:7px;color:var(--tone-a5ad92,#a5ad92)}.library-foot p{margin:9px 0 15px}.library-foot strong{font-weight:400;color:var(--tone-617357,#617357)}.work-area{min-width:0;padding:32px 25px 38px}.work-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.work-heading .eyebrow{color:var(--tone-8c947f,#8c947f);font-size:8px}.crumb{padding:0 8px;color:var(--tone-b9bfaa,#b9bfaa)}.project-name-line{display:flex;gap:10px;align-items:center;margin-top:7px;min-width:0}.project-name-line h1{font-family:var(--serif);font-size:38px;letter-spacing:-1px;line-height:1.15;overflow-wrap:anywhere}.project-name-line button{font-size:16px;opacity:.6}.model-badge{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:1px;white-space:nowrap;border:1px solid var(--tone-cbd4bd,#cbd4bd);border-radius:20px;padding:5px 8px;color:var(--tone-738567,#738567)}.model-badge i{width:4px;height:4px;border-radius:50%;background:var(--tone-7e9b6d,#7e9b6d)}.bench-toolbar{display:flex;gap:16px;align-items:center;height:49px;border:1px solid var(--tone-c4ccba,#c4ccba);border-radius:8px 8px 0 0;background:var(--tone-e8ebdf,#e8ebdf);padding:0 15px}.board-selector{display:flex;align-items:center;gap:10px}.board-selector label{font-size:8px;letter-spacing:1px;color:var(--tone-859275,#859275)}.board-selector select{border:0;background:transparent;padding:3px 20px 3px 0;font-size:11px;max-width:190px}.toolbar-divider{width:1px;height:18px;background:var(--tone-c9d1bd,#c9d1bd)}.swatches{display:flex;gap:7px}.swatches button{background:var(--swatch);width:14px;height:14px;border-radius:50%;padding:0;border:2px solid var(--tone-e9ecdf,#e9ecdf);outline:1px solid transparent}.swatches button[aria-pressed=true]{outline-color:var(--tone-687c59,#687c59)}.swatches button:focus-visible{outline:2px solid var(--clay);outline-offset:3px}.history-controls{display:flex;margin-left:auto}.history-controls button{font-size:22px}.bench{position:relative;background:var(--tone-f4f3e9,#f4f3e9);border:1px solid var(--tone-c4ccba,#c4ccba);border-top:0;overflow:hidden}.bench-top{display:flex;align-items:center;justify-content:space-between;position:absolute;left:20px;right:17px;top:17px;z-index:1}.bench-top .eyebrow{font-size:8px;color:var(--tone-8a947c,#8a947c);display:flex;gap:7px;align-items:center}.live-dot{height:5px;width:5px;background:var(--tone-a3ac95,#a3ac95);border-radius:50%;display:inline-block}.live-dot.on{background:var(--tone-6b9460,#6b9460);box-shadow:0 0 0 3px var(--tone-dce6cf,#dce6cf)}.view-controls{display:flex;gap:5px}.view-controls .small{border-color:var(--tone-d5d9c7,#d5d9c7);padding:3px 7px;background:var(--tone-f4f3e9,#f4f3e9);font-size:8px}.scene{display:block;width:100%;height:auto;min-height:330px;touch-action:none}.scene text{font-family:var(--mono)}.part{cursor:grab}.part:active{cursor:grabbing}.part-hit{fill:transparent;stroke:transparent;stroke-width:1.5;stroke-dasharray:4 4}.part.selected .part-hit,.part:focus-visible .part-hit{stroke:var(--tone-9cac8a,#9cac8a);fill:var(--tone-dce5cc26,#dce5cc26)}.part:hover .part-hit{stroke:var(--tone-c5cdb8,#c5cdb8)}.terminal{cursor:crosshair}.terminal:hover .terminal-dot,.terminal:focus-visible .terminal-dot{stroke:var(--tone-bf7852,#bf7852);stroke-width:3}.terminal.pending .terminal-dot{stroke:var(--tone-bf7852,#bf7852);stroke-width:3;fill:var(--tone-ddae74,#ddae74)}.wire{cursor:pointer;pointer-events:stroke}.wire:hover,.wire:focus{stroke-width:6}.bench-bottom{display:flex;justify-content:space-between;align-items:center;position:absolute;bottom:15px;left:20px;right:20px;gap:10px;font-size:8px;color:var(--tone-8d9680,#8d9680);pointer-events:none}.canvas-unit{font-size:7px;letter-spacing:1.3px;white-space:nowrap}.canvas-unit span{padding:0 6px;color:var(--tone-b9c1aa,#b9c1aa)}kbd{font-family:inherit;font-size:8px;border:1px solid var(--tone-d4dac6,#d4dac6);border-radius:3px;padding:1px 3px}.run-strip{display:flex;align-items:center;gap:8px;border:1px solid var(--tone-c4ccba,#c4ccba);border-top:0;padding:13px 15px;background:var(--tone-e9ecdf,#e9ecdf);border-radius:0 0 8px 8px;box-shadow:0 3px 0 var(--tone-dce0d1,#dce0d1)}.assembly-meter{display:flex;gap:7px;align-items:center;margin-right:auto}.assembly-meter>span:first-child{font-size:17px;letter-spacing:-1px}.assembly-meter>span:last-child{font-size:7px;line-height:1.5;letter-spacing:.5px;color:var(--tone-91a07f,#91a07f)}.assembly-meter b{font-weight:400;letter-spacing:0;color:var(--tone-8a9679,#8a9679)}.power-button{font-size:10px;border-color:var(--tone-adba9f,#adba9f);border-radius:20px;padding:7px 12px;background:var(--tone-f0f1e6,#f0f1e6);white-space:nowrap}.power-button.on{background:var(--tone-dce8cf,#dce8cf)}.primary{background:var(--tone-315a43,#315a43);color:var(--tone-f0f1e5,#f0f1e5);border:1px solid var(--tone-315a43,#315a43);border-radius:20px;padding:8px 15px;font-size:10px;white-space:nowrap;box-shadow:0 2px 0 var(--tone-c3cbb7,#c3cbb7)}.primary:hover{background:var(--tone-244b36,#244b36);color:white;border-color:var(--tone-244b36,#244b36)}.clock{margin-left:8px;text-align:right;min-width:70px}.clock>span{display:block;font-size:12px}.clock small{font-size:6px;letter-spacing:1px;color:var(--tone-8a987b,#8a987b)}.notebook{margin-top:33px;border-top:1px solid var(--tone-bcc7ad,#bcc7ad);padding-top:20px}.notebook-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:19px}.notebook-head .eyebrow{color:var(--tone-8c987f,#8c987f);font-size:8px}.notebook-head h2{font-family:var(--serif);font-size:23px;line-height:1.3;margin-top:5px;letter-spacing:-.5px}.notebook-head button{font-size:8px}.editor-tabs{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--tone-e5e9dc,#e5e9dc);border:1px solid var(--tone-c5cfb9,#c5cfb9);border-bottom:0;border-radius:6px 6px 0 0;font-size:9px}.editor-tabs i{width:5px;height:5px;background:var(--tone-b67f55,#b67f55);border-radius:50%;display:inline-block;margin-right:8px}.editor-tabs small{font-size:6px;letter-spacing:1px;color:var(--tone-8a967d,#8a967d);margin-left:16px}.editor-tabs>span:last-child{font-size:8px;color:var(--tone-87967b,#87967b)}.code-wrap{display:flex;border:1px solid var(--tone-c5cfb9,#c5cfb9);background:var(--tone-f6f5ed,#f6f5ed);min-height:296px}.code-wrap pre{width:46px;padding:15px 12px;margin:0;border-right:1px solid var(--tone-e2e5d7,#e2e5d7);text-align:right;font-size:11px;line-height:1.85;color:var(--tone-b1b8a3,#b1b8a3);user-select:none;overflow:hidden;max-height:350px}.code-wrap textarea{flex:1;min-width:0;resize:vertical;min-height:296px;max-height:700px;padding:15px 16px;border:0;border-radius:0;background:transparent;color:var(--tone-3d5944,#3d5944);font-size:11px;line-height:1.85;tab-size:2;outline-offset:-2px;white-space:pre}.diagnostic{border:1px solid var(--tone-c5cfb9,#c5cfb9);border-top:0;background:var(--tone-ebeee2,#ebeee2);font-size:9px;color:var(--tone-75886a,#75886a);padding:9px 14px;border-radius:0 0 5px 5px;overflow-wrap:anywhere}.diagnostic.error{color:var(--tone-a04f34,#a04f34);background:var(--tone-f0e3d6,#f0e3d6);border-color:var(--tone-d9baa1,#d9baa1)}.diagnostic.warn{color:var(--tone-987442,#987442);background:var(--tone-f1e9d8,#f1e9d8)}.monitor{margin-top:18px}.monitor-head{display:flex;justify-content:space-between;align-items:center}.monitor-head .eyebrow{font-size:7px;color:var(--tone-8c997c,#8c997c)}.monitor-head button{font-size:8px;color:var(--tone-929e84,#929e84)}.monitor pre{margin:9px 0 0;background:var(--tone-e6e9de,#e6e9de);border:1px solid var(--tone-d6ddc9,#d6ddc9);border-radius:4px;min-height:77px;max-height:160px;overflow:auto;padding:12px;font-size:10px;color:var(--tone-75896b,#75896b);white-space:pre-wrap;overflow-wrap:anywhere}.inspector{padding:38px 28px 28px 0;min-width:0}.inspector-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--tone-c4cfb7,#c4cfb7);padding:0 0 14px;color:var(--tone-8a977c,#8a977c)}.inspector-top .eyebrow{font-size:8px}.inspector-top>span:last-child{font-size:7px;letter-spacing:1px}.lesson{padding-top:23px}.lesson-number{font-family:var(--serif);font-size:39px;font-style:italic;color:var(--tone-c3cbb6,#c3cbb6);line-height:1}.lesson h2{font-family:var(--serif);font-size:24px;line-height:1.2;margin:12px 0;letter-spacing:-.3px}.lesson>p{font-size:10px;line-height:1.9;color:var(--tone-7c8b6f,#7c8b6f)}.lesson ol{padding:0;list-style:none;margin:19px 0 0;counter-reset:step}.lesson li{position:relative;padding-left:27px;margin-bottom:13px;font-size:9px;line-height:1.8;color:var(--tone-78876a,#78876a);counter-increment:step}.lesson li:before{content:counter(step);position:absolute;left:0;top:2px;width:17px;height:17px;line-height:17px;text-align:center;border:1px solid var(--tone-c7d0b8,#c7d0b8);border-radius:50%;font-size:8px;color:var(--tone-859574,#859574)}.challenge{border:1px solid var(--tone-d4d8c6,#d4d8c6);background:var(--tone-e8ecdf,#e8ecdf);border-radius:4px;padding:12px 13px;margin-top:19px;position:relative}.challenge:before{content:'✧';position:absolute;right:12px;top:7px;font-size:20px;color:var(--tone-afbc99,#afbc99)}.challenge .eyebrow{font-size:7px;color:var(--tone-8e9d7b,#8e9d7b)}.challenge p{font-size:9px;color:var(--tone-768967,#768967);line-height:1.9;margin-top:5px}.inspector-section{border-top:1px solid var(--tone-c7d1ba,#c7d1ba);margin-top:23px;padding-top:16px}.inspector-section>.eyebrow{font-size:8px;color:var(--tone-8b9b7c,#8b9b7c)}.pin-watch{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.pin-chip{flex:1;min-width:46px;border:1px solid var(--tone-c8d3bc,#c8d3bc);border-radius:4px;padding:7px 8px;line-height:1.3}.pin-chip span{display:block;font-size:7px;color:var(--tone-91a17e,#91a17e)}.pin-chip b{font-weight:400;font-size:13px;color:var(--tone-7b916a,#7b916a)}.pin-chip.active{background:var(--tone-e2ead4,#e2ead4);border-color:var(--tone-b5c7a1,#b5c7a1)}.pin-chip.active b{color:var(--tone-4c7745,#4c7745)}.trace-wrap{margin-top:13px}.trace-wrap svg{display:block;width:100%;height:62px;background:var(--tone-e9ecdf,#e9ecdf);border-bottom:1px solid var(--tone-c7d1b9,#c7d1b9)}.trace-wrap>span{display:block;font-size:6px;color:var(--tone-9ba68b,#9ba68b);letter-spacing:1px;margin-top:5px}.selection-head{display:flex;justify-content:space-between;align-items:center}.selection-head h3{font-family:var(--serif);font-size:21px}.selection-head span{font-size:8px;color:var(--tone-8a9879,#8a9879)}.selection-copy{font-size:9px;line-height:1.9;color:var(--tone-819170,#819170);margin:9px 0 12px}.field{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;font-size:9px;color:var(--tone-849574,#849574)}.field input[type=number]{width:90px;font-size:10px;padding:5px 7px}.field input[type=color]{height:26px;width:48px;padding:2px}.field input[type=range]{width:130px;accent-color:var(--tone-517b4a,#517b4a)}.move-controls{display:flex;gap:5px;margin-top:13px}.move-controls button{padding:3px 9px;font-size:12px}.remove-part{margin-top:15px;color:var(--tone-aa7954,#aa7954);font-size:8px}.selection-empty{font-size:10px;color:var(--tone-9aa68b,#9aa68b);line-height:1.9}.selection-empty b{display:block;font-weight:400;color:var(--tone-75896a,#75896a);margin-bottom:5px}.inspector summary{display:flex;justify-content:space-between;cursor:pointer;font-size:9px;color:var(--tone-758a68,#758a68);list-style:none}.inspector summary::-webkit-details-marker{display:none}.inspector summary span{font-size:9px;color:var(--tone-9eac8c,#9eac8c)}.inspector details p{font-size:9px;color:var(--tone-8a987d,#8a987d);line-height:1.8;margin-top:12px}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}.button-grid button{font-size:8px;padding:6px 5px}.wire-form{display:grid;gap:5px;margin-top:12px;font-size:8px;color:var(--tone-879a75,#879a75)}.wire-form select{font-size:8px;width:100%;padding:6px}.wire-form input[type=color]{height:25px;width:100%}.wire-form button{font-size:8px}.connection-row{display:flex;gap:5px;align-items:center;font-size:7px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}.connection-row span{flex:1;color:var(--tone-8b9b7d,#8b9b7d)}.connection-row button{font-size:12px;border:0;padding:0 5px}.model-note{border-top:1px solid var(--tone-c7d1ba,#c7d1ba);margin-top:24px;padding-top:16px}.model-note .eyebrow{font-size:7px;color:var(--tone-8fa07e,#8fa07e)}.model-note p{font-size:8px;color:var(--tone-93a286,#93a286);line-height:1.9;margin:9px 0}.model-note strong{font-weight:400;color:var(--tone-7b8e6e,#7b8e6e)}.model-note button{font-size:8px}footer{border-top:1px solid var(--tone-c1cbb5,#c1cbb5);margin:0 34px;padding:20px 0;display:flex;justify-content:space-between;color:var(--tone-95a087,#95a087);font-size:8px;letter-spacing:.5px}footer>span:first-child{color:var(--tone-75896a,#75896a)}footer i{font-style:normal;padding:0 7px;color:var(--tone-b3bea4,#b3bea4)}.toast{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:20;max-width:min(600px,90vw);padding:12px 20px;background:var(--tone-2f513a,#2f513a);color:var(--tone-f4f0dd,#f4f0dd);border:1px solid var(--tone-75856a,#75856a);border-radius:7px;box-shadow:0 8px 28px var(--tone-28391f22,#28391f22);font-size:11px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.visible{opacity:1}.toast.error{background:var(--tone-955239,#955239);color:var(--tone-fff2dd,#fff2dd)}.skip{position:fixed;top:-80px;left:20px;background:var(--ink);color:white;padding:10px;z-index:50}.skip:focus{top:8px}dialog{color:var(--ink);background:var(--panel);border:1px solid var(--tone-a7b999,#a7b999);border-radius:9px;padding:32px;width:min(680px,90vw);max-height:85vh;box-shadow:8px 12px 0 var(--tone-2c45251a,#2c45251a)}dialog::backdrop{background:var(--tone-2d3f2a66,#2d3f2a66);backdrop-filter:blur(3px)}dialog form{margin:0}.dialog-close{position:absolute;top:11px;right:10px}.dialog-content h2,#dialog-content h2{font-family:var(--serif);font-size:35px;letter-spacing:-.7px;line-height:1.2;margin:9px 0 17px}#dialog-content h3{font-size:11px;font-weight:600;margin-top:21px}#dialog-content p,#dialog-content li{font-size:11px;color:var(--tone-728667,#728667);line-height:1.85;margin:12px 0}#dialog-content pre{background:var(--tone-e7ebdc,#e7ebdc);padding:13px;border:1px solid var(--tone-cdd5bd,#cdd5bd);overflow:auto;font-size:10px}#dialog-content code{color:var(--tone-486a3e,#486a3e)}#dialog-content .field{font-size:11px;margin:17px 0}#dialog-content input{width:70%}#dialog-content .primary{margin-top:15px}#dialog-content .danger{color:var(--tone-ad5e3e,#ad5e3e)}#dialog-content .api-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:10px;background:var(--tone-e6eadc,#e6eadc);padding:16px;border:1px solid var(--tone-cbd4bd,#cbd4bd)}.empty-library{color:var(--tone-9caa8d,#9caa8d);font-size:10px;padding:22px 0}.new-project{margin-top:15px;width:100%;font-size:10px}.folder-label{font-size:7px;color:var(--tone-99a68b,#99a68b);letter-spacing:1px}.project-actions{display:flex;gap:10px;margin:16px 0}.project-actions button{font-size:8px}.no-motion *{transition:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(min-width:1700px){.studio{grid-template-columns:267px minmax(0,1fr) 290px}.library{padding-left:40px;padding-right:29px}.work-area{padding-left:35px;padding-right:35px}.inspector{padding-right:35px}.scene{max-height:660px}.project-name-line h1{font-size:44px}}
@media(max-width:1250px){.studio{grid-template-columns:206px minmax(0,1fr) 220px}.masthead{margin:0 24px}.library{padding-left:24px;padding-right:16px}.library h2{font-size:28px}.work-area{padding:30px 18px}.inspector{padding-right:20px}.edition{display:none}.model-badge{font-size:6px;letter-spacing:.5px;padding:4px 6px}.project-name-line h1{font-size:32px}.bench-toolbar{gap:10px;padding:0 10px}.swatches{gap:4px}.board-selector{gap:5px}.board-selector select{max-width:148px;font-size:10px}.scene{min-height:300px}.assembly-meter{display:none}.run-strip{padding:12px 10px}.clock{min-width:55px;margin-left:auto}.power-button,.primary{font-size:9px;padding:7px 10px}.notebook-head h2{font-size:21px}.inspector-top>span:last-child{display:none}.editor-tabs small{display:none}}
@media(max-width:1000px){.studio{grid-template-columns:200px minmax(0,1fr)}.inspector{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 18px 28px}.inspector-top{grid-column:1/-1;margin-top:0}.inspector .lesson{padding:0}.inspector-section{margin-top:0;padding-top:12px}.inspector .model-note{margin-top:0}.inspector .lesson-number{font-size:28px}.lesson h2{font-size:22px}.work-area{padding-bottom:22px}.library{grid-row:1/3}.work-heading{margin-bottom:18px}.project-name-line h1{font-size:35px}.model-badge{font-size:7px}.run-strip{gap:10px}.clock{min-width:60px}.power-button,.primary{font-size:10px;padding:8px 13px}.scene{min-height:320px}}
@media(max-width:700px){.masthead{height:77px;margin:0 18px;gap:10px}.brand{font-size:19px;gap:8px;letter-spacing:1px}.brand svg{width:27px}.brand-caption{font-size:5px;letter-spacing:1.2px;margin-top:5px}.save-status{display:none}.head-actions{gap:5px}.head-actions .small{font-size:8px;padding:5px 8px}.studio{display:flex;flex-direction:column}.library{position:static;max-height:none;border-right:0;padding:20px 18px 0;overflow:visible}.library-title,.library h2,.library-intro,.library-foot{display:none}.tabs{margin:0 0 12px;gap:22px}.tabs button{font-size:11px}.search{margin:0 0 8px}.search input{font-size:11px}.library #library-content{max-height:190px;overflow-y:auto;display:flex;gap:9px;scrollbar-width:thin;padding:2px 2px 10px}.category{display:none}.study-card{min-width:170px;max-width:190px;border:1px solid var(--line);border-radius:5px;padding:11px;align-items:flex-start}.study-card.active{padding:11px}.study-card .study-info strong{font-size:11px}.study-card .study-info small{font-size:8px}.study-card .study-arrow{display:none}.part-card{min-width:156px}.new-project{margin:0;min-width:110px;width:auto}.project-actions{min-width:130px;align-items:center;flex-direction:column;justify-content:center;margin:0}.empty-library{padding:12px}.work-area{padding:18px 18px 24px}.work-heading{gap:7px;margin-bottom:17px}.project-name-line h1{font-size:33px}.work-heading .eyebrow{font-size:7px}.work-heading .crumb{padding:0 3px}.model-badge{font-size:5px;letter-spacing:.3px;padding:5px 5px;gap:3px}.model-badge i{height:3px;width:3px}.bench-toolbar{height:45px;padding:0 9px;gap:8px}.board-selector label{display:none}.board-selector select{font-size:10px;max-width:132px}.toolbar-divider{height:16px}.swatches{gap:4px}.swatches button{width:12px;height:12px}.history-controls button{font-size:19px;padding:3px 6px}.scene{min-height:255px;height:auto}.bench-top{left:11px;right:9px;top:10px}.bench-top .eyebrow{font-size:6px}.view-controls .small{font-size:6px;padding:3px 5px}.bench-bottom{left:11px;right:10px;bottom:9px;font-size:6px;line-height:1.6}.bench-bottom kbd{font-size:6px}.canvas-unit{display:none}.run-strip{gap:5px;padding:10px 9px}.run-strip .small{font-size:8px;padding:5px}.power-button,.primary{font-size:9px;padding:7px 9px}.clock{min-width:49px;margin-left:auto}.clock>span{font-size:10px}.clock small{font-size:5px;letter-spacing:.5px}.notebook{margin-top:26px;padding-top:16px}.notebook-head{margin-bottom:14px}.notebook-head h2{font-size:21px}.notebook-head .small{font-size:6px;padding:5px}.editor-tabs{padding:9px 12px;font-size:9px}.editor-tabs>span:last-child{font-size:6px}.code-wrap pre{width:33px;padding:12px 7px;font-size:10px}.code-wrap textarea{padding:12px 10px;font-size:10px;min-height:277px}.code-wrap{min-height:277px}.diagnostic{font-size:8px;padding:8px 10px}.inspector{padding:0 18px 27px;display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.inspector-top{padding-bottom:9px}.inspector .lesson{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.lesson-number{display:none}.lesson h2{grid-column:1;font-size:25px}.lesson>p{grid-column:1;font-size:9px}.lesson ol{grid-column:2;grid-row:1/4;margin-top:8px}.lesson li{font-size:8px;margin-bottom:10px;padding-left:23px}.challenge{grid-column:1/-1;margin-top:8px;padding:12px}.challenge p{font-size:9px}.inspector-section .eyebrow{font-size:7px}.selection-head h3{font-size:19px}.selection-copy{font-size:8px}.field{flex-wrap:wrap;gap:5px}.field input[type=range]{width:100%}.move-controls{gap:3px;flex-wrap:wrap}.move-controls button{padding:3px 8px}.model-note{grid-column:1/-1}.model-note p{font-size:9px}.model-note .text-button{font-size:9px}footer{margin:0 18px;padding:16px 0;gap:10px;font-size:7px;flex-direction:column}dialog{padding:25px;max-height:90vh}#dialog-content h2{font-size:29px}#dialog-content .api-list{grid-template-columns:1fr;font-size:9px}#dialog-content input{width:100%}#dialog-content .field{display:block}#dialog-content .field label{display:block;margin-bottom:5px}}
@media(max-width:700px){.library{align-self:stretch;width:100%;min-width:0}.library #library-content{width:100%;overflow-x:auto;overflow-y:hidden;max-height:145px;min-width:0;align-items:stretch}.library .study-card{flex-shrink:0}.library .project-actions{flex-shrink:0}.studio>*{min-width:0}.lesson ol{min-width:0}.model-badge{font-size:6px}.inspector .lesson{width:100%}}
@media(max-width:700px){#lesson{grid-column:1/-1}.inspector .lesson{display:block}.lesson ol{margin-top:17px}.lesson h2{font-size:27px}.lesson li{margin-bottom:13px;line-height:1.8}.challenge{margin-top:16px}}
/* v0.2: quieter workbench, explicit topology and readable engineering tools. */
:root{--ink:var(--tone-243d31,#243d31);--muted:var(--tone-63765e,#63765e);--line:var(--tone-ced6c4,#ced6c4)}.studio{grid-template-columns:230px minmax(0,1fr) 282px}.masthead{height:82px}.work-area{padding-top:28px}.work-heading{margin-bottom:20px}.project-name-line h1{font-size:38px}.study-info strong{font-size:11px}.study-info small{font-size:9px}.library-intro{font-size:11px}.lesson>p{font-size:12px;line-height:1.8}.lesson li{font-size:11px}.selection-copy{font-size:10px}.inspector{padding-top:32px}.inspector-section>.eyebrow{font-size:9px}.inspector summary{font-size:10px}.model-note p{font-size:10px}.code-wrap textarea,.code-wrap pre{font-size:12px;line-height:1.9}.notebook-head h2{font-size:25px}.breadboard-toolbar{display:flex;align-items:center;gap:9px;border:1px solid var(--tone-c4ccba,#c4ccba);border-top:0;background:var(--tone-edf0e5,#edf0e5);padding:9px 12px}.breadboard-toolbar label{display:flex;align-items:center;gap:12px;flex:1;font-size:8px;letter-spacing:1px}.breadboard-toolbar select{font-size:10px;letter-spacing:0;background:var(--tone-f8f8ef,#f8f8ef);border-color:var(--tone-cdd6bf,#cdd6bf);padding:6px 8px;max-width:285px;flex:1}.breadboard-toolbar button{font-size:9px}.breadboard-summary{font-size:9px;line-height:1.7;color:var(--tone-7a8b70,#7a8b70);padding:8px 12px;border:1px solid var(--tone-c4ccba,#c4ccba);border-top:0;background:var(--tone-f4f5eb,#f4f5eb)}.scene-label{font-family:var(--mono);font-size:10px;letter-spacing:1.4px;fill:var(--tone-84927a,#84927a)}.scene .component-ref{font-size:9px;fill:var(--tone-61755b,#61755b);paint-order:stroke;stroke:var(--tone-faf8ed,#faf8ed);stroke-width:3px;stroke-linejoin:round}.led-emitter,.led-hotspot{pointer-events:none}.wire-hit{cursor:pointer}.wire-group.selected-wire .wire-visible{stroke-width:3.5}.wire-group:hover .wire-visible{stroke-width:3.5}.wire-group:focus-within .wire-visible{stroke:var(--tone-a66e47,#a66e47);stroke-width:4}.route-handle{cursor:move}.route-handle:focus circle:first-child{stroke-width:3}.hole{cursor:crosshair}.hole:hover .hole-underlay,.hole:focus-visible .hole-underlay{fill:var(--tone-d8bb8b,#d8bb8b)}.hole.net-highlight .hole-underlay{fill:var(--tone-b6d3b1,#b6d3b1);stroke:var(--tone-7eaa76,#7eaa76);stroke-width:.7}.hole.pending .hole-underlay{fill:var(--tone-d8b47f,#d8b47f);stroke:var(--tone-ac7549,#ac7549);stroke-width:1.5}.hole.occupied .hole-core{fill:var(--tone-a79b7c,#a79b7c)}.hole:hover .hole-core,.hole:focus .hole-core{fill:var(--tone-9b6947,#9b6947)}.net-status{display:flex;justify-content:space-between;gap:12px;min-height:35px;padding:8px 13px;background:var(--tone-f3f4e9,#f3f4e9);border:1px solid var(--tone-c4ccba,#c4ccba);border-top:0;color:var(--tone-708166,#708166);font-size:9px;line-height:1.7}.net-status>span:first-child{flex:1}.net-status>span:last-child{font-size:8px;white-space:nowrap;color:var(--tone-9a7c54,#9a7c54)}.bench-bottom{font-size:8px}.mounted .part-hit{pointer-events:all}.mounted .part-hit:hover{stroke:var(--tone-9eae8b,#9eae8b)}.mount-panel,.route-panel{margin-top:18px;padding-top:14px;border-top:1px solid var(--tone-c7d1ba,#c7d1ba)}.mount-panel .eyebrow,.route-panel .eyebrow{font-size:8px;color:var(--tone-728568,#728568)}.mount-panel p,.route-panel p{font-size:10px;color:var(--tone-6f8265,#6f8265);line-height:1.8;margin:9px 0}.mount-panel .mounted-summary{font-size:11px;padding:9px 10px;background:var(--tone-e5edda,#e5edda);border:1px solid var(--tone-cad6bc,#cad6bc);border-radius:4px}.mount-panel>button.small{width:100%;margin-bottom:12px;min-height:33px}.mount-panel details{margin:4px 0 12px}.mount-panel summary{font-size:9px;padding:6px 0}.lead-selects{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;align-items:center;font-size:9px}.lead-selects select{font-size:10px;padding:6px;min-width:0}.lead-selects button{grid-column:1/-1}.route-actions{display:flex;gap:7px;margin:12px 0}.route-actions button{font-size:9px}.bend-row{display:flex;align-items:center;gap:6px;margin:9px 0;font-size:9px}.bend-row>span{color:var(--tone-a1ad90,#a1ad90)}.bend-row label{min-width:0;flex:1;font-size:8px;display:flex;gap:4px;align-items:center}.bend-row input{font-size:10px;width:100%;min-width:0;padding:4px}.bend-row>button{font-size:16px;border:0;padding:0 3px}.export-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.export-actions button{font-size:11px;min-height:39px}.export-actions .primary{margin:0!important;border-radius:5px}.export-actions [data-export=bundle]{grid-column:1/-1}.export-preview{border:1px solid var(--tone-d2dbc7,#d2dbc7);border-radius:5px;max-height:350px;overflow:auto;margin-top:16px;background:var(--tone-faf9f3,#faf9f3)}.export-preview svg{display:block;width:100%;height:auto}.export-limit{font-size:9px!important;color:var(--tone-7c8a70,#7c8a70)!important}.topology-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.topology-grid p{padding:12px;background:var(--tone-e9efdf,#e9efdf);border-radius:4px;font-size:10px!important}.power-button,.primary{font-size:11px}.run-strip{padding:14px}.diagnostic{font-size:10px;line-height:1.8}#motion-note:empty{display:none}
@media(max-width:1300px){.studio{grid-template-columns:206px minmax(0,1fr) 232px}.breadboard-toolbar{flex-wrap:wrap;gap:6px}.breadboard-toolbar label{flex-basis:100%;justify-content:space-between}.breadboard-toolbar select{max-width:unset}.breadboard-toolbar button{flex:1}.lesson li{font-size:10px}.lesson>p{font-size:11px}}
@media(max-width:1000px){.studio{grid-template-columns:194px minmax(0,1fr)}.inspector{grid-column:2;padding-top:0}.breadboard-toolbar label{flex-basis:auto}.breadboard-toolbar select{max-width:220px}.breadboard-toolbar{gap:7px}.breadboard-toolbar button{flex:unset}.breadboard-toolbar label{font-size:7px}.breadboard-toolbar button.small{font-size:8px}.library{grid-row:1/3}.net-status{font-size:8px}.mount-panel p{font-size:10px}}
@media(max-width:700px){.studio{display:flex}.masthead{height:75px}.breadboard-toolbar{padding:8px 9px}.breadboard-toolbar label{flex-basis:100%;font-size:7px;gap:8px}.breadboard-toolbar select{max-width:none;font-size:10px;padding:6px}.breadboard-toolbar button.small{flex:1;min-height:31px;font-size:9px}.breadboard-summary{font-size:9px;padding:8px 10px}.scene{min-height:245px}.work-area{padding-top:17px}.project-name-line h1{font-size:32px}.net-status{padding:8px 10px;flex-wrap:wrap;gap:4px;font-size:8px}.net-status>span:last-child{font-size:8px}.scene .scene-label{font-size:10px}.run-strip{padding:10px 9px}.power-button,.primary{font-size:10px;min-height:35px}.run-strip .small{min-height:35px}.code-wrap textarea,.code-wrap pre{font-size:11px}.lesson li{font-size:10px}.lesson>p{font-size:11px}.notebook-head h2{font-size:23px}.notebook-head button.small{font-size:8px}.mount-panel,.route-panel{margin-top:13px}.lead-selects{grid-template-columns:1fr}.lead-selects button{grid-column:1}.export-actions{grid-template-columns:1fr}.export-actions [data-export=bundle]{grid-column:1}.topology-grid{grid-template-columns:1fr}.selection-copy{font-size:10px}.scene:has(.breadboard-body){min-height:255px}}
.library-intro,.study-info small,.study-index,.category,.save-status,.work-heading .eyebrow,.bench-top .eyebrow,.bench-bottom,.selection-copy,.selection-empty,.selection-empty b,.lesson>p,.lesson li,.challenge p,.field,.model-note p,.model-note strong,.inspector details p,.connection-row span{color:var(--tone-68775e,#68775e)}.eyebrow,.category,.study-info small,.study-index{font-size:9px}.editor-tabs small{font-size:7px}.bench-bottom{font-size:9px}.diagnostic{font-size:10px}.lesson>p{font-size:11px}.lesson li{font-size:10px}.model-note p{font-size:9px}@media(max-width:700px){.bench-bottom{font-size:7px}.lesson li{font-size:9px}.lesson>p{font-size:10px}.study-info small{font-size:8px}.diagnostic{font-size:9px}}
.scene.seating [data-part],.scene.seating [data-part] *,.scene.seating .wire-hit,.scene.seating .terminal:not(.hole){pointer-events:none!important}.scene.seating .part:not(.mounted){opacity:.2}.scene.seating .hole{pointer-events:all}
/* v0.3 — a small instrument desk, kept in the same paper and ink language. */
.instrument-toolbar{display:flex;gap:12px;align-items:center;border:1px solid var(--tone-c4ccba,#c4ccba);border-top:0;background:var(--tone-e8eddf,#e8eddf);padding:9px 12px}.tool-modes{display:flex;gap:4px}.tool-modes button{font-size:10px;min-height:32px;padding:6px 10px}.tool-modes button[aria-pressed=true]{background:var(--tone-315741,#315741);color:var(--tone-faf8ed,#faf8ed);border-color:var(--tone-315741,#315741);box-shadow:0 2px 0 var(--tone-c1c9b5,#c1c9b5)}.instrument-toolbar>span{font-size:9px;color:var(--tone-77876c,#77876c);flex:1}.instrument-toolbar>button{font-size:9px;min-height:32px}.connection-desk{border:1px solid var(--tone-c4ccba,#c4ccba);border-top:0;padding:13px 15px;background:var(--tone-f6f6ec,#f6f6ec)}.terminal-card{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:65px}.loupe-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.loupe-title>.eyebrow{width:100%;font-size:8px;letter-spacing:1.4px}.loupe-title strong{font:18px Georgia,serif;color:var(--tone-334d38,#334d38);overflow-wrap:anywhere}.net-tag{font-size:9px;padding:3px 5px;border:1px solid var(--tone-c8d4be,#c8d4be);border-radius:3px;background:var(--tone-e9efdf,#e9efdf);color:var(--tone-6c805d,#6c805d)}.terminal-card p{font-size:10px;line-height:1.8;color:var(--tone-64775c,#64775c);margin:0}.net-members{display:block;font-size:8px;color:var(--tone-8b987e,#8b987e);line-height:1.8;overflow-wrap:anywhere}.loupe-actions{display:flex;flex-direction:column;gap:6px}.loupe-actions button{font-size:9px;min-height:31px}.connection-desk>p{font-size:10px;line-height:1.7;margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--tone-d3dbc8,#d3dbc8);color:var(--tone-6e8063,#6e8063);overflow-wrap:anywhere}.connection-desk>p[data-kind=hazard]{color:var(--tone-a3553e,#a3553e)}.connection-desk>p[data-kind=redundant],.connection-desk>p[data-kind=duplicate]{color:var(--tone-967c43,#967c43)}.continuity-controls:not([hidden]){display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;margin-top:12px;align-items:end}.continuity-controls label{min-width:0;font-size:9px;color:var(--tone-78896a,#78896a)}.continuity-controls select{display:block;width:100%;font-size:10px;margin-top:5px;padding:7px;min-width:0}.continuity-controls button{font-size:9px;min-height:32px}.scene.instrument-mode .wire-hit,.scene.instrument-mode .part,.scene.instrument-mode .part *{pointer-events:none!important}.terminal.probe-a .hole-underlay,.terminal.probe-a .terminal-dot{fill:var(--tone-c39862,#c39862);stroke:var(--tone-99703e,#99703e);stroke-width:1.4}.terminal.probe-b .hole-underlay,.terminal.probe-b .terminal-dot{fill:var(--tone-9dbbb1,#9dbbb1);stroke:var(--tone-5a8d82,#5a8d82);stroke-width:1.4}.check-panel{margin-bottom:22px;padding-bottom:14px}.check-panel summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:revert}.check-panel output{font-size:9px;border:1px solid var(--tone-c5d2ba,#c5d2ba);border-radius:12px;padding:3px 8px;margin-left:auto;color:var(--tone-728660,#728660)}.check-panel[data-state=error] output{border-color:var(--tone-c99b80,#c99b80);color:var(--tone-a4593f,#a4593f)}.check-scope{font-size:9px!important;line-height:1.8;color:var(--tone-809071,#809071)}.check-panel ul{list-style:none;margin:12px 0 0;padding:0}.check-item{display:flex;gap:9px;padding:10px 0;border-top:1px dashed var(--tone-cdd6c0,#cdd6c0)}.check-item>span{display:grid;place-items:center;border:1px solid var(--tone-b5bfa7,#b5bfa7);border-radius:50%;width:19px;height:19px;flex-shrink:0;font-size:10px;color:var(--tone-9a7a47,#9a7a47)}.check-item.error>span{border-color:var(--tone-bf8f71,#bf8f71);color:var(--tone-a95f43,#a95f43)}.check-item p,.check-clear p{font-size:10px;line-height:1.8;margin:0;color:var(--tone-6c7e60,#6c7e60)}.check-item button{font-size:9px;margin-top:7px}.check-clear b{font-size:10px;font-weight:400;color:var(--tone-54744e,#54744e)}.check-clear p{margin-top:8px}.probe-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.probe-heading>.eyebrow{font-size:9px}.probe-heading label{display:flex;align-items:center;gap:7px;font-size:9px}.probe-heading select{font-size:11px;padding:5px 7px;min-width:55px}.probe-reading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 8px;padding:12px 0 13px;border-bottom:1px dashed var(--tone-ccd7bf,#ccd7bf)}.probe-reading span{display:block;color:var(--tone-8a987c,#8a987c);font-size:7px;text-transform:uppercase;letter-spacing:1px}.probe-reading strong{font:22px Georgia,serif;display:block;margin-top:6px;font-weight:400;color:var(--tone-33583f,#33583f)}.probe-reading output{font-size:14px;color:var(--tone-a17e4d,#a17e4d)}.probe-actions{display:flex;gap:5px;margin:10px 0}.probe-actions button{font-size:8px;padding:5px 7px;min-height:29px}.probe-actions button:first-child{flex:1}.probe-detail{font-size:9px;line-height:1.8;color:var(--tone-687c5e,#687c5e);min-height:32px}.probe-samples,.probe-limits{font-size:8px;line-height:1.8;color:var(--tone-8a997a,#8a997a)}.probe-limits{margin-top:9px}.legacy-pin-label{display:none}.probe-panel #pin-watch{display:none}.trace-axis{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:7px;color:var(--tone-8b9c7c,#8b9c7c)}.trace-wrap{background:var(--tone-e9efdf,#e9efdf);padding:8px;border:1px solid var(--tone-d4ddc8,#d4ddc8);border-radius:3px}.trace-wrap>svg{display:block;width:100%;height:auto}.model-detail{margin-top:18px;padding:13px 0;border-top:1px solid var(--tone-ccd6bf,#ccd6bf)}.model-detail .eyebrow{font-size:8px}.model-detail p{font-size:10px;line-height:1.8;color:var(--tone-6a7e60,#6a7e60);margin:9px 0}.model-detail small{display:block;font-size:8px;line-height:1.8;color:var(--tone-8b987e,#8b987e)}.model-detail dl{margin:12px 0 0;display:grid;gap:5px}.model-detail dl>div{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--tone-6f8363,#6f8363)}.model-detail dd{margin:0;text-align:right;overflow-wrap:anywhere}.band-key{display:flex;align-items:center;gap:4px;margin:10px 0}.band-key i{height:14px;width:6px;border-radius:1px}.band-key span{font-size:8px;margin-left:5px;color:var(--tone-778a69,#778a69);overflow-wrap:anywhere}.net-status{display:none}.work-heading{margin-bottom:16px}
.net-status{display:flex}.net-status #net-note{display:none}.net-status:has(#motion-note:empty){display:none}
@media(max-width:1300px){.instrument-toolbar{flex-wrap:wrap;gap:7px}.instrument-toolbar>span{display:none}.instrument-toolbar>button{margin-left:auto}.tool-modes button{font-size:9px;padding:6px 8px}.terminal-card{grid-template-columns:150px minmax(0,1fr)}.loupe-actions{grid-column:1/-1;flex-direction:row}.loupe-actions:empty{display:none}.continuity-controls:not([hidden]){grid-template-columns:1fr 1fr}.probe-actions{flex-wrap:wrap}.probe-actions button{font-size:8px}.probe-reading strong{font-size:20px}}
@media(max-width:700px){.instrument-toolbar{padding:8px;gap:6px}.tool-modes{width:100%;gap:5px}.tool-modes button{flex:1;font-size:10px;min-height:35px}.instrument-toolbar>button{width:100%;font-size:10px;min-height:33px}.terminal-card{grid-template-columns:1fr;gap:8px;min-height:0}.terminal-card .loupe-title{gap:7px}.terminal-card .loupe-title>.eyebrow{font-size:8px}.loupe-title strong{font-size:20px}.terminal-card p{font-size:10px}.net-members{font-size:9px}.connection-desk{padding:13px}.connection-desk>p{font-size:10px}.continuity-controls:not([hidden]){grid-template-columns:1fr 1fr}.continuity-controls select{font-size:11px;min-height:35px}.continuity-controls button{min-height:35px}.check-panel,.probe-panel{grid-column:1/-1}.probe-heading>.eyebrow{font-size:10px}.probe-reading strong{font-size:28px}.probe-reading span{font-size:8px}.probe-reading output{font-size:18px}.probe-actions button{font-size:10px;min-height:35px}.probe-detail{font-size:10px;min-height:0}.probe-limits,.probe-samples{font-size:9px}.probe-panel .trace-wrap{max-height:130px;overflow:hidden}.probe-panel .trace-wrap>svg{max-height:95px}.trace-axis{font-size:8px}.model-detail p{font-size:10px}.loupe-actions button{min-height:35px}.check-item button{font-size:10px}.scene{touch-action:pan-y}}
/* v0.4: content, not a fixed empty canvas, sets the scale. */
body{font-size:13px}.studio{max-width:none;width:100%;grid-template-columns:220px minmax(0,1fr) 310px}.masthead{height:70px;margin:0 20px}.library{padding:22px 16px 22px 20px}.library h2{font-size:25px;margin:12px 0}.library-intro{font-size:11px;line-height:1.6}.library .tabs{margin:17px 0 12px}.work-area{padding:20px 18px 28px}.inspector{padding:22px 20px 24px 0}.project-name-line h1{font-size:34px}.work-heading{margin-bottom:15px}.edition,.save-status{font-size:10px}.brand-caption{font-size:8px}.eyebrow,.category,.study-info small,.study-index{font-size:10px}.study-info strong{font-size:12px}.study-card{padding:11px 5px}.search input{font-size:12px}.bench-toolbar{height:44px}.board-selector label{font-size:10px}.board-selector select{font-size:13px}.breadboard-toolbar label{font-size:10px}.breadboard-toolbar select{font-size:12px;max-width:340px}.breadboard-toolbar button.small{font-size:11px;min-height:34px}.breadboard-summary{font-size:11px;padding:7px 12px}.instrument-toolbar{padding:8px 12px}.instrument-toolbar>span{font-size:11px}.tool-modes button{font-size:12px;min-height:35px}.instrument-toolbar>button{font-size:11px}.bench-top{position:relative;inset:auto;padding:9px 12px;background:var(--tone-f1f2e7,#f1f2e7);border-bottom:1px solid var(--tone-d7dfcd,#d7dfcd);gap:10px}.bench-top .eyebrow{font-size:10px;white-space:nowrap}.view-controls{flex-wrap:wrap;align-items:center}.view-controls .small{font-size:11px;padding:5px 8px;min-height:30px}.view-controls output{font-size:11px;min-width:38px;text-align:center;color:var(--tone-7c8d6d,#7c8d6d)}.scene{width:100%;height:auto!important;max-height:none!important;min-height:0!important}.bench-bottom{position:relative;inset:auto;padding:9px 12px;border-top:1px solid var(--tone-d9dfce,#d9dfce);font-size:11px;line-height:1.7;background:var(--tone-f4f4ea,#f4f4ea)}.canvas-unit{font-size:9px}.scene .board-terminal .terminal-dot{fill:transparent;stroke:transparent}.scene .board-terminal:hover .terminal-dot,.scene .board-terminal:focus .terminal-dot,.scene .board-terminal.pending .terminal-dot{fill:var(--tone-dfae6833,#dfae6833);stroke:var(--tone-e1be78,#e1be78);stroke-width:2}.scene .component-ref{font-size:11px;stroke-width:2px}.board-silkscreen text{font-weight:500;letter-spacing:.1px}.led-aura{pointer-events:none}.scene .led-lens .led-body{stroke:var(--tone-73866e,#73866e)}.terminal-card{grid-template-columns:165px minmax(0,1fr) auto;min-height:60px}.terminal-card p,.connection-desk>p{font-size:12px}.net-members{font-size:10px}.loupe-title>.eyebrow{font-size:10px}.loupe-title strong{font-size:21px}.loupe-actions button{font-size:11px}.lesson>p,.lesson li,.selection-copy,.model-detail p,.model-note p,.check-item p,.check-clear p{font-size:12px;line-height:1.8}.lesson h2{font-size:25px}.lesson-number{font-size:31px}.lesson{padding-top:16px}.lesson ol{margin-top:14px}.lesson li{margin-bottom:11px}.challenge p{font-size:11px}.inspector summary,.inspector details p,.check-scope{font-size:11px!important}.inspector-top .eyebrow,.probe-heading>.eyebrow,.inspector-section>.eyebrow{font-size:10px}.probe-detail{font-size:11px}.probe-samples,.probe-limits{font-size:10px}.probe-actions button{font-size:10px}.field{font-size:11px}.field input[type=number]{font-size:12px;width:105px}.model-detail dl>div{font-size:12px}.model-detail small,.band-key span{font-size:10px}.mount-panel p,.route-panel p{font-size:12px}.mount-panel .mounted-summary{font-size:12px}.lead-selects{font-size:11px}.lead-selects select{font-size:12px}.mount-panel summary{font-size:11px}.wire-form,.wire-form select,.connection-row{font-size:11px}.code-wrap textarea,.code-wrap pre{font-size:14px;line-height:1.85}.diagnostic{font-size:12px}.run-strip .primary,.power-button,.run-strip .small{font-size:12px;min-height:35px}.assembly-meter>span:last-child{font-size:9px}.clock>span{font-size:13px}.notebook-head .eyebrow{font-size:10px}.notebook-head button.small{font-size:11px}dialog{width:min(1080px,94vw)}.export-preview{max-height:65vh}.export-preview svg{min-width:900px}.export-actions button{font-size:13px}.export-limit{font-size:11px!important}
@media(max-width:1500px){.studio{grid-template-columns:205px minmax(0,1fr) 270px}.library-intro{display:none}.library h2{font-size:23px}.terminal-card{grid-template-columns:145px minmax(0,1fr)}.loupe-actions{grid-column:1/-1;flex-direction:row}.instrument-toolbar>span{display:none}.breadboard-toolbar label{flex-basis:100%}.view-controls .small{font-size:10px}.work-area{padding-left:14px;padding-right:14px}.inspector{padding-right:14px}.lesson>p,.lesson li{font-size:11px}}
@media(max-width:1100px){.studio{grid-template-columns:185px minmax(0,1fr)}.library{padding-left:15px}.inspector{grid-column:2;padding:0 14px 25px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.inspector-top,#lesson,.model-note{grid-column:1/-1}.probe-panel{grid-column:1}.check-panel{grid-column:1/-1}.inspector-section{margin-top:12px}.terminal-card{grid-template-columns:140px minmax(0,1fr)}.model-detail p{font-size:11px}.bench-top{align-items:flex-start}.view-controls{justify-content:flex-end}}
@media(max-width:700px){.studio{display:flex;flex-direction:column}.masthead{margin:0 14px;height:66px}.brand{font-size:20px}.brand svg{width:28px}.head-actions{gap:5px}.head-actions .small{font-size:11px}.save-status,.edition{display:none}.library{position:relative;top:auto;padding:10px 14px;border-right:0;border-bottom:1px solid var(--tone-cbd4bf,#cbd4bf);max-height:none}.library .library-title,.library h2,.library-intro,.library-foot{display:none}.library .tabs{margin:0 0 9px;gap:20px}.library .tabs button{font-size:13px;padding:7px 0}.library .search{margin-bottom:9px}.library #library-content{max-height:90px;overflow:auto;display:flex;gap:7px;min-height:0}.library .category{display:none}.library .study-card{padding:8px;flex:0 0 175px;border:1px solid var(--tone-d1d9c5,#d1d9c5);border-radius:4px}.study-info strong{font-size:12px}.study-info small{font-size:10px}.work-area{padding:16px 12px 25px;width:100%}.project-name-line h1{font-size:29px}.work-heading .eyebrow{font-size:10px}.model-badge{font-size:7px;letter-spacing:.3px}.breadboard-toolbar label{font-size:10px}.breadboard-toolbar select{font-size:12px}.tool-modes button{font-size:12px;min-height:36px}.bench{overflow-x:auto;overscroll-behavior-x:contain}.bench-top,.bench-bottom{position:sticky;left:0;max-width:100%;width:100%;min-width:0}.bench-top{display:block;padding:8px}.bench-top .eyebrow{margin-bottom:7px;font-size:10px}.view-controls{justify-content:flex-start;gap:4px}.view-controls .small{font-size:11px;min-height:32px}.scene{min-width:850px;width:850px;touch-action:pan-x pan-y}.bench-bottom{font-size:10px;padding:8px}.bench-bottom .canvas-unit{display:none}.terminal-card{grid-template-columns:1fr;gap:8px}.terminal-card p,.connection-desk>p{font-size:12px}.loupe-title strong{font-size:21px}.net-members{font-size:11px}.run-strip{flex-wrap:wrap}.assembly-meter{flex-basis:100%;margin-bottom:2px}.clock{margin-left:auto}.notebook-head h2{font-size:23px}.notebook-head .small{font-size:10px}.code-wrap textarea,.code-wrap pre{font-size:13px}.inspector{display:grid;grid-template-columns:1fr;padding:0 14px 25px;gap:18px}.inspector>*,.probe-panel{grid-column:1!important}.inspector .lesson{display:block}.lesson>p,.lesson li,.challenge p{font-size:12px}.selection-copy,.model-detail p,.probe-detail{font-size:12px}.lead-selects{grid-template-columns:1fr 1fr}.lead-selects button{grid-column:1/-1}.export-preview svg{min-width:850px}.export-actions button{font-size:12px}.continuity-controls select{font-size:12px}.probe-limits{font-size:10px}}

.scene{max-height:680px!important}

.mounted .part-hit{pointer-events:none}.mounted-terminal{cursor:crosshair}

/* Original paper/ink character, now drawn by real 3D geometry. */
:root{--paper:var(--tone-f0ece1,#f0ece1);--panel:var(--tone-f8f5eb,#f8f5eb);--ink:var(--tone-343b30,#343b30);--line:var(--tone-d6d3c5,#d6d3c5);--green:var(--tone-53664d,#53664d);--muted:var(--tone-7a806e,#7a806e)}
.scene-stage{position:relative;width:100%;height:520px;background:var(--tone-f5f1e7,#f5f1e7);overflow:hidden;border-top:1px solid var(--tone-e2ddcf,#e2ddcf)}
.scene-stage canvas,.scene-stage .scene{position:absolute;inset:0;width:100%;height:100%!important;min-width:0;max-height:none!important;aspect-ratio:auto!important}
.scene-stage .scene{background:transparent;pointer-events:none;touch-action:none}.scene-stage .scene [data-terminal],.scene-stage .scene [data-part],.scene-stage .scene [data-wire],.scene-stage .scene [data-route-handle]{pointer-events:all}
.geometry-overlay .part-hit{fill:transparent;stroke:transparent;pointer-events:all}.geometry-overlay .selected .part-hit{stroke:var(--tone-9a8559,#9a8559);stroke-width:1.2;stroke-dasharray:3 4}
.geometry-overlay .terminal-dot{fill:transparent;stroke:transparent}.geometry-overlay .terminal:hover .terminal-dot,.geometry-overlay .terminal:focus .terminal-dot,.geometry-overlay .terminal.pending .terminal-dot{fill:var(--tone-e5cf9c77,#e5cf9c77);stroke:var(--tone-9a7745,#9a7745);stroke-width:1.5}
.geometry-overlay .net-highlight .terminal-dot{fill:var(--tone-bcc5a080,#bcc5a080);stroke:var(--tone-758560,#758560)}.scene-stage.orbiting{cursor:grab}.scene-stage.orbiting .scene{pointer-events:all}.scene-stage.orbiting .scene>*{pointer-events:none!important}.scene-stage.orbiting:active{cursor:grabbing}
.render-status{padding:5px 12px;font-size:10px;color:var(--tone-7a806c,#7a806c);background:var(--tone-f2eee3,#f2eee3);border-top:1px solid var(--tone-e1ddce,#e1ddce)}.orbit-controls{display:inline-flex;gap:3px}.orbit-controls[hidden]{display:none}.view-controls .small{border-radius:16px;padding:5px 10px}
.scene-stage.fallback{height:auto;min-height:350px}.scene-stage.fallback canvas{display:none}.scene-stage.fallback .scene{position:relative;height:auto!important;pointer-events:all}
.topology-guide h2{font:36px/1.1 Georgia,serif;margin:12px 0 14px!important}.topology-guide h2 em{color:var(--tone-657354,#657354)}.guide-intro{font-size:15px!important;max-width:63ch!important;line-height:1.7!important;margin-bottom:24px!important}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-step{padding:20px;border:1px solid var(--tone-d4d7c4,#d4d7c4);background:var(--tone-f6f3e8,#f6f3e8);border-radius:6px}.guide-heading{display:flex;gap:12px;align-items:center}.guide-heading>span{font-size:11px;border:1px solid var(--tone-b6bca6,#b6bca6);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.guide-step h3{font:21px/1.25 Georgia,serif!important;margin:0!important;color:var(--tone-303d2e,#303d2e)}.guide-step svg{width:100%;height:105px;margin:12px 0}.guide-step p{font-size:14px!important;line-height:1.75!important;color:var(--tone-4f5c46,#4f5c46)!important;margin:0!important}.guide-example{margin-top:22px;padding:18px 20px;border-left:3px solid var(--tone-a27451,#a27451);background:var(--tone-eeeddd,#eeeddd)}.guide-example>b{font:22px Georgia,serif}.guide-example p{font-size:14px!important;margin:8px 0!important;line-height:1.7!important}.guide-example>span{display:block;font-size:12px;color:var(--tone-67735a,#67735a);line-height:1.7}.guide-limit{font-size:11px!important;margin-top:16px!important;color:var(--tone-7a816e,#7a816e)!important}
@media(max-width:1100px){.scene-stage{height:460px}.view-controls{gap:4px}.guide-step{padding:16px}}
@media(max-width:700px){.scene-stage{width:850px;min-width:850px;height:470px}.scene-stage .scene{min-width:0;width:100%}.guide-grid{grid-template-columns:1fr}.topology-guide h2{font-size:29px}.guide-step h3{font-size:22px!important}.guide-step{padding:16px}.guide-intro{font-size:14px!important}.render-status{position:sticky;left:0;max-width:100%;font-size:10px}}

.wire-editor{margin:16px 0;padding-top:18px;border-top:1px solid var(--line)}.wire-control-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:17px 0 8px}.wire-control-label output{font-size:11px;color:var(--tone-6d755e,#6d755e)}.wire-palette{display:flex;gap:7px;align-items:center}.wire-palette button{background:var(--swatch);width:23px;height:23px;padding:0;border-radius:50%;border:3px solid var(--paper);outline:1px solid var(--tone-c5c6b8,#c5c6b8)}.wire-palette button[aria-pressed=true]{outline:2px solid var(--tone-364333,#364333)}.custom-wire-color{position:relative;width:25px;height:25px;border:1px dashed var(--tone-a5ad96,#a5ad96);border-radius:50%;display:grid;place-items:center;cursor:pointer}.custom-wire-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;padding:0}.custom-wire-color span{pointer-events:none}.wire-shapes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.wire-shapes button{padding:7px 3px;font-size:10px;border-radius:5px}.wire-shapes button[aria-pressed=true]{background:var(--tone-e4e7d7,#e4e7d7);border-color:var(--tone-839275,#839275)}.wire-shapes svg{display:block;margin:0 auto 4px;width:45px;height:26px;fill:none;stroke:var(--tone-826e47,#826e47);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.wire-editor input[type=range]{width:100%;accent-color:var(--tone-637451,#637451);cursor:ew-resize;padding:0;height:23px}.range-caption{display:flex;justify-content:space-between;font-size:9px;color:var(--tone-6e7861,#6e7861)}.wire-length-reading{display:flex;gap:9px;align-items:baseline;margin:16px 0 6px}.wire-length-reading b{font:25px Georgia,serif}.wire-length-reading span{font-size:10px}.wire-editor p{font-size:11px;line-height:1.7;color:var(--tone-6a735f,#6a735f)}.route-panel>summary{cursor:pointer;font-size:12px;margin:12px 0}.geometry-overlay .selected-wire .wire-hit{stroke:var(--tone-ab8b4944,#ab8b4944);stroke-width:9}

.wire-palette{gap:6px;flex-wrap:wrap}.wire-palette button,.custom-wire-color{width:30px;height:30px}.wire-editor input[type=range]{height:32px}.view-controls .small{min-height:32px}

#selection-desktop-slot[hidden],#inline-selection-slot[hidden]{display:none}#selection-desktop-slot #selection{margin:18px 0 24px;padding-top:16px;border-top:1px solid var(--line)}#selection .selection-head h3{font:23px Georgia,serif}#inline-selection-slot{margin:16px 0;padding:18px 20px;background:var(--tone-f6f3e9,#f6f3e9);border:1px solid var(--line);border-radius:7px}#inline-selection-slot #selection{margin:0;padding:0;border:0}#inline-selection-slot .wire-editor{max-width:640px}#inline-selection-slot .wire-shapes{max-width:380px}#inline-selection-slot .route-panel{max-width:640px}

/* v0.6 camera: compact, visible at every viewport size. */
:root{--nav-paper:var(--tone-fbfaf3,#fbfaf3);--nav-ink:var(--tone-36423c,#36423c);--nav-line:var(--tone-c6cfc3,#c6cfc3)}
.camera-nav{position:absolute;z-index:5;right:12px;top:12px;width:134px;padding:9px;background:var(--nav-paper);color:var(--nav-ink);border:1px solid var(--nav-line);border-radius:12px;box-shadow:0 4px 14px var(--tone-26332a12,#26332a12);user-select:none}
.camera-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.1px}.camera-heading output{text-transform:uppercase;font-size:8px;color:var(--tone-6c7d6b,#6c7d6b)}
.camera-globe{height:100px;cursor:grab;touch-action:none;border-radius:50%;outline-offset:-2px}.camera-globe:active{cursor:grabbing}.camera-globe svg{width:100%;height:100%;overflow:visible;fill:none;stroke:var(--tone-9caa9a,#9caa9a);stroke-width:.9}.camera-globe .globe-shell{fill:var(--tone-e6ebdd66,#e6ebdd66)}.camera-globe text{font:10px system-ui;fill:var(--tone-fff,#fff);stroke:none;text-anchor:middle;font-weight:700}.globe-center{fill:var(--tone-71806c,#71806c);stroke:none}
.camera-nav select{width:100%;font-size:10px;background:transparent;padding:5px 3px;border:1px solid var(--nav-line);border-radius:4px;color:inherit;min-height:28px}
.camera-nav button{padding:3px 6px;font-size:11px;min-height:30px;border:1px solid var(--nav-line);border-radius:5px;background:transparent;color:inherit;cursor:pointer}.camera-nav button:hover{background:var(--tone-dce6d988,#dce6d988)}.camera-nav button[aria-pressed=true]{background:var(--tone-53755b,#53755b);color:var(--tone-fff,#fff);border-color:var(--tone-53755b,#53755b)}.camera-zoom{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;text-align:center;margin:6px 0}.camera-zoom button{font-size:18px}.camera-zoom output{font-size:10px}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.scene-stage.pan-mode,.scene-stage.pan-mode .scene{cursor:grab}.scene-stage.navigating,.scene-stage.navigating *{cursor:grabbing!important}.scene-stage.navigating .terminal-dot{opacity:0}
.camera-help{padding:9px 12px;border-top:1px solid var(--line);font-size:11px;background:var(--paper)}.camera-help summary{cursor:pointer}.camera-help p{font-size:12px;line-height:1.8;margin:9px 0 3px;max-width:800px}.camera-status{padding:0 12px 8px;font-size:10px;margin:0;color:var(--tone-6a7c68,#6a7c68);background:var(--paper)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){.scene-stage{min-width:0!important;width:100%!important;height:450px!important}.scene-stage .scene{width:100%!important;min-width:0!important;touch-action:none}.camera-nav{width:114px;right:7px;top:7px;padding:7px}.camera-globe{height:84px}.camera-nav button{min-height:32px}.camera-help p{font-size:12px}.head-actions #theme-toggle{font-size:10px;padding:5px}.camera-heading{font-size:8px}.camera-zoom{grid-template-columns:28px 1fr 28px}.bench{overflow-x:clip}}
/* Keep the camera tool clear of the fitted work on narrow screens. */
.camera-footer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 18px;padding:11px 14px;border-top:1px solid var(--line);background:var(--paper)}
.scene-stage.fallback~.camera-footer{display:none}
.camera-footer .camera-help{padding:0;border:0;font-size:12px;line-height:1.7;background:transparent}
.camera-help summary{font-weight:600;white-space:nowrap;outline-offset:4px}
.camera-help[open]{grid-column:1/-1}.camera-help[open] summary{margin-bottom:12px}
#camera-gestures{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;max-width:860px}
#camera-gestures p{margin:0;font-size:12px;line-height:1.8}#camera-gestures b{display:block;font-size:12px;color:var(--ink);margin-bottom:2px}
.camera-footer .camera-status{padding:0;margin:0;font-size:11px;line-height:1.85;background:transparent;text-align:right}
.bench-bottom .render-status{position:static;padding:0;border:0;background:transparent;font-size:10px;line-height:1.6;text-align:right;flex-shrink:0;color:var(--muted)}
.scene-stage.fallback~.bench-bottom{align-items:flex-start}.scene-stage.fallback~.bench-bottom .render-status{flex-shrink:1;max-width:60%;text-align:left}
@media(max-width:700px){.camera-footer{grid-template-columns:1fr;gap:6px;padding:11px 12px}.camera-footer .camera-status{text-align:left}#camera-gestures{grid-template-columns:1fr;gap:12px}.bench-bottom{align-items:flex-start;flex-wrap:wrap;gap:4px}.bench-bottom .render-status{font-size:10px;text-align:left}.camera-nav select{font-size:11px}}
.camera-globe{height:76px}.camera-nav{width:124px;padding:8px}
@media(max-width:700px){.camera-globe{height:62px}.camera-nav{width:112px;padding:6px}.camera-nav select{min-height:26px}.camera-nav button{min-height:30px}.camera-zoom{margin:4px 0}.camera-heading{line-height:12px}}

/* v0.8: keep narrow controls inside the bench; preview size is view state only. */
.breadboard-toolbar label{min-width:0}.breadboard-toolbar select{width:0;min-width:0}
.schematic-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:24px}
.schematic-tools>div{display:flex;gap:5px}.schematic-tools button{min-height:34px;font-size:12px}
.schematic-tools button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--panel)}
#dialog-content .preview-note{font-size:12px;line-height:1.7;margin:10px 0}
.export-preview{margin-top:10px;overscroll-behavior:contain}
.export-preview svg{width:100%;min-width:0}
.export-preview[data-size=read] svg{width:1200px;min-width:100%}

/* Local project shelf. Storage status never implies an online account. */
.project-library-summary{display:flex;flex-direction:column;gap:4px;margin:16px 0;font-size:12px}.project-library-summary span{font-size:11px;color:var(--muted)}
.project-chip{display:grid;place-items:center;width:31px;height:36px;flex-shrink:0;border:1px solid var(--pcb);border-radius:5px;background:var(--pcb);color:#fff;font:10px monospace;box-shadow:inset 0 0 0 3px #ffffff25}
.project-card .study-info{min-width:0}.project-card strong{overflow-wrap:anywhere}.project-card small{line-height:1.5}.project-online{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:12px;line-height:1.7}.project-online p{color:var(--muted);margin:6px 0 12px}.project-actions .small{align-self:flex-start}
.catalog-symbol{width:40px;flex-shrink:0;display:block;color:var(--ink)}.catalog-symbol svg{width:100%;display:block}.breadboard-card .study-info{min-width:0}.breadboard-card small{line-height:1.5}.catalog-note{font-size:12px;line-height:1.8;color:var(--muted);padding:16px 8px;margin:8px 0}.placement-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--panel);border-block:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--ink)}.placement-prompt[hidden]{display:none}.placement-prompt button{flex-shrink:0}
@media(max-width:600px){.placement-prompt{flex-wrap:wrap}.part-card{min-height:66px}.catalog-symbol{width:36px}}
