:root{color:#17354b;font-synthesis:none;background:#f3f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:#17354b;background:#fff;border:1px solid #cedae1;border-radius:7px;min-height:40px;padding:8px 12px;font-weight:600;transition:background .15s}button:hover:not(:disabled){background:#e8f3f3;border-color:#60a6a2}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,#viewport:focus-visible{outline-offset:3px;outline:3px solid #239c9b}header{background:#fff;border-bottom:1px solid #dce5ea;justify-content:space-between;align-items:center;height:78px;padding:0 28px;display:flex}.brand{letter-spacing:-.7px;color:#15364c;align-items:center;gap:12px;font-size:22px;font-weight:750;text-decoration:none;display:flex}.brand small{letter-spacing:0;color:#607786;margin-left:5px;font-size:13px;font-weight:500}.brand-mark{color:#fff;background:#12364b;border-radius:10px;place-items:center;width:36px;height:36px;font-size:22px;display:grid}.badge{letter-spacing:1.5px;color:#23696c;background:#eef8f7;border:1px solid #c3dedc;border-radius:5px;padding:7px 10px;font-size:10px;font-weight:700}.safety{color:#72501d;background:#fff8e9;border-bottom:1px solid #eadbbd;padding:13px 28px;font-size:12px;line-height:1.6}.safety strong{font-weight:750}main{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;max-width:1800px;margin:auto;padding:22px 24px;display:grid}.stage{background:#eaf0f4;border:1px solid #d2e0e6;border-radius:13px;height:calc(100dvh - 217px);min-height:610px;position:sticky;top:16px;overflow:hidden;box-shadow:0 4px 20px #17354b07}#viewport{position:absolute;inset:0;outline-offset:-4px!important}#viewport canvas{touch-action:none;width:100%;height:100%;display:block}.viewbar{pointer-events:none;flex-wrap:wrap;gap:5px;display:flex;position:absolute;top:15px;left:15px;right:15px}.viewbar button{pointer-events:auto;background:#ffffffef;font-size:12px;box-shadow:0 2px 5px #12334b08}.viewbar span{flex:1}.stage-caption{letter-spacing:.2px;color:#577181;pointer-events:none;justify-content:space-between;gap:12px;font-size:10px;display:flex;position:absolute;top:71px;left:17px;right:17px}#selection-label{color:#1b746e;font-weight:700}.orbit-hint{text-align:center;color:#607989;pointer-events:none;font-size:11px;position:absolute;bottom:73px;left:0;right:0}#loading{text-align:center;background:#fffffff2;border:1px solid #d6e2e6;border-radius:10px;padding:20px;font-size:13px;line-height:1.7;position:absolute;top:42%;left:10%;right:10%}.load-dot{background:#178a85;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}#loading.error{color:#9c3630;background:#fff5f3;border-color:#efcbc7}aside{gap:13px;display:grid}.panel{background:#fff;border:1px solid #dce5ea;border-radius:11px;padding:19px;box-shadow:0 3px 15px #17354b03}.section-heading{align-items:center;gap:9px;margin-bottom:17px;display:flex}.step{color:#6a8a98;letter-spacing:.8px;font-size:10px;font-weight:700}h1,h2{letter-spacing:-.1px;margin:0;font-size:14px;font-weight:750}#active-object{color:#178078;text-transform:uppercase;margin-left:auto;font-size:10px;font-weight:700}.object-list{gap:8px;display:grid}.object{text-align:left;align-items:center;gap:11px;min-height:65px;padding:12px 10px;display:flex}.object.active{background:#eef8f6;border-color:#228e88;box-shadow:inset 3px 0 #228e88}.object small{color:#697e8a;margin-top:4px;font-size:10px;font-weight:400;display:block}.object-dot{border:1px solid #b8c6ca;border-radius:7px;flex-shrink:0;width:24px;height:24px}.bone{background:#ece2c9}.teal{background:#46b7ac}.selected-indicator{color:#69818d;margin-left:auto;font-size:10px;font-weight:500}.object.active .selected-indicator{color:#15766e}.visibility{gap:16px;margin:15px 0;font-size:11px;display:flex}.visibility label,.check{align-items:center;gap:6px;display:flex}input[type=checkbox]{accent-color:#18877e;width:15px;height:15px;margin:0}.range-label{color:#536c7b;justify-content:space-between;font-size:11px;display:flex}output{color:#167d76;font-weight:700}input[type=range]{accent-color:#18877e;width:100%;margin:13px 0 0}fieldset{border:0;min-width:0;margin:0;padding:0}.segmented{background:#f2f5f7;border:1px solid #dce5ea;border-radius:8px;gap:3px;padding:3px;display:flex}.segmented button{background:0 0;border:0;flex:1;min-height:35px;padding:6px;font-size:12px}.segmented button.active{color:#fff;background:#173c52}.field-title{justify-content:space-between;margin:17px 0 8px;font-size:11px;font-weight:650;display:flex}.field-title span{color:#748794;font-size:10px;font-weight:400}.xyz{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.xyz label{color:#657d8c;border:1px solid #d3dee5;border-radius:6px;align-items:center;min-width:0;padding-left:8px;font-size:10px;font-weight:700;display:flex}.xyz label:first-child{border-bottom:2px solid #cf8884}.xyz label:nth-child(2){border-bottom:2px solid #7aab94}.xyz label:nth-child(3){border-bottom:2px solid #739dbe}input[type=number]{color:#1b394f;background:0 0;border:0;width:100%;min-width:0;height:38px;padding:5px;font-size:12px}input[type=number]::-webkit-inner-spin-button{opacity:1}.scale-label{justify-content:space-between;align-items:center;gap:12px;margin:16px 0;font-size:11px;font-weight:600;display:flex}.scale-label input{border:1px solid #d3dee5;border-radius:6px;width:105px}.full{width:100%}.secondary{background:#f6f9fa;font-size:11px}.micro{color:#6b7f8c;margin:11px 0 0;font-size:10px;line-height:1.6}.check{margin-bottom:13px;font-size:11px}.primary{color:#fff;background:#167f78;border-color:#167f78;font-size:12px}.primary:hover:not(:disabled){color:#fff;background:#126a64}.save-row{gap:7px;margin-top:15px;display:flex}.save-row button{flex:1;padding:7px;font-size:10px}#feedback{color:#607987;margin:12px 0 0;font-size:10px;line-height:1.6}#feedback.error{color:#a53730}footer{color:#708694;justify-content:space-between;max-width:1800px;margin:auto;padding:0 25px 20px;font-size:11px;display:flex}footer a{color:#296b78;text-underline-offset:3px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=1500px){main{grid-template-columns:minmax(0,1fr) 370px}}@media (width<=900px){main{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px}.stage{height:62dvh;min-height:460px;position:relative;top:auto}aside{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}aside .panel:last-child{grid-column:1/-1}.safety{padding:11px 16px}header{height:65px;padding:0 17px}.badge{letter-spacing:.5px;font-size:8px}.brand{font-size:20px}.stage-caption{font-size:9px}button{min-height:44px}}@media (width<=560px){aside{grid-template-columns:1fr}.brand small{margin:0;font-size:10px;display:block}.stage{height:60dvh;min-height:440px}.viewbar{gap:4px;top:10px;left:10px;right:10px}.viewbar button{min-height:36px;padding:6px 9px;font-size:10px}.viewbar span{display:none}.stage-caption{flex-direction:column;gap:3px;top:99px}.panel{padding:17px}.orbit-hint{font-size:9px;bottom:70px}footer{gap:15px;font-size:10px;line-height:1.5}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
