:root{--bg:#0d1117;--panel:#161b22;--border:#30363d;--text:#c9d1d9;--muted:#8b949e;--accent:#ffb020;--accent-2:#58a6ff;--danger:#f85149;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.4 system-ui,sans-serif;overflow:hidden}.app{grid-template:"toolbar toolbar toolbar""left view right"1fr"status status status"/350px 1fr 330px;height:100%;display:grid}.toolbar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;grid-area:toolbar;align-items:center;gap:.5rem 1rem;padding:.4rem .75rem;display:flex}.toolbar-group{align-items:center;gap:.25rem;display:flex}.toolbar-group.snap label{align-items:center;gap:.2rem;display:flex}.brand{color:var(--accent);margin-right:.5rem}.sidebar{background:var(--panel);border-color:var(--border);border-style:solid;border-width:0;overflow:hidden auto}.sidebar.left{border-right-width:1px;grid-area:left}.sidebar.right{border-left-width:1px;grid-area:right}.viewport-host{grid-area:view;min-width:0;min-height:0;position:relative}.viewport{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.panel{border-bottom:1px solid var(--border);padding:.75rem}.panel h2{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:12px;font-weight:600}.field{grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:.5rem;margin:.3rem 0;display:grid}.field-input{align-items:center;gap:.3rem;display:flex}.field-unit{width:1.8rem;color:var(--muted);font-size:12px}.check{align-items:center;gap:.4rem;margin:.5rem 0;display:flex}input,select,button{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px}input,select{width:100%;min-width:0;padding:.2rem .35rem}input[type=checkbox]{width:auto}input[aria-invalid=true]{border-color:var(--danger)}input:disabled,select:disabled,button:disabled{opacity:.45}.grid-size{width:4.5rem}button{cursor:pointer;white-space:nowrap;padding:.25rem .6rem}button:hover:not(:disabled){border-color:var(--accent-2)}button.active{border-color:var(--accent);color:var(--accent)}button.primary{color:#fff;background:#1f6feb;border-color:#1f6feb;width:100%;margin-top:.5rem}button.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.row{gap:.4rem;margin-top:.5rem;display:flex}.row button{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.muted{color:var(--muted)}.hint{color:var(--muted);margin:.3rem 0;font-size:11.5px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace}.statusbar{background:var(--panel);border-top:1px solid var(--border);white-space:nowrap;grid-area:status;gap:1.25rem;padding:.25rem .75rem;font-size:12px;display:flex}.statusbar .grow{text-overflow:ellipsis;flex:1;overflow:hidden}.statusbar .error{color:var(--danger)}.statusbar .info{color:var(--text)}.tabs{z-index:1;background:var(--panel);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.tabs button{min-width:0;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:.35rem .05rem .3rem;font-size:10px;display:flex}.tabs button span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.panel h3{color:var(--text);margin:.8rem 0 .3rem;font-size:12px;font-weight:600}.grid-table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.3rem 0}.grid-table th{color:var(--muted);text-align:left;padding:0 2px;font-size:11px;font-weight:500}.grid-table th:first-child{width:38%}.grid-table th:last-child:empty{width:22px}.grid-table td{padding:1px 2px}.grid-table.compact th:first-child{width:auto}.cell{width:100%;padding:.1rem .25rem;font-size:12px}button.icon{padding:0 .3rem;line-height:1.3}button.primary-inline{color:#fff;background:#1f6feb;border-color:#1f6feb}.kv{border-collapse:collapse;width:100%}.kv td{padding:1px 0}.num{text-align:right;font-variant-numeric:tabular-nums}tr.warn td,.warn{color:#e3b341}.small{text-transform:none;letter-spacing:0;font-size:11px;font-weight:400}.column{width:100%;height:auto;margin:.3rem 0;display:block}.col-label{fill:var(--text);font-size:10.5px}.col-label.muted{fill:var(--muted)}.col-depth{fill:var(--muted);font-size:10px}.legend{margin:.3rem 0 .5rem}.gradient{border-radius:4px;height:8px}.legend-labels{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.legend-row{flex-wrap:wrap;gap:.3rem .7rem;margin:.3rem 0;font-size:11px;display:flex}.legend-chip{align-items:center;gap:.25rem;display:inline-flex}.legend-chip i{border-radius:2px;width:14px;height:3px}.checks{flex-wrap:wrap;gap:0 .8rem;display:flex}.checks .check{margin:.2rem 0}.slider{width:100%;margin-top:.5rem;padding:0}.chart{width:100%;height:170px;margin:.4rem 0}.boundary-list{margin:0 0 .4rem;padding:0;list-style:none}.boundary-list li{border-radius:4px;grid-template-columns:18px minmax(0,1fr) auto 22px;align-items:center;gap:.4rem;padding:2px 4px;display:grid}.boundary-list li.active{outline:1px solid var(--accent);background:#1f2937}.swatch{border:1px solid #0008;border-radius:3px;width:16px;height:16px;padding:0}.modal-backdrop{z-index:20;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;width:min(900px,100vw - 32px);max-height:calc(100vh - 48px);padding:1rem 1.2rem;overflow:auto;box-shadow:0 12px 40px #0008}.modal header,.modal footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.modal footer{justify-content:flex-end;margin-top:.8rem}.modal footer .warn{margin-right:auto}.modal h2{margin:0;font-size:15px}.modal-cols{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}@media (width<=700px){.modal-cols{grid-template-columns:1fr}}.table-scroll{max-height:220px;overflow-x:auto}.grid-table.preview{table-layout:auto;white-space:nowrap;font-size:11.5px}.grid-table.preview td{color:var(--muted);padding:1px 8px 1px 2px}.errors{color:#e3b341;border:1px solid #e3b34155;border-radius:4px;margin-top:.5rem;padding:.4rem .6rem;font-size:12px}.errors ul{margin:.2rem 0 0;padding-left:1.2rem}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--accent)}.icon-btn{justify-content:center;align-items:center;gap:.35rem;min-width:32px;height:30px;padding:0 .4rem;display:inline-flex;position:relative}.icon-btn.active{border-color:var(--accent);color:var(--accent);background:#2d2410}.icon-btn kbd{color:var(--muted);background:0 0;border:0;padding:0;font-size:8.5px;line-height:1;position:absolute;bottom:0;right:1px}.icon-btn.active kbd{color:var(--accent)}.row-title .icon-btn kbd,.row .icon-btn kbd{position:static}kbd{border:1px solid var(--border);background:var(--bg);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font:11px ui-monospace,Menlo,Consolas,monospace;display:inline-block}.toolbar .brand{margin-right:.25rem}.toolbar-group{border-right:1px solid var(--border);padding-right:.5rem}.toolbar-group:last-child{border-right:0}.toolbar-group.snap .icon-btn{min-width:28px;height:26px}.row-title{justify-content:space-between;align-items:center;display:flex}.row-title .icon-btn{text-transform:none;min-width:26px;height:24px}.kpis{grid-template-columns:repeat(4,1fr);gap:.35rem;margin-bottom:.4rem;display:grid}.kpi{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-direction:column;padding:.35rem .4rem;display:flex}.kpi span,.kpi small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.kpi strong{font-variant-numeric:tabular-nums;font-size:17px}.chart.tall{height:220px}.segmented{border:1px solid var(--border);border-radius:6px;margin:.4rem 0;display:flex;overflow:hidden}.segmented button{background:0 0;border:0;border-radius:0;flex:1}.segmented button.active{color:var(--accent);background:#2d2410}.modal.shortcuts{width:min(640px,100vw - 32px)}.modal.shortcuts td{vertical-align:middle;padding:3px 6px 3px 0}.menu{position:relative}.menu-list{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;min-width:260px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0008}.menu-list button{text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.menu-list button:hover{background:#1f2937}.grid-table.layers{table-layout:auto}.grid-table.layers td{padding:2px 6px 2px 0}.overlay-3d{border:1px solid var(--border);pointer-events:auto;background:#0d1117d9;border-radius:6px;max-width:280px;padding:.5rem .6rem;font-size:11.5px;position:absolute;bottom:10px;left:10px}.overlay-3d ul{columns:2;margin:0 0 .4rem;padding:0;list-style:none}.overlay-3d li{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;display:flex;overflow:hidden}.overlay-3d i{border-radius:2px;flex:none;width:10px;height:10px}.overlay-3d label{align-items:center;gap:.5rem;display:flex}.overlay-3d input[type=range]{flex:1;padding:0}.overlay-3d p{color:var(--muted);margin:.3rem 0 0}.overlay-3d kbd{padding:0 3px;font-size:10px}.tabs .badge{text-align:center;color:#0d1117;background:var(--accent);border-radius:7px;min-width:14px;margin-left:4px;padding:0 4px;font-size:9.5px;font-style:normal;line-height:14px;display:inline-block}.viewport-host{overflow:hidden}.menu-list button span{flex-direction:column;display:flex}.menu-list button small{color:var(--muted);font-size:11px}.checks-list{margin:0;padding:0;list-style:none}.checks-list button{text-align:left;background:0 0;align-items:center;gap:.45rem;width:100%;margin:2px 0;padding:.3rem .45rem;display:flex}.checks-list button span{flex:1}.checks-list em{font-variant-numeric:tabular-nums;color:var(--muted);font-style:normal}.sev-error{color:#ff7b72;border-color:#ff7b7255}.sev-warning{color:#e3b341;border-color:#e3b34155}.sev-info{color:#79c0ff;border-color:#79c0ff55}.check-ok{color:#3fb950;align-items:center;gap:.4rem;margin:.2rem 0;display:flex}.overlay-3d strong{margin-bottom:.3rem;font-weight:600;display:block}.overlay-3d .gradient{margin:.2rem 0}
