*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#2c2c2c;height:100vh;overflow:hidden}.viewer-container{position:relative;display:flex;flex-direction:column;width:100vw;height:100vh;background:#2c2c2c;overflow:hidden}.viewer-canvas-area{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden}#cad-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}#cad-container canvas{display:block;max-width:100%;max-height:100%}.upload-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:center;align-items:safe center;overflow-y:auto;background:linear-gradient(135deg,#667eea,#764ba2);padding:16px;transition:opacity .25s ease}.upload-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.demo-nav{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:1001;display:flex;gap:4px;padding:4px;border-radius:999px;background:#0f172a59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0f172a33}.demo-nav a{padding:8px 14px;border-radius:999px;color:#ffffffd9;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.demo-nav a:hover{background:#ffffff1f;color:#fff}.demo-nav a.is-active{background:#fff;color:#4f5fd0}.file-upload-container{display:flex;justify-content:center;width:100%;max-width:820px;padding:12px 16px;margin-top:40px;box-sizing:border-box}.upload-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;width:100%;border-radius:14px;background:#fff;box-shadow:0 20px 40px #0f172a29,0 0 0 1px #ffffff14;overflow:hidden}.upload-main{display:flex;flex-direction:column;min-height:0;padding:18px 20px}.upload-hero{display:flex;align-items:center;gap:12px;margin-bottom:14px}.upload-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#667eea,#5b6fd6);color:#fff;box-shadow:0 4px 12px #667eea47}.upload-icon svg{display:block}.upload-hero-text{min-width:0}.upload-title{margin:0;font-size:17px;font-weight:700;letter-spacing:-.02em;color:#0f172a;line-height:1.25}.upload-subtitle{margin:2px 0 0;font-size:12px;color:#64748b;line-height:1.35}.font-cdn-notice{margin:12px 0 0;padding:8px 10px;border-radius:8px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:11px;line-height:1.45}.upload-actions{display:flex;flex:1;flex-direction:column;min-height:0;gap:0}.file-open-host{width:100%;flex:1;min-height:0}.settings-section{display:flex;flex-direction:column;justify-content:center;padding:18px 20px;background:#f8fafc;border-left:1px solid #e8edf5}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin:0 0 10px;padding:0;border:none;background:transparent;text-align:left;cursor:default}.settings-title{margin:0;font-size:12px;font-weight:600;color:#334155}.settings-chevron{display:none;flex-shrink:0;font-size:.65rem;color:#94a3b8;line-height:1;transition:transform .2s ease}.settings-section.is-expanded .settings-chevron{transform:rotate(180deg)}.settings-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 12px}.settings-grid[hidden]{display:none}.setting-block{display:flex;flex-direction:column;gap:4px;grid-column:span 2}.setting-block--full{grid-column:1 / -1}.setting-block--half{grid-column:span 3}.setting-label{margin:0;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.pill-segment{display:flex;gap:0;border:1.5px solid #e2e8f0;border-radius:7px;background:#fff;overflow:hidden}.pill-option{flex:1;padding:6px 8px;border:none;background:transparent;font-size:11px;font-weight:600;color:#64748b;cursor:pointer;text-align:center;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.pill-option:not(:last-child){border-right:1px solid #e2e8f0}.pill-option:hover:not(.is-active){background:#f8fafc;color:#475569}.pill-option.is-active{background:#f1f5ff;color:#4f5fd0}.reopen-fab{position:absolute;top:1rem;left:1rem;z-index:50;display:none;align-items:center;gap:.5rem;padding:.5rem .875rem;border:none;border-radius:10px;background:#23272f;color:#e0e0e0;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0000002e;transition:background .2s ease}.reopen-fab.is-visible{display:flex}.reopen-fab:hover{background:#353b45}.reopen-fab svg{display:block;flex-shrink:0}@media(max-width:768px){.file-upload-container{max-width:100%;padding:12px;margin-top:48px}.upload-panel{grid-template-columns:1fr;grid-template-rows:auto auto}.settings-section{border-left:none;border-top:1px solid #e8edf5;padding-top:12px;padding-bottom:12px}.settings-header{margin-bottom:0;cursor:pointer}.settings-section.is-expanded .settings-header{margin-bottom:10px}.settings-chevron{display:inline-block}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-block,.setting-block--half{grid-column:auto}.setting-block--full{grid-column:1 / -1}}@media(max-width:520px){.upload-screen{padding:12px}.demo-nav{top:10px;width:calc(100% - 24px);max-width:360px;justify-content:center}.demo-nav a{padding:7px 10px;font-size:11px}}@media(max-width:400px){.upload-main,.settings-section{padding-left:14px;padding-right:14px}.settings-grid{grid-template-columns:1fr}.setting-block,.setting-block--half,.setting-block--full{grid-column:auto}}
