html,body{background:#070a13;margin:0;padding:0;font-family:Inter,-apple-system,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}:root{--bg:#070a13;--panel:#0c1120;--panel-2:#101728;--card:#0f1524;--border:#94a3c624;--border-hi:#94a3c647;--accent:#3b82f6;--accent-hi:#60a5fa;--grad:linear-gradient(90deg, #2563eb, #7c3aed);--text:#e8ecf6;--text2:#8a93a8;--danger:#ef4444}html,body{height:100%}body{background:radial-gradient(1200px 500px at 70% -10%, #3b82f61a, transparent 60%), radial-gradient(900px 500px at 10% 110%, #7c3aed14, transparent 60%), var(--bg);color:var(--text);margin:0;font-family:Inter,-apple-system,Helvetica Neue,Arial,sans-serif;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#94a3c638;border-radius:4px}::-webkit-scrollbar-track{background:0 0}.topbar{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#0a0e19e0;justify-content:space-between;align-items:center;gap:16px;height:58px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.topbar-left{align-items:center;gap:18px;min-width:0;display:flex}.topnav{gap:4px;display:flex}.topnav a{color:var(--text2);border-radius:9px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.topnav a:hover{color:var(--text);background:#94a3c61a}.logo{flex-shrink:0;align-items:center;gap:10px;display:flex}.logo-icon{width:34px;height:34px}.logo-icon svg{width:100%;height:100%;display:block}.logo-text{letter-spacing:1.5px;color:#fff;font-size:16px;font-weight:800;line-height:1.05}.logo-text span{color:var(--text2);letter-spacing:.4px;margin-top:2px;font-size:9px;font-weight:500;display:block}.model-chip{border:1px solid var(--border);background:#94a3c61a;border-radius:10px;align-items:center;gap:8px;padding:5px 10px 5px 12px;transition:border-color .15s;display:flex}.model-chip:hover{border-color:var(--border-hi)}.model-chip-icon{width:20px;height:20px;color:var(--accent-hi);flex-shrink:0}.model-chip-caret{width:14px;height:14px;color:var(--text2);pointer-events:none;flex-shrink:0}.model-select{-webkit-appearance:none;appearance:none;color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;max-width:230px;font-family:inherit;font-size:13px;font-weight:600}.model-select option{color:var(--text);background:#0d1220}.view-tabs{border:1px solid var(--border);background:#94a3c612;border-radius:12px;gap:4px;padding:4px;display:flex}.view-tab{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:7px;padding:7px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,background .15s;display:flex}.view-tab svg{width:15px;height:15px}.view-tab:hover{color:var(--text)}.view-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 12px #3b82f666}.topbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.saved-status{color:var(--text2);align-items:center;gap:7px;margin-right:4px;font-size:12px;display:flex}.saved-status .dot{background:#34d399;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #34d399cc}.tb-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#94a3c61a;border-radius:9px;align-items:center;gap:7px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.tb-btn svg{width:14px;height:14px}.tb-btn:hover{border-color:var(--border-hi);background:#94a3c62e}.tb-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 14px #3b82f659}.tb-btn.primary:hover{background:var(--accent-hi);border-color:var(--accent-hi)}.main-container{display:flex;position:fixed;inset:58px 0 0}.sidebar{z-index:20;border-right:1px solid var(--border);background:#0c1120eb;flex-direction:column;width:258px;min-width:258px;display:flex;overflow:hidden}.tabs{border-bottom:1px solid var(--border);display:flex}.tab{text-align:center;color:var(--text2);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:5px;padding:13px 2px;font-size:12px;font-weight:600;transition:color .15s;display:flex}.tab:hover{color:var(--text)}.tab.active{color:#fff;border-bottom-color:var(--accent)}.tab-count{color:var(--text2);background:#94a3c624;border-radius:9px;padding:1px 6px;font-size:10px}.tab.active .tab-count{color:var(--accent-hi);background:#3b82f640}.lib-search-row{align-items:stretch;gap:8px;padding:12px 12px 8px;display:flex}.lib-search-row .search-container{flex:1;min-width:0;padding:0;position:relative}.search-icon{width:14px;height:14px;color:var(--text2);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{border:1px solid var(--border);width:100%;color:var(--text);background:#94a3c614;border-radius:9px;outline:none;padding:9px 12px 9px 32px;font-family:inherit;font-size:12.5px;transition:border-color .15s,background .15s}.search-input::placeholder{color:var(--text2)}.search-input:focus{border-color:var(--accent);background:#3b82f614}.cat-select{flex-shrink:0;position:relative}.cat-select select{-webkit-appearance:none;appearance:none;border:1px solid var(--border);min-width:96px;height:100%;color:var(--text);cursor:pointer;background:#94a3c614;border-radius:9px;outline:none;padding:0 26px 0 10px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .15s,background .15s}.cat-select select:hover{border-color:var(--border-hi)}.cat-select select:focus{border-color:var(--accent)}.cat-select select option{color:var(--text);background:#0c1120}.cat-caret{width:12px;height:12px;color:var(--text2);pointer-events:none;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.wraps-container{flex:1;padding:4px 12px 12px;overflow-y:auto}.tab-content{display:none}.tab-content.active{display:block}.skin-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.skin{border:1.5px solid var(--border);cursor:pointer;background:var(--card);border-radius:12px;padding:0;font-family:inherit;transition:border-color .15s,transform .15s,box-shadow .15s;position:relative;overflow:hidden}.skin:hover{border-color:var(--border-hi);transform:translateY(-1px);box-shadow:0 6px 18px #00000059}.skin img{aspect-ratio:1;object-fit:cover;background:#05070d;width:100%;display:block}.skin .skin-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;text-align:left;padding:7px 9px 8px;font-size:11px;font-weight:600;display:block;overflow:hidden}.skin.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 4px 16px #3b82f64d}.skin.active:after{content:"✓";background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;font-size:11px;font-weight:700;display:flex;position:absolute;top:7px;right:7px;box-shadow:0 2px 8px #3b82f680}.skin .skin-local{background:var(--danger);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:50%;width:19px;height:19px;padding:0;font-size:12px;line-height:19px;display:none;position:absolute;top:7px;right:7px}.skin.is-local .skin-local{display:block}.skin.is-local.active:after{display:none}.skin .starter-badge{color:#fff;letter-spacing:.8px;background:#3b82f6e6;border-radius:4px;padding:2.5px 6px;font-size:8px;font-weight:700;position:absolute;top:7px;left:7px}.community-upload-btn{text-align:center;color:var(--accent-hi);cursor:pointer;background:#3b82f614;border:1px solid #3b82f680;border-radius:10px;margin:4px 0 12px;padding:11px;font-size:12.5px;font-weight:600;transition:background .15s}.community-upload-btn:hover{background:#3b82f629}.community-upload-btn span{font-weight:800}.community-empty{text-align:center;color:var(--text2);padding:20px 8px;font-size:11.5px;line-height:1.7}.side-footer{border-top:1px solid var(--border);align-items:center;gap:10px;padding:12px;display:flex}.upload-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#94a3c612;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:11px;font-family:inherit;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.upload-btn svg{width:15px;height:15px;color:var(--accent-hi)}.upload-btn:hover,.upload-btn.dragover{border-color:var(--accent);background:#3b82f61f}.sidebar-section{padding:12px}.section-title{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12.5px;font-weight:700;display:flex}.plate-link{color:var(--accent-hi);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11.5px;font-weight:600}.plate-link:hover{text-decoration:underline}.plate-preview{border:1px solid var(--border);background:#05070d;border-radius:10px;width:100%;display:block}.plate-controls{flex-direction:column;gap:10px;margin-top:12px;display:flex}.plate-region{gap:8px;display:flex}.plate-region .btn{flex:1}.plate-color{border:1px solid var(--border);cursor:pointer;background:var(--card);border-radius:8px;width:100%;height:36px;padding:2px}.plate-grid{grid-template-columns:repeat(2,1fr)}.plate-note{color:var(--text2);margin-top:10px;font-size:11px;line-height:1.5}.btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#94a3c614;border-radius:9px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.btn:hover{border-color:var(--border-hi);background:#94a3c629}.btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);width:100%;margin-bottom:20px;padding:12px;font-size:14px}.btn-primary:hover{background:var(--accent-hi)}.viewer-panel{flex:1;min-width:0;position:relative;overflow:hidden}#canvas-container{z-index:5;position:absolute;inset:0}#canvas-container canvas{display:block}#canvas-container{border:1px solid #0000;border-radius:0;transition:border-radius .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border .45s}.mode-switch{z-index:40;-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);background:#0c1120d1;border-radius:12px;gap:4px;padding:4px;display:flex;position:absolute;top:14px;right:16px}.mode-btn{color:var(--text2);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .18s,color .18s;display:flex}.mode-btn svg{width:14px;height:14px}.mode-btn:hover{color:var(--text);background:#94a3c61a}.mode-btn.active{color:#fff;background:#3b82f638}body.preview-mode .sidebar,body.preview-mode .ai-panel{display:none}.side-design{flex-direction:column;flex:1;min-height:0;display:flex}.side-wrapfile{flex-direction:column;flex:1;min-height:0;display:none;overflow-y:auto}body.wrapfile-mode .side-design{display:none}body.wrapfile-mode .side-wrapfile{animation:.35s cubic-bezier(.22,1,.36,1) panelIn;display:flex}@keyframes panelIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}.wrapfile-chip-label{color:var(--text);font-size:13px;font-weight:700}.wrapfile-chip-spec{color:var(--text2);margin-left:auto;padding-right:20px;font-size:11px}.wrapfile-file-card{border:1px solid var(--border);background:#94a3c612;border-radius:12px;align-items:center;gap:10px;margin:12px;padding:10px;display:flex}.wrapfile-file-card img{object-fit:cover;background:repeating-conic-gradient(#94a3c624 0% 25%,#0000 0% 50%) 0 0/12px 12px,#0a0f1e;border-radius:8px;width:52px;height:52px}.wrapfile-file-info{min-width:0}.wrapfile-file-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.wrapfile-file-source{color:var(--text2);margin-top:2px;font-size:11px}.wrapfile-actions-col{flex-direction:column;gap:8px;padding:0 12px;display:flex}.wf-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#94a3c614;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px;font-family:inherit;font-size:12.5px;font-weight:600;transition:border-color .15s,background .15s,transform .15s;display:flex}.wf-btn svg{width:15px;height:15px}.wf-btn:hover{border-color:var(--border-hi);transform:translateY(-1px)}.wf-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.wf-btn.primary:hover{background:var(--accent-hi)}.wf-btn.danger:hover{color:#fca5a5;border-color:#ef44448c}.wrapfile-checklist{margin:14px 12px 12px}.wrapfile-checklist-title{color:var(--text);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;font-size:11px;font-weight:700}.wrapfile-checklist ul{margin:0;padding:0;list-style:none}.wrapfile-checklist li{color:var(--text2);padding:4px 0 4px 20px;font-size:12px;position:relative}.wrapfile-checklist li.ok:before{content:"✓";color:#4ade80;font-size:11px;font-weight:700;position:absolute;left:0}.wrapfile-note{color:var(--text2);margin:10px 0 0;font-size:11px;line-height:1.5}.wrapfile-panel{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:40px 48px;display:none;position:absolute;inset:0;overflow-y:auto}body.wrapfile-mode .wrapfile-panel{animation:.4s cubic-bezier(.22,1,.36,1) stageIn;display:flex}@keyframes stageIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.wrapfile-empty{text-align:center;color:var(--text2);max-width:420px}.wrapfile-empty svg{opacity:.5;width:44px;height:44px;margin-bottom:10px}.wrapfile-empty-title{color:var(--text);margin-bottom:6px;font-size:15px;font-weight:700}.wrapfile-empty-sub{font-size:12.5px;line-height:1.6}.wrapfile-stage{text-align:center;width:min(560px,100%)}.wrapfile-canvas{border:1px solid var(--border-hi);background:repeating-conic-gradient(#94a3c61a 0% 25%,#0000 0% 50%) 0 0/22px 22px,#070a1380;border-radius:14px;padding:14px;box-shadow:0 18px 50px #00000073}.wrapfile-canvas img{aspect-ratio:1;object-fit:contain;width:100%;display:block}.wrapfile-meta{flex-direction:column;gap:3px;margin-top:12px;display:flex}.wrapfile-meta-name{color:#fff;font-size:14px;font-weight:700}.wrapfile-meta-dims{color:var(--text2);font-size:12px}.wrapfile-meta-target{color:#94a3c6b3;font-size:11px}body.wrapfile-mode #canvas-container{z-index:30;border:1px solid var(--border-hi);background:#0a0f1e;border-radius:14px;width:min(340px,38vw);height:min(220px,26vh);inset:auto auto 16px 16px;overflow:hidden;box-shadow:0 18px 46px #0000008c}body.wrapfile-mode .viewer-toolbar,body.wrapfile-mode .angle-strip{display:none}.grid-more{text-align:center;padding:10px 0 14px}.grid-more.hidden{display:none}.grid-more-label{color:var(--text2);font-size:11.5px}#loading,.viewer-loading{color:var(--text2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#070a13b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}#loading.hidden,.viewer-loading.hidden{display:none}.spinner{border:3px solid #94a3c640;border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.viewer-toolbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);background:#0a0e19d1;border-radius:14px;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;bottom:76px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.vt-btn{color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:flex}.vt-btn svg{flex-shrink:0;width:15px;height:15px}.vt-btn:hover{color:var(--text);background:#94a3c61f}.vt-btn.drive-btn.active{color:var(--accent-hi);background:#3b82f638}.drive-btn.hidden{display:none}.ba-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.ba-toggle input{display:none}.ba-track{background:#94a3c640;border-radius:9px;flex-shrink:0;width:30px;height:17px;transition:background .2s;position:relative}.ba-knob{background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .2s;position:absolute;top:2px;left:2px}.ba-toggle input:checked+.ba-track{background:var(--accent)}.ba-toggle input:checked+.ba-track .ba-knob{transform:translate(13px)}.zoom-group{border-left:1px solid var(--border);align-items:center;gap:6px;margin-left:4px;padding:0 10px;display:flex}.zoom-group button{width:22px;height:22px;color:var(--text2);cursor:pointer;background:#94a3c61a;border:none;border-radius:6px;font-size:14px;line-height:1}.zoom-group button:hover{color:var(--text);background:#94a3c633}.zoom-group input[type=range]{width:90px;accent-color:var(--accent);cursor:pointer}.vt-select{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#94a3c614;border-radius:9px;outline:none;margin-left:4px;padding:8px 10px;font-family:inherit;font-size:12px;font-weight:600}.vt-select option{color:var(--text);background:#0d1220}.angle-strip{z-index:19;align-items:center;gap:8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.as-arrow{border:1px solid var(--border);width:26px;height:26px;color:var(--text2);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e19cc;border-radius:50%;flex-shrink:0;font-size:15px;line-height:1;transition:all .15s}.as-arrow:hover{color:#fff;border-color:var(--border-hi)}.as-thumbs{gap:8px;display:flex}.as-thumb{border:1.5px solid var(--border);background:var(--card);cursor:pointer;border-radius:9px;width:74px;height:50px;padding:0;font-family:inherit;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.as-thumb:hover{border-color:var(--border-hi);transform:translateY(-2px)}.as-thumb.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.as-thumb img{object-fit:cover;width:100%;height:100%;display:block}.as-thumb span{color:#fff;text-align:center;background:linear-gradient(#0000,#000000bf);padding:6px 0 3px;font-size:8.5px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:300;background:#02040ab3;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--panel-2);border:1px solid var(--border-hi);border-radius:16px;width:100%;max-width:420px;max-height:90vh;padding:26px;overflow-y:auto;box-shadow:0 24px 80px #0009}.modal-title{color:#fff;margin-bottom:20px;font-size:18px;font-weight:800}.modal-strong{color:var(--text);font-size:13.5px;font-weight:700}.modal-text{color:var(--text2);margin-top:8px;font-size:12.5px;line-height:1.65}.modal-text a{color:var(--accent-hi)}.modal-text strong{color:var(--text)}.modal-code{border:1px solid var(--border);word-break:break-all;color:var(--accent-hi);background:#94a3c61a;border-radius:8px;margin-top:12px;padding:9px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}#download-size-warning{color:#fbbf24;margin-top:8px;font-size:11px}.modal .btn{width:100%;margin-top:18px}.modal-buttons{gap:10px;display:flex}.modal-buttons .btn{flex:1;margin-top:6px;padding:12px;font-size:13.5px}.field{margin-bottom:16px}.field label{color:var(--text2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input[type=text]{border:1px solid var(--border);width:100%;color:var(--text);box-sizing:border-box;background:#94a3c612;border-radius:9px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px}.field input[type=text]:focus{border-color:var(--accent)}.drop-zone{cursor:pointer;border:1.5px dashed var(--border-hi);color:var(--text2);border-radius:10px;justify-content:center;align-items:center;padding:22px;font-size:12.5px;transition:border-color .15s,background .15s;display:flex}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);background:#3b82f614}.field-hint{color:var(--text2);margin-top:8px;font-size:10.5px}#submit-error{color:#fca5a5;white-space:pre-line;background:#ef44441f;border:1px solid #ef444466;border-radius:9px;margin-bottom:16px;padding:10px 12px;font-size:12.5px}.success-mark{color:#34d399;background:#34d39926;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 16px;font-size:26px;display:flex}.success-title{color:#fff;margin-bottom:8px;font-size:17px;font-weight:700}.camera-tuner{z-index:30;background:var(--panel-2);border:1px solid var(--border-hi);border-radius:12px;width:300px;font-size:12px;position:absolute;top:16px;right:16px;overflow:hidden;box-shadow:0 12px 40px #00000080}.camera-tuner.hidden{display:none}.camera-tuner-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.camera-tuner-title{color:#fff;font-size:13px;font-weight:700}.camera-tuner-subtitle{color:var(--text2);font-size:11px}.camera-tuner-status{color:var(--accent-hi);font-size:10px;font-weight:600}.camera-tuner-body{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.camera-tuner-help{color:var(--text2);line-height:1.5}.camera-tuner-actions{flex-wrap:wrap;gap:6px;display:flex}.camera-tuner-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#94a3c614;border-radius:7px;padding:6px 10px;font-family:inherit;font-size:11px}.camera-tuner-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.camera-tuner-json{border:1px solid var(--border);resize:none;width:100%;height:60px;color:var(--text);background:#00000040;border-radius:7px;padding:6px;font-family:ui-monospace,Menlo,monospace;font-size:10px}.ai-panel{z-index:20;border-left:1px solid var(--border);background:#0c1120eb;flex-direction:column;gap:14px;width:262px;min-width:262px;padding:14px;display:flex;overflow-y:auto}.ai-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:15px}.ai-head{color:#fff;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:800;display:flex}.ai-head.small{margin-bottom:12px;font-size:12.5px}.ai-spark{background:var(--grad);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.ai-sub{color:var(--text2);margin:0 0 12px;font-size:11px;line-height:1.55}.ai-prompt-wrap{position:relative}#ai-prompt{resize:none;border:1px solid var(--border);width:100%;color:var(--text);background:#94a3c612;border-radius:10px;outline:none;padding:10px 12px 24px;font-family:inherit;font-size:12px;line-height:1.5;transition:border-color .15s}#ai-prompt:focus{border-color:var(--accent)}#ai-prompt::placeholder{color:var(--text2)}.ai-count{color:var(--text2);font-size:9.5px;position:absolute;bottom:8px;right:10px}.ai-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text2);margin:14px 0 8px;font-size:10.5px;font-weight:700}.ai-styles{flex-wrap:wrap;gap:6px;display:flex}.ai-style{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:#94a3c612;border-radius:14px;padding:6px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s}.ai-style:hover{color:var(--text);border-color:var(--border-hi)}.ai-style.active{border-color:var(--accent);color:var(--accent-hi);background:#3b82f62e}.ai-palette{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ai-dot{cursor:pointer;border:2px solid #ffffff40;border-radius:50%;width:22px;height:22px;padding:0;transition:transform .12s}.ai-dot:hover{border-color:#fff9;transform:scale(1.15)}#ai-color-add{border:1.5px dashed var(--border-hi);width:22px;height:22px;color:var(--text2);cursor:pointer;background:0 0;border-radius:50%;font-size:13px;line-height:1}#ai-color-add:hover{color:var(--accent-hi);border-color:var(--accent)}.ai-generate{background:var(--grad);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:16px;padding:12px;font-family:inherit;font-size:13.5px;font-weight:700;transition:filter .15s,transform .12s;box-shadow:0 4px 20px #3b82f666}.ai-generate:hover{filter:brightness(1.15)}.ai-generate:disabled{opacity:.55;cursor:wait}.ai-variations{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.ai-var-empty{color:var(--text2);text-align:center;grid-column:1/-1;padding:18px 6px;font-size:11px;line-height:1.7}.ai-var{border:1.5px solid var(--border);cursor:pointer;background:var(--panel);border-radius:10px;padding:0;font-family:inherit;transition:border-color .15s;position:relative;overflow:hidden}.ai-var:hover{border-color:var(--accent)}.ai-var img{aspect-ratio:16/10;object-fit:cover;background:#05070d;width:100%;display:block}.ai-var span{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;text-align:left;padding:5px 7px;font-size:9px;display:block;overflow:hidden}.ai-var .var-badge{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:10px;font-weight:700;display:none;position:absolute;top:6px;right:6px}.ai-var.active .var-badge{display:flex}@media (max-width:1240px){.ai-panel{display:none}}@media (max-width:900px){body{overflow:auto}.main-container{flex-direction:column-reverse;height:auto;position:static}.viewer-panel{height:58vh;min-height:380px}.sidebar{border-right:none;border-top:1px solid var(--border);width:100%;min-width:0}.topbar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.view-tabs{order:3;justify-content:center;width:100%}.saved-status,.tb-btn .tb-hide,.saved-status span{display:none}.viewer-toolbar{flex-wrap:wrap;justify-content:center;max-width:94vw}.vt-label{display:none}.vt-btn{padding:8px 9px}.angle-strip{bottom:10px}.mode-btn span{display:none}.wrapfile-panel{padding:16px}}.seo-panel{z-index:260;position:fixed;bottom:14px;right:14px}.seo-trigger{-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0c1120d1;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;list-style:none;transition:color .15s,border-color .15s;display:flex}.seo-trigger::-webkit-details-marker{display:none}.seo-trigger svg{width:14px;height:14px}.seo-trigger:hover{color:var(--text);border-color:var(--border-hi)}.seo-panel[open] .seo-trigger{color:#fff;border-color:var(--border-hi)}.seo-content{-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-hi);width:min(680px,100vw - 28px);max-height:min(70vh,640px);color:var(--text2);background:#0c1120f5;border-radius:14px;padding:22px 26px;font-size:13px;line-height:1.65;position:fixed;bottom:58px;right:14px;overflow-y:auto;box-shadow:0 18px 50px #0000008c}.seo-content h1,.seo-content h2{color:#fff;letter-spacing:-.01em;margin:0 0 10px;font-size:16px;font-weight:700}.seo-lead{color:var(--text);font-weight:600}.seo-content h3{color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin:20px 0 8px;font-size:13px;font-weight:700}.seo-content p{margin:6px 0}.seo-content a{color:var(--accent)}.seo-content code{border:1px solid var(--border);color:var(--text);background:#94a3c61f;border-radius:5px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.seo-models{columns:2;column-gap:28px;margin:6px 0;padding-left:18px}.seo-models li{break-inside:avoid;margin:2px 0}.seo-links{grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0;padding:0;list-style:none;display:grid}.seo-links a{border:1px solid var(--border);background:#94a3c612;border-radius:8px;padding:6px 10px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:block}.seo-links a:hover{border-color:var(--accent);background:#94a3c624}.seo-table{border-collapse:collapse;width:100%;margin:8px 0}.seo-table th,.seo-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 10px}.seo-table th{color:var(--text);white-space:nowrap;font-weight:600}.seo-content ol,.seo-content ul{margin:6px 0;padding-left:20px}.seo-content li{margin:3px 0}.seo-faq div{margin:10px 0}.seo-faq dt{color:var(--text);margin-bottom:3px;font-weight:600}.seo-faq dd{margin:0 0 4px}.seo-note{border-top:1px solid var(--border);color:#94a3c6bf;margin-top:18px;padding-top:12px;font-size:11.5px}@media (max-width:640px){.seo-content{width:auto;padding:16px;bottom:54px;left:8px;right:8px}.seo-models{columns:1}.seo-links{grid-template-columns:1fr}.seo-panel{bottom:8px;right:8px}}.static-page{min-height:100vh}.static-topbar{z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#0a0e19e0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.static-logo{color:#fff;letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.static-logo-mark{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:17px;font-weight:800;display:flex}.static-nav{gap:6px;display:flex}.static-nav a{color:var(--text2);border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.static-nav a:hover{color:var(--text);background:#94a3c61a}.static-main{max-width:860px;margin:0 auto;padding:48px 24px 80px}.static-main h1{color:#fff;letter-spacing:-.02em;margin:0 0 14px;font-size:34px;font-weight:800}.static-main h2{color:#fff;letter-spacing:-.01em;margin:34px 0 10px;font-size:19px;font-weight:700}.static-main h3{color:var(--text);margin:22px 0 8px;font-size:15px;font-weight:700}.static-lead{color:var(--text);font-size:15.5px;font-weight:500;line-height:1.65}.static-main p{color:var(--text2);margin:10px 0;font-size:13.5px;line-height:1.7}.static-main a{color:var(--accent)}.static-main code{border:1px solid var(--border);color:var(--text);background:#94a3c61f;border-radius:5px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.static-note{border-top:1px solid var(--border);margin-top:40px;padding-top:16px;color:#94a3c6bf!important;font-size:12px!important}.guide-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin:18px 0 8px;display:grid}.guide-card{border:1px solid var(--border);background:#94a3c60f;border-radius:14px;flex-direction:column;gap:8px;padding:18px;text-decoration:none;transition:border-color .18s,transform .18s,background .18s;display:flex}.guide-card:hover{border-color:var(--accent);background:#94a3c61a;transform:translateY(-2px)}.guide-card h2{margin:0;font-size:15.5px}.guide-card h3{color:var(--text);margin:0;font-size:14px}.guide-card p{flex:1;margin:0;font-size:12.5px;line-height:1.6}.guide-cta{color:var(--accent-hi);font-size:12px;font-weight:700}@media (max-width:700px){.guide-grid{grid-template-columns:1fr}.static-main h1{font-size:27px}}@keyframes glowPulse{0%,to{box-shadow:0 4px 22px #3b82f673,0 0 34px #7c3aed47}50%{box-shadow:0 4px 30px #3b82f6b3,0 0 52px #7c3aed73}}.tb-btn.primary{box-shadow:0 0 16px #3b82f680,0 0 34px #3b82f638}.tb-btn.primary:hover{background:var(--accent-hi);border-color:var(--accent-hi);box-shadow:0 0 24px #60a5fabf,0 0 48px #3b82f659}.ai-generate{animation:2.6s ease-in-out infinite glowPulse}.ai-generate:hover{filter:brightness(1.18);animation:none;box-shadow:0 6px 34px #3b82f6cc,0 0 60px #7c3aed80}.ai-generate:active{transform:scale(.97)}.btn-primary{box-shadow:0 0 16px #3b82f680,0 0 34px #3b82f633}.btn-primary:hover{box-shadow:0 0 24px #60a5fabf,0 0 48px #3b82f659}.view-tab.active{color:#fff;border-bottom-color:var(--accent);box-shadow:inset 0 10px 20px -8px #3b82f68c}.view-tab.active svg{filter:drop-shadow(0 0 5px #60a5fae6)}.view-tab:hover svg{filter:drop-shadow(0 0 4px #60a5fa80)}.tb-btn:hover,.vt-btn:hover,.chip:hover,.ai-style:hover{box-shadow:0 0 12px #60a5fa47,0 0 2px #60a5fa59}.chip.active{border-color:var(--accent);color:#fff;box-shadow:0 0 10px #3b82f673,inset 0 0 8px #3b82f62e}.ai-style.active{border-color:var(--accent);box-shadow:0 0 10px #3b82f673,inset 0 0 8px #3b82f62e}.logo-icon svg{filter:drop-shadow(0 0 10px #3b82f68c)}.logo-text{letter-spacing:.04em}.drive-btn.active{border-color:var(--accent);box-shadow:0 0 12px #3b82f680,inset 0 0 10px #3b82f633}.tab{letter-spacing:.02em;gap:4px;padding:12px 0;font-size:11px}.tab-count{border-radius:8px;padding:1px 5px;font-size:9.5px}.tab.active .tab-count{box-shadow:0 0 8px #3b82f666}.side-head{padding:12px 12px 4px}.side-head .model-chip{width:100%;padding:9px 12px}.side-head .model-select{flex:1}.share-btn{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:#94a3c614;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:color .15s,border-color .15s,box-shadow .15s;display:flex}.share-btn svg{width:15px;height:15px}.share-btn:hover{color:var(--accent-hi);border-color:#3b82f673;box-shadow:0 0 12px #3b82f640}.ai-select{border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;background:#94a3c61a;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12.5px;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.ai-select:hover{border-color:var(--border-hi)}.ai-select-caret{width:14px;height:14px;color:var(--text2);transition:transform .15s}.ai-select:has(.ai-menu.open) .ai-select-caret{transform:rotate(180deg)}.ai-select:has(.ai-menu.open){border-color:#3b82f68c;box-shadow:0 0 12px #3b82f64d}.ai-menu{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-hi);z-index:40;background:#0c1120f7;border-radius:12px;padding:5px;display:none;position:absolute;top:calc(100% + 6px);left:-1px;right:-1px;box-shadow:0 14px 40px #0000008c,0 0 18px #3b82f61f}.ai-menu.open{display:block}.ai-menu .ai-style{text-align:left;width:100%;color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .12s,color .12s;display:block}.ai-menu .ai-style:hover{color:var(--text);background:#3b82f624}.ai-menu .ai-style.active{color:#fff;background:#3b82f62e;box-shadow:inset 0 0 8px #3b82f633}.ai-status{color:var(--accent-hi);background:#3b82f61f;border:1px solid #3b82f659;border-radius:9px;margin:12px 0 0;padding:9px 12px;font-size:12px}.ai-status.error{color:#fca5a5;background:#ef44441a;border-color:#ef444466}.ai-generate.busy{opacity:.6;pointer-events:none}.tb-btn{-webkit-backdrop-filter:blur(10px);border-radius:10px}.tb-btn:hover{color:#fff;border-color:#60a5fa66}.tb-btn.primary{background:var(--grad);letter-spacing:.02em;border-color:#0000;box-shadow:0 0 18px #3b82f673,0 0 40px #7c3aed40}.tb-btn.primary:hover{background:linear-gradient(90deg,#3b82f6,#8b5cf6);box-shadow:0 0 26px #60a5fab3,0 0 56px #7c3aed66}.tb-btn:active{transform:scale(.97)}
