@charset "UTF-8";
:root{--bg:#0d1419;--panel:#131d24;--panel-deep:#10191f;--line:#263239;--muted:#819198;--text:#e1e9e9;--teal:#79dfc3;--teal-dark:#1e493f;--copper:#d0a078;--red:#f09a8f;--mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--sans:Inter,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--sans);font-size:13px;background:var(--bg);color:var(--text);overflow:hidden}button,input,a{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button{transition:background .15s,color .15s,border-color .15s,opacity .15s}button:hover:not(:disabled){filter:brightness(1.12)}[hidden]{display:none!important}p{line-height:1.6}a{color:inherit;text-decoration:none}.app-header{height:84px;display:flex;align-items:center;padding:0 26px;gap:24px;background:#131d23;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:-.8px;flex-shrink:0}.brand-mark{color:var(--teal);width:38px;height:38px}.brand-light{font-weight:350}.brand-caption{display:block;margin-top:5px;font:9px var(--mono);letter-spacing:2.05px;color:var(--muted)}.header-engine{display:flex;align-items:center;gap:12px;margin-left:45px;font-size:11px}.tiny-label{font:9px var(--mono);letter-spacing:1px;color:var(--muted)}.header-engine strong{font:12px var(--mono);font-weight:500}.engine-divider{height:17px;border-left:1px solid #364249;margin:0 3px}.header-tag{font:9px var(--mono);letter-spacing:1px;color:var(--copper)}.connection{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:11px;color:#aabbbf;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--copper);box-shadow:0 0 0 4px #d0a0780c}.connection.connected .status-dot{background:var(--teal);box-shadow:0 0 0 4px #79dfc30a}.connection.disconnected .status-dot{background:var(--red)}.icon-button{border:0;background:transparent;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;font-size:20px;color:#9eafb5;flex-shrink:0}.icon-button:hover{background:#26353d;color:var(--text)}.help-button{font:13px var(--mono);border:1px solid #3a484f;width:24px;height:24px;border-radius:50%;margin-left:-7px}.workspace{display:grid;grid-template-columns:278px minmax(330px,1fr) 266px;height:calc(100vh - 84px)}.sidebar,.inspector{background:var(--panel);padding:27px 22px 18px;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#3b4b54 transparent}.sidebar{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line);padding-left:21px;padding-right:21px}.section-kicker{font:10px var(--mono);letter-spacing:1.4px;color:#c0cbce;display:flex;align-items:center;gap:9px;margin-bottom:17px;white-space:nowrap}.section-number{color:#5f777f;font-size:9px}.dropzone{width:100%;padding:20px 12px 17px;border:1px dashed #4a605f;background:#19272b;border-radius:7px;display:flex;flex-direction:column;align-items:center;color:#d9e5e4}.dropzone:hover,.dropzone.drag-over{border-color:var(--teal);background:#1c3434}.upload-icon{color:var(--teal);width:38px;height:38px;margin-bottom:8px}.upload-icon svg{width:100%;height:100%}.dropzone strong{font-weight:550;font-size:13px}.dropzone>span:not(.upload-icon):not(.format-tag){margin-top:7px;font-size:11px;color:#8fa5a7}.dropzone b{color:#c0d6d1;font-weight:500}.format-tag{margin-top:15px;border:1px solid #304544;border-radius:3px;padding:4px 6px;font:8px var(--mono);letter-spacing:1px;color:#84a19a}.text-button{border:0;padding:0;background:transparent;color:#a7b9bf;font-size:11px}.text-button:hover:not(:disabled){color:var(--teal)}.demo-button{margin:12px 0 0;display:flex;gap:8px;align-items:center;justify-content:center;width:100%;color:#8daba4}.demo-button span{font-size:15px}.section-rule{height:1px;flex-shrink:0;background:var(--line);margin:24px 0}.edition-tag{font:8px var(--mono);letter-spacing:.7px;color:var(--copper);border:1px solid #4a3d31;border-radius:3px;padding:3px 5px;margin-left:auto}.engine-card{background:#18282b;border:1px solid #2c4441;border-radius:6px;display:flex;align-items:center;gap:10px;padding:12px 9px;margin-bottom:7px}.engine-card strong{font-size:11px;font-weight:550}.engine-card p{font-size:10px;color:#90aaa4;margin:4px 0 0}.engine-glyph{font-size:26px;color:var(--teal)}.selected-tick{font-size:13px;color:var(--teal);margin-left:auto}.setting-block{padding:16px 0;border-bottom:1px solid #26333a}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.switch-row>span:first-child{display:flex;align-items:center;gap:7px;min-width:0}.switch-row strong{font-size:11px;font-weight:550}.mini-badge{font:9px var(--mono);border:1px solid #4a4237;padding:2px 4px;border-radius:3px;color:var(--copper)}.switch{position:relative;width:29px;height:16px;display:block;flex-shrink:0}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;z-index:2;cursor:pointer}.switch-track{display:block;width:100%;height:100%;border-radius:9px;background:#39464f;transition:.15s}.switch-track:before{content:"";display:block;position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#a1b0b8;transition:.15s}.switch input:checked+.switch-track{background:#4b9d85}.switch input:checked+.switch-track:before{left:16px;background:#c0fae7}.switch input:focus-visible+.switch-track{outline:2px solid var(--teal);outline-offset:4px}.switch input:disabled{cursor:not-allowed}.switch input:disabled+.switch-track{opacity:.45}.setting-block p{font-size:10px;color:var(--muted);margin:8px 0 0;line-height:1.65;max-width:210px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:10px;cursor:pointer;color:#9cabb2}.checkbox-row input,.autoscroll-label input{accent-color:var(--teal);width:12px;height:12px;margin:0;cursor:pointer}.fanout-only{margin-top:13px;color:var(--copper)}.number-settings{display:flex;gap:13px;padding-top:18px}.number-settings>label{width:50%;font-size:10px;color:#bdc9ce}.number-settings input{width:100%;margin-top:8px;background:#0f1a21;border:1px solid #34434c;border-radius:4px;color:#d9e7e7;padding:9px 10px;font:12px var(--mono);height:34px;appearance:textfield}.number-settings input::-webkit-outer-spin-button,.number-settings input::-webkit-inner-spin-button{appearance:none}.number-settings>label>span{font-size:9px;display:block;color:#748a94;margin-top:6px}.number-unit{position:relative}.number-unit input{padding-right:32px}.number-unit>span{position:absolute;right:10px;top:20px;font:10px var(--mono);color:#7d949c}.run-controls{margin-top:24px}.primary-button{border:1px solid #8ce9cd;border-radius:5px;background:var(--teal);color:#10382d;padding:11px 13px;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:39px}.primary-button svg{width:17px;height:17px}.primary-button:disabled{background:#28463e;border-color:#38554c;opacity:.68;color:#8bafa2}.button-shortcut{margin-left:auto;border:1px solid #438f77;padding:0 4px;line-height:18px;opacity:.65;font:12px var(--mono)}.run-hint{text-align:center;margin:9px 0 0;color:#81998e;font-size:9px;min-height:14px}.stop-button{border:1px solid #77564e;border-radius:5px;background:#3a2927;color:#efb3a1;width:100%;min-height:39px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:9px}.stop-square{display:inline-block;width:9px;height:9px;border-radius:1px;background:currentColor}.sidebar-foot{padding-top:22px;margin-top:auto;font-size:9px;color:#687f86;display:flex;align-items:center;justify-content:center;gap:5px}.lock-icon{font-size:21px;line-height:10px;color:#88a198}.file-card{display:flex;gap:10px;align-items:center;background:#18282b;border:1px solid #304946;border-radius:6px;padding:14px 10px}.file-symbol{font:9px var(--mono);color:var(--teal);border:1px solid #41725f;border-radius:3px;padding:9px 4px}.file-copy{min-width:0;flex:1}.file-copy strong{font-size:11px;font-weight:550;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:155px}.file-copy span{display:block;color:#8ca59d;font-size:10px;margin-top:6px}.file-card .icon-button{width:21px;font-size:22px}.board-section{min-width:0;display:flex;flex-direction:column;overflow:hidden}.board-toolbar{height:57px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #202d35;background:#101a20;gap:8px}.board-title{display:flex;align-items:center;gap:8px;white-space:nowrap}.board-title strong{font-size:11px;font-weight:500;color:#c3d1d4}.board-title-dot{width:5px;height:5px;border:1px solid #7b9b9e;border-radius:50%}.preview-tag{font:8px var(--mono);letter-spacing:.7px;color:#58747e;border:1px solid #2c3b44;border-radius:3px;padding:3px 5px;margin-left:4px}.view-controls{display:flex;align-items:center;gap:3px}.view-controls .icon-button{font-size:17px;width:24px;height:24px}.view-controls>span:not(.toolbar-divider){font:10px var(--mono);color:#89a0ab;min-width:44px;text-align:center}.toolbar-divider{height:15px;width:1px;background:#30414b;margin:0 7px}.toolbar-button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#a3b7bf;font-size:10px;padding:4px}.toolbar-button svg{width:14px;height:14px}.canvas-wrap{position:relative;min-height:230px;flex:1;overflow:hidden;background:#0c161d}.canvas-wrap canvas{display:block;position:absolute;width:100%;height:100%;cursor:grab;outline-offset:-3px}.canvas-wrap canvas.dragging{cursor:grabbing}.empty-board{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;padding:25px;text-align:center;pointer-events:none}.empty-board-art{width:170px;margin:0 auto 15px;color:#416059;opacity:.78}.empty-board-art svg{width:100%}.eyebrow{font:8px var(--mono);letter-spacing:2px;color:#88ab9f}.empty-board h1{font-size:23px;font-weight:450;letter-spacing:-.4px;margin:14px 0 12px;color:#cbdad9}.empty-board p{font-size:11px;line-height:1.8;color:#758e98;margin:0}.empty-keys{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:#52727e;margin-top:30px}.empty-keys>span{margin:0 5px;color:#486470}.empty-keys kbd{border:1px solid #263e47;border-radius:3px;padding:3px 4px;font:8px var(--mono);color:#76939d}.canvas-axis{position:absolute;bottom:20px;left:22px;width:25px;height:31px;pointer-events:none;font:8px var(--mono);color:#3f626d}.axis-origin{position:absolute;font-size:30px;bottom:0;left:0}.axis-x{position:absolute;bottom:5px;right:0}.axis-y{position:absolute;left:3px;top:0}.canvas-label{position:absolute;left:20px;top:17px;border:1px solid #314b45;background:#132721e8;border-radius:4px;font:9px var(--mono);letter-spacing:.5px;padding:7px 9px;color:#a2c7ba;display:flex;align-items:center;gap:7px;pointer-events:none}.live-dot{display:inline-block;width:4px;height:4px;background:#88c2a6;border-radius:50%}.board-statusbar{height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;padding:0 17px;border-top:1px solid #22333d;border-bottom:1px solid #22333d;color:#658492;font:9px var(--mono);background:#101b23}.board-statusbar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-panel{height:182px;flex-shrink:0;background:#0e181f}.activity-panel.collapsed{height:42px}.activity-header{display:flex;align-items:center;justify-content:space-between;height:42px;padding:0 16px;border-bottom:1px solid #1e303a}.activity-title{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;font-size:10px;color:#a1b4bd}.terminal-icon{font:13px var(--mono);color:#6ca891}.activity-title>#logCount{font:9px var(--mono);color:#577783;background:#172a34;padding:2px 5px;border-radius:3px}.activity-title>#logChevron{margin-left:5px;color:#607c86}.activity-actions{display:flex;align-items:center;gap:17px}.autoscroll-label{display:flex;align-items:center;gap:6px;font-size:9px;color:#6f8b99;cursor:pointer}.autoscroll-label input{width:10px;height:10px;opacity:.7}.activity-actions .text-button{font-size:9px;color:#7d9aa6}.log-scroll{height:calc(100% - 42px);overflow:auto;padding:9px 17px;scrollbar-width:thin;scrollbar-color:#354852 transparent}.log-scroll pre{margin:0;color:#8da5ae;font:10px/1.7 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.log-placeholder{font:10px/1.7 var(--mono);color:#4d6a78;padding-top:3px}.log-placeholder>span{margin-right:8px;color:#325343}.job-state{display:flex;align-items:center;gap:11px;margin:5px 0 18px}.job-state-icon{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid #374b54;border-radius:50%;color:#80a193;font-size:21px;flex-shrink:0}.job-state h2{font-size:13px;font-weight:550;margin:0 0 5px}.job-state p{font-size:10px;color:#78919a;margin:0}.job-state.running .job-state-icon{border-color:#508774;color:var(--teal)}.job-state.running .job-state-icon{animation:breathe 2s infinite}.job-state.completed .job-state-icon{border-color:#487d67;background:#1c332b;color:var(--teal)}.job-state.failed .job-state-icon{border-color:#754c42;color:var(--red);background:#35241f}.elapsed-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8ba0a8}.elapsed-row strong{font:12px var(--mono);font-weight:450;color:#c5d5d7}.phase-track{display:flex;gap:4px;margin-top:15px}.phase-track>span{display:block;height:3px;background:#2c3e47;flex:1;border-radius:3px}.phase-track>span.complete{background:#548b76}.phase-track>span.current{background:var(--teal);box-shadow:0 0 7px #79dfc325}.phase-track>span.skipped{opacity:.25}.phase-caption{display:flex;align-items:center;justify-content:space-between;gap:7px;font:8px var(--mono);color:#6d9295;margin-top:7px;min-height:12px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.stat-card{background:#101a22;border:1px solid #293b46;border-radius:5px;padding:11px 11px 10px;min-height:91px}.stat-card>span{font-size:9px;color:#8ea8b2;display:block}.stat-card>strong{display:block;font:24px var(--mono);font-weight:450;letter-spacing:-1px;margin:9px 0 6px;color:#d6e3e3}.stat-card:first-child>strong{color:#c9ac88}.stat-card>small{font:8px var(--mono);color:#607f8c;display:block;min-height:10px}.stat-card>small.improved{color:#77b79d}.muted-count{margin-left:auto;font:9px var(--mono);color:#657f8a;letter-spacing:0}.layers-list{display:flex;flex-direction:column;gap:10px;max-height:185px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#32434c transparent}.layer-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:11px;line-height:17px;color:#a8bdc5}.layer-row>input{appearance:none;border:1px solid #4a626d;width:12px;height:12px;margin:0;border-radius:3px;cursor:pointer;position:relative;flex-shrink:0}.layer-row>input:checked{background:#213b35;border-color:#4c8a71}.layer-row>input:checked:after{content:"✓";position:absolute;top:-4px;left:1px;color:#9be7c5;font-size:11px}.layer-color{width:6px;height:6px;border-radius:2px;display:block;flex-shrink:0}.layer-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.layer-row>small{font:8px var(--mono);color:#5f808b;flex-shrink:0}.muted-empty{font-size:10px;color:#5f7c88;margin:0;line-height:1.6}.view-option{margin-top:16px;color:#758f9a;font-size:9px}.export-button{display:flex;align-items:center;gap:10px;padding:11px 9px;background:#192831;border:1px solid #37515d;border-radius:5px;width:100%;text-align:left}.export-file-type{font:9px var(--mono);border:1px solid #547366;padding:8px 5px;color:#9bcebc;border-radius:3px}.export-button strong{display:block;font-size:10px;font-weight:550;color:#bdcdd4}.export-button small{display:block;font-size:8px;color:#829eac;margin-top:6px}.download-arrow{font-size:19px;color:#9cbdc8;margin-left:auto}.secondary-downloads{display:flex;justify-content:space-between;margin-top:13px;gap:8px}.secondary-downloads button{font-size:9px;color:#91afbb}.secondary-downloads button span{margin-left:4px}.export-note{color:#587581;font-size:9px;line-height:1.7;margin-top:18px;margin-bottom:22px}.inspector-foot{padding-top:22px;margin-top:auto;font:8px var(--mono);color:#4f707e;line-height:1.8}.inspector-foot>span:last-child{display:block;color:#455f6c;font-size:8px}.job-error{margin-top:14px;padding:10px;background:#352620;border:1px solid #6b4c40;border-radius:4px;color:#e1ab94;overflow-wrap:anywhere;font-size:10px;line-height:1.5}.connection-banner{position:fixed;top:84px;z-index:20;width:100%;background:#533c25;color:#efc89c;border-bottom:1px solid #886342;padding:9px 18px;text-align:center;font-size:12px}.board-busy{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;border:1px solid #3b5458;border-radius:6px;padding:13px 18px;background:#182930ed;color:#bbd4d1;font-size:12px;z-index:3;box-shadow:0 8px 40px #0004}.spinner{width:15px;height:15px;border:2px solid #3c6260;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 18px;border:1px solid #577a6e;border-radius:6px;background:#20362f;box-shadow:0 8px 40px #0006;color:#c5e3d7;max-width:calc(100vw - 40px);font-size:12px;z-index:100;line-height:1.5}.toast.error{border-color:#885846;background:#3c2922;color:#efc1ab}.noscript{padding:15px;background:#533323;color:#ffd6ae}dialog{background:#15232b;border:1px solid #3f5c61;border-radius:10px;max-width:460px;padding:25px;color:#b1c6ca;box-shadow:0 20px 100px #0007}dialog::backdrop{background:#071016c9;backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header .section-kicker{font-size:9px;margin:0;color:#8ac5ae}.dialog-header .icon-button{font-size:23px}dialog h2{font-size:26px;line-height:1.3;font-weight:400;color:#dce9e5;letter-spacing:-.5px}dialog p{font-size:12px;line-height:1.75}.about-callout{background:#1a302e;border:1px solid #33564c;border-radius:5px;padding:13px 14px;margin:20px 0}.about-callout strong{font-size:12px;color:#acdeca}.about-callout p{font-size:11px;margin:6px 0 0;color:#8bb5aa}.about-small{color:#72929f!important;font-size:10px!important}dialog>.primary-button{margin-top:22px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{box-shadow:0 0 0 5px #72d9b30d}}
@media(min-width:1550px){.workspace{grid-template-columns:300px minmax(430px,1fr) 288px}.sidebar,.inspector{padding-left:27px;padding-right:27px}.app-header{padding:0 30px}.header-engine{margin-left:64px}.activity-panel{height:195px}.empty-board h1{font-size:27px}.empty-board-art{width:200px}.empty-board p{font-size:12px}}
@media(max-width:1150px){.header-engine{margin-left:8px;gap:8px}.header-engine>.tiny-label{display:none}.header-tag{font-size:8px}.workspace{grid-template-columns:242px minmax(300px,1fr) 225px}.sidebar,.inspector{padding-left:16px;padding-right:16px}.section-kicker{font-size:9px;letter-spacing:1px;gap:7px}.engine-card{gap:8px}.engine-card strong{font-size:10px}.engine-card p{font-size:9px}.engine-glyph{font-size:22px}.switch-row strong{font-size:10px}.number-settings{gap:10px}.board-toolbar{padding:0 12px}.board-title{gap:5px}.preview-tag{display:none}.canvas-status{padding:0 12px}.stat-card{padding:10px 8px}.stat-card strong{font-size:23px}.job-state{gap:8px}.job-state h2{font-size:11px}.export-button{gap:7px;padding:10px 7px}.export-button strong{font-size:9px}.export-button small{font-size:7px}.export-file-type{font-size:8px}.empty-board h1{font-size:20px}.empty-board-art{width:145px}.app-header{padding:0 20px;gap:18px}.brand{font-size:22px}.brand-caption{font-size:8px}.connection{font-size:10px}.phase-caption{font-size:7px}}
@media(max-width:900px){html,body{height:auto;min-height:100%}body{overflow:auto}.app-header{height:72px;padding:0 16px}.header-engine{display:none}.workspace{height:auto;min-height:calc(100vh - 72px);grid-template-columns:240px minmax(0,1fr)}.sidebar{grid-column:1;grid-row:1/3}.board-section{grid-column:2;grid-row:1;min-height:560px}.inspector{grid-column:2;grid-row:2;border-left:0;border-top:1px solid var(--line);padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.inspector>.section-kicker:first-child{grid-column:1/3}.job-state{grid-column:1/3;margin-top:0}.elapsed-row{grid-column:1/3}.phase-track,.phase-caption,.stats-grid,.job-error,.inspector>.section-rule,.inspector>.section-kicker,.layers-list,.inspector>.view-option,.export-note,.inspector-foot{grid-column:1/3}.stats-grid{grid-template-columns:repeat(4,1fr)}.stat-card{min-height:82px}.stat-card strong{font-size:20px}.stat-card small{font-size:7px}.inspector .section-rule{margin:20px 0}.inspector-foot{padding-top:0}.layers-list{display:grid;grid-template-columns:1fr 1fr}.export-note{margin-bottom:12px}.secondary-downloads{margin:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px}.export-button{max-width:230px}.empty-board h1{font-size:21px}.sidebar-foot{margin-top:20px}.connection-banner{top:72px}.activity-panel{height:150px}.file-copy strong{max-width:132px}.empty-keys{gap:4px;font-size:8px}.empty-keys>span{margin:0 2px}.board-statusbar>span:last-child{display:none}}
@media(max-width:600px){.app-header{height:68px;padding:0 14px;gap:13px}.brand{font-size:20px;gap:8px}.brand-mark{width:31px;height:31px}.brand-caption{font-size:6px;letter-spacing:1.6px}.connection{font-size:9px;gap:6px}.help-button{display:none}.workspace{display:flex;flex-direction:column;min-height:0}.sidebar{border-right:0;padding:21px 20px}.sidebar>.section-rule{margin:20px 0}.dropzone{padding:13px}.upload-icon{width:28px;height:28px;margin-bottom:4px}.format-tag{margin-top:10px}.file-copy strong{max-width:260px}.sidebar-foot{margin-top:0;padding-top:14px}.engine-card{margin-bottom:0}.engine-card strong{font-size:12px}.engine-card p{font-size:10px}.setting-block p{max-width:100%;font-size:11px}.switch-row strong{font-size:12px}.number-settings{padding-top:15px}.number-settings>label{font-size:11px}.run-controls{margin-top:20px}.board-section{height:540px;min-height:540px;border-top:1px solid var(--line)}.board-toolbar{padding:0 17px}.board-title strong{font-size:12px}.board-statusbar>span:last-child{display:block;font-size:8px}.empty-board-art{width:140px}.empty-board h1{font-size:22px}.activity-panel{height:150px}.inspector{border-top:1px solid var(--line);padding:22px 20px}.inspector>.section-kicker{font-size:10px}.job-state h2{font-size:14px}.stats-grid{gap:7px}.stat-card{padding:10px 8px}.stat-card>span{font-size:9px}.stat-card>strong{font-size:23px}.stat-card>small{font-size:7px}.phase-caption{font-size:8px}.export-button strong{font-size:11px}.export-button small{font-size:9px}.export-file-type{font-size:10px}.connection-banner{top:68px;font-size:11px}.empty-keys{font-size:9px;gap:6px}.empty-keys>span{margin:0 3px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.force-stop-button{display:block;margin:10px auto 0;border:0;background:none;color:#d39b89;font-size:10px;text-decoration:underline;text-underline-offset:3px}.view-options{display:flex;gap:16px;grid-column:1/3}.brand{font-size:22px}.brand-caption{letter-spacing:1.7px}.brand-mark{color:#e4b688}.stat-card>small{line-height:1.45}.stat-card>strong{font-size:23px}.stat-card:nth-child(3)>strong{font-size:21px}.canvas-wrap canvas{touch-action:none}

.width-check{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;padding:11px 1px 0;grid-column:1/3;font-size:9px;color:#8ea8b2}.width-check strong{font:12px var(--mono);color:#bdd1cf}.width-check small{width:100%;font:8px var(--mono);color:#607f8c}.width-check strong.width-warning{color:#e0b182}

.sidebar{overflow:hidden}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:3px;scrollbar-width:thin;scrollbar-color:#354951 transparent}.run-controls{flex-shrink:0;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.sidebar-foot{flex-shrink:0;margin-top:0;padding-top:10px}.advanced-rules{border-bottom:1px solid var(--line);padding:14px 0}.advanced-rules summary{cursor:pointer;color:#9cb5bd;font-size:10px;user-select:none}.advanced-rules summary>span{float:right;font:8px var(--mono);letter-spacing:.5px;color:#58757f;padding-top:2px}.advanced-rules[open] summary{margin-bottom:3px}.advanced-rules .setting-block:last-child{border-bottom:0;padding-bottom:0}.advanced-rules .switch-row strong{line-height:1.45}.advanced-rules .setting-block{padding-top:13px;padding-bottom:13px}.deep-search-setting .mini-badge{font-size:7px;letter-spacing:.5px;padding:2px 4px;border-color:#375a4c;color:#85bba2}.sidebar-scroll>.section-rule{margin-top:21px;margin-bottom:21px}@media(max-width:900px){.sidebar-scroll{flex:initial;overflow:visible;padding-right:0}.sidebar{overflow:visible}.run-controls{margin-top:20px}.sidebar-foot{margin-top:0}}

.rule-policy{margin:10px 0 0;color:#82ab9c;font-size:9px;display:flex;align-items:center;gap:6px}.rule-policy>span{color:#83c4aa}.header-engine strong{font-size:11px}

.secondary-downloads{flex-wrap:wrap;row-gap:12px}.secondary-downloads>button{white-space:nowrap}.number-settings>label>span{line-height:1.45}@media(max-width:900px){.secondary-downloads{flex-wrap:nowrap}}

/* Comfortable default type and persistent desktop actions. */
:root{--muted:#a0b1ba}
body{font-size:16px}
.app-header{height:88px;gap:22px;padding:0 24px}
.brand{font-size:29px;gap:12px}
.brand-mark{width:42px;height:42px}
.brand-caption{font-size:12px;letter-spacing:1.25px;margin-top:6px;color:#a6b8bf}
.header-engine{margin-left:24px;gap:11px}
.tiny-label,.header-tag{font-size:13px;letter-spacing:.6px}
.header-engine strong{font-size:15px}
.connection{font-size:14px;color:#b3c8cb}
.help-button{font-size:16px;width:29px;height:29px}
.workspace{height:calc(100vh - 88px);grid-template-columns:324px minmax(390px,1fr) 324px}
.sidebar,.inspector{padding:20px;min-height:0}
.sidebar-scroll{padding-right:7px}
.section-kicker{font-size:13px;letter-spacing:1px;gap:9px;margin-bottom:16px;color:#c2d0d5}
.section-number{font-size:13px;color:#91aab4}
.edition-tag{font-size:12px;letter-spacing:.4px;padding:3px 5px}
.dropzone{padding:19px 12px}
.dropzone strong{font-size:17px}
.dropzone>span:not(.upload-icon):not(.format-tag){font-size:14px;color:#a4bcbf}
.format-tag{font-size:12px;letter-spacing:.55px;color:#aac6bc}
.text-button,.demo-button{font-size:14px}
.demo-button{margin-top:12px;line-height:1.5}
.file-symbol{font-size:13px;padding:10px 5px}
.file-copy strong{font-size:15px;max-width:none}
.file-copy span{font-size:13px;color:#a5bfb5;line-height:1.5}
.file-card .icon-button{width:28px;height:34px}
.engine-card{padding:13px 10px;gap:10px}
.engine-card strong{font-size:15px;line-height:1.45}
.engine-card p{font-size:13px;line-height:1.5;color:#a4c1b6}
.engine-glyph{font-size:27px}
.selected-tick{font-size:18px}
.setting-block{padding:16px 0}
.switch-row{gap:10px;min-height:26px}
.switch-row strong{font-size:15px;line-height:1.45}
.switch-row>span:first-child{gap:6px;flex-wrap:wrap}
.switch{width:38px;height:22px}
.switch-track{border-radius:12px}
.switch-track:before{width:16px;height:16px;left:3px;top:3px}
.switch input:checked+.switch-track:before{left:19px}
.mini-badge,.deep-search-setting .mini-badge{font-size:11px;letter-spacing:.35px;padding:3px 5px}
.setting-block p{font-size:14px;max-width:none;line-height:1.55;color:#a6b5bd;margin-top:8px}
.checkbox-row{font-size:14px;line-height:1.5;gap:9px}
.checkbox-row input,.autoscroll-label input{width:16px;height:16px;flex-shrink:0}
.fanout-only{margin-top:12px;font-size:13px}
.advanced-rules{padding:15px 0}
.advanced-rules summary{font-size:15px;color:#bfd0d5;line-height:1.5}
.advanced-rules summary>span{font-size:12px;letter-spacing:.3px;color:#91aab4;padding-top:4px}
.advanced-rules .setting-block{padding:15px 0}
.rule-policy{font-size:13px;line-height:1.5;color:#a8cabc;margin-top:12px;gap:8px}
.number-settings{gap:14px;padding:18px 0 8px}
.number-settings>label{font-size:14px;line-height:1.45;color:#c5d1d6}
.number-settings input{height:43px;font-size:17px;padding:10px 11px}
.number-settings>label>span{font-size:13px;line-height:1.45;color:#9cb1bd}
.number-unit>span{font-size:13px;top:23px;right:10px;color:#a2b9c2}
.run-controls{padding-top:14px;margin-top:14px;flex-shrink:0}
.primary-button,.stop-button{font-size:16px;min-height:46px;line-height:1.4;padding:11px 13px}
.primary-button svg{width:20px;height:20px}
.button-shortcut{font-size:15px;padding:2px 5px}
.run-hint{font-size:13px;line-height:1.45;margin-top:9px;color:#a4bdaf}
.force-stop-button{font-size:14px;margin-top:12px;line-height:1.5}
.sidebar-foot{font-size:13px;color:#9db2ba;line-height:1.45;padding-top:10px;gap:6px;text-align:center}
.board-toolbar{height:61px;padding:0 19px}
.board-title strong{font-size:15px}
.board-title-dot{width:7px;height:7px}
.preview-tag{font-size:11px;letter-spacing:.4px;padding:4px 5px;color:#9fb5bd}
.view-controls{gap:5px}
.view-controls .icon-button{width:31px;height:33px;font-size:22px}
.view-controls>span:not(.toolbar-divider){font-size:14px;min-width:54px;color:#b2c8ce}
.toolbar-button{font-size:14px;padding:6px;gap:7px;min-height:34px}
.toolbar-button svg{width:17px;height:17px}
.canvas-label{font-size:13px;letter-spacing:.2px;padding:8px 10px}
.canvas-axis{font-size:11px;color:#8aa6b2}
.board-statusbar{height:36px;font-size:13px;color:#9fb6c2;padding:0 15px;gap:12px}
.empty-board-art{width:155px;margin-bottom:12px}
.eyebrow{font-size:12px;letter-spacing:1.4px;color:#a6c8b9}
.empty-board h1{font-size:29px;margin:14px 0 12px}
.empty-board p{font-size:16px;line-height:1.6;color:#a2b7c0}
.empty-keys{font-size:13px;color:#9bb6bf;gap:7px;margin-top:23px;flex-wrap:wrap}
.empty-keys kbd{font-size:12px;color:#abc3ca;padding:4px 5px}
.activity-panel{height:198px}
.activity-panel.collapsed{height:48px}
.activity-header{height:48px;padding:0 16px}
.activity-title{font-size:15px;gap:9px;color:#c4d2d8}
.terminal-icon{font-size:17px}
.activity-title>#logCount{font-size:13px;color:#afc8d0;padding:3px 6px}
.activity-actions{gap:16px}
.autoscroll-label,.activity-actions .text-button{font-size:13px;color:#a7bfcb}
.autoscroll-label input{width:15px;height:15px;opacity:1}
.log-scroll{height:calc(100% - 48px);padding:11px 16px}
.log-scroll pre,.log-placeholder{font-size:14px;line-height:1.6;color:#afc1ca}
.log-placeholder{color:#91acb9}
.job-state{gap:12px;margin:5px 0 19px}
.job-state h2{font-size:17px;line-height:1.4}
.job-state p{font-size:14px;line-height:1.5;color:#a6bcc6}
.job-state-icon{width:38px;height:38px;font-size:24px}
.elapsed-row{font-size:14px;line-height:1.5;color:#aabdca}
.elapsed-row strong{font-size:16px}
.phase-track{margin-top:15px;gap:5px}
.phase-track>span{height:4px}
.phase-caption{font-size:12px;line-height:1.5;color:#a1bdbf;margin-top:8px;align-items:flex-start}
.phase-caption>span:first-child{min-width:0;overflow-wrap:anywhere}
.phase-caption>span:last-child{white-space:nowrap}
.stats-grid{gap:10px;margin-top:18px}
.stat-card{padding:13px 11px;min-height:119px}
.stat-card>span{font-size:13px;line-height:1.4;color:#b1c7d0}
.stat-card>strong,.stat-card:nth-child(3)>strong{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:10px 0 8px}
.stat-card>small{font-size:13px;line-height:1.45;color:#9eb7c3;overflow-wrap:anywhere}
.stat-card>small.improved{color:#a1d5b9}
.width-check{font-size:14px;line-height:1.5;color:#b1c6cf;padding-top:14px}
.width-check strong{font-size:16px}
.width-check small{font-size:13px;line-height:1.45;color:#9fb7c0}
.muted-count{font-size:13px;color:#9eb7c2}
.layers-list{gap:12px;max-height:190px}
.layer-row{font-size:15px;line-height:23px;gap:10px;color:#c1d3da}
.layer-row>input{width:17px;height:17px}
.layer-row>input:checked:after{font-size:16px;top:-5px;left:1px}
.layer-color{width:8px;height:8px}
.layer-row>small{font-size:13px;color:#95b1bf}
.muted-empty{font-size:14px;line-height:1.6;color:#a2b8c1}
.view-options{gap:17px;flex-wrap:wrap}
.view-option{font-size:13px;color:#aec3cd;line-height:1.5;margin-top:16px}
.export-button{padding:12px 10px;min-height:69px;gap:11px}
.export-file-type{font-size:13px;padding:10px 6px}
.export-button strong{font-size:15px;line-height:1.4}
.export-button small{font-size:13px;line-height:1.4;margin-top:4px;color:#a3becb}
.download-arrow{font-size:25px}
.secondary-downloads{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px;align-items:start}
.secondary-downloads button{font-size:13px;line-height:1.5;white-space:normal;text-align:center;color:#b4ccd7;min-height:39px;padding:3px 0}
.secondary-downloads button span{margin-left:3px}
.export-note{font-size:13px;line-height:1.55;margin:12px 0 14px;color:#99b2bd}
.inspector-foot{font-size:13px;line-height:1.55;padding-top:0;color:#91adb9}
.inspector-foot>span:last-child{font-size:12px;line-height:1.55;color:#8ca4ae}
.job-error{font-size:14px;line-height:1.6;padding:12px;margin-top:16px}
.connection-banner{top:88px;font-size:15px;line-height:1.5;padding:10px 20px}
.board-busy{font-size:15px;line-height:1.5}
.toast{font-size:15px;line-height:1.5;padding:13px 18px}
.inspector{overflow:hidden}
.inspector-scroll{flex:1;min-height:0;overflow:auto;padding-right:7px;scrollbar-width:thin;scrollbar-color:#3b4b54 transparent}
.inspector-scroll>.section-rule{margin:21px 0}
.export-controls{flex-shrink:0;padding-top:15px;margin-top:16px;border-top:1px solid var(--line);background:var(--panel)}
.export-controls>.section-rule{display:none}
.export-controls>.section-kicker{margin-bottom:12px}
.via-suggestion{margin-top:17px;padding:14px;border:1px solid #5b7560;border-radius:7px;background:#20332b;color:#d5e6d6;font-size:15px;line-height:1.55;grid-column:1/-1}
.via-suggestion h3,.via-suggestion strong{font-size:16px;line-height:1.45;font-weight:600;color:#e1eddc;margin:0 0 8px}
.via-suggestion p{font-size:14px;line-height:1.6;margin:8px 0 0;color:#bdd1c2}
.suggestion-actions{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.suggestion-actions button{font-size:14px;line-height:1.5;min-height:42px;border-radius:5px;padding:9px 11px;white-space:normal;text-align:center}
.suggestion-actions button:first-child,.suggestion-actions .primary-button{border:1px solid #8adeb9;background:#a7d9b9;color:#153321;font-weight:600}
.suggestion-actions button:not(:first-child):not(.primary-button){border:1px solid #688674;background:#233e30;color:#d4e6d8}
dialog{max-width:540px;padding:27px}
.dialog-header .section-kicker{font-size:13px}
dialog h2{font-size:30px}
dialog p{font-size:16px;line-height:1.65}
.about-callout strong{font-size:16px}
.about-callout p{font-size:15px;line-height:1.6}
.about-small{font-size:14px!important;color:#a3bdc6!important}
@media(min-width:1550px){
  .workspace{grid-template-columns:344px minmax(430px,1fr) 344px}
  .sidebar,.inspector{padding:23px}
  .app-header{padding:0 28px}
  .header-engine{margin-left:36px}
  .activity-panel{height:214px}
  .empty-board-art{width:180px}
  .empty-board h1{font-size:32px}
}
@media(max-width:1250px) and (min-width:901px){
  .workspace{grid-template-columns:302px minmax(360px,1fr) 302px}
  .sidebar,.inspector{padding:17px}
  .header-engine{margin-left:8px}
  .header-engine .tiny-label,.header-tag,.engine-divider{display:none}
  .app-header{padding:0 18px;gap:15px}
  .board-toolbar{padding:0 11px}
  .preview-tag{display:none}
  .board-statusbar>span:last-child{display:none}
  .section-kicker{letter-spacing:.5px}
  .edition-tag{font-size:11px}
}
@media(max-width:1050px) and (min-width:901px){
  .workspace{grid-template-columns:285px minmax(330px,1fr) 285px}
  .sidebar,.inspector{padding:15px}
  .brand{font-size:26px}
  .brand-caption{font-size:11px;letter-spacing:.8px}
  .header-engine{display:none}
  .board-toolbar{padding:0 9px;gap:3px}
  .board-title strong{font-size:14px}
  .view-controls{gap:0}
  .view-controls>span:not(.toolbar-divider){font-size:13px;min-width:47px}
  .empty-board{padding:15px}
  .empty-board h1{font-size:25px}
  .empty-board p{font-size:15px}
  .empty-keys{gap:5px}
  .engine-card{padding:11px 8px}
  .engine-card strong{font-size:14px}
  .section-kicker{gap:7px}
  .secondary-downloads{gap:4px}
}
@media(max-width:900px){
  html,body{height:auto;min-height:100%}
  body{overflow:auto}
  .app-header{height:80px;padding:0 19px;gap:16px}
  .header-engine{display:none}
  .brand{font-size:27px}
  .brand-caption{font-size:12px}
  .connection{font-size:13px}
  .workspace{height:auto;min-height:calc(100vh - 80px);grid-template-columns:292px minmax(0,1fr)}
  .sidebar{padding:21px 18px;overflow:visible}
  .sidebar-scroll{overflow:visible;padding-right:0;flex:initial}
  .board-section{min-height:630px}
  .board-toolbar{padding:0 13px}
  .board-title strong{font-size:14px}
  .preview-tag{display:none}
  .view-controls{gap:1px}
  .view-controls>span:not(.toolbar-divider){font-size:13px;min-width:45px}
  .empty-board{padding:18px}
  .empty-board h1{font-size:26px}
  .empty-board p{font-size:15px}
  .empty-keys{gap:5px}
  .activity-panel{height:187px}
  .activity-header{padding:0 12px}
  .activity-title{font-size:14px;gap:6px}
  .activity-actions{gap:10px}
  .autoscroll-label{display:none}
  .inspector{display:flex;flex-direction:column;padding:23px;overflow:visible}
  .inspector-scroll{overflow:visible;flex:initial;padding-right:0}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-card>strong,.stat-card:nth-child(3)>strong{font-size:28px}
  .stat-card>small{font-size:13px}
  .layers-list{grid-template-columns:1fr 1fr}
  .export-controls{margin-top:21px;padding-top:20px}
  .export-button{max-width:none}
  .secondary-downloads{margin-top:12px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
  .sidebar-foot{margin-top:0}
  .connection-banner{top:80px}
}
@media(max-width:650px){
  .app-header{height:78px;padding:0 15px;gap:10px}
  .brand{font-size:25px;gap:9px}
  .brand-mark{width:36px;height:36px}
  .brand-caption{font-size:10px;letter-spacing:.8px}
  .connection{font-size:12px;gap:6px}
  .workspace{display:flex;flex-direction:column;height:auto;min-height:0}
  .sidebar{padding:24px 21px;border-right:0}
  .sidebar-scroll{padding-right:0}
  .engine-card strong,.switch-row strong{font-size:16px}
  .engine-card p{font-size:14px}
  .setting-block p{font-size:15px}
  .number-settings>label{font-size:15px}
  .section-kicker{font-size:13px}
  .run-controls{margin-top:18px}
  .board-section{min-height:630px;height:630px;border-top:1px solid var(--line)}
  .board-toolbar{padding:0 15px}
  .board-title strong{font-size:15px}
  .empty-board h1{font-size:27px}
  .empty-board p{font-size:16px}
  .empty-board-art{width:150px}
  .board-statusbar{font-size:12px;height:34px}
  .board-statusbar>span:last-child{display:none}
  .activity-panel{height:192px}
  .activity-title{font-size:15px}
  .autoscroll-label{display:flex;font-size:13px}
  .inspector{padding:25px 21px}
  .job-state h2{font-size:18px}
  .stat-card>span{font-size:14px}
  .stat-card>small{font-size:13px}
  .export-button strong{font-size:16px}
  .export-button small{font-size:14px}
  .export-file-type{font-size:14px}
  .export-note{font-size:14px}
  .connection-banner{top:78px;font-size:14px}
}

/* Keep captions legible without shrinking action labels. */
.brand-caption,.format-tag,.edition-tag,.mini-badge,.deep-search-setting .mini-badge,
.advanced-rules summary>span,.preview-tag,.eyebrow,.empty-keys kbd,
.phase-caption,.inspector-foot>span:last-child{font-size:13px}
.suggestion-actions button{font-size:15px}
.via-suggestion .suggestion-note{color:#d1ccb0}
@media(min-width:901px){
  .export-controls{padding-top:12px;margin-top:12px}
  .export-controls>.section-kicker{margin-bottom:10px}
  .export-button{min-height:62px;padding:10px}
  .secondary-downloads{margin-top:9px}
  .secondary-downloads button{min-height:32px;padding:3px 0}
  .secondary-downloads button span{display:none}
  .export-note{line-height:1.5;margin:10px 0}
}
@media(max-width:650px){
  .brand-caption{font-size:11px}
  .preview-tag{display:none}
}
@media(min-width:901px){
  .via-suggestion{padding:12px}
  .via-suggestion p{margin-top:6px}
  .suggestion-actions{flex-direction:row;gap:8px;margin-top:11px;align-items:stretch}
  .suggestion-actions button{flex:1;min-width:0;width:auto;margin:0;padding:9px 7px}
}

/* Placement advice stays alongside the board it describes. */
.placement-advice{margin-top:18px;padding-top:17px;border-top:1px solid #3c5660;grid-column:1/-1}
.advice-heading{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
.advice-heading h3{font-size:17px;line-height:1.4;font-weight:600;margin:0;color:#d8e7eb}
.advice-check-label{font:11px/1.5 var(--mono);letter-spacing:.4px;padding:3px 5px;border:1px solid #5a5645;border-radius:3px;color:#dec594}
.advice-intro{font-size:14px;line-height:1.6;color:#afc4cc;margin:11px 0 13px}
.advice-label-note{font-size:13px;line-height:1.6;color:#cbbda1;border-left:2px solid #8a7652;padding:2px 0 2px 10px;margin:0 0 15px}
.advice-findings{display:flex;flex-direction:column;gap:10px}
.advice-finding{border:1px solid #3e5661;border-radius:6px;background:#14232c;overflow:hidden}
.advice-finding.focused{border-color:#b39c63}
.advice-finding>summary{display:flex;align-items:flex-start;gap:9px;cursor:pointer;list-style:none;padding:12px 10px;font-size:15px;font-weight:550;line-height:1.5;color:#d0e0e4}
.advice-finding>summary::-webkit-details-marker{display:none}
.advice-finding>summary::after{content:'+';margin-left:auto;color:#9bb9c3;font:19px/1.2 var(--mono);flex-shrink:0}
.advice-finding[open]>summary::after{content:'−'}
.advice-finding>summary>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.advice-item-number{display:block;flex-shrink:0;border:1px solid #48636b;border-radius:4px;background:#243a41;min-width:23px;padding:2px 4px;text-align:center;font:13px/1.35 var(--mono);color:#a8d0ca}
.advice-finding-body{padding:0 12px 14px}
.advice-certainty{display:inline-block;font-size:13px;line-height:1.45;color:#a8c6cc;border:1px solid #3f5b67;background:#1c3440;border-radius:4px;padding:3px 6px}
.advice-certainty.confirmed{color:#efd0b0;border-color:#806444;background:#403123}
.advice-context{font-size:14px;line-height:1.5;color:#d5e4e7;margin:11px 0 5px;overflow-wrap:anywhere}
.advice-location{font:13px/1.55 var(--mono);color:#a9c1ca;margin:5px 0 10px;overflow-wrap:anywhere}
.advice-detail{font-size:14px;line-height:1.6;color:#b7cbd2;margin:10px 0}
.advice-action{font-size:14px;line-height:1.6;color:#e3d4b3;border-left:2px solid #a19062;padding-left:10px;margin:12px 0}
.advice-nearby{font-size:13px;line-height:1.5;color:#a1bdc5;margin:10px 0;overflow-wrap:anywhere}
.advice-show-area{font-size:14px;line-height:1.4;min-height:38px;border:1px solid #668b8a;border-radius:4px;background:#274641;color:#d2eee0;padding:8px 12px;margin-top:2px;width:100%}
.advice-jump{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 36px);font-size:14px;line-height:1.5;padding:9px 11px;border:1px solid #778763;border-radius:5px;background:#283a2fee;color:#e0e9c9;box-shadow:0 3px 15px #0003;z-index:2}
.advice-jump>span:first-child{font-size:21px;line-height:1}
.advice-jump>span:last-child{font:13px var(--mono);padding:3px 5px;border-radius:3px;background:#486148;color:#e5f2d5}
.advice-focus-chip{position:absolute;top:17px;right:18px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 36px);border:1px solid #9e8e60;border-radius:5px;background:#393627ed;color:#f0dfb3;padding:3px 4px 3px 10px;z-index:2;font-size:13px;line-height:1.4}
.advice-focus-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.advice-focus-chip>button{width:31px;height:31px;flex-shrink:0;border:0;border-radius:3px;background:transparent;color:#f0dfb3;font-size:21px;line-height:1}
.advice-focus-chip>button:hover{background:#66583b}
.canvas-wrap:has(.advice-focus-chip:not([hidden])) .canvas-label{display:none}
@media(max-width:650px){.advice-heading h3{font-size:18px}.advice-intro,.advice-detail,.advice-action{font-size:15px}.advice-finding>summary{font-size:16px}.advice-jump{font-size:13px;bottom:15px;right:15px}}
.advice-check-label{font-size:13px}
.advice-label-note summary{cursor:pointer;font-size:13px;line-height:1.5;color:#ddc79f}
.advice-label-note p{margin:8px 0 2px;font-size:13px;line-height:1.6;color:#c8bda7}
.advice-evidence{margin:10px 0}
.advice-evidence summary{display:list-item;list-style:disclosure-closed;padding:3px 0;font-size:14px;font-weight:400;line-height:1.5;color:#a9c4cf;cursor:pointer}
.advice-evidence summary::after{content:none}
.advice-evidence[open]>summary{list-style:disclosure-open}
.advice-evidence[open]>summary::after{content:none}
.advice-evidence .advice-detail{margin:8px 0 11px}

.advice-jump>svg{width:18px;height:18px;flex-shrink:0}.advice-evidence summary{list-style-position:inside}

/* Optional review after Stop: the engine stays stopped whichever action is chosen. */
.stop-result-prompt{padding:14px;margin:0 0 17px;border:1px solid #6b816b;border-radius:7px;background:#21342e;color:#d5e5d9}
.stop-result-prompt h3,.remaining-routes h3{font-size:17px;line-height:1.4;margin:0;font-weight:600;color:#e0eade}
.stop-result-prompt p{font-size:14px;line-height:1.55;margin:9px 0 0;color:#c0d3c6}
.stop-result-actions{display:flex;gap:8px;margin-top:12px}
.stop-result-actions button{flex:1;min-width:0;min-height:44px;padding:9px 8px;font-size:15px;line-height:1.4;border:1px solid #708d79;border-radius:5px;background:#294336;color:#e3eee5}
.stop-result-actions button:first-child{background:#add9ba;border-color:#add9ba;color:#163523;font-weight:600}
.view-stopped-button{width:100%;min-height:40px;border:1px solid #536e64;border-radius:5px;background:#22362e;color:#d0e4d6;font-size:15px;line-height:1.4;margin-top:10px;padding:8px 12px}
.time-budget-prompt{padding:14px;margin:0 0 17px;border:1px solid #a18456;border-radius:7px;background:#302b21;color:#ebdfc9}
.time-budget-prompt h3{font-size:18px;line-height:1.4;margin:0;font-weight:600;color:#ffe2ae}
.time-budget-prompt p{font-size:14px;line-height:1.55;margin:9px 0 0;color:#e0cfb2}
.time-budget-prompt>label{display:block;margin-top:14px;font-size:15px;color:#eddfc7}
.extra-time-input{display:flex;align-items:center;gap:10px;margin-top:6px}
.extra-time-input input{width:100px;min-height:44px;padding:8px 10px;border:1px solid #897350;border-radius:5px;background:#1c211e;color:#fff0d8;font:17px var(--mono)}
.extra-time-input>span{font-size:14px;color:#c9b99c}
.time-budget-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.time-budget-actions button{flex:1 1 110px;min-height:44px;padding:9px 10px;border:1px solid #928362;border-radius:5px;background:#3b372a;color:#f2e7ce;font-size:15px;line-height:1.4}
.time-budget-actions #extendTimeButton{background:var(--teal);border-color:#8ce9cd;color:#10382d;font-weight:600}
.time-budget-actions #extendAttemptsButton{background:var(--teal);border-color:#8ce9cd;color:#10382d;font-weight:600}
.current-best-actions{padding:14px;margin:0 0 17px;border:1px solid #637f77;border-radius:7px;background:#20342f;color:#dbe9df}
.current-best-actions h3{font-size:17px;line-height:1.4;margin:0;font-weight:600}
.current-best-actions p{font-size:14px;line-height:1.55;margin:9px 0 0;color:#c0d3c6}
.best-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.best-result-actions button{flex:1 1 120px;min-height:44px;padding:9px 10px;border:1px solid #708d79;border-radius:5px;background:#294336;color:#e3eee5;font-size:15px;line-height:1.4}
.current-best-actions .best-result-note{font-size:13px;color:#b6cbbd}
.time-budget-prompt .time-budget-note{font-size:13px;color:#cbbb9e}
.job-state.paused .job-state-icon,.job-state.pausing .job-state-icon{border-color:#a18456;color:#edca8b;background:#302b21}
.remaining-routes{margin-top:18px;padding-top:17px;border-top:1px solid #3c5660}
.remaining-routes>p{font-size:14px;line-height:1.55;color:#b5c9d0;margin:10px 0}
.remaining-routes-list{display:flex;flex-direction:column;gap:7px;max-height:215px;overflow:auto;scrollbar-width:thin}
.remaining-net-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;min-height:42px;background:#29332b;border:1px solid #626548;border-radius:4px;text-align:left;color:#e5d8a9;font-size:15px;line-height:1.4}
.remaining-net-button>span{overflow-wrap:anywhere;min-width:0}
.remaining-net-button>small{font-size:13px;color:#babe9d;flex-shrink:0}
.remaining-routes>.remaining-routes-help{font-size:13px;color:#aabbbe}
.export-ready-message{font-size:14px;line-height:1.5;color:#c2e4cd;margin:0 0 10px}
.export-button.export-ready{border-color:#a5d9ae;background:#253d31;box-shadow:0 0 0 2px #9bd3a72e;animation:action-attention 2.1s ease-in-out 4}
.export-button.export-ready strong,.export-button.export-ready .download-arrow{color:#e0f5dc}
.attention-cue{outline:2px solid #add39a;outline-offset:2px;animation:action-attention 2.1s ease-in-out 4}
.placement-advice.attention-panel{border-color:#a4bf87;background:#22312566;border-radius:6px;padding:13px 10px;box-shadow:inset 0 0 0 1px #a4bf8744}
@keyframes action-attention{0%,100%{box-shadow:0 0 0 1px #a5d99920}50%{box-shadow:0 0 0 5px #a5d99945}}
@media(prefers-reduced-motion:reduce){.attention-cue,.export-button.export-ready{animation:none!important;box-shadow:0 0 0 2px #a5d99940}}
@media(max-width:650px){.stop-result-prompt p,.remaining-routes>p{font-size:15px}.remaining-routes-list{max-height:260px}}

/* A deliberate fresh start, with clear counts and a safe default action. */
.clear-routing-button{width:100%;margin-top:11px;padding:10px 12px;min-height:44px;border:1px solid #625247;border-radius:5px;background:#292923;color:#d9b999;font-size:15px;line-height:1.45;text-align:left}
.clear-routing-button:hover:not(:disabled){border-color:#ba9978;background:#393028}
.clear-routing-dialog{width:540px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto}
.clear-routing-dialog h2{font-size:28px;line-height:1.3;margin:20px 0 12px}
.clear-routing-dialog .clear-routing-filename{font:14px/1.6 var(--mono);color:#91bdb2;overflow-wrap:anywhere;margin:0 0 17px}
.clear-routing-dialog strong{color:#e5e4d6}
.clear-routing-dialog .clear-routing-fixed{border-left:2px solid #c79973;padding-left:12px;color:#e0bb99}
.clear-routing-actions{display:flex;gap:12px;margin-top:24px}
.clear-routing-actions button{flex:1;min-width:0;min-height:46px;padding:10px 12px;font-size:16px;line-height:1.4;border:1px solid #55716b;border-radius:5px;background:#243a34;color:#d4e6dd}
.clear-routing-actions #confirmClearRouting{border-color:#bd9879;background:#5d3f30;color:#ffe3ca}
@media(max-width:450px){.clear-routing-dialog{padding:21px}.clear-routing-dialog h2{font-size:25px}.clear-routing-actions{gap:8px}.clear-routing-actions button{font-size:15px;padding:10px 8px}}

/* Per-net trace layers, separate from the preview's visibility controls. */
.net-layers-setting{padding:12px 0 15px;border-bottom:1px solid var(--line)}
.net-layers-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:1px solid #45605e;border-radius:5px;background:#1c302f;color:#c2e2d5;font-size:15px;text-align:left}
.net-layers-button>span{font-size:23px;line-height:1}
.net-layers-setting>p{margin:8px 0 0;font-size:13px;line-height:1.5;color:#a5bfb5}
.net-layer-conflict{margin:0 0 12px;padding:10px 12px;border:1px solid #866342;border-radius:5px;background:#352b22;color:#efc99f;font-size:14px;line-height:1.5}
.net-layers-dialog{width:1000px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:24px 28px;overflow:auto}
.net-layers-dialog h2{font-size:28px;margin:17px 0 10px}
.net-layers-dialog p{font-size:15px;line-height:1.5;margin:10px 0}
.net-layers-dialog .net-layers-physical-note{font-size:14px;color:#a4bac1}
.net-layers-dialog .net-layers-apply-note{border-left:3px solid #c79973;padding:9px 12px;background:#322d25;color:#e7c4a2}
.net-layers-apply-note strong{color:#f2dec7}
.net-layers-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:17px}
.net-layers-tools label{flex:1;max-width:500px;font-size:14px;line-height:1.5;color:#c3d6d9}
.net-layers-tools input{display:block;width:100%;margin-top:5px;padding:10px 12px;min-height:44px;border:1px solid #4b646b;border-radius:5px;background:#0f1a21;color:#e1e9e9;font-size:16px}
.net-layers-tools input::placeholder{color:#8ba5b0}
.net-layers-tools button,.net-layer-table button,.net-layer-actions button{min-height:42px;padding:8px 12px;border:1px solid #547269;border-radius:5px;background:#243a34;color:#d4e6dd;font-size:15px;line-height:1.4}
.net-layers-dialog .net-layer-count{font-size:14px;color:#a5bfb5;margin:12px 0 9px}
.net-layers-dialog .net-layer-bulk-help{font-size:14px;color:#b4ccc7;margin:12px 0 0}
.net-layer-column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:48px;cursor:pointer}
.net-layer-table-scroll{max-height:42vh;min-height:130px;overflow:auto;border:1px solid #3a5159;border-radius:5px;scrollbar-color:#4c686d #13232b;scrollbar-width:thin}
.net-layer-table-scroll:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.net-layer-table{border-collapse:separate;border-spacing:0;width:100%;min-width:670px;font-size:15px;text-align:left}
.net-layer-table th,.net-layer-table td{padding:11px 14px;border-bottom:1px solid #2b424a;line-height:1.4}
.net-layer-table thead th{position:sticky;top:0;z-index:2;background:#243a40;color:#c9dedc;font-size:14px;font-weight:600;text-align:center;min-width:100px;max-width:180px;overflow-wrap:anywhere}
.net-layer-table thead th:first-child{left:0;z-index:3;text-align:left;min-width:210px}
.net-layer-table tbody th{position:sticky;left:0;z-index:1;min-width:210px;max-width:280px;background:#15252c;font-weight:500;color:#e0eae7;overflow-wrap:anywhere}
.net-layer-table tbody td{background:#132128;text-align:center}
.net-layer-table .net-short-column{min-width:150px;max-width:170px;border-right:1px solid #42605f}
.net-layer-table thead .net-short-column{color:#b6ead5;background:#25413e}
.net-layer-table tbody .net-short-column{background:#182d2b}
.net-layer-table tbody tr:last-child>*{border-bottom:0}
.net-layer-table input[type=checkbox]{width:22px;height:22px;margin:0;accent-color:var(--teal);cursor:pointer;vertical-align:middle}
.net-layer-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}
.net-layer-name{display:block}
.net-layer-rule-status,.net-layer-row-warning{display:block;font-size:13px;font-weight:400;margin-top:4px;color:#97b4bc}
.net-layer-row-warning{color:#e5bb91}
.net-layer-edited .net-layer-rule-status{color:#a1dfbf}
.net-layer-invalid .net-layer-rule-status{color:#ffb8aa}
.net-layer-invalid>*{box-shadow:inset 0 -2px #b97668}
.net-layers-dialog .net-layer-validation{font-size:14px;color:#ffb8aa}
.net-layers-dialog .net-layer-pad-warning{font-size:14px;color:#e5bb91}
.net-layer-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}
.net-layer-actions button{min-width:130px;min-height:46px;font-size:16px}
.net-layer-actions #applyNetLayers{background:var(--teal);border-color:#8ce9cd;color:#10382d;font-weight:600}
.routing-rule-tabs{display:flex;gap:8px;margin:20px 0 8px;padding-bottom:10px;border-bottom:1px solid #38535a}
.routing-rule-tabs button{flex:1;min-height:46px;padding:10px 16px;border:1px solid #405c63;border-radius:6px;background:#14242c;color:#b9cdd2;font-size:16px;font-weight:600}
.routing-rule-tabs button[aria-selected=true]{border-color:#80d9bb;background:#29493f;color:#d9f7eb}
#routingOptionsPanel{max-width:760px;margin:0 auto}
#routingOptionsPanel .setting-block{padding:17px 0}
#routingOptionsPanel .switch-row strong{font-size:16px;line-height:1.45}
#routingOptionsPanel .setting-block p{max-width:none;margin:8px 0 0;font-size:14px;color:#a6bfc5}
#routingOptionsPanel .switch{width:38px;height:22px}
#routingOptionsPanel .switch-track:before{width:16px;height:16px}
#routingOptionsPanel .switch input:checked+.switch-track:before{left:19px}
#routingOptionsPanel .number-settings{gap:24px;padding:20px 0 8px}
#routingOptionsPanel .direction-layer-preview{padding:10px 12px;border:1px solid #365650;border-radius:5px;background:#162d28;color:#bfe4d5;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
#routingOptionsPanel .rule-policy{margin:16px 0 0}
.direction-suggestion{border-color:#6a697f;background:#282d3a}
.direction-suggestion .suggestion-actions button:first-child{border-color:#b8b0df;background:#c8c0e8;color:#292540}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.net-layers-dialog{padding:19px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.net-layers-dialog h2{font-size:25px}.net-layers-tools{align-items:stretch;flex-direction:column;gap:10px}.net-layers-tools label{max-width:none}.net-layers-tools button{align-self:flex-start}.net-layer-actions button{flex:1;min-width:0}.net-layer-table tbody th,.net-layer-table thead th:first-child{min-width:170px;max-width:210px}.net-layer-table th,.net-layer-table td{padding:10px}.net-layer-table-scroll{max-height:36vh}}

/* Engine-reported work geometry lives on a separate overlay from routed copper. */
.canvas-wrap #activityCanvas{pointer-events:none;cursor:inherit}
.connection-activity-label{position:absolute;left:58px;bottom:18px;max-width:calc(100% - 78px);padding:8px 10px;border:1px solid #426b5d;border-radius:5px;background:#10261feb;color:#b6e5d2;font-size:13px;line-height:1.4;pointer-events:none}
.connection-activity-label strong{display:block;font-weight:500}
.connection-activity-label[data-kind="search"],.connection-activity-label[data-kind="candidate"]{border-color:#8d7049;color:#f0ce9d;background:#292519eb}
.connection-activity-label[data-kind="phase"]{border-color:#425b62;color:#b1c8cc;background:#14222aeb}
.connection-activity-label span{display:block;font-size:12px;color:#a2beb3;margin-top:2px}
.activity-panel{display:flex;flex-direction:column}
.activity-header{flex-shrink:0}
.activity-panel .log-scroll{flex:1;min-height:0;height:auto}
.activity-panel.has-live-activity:not(.collapsed){height:260px}
.engine-activity{flex-shrink:0;padding:9px 16px;border-bottom:1px solid #29433d;background:#172a25;color:#c1e5d6;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.engine-activity>span{display:block;max-height:3em;overflow:auto;scrollbar-width:thin}
.engine-activity>small{display:block;margin-top:3px;color:#9bbfb1;font:12px/1.4 var(--mono)}
.engine-activity.awaiting-update{background:#26291f;border-bottom-color:#4a5038}
.engine-activity.awaiting-update>small{color:#d6c596}
.activity-panel.collapsed .engine-activity{display:none}
@media(max-width:900px){.activity-panel.has-live-activity:not(.collapsed){height:250px}.engine-activity{padding:8px 12px}.connection-activity-label{left:52px;max-width:calc(100% - 64px);bottom:12px;font-size:12px}.connection-activity-label span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.job-state.running .job-state-icon,.spinner{animation:none}}

/* Counters report actual work; the countdown is the user's time limit. */
.run-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}
.run-progress-card{min-width:0;padding:10px 11px;border:1px solid #3b5759;border-radius:6px;background:#172b2c}
.run-progress-card>span{display:block;color:#b8d1cf;font-size:13px;line-height:1.4}
.run-progress-card>strong{display:block;margin:8px 0 6px;font:24px/1.2 var(--mono);color:#dcf2e9;font-weight:500;overflow-wrap:anywhere}
.run-progress-card>small{display:block;font-size:12px;line-height:1.5;color:#a9c4bf;overflow-wrap:anywhere}
.run-progress-card[data-status="pending"]>strong,.run-progress-card[data-status="skipped"]>strong{font:16px/1.5 var(--sans);color:#b3c7c3}
.run-progress-card[data-status="done"]{border-color:#46725f}
.run-progress-card[data-status="interrupted"]{border-color:#766245}
.run-round-card{background:#142326}
.run-round-card>strong{font-size:20px}
.run-progress-card.time-low{border-color:#a67c4d;background:#30281d}
.run-progress-card.time-low>strong{color:#ffcf8b}
.round-work-detail{grid-column:1/-1;margin:0;padding:6px 2px 0;font-size:13px;line-height:1.5;color:#b8d7cd;overflow-wrap:anywhere}
.connection-activity-label[data-kind="search"]{border-color:#5c9aa7;color:#bcebf4;background:#12282feb}
@media(max-width:1050px) and (min-width:901px){.run-progress-card{padding:9px}.run-progress-card>strong{font-size:22px}.run-round-card>strong{font-size:19px}}

/* Post-run measurements stay still and out of the live routing hot path. */
.run-report-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin-top:16px;padding:10px 13px;border:1px solid #527478;border-radius:6px;background:#20343a;color:#d3e7e6;font-size:16px;text-align:left}
.run-report-button span{font-size:22px;color:#8fd5c0}
.run-report-dialog{width:960px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:25px 30px;overflow:auto;scrollbar-color:#4c686d #13232b;scrollbar-width:thin}
.run-report-dialog h2{font-size:30px;margin:16px 0 8px}
.run-report-dialog h3{font-size:19px;line-height:1.4;font-weight:550;color:#d5e8e3;margin:0 0 16px}
.run-report-dialog p{font-size:15px;line-height:1.6;margin:10px 0}
.run-report-dialog .report-note{font-size:14px;color:#a3bdc1;line-height:1.65}
.report-outcome{padding:10px 13px;border:1px solid #776342;background:#30291f;color:#e7cb9f;border-radius:6px}
.report-outcome.complete{border-color:#4f7b68;background:#1d352a;color:#b2e1c6}
.report-headlines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.report-headlines>div{min-width:0;padding:17px 18px;border:1px solid #3c5d61;border-radius:7px;background:#182e31}
.report-headlines span{display:block;font-size:15px;color:#c3d8d6;line-height:1.5}
.report-headlines strong{display:block;margin:9px 0;font:30px/1.25 var(--mono);color:#e0f6ed;overflow-wrap:anywhere}
.report-headlines small{display:block;font-size:13px;color:#a6c2bc;line-height:1.5}
.report-section{border-top:1px solid #375359;padding:22px 0 5px;margin-top:22px}
.report-stages{display:flex;flex-direction:column;gap:12px}
.report-stage{display:grid;grid-template-columns:160px minmax(50px,1fr) 105px;align-items:center;gap:13px;font-size:14px;line-height:1.4}
.report-stage>span:first-child{color:#bfd4d4}
.report-stage>strong{font:14px/1.5 var(--mono);color:#d5e9e0;text-align:right}
.report-stage-track{display:block;overflow:hidden;height:12px;border-radius:3px;background:#102127}
.report-stage-track>span{display:block;min-width:2px;height:100%;background:#75c8ac;border-radius:3px}
.report-progress-chart{border:1px solid #36515b;border-radius:7px;background:#112229;padding:12px 8px 2px}
.report-progress-chart svg{display:block;width:100%;height:auto;min-height:165px;overflow:visible}
.report-progress-chart text{font:14px var(--sans);fill:#b3ccce}
.report-chart-grid{stroke:#38535c;stroke-width:1}
.report-chart-line{fill:none;stroke:#83dfba;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.report-chart-dot{fill:#b8f2d7}
.report-details{border:1px solid #3c575e;border-radius:7px;padding:16px;margin-top:24px;background:#13262c}
.report-details>summary{font-size:16px;color:#c4e1d8;cursor:pointer;line-height:1.5}
.report-details h3{margin-top:22px;margin-bottom:6px}
.report-detail-stats{display:grid;grid-template-columns:1fr auto;gap:11px 18px;padding:18px 0 0;margin:0;font-size:15px;line-height:1.45}
.report-detail-stats dt{color:#a9c5c6}
.report-detail-stats dd{margin:0;text-align:right;color:#d5e9e0;font-family:var(--mono)}
.report-table-scroll{max-width:100%;overflow:auto;border:1px solid #39535e;border-radius:6px;margin-top:14px}
.report-table{border-collapse:collapse;width:100%;min-width:480px;text-align:left;font-size:14px;line-height:1.5}
.report-table th,.report-table td{padding:11px 13px;border-bottom:1px solid #304a52;vertical-align:top;overflow-wrap:anywhere;max-width:320px}
.report-table th{font-weight:550;color:#c5dcda}
.report-table thead th{background:#243c42;color:#d5ebe3}
.report-table tr:last-child>*{border-bottom:0}
.report-table td{color:#b7cdd1}
.report-share>label{display:block;font-size:15px;line-height:1.5;color:#c5dcd7}
.report-share input[type=text]{display:block;width:min(100%,420px);margin:7px 0 13px;padding:10px 12px;min-height:44px;border:1px solid #4b6b71;border-radius:5px;background:#0f2028;color:#e0efea;font:16px var(--sans)}
.report-share input::placeholder{color:#96afb7}
.report-actions,.report-footer,.report-compare-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.report-actions{margin-top:17px}
.report-actions button,.report-footer button,.report-compare-heading button{min-height:44px;padding:10px 14px;border:1px solid #55776f;border-radius:6px;background:#244039;color:#d5e9e0;font-size:15px;line-height:1.45}
.report-actions button:first-child{background:#325545;border-color:#74ab91;color:#e2f5e9}
.report-footer{justify-content:flex-end;border-top:1px solid #375359;padding-top:20px;margin-top:22px}
.report-compare-heading{justify-content:space-between}
.report-compare-heading h3{margin:0}
.report-comparison-status{padding:12px 14px;border-left:3px solid #d1ad75;background:#302c23;color:#edcf9c;overflow-wrap:anywhere}
.report-comparison-status.comparable{border-color:#80d0ad;background:#1c352d;color:#c1ebd5}
.run-report-dialog .report-error{color:#ffc0b3;padding:11px;border:1px solid #885f51;border-radius:5px;background:#362722}
#reportEnvironment{overflow-wrap:anywhere}
.run-report-dialog button:focus-visible,.run-report-dialog input:focus-visible,.run-report-dialog summary:focus-visible{outline:2px solid #a4e6cb;outline-offset:3px}
@media(max-width:600px){.run-report-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:18px}.run-report-dialog h2{font-size:27px}.report-headlines{gap:9px}.report-headlines>div{padding:12px}.report-headlines span{font-size:14px}.report-headlines strong{font-size:23px}.report-headlines small{font-size:12px}.report-stage{grid-template-columns:minmax(95px,1fr) minmax(30px,1fr) 75px;gap:8px;font-size:13px}.report-stage>strong{font-size:12px}.report-details{padding:12px}.report-detail-stats{font-size:14px;gap:10px}.report-actions>button{flex:1}.report-table{min-width:460px}.report-progress-chart{padding:10px 3px 0}.report-progress-chart svg{min-height:160px}.report-progress-chart text{font-size:14px}.report-compare-heading{align-items:flex-start;flex-direction:column}}

/* A previous board's net choices are reused only after an explicit decision. */
.previous-rules-dialog{width:640px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:24px 28px;overflow:auto}
.previous-rules-dialog h2{font-size:28px;line-height:1.35;margin:17px 0 12px}
.previous-rules-dialog p{font-size:16px;line-height:1.6;margin:12px 0}
.previous-rules-files{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.previous-rules-files>div{min-width:0;padding:13px 14px;background:#183039;border:1px solid #3a5a65;border-radius:6px}
.previous-rules-files dt{font-size:13px;color:#a3bec6;line-height:1.5}
.previous-rules-files dd{margin:6px 0 0;font-size:16px;line-height:1.5;color:#d9eae7;overflow-wrap:anywhere}
.previous-rules-dialog .previous-rules-note{font-size:14px;color:#a9c2c5}
.previous-rules-dialog .previous-rules-error{padding:11px 13px;border:1px solid #885f51;border-radius:5px;background:#362722;color:#ffc0b3;font-size:15px;overflow-wrap:anywhere}
.previous-rules-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:23px}
.previous-rules-actions button{min-height:46px;min-width:0;padding:11px 15px;border:1px solid #55776f;border-radius:6px;background:#203b34;color:#d5e9e0;font-size:16px;line-height:1.45}
.previous-rules-actions button:last-child{background:var(--teal);border-color:#8ce9cd;color:#10382d;font-weight:600}
@media(max-width:600px){.previous-rules-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:19px}.previous-rules-dialog h2{font-size:25px}.previous-rules-files{grid-template-columns:1fr}.previous-rules-actions{flex-direction:column-reverse}.previous-rules-actions button{width:100%}}

.view-options{flex-wrap:wrap;row-gap:10px}
.via-preview-note{margin:12px 0 0;font-size:13px;line-height:1.6;color:#91aab5}

.board-scale-setting{margin:12px 0 0}
.board-scale-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:43px;padding:10px 12px;background:#172b31;border:1px solid #39585e;border-radius:5px;color:#c5dcd7;font-size:15px;text-align:left}
.board-scale-button>span{color:#90b8ab;font-size:22px;line-height:1}
.board-scale-setting p{margin:7px 2px 0;font-size:13px;line-height:1.6;color:#9db7bc;overflow-wrap:anywhere}
.board-scale-setting .board-scale-hint{color:#dbbc91}
.board-scale-dialog{width:550px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px 28px}
.board-scale-dialog h2{font-size:28px;line-height:1.35;margin:17px 0 12px}
.board-scale-dialog p{font-size:16px;line-height:1.6;margin:12px 0}
.board-scale-choices{border:0;padding:0;margin:22px 0 17px}
.board-scale-choices>legend{font-size:14px;color:#aac5c8;margin-bottom:10px}
.board-scale-choices>label{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:8px 0;border:1px solid #3d5d64;border-radius:6px;background:#183039;cursor:pointer}
.board-scale-choices input{accent-color:var(--teal);width:17px;height:17px;flex-shrink:0;margin:3px 0 0}
.board-scale-choices strong{display:block;font-size:16px;font-weight:550;color:#d8e9e5;line-height:1.5}
.board-scale-choices small{display:block;font-size:14px;line-height:1.55;color:#a6c0c5;margin-top:3px}
.board-scale-choices>label:has(input:checked){border-color:#7bb69f;background:#224139}
.board-scale-choices>label.unavailable{opacity:.5;cursor:not-allowed}
.board-scale-sizes{margin:19px 0;padding:14px 16px;background:#101f27;border:1px solid #37535e;border-radius:6px}
.board-scale-sizes>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:8px 0;font-size:15px;line-height:1.55}
.board-scale-sizes dt{color:#a9c2c6}
.board-scale-sizes dd{margin:0;color:#d8ece3;text-align:right;font:15px/1.55 var(--mono);overflow-wrap:anywhere}
.board-scale-dialog .board-scale-note{font-size:14px;color:#aac3c6}
.board-scale-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:23px}
.board-scale-actions button{min-height:46px;padding:11px 15px;border:1px solid #55776f;border-radius:6px;background:#203b34;color:#d5e9e0;font-size:16px;line-height:1.45}
.board-scale-actions button:last-child{background:var(--teal);border-color:#8ce9cd;color:#10382d;font-weight:600}
@media(max-width:600px){.board-scale-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:19px}.board-scale-dialog h2{font-size:25px}.board-scale-sizes>div{flex-direction:column;gap:4px}.board-scale-sizes dd{text-align:left}.board-scale-actions{flex-direction:column-reverse}.board-scale-actions button{width:100%}}

.secondary-downloads>button.export-ready,.run-report-button.export-ready{padding:8px 11px;border:1px solid #a5d9ae;border-radius:5px;background:#253d31;color:#d8f5e4;box-shadow:0 0 0 2px #9bd3a72e;animation:action-attention 2.1s ease-in-out 4}
@media(prefers-reduced-motion:reduce){.secondary-downloads>button.export-ready,.run-report-button.export-ready{animation:none!important;box-shadow:0 0 0 2px #a5d99940}}

/* Routing copper-to-edge distance. */
#routingOptionsPanel .board-edge-distance{display:flex;align-items:center;gap:18px;margin-top:12px;color:#c5d1d6;font-size:14px;flex-wrap:wrap}#routingOptionsPanel .board-edge-distance .number-unit{display:inline-block;position:relative;width:145px;max-width:100%}#routingOptionsPanel .board-edge-distance input{width:100%;height:43px;border:1px solid #41535b;background:#101b20;color:#e1e9e9;border-radius:5px;font-size:17px;padding:10px 38px 10px 11px}#routingOptionsPanel .board-edge-distance .number-unit>span{top:13px;right:10px}#routingOptionsPanel .board-edge-distance input:disabled{opacity:.45}
