:root{font-family:system-ui,sans-serif;color:#e8eef7;background:#0d1f3c}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}.login{display:flex;align-items:center;justify-content:center;height:100%;height:100dvh}.login-card{width:min(22rem,92vw);display:flex;flex-direction:column;gap:.65rem;padding:1.5rem;border:1px solid #2b5c9e;border-radius:8px;background:#0a182e}.login-card h1{margin:0;font-size:1.15rem}.login-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.login-card input{padding:.5rem .65rem;border-radius:4px;border:1px solid #2b5c9e;background:#0d1f3c;color:inherit}.session-line{flex-shrink:0;margin:0 0 .5rem;font-size:.8rem;color:#9bb3d3}button.linkish{background:none;padding:0 0 0 .6rem;margin:0;color:#9bb3d3;text-decoration:underline}.layout{display:grid;grid-template-columns:minmax(300px,36%) 1fr;grid-template-rows:auto 1fr;height:100%;height:100dvh;overflow:hidden}.app-header{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem 1rem;border-bottom:1px solid #2b5c9e;background:#0a182e;padding:0 .5rem}.pane-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:0}.pane-tabs button{border-radius:0;background:transparent;margin:0;padding:.55rem .65rem}.pane-tabs button.on{color:#f4a820;box-shadow:inset 0 -2px #f4a820}.pane-sep{color:#2b5c9e;-webkit-user-select:none;user-select:none}.chat-toggle,.chat-toggle-sep{display:none}@media(min-width:801px){.pane-tab-chat,.pane-sep-chat{display:none}.chat-toggle,.chat-toggle-sep{display:inline-flex}.layout.chat-collapsed{grid-template-columns:1fr}.layout.chat-collapsed .thread{display:none}}.app-who{margin:0;padding:.4rem .65rem;font-size:.85rem;color:#9bb3d3;white-space:nowrap}.app-who .title-version{margin-right:.65rem}.thread,.canvas{grid-row:2}.thread,.canvas{padding:1.25rem 1.5rem;min-height:0;height:100%}.thread{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #2b5c9e}.thread-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0;margin-bottom:.5rem}.thread-head h1{margin:0;min-width:0}.chat-collapse{flex-shrink:0;margin:0;padding:.25rem .5rem;font-size:.8rem}@media(max-width:800px){.chat-collapse{display:none}}.title-version{font-size:.85rem;font-weight:500;color:#9bb3d3;margin-left:.35rem}.canvas{display:flex;flex-direction:column;overflow:hidden}.canvas-head,.canvas-tabs{flex-shrink:0}.canvas-body{flex:1;min-height:0;overflow:auto}.canvas-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-column:1 / -1;margin:.25rem 0 0;border:1px solid #2b5c9e;border-radius:4px;overflow:hidden}.canvas-tabs button{border-radius:0;background:#0a182e}.canvas-tabs button.on{background:#2b5c9e;color:#f4a820}.doc-list{list-style:none;padding:0;margin:0 0 .75rem}.doc-list li{margin:.25rem 0}.doc-list button{background:transparent;padding:.25rem 0;color:#9bb3d3}.doc-list button.on{color:#f4a820}.rcp-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0 0 .75rem}.rcp-file-row button{margin:0}a.rcp-filename{margin:0 .15rem 0 .25rem;color:#9bb3d3;font-weight:500;word-break:break-all}a.rcp-filename:hover,a.rcp-filename.on{color:#f4a820}.rcp-preview{width:100%;height:min(70vh,640px);border:1px solid #2b5c9e;background:#0a182e}.rcp-workspace{display:grid;grid-template-columns:minmax(0,1fr) 16rem;grid-template-rows:minmax(0,1fr);gap:.75rem;width:100%;min-width:0;min-height:0;height:min(78vh,820px);max-height:min(78vh,820px);overflow:hidden;align-items:stretch}.rcp-workspace.collapsed{grid-template-columns:minmax(0,1fr);gap:0}.rcp-stage{position:relative;overflow:hidden;border:1px solid #2b5c9e;background:#0a182e;cursor:grab;min-width:0;min-height:0;max-height:100%;height:100%;overscroll-behavior:contain;touch-action:none}.rcp-stage.panning{cursor:grabbing}.rcp-toolbar{position:absolute;z-index:3;top:.45rem;left:.45rem;display:flex;flex-wrap:wrap;gap:.3rem;max-width:calc(100% - .9rem);padding:.25rem;border-radius:4px;background:#0a182ed9}.rcp-toolbar button{margin:0;padding:.35rem .6rem;font-size:.8rem}.rcp-world{position:absolute;left:0;top:0;transform-origin:0 0;width:max-content}.rcp-page{display:block;max-width:none;-webkit-user-select:none;user-select:none}.rcp-mark{position:absolute;width:1.1rem;height:1.1rem;margin-left:-.55rem;margin-top:-.55rem;border-radius:50%;border:2px solid #f4a820;background:#0a182e8c;color:#e8eef8;font-size:.55rem;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.rcp-mark.on{background:#f4a820;color:#0a182e}.rcp-mark.user{border-style:dashed}.rcp-run{position:absolute;height:4px;margin-top:-2px;border-top:3px solid #f4a820;pointer-events:none;opacity:.85}.rcp-run.on{opacity:1;border-top-width:4px}.rcp-side{display:flex;flex-direction:column;min-width:0;min-height:0;height:auto;max-height:100%;overflow:hidden;border:1px solid #2b5c9e;background:#0a182e;padding:.45rem .55rem .55rem}.rcp-side-remove{display:none;flex-shrink:0;margin:0 0 .5rem}.rcp-side-remove button{margin:0;width:100%}.rcp-side-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;flex-shrink:0;margin:0 0 .5rem;border:1px solid #2b5c9e;border-radius:4px;overflow:hidden}.rcp-side-tabs button{margin:0;border-radius:0;padding:.4rem .15rem;font-size:.75rem;background:#0a182e}.rcp-side-tabs button.on{background:#2b5c9e;color:#f4a820}.rcp-side-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.rcp-side-body .muted{flex-shrink:0;margin:0 0 .45rem;font-size:.75rem}.rcp-zone-move{flex-shrink:0;margin:0 0 .5rem}.rcp-zone-move label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#9bb3d3}.rcp-zone-move select{margin:0}.rcp-list{list-style:none;margin:0;padding:0;max-height:10rem;overflow:auto}.rcp-list.fill{flex:1;min-height:0;max-height:none}.rcp-list button{display:flex;align-items:center;gap:.4rem;width:100%;text-align:left}.rcp-list button.on{color:#f4a820;background:#16325c}.rcp-symbol{width:1.4rem;height:1.4rem;object-fit:contain;background:#fff;border-radius:2px}.rcp-swatch{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}.error{color:#f87171}.config-form{display:flex;flex-direction:column;gap:.75rem;max-width:40rem}.config-form label{display:flex;flex-direction:column;gap:.3rem;color:#9bb3d3}.config-form input,.config-form textarea,.config-form select{padding:.5rem .65rem;border-radius:4px;border:1px solid #2b5c9e;background:#0d1f3c;color:inherit;font:inherit}.config-lighting{margin:0;padding:.75rem;border:1px solid #2b5c9e;border-radius:6px;display:flex;flex-direction:column;gap:.65rem}.config-lighting legend{padding:0 .35rem;color:#f4a820}.fixture-summary{border:1px solid #2b5c9e;border-radius:6px;padding:.75rem;margin:0 0 .75rem;background:#0a182e}.fixture-summary p{margin:0 0 .4rem}.fixture-summary p:last-child{margin-bottom:0}.fixture-summary button{margin-left:.5rem}table.card-list tfoot th,table.card-list tfoot td{border-bottom:0;padding-top:.55rem}.engine-rules{margin:0 0 1rem;padding-left:1.2rem;color:#9bb3d3}.zone-card{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0;padding:.75rem;border:1px solid #1a3358;border-radius:6px;max-width:48rem}.zone-card label{display:flex;flex-direction:column;gap:.3rem;color:#9bb3d3}.zone-card input,.zone-card textarea{padding:.4rem .55rem;border-radius:4px;border:1px solid #2b5c9e;background:#0a182e;color:inherit;font:inherit}.zone-counts{display:flex;gap:.75rem}.zone-counts input{width:4rem}.danger-zone{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #1a3358;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040a16b8;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;z-index:40;overflow:auto}.modal{background:#10203a;border:1px solid #2b5c9e;border-radius:8px;padding:1rem 1.1rem 1.2rem;width:min(28rem,100%)}.modal.wide{width:min(40rem,100%)}.modal-backdrop.stacked{z-index:50}h1,h2,h3{font-weight:600;margin-top:0}.muted{color:#9bb3d3}.messages{flex:1;min-height:0;overflow:auto}.msg{margin:.5rem 0;line-height:1.4}.msg.user{color:#f4a820}.composer{display:flex;gap:.5rem;flex-shrink:0;margin-top:.75rem;padding-top:.75rem;background:#0d1f3c}.composer input{flex:1;padding:.5rem .65rem;border-radius:4px;border:1px solid #2b5c9e;background:#0a182e;color:inherit}button,select{background:#2b5c9e;color:inherit;border:0;border-radius:4px;padding:.5rem .75rem;margin:.35rem}.canvas-tabs button,.doc-list button,.canvas-head-actions button,.canvas-head-actions select,.canvas-head-actions input,.composer button{margin:0}button.danger{background:#b91c1c;color:#fff}button.danger:hover{background:#dc2626}button.success{background:#15803d;color:#fff}button.success:hover{background:#16a34a}.canvas-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;align-items:start}.canvas-head-title{min-width:0}.canvas-head-title h2{margin:0 0 .2rem;font-size:1.15rem}.canvas-menu-toggle{display:none;width:2.5rem;height:2.5rem;margin:0;padding:0;align-items:center;justify-content:center;flex-shrink:0}.canvas-menu-bars{display:block;width:1.15rem;height:2px;background:currentColor;position:relative}.canvas-menu-bars:before,.canvas-menu-bars:after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor}.canvas-menu-bars:before{top:-6px}.canvas-menu-bars:after{top:6px}.canvas-project-menu{display:contents}.canvas-menu-backdrop{display:none}.canvas-head-actions{display:flex;gap:.5rem;align-items:flex-start;flex-shrink:0}.user-search{display:flex;flex-direction:column;gap:.3rem;max-width:24rem;margin:1rem 0 .75rem;color:#9bb3d3;font-size:.85rem}.user-search input{padding:.5rem .65rem;border-radius:4px;border:1px solid #2b5c9e;background:#0a182e;color:inherit;font:inherit}.canvas-head-actions .user-search{margin:0;max-width:14rem}tr.row-link{cursor:pointer}tr.row-link:hover td{background:#12284a}.dropzone{border:1px dashed #2b5c9e;border-radius:6px;padding:1rem;margin:.75rem 0;color:#9bb3d3}.dropzone.on{border-color:#f4a820;color:#f4a820}.dropzone input{display:block;margin-top:.5rem}.total{font-size:1.35rem;margin:.25rem 0}td,th{text-align:left;padding:.35rem .4rem;border-bottom:1px solid #1a3358}table.bom-lines{table-layout:fixed}table.bom-lines th:nth-child(3),table.bom-lines td:nth-child(3),table.bom-lines th:nth-child(4),table.bom-lines td:nth-child(4),table.bom-lines th:nth-child(5),table.bom-lines td:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}.send-row{display:flex;gap:.5rem;margin:.6rem 0}.send-row input{flex:1;padding:.5rem .65rem;border-radius:4px;border:1px solid #2b5c9e;background:#0a182e;color:inherit}.downloads a{color:#f4a820}section{margin-top:1.25rem}.login-links{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}.role-checks{display:flex;flex-wrap:wrap;gap:.5rem .85rem}.role-checks label{display:flex;align-items:center;gap:.3rem;font-size:.85rem}.invite-fold{margin:.75rem 0 0}.invite-fold summary{cursor:pointer;color:#f4a820;list-style:none}.invite-fold summary::-webkit-details-marker{display:none}.invite-fold summary:before{content:"▸ "}.invite-fold[open] summary:before{content:"▾ "}.invite-fold .config-form{margin-top:.75rem}.settings-pane td.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.5rem}.settings-pane .canvas-tabs{grid-template-columns:repeat(3,1fr)}@media(max-width:800px),(max-height:540px){.canvas-head{position:relative;z-index:5;align-items:center}.canvas-menu-toggle{display:inline-flex;grid-column:2;grid-row:1}.canvas.menu-open .canvas-menu-toggle{background:#16325c;color:#f4a820}.canvas.menu-open .canvas-menu-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;margin:0;padding:0;border:0;border-radius:0;background:#08102073}.canvas-project-menu{display:none;position:absolute;left:0;right:0;top:100%;z-index:6;flex-direction:column;gap:.65rem;padding:.75rem;margin-top:.35rem;background:#0a182e;border:1px solid #2b5c9e;border-radius:6px;max-height:min(70dvh,28rem);overflow:auto;box-shadow:0 10px 28px #0006}.canvas.menu-open .canvas-project-menu{display:flex}.canvas-head-actions{flex-direction:column;align-items:stretch;width:100%}.canvas-head-actions select,.canvas-head-actions button,.canvas-head-actions input,.canvas-head-actions .user-search{width:100%;max-width:none}.canvas-project-menu .canvas-tabs{margin:0;grid-template-columns:repeat(4,minmax(0,1fr));font-size:.85rem}.canvas-project-menu .canvas-tabs button{padding:.65rem .25rem}.rcp-workspace:not(.collapsed){grid-template-columns:minmax(0,1fr)}.rcp-workspace:not(.collapsed) .rcp-stage{display:none}.rcp-side-remove{display:block}}@media(max-width:800px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.pane-tabs{display:flex;flex-wrap:wrap;grid-column:auto;grid-row:auto;gap:0;border-bottom:0;background:transparent}.pane-tabs button{border-radius:0;background:transparent;padding:.55rem .5rem}.pane-tabs button.on{background:#0d1f3c;color:#f4a820;box-shadow:inset 0 -2px #f4a820}.thread,.canvas{grid-column:1;grid-row:2;padding:.85rem 1rem;padding-bottom:max(.85rem,env(safe-area-inset-bottom))}.layout.pane-chat .canvas,.layout.pane-chat .settings-pane,.layout.pane-project .thread,.layout.pane-project .settings-pane,.layout.pane-settings .thread,.layout.pane-settings .canvas:not(.settings-pane),.layout.pane-pipeline .thread,.layout.pane-pipeline .canvas:not(.settings-pane),.layout.pane-knowledge .thread,.layout.pane-knowledge .canvas:not(.settings-pane),.layout.pane-calibration .thread,.layout.pane-calibration .canvas:not(.settings-pane){display:none}.thread{border-right:0}.thread h1{font-size:1.05rem;margin-bottom:.5rem}.send-row{flex-wrap:wrap}.send-row button{width:100%}.canvas-tabs{font-size:.85rem}.canvas-tabs button{padding:.65rem .25rem}table.card-list thead{display:none}table.card-list,table.card-list tbody{display:block}table.card-list tr{display:block;background:#10203a;border:1px solid #1a3358;border-radius:8px;margin:0 0 .75rem;padding:.65rem .8rem}table.card-list td{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;border-bottom:0;padding:.28rem 0}table.card-list td:before{content:attr(data-label);color:#9bb3d3;flex-shrink:0}table.card-list td[data-label=Type],table.card-list td[data-label=Name]{display:block;font-weight:600;padding-bottom:.45rem}table.card-list td[data-label=Type]:before,table.card-list td[data-label=Name]:before{content:none}table.card-list td.actions{display:block;padding-top:.5rem}table.card-list td.actions:before{content:none}}
