@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xo6eeI7fM.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-xo6eeIw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xo6eeI7fM.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-xo6eeIw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xo6eeI7fM.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-xo6eeIw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xo6eeI7fM.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-xo6eeIw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.c3d-wrap{--c3d-bg:linear-gradient(150deg, #f8fafc 0%, #ecfeff 38%, #eef2ff 100%);--c3d-card:#ffffff;--c3d-ink:#0f172a;--c3d-muted:#475569;--c3d-line:#dbe5f0;--c3d-brand:#0f766e;--c3d-brand-2:#0e9f6e;--c3d-alert:#b91c1c;max-width:1040px;margin:30px auto;padding:22px;border-radius:18px;border:1px solid #dbeafe;background:var(--c3d-bg);box-shadow:0 18px 45px rgb(15 23 42 / .08);color:var(--c3d-ink);font-family:'Sora',sans-serif}.c3d-head h3{margin:0;font-size:clamp(1.25rem, 1.5vw, 1.7rem);letter-spacing:-.02em}.c3d-head p{margin:8px 0 18px;color:var(--c3d-muted)}.c3d-upload{display:grid;gap:8px}.c3d-upload label,.c3d-controls label,.c3d-form label{font-size:.94rem;font-weight:600;color:#1e293b}#c3d-file,#c3d-material,.c3d-form input{border:1px solid var(--c3d-line);border-radius:10px;background:#fff;padding:10px 12px;font:inherit}#c3d-file{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.c3d-file-btn{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:12px 18px;border-radius:12px;border:1px solid #0b5f59;background:linear-gradient(120deg,#0f766e,#0891b2,#0e9f6e);color:#fff;text-shadow:0 1px 1px rgb(0 0 0 / .22);font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgb(14 159 110 / .35);animation:c3dPulseUpload 1.9s ease-in-out infinite;transition:transform 0.25s ease,box-shadow 0.25s ease,filter 0.25s ease}.c3d-file-btn:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 10px 24px rgb(14 159 110 / .45);filter:brightness(1.05)}@keyframes c3dPulseUpload{0%{box-shadow:0 0 0 0 rgb(14 159 110 / .4),0 8px 20px rgb(14 159 110 / .35)}70%{box-shadow:0 0 0 12px #fff0,0 8px 20px rgb(14 159 110 / .35)}100%{box-shadow:0 0 0 0 #fff0,0 8px 20px rgb(14 159 110 / .35)}}.c3d-status{display:inline-flex;align-items:center;width:fit-content;padding:6px 12px;border-radius:999px;font-size:.8rem;color:#0f766e;background:#ccfbf1}.c3d-status.is-error{color:#fff;background:var(--c3d-alert)}.c3d-controls{margin:16px 0;display:grid;grid-template-columns:1.3fr 1fr;gap:14px;align-items:end}.c3d-rotation{margin:8px 0 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.c3d-rotation-help{margin:0;font-size:.9rem;color:var(--c3d-muted);flex:1 1 320px}.c3d-rotation .c3d-tool-btn{flex:0 0 auto}.c3d-rotation-top,.c3d-rotation label,.c3d-rotation input,.c3d-rotation select{display:none}#c3d-viewer canvas{cursor:grab}#c3d-viewer canvas:active{cursor:grabbing}.c3d-tool-btn{border:1px solid #c6d4e8;border-radius:10px;background:#fff;padding:8px 10px;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.c3d-danger-btn{border-color:#fecaca;color:#991b1b;background:#fff1f2}#c3d-scale{width:100%;accent-color:var(--c3d-brand)}#c3d-viewer{width:100%;min-height:420px;border:1px solid #c9d8ec;border-radius:14px;background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 100%);overflow:hidden}.c3d-results{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.c3d-results p{margin:0;background:var(--c3d-card);border:1px solid var(--c3d-line);border-radius:10px;padding:12px;font-size:.92rem}.c3d-form{margin-top:18px;display:grid;gap:10px}.c3d-form button{border:none;border-radius:12px;padding:12px 14px;cursor:pointer;font:inherit;font-weight:700;color:#fff;background:linear-gradient(90deg,var(--c3d-brand),var(--c3d-brand-2));box-shadow:0 8px 18px rgb(15 118 110 / .35)}.c3d-form button:hover{filter:brightness(1.04)}@media (max-width:760px){.c3d-wrap{padding:16px;margin:16px}.c3d-controls,.c3d-results,.c3d-rotation{grid-template-columns:1fr}#c3d-viewer{min-height:360px}.c3d-file-btn{width:100%}}