:root{color:#eef3f5;font-synthesis:none;text-rendering:geometricprecision;--line:#cde0e824;--muted:#829099;--accent:#e4a94d;--accent-bright:#ffd48a;--panel:#0d1215e6;background:#080b0d;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden}button{font:inherit}.appShell{background:radial-gradient(circle at 57% 34%,#4e656f21,#0000 34%),linear-gradient(145deg,#0c1114,#060809 62%);grid-template-rows:84px minmax(0,1fr) 104px;width:100vw;height:100vh;min-height:700px;display:grid}.topBar{border-bottom:1px solid var(--line);background:#080b0ddb;justify-content:space-between;align-items:center;gap:28px;padding:15px 30px 13px;display:flex}.eyebrow,.panelHeading span,.modelStatus small{color:var(--accent);letter-spacing:.16em;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700}h1{letter-spacing:.13em;margin:5px 0 0;font-size:clamp(22px,2.05vw,34px);font-weight:560}.dimensionBadges{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.dimensionBadges span{border:1px solid var(--line);color:#aebbc2;letter-spacing:.08em;background:#ffffff06;border-radius:7px;padding:7px 9px;font:700 9px/1 SFMono-Regular,Consolas,monospace}.workspace{grid-template-columns:286px minmax(0,1fr);gap:16px;min-height:0;padding:18px 22px 14px;display:grid}.partsPanel,.viewportFrame{border:1px solid var(--line);background:var(--panel);border-radius:20px;box-shadow:0 28px 70px #00000057,inset 0 1px #ffffff09}.partsPanel{flex-direction:column;min-height:0;padding:18px 15px 15px;display:flex;overflow:hidden}.panelHeading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:10px;padding:0 4px 13px;display:flex}.panelHeading strong{color:#c9d2d6;font-size:12px;font-weight:620}.partsPanel ol{scrollbar-width:thin;scrollbar-color:#e4a94d59 transparent;min-height:0;margin:10px -3px 0 0;padding:0 8px 0 0;list-style:none;overflow:auto}.partsPanel li{border-bottom:1px solid #cde0e812;grid-template-columns:32px 1fr;align-items:center;gap:7px;min-height:47px;display:grid}.partNumber{color:#e4a94da6;font:700 9px/1 SFMono-Regular,Consolas,monospace}.partsPanel li>span:last-child{gap:3px;min-width:0;display:grid}.partsPanel li strong{color:#e7edef;font-size:12px;font-weight:610}.partsPanel li small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.assetNote{color:#68767e;margin:12px 3px 0;font-size:9px;line-height:1.55}.viewportFrame{background:#080b0d;min-height:0;position:relative;overflow:hidden}.viewport{cursor:grab;width:100%;height:100%;min-height:0}.viewport:active{cursor:grabbing}.viewport canvas{outline:none;width:100%;height:100%;display:block}.viewportFrame:after{content:"";pointer-events:none;border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 90px #0003}.loadingCard,.errorCard{z-index:2;border:1px solid var(--line);color:#cbd5d9;background:#080c0eeb;border-radius:11px;align-items:center;gap:10px;padding:13px 16px;font-size:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #00000061}.loadingDot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 16px var(--accent);border-radius:50%;animation:1s ease-in-out infinite pulse}.errorCard{color:#e9b1b1;flex-direction:column;align-items:flex-start;max-width:min(440px,100% - 32px)}.errorCard span{color:#9e8787;word-break:break-word;font-size:10px}.viewHint{z-index:2;color:#d6e0e575;letter-spacing:.07em;align-items:center;gap:8px;font-size:9px;display:flex;position:absolute;top:14px;right:16px}.viewHint i{background:#e4a94db3;border-radius:50%;width:2px;height:2px}.modelStatus{z-index:2;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c0ec7;border-radius:11px;align-items:center;gap:10px;min-width:255px;padding:10px 13px;display:flex;position:absolute;bottom:14px;left:16px}.modelStatus>div{gap:3px;display:grid}.modelStatus strong{color:#dce4e7;font-size:11px;font-weight:560}.statusLight{background:#8c6c36;border-radius:50%;width:7px;height:7px}.statusLight.ready{background:#58d598;box-shadow:0 0 13px #58d598b3}.controlBar{justify-content:center;align-items:flex-start;gap:10px;padding:10px 22px 18px;display:flex}.controlBar button{border:1px solid var(--line);color:#dce4e7;text-align:left;cursor:pointer;background:linear-gradient(#ffffff0e,#0000),#0e1316e6;border-radius:13px;grid-template-rows:22px 17px;grid-template-columns:30px 1fr;width:min(18vw,250px);min-width:160px;height:72px;padding:13px 15px;transition:transform .16s,border-color .16s,background .16s;display:grid;position:relative}.controlBar button:hover:not(:disabled){border-color:#e4a94d80;transform:translateY(-2px)}.controlBar button.active{background:linear-gradient(145deg,#e4a94d33,#101417f2);border-color:#e4a94dc2}.controlBar button:disabled{opacity:.38;cursor:wait}.controlBar button>span{color:var(--accent);grid-row:1/3;padding-top:2px;font:700 10px/1.2 SFMono-Regular,Consolas,monospace}.controlBar strong{letter-spacing:.04em;font-size:12px;font-weight:620}.controlBar small{color:#718087;font-size:9px}@keyframes pulse{50%{opacity:.42;transform:scale(.72)}}@media (max-width:900px){body{overflow:auto}.appShell{grid-template-rows:auto 640px auto;height:auto;min-height:100vh}.topBar{flex-direction:column;align-items:flex-start;padding:16px 18px}.workspace{grid-template-rows:minmax(460px,1fr) auto;grid-template-columns:1fr;padding:12px}.viewportFrame{grid-row:1}.partsPanel{grid-row:2;max-height:240px}.controlBar{flex-wrap:wrap;padding:5px 12px 20px}.controlBar button{width:min(100%,330px)}}@media (prefers-reduced-motion:reduce){.loadingDot{animation:none}.controlBar button{transition:none}}
