:root{font-family:Inter,Pretendard,Segoe UI,system-ui,-apple-system,sans-serif;color:#eaf1fc;background:#08101d;font-synthesis:none;--line: #203149;--panel: #0c1626;--panel-soft: #101d30;--muted: #8296b2;--blue: #6da4ff;--blue-strong: #4f82ed}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:2px solid #82b3ff;outline-offset:2px}.shell{min-height:100vh;background:radial-gradient(circle at 67% 10%,#18345d80 0,transparent 32rem),#08101d}.topbar{height:68px;display:flex;align-items:center;gap:22px;padding:0 24px;border-bottom:1px solid var(--line);background:#0a1321e8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;color:#f4f8ff;text-decoration:none;font-size:18px;font-weight:800;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:linear-gradient(145deg,#659bff,#5c4ddd);box-shadow:0 7px 18px #477bed44;font-family:Georgia,serif;font-size:19px}.topbar p{margin:0;padding-left:21px;border-left:1px solid #2b3b52;color:#91a5c1;font-size:12px}.privacy-badge{margin-left:auto;display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #264d4a;border-radius:99px;background:#102a2a99;color:#90d8c3;font-size:10px;font-weight:600}.privacy-badge>span{color:#55d1a8;font-size:7px}.workspace{display:grid;grid-template-columns:304px minmax(430px,1fr) 276px;min-height:calc(100vh - 68px)}.sidebar,.inspector{min-width:0;background:#0b1524d9}.sidebar{padding:24px 22px;border-right:1px solid var(--line);overflow-y:auto}.inspector{position:relative;display:flex;flex-direction:column;padding:25px 21px;border-left:1px solid var(--line)}.step-title{display:flex;align-items:center;gap:9px;margin:0 0 13px}.step-title:not(:first-child){margin-top:25px}.step-title>span{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#1a3151;color:#9dc4ff;font-size:10px;font-weight:800}.step-title strong{color:#d8e5f7;font-size:11px;letter-spacing:-.01em}.step-title i{flex:1;height:1px;background:#263750}.file-button{display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center;min-height:68px;padding:12px 13px;border:1px dashed #4b6e9c;border-radius:9px;background:#10223b;color:#e8f2ff;cursor:pointer;transition:.18s ease}.file-button:hover{border-color:#80aef0;background:#153054;transform:translateY(-1px)}.file-button.disabled{opacity:.55;cursor:wait;transform:none}.file-button input{display:none}.file-button>span:not(.upload-icon){align-self:end;font-size:12px;font-weight:700}.file-button small{align-self:start;color:#839dbc;font-size:9px}.upload-icon{grid-row:1 / 3;display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#29538a;color:#d8e9ff;font-size:19px}.sample-button{width:100%;display:flex;justify-content:space-between;padding:9px 3px 0;border:0;background:none;color:#84aff1;font-size:10px}.sample-button:disabled{opacity:.5;cursor:wait}.unit-field{margin-top:15px}.unit-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.unit-options button{min-height:32px;border:1px solid #2a3f5d;border-radius:7px;background:#101f33;color:#8095b2;font-size:10px;font-weight:700}.unit-options button:hover:not(:disabled){border-color:#5579a9;color:#c8dbf5}.unit-options button.active{border-color:#5789d1;background:#18345a;color:#cfe3ff;box-shadow:inset 0 0 0 1px #527cb855}.unit-options button:disabled{opacity:.55;cursor:wait}.field{display:block;margin-bottom:16px}.field>span{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#afc0d7;font-size:10px;font-weight:600}.field output{color:#9ec1f8;font-family:ui-monospace,Cascadia Code,monospace;font-size:10px;font-weight:500}.field input[type=range]{width:100%;height:4px;margin:6px 0;border-radius:9px;accent-color:#6da3ff}.range-scale{margin:0!important;color:#657b99!important;font-weight:400!important}.field-note{display:block;margin-top:6px;color:#607792;font-size:8px;line-height:1.4}.scale-input{display:flex;align-items:center;height:34px;margin-bottom:7px;border:1px solid #2a3f5d;border-radius:7px;background:#101f33;overflow:hidden}.scale-input:focus-within{border-color:#6499df}.scale-input input{width:100%;min-width:0;padding-left:10px;border:0;outline:0;background:transparent;color:#e1ecfb;font-family:ui-monospace,monospace;font-size:11px}.scale-input span{padding-right:9px;color:#7187a3;font-size:9px}.scale-options,.fit-options{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.scale-options button,.fit-options button{min-height:31px;padding:0;border:1px solid #2a3d58;border-radius:6px;background:#101f33;color:#8095b2;font-size:9px;transition:.15s ease}.scale-options button:hover,.fit-options button:hover{border-color:#5579a9;color:#c8dbf5}.scale-options button.active,.fit-options button.active{border-color:#5789d1;background:#18345a;color:#cfe3ff;box-shadow:inset 0 0 0 1px #527cb855}.scale-options button:disabled,.fit-options button:disabled,.field input:disabled{opacity:.55;cursor:wait}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.number-input{display:flex;align-items:center;height:35px;border:1px solid #2a3f5d;border-radius:7px;background:#101f33;overflow:hidden}.number-input:focus-within{border-color:#6499df}.number-input input{min-width:0;width:100%;padding:0 0 0 10px;border:0;outline:0;background:transparent;color:#e1ecfb;font-family:ui-monospace,monospace;font-size:11px}.number-input span{padding-right:8px;color:#7086a3;font-size:9px}.fit-field{margin-top:2px}.fit-options{grid-template-columns:repeat(3,1fr)}.fit-options button{height:47px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#a4b5cb}.fit-options small{color:#657d9d;font-size:8px}.fit-options button.active small{color:#85addd}.fit-explanation{margin:-5px 0 10px;color:#7288a4;font-size:8px;line-height:1.55}.connector-summary{display:flex;flex-wrap:wrap;gap:5px;margin:-3px 0 10px}.connector-summary>span{padding:4px 6px;border:1px solid #2b425e;border-radius:4px;background:#102137;color:#8eacce;font-size:8px}.connector-summary small{flex-basis:100%;color:#627994;font-size:8px}.fit-test-button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:6px;border:1px solid #385b81;border-radius:7px;background:#10243c;color:#a9c9ef;font-size:9px;font-weight:700;transition:.16s ease}.fit-test-button:hover:not(:disabled){border-color:#6594cb;background:#173354;color:#d3e7ff}.fit-test-button.ready{border-color:#317664;background:#12352f;color:#8ee0c4}.fit-test-button:disabled{opacity:.58;cursor:wait}.fit-test-button .spinner{border-color:#7894b644;border-top-color:#a9c9ef}.fit-test-note{display:block;margin:0 2px 12px;color:#5f7692;font-size:8px;line-height:1.45}.setting-error{margin:0 0 10px;padding:8px 9px;border:1px solid #703c4b;border-radius:6px;background:#2b1721;color:#ffb8c4;font-size:9px;line-height:1.45}.unit-warning{margin:0 0 10px;padding:8px 9px;border:1px solid #705f32;border-radius:6px;background:#2b2515;color:#f2d78a;font-size:9px;line-height:1.45}.generate{width:100%;min-height:43px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;background:linear-gradient(135deg,#78adff,#806ff0);color:#07101e;box-shadow:0 10px 25px #406fc12e;font-size:11px;font-weight:800;transition:.18s ease}.generate:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 13px 29px #406fc144}.generate:disabled{background:#243850;color:#7187a2;box-shadow:none;cursor:not-allowed}.generate>span:last-child{font-size:16px;line-height:1}.spinner{width:14px;height:14px;border:2px solid #14243a55;border-top-color:#0c1728;border-radius:50%;animation:spin .75s linear infinite}.privacy-note{display:flex;justify-content:center;gap:5px;margin:10px 0 0;color:#617790;font-size:8px}@keyframes spin{to{transform:rotate(360deg)}}.canvas-area{position:relative;min-width:0;min-height:570px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#172842 0,#0b1423 62%)}.canvas-area.drop-active{outline:2px dashed #83b5ff;outline-offset:-13px}.viewer{position:absolute;inset:0}.viewer canvas{display:block;width:100%;height:100%}.canvas-toolbar{position:absolute;z-index:4;top:18px;left:19px;right:19px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.model-name{display:flex;align-items:center;gap:7px;max-width:70%;padding:7px 9px;border:1px solid #263d59;border-radius:6px;background:#0b1627cc;color:#879bb7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-name>span{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#60728a}.model-name>span.ready{background:#54d1a5;box-shadow:0 0 0 4px #54d1a518}.canvas-toolbar button{pointer-events:auto;padding:7px 9px;border:1px solid #34506f;border-radius:6px;background:#0c1c30cc;color:#a8c2e3;font-size:9px}.canvas-toolbar button:hover{background:#183253}.viewer-actions,.viewer-modes{display:flex;align-items:center;gap:5px;pointer-events:auto}.viewer-modes{padding:3px;border:1px solid #2a405c;border-radius:8px;background:#091525d9}.viewer-modes button{border:0;background:transparent;color:#7087a5}.viewer-modes button.active{background:#21456f;color:#d6e9ff;box-shadow:inset 0 0 0 1px #5788bd55}.viewer-modes button:disabled{color:#465a73;opacity:.58;cursor:not-allowed}.drop-overlay{position:absolute;z-index:8;inset:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:10px;background:#0d2036e8;pointer-events:none}.drop-overlay strong{color:#d9eaff;font-size:20px}.drop-overlay span{color:#8babd1;font-size:11px}.viewer-hint{position:absolute;z-index:3;right:19px;bottom:19px;color:#607694;font-size:8px}.legend{position:absolute;z-index:3;left:19px;bottom:19px;max-width:65%;display:flex;flex-wrap:wrap;gap:7px 11px;padding:8px 10px;border:1px solid #29415e;border-radius:7px;background:#0a1423d9;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);color:#a7bbd4;font-size:8px}.legend span{display:flex;align-items:center;gap:5px}.legend b{width:6px;height:6px;border-radius:50%}.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.empty-visual{position:relative;width:76px;height:65px;margin-bottom:24px}.empty-visual span{position:absolute;width:38px;height:38px;border:1px solid #a9c9ff66;background:linear-gradient(145deg,#467ed9,#745cdb);transform:rotate(30deg) skewY(-14deg)}.empty-visual span:nth-child(1){left:4px;top:10px}.empty-visual span:nth-child(2){left:32px;top:0;filter:brightness(1.18)}.empty-visual span:nth-child(3){left:28px;top:29px;filter:brightness(.77)}.empty-visual i{position:absolute;inset:-10px;border:1px dashed #375678;border-radius:50%;animation:spin 16s linear infinite}.empty h1{margin:0 0 8px;color:#eff5ff;font-size:22px;letter-spacing:-.04em}.empty p{max-width:390px;margin:0;color:#8197b4;font-size:11px;line-height:1.7}.empty>div:nth-of-type(2){display:flex;gap:7px;margin-top:20px}.empty button{padding:9px 13px;border-radius:7px;font-size:10px;font-weight:700}.empty-primary{border:0;background:#83b4ff;color:#0a1422}.empty-secondary{border:1px solid #395b81;background:#10243d;color:#abc9eb}.empty>small{margin-top:12px;color:#5f7590;font-size:8px}.results{position:absolute;z-index:6;right:18px;bottom:18px;width:min(360px,calc(100% - 36px));padding:12px;border:1px solid #345474;border-radius:10px;background:#0b1728ee;box-shadow:0 16px 45px #0008;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.qa-results{inset:70px 18px 18px;width:auto;max-height:none;display:flex;flex-direction:column}.results-head,.results-head>div,.results-head>div>span:last-child{display:flex;align-items:center}.results-head{justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #263b55}.results-head>div{gap:9px}.results-head>div>span:last-child{flex-direction:column;align-items:flex-start;gap:2px}.success-check{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#174b41;color:#68ddb8;font-size:12px;font-weight:900}.results-head strong{color:#deebfb;font-size:10px}.results-head small{color:#7790ad;font-size:8px}.results-head>button{padding:7px 8px;border:1px solid #4472a4;border-radius:6px;background:#17375c;color:#bcd9fb;font-size:8px}.results-head>button:disabled{opacity:.55;cursor:wait}.success-check.working{background:#1b3658}.success-check .spinner{border-color:#7da1ce44;border-top-color:#9fc8f8}.qa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px;margin-top:9px;overflow:auto;padding:0 3px 3px 0}.qa-card{min-width:0;padding:8px;border:1px solid #273f5d;border-radius:8px;background:#0d1b2e}.qa-card header,.qa-card footer{display:flex;align-items:center;justify-content:space-between;gap:7px}.qa-card header span{display:flex;align-items:center;gap:6px;color:#c8d9ed;font-size:9px;font-weight:700}.qa-card header b{width:7px;height:7px;border-radius:2px}.qa-card header small{color:#718aa8;font-size:7px}.qa-views{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:7px 0}.qa-views figure{min-width:0;margin:0;padding:3px;border:1px solid #1f3550;border-radius:5px;background:#08101c}.qa-views canvas{display:block;width:100%;aspect-ratio:180 / 132}.qa-views figcaption{padding:2px 2px 0;color:#607a9b;font-size:7px;text-align:center}.qa-card footer{color:#647d9b;font-size:7px}.qa-card footer button{padding:4px 6px;border:1px solid #376493;border-radius:4px;background:#143357;color:#a9cdf5;font-size:7px}.qa-card footer button:disabled{opacity:.48;cursor:wait}.result-files{max-height:148px;padding-top:6px;overflow-y:auto}.result-files>button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:7px 4px;border:0;border-bottom:1px solid #20334b;background:transparent;color:#bbcee5}.result-files>button:hover{background:#12253d}.result-files span{display:flex;align-items:center;gap:6px;font-size:9px}.result-files b{width:7px;height:7px;border-radius:2px}.result-files small{color:#667f9d;font-size:7px}.result-files em{color:#85ade0;font-size:8px;font-style:normal}.inspector-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;color:#d6e2f2;font-size:11px;font-weight:750}.inspector-title em{padding:3px 6px;border:1px solid #285b50;border-radius:99px;color:#76cdb1;font-size:7px;font-style:normal;font-weight:600}.inspector-title.secondary{margin:25px 0 9px;padding-top:16px;border-top:1px solid #26364d}.inspector-title small{color:#6f86a3;font-size:8px;font-weight:500}dl{margin:0}dl>div{display:flex;align-items:center;justify-content:space-between;min-height:35px;border-bottom:1px solid #1f3047;font-size:9px}dt{color:#8195b0}dd{margin:0;color:#d6e5f8;font-family:ui-monospace,monospace;font-size:9px}.cuts{margin:0;padding:0;list-style:none}.cuts li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #1f3047;color:#8195b0;font-size:8px}.cuts strong{color:#adc9ed;font-family:ui-monospace,monospace;font-size:8px;font-weight:500}.inspector-empty{margin:auto 0;padding:20px 12px;text-align:center;color:#7086a2}.inspector-empty>span{display:block;margin-bottom:9px;color:#426083;font-size:29px}.inspector-empty p{margin:0;font-size:9px;line-height:1.65}.status-card{display:flex;align-items:flex-start;gap:9px;margin-top:auto;padding:11px;border:1px solid #294663;border-radius:8px;background:#0f2137}.status-dot{flex:0 0 auto;width:7px;height:7px;margin-top:4px;border-radius:50%;background:#54d1a7}.status-card strong{color:#b9d0ed;font-size:9px}.status-card p{margin:3px 0 0;color:#7c95b4;font-size:8px;line-height:1.45}.status-card.working .status-dot{background:#79aaff;animation:pulse 1s infinite alternate}.status-card.error{border-color:#713d4c;background:#291821}.status-card.error .status-dot{background:#ff7d8a}.status-card.error strong,.status-card.error p{color:#f5b6bf}@keyframes pulse{to{box-shadow:0 0 0 5px #78aaff20}}@media(max-width:1020px){.workspace{grid-template-columns:286px minmax(420px,1fr)}.inspector{display:none}}@media(max-width:720px){.topbar{height:60px;padding:0 15px}.topbar p,.privacy-badge{display:none}.workspace{display:block;min-height:0}.sidebar{max-height:none;padding:20px 18px;border-right:0;border-bottom:1px solid var(--line)}.canvas-area{height:570px;min-height:570px}.inspector{display:flex;min-height:360px;border:0;border-top:1px solid var(--line)}.legend{right:18px;max-width:none}.viewer-hint{display:none}.results{left:18px;right:18px;width:auto}}
