:root{--bg:#16181b;--panel:#1f2328;--line:#2f353c;--text:#e6eaee;--muted:#9aa4af;--accent:#4c8ef7;--green:#46c46b;--yellow:#f5a524;--red:#e5484d;--rail-inset:12px;--rail-size:38px;--rail:calc(var(--rail-inset) + var(--rail-size) + 4px);--drawer:380px;--pane-pad-y:4px;--pane-pad-x:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:14px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app,#stage{position:absolute;inset:0}#canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}#canvas.dragging{cursor:grabbing}#app[data-modal=open] #canvas{cursor:default}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search{width:min(340px, calc(100% - var(--rail) - 28px));gap:6px;display:flex;position:absolute;top:12px;left:12px}.search input{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:0;color:var(--text);font:inherit;background:#16181bd1;border-radius:999px;flex:auto;padding:8px 12px}.search input::placeholder{color:var(--muted)}.search input:focus-visible,#modal-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.search-go{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16181bd1;border-radius:999px;flex:none;padding:8px 14px}#rail{top:var(--rail-inset);right:var(--rail-inset);z-index:3;flex-direction:column;gap:8px;display:flex;position:absolute}.rail-button{width:var(--rail-size);height:var(--rail-size);border:1px solid var(--line);background:var(--bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);opacity:.82;cursor:pointer;border-radius:10px;flex:none;place-items:center;padding:0;transition:opacity .14s,border-color .14s,background .14s;display:grid;position:relative}.rail-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.rail-button:hover,.rail-button:focus,.rail-button:focus-visible{opacity:1;background:#1f2328f2;border-color:#46505b}.rail-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail-button[aria-expanded=true]{opacity:1;background:var(--panel);border-color:var(--accent);color:var(--text)}.rail-button:after{content:attr(data-name);border:1px solid var(--line);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;background:#16181bf2;border-radius:6px;padding:3px 8px;font-size:12px;transition:opacity .12s;position:absolute;right:46px}.rail-button:hover:after,.rail-button:focus:after,.rail-button:focus-visible:after{opacity:1}.rail-button[aria-expanded=true]:after{display:none}@media (hover:none){.rail-button:after{display:none}}.drawer{top:0;bottom:0;right:var(--rail);z-index:2;width:min(var(--drawer), calc(100% - var(--rail)));background:var(--panel);border-left:1px solid var(--line);transform:translateX(calc(100% + var(--rail)));flex-direction:column;transition:transform .22s;display:flex;position:absolute;box-shadow:-18px 0 40px #00000059}#app:not([data-drawer=""]) .drawer{transform:none}@media (prefers-reduced-motion:reduce){.drawer{transition:none}}.drawer-head{border-bottom:1px solid var(--line);flex:none;padding:14px 46px 10px 16px;position:relative}.drawer-head h2{margin:0 0 2px;font-size:15px}.drawer-head .note{margin-bottom:0}.icon-button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#262c33;border-radius:8px;flex:none;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.icon-button:hover,.icon-button:focus-visible{color:var(--text);border-color:#46505b}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;width:15px;height:15px}.pane{padding:var(--pane-pad-y) var(--pane-pad-x) 20px;flex:auto;overflow:auto}.pane h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px;font-size:12px}.list{color:var(--muted);margin:0 0 10px;padding-left:18px;font-size:12px}.list li{margin-bottom:4px}#panel h1{margin:0 0 2px;font-size:16px}#panel section{border-top:1px solid var(--line);padding:14px 0}#panel section h2{margin-top:0}#panel>header{padding:10px 0 12px}.muted{color:var(--muted);margin:0}.note{margin-bottom:10px;font-size:12px}.row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}button{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#262c33;border-radius:5px;flex:auto;padding:7px 10px}button:hover{border-color:#46505b}button.primary{background:var(--accent);border-color:var(--accent);color:#06121f;font-weight:600}button.active{background:var(--yellow);border-color:var(--yellow);color:#241701;font-weight:600}.share-actions{margin:12px 0}.share-actions .note{min-height:2.4em;margin-top:8px}.field{color:var(--muted);font-size:12px;display:block}.field input[type=range]{width:100%;accent-color:var(--accent);margin-top:4px}.check{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin-top:4px;display:flex}.check input[type=checkbox]{accent-color:var(--accent);margin:0}.field select{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#262c33;border-radius:5px;margin-top:4px;padding:6px 8px;display:block}output{color:var(--text);font-variant-numeric:tabular-nums}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}td{padding:3px 0}td:not(:first-child){text-align:right;color:var(--muted)}td.val{color:var(--text)}.controller+.controller{margin-top:12px}.controller h3{color:var(--muted);margin:0 0 4px;font-size:12px;font-weight:600}.chip{border:1px solid var(--line);color:var(--text);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;background:#262c33;border-radius:999px;padding:1px 6px;font-size:10px;display:inline-block}.chip.warn{color:var(--yellow);background:#33260d;border-color:#6b4a12}.chip.site{color:#8fc7ff;background:#12293d;border-color:#1f4b74}.chip.live{color:#cba6e0;background:#2a1c33;border-color:#5a3a6b}.chip.now{color:#8fe0a8;background:#10301c;border-color:#1f5c33}.chip.folder{color:var(--muted);background:#20252b;border-color:#3a4048}button.mini{border-radius:4px;padding:2px 7px;font-size:11px}.dot{vertical-align:-1px;background:var(--line);border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.dot.green{background:var(--green)}.dot.yellow{background:var(--yellow)}.dot.red{background:var(--red)}.held{color:var(--yellow)}.bad{color:var(--red)}#footer{left:0;right:var(--rail);pointer-events:none;position:absolute;bottom:10px}#hint,#calibration{color:var(--muted);text-shadow:0 1px 3px #000000d9;margin:0;font-size:12px;position:absolute;left:12px}#hint{bottom:34px}#calibration{bottom:17px}.link{color:var(--muted);font:inherit;text-underline-offset:2px;cursor:pointer;pointer-events:auto;background:0 0;border:0;flex:none;padding:0;text-decoration:underline}.link:hover,.link:focus-visible{color:var(--text)}.banner{top:62px;left:12px;right:calc(var(--rail) + 12px);z-index:1;border:1px solid var(--red);color:#ffd9dc;background:#45161a;border-radius:6px;padding:10px 12px;font-size:13px;position:absolute}#copyright{text-align:center;color:var(--muted);text-shadow:0 1px 3px #000000d9;margin:0;font-size:11px}.scrim{z-index:4;background:#090a0c80;place-items:center;padding:16px;display:grid;position:absolute;inset:0}#app[data-modal=closed] .scrim{display:none}.modal{border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;width:min(560px,100%);max-height:min(86vh,720px);padding:16px 18px 14px;display:flex;box-shadow:0 24px 60px #00000080}.modal-head{padding-right:40px;position:relative}.modal-head h2{letter-spacing:0;text-transform:none;color:var(--text);margin:0 0 10px;font-size:19px}.modal-head .icon-button{top:-2px;right:-4px}#modal-back{left:-4px;right:auto}#modal-title.indented{padding-left:30px}#modal-search{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#262c33;border-radius:8px;flex:none;margin-bottom:10px;padding:8px 12px}.picker{flex-direction:column;flex:auto;gap:8px;margin:0 -4px;padding:2px 4px;display:flex;overflow:auto}.picker-card{text-align:left;border:1px solid var(--line);background:#23282e;border-radius:9px;flex:none;width:100%;padding:10px 12px;display:block}.picker-card:hover,.picker-card:focus-visible{border-color:var(--accent)}.picker-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.picker-card.folder{background:#1e232a;border-style:dashed;padding-right:30px;position:relative}.picker-card.folder:after{content:"";border-right:1.5px solid var(--muted);border-top:1.5px solid var(--muted);width:7px;height:7px;margin-top:-4px;position:absolute;top:50%;right:12px;transform:rotate(45deg)}.picker-card .card-title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.picker-card .card-place{color:var(--muted);font-size:12px;font-weight:400}.picker-card .card-blurb{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.4}.modal-foot{border-top:1px solid var(--line);flex:none;margin:12px 0 0;padding-top:10px}@media (max-width:700px){:root{--rail-inset:8px;--rail-size:36px}.drawer{width:calc(100% - var(--rail))}.search{width:calc(100% - var(--rail) - 16px)}.search-go{padding:8px 12px}#hint{display:none}.modal{max-height:88vh;padding:14px 14px 12px}.modal-head h2{font-size:17px}#footer{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:5px;padding:0 8px;display:flex;bottom:6px;right:0}#calibration,#copyright{font-size:11px;position:static;bottom:auto;left:auto}#copyright:before{content:"— "}}.class-head{top:calc(-1 * var(--pane-pad-y));z-index:2;margin:20px calc(-1 * var(--pane-pad-x)) 6px;padding:calc(7px + var(--pane-pad-y)) var(--pane-pad-x) 6px;background:var(--panel);border-bottom:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-size:11px;position:sticky;box-shadow:0 4px 8px -4px #000a}#panel section h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px}.tier{margin-top:14px}.tier>h3{color:var(--text);text-transform:none;letter-spacing:0;margin:0 0 4px;font-size:12px}.assumption{border:1px solid var(--line);background:#1b1f24;border-radius:6px;margin-bottom:8px;padding:9px 10px}.assumption[data-tier="1"]{border-left:3px solid var(--yellow)}.assumption-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.assumption-head h4{flex:60%;margin:0;font-size:13px}.assumption-tags{flex-wrap:wrap;gap:4px;display:flex}.assumption-value{color:var(--muted);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:12px}.assumption-value strong,.assumption-value code{color:var(--text)}code{color:var(--text);font-size:.92em}.chip.prov-assumed{color:var(--yellow);background:#33260d;border-color:#6b4a12}.chip.prov-measured{color:#8fe0a8;background:#10301c;border-color:#1f5c33}.chip.edit-runtime{color:#8fc7ff;background:#12293d;border-color:#1f4b74}.chip.decision{color:var(--muted)}.control{grid-template-columns:1fr auto;align-items:baseline;gap:0 8px;margin-top:8px;display:grid}.control-label{color:var(--muted)}.control-value{text-align:right}.control-value.changed{color:var(--yellow);font-weight:600}.control input[type=range]{grid-column:1/-1}.override-banner{color:var(--yellow);background:#33260d;border:1px solid #6b4a12;border-radius:6px;align-items:center;gap:8px;margin:8px 0 4px;padding:7px 9px;font-size:12px;display:flex}.override-banner span{flex:auto}.override-refused{color:#ff9ea1;white-space:pre-wrap;background:#2b1113;border:1px solid #6b2226;border-radius:6px;grid-column:1/-1;margin:8px 0 2px;padding:7px 9px;font-size:12px;display:block}.override-banner button{flex:none}.assumption-why{color:var(--muted);margin-top:7px;font-size:12px}.assumption-why summary{cursor:pointer;color:var(--accent)}.assumption-why p{margin:6px 0 0}.hidden{display:none}.build-flags{background:#241a08;border:1px solid #6b4a12;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:12px}.build-flags summary{cursor:pointer;color:var(--yellow);letter-spacing:.02em}.build-flags ul{color:var(--muted);margin:8px 0 2px;padding-left:16px;line-height:1.45}.build-flags li{margin-bottom:5px}.build-flags .flag-kind{color:var(--yellow);text-transform:uppercase;letter-spacing:.06em;margin-right:6px;font-size:10px}
