:root{color:#f4f4f5;background:#101114;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#app{grid-template-columns:390px 1fr;display:grid}.panel{background:#17191e;border-right:1px solid #2b2e35;padding:20px;overflow:auto}.title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.title h1{margin:0;font-size:25px}.title span{color:#9da3ae;margin-top:4px;font-size:12px;display:block}.modelBadge{white-space:nowrap;border-radius:999px;padding:5px 8px;color:#cfe3ff!important;background:#29303a!important}section{margin-top:20px;padding-top:2px}h2{color:#cdd1d8;text-transform:uppercase;letter-spacing:.12em;margin:0 0 11px;font-size:11px}label{color:#d8dae0;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;font-size:13px;display:flex}output{font-variant-numeric:tabular-nums;color:#fff}input[type=range]{accent-color:#8ab4ff;width:100%;margin:7px 0 2px}input[type=color]{background:#24272d;border:1px solid #3a3e47;border-radius:8px;width:72px;height:34px;padding:3px}.rangeScale{color:#737b88;grid-auto-columns:1fr;grid-auto-flow:column;gap:0;margin:1px 0 6px;font-size:9px;line-height:1;display:grid}.rangeScale span{text-align:center;white-space:nowrap;position:relative}.rangeScale span:before{content:"";background:#47505d;width:1px;height:5px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.rangeScale.centered span.centerMark{color:#d7dde8;font-weight:700}.rangeScale.centered span.centerMark:before{background:#8ab4ff;height:7px}.segmented{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.viewBtn{padding:9px 5px;font-size:12px}.viewBtn.active{color:#111318;background:#f2f2f2}.viewBtn:not(.active){color:#d8dbe1;background:#292c33;border:1px solid #383c45}.toggleLabel input{width:auto}.hint{color:#8f96a2;margin:8px 0 0;font-size:11px;line-height:1.4}.spec{color:#aeb4be;background:#202329;border-radius:9px;grid-template-columns:1fr auto;gap:5px 14px;margin-top:12px;padding:10px;font-size:11px;display:grid}.spec strong{color:#e6e8ec}.buttons{gap:8px;padding-bottom:20px;display:grid}button{color:#111318;cursor:pointer;background:#f2f2f2;border:0;border-radius:9px;padding:11px 13px;font-weight:750}button.secondary{color:#e7e8eb;background:#2b2e35;border:1px solid #3b3f48}.resetBtn{color:#fff;background:#353944;border:1px solid #555b68}.presetGrid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.presetBtn{padding:9px;font-size:11px}#viewer{background:#d9dde3;width:100%;height:100%;position:relative}#viewer canvas{width:100%;height:100%;display:block}.viewerBadge,.axisBadge,.loading{z-index:2;color:#fff;background:#00000059;border-radius:8px;padding:8px 10px;font-size:11px;position:absolute}.viewerBadge{top:16px;right:16px}.axisBadge{bottom:16px;left:16px}.loading{top:50%;left:50%;transform:translate(-50%,-50%)}.fdmStatus{border-radius:9px;flex-direction:column;gap:4px;margin-top:11px;padding:11px 12px;font-size:11px;display:flex}.fdmStatus strong{font-size:12px}.fdmStatus.ok{color:#b9f2c8;background:#173522;border:1px solid #285b38}.fdmStatus.warn{color:#ffe2a1;background:#443514;border:1px solid #6d5520}.fdmStatus.bad{color:#ffc0c4;background:#471d20;border:1px solid #763139}.fdmInvalidLabel{color:#ff6b6f!important}.fdmInvalidOutput{background:#ff465014;border-radius:5px;padding:1px 4px;font-weight:800;color:#ff6b6f!important}input[type=range].fdmInvalidRange{accent-color:#e34b52}.fdmFieldReason{color:#ff8a8f;margin:2px 0 5px;font-size:10px;line-height:1.3;display:block}#viewer.draggingHandle{cursor:ew-resize}#viewer.draggingHeight{cursor:ns-resize}@media (width<=900px){html,body,#app{height:auto;overflow:auto}#app{grid-template-columns:1fr}#viewer{height:70vh}}#viewer.draggingTwist{cursor:grab}.projectSection{background:#1c1f25;border:1px solid #303540;border-radius:12px;margin-top:14px;padding:13px}.projectIdentity{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.projectIdentity strong{color:#fff;font-size:15px;display:block}.projectIdentity div span{color:#8f96a2;margin-top:3px;font-size:10px;line-height:1.35;display:block}.versionBadge{text-align:center;color:#b9d5ff;background:#24354c;border-radius:999px;min-width:50px;padding:5px 8px;font-size:11px;font-weight:800}.projectGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.projectGrid label{display:block}.projectGrid label span{color:#aeb4be;margin-bottom:5px;font-size:10px;display:block}select,input[type=text]{color:#f4f4f5;width:100%;font:inherit;background:#24272d;border:1px solid #3a3e47;border-radius:7px;outline:none;padding:8px 9px;font-size:12px}select:focus,input[type=text]:focus{border-color:#6f9de6;box-shadow:0 0 0 2px #6f9de61f}.projectActions{grid-template-columns:.8fr 1.4fr;gap:7px;margin-top:10px;display:grid}.projectStateText.dirty{color:#ffd58a}.projectStateText.saved{color:#aee6bc}.projectStateText.error{color:#ff9aa0}.projectOverlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07090cb8;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.projectOverlay.open{display:flex}.projectModal{background:#17191e;border:1px solid #353a45;border-radius:16px;width:min(820px,96vw);max-height:90vh;padding:20px;overflow:auto;box-shadow:0 24px 80px #00000073}.projectModalHeader{border-bottom:1px solid #2c3038;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.projectModalHeader h1{margin:0;font-size:24px}.projectModalHeader p{color:#8f96a2;margin:4px 0 0;font-size:12px}.iconButton{width:38px;height:38px;padding:0;font-size:22px}.newProjectBox{background:#202329;border-radius:12px;margin-top:18px;padding:14px}.newProjectFields{grid-template-columns:1.1fr 1.4fr auto;align-items:center;gap:8px;display:grid}.newProjectBox h2,.projectListHeader h2{color:#cdd1d8;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px;font-size:11px}.newProjectBox>.secondary{margin-top:9px}.projectListHeader{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.projectListHeader h2{margin:0}.projectListHeader button{padding:7px 10px;font-size:11px}.projectList{gap:8px;margin-top:9px;display:grid}.projectCard{background:#1d2026;border:1px solid #30343d;border-radius:11px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.projectCard:hover{border-color:#445065}.projectCardTitle{align-items:center;gap:8px;display:flex}.projectCardTitle strong{font-size:14px}.projectCardMeta{color:#8f96a2;margin-top:4px;font-size:10px;line-height:1.4}.projectCardActions{gap:6px;display:flex}.projectCardActions button{padding:8px 10px;font-size:11px}.projectStatusPill{color:#cbd6e6;background:#2b3340;border-radius:999px;padding:2px 6px;font-size:9px;display:inline-block}.emptyProjects{text-align:center;color:#8f96a2;border:1px dashed #343944;border-radius:11px;padding:26px;font-size:12px}@media (width<=700px){.newProjectFields,.projectGrid,.projectActions,.projectCard{grid-template-columns:1fr}.projectCardActions{justify-content:flex-start}}.sectionTitleRow{justify-content:space-between;align-items:center;gap:10px;display:flex}.sectionTitleRow h2{margin-bottom:0}.authUserBar{color:#9da3ae;align-items:center;gap:5px;font-size:10px;display:flex}.miniButton{border-radius:6px;padding:5px 7px;font-size:9px}.authOverlay{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#090a0de0;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.authOverlay.open{display:flex}.authCard{background:#17191e;border:1px solid #333741;border-radius:16px;width:min(430px,100%);padding:28px;box-shadow:0 25px 80px #00000080}.authCard.compact{width:min(460px,100%)}.authBrand h1{color:#fff;margin:0;font-size:26px}.authBrand p{color:#969da8;margin:6px 0 20px;font-size:12px}.authForm{gap:13px;display:grid}.authForm label{align-items:stretch;gap:7px;margin:0;display:grid}.authForm input{color:#f6f7f8;background:#22252b;border:1px solid #3a3f49;border-radius:9px;outline:none;width:100%;padding:11px 12px}.authForm input:focus{border-color:#8ab4ff;box-shadow:0 0 0 3px #8ab4ff1f}.authError{color:#ff8a8f;min-height:17px;margin:0;font-size:11px}.authHint{color:#737b86;margin:16px 0 0;font-size:10px;line-height:1.45}.authButtons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.projectOverlay{z-index:50}
