:root{--text:#1f2430;--bg:#f5f6f8;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e5e7eb;--bg:#16171d}}*{box-sizing:border-box}body{margin:0}#root{height:100vh}.placeholder{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%;display:flex}:root{--panel-bg:#fff;--panel-border:#d8dce3;--input-bg:#fff;--input-border:#c3c9d3;--accent:#2f6fed;--accent-text:#fff;--muted:#6b7280}@media (prefers-color-scheme:dark){:root{--panel-bg:#1d1f26;--panel-border:#33363f;--input-bg:#14151a;--input-border:#3d414c;--accent:#5b8cff;--muted:#9ca3af}}.app-layout{flex-direction:column;height:100%;display:flex}.toolbar{background:var(--panel-bg);border-bottom:1px solid var(--panel-border);align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.app-title{font-size:1.05rem;font-weight:700}.project-name{font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;min-width:12rem;padding:.3rem .5rem}.project-name:hover,.project-name:focus{border-color:var(--input-border);background:var(--input-bg);outline:none}.toolbar-spacer{flex:1}.add-element,.field select{font:inherit;color:inherit;border:1px solid var(--input-border);background:var(--input-bg);border-radius:6px;padding:.3rem .5rem}.field{justify-content:space-between;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.field input{font:inherit;color:inherit;border:1px solid var(--input-border);background:var(--input-bg);border-radius:6px;width:9rem;padding:.3rem .4rem}.field input:focus,.field select:focus{border-color:var(--accent);outline:none}.hint{color:var(--muted);margin:0;font-size:.85rem}.element-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.element-list li{border-radius:6px;align-items:stretch;display:flex;overflow:hidden}.element-list li.active{outline:2px solid var(--accent)}.element-row{font:inherit;color:inherit;text-align:left;background:var(--input-bg);cursor:pointer;border:none;flex:1;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.9rem;display:flex}.element-kind{color:var(--muted);font-size:.75rem}.element-delete{font:inherit;background:var(--input-bg);color:var(--muted);cursor:pointer;border:none;padding:0 .6rem}.element-delete:hover{color:#d33}.color-chip{vertical-align:-.08rem;border:1px solid #0003;border-radius:3px;width:.8rem;height:.8rem;margin-right:.45rem;display:inline-block}.action-button{font:inherit;color:inherit;border:1px solid var(--input-border);background:var(--input-bg);cursor:pointer;text-align:center;border-radius:6px;padding:.4rem .6rem;font-size:.88rem}.action-button:hover{border-color:var(--accent)}.action-button.danger:hover{color:#d33;border-color:#d33}.field input[type=color]{width:3rem;height:1.9rem;padding:.1rem}.face-toggles{grid-template-columns:1fr 1fr;gap:.35rem .75rem;display:grid}.face-toggle{align-items:center;gap:.4rem;font-size:.85rem;display:flex}.lang-switch{border:1px solid var(--input-border);border-radius:6px;display:flex;overflow:hidden}.lang-switch button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.25rem .6rem;font-size:.85rem}.lang-switch button.active{background:var(--accent);color:var(--accent-text)}.app-main{flex:1;min-height:0;display:flex}.side-panel{background:var(--panel-bg);border-right:1px solid var(--panel-border);flex-direction:column;flex-shrink:0;gap:1.25rem;width:320px;padding:1rem;display:flex;overflow-y:auto}.viewport-column{flex-direction:column;flex:1;min-width:0;display:flex}.viewport{flex:1;min-width:0;min-height:0}.results-panel{background:var(--panel-bg);border-top:1px solid var(--panel-border);flex-direction:column;max-height:40%;display:flex}.results-header{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.results-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.85rem;font-weight:600}.results-summary{flex:1;font-size:.9rem}.results-chevron{color:var(--muted)}.results-body{flex-direction:column;gap:.5rem;padding:0 1rem .75rem;display:flex;overflow-y:auto}.results-table{border-collapse:collapse;width:100%;font-size:.9rem}.results-table th{text-align:left;color:var(--muted);padding:.25rem .75rem .25rem 0;font-size:.78rem;font-weight:600}.results-table td{border-top:1px solid var(--panel-border);padding:.3rem .75rem .3rem 0}.results-total td{font-weight:600}.results-mode{flex-shrink:0}.results-row{cursor:pointer}.results-expand{width:1rem;color:var(--muted);display:inline-block}.results-subrow td{color:var(--muted);border-top:none;padding-top:0;font-size:.82rem}.results-subrow td:first-child{padding-left:1rem}.results-warnings{color:#b45309;flex-direction:column;gap:.2rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.form-section{flex-direction:column;gap:.5rem;display:flex}.form-section h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .25rem;font-size:.8rem;font-weight:600}.number-field{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.number-field-label{font-size:.9rem}.number-field-control{align-items:center;gap:.35rem;display:flex}.number-field input{width:5.5rem;font:inherit;color:inherit;border:1px solid var(--input-border);background:var(--input-bg);text-align:right;border-radius:6px;padding:.3rem .4rem}.number-field input:focus{border-color:var(--accent);outline:none}.number-field-unit{color:var(--muted);width:1.6rem;font-size:.8rem}
