:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#273341;background:radial-gradient(circle at top left,rgba(122,132,142,.18),transparent 28%),radial-gradient(circle at right center,rgba(168,176,184,.22),transparent 34%),linear-gradient(180deg,#f3f4f6,#e8ebee);color-scheme:light;line-height:1.4;font-weight:400}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%}body{min-width:320px;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}.app-shell{height:100%;display:flex;flex-direction:column;padding:.85rem;gap:.85rem;overflow:hidden;position:relative}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr) 320px;gap:.85rem;overflow:hidden;position:relative;z-index:1}.topbar,.panel-card,.viewport-panel,.loading-card{border:1px solid rgba(172,180,188,.38);background:linear-gradient(180deg,#fafbfcf5,#f1f3f5f5);box-shadow:0 16px 34px #626f7b24;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border-radius:0;position:relative;z-index:20;overflow:visible}.topbar__cluster{display:flex;gap:.5rem;align-items:center;min-width:0}.topbar__brand{display:flex;flex-direction:column;min-width:0}.topbar__eyebrow,.panel-card__meta,.field-group__label small{color:#7b8791;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.topbar__status,.topbar__hint{color:#65737f;font-size:.85rem}.topbar__project-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#22303c;cursor:text;font-size:1.25rem;font-weight:700;padding:0;text-align:left}.topbar__project-input{border:1px solid rgba(174,182,190,.42);background:#fafbfcfa;color:#22303c;border-radius:0;padding:.3rem .55rem;font-size:1.05rem;font-weight:700;max-width:260px;width:100%}.menu-bar{display:flex;align-items:center;gap:.15rem;margin-left:.85rem;position:relative;z-index:21}.menu-bar__group{position:relative}.menu-bar__button{border:0;background:transparent;color:#5f6c76;border-radius:0;padding:.45rem .65rem}.menu-bar__button:hover,.menu-bar__button--active{background:#e2e7ece0;color:#22303c}.menu-dropdown{position:absolute;top:calc(100% + .35rem);left:0;z-index:30;display:flex;flex-direction:column;gap:.15rem;min-width:220px;padding:.45rem;border-radius:0;border:1px solid rgba(174,182,190,.42);background:#fafbfcfa;box-shadow:0 12px 28px #5f6c7824}.menu-dropdown--settings{min-width:340px;padding:.8rem}.menu-dropdown__submenu{position:relative}.menu-dropdown--submenu{display:none;left:calc(100% + .35rem);min-width:190px;top:-.45rem}.menu-dropdown__submenu:focus-within .menu-dropdown--submenu,.menu-dropdown__submenu:hover .menu-dropdown--submenu{display:flex}.menu-dropdown__item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;border:0;background:transparent;color:#22303c;border-radius:0;padding:.55rem .65rem;text-align:left}.menu-dropdown__item:hover{background:#e2e7ece6}.menu-dropdown__item--danger{color:#9a3e2f}.menu-dropdown__item--danger:hover{background:#ffe8e0e0}.menu-dropdown__item--stacked{align-items:flex-start;flex-direction:column}.menu-dropdown__item--submenu-trigger svg{flex:0 0 auto;margin-left:auto}.menu-dropdown__item--stacked small,.menu-dropdown__empty,.menu-dropdown__label,.menu-dropdown__note{color:#6d7983}.menu-dropdown__divider{height:1px;background:#aeb6be6b;margin:.2rem 0}.menu-dropdown__label{font-size:.76rem;letter-spacing:.08em;padding:.3rem .65rem .15rem;text-transform:uppercase}.menu-dropdown__empty,.menu-dropdown__note{padding:.45rem .65rem;font-size:.88rem}.topbar__icon-button,.viewport-rail__button,.browser-card__icon-button,.viewport-context-bar__button{border:1px solid rgba(174,182,190,.42);background:#f8f9faf0;color:#32404b;border-radius:0;padding:.62rem;transition:transform .12s ease,border-color .12s ease,background .12s ease}.topbar__icon-button:hover,.viewport-rail__button:hover,.browser-card__icon-button:hover,.viewport-context-bar__button:hover{transform:translateY(-1px);border-color:#707c888c;background:#f1f4f7fa}.topbar__icon-button--active,.viewport-rail__button--active,.browser-card__icon-button--active{background:linear-gradient(135deg,#5f6b76,#aeb6bf);color:#fff;border-color:#b9c2cbb8}.sidebar,.inspector{display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:auto}.panel-card{border-radius:0;padding:1rem;min-width:0}.panel-card--compact{padding:.9rem}.panel-card__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.8rem}.panel-card__title{font-family:Iowan Old Style,Palatino Linotype,serif;font-size:1.05rem}.panel-card__empty{margin:0;color:#73818c}.material-summary{display:flex;flex-direction:column;gap:.55rem}.material-summary__intro{margin:0 0 .2rem;color:#65737f;font-size:.86rem}.material-summary__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:start;border-top:1px solid rgba(174,182,190,.34);padding-top:.6rem}.material-summary__label,.material-summary__total{display:flex;flex-direction:column;gap:.15rem;min-width:0}.material-summary__label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-summary__total{text-align:right}.material-summary__row small{color:#73818c;font-size:.78rem}.browser-card{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.browser-card__header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.85rem}.browser-card__header-action{width:2.05rem;height:2.05rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent;color:#66737e;padding:0}.browser-card__header-action:hover{background:#e2e7ece6;color:#22303c}.browser-card__subtitle{margin:.2rem 0 0;color:#73818c;font-size:.88rem}.search-field{display:flex;align-items:center;gap:.6rem;border:1px solid rgba(174,182,190,.42);background:#fafbfcf5;color:#32404b;border-radius:0;padding:.75rem .9rem;margin-bottom:.9rem}.search-field__input{flex:1;border:0;outline:0;background:transparent;color:inherit}.browser-card__actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.9rem}.browser-card__action-button{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(174,182,190,.38);background:#f8f9faf5;color:#32404b;border-radius:0;padding:.62rem .8rem;flex:1 1 5.8rem;justify-content:center}.object-browser{display:flex;flex-direction:column;gap:.08rem;flex:1 1 auto;overflow:auto;min-height:0;border:1px dashed transparent;border-radius:0;padding-bottom:.75rem;transition:background .12s ease,border-color .12s ease}.object-browser--drop-target{background:#e2e7ec80;border-color:#707c8894}.object-tree__group{display:flex;flex-direction:column;gap:.08rem}.object-row,.recent-list__item{display:flex;gap:.32rem;align-items:center;width:100%;border:1px solid transparent;background:transparent;color:inherit;border-radius:0;padding:.22rem .4rem;text-align:left;cursor:grab;transition:background .12s ease,border-color .12s ease,opacity .12s ease,transform .12s ease;-webkit-user-select:none;user-select:none}.object-row:active{cursor:grabbing}.object-row--group{border-color:transparent;background:transparent}.object-row--selected{border-color:#707c8866;background:#e2e7ecc7}.object-row--dragging{opacity:.48}.object-row--drop-target{border-color:#5c6774b8;background:#d7dde3f0;box-shadow:inset 0 0 0 1px #5c677438;transform:translateY(-1px)}.object-row__icon{width:1.15rem;height:1.15rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0;background:transparent;flex:0 0 auto}.object-row__icon--group{background:transparent;color:#5f6b76}.object-row__disclosure{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:0;border-radius:0;background:transparent;color:#66737e;padding:0}.object-row__disclosure:hover{background:#e2e7ece6;color:#22303c}.object-row__disclosure--placeholder{pointer-events:none}.object-row__content,.recent-list__item{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.object-row__name-button{align-self:flex-start;border:0;background:transparent;color:#22303c;cursor:text;padding:0;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-row__name-button strong{font-weight:500}.object-row__name-input{border:1px solid rgba(174,182,190,.42);background:#fafbfcfa;color:#22303c;border-radius:0;padding:.12rem .3rem;width:100%}.object-row__content small,.recent-list__item small{color:#73818c}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.recent-list{display:flex;flex-direction:column;gap:.55rem}.field,.field-group{display:flex;flex-direction:column;gap:.38rem;margin-bottom:.75rem}.field--checkbox{flex-direction:row;align-items:center}.field__input{border:1px solid rgba(174,182,190,.42);background:#fafbfcfa;color:#22303c;border-radius:0;padding:.7rem .85rem;width:100%;min-width:0}.field__input--readonly{display:flex;align-items:center;min-height:46px;color:#42515d}.inspector-field{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:.6rem;align-items:center;margin-bottom:.45rem}.inspector-field>span{color:#42515d;line-height:1.2}.inspector-field .field__input{min-height:34px;padding:.42rem .55rem}.inspector-field .field__input--readonly{min-height:34px}.inspector-section-label{display:block;margin:.7rem 0 .4rem}.field-group__grid{display:grid;gap:.65rem}.field-group__grid.inspector-vector-grid{gap:.3rem}.inspector-note{color:#65737f;font-size:.82rem;margin:-.1rem 0 .45rem}.inspector-action-button{width:100%;border:1px solid rgba(112,124,136,.55);background:#e2e7ece6;color:#22303c;padding:.48rem .65rem}.inspector-action-button:hover{background:#d7dde3fa}.field-group__grid--1{grid-template-columns:1fr}.field-group__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-group__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.viewport-panel{border-radius:0;padding:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.viewport-canvas{flex:1;min-height:0;position:relative;border-radius:0;overflow:hidden;border:1px solid rgba(174,182,190,.34)}.viewport-help{position:absolute;top:1rem;right:4.8rem;z-index:2;display:flex;flex-direction:column;gap:.3rem;max-width:280px;padding:.75rem .9rem;border-radius:0;background:#fafbfcf5;border:1px solid rgba(174,182,190,.42);box-shadow:0 12px 28px #5f6c7829}.viewport-rail{position:absolute;z-index:2;display:flex;flex-direction:column;gap:.45rem;padding:.55rem;border-radius:0;background:#f8f9faf0;border:1px solid rgba(174,182,190,.42);box-shadow:0 12px 28px #5f6c7824;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.viewport-rail--left{left:1rem;top:6.4rem}.viewport-rail--right{right:1rem;top:1rem}.viewport-rail__divider{width:100%;height:1px;background:#aeb6be6b;margin:.15rem 0}.viewport-rail__menu-wrapper{position:relative}.viewport-add-menu{position:absolute;left:calc(100% + .5rem);top:0;z-index:3;min-width:128px;display:flex;flex-direction:column;gap:.18rem;padding:.35rem;border-radius:0;border:1px solid rgba(174,182,190,.42);background:#fafbfcfa;box-shadow:0 12px 28px #5f6c7824}.viewport-add-menu__item{display:inline-flex;align-items:center;gap:.5rem;border:0;background:transparent;color:#22303c;border-radius:0;padding:.5rem .6rem;text-align:left}.viewport-add-menu__item:hover{background:#e2e7ece6}.viewport-context-bar{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);z-index:2;display:flex;gap:.55rem;padding:.55rem;border-radius:0;background:#f8f9faf0;border:1px solid rgba(174,182,190,.42);box-shadow:0 12px 28px #5f6c7824}.viewport-context-bar__button{display:inline-flex;align-items:center;gap:.45rem;border-radius:0;padding:.62rem .9rem}.viewport-context-bar__button--danger{border-color:#c25a466b}.measurement-chip{min-width:96px;padding:.35rem .6rem;border-radius:0;background:#fafbfcf5;border:1px solid rgba(174,182,190,.38);color:#22303c;box-shadow:0 10px 28px #5f6c7824;font-size:.82rem;font-weight:600;text-align:center}.measurement-chip--selected{border-color:#5c67749e;background:#e8ecf0fa}.loading-card{margin:auto;padding:2rem 2.4rem;border-radius:0}@media(max-width:1180px){.workspace{grid-template-columns:1fr}.sidebar,.inspector{order:2}.viewport-panel{order:1;min-height:420px}.topbar{flex-wrap:wrap}.menu-bar{flex-wrap:wrap;margin-left:0}.viewport-help{right:1rem;left:1rem;max-width:none}.field-grid{grid-template-columns:1fr}}
