:root{--paper:#f5f4f0;--panel:#fff;--ink:#242b2b;--muted:#68706e;--line:#dddfd8;--accent:#bd4f28;--accent-soft:#f8e9df;--dark:#202729;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:3px}button,select,input,textarea{font:inherit}button,select,.button{border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:8px 12px}button,.button{cursor:pointer;transition:background .15s,border-color .15s}button:hover,.button:hover{border-color:#a7afaa;background:#eeeee8}button:disabled{opacity:.4;cursor:default}a.button{text-decoration:none;display:inline-flex;align-items:center;gap:8px}button.primary,a.primary{background:var(--ink);color:white;border-color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em}h2{letter-spacing:-.025em;font-weight:550}h3{font-size:13px;font-weight:650}small,.eyebrow{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.topbar{height:64px;display:flex;align-items:center;gap:25px;padding:0 25px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:14px;font-weight:650;letter-spacing:-.03em;white-space:nowrap}.brandmark{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font:11px var(--mono);letter-spacing:-1px}.brand span:last-child{font-weight:400;color:var(--muted)}.topnav{display:flex;height:100%;align-items:center;gap:24px}.topnav a{text-decoration:none;font-size:12px;color:var(--muted);height:100%;display:flex;align-items:center;position:relative}.topnav a.active{color:var(--ink)}.topnav a.active:after{content:'';height:2px;background:var(--accent);position:absolute;bottom:0;left:0;right:0}.identity{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.avatar{background:#e5e7df;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font:10px var(--mono);color:var(--ink)}.status{font:10px var(--mono);border:1px solid #d4b79e;background:#f8eee3;color:#875836;padding:4px 7px;border-radius:4px;white-space:nowrap}.app-layout{display:grid;grid-template-columns:194px minmax(0,1fr);min-height:calc(100vh - 64px)}.stage-rail{border-right:1px solid var(--line);padding:27px 14px;background:#eeefe9;position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto}.rail-caption{padding:0 10px 17px}.stage-rail nav{display:grid;gap:4px}.stage-rail button{border:0;background:transparent;display:flex;text-align:left;gap:10px;padding:11px 10px;font-size:12px;align-items:center;border-radius:5px;color:#626b66;width:100%}.stage-rail .num{font:10px var(--mono);color:#8a918b;min-width:19px}.stage-rail button.active{background:#fff;box-shadow:0 1px 3px #2733240d;color:var(--ink)}.stage-rail button.active .num{color:var(--accent)}.stage-rail button[aria-current=step]{border-left:2px solid var(--accent)}.rail-footer{margin-top:32px;border-top:1px solid var(--line);padding:20px 10px;font-size:11px;color:var(--muted)}.rail-footer a{display:block;margin-top:12px}.workspace{min-width:0}.workspace-title{padding:23px 25px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.workspace-title h1{font-size:22px;font-weight:550;margin:5px 0 0}.workspace-title p{margin:5px 0 0;font-size:12px;color:var(--muted)}.title-actions{display:flex;gap:8px;flex-shrink:0}.contextbar{padding:10px 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:17px;align-items:center;flex-wrap:wrap;background:#f9f9f5;font-size:11px;color:var(--muted)}.contextbar b{color:var(--ink);font-weight:500}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px}.studio{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:calc(100vh - 187px)}.visual{min-width:0;padding:16px;position:relative}.canvas-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:10px;flex-wrap:wrap}.canvas-toolbar button,.canvas-toolbar select{font-size:11px;padding:7px 9px}.canvas-toolbar label{display:flex;gap:6px;align-items:center;font-size:11px}.canvas-toolbar .spacer{flex:1}#canvas{height:clamp(410px,calc(100vh - 310px),850px);background:var(--dark);border-radius:8px;overflow:hidden;position:relative}#canvas canvas{display:block}.canvas-meta{display:flex;gap:18px;justify-content:space-between;padding:11px 2px;font:10px var(--mono);color:var(--muted);flex-wrap:wrap}.legend{display:flex;gap:14px;flex-wrap:wrap}.legend i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:2px}.notice-line{font-size:11px;color:var(--muted);line-height:1.6;padding:10px 0}details{border-top:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-size:12px;font-weight:550}#map{overflow:auto;max-height:430px;margin-top:12px}#map svg{display:block;width:100%;min-width:410px}#map [data-hole]{cursor:pointer}.inspector{border-left:1px solid var(--line);background:#fcfcf9;min-width:0;padding:16px 18px;overflow-wrap:anywhere}.inspector-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.inspector-title h2{font-size:12px;margin:0}.inspector-title span{font:9px var(--mono);color:var(--muted)}.tabs{display:flex;border-bottom:1px solid var(--line);margin:0 -18px 19px;padding:0 18px;gap:20px}.tabs button{border:0;background:none;border-radius:0;padding:0 0 11px;font-size:11px;color:var(--muted)}.tabs button.active{border-bottom:2px solid var(--accent);color:var(--ink)}.inspector label{font-size:11px;color:var(--muted);display:block;margin:13px 0 7px}.inspector select,.inspector input[type=search]{width:100%;padding:9px;border:1px solid var(--line);background:white;border-radius:5px;font-size:11px}.inspector h3{margin-top:22px}.inspector p{font-size:12px;color:var(--muted);line-height:1.65}.inspector pre{white-space:pre-wrap;word-break:break-word;font:11px/1.7 var(--mono);padding:14px;background:#eef0ea;border-radius:5px;min-height:100px}.inspector .check{display:flex;align-items:flex-start;gap:7px;font-size:11px}.inspector .check input{margin-top:2px}.inspector button{font-size:11px}.inspector-pane[hidden]{display:none}.stepnav{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);margin:16px 0}.endpoint{display:inline-block;padding:5px 8px;background:var(--accent-soft);color:#8f4529;font:11px var(--mono);margin:0 4px 4px 0;border-radius:4px}.blocked{border-left:2px solid #ba8459;padding-left:10px}.inspector #orientation{color:var(--ink)}#steps{display:grid;gap:4px;max-height:300px;overflow:auto}#steps button{text-align:left;background:white}#steps button.selected{background:var(--ink);color:white;border-color:var(--ink)}#steps button.checked:before{content:'✓ ';color:#62966d}#printTable{display:none}.app-footer{display:flex;gap:15px;justify-content:space-between;padding:14px 25px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.focus-mode .stage-rail,.focus-mode .inspector{display:none}.focus-mode .app-layout,.focus-mode .studio{grid-template-columns:1fr}.focus-mode #canvas{height:calc(100vh - 270px)}[hidden]{display:none!important}.mobile-stage{display:none}.quiet{color:var(--muted);font-size:11px}.build-content{max-width:1030px;padding:0 36px 45px;margin:auto}.build-heading{padding:33px 0 24px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:15px}.build-heading h1{font-size:34px;font-weight:500;max-width:600px;line-height:1.13;margin:12px 0}.build-heading p{font-size:13px;color:var(--muted);max-width:560px}.build-actions{display:flex;align-items:center;gap:7px}.build-actions button{font-size:12px}.build-section{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;border-bottom:1px solid var(--line);padding:28px 0}.section-number{font:12px var(--mono);color:var(--accent);padding-top:4px}.build-section h2{font-size:19px;margin-bottom:12px}.build-section p,.build-section li{font-size:13px;color:#4d5854;line-height:1.75}.build-section li{margin:7px 0}.build-section ul,.build-section ol{padding-left:18px}.build-section .notice{border:1px solid #dec7ae;background:#f7eee4;border-radius:5px;padding:12px 15px;font-size:12px;color:#775632}.build-section details{border:0;padding:8px 0}.build-section summary{display:inline-block;border-bottom:1px solid #b4bcb3;padding:4px 0}.scroll{overflow:auto;margin-top:12px}table{width:100%;border-collapse:collapse;font-size:11px}th{font-weight:600;background:#eaece5;color:#58615b;text-align:left}td,th{border-bottom:1px solid var(--line);padding:12px;vertical-align:top}td{background:#fafbf7}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.result-grid{display:grid;grid-template-columns:200px 1fr;gap:18px}.result-grid label{display:block;font-size:11px;margin-bottom:8px;color:var(--muted)}textarea{display:block;width:100%;min-height:115px;border:1px solid var(--line);border-radius:5px;padding:12px;background:#fff;resize:vertical;font:12px/1.6 var(--mono)}.result-grid select{width:100%;font-size:12px}.result-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.result-actions button{font-size:12px}#gate{font-size:12px;color:#775632}#saved{font-size:11px}#acceptance{background:#eaece5;border-left:2px solid #799076;padding:14px 16px;font:12px/1.7 var(--mono)}.guide-title{font-size:12px;color:var(--muted);margin-bottom:6px}.build-section .subtle{font-size:11px;color:var(--muted)}.link-row{display:flex;gap:15px;flex-wrap:wrap;margin:12px 0}.link-row a{font-size:12px}.build-top-progress{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.build-top-progress #stage{max-width:260px;font-size:12px}.build-content h3{margin-top:18px}.hub{max-width:1230px;margin:auto;padding:50px 40px}.hub-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;padding:10px 0 46px;border-bottom:1px solid var(--line)}.hub h1{font-size:clamp(38px,4.9vw,66px);line-height:1.03;font-weight:500;margin:18px 0 23px;letter-spacing:-.06em}.hub-hero p{max-width:470px;font-size:14px;color:var(--muted);line-height:1.75}.hero-drawing{height:280px;width:100%}.specs{display:flex;gap:30px;margin:24px 0}.specs strong{display:block;font:21px var(--mono);letter-spacing:-.08em}.specs small{font-size:9px;letter-spacing:.04em}.library-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:34px 0 18px}.library-heading h2{font-size:22px;margin-bottom:5px}.filterbar{display:flex;gap:7px;flex-wrap:wrap}.filterbar button{font-size:11px;padding:7px 12px;background:transparent}.filterbar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.config-row{display:grid;grid-template-columns:52px 1.4fr 1fr 1fr auto;align-items:center;gap:18px;padding:24px 8px;border-bottom:1px solid var(--line);transition:background .15s}.config-row:hover{background:#ebeee6}.config-index{font:11px var(--mono);color:var(--muted)}.config-row h3{font-size:15px;font-weight:550;margin:0 0 4px}.config-row p{font-size:11px;color:var(--muted);margin:0}.config-row .chip{font:11px var(--mono)}.config-row .row-action{display:flex;gap:12px;align-items:center}.row-action a{font-size:12px;white-space:nowrap}.hub-note{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:30px 0;margin-top:15px}.hub-note p{font-size:12px;color:var(--muted)}.hub-note strong{font-weight:500}.badge{font:10px var(--mono);color:var(--accent)}.build-content #name{font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted);margin:0}.build-content #heading{font-size:34px;letter-spacing:-.04em;line-height:1.15;margin:12px 0;font-weight:500}.build-content #owner{font-size:11px;color:var(--muted)}.pcb-page main{display:grid;grid-template-columns:minmax(0,1fr) 310px}.pcb-page #canvas{height:calc(100vh - 230px);border-radius:0}.pcb-page aside{padding:22px;border-left:1px solid var(--line);background:#fcfcf9}.pcb-page pre{white-space:pre-wrap;font:11px/1.7 var(--mono);max-height:55vh;overflow:auto}.pcb-page #status{font-size:11px;color:var(--muted);padding:16px}.pcb-controls{padding:14px 25px;border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pcb-controls label{font-size:11px;display:flex;align-items:center;gap:8px}.pcb-controls select,.pcb-controls button{font-size:11px}
@media(max-width:1180px){.stage-rail{width:165px}.app-layout{grid-template-columns:165px minmax(0,1fr)}.studio{grid-template-columns:minmax(0,1fr) 270px}.topbar{gap:18px}.topnav{gap:18px}.identity .owner-name{display:none}.workspace-title{padding:20px}.workspace-title h1{font-size:19px}.config-row{grid-template-columns:30px 1.4fr 1fr auto}.config-row .count-col{display:none}}
@media(max-width:900px){.stage-rail{display:none}.app-layout{grid-template-columns:1fr}.mobile-stage{display:flex;align-items:center;gap:8px}.workspace-title{flex-wrap:wrap}.build-content{padding:0 22px 30px}.topnav{gap:14px}.studio{grid-template-columns:minmax(0,1fr) 280px}.hub-hero{gap:20px}.hero-drawing{height:220px}.hub{padding:35px 24px}.hub-note{gap:25px}}
@media(max-width:680px){.topbar{height:auto;min-height:58px;flex-wrap:wrap;padding:12px 16px;gap:12px}.topnav{order:3;width:100%;height:34px;justify-content:space-between;gap:8px}.identity{font-size:10px}.identity .status{display:none}.brand{font-size:12px}.studio{grid-template-columns:1fr}.inspector{border-left:0;border-top:1px solid var(--line)}#canvas{height:420px}.visual{padding:12px}.workspace-title{padding:20px 16px 14px}.workspace-title h1{font-size:19px;max-width:320px}.title-actions{width:100%}.contextbar{padding:10px 16px}.contextbar .long-context{display:none}.app-footer{flex-direction:column;padding:15px;gap:6px}.canvas-meta{gap:8px}.build-heading{grid-template-columns:1fr}.build-content #heading{font-size:28px}.build-section{grid-template-columns:26px 1fr;padding:22px 0}.result-grid{grid-template-columns:1fr}.build-content{padding:0 16px 25px}.build-actions{justify-content:space-between}.build-top-progress{flex-wrap:wrap}.build-top-progress #stage{width:100%;max-width:none}.hub-hero{grid-template-columns:1fr;gap:0;padding-bottom:10px}.hero-drawing{height:215px}.hub h1{font-size:46px}.hub{padding:25px 18px}.specs{gap:30px}.library-heading{display:block}.filterbar{margin-top:17px}.config-row{grid-template-columns:25px 1fr auto;gap:10px;padding:20px 0}.config-row .sensor-col{display:none}.config-row .row-action{flex-direction:column;gap:7px;align-items:flex-end}.config-row h3{font-size:14px}.hub-note{grid-template-columns:1fr;gap:5px}.pcb-page main{grid-template-columns:1fr}.pcb-page #canvas{height:500px}.pcb-controls{padding:12px}.focus-mode #canvas{height:70vh}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.topbar,.stage-rail,.canvas-toolbar,.contextbar,.inspector,.title-actions,.app-footer,.build-actions,.result-actions,#canvas,.canvas-meta,.notice-line,.link-row{display:none!important}.app-layout,.studio{display:block}.workspace-title{padding:0}.visual{padding:0}.build-content{padding:0}.build-section{break-inside:avoid}details{display:block}details>*{display:block!important}#map{max-height:none;overflow:visible}#map svg{width:150mm;min-width:0;margin:auto}#printTable{display:block;break-before:page}body{background:white}table{font-size:9px}a{color:black}input,textarea{border:1px solid #aaa}}

@media(min-width:901px){.build-top-progress.mobile-stage{display:none}}
@media(max-width:680px){button,.button,select{min-height:40px}.tabs button{min-height:42px}.canvas-toolbar{gap:7px}.canvas-toolbar #board{width:100%}}

input[type=range]{accent-color:var(--accent)}
