.toast-container{position:fixed;bottom:80px;right:20px;top:auto;left:auto;transform:none;z-index:99999;display:flex;flex-direction:column;gap:10px;pointer-events:none;align-items:flex-end}@media (max-width: 768px) and (orientation: portrait){.toast-container{top:80px;left:50%;bottom:auto;right:auto;transform:translate(-50%);align-items:center}}.toast{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;background:#161c28f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 30px #0006;color:#e0e0e0;font-size:13px;min-width:240px;max-width:360px;pointer-events:auto;transform:translateY(-20px);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.toast.show{transform:translateY(0);opacity:1}.toast-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px}.toast-success .toast-icon{background:#66bb6a33;color:#66bb6a}.toast-error .toast-icon{background:#ff525233;color:#ff5252}.toast-warning .toast-icon{background:#ffc10733;color:#ffc107}.toast-info .toast-icon{background:#4db6ac33;color:#4db6ac}.toast-content{flex:1}.toast-title{font-weight:600;font-size:12px;margin-bottom:1px}.toast-success .toast-title{color:#66bb6a}.toast-error .toast-title{color:#ff5252}.toast-warning .toast-title{color:#ffc107}.toast-info .toast-title{color:#4db6ac}.toast-message{color:#a0a0a0;font-size:11px}.toast-close{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.toast-close:hover{background:#ffffff1a;color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:10001;display:none;align-items:center;justify-content:center}.modal-overlay.show{display:flex}.modal-content{background:#161c28;padding:0;border-radius:20px;border:1px solid var(--primary-gold);width:500px;max-width:90%;max-height:85vh;box-shadow:0 25px 50px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:modalIn .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3{margin:0;font-size:18px;color:var(--primary-gold);display:flex;align-items:center;gap:10px}.modal-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-main);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#ffffff26;color:#fff}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);justify-content:flex-end}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:transparent;display:none;align-items:center;justify-content:center}.confirm-overlay.show{display:flex}.confirm-dialog{background:#161c28fa;border:1px solid var(--border-color);border-radius:16px;padding:28px 32px;min-width:280px;max-width:320px;width:90%;box-shadow:0 20px 60px #00000080;text-align:center;animation:modalIn .3s ease}.confirm-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:#c5a05926;display:flex;align-items:center;justify-content:center}.confirm-icon i{font-size:28px;color:var(--primary-gold)}.confirm-title{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px}.confirm-message{font-size:14px;color:var(--text-muted);margin-bottom:24px;line-height:1.5;text-align:center}.confirm-buttons{display:flex;gap:12px}.confirm-btn{flex:1;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.confirm-btn-cancel{background:#ffffff1a;color:var(--text-main);border:1px solid rgba(255,255,255,.2)}.confirm-btn-cancel:hover{background:#ffffff26}.confirm-btn-ok{background:linear-gradient(135deg,var(--primary-gold) 0%,#d4a84b 100%);color:#111;position:relative;z-index:1}.confirm-btn-ok:hover{background:linear-gradient(135deg,#d4b06a,#e6c078)}.confirm-btn-ok:active{transform:scale(.98)}.confirm-btn-ok:disabled{opacity:.5;cursor:not-allowed}.prompt-dialog{min-width:360px}.prompt-input{width:100%;padding:14px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:10px;font-size:15px;color:#fff;margin-bottom:20px;transition:all .2s;outline:none;box-sizing:border-box}.prompt-input:focus{border-color:var(--primary-gold);background:#ffffff1a;box-shadow:0 0 0 3px #c5a05926}.prompt-input::placeholder{color:#fff6}.controls-panel{width:320px;height:100vh;background:linear-gradient(180deg,#0d1117fa,#12161cfa);border-right:1px solid rgba(212,175,55,.15);display:flex;flex-direction:column;overflow:visible;flex-shrink:0;position:relative}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.06);color:#d4af37;font-size:15px;font-weight:500}.panel-header-title{display:flex;align-items:center;gap:10px}.panel-header i{font-size:16px}.desc-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.desc-toggle-label{font-size:11px;color:#ffffff80;transition:color .2s ease}.desc-toggle:hover .desc-toggle-label{color:#fffc}.desc-toggle-input{display:none}.desc-toggle-slider{position:relative;width:36px;height:18px;background:#ffffff26;border-radius:12px;transition:all .25s ease}.desc-toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff9;border-radius:50%;transition:all .25s ease}.desc-toggle-input:checked+.desc-toggle-slider{background:#d4af3799}.desc-toggle-input:checked+.desc-toggle-slider:before{transform:translate(18px);background:#d4af37;box-shadow:0 0 8px #d4af3780}.category-tabs{display:flex;padding:8px;gap:4px;border-bottom:1px solid rgba(255,255,255,.06)}.category-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 2px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;border-radius:6px;color:#ffffff80;font-size:11px;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:0}.category-tab .tab-icon{font-size:14px}.category-tab:hover{background:#d4af3714;border-color:#d4af3733;color:#fffc}.category-tab.active{background:#d4af3726;border-color:#d4af37;color:#d4af37}.morph-list-container{flex:1;overflow-y:auto;padding:12px}.morph-list-container::-webkit-scrollbar{width:4px}.morph-list-container::-webkit-scrollbar-track{background:transparent}.morph-list-container::-webkit-scrollbar-thumb{background:#d4af3733;border-radius:2px}.no-morphs-message{text-align:center;padding:60px 20px;color:#ffffff4d}.no-morphs-message i{font-size:40px;margin-bottom:16px;display:block;opacity:.3}.no-morphs-message p{font-size:13px;margin:0 0 8px;color:#ffffff80}.no-morphs-hint{font-size:11px;color:#ffffff4d}.morph-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.morph-card{position:relative;background:#141923cc;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;transition:all .2s ease;cursor:pointer}.morph-card:hover{background:#1e2332e6;border-color:#d4af374d}.morph-card-title{font-size:12px;color:#ffffffe6;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.morph-card-slider{position:relative;height:24px;display:flex;align-items:center}.morph-slider{width:100%;height:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;position:relative;z-index:3;margin:0}.morph-slider::-webkit-slider-runnable-track{height:4px;background:transparent}.morph-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#d4af37;cursor:grab;border:2px solid #fff;box-shadow:0 2px 6px #0006;margin-top:-5px}.morph-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 10px #d4af3780}.morph-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15)}.morph-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#d4af37;cursor:grab;border:2px solid #fff;box-shadow:0 2px 6px #0006}.morph-slider::-moz-range-thumb:active{cursor:grabbing}.slider-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:4px;background:#ffffff26;border-radius:2px;z-index:1;pointer-events:none}.slider-fill{position:absolute;top:0;height:100%;background:linear-gradient(90deg,#d4af37,#f0d78c);border-radius:2px;pointer-events:none}.morph-card-value{font-size:11px;color:#d4af37;font-weight:500;font-family:Monaco,Consolas,monospace;text-align:center}.demo-notice{margin:12px;padding:14px;background:#0064c81a;border:1px solid rgba(100,150,255,.3);border-radius:10px}.demo-notice-header{display:flex;align-items:center;gap:8px;color:#6496ff;font-size:13px;font-weight:500;margin-bottom:8px}.demo-notice-header i{font-size:14px}.demo-notice p{margin:0;font-size:12px;color:#fff9;line-height:1.6}.morph-card.active{background:#282d3ce6;border-color:#d4af37}.morph-detail-panel{position:fixed;top:60px;left:376px;width:300px;background:#0f141efa;border:1px solid rgba(212,175,55,.4);border-radius:12px;padding:16px;box-shadow:0 8px 32px #00000080;animation:detailSlideIn .2s ease;z-index:300;max-height:calc(100vh - 120px);overflow-y:auto}.morph-detail-panel::-webkit-scrollbar{width:4px}.morph-detail-panel::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:2px}@keyframes detailSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.detail-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.detail-title{font-size:16px;font-weight:600;color:#d4af37}.detail-value{font-size:13px;color:#fff9;font-family:Monaco,Consolas,monospace}.detail-section{margin-bottom:14px}.detail-label{font-size:11px;color:#d4af37;font-weight:500;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.detail-content{font-size:13px;color:#ffffffd9;line-height:1.7}.detail-content.suggestion{color:#ffffffa6;font-style:italic}.detail-range{font-size:11px;color:#fff6;padding-top:12px;margin-top:12px;border-top:1px solid rgba(255,255,255,.08);font-family:Monaco,Consolas,monospace}@media (max-width: 1200px){.morph-detail-panel{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-height:40vh;border-radius:16px 16px 0 0;animation:detailSlideUp .2s ease}@keyframes detailSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media (max-width: 768px) and (orientation: portrait){.controls-panel{width:100%;height:38vh;border-right:none;border-top:none;order:2;background:#13161c;box-shadow:0 -10px 40px #00000080}.category-tab{border-radius:20px;background:#ffffff0f;border:none;color:#fff9;padding:6px 14px;margin-right:6px;min-width:fit-content}.category-tab.active{background:#ffc107;color:#000;font-weight:600;border:none;box-shadow:0 2px 10px #ffc1074d}.panel-header{padding:10px 16px;min-height:44px}.category-tabs{overflow-x:auto;justify-content:flex-start}.sub-category-tabs{white-space:nowrap;flex-wrap:nowrap;overflow-x:auto}.morph-list-container{padding:8px}.morph-grid{grid-template-columns:1fr 1fr;gap:8px}.morph-detail-panel{position:fixed;top:auto;bottom:0;left:0;width:100%;max-height:50vh;padding:14px;border-radius:16px 16px 0 0;z-index:500}.detail-title{font-size:14px}.detail-content{font-size:12px}.no-morphs-message{padding:24px;margin:16px;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:16px}.no-morphs-message i{font-size:32px;margin-bottom:12px;color:#ffc107;opacity:.5}.sub-category-tabs{position:sticky;top:0;z-index:10;background:#0d1117f2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);margin:-8px -8px 8px!important;padding:8px!important;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:nowrap;overflow-x:auto}.morph-card{padding:6px 10px;min-height:50px}.morph-card-slider{height:18px}.morph-slider::-webkit-slider-thumb{width:12px;height:12px;margin-top:-5px;box-shadow:0 1px 3px #00000080}.slider-track,.slider-fill{height:3px}}.sub-category-tabs{display:flex!important;flex-wrap:wrap;gap:8px;padding:0 4px 8px;overflow-x:visible;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:16px}.sub-category-tabs::-webkit-scrollbar{display:none}.sub-tab{padding:5px 10px!important;border-radius:14px!important;background:#0000004d!important;color:#fff9!important;font-size:12px!important;white-space:nowrap;border:1px solid rgba(255,255,255,.1)!important;cursor:pointer;transition:all .2s ease;outline:none!important;font-family:inherit;font-weight:500;box-shadow:none!important}.sub-tab:hover{background:#ffffff1a!important;color:#fff!important;border-color:#ffffff4d!important}.sub-tab.active{background:#d4af3726!important;color:#d4af37!important;border-color:#d4af37!important;box-shadow:0 0 8px #d4af3726!important;font-weight:600}.morph-card.disabled{opacity:.5;pointer-events:none;filter:grayscale(1)}.morph-slider:disabled{cursor:not-allowed;opacity:.5}.sculpt-tool-container{animation:fadeIn .3s ease}.sculpt-control-group input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:#ffffff26;border-radius:2px;outline:none;margin-top:8px}.sculpt-control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#d4af37;border-radius:50%;cursor:pointer;border:2px solid #fff;margin-top:-5px;box-shadow:0 2px 5px #0000004d;transition:transform .1s}.sculpt-control-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.controls-hint{display:flex;align-items:center;justify-content:center;background:#ffffff0d;padding:8px;border-radius:6px;border:1px dashed rgba(255,255,255,.1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px) and (orientation: portrait){.panel-header-title span{font-size:14px!important}.desc-toggle-label,.category-tab span,.sub-tab{font-size:12px!important}.morph-card-title{font-size:12px!important;font-weight:500}.morph-card-value{font-size:10px!important}.no-morphs-message p{font-size:13px!important}}@media (max-width: 768px) and (orientation: portrait){.panel-header-title span{font-size:12px!important}.desc-toggle-label{font-size:10px!important}.category-tab{font-size:10px!important;padding:4px 10px!important}.sub-tab{font-size:10px!important;padding:4px 8px!important}.morph-card-title{font-size:10px!important}.morph-card-value{font-size:9px!important}.no-morphs-message p{font-size:11px!important}}@media (max-width: 768px) and (orientation: portrait){.panel-header-title span,.desc-toggle-label,.category-tab,.sub-tab,.morph-card-title,.morph-card-value,.no-morphs-message p,.detail-title,.detail-content,.controls-hint{font-size:10px!important}}@media (max-width: 768px) and (orientation: portrait){#controls-panel{display:none!important}}@media (max-width: 768px) and (orientation: portrait){.morph-card-title{white-space:normal!important;overflow:hidden!important;height:auto!important;line-height:1.2!important;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.morph-card{height:auto!important;min-height:55px!important;justify-content:space-between;padding-bottom:6px!important}}@media (max-width: 950px) and (orientation: landscape){#controls-panel,.controls-panel{display:flex!important;height:100%!important;width:100%!important;box-shadow:none!important}}@media (max-width: 950px) and (orientation: landscape){#controls-panel,.controls-panel{position:relative!important;top:unset!important;bottom:unset!important;left:unset!important;right:unset!important;display:flex!important;height:100%!important;width:100%!important;box-shadow:none!important;border-radius:0!important;z-index:5!important}}.morph-card-title{max-width:100%!important;min-width:0!important;display:block!important;word-break:break-word!important}.morph-card{min-width:0!important;max-width:100%!important}.viewer-controls-panel{position:absolute;top:56px;right:20px;background:#0d1117f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,.3);border-radius:12px;display:flex;z-index:100;box-shadow:0 8px 32px #0006;overflow:hidden}.viewer-controls-panel.collapsed{background:#0d1117cc;border-color:#d4af371a;height:auto;max-height:fit-content}.viewer-controls-panel.collapsed .controls-content{display:none}.viewer-controls-panel.collapsed .controls-tabs-vertical{border-right:none;background:transparent;padding:6px 4px;gap:2px}.controls-tabs-vertical{display:flex;flex-direction:column;background:#0000004d;border-right:1px solid rgba(255,255,255,.1);padding:8px 4px;gap:4px}.controls-tab-btn{width:40px;height:40px;border:none;background:transparent;color:#ffffff80;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:16px}.controls-tab-btn:hover{background:#d4af371a;color:#fffc}.controls-tab-btn.active{background:#d4af3733;color:#d4af37;border-left:2px solid #d4af37}.controls-content{width:230px;padding:16px;max-height:calc(100vh - 150px);overflow-y:auto;overflow-x:hidden;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.controls-content::-webkit-scrollbar{width:4px}.controls-content::-webkit-scrollbar-track{background:transparent}.controls-content::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:2px}.controls-tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.controls-section-title{font-size:12px;color:#d4af37;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(212,175,55,.2)}.controls-switch-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#0000004d;border-radius:8px;margin-bottom:12px;border:1px solid rgba(212,175,55,.2)}.controls-switch-label{font-size:13px;color:#ffffffe6;display:flex;align-items:center;gap:8px}.controls-switch-label i{color:#d4af37}.controls-switch{position:relative;width:44px;height:24px}.controls-switch input{opacity:0;width:0;height:0}.controls-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ffffff1a;border-radius:24px;transition:.3s}.controls-switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff9;border-radius:50%;transition:.3s}.controls-switch input:checked+.controls-switch-slider{background:#d4af3780}.controls-switch input:checked+.controls-switch-slider:before{transform:translate(20px);background:#d4af37}.controls-slider-group{margin-bottom:16px}.controls-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;color:#fffc}.controls-slider-value{color:#d4af37;font-weight:500}.controls-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;outline:none;position:relative}.controls-slider::-webkit-slider-runnable-track{width:100%;height:6px;background:linear-gradient(to right,#d4af37 0%,#d4af37 var(--value, 0%),rgba(255,255,255,.1) var(--value, 0%),rgba(255,255,255,.1) 100%);border-radius:3px}.controls-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#d4af37;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 8px #0006;transition:transform .2s;margin-top:-6px}.controls-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.controls-slider::-moz-range-track{width:100%;height:6px;background:#ffffff1a;border-radius:3px}.controls-slider::-moz-range-progress{background:#d4af37;height:6px;border-radius:3px}.controls-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#d4af37;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 8px #0006}.controls-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.controls-tool-btn{padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fffc;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.controls-tool-btn:hover{background:#d4af371a;border-color:#d4af374d;color:#d4af37}.controls-tool-btn.active{background:#d4af3733;border-color:#d4af37;color:#d4af37}.controls-tool-btn.full-width{grid-column:1 / -1}.controls-tool-btn.danger{background:#dc35451a;border-color:#dc35454d}.controls-tool-btn.danger:hover{background:#dc354533;border-color:#dc354580;color:#dc3545}.controls-tool-btn:disabled{opacity:.5;cursor:not-allowed}.controls-placeholder{text-align:center;padding:20px;color:#ffffff80}.controls-placeholder i{font-size:32px;margin-bottom:12px;display:block;color:#d4af3780}.controls-placeholder p{font-size:12px;margin-bottom:16px}.controls-measure-tools{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.controls-measure-data{background:#0000004d;border-radius:8px;padding:12px;text-align:left}.controls-measure-data-header{color:#d4af37;font-size:12px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:6px}.controls-measure-data-empty{color:#fff6;font-size:11px;text-align:center;padding:10px}.controls-brush-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}.controls-brush-btn{padding:10px 8px;border:none;border-radius:8px;color:#fff;font-size:11px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.controls-brush-btn i{font-size:14px}.controls-brush-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.controls-brush-btn.restore{background:linear-gradient(135deg,#28a745,#218838)}.controls-brush-btn.fade{background:linear-gradient(135deg,#ffc107,#e0a800)}.controls-brush-btn.fill{background:linear-gradient(135deg,#6f42c1,#4b2e83)}.controls-brush-btn.smooth{background:linear-gradient(135deg,#3498db,#2980b9)}.controls-brush-btn.bigfill{background:linear-gradient(135deg,#ff5722,#b23c17)}.controls-brush-btn.calculate{background:linear-gradient(135deg,#0ff,#0080ff);box-shadow:0 0 12px #00ffff4d}.controls-tip{background:#3498db26;border-left:3px solid #2980b9;padding:10px 12px;font-size:11px;color:#ffffffb3;border-radius:4px;display:flex;align-items:flex-start;gap:8px}.controls-tip i{color:#3498db;margin-top:2px}.controls-tip b{color:#fff}.controls-slider-hint{font-size:10px;color:#fff6;margin-top:4px}.controls-measure-data-list{display:flex;flex-direction:column;gap:8px}.controls-measure-data-item{display:flex;align-items:flex-start;gap:10px;padding:8px;background:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.controls-measure-data-color{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:2px;box-shadow:0 0 8px currentColor}.controls-measure-data-content{display:flex;flex-direction:column;gap:2px;flex:1}.controls-measure-data-name{font-size:12px;font-weight:600;color:#ffffffe6}.controls-measure-data-value{font-size:11px;color:#ffffffb3}.controls-measure-data-value.angle{color:#ff0;font-weight:500}.controls-hint{font-size:11px;color:#ffffff80;padding:0 12px}@keyframes breathing{0%{box-shadow:0 0 5px #d4af3733;border-color:#d4af3780}50%{box-shadow:0 0 15px #d4af3799;border-color:#d4af37}to{box-shadow:0 0 5px #d4af3733;border-color:#d4af3780}}.controls-tab-btn.breathing{animation:breathing 2s infinite ease-in-out;color:#fff;background:#d4af3740}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel{top:50px;right:6px;background:#0d1117d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #00000080}.controls-content{width:135px;padding:10px}.controls-tab-btn{width:30px;height:30px;font-size:12px}.controls-section-title{font-size:11px;margin-bottom:8px}.controls-slider-group{margin-bottom:12px}}@media (max-width: 768px) and (orientation: portrait){.controls-section-title,.controls-switch-label,.controls-slider-header{font-size:12px!important}.controls-tool-btn{font-size:11px!important}.controls-measure-data-name{font-size:12px!important}.controls-measure-data-value{font-size:11px!important}}@media (max-width: 768px) and (orientation: portrait){.controls-section-title,.controls-switch-label,.controls-slider-header{font-size:11px!important}.controls-tool-btn{font-size:10px!important}.controls-measure-data-name{font-size:11px!important}.controls-measure-data-value{font-size:10px!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel,.controls-section-title,.controls-switch-label,.controls-slider-header,.controls-tool-btn,.controls-measure-data-name,.controls-measure-data-value{font-size:10px!important}}@media (max-width: 768px) and (orientation: portrait){.controls-tab-btn{font-size:12px!important;width:30px!important;height:30px!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel.mode-aesthetics{width:300px!important;max-width:85vw!important;background:#13161cf2}.viewer-controls-panel.mode-aesthetics .controls-content{width:100%!important;padding:12px!important}.viewer-controls-panel.mode-aesthetics .panel-header-title{white-space:nowrap}.viewer-controls-panel.mode-aesthetics .morph-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.viewer-controls-panel.mode-aesthetics .category-tabs{flex-wrap:nowrap!important;overflow-x:auto}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel.mode-aesthetics.collapsed{width:42px!important;padding:0!important}.viewer-controls-panel.mode-aesthetics.collapsed .controls-content{display:none!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel.mode-aesthetics{width:280px!important;max-width:80vw!important;background:#13161cfa}.viewer-controls-panel.mode-aesthetics .controls-content{padding:0!important;overflow:hidden}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel.mode-aesthetics{max-height:55vh!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel.mode-aesthetics .controls-content{height:100%!important;max-height:100%!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel.mode-aesthetics{display:flex!important;flex-direction:row!important;height:55vh!important;max-height:55vh!important}.viewer-controls-panel.mode-aesthetics .controls-content{flex:1!important;min-height:0!important;height:auto!important;max-height:none!important;display:flex!important;flex-direction:column!important}.viewer-controls-panel.mode-aesthetics .controls-tab-content{flex:1!important;min-height:0!important;height:100%!important;overflow:hidden!important}.viewer-controls-panel.mode-aesthetics .aesthetics-panel-content{height:100%!important}.viewer-controls-panel.mode-aesthetics .panel-main{min-height:0!important}.viewer-controls-panel.mode-aesthetics .morph-list-container{flex:1!important;min-height:0!important;overflow-y:auto!important}}@media (max-width: 768px) and (orientation: portrait){.sub-category-tabs-row:after{content:"";position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,rgba(19,22,28,.95));pointer-events:none;z-index:1}}@media (max-width: 768px) and (orientation: portrait){.sub-tabs-wrapper:after{content:"";position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,rgba(19,22,28,.98));pointer-events:none;z-index:2}.sub-category-tabs-row::-webkit-scrollbar{display:none}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel.collapsed{height:auto!important;max-height:50vh!important;overflow:hidden!important}.viewer-controls-panel.collapsed .controls-tabs-vertical{max-height:calc(50vh - 20px)!important;overflow-y:auto!important;scrollbar-width:none}.viewer-controls-panel.collapsed .controls-tabs-vertical::-webkit-scrollbar{display:none}}@media (max-width: 768px) and (orientation: portrait){.landscape-mode .viewer-controls-panel{position:fixed!important;right:0!important;top:0!important;width:40vw!important;min-width:280px!important;max-width:45vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;display:flex!important;flex-direction:row!important}.landscape-mode .viewer-controls-panel .controls-content{flex:1!important;height:100%!important;max-height:100%!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important}.landscape-mode .viewer-controls-panel .controls-tab-content{flex:1!important;min-height:0!important;overflow-y:auto!important}.landscape-mode .aesthetics-panel-content{height:100%!important}}@media (max-width: 768px) and (orientation: portrait){.landscape-mode .viewer-controls-panel{top:50%!important;transform:translateY(-50%)!important;height:auto!important;max-height:85vh!important;border-radius:12px 0 0 12px!important}.landscape-mode .viewer-controls-panel .controls-content{max-height:calc(85vh - 60px)!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel,.viewer-controls-panel.collapsed{top:50%!important;transform:translateY(-50%)!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-controls-panel{display:none!important}}.archive-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100001;background:transparent;align-items:center;justify-content:center}.archive-modal-overlay.show{display:flex}.archive-modal{background:#161c28fa;border:1px solid var(--border-color);border-radius:20px;width:800px;max-width:90vw;max-height:80vh;box-shadow:0 25px 80px #0009;display:flex;flex-direction:column;animation:modalIn .3s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.archive-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.archive-modal-header h3{margin:0;font-size:18px;color:var(--primary-gold);display:flex;align-items:center;gap:10px}.archive-modal-actions{display:flex;align-items:center;gap:12px}.archive-import-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:#4db6ac26;color:var(--medical-teal);border:1px solid rgba(77,182,172,.3);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.archive-import-btn:hover{background:var(--medical-teal);color:#fff;border-color:var(--medical-teal)}.archive-modal-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-main);font-size:12px;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .2s}.archive-modal-close:hover{background:#ffffff26;color:#fff}.archive-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.archive-loading,.archive-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.archive-loading i,.archive-empty i{font-size:48px;margin-bottom:16px;opacity:.5;display:block}.archive-empty p{margin:0;font-size:14px}.archive-list{display:flex;flex-direction:column;gap:12px}.archive-item{display:flex;align-items:center;gap:16px;padding:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .2s}.archive-item:hover{background:#ffffff0f;border-color:var(--border-color)}.archive-item-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary-gold) 0%,var(--primary-gold-light) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.archive-item-icon i{font-size:20px;color:#111}.archive-item-info{flex:1;min-width:0}.archive-item-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.archive-item-name{font-size:14px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.archive-version-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:10px;font-weight:500;color:var(--primary-gold);background:#c5a05926;border:1px solid rgba(197,160,89,.3);border-radius:10px}.archive-item-meta{font-size:12px;color:var(--text-muted);display:flex;gap:16px}.archive-item-meta span{display:flex;align-items:center;gap:4px}.archive-item-actions{display:flex;gap:8px;flex-shrink:0}.archive-item-btn{width:36px;height:36px;border-radius:8px;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:14px}.archive-item-btn-3d{background:#4db6ac26;color:var(--medical-teal);border:1px solid rgba(77,182,172,.3)}.archive-item-btn-3d:hover{background:var(--medical-teal);color:#fff}.archive-item-btn-preview{background:#2196f31a;color:#42a5f5;border:1px solid rgba(33,150,243,.3)}.archive-item-btn-preview:hover{background:#2196f3;color:#fff}.archive-item-btn-history{background:#9c27b01a;color:#ba68c8;border:1px solid rgba(156,39,176,.3)}.archive-item-btn-history:hover{background:#9c27b0;color:#fff}.archive-item-btn-delete{background:#ff52521a;color:#ff5252;border:1px solid rgba(255,82,82,.2)}.archive-item-btn-delete:hover{background:#ff5252;color:#fff}.archive-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100002;background:#000000e6;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.archive-preview-content{position:relative;max-width:90vw;max-height:90vh}.archive-preview-content img{max-width:100%;max-height:85vh;border-radius:12px;box-shadow:0 20px 60px #00000080}.archive-preview-close{position:absolute;top:-50px;right:0;width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.archive-preview-close:hover{background:#fff3;transform:scale(1.1)}@media (max-width: 768px) and (orientation: portrait){.archive-modal{width:95%;max-width:95%;max-height:85vh}.archive-modal-header{padding:16px}.archive-modal-header h3{font-size:16px}.archive-modal-body{padding:16px}.archive-item{flex-direction:column;align-items:flex-start;gap:12px}.archive-item-icon{display:none}.archive-item-info{width:100%}.archive-item-name{max-width:100%;font-size:14px}.archive-item-meta{margin-top:4px}.archive-item-actions{width:100%;justify-content:flex-end;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.archive-item-btn{width:40px;height:40px}}.modeling-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100002;background:transparent;align-items:center;justify-content:center}.modeling-modal-overlay.show{display:flex}.modeling-modal{background:#161c28fa;border:1px solid var(--border-color);border-radius:16px;width:600px;max-width:95vw;max-height:85vh;box-shadow:0 25px 80px #0009;display:flex;flex-direction:column;overflow:hidden;animation:modalIn .3s ease}.modeling-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.modeling-modal-header h3{margin:0;font-size:16px;color:var(--primary-gold);display:flex;align-items:center;gap:8px}.modeling-modal-header-actions{display:flex;align-items:center;gap:8px}.modeling-tab-btn{padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:5px}.modeling-tab-btn:hover{background:#ffffff1a;color:var(--text-main)}.modeling-tab-btn.active{background:#c5a05926;border-color:var(--primary-gold);color:var(--primary-gold)}.modeling-modal-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-main);font-size:12px;cursor:pointer;padding:6px 14px;border-radius:6px;transition:all .2s;margin-left:8px}.modeling-modal-close:hover{background:#ffffff26;color:#fff}.modeling-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.modeling-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.05)}.modeling-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.modeling-section h4{margin:0 0 12px;font-size:13px;color:var(--medical-teal);display:flex;align-items:center;gap:6px}.modeling-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.modeling-upload-item{text-align:center}.modeling-upload-item input[type=file]{display:none}.modeling-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px;background:#0003;border:2px dashed rgba(255,255,255,.2);border-radius:10px;cursor:pointer;transition:all .3s;height:140px;position:relative;overflow:hidden}.modeling-upload-label:hover{border-color:var(--primary-gold);background:#c5a0590d}.modeling-upload-icon{font-size:24px;color:var(--primary-gold);margin-bottom:8px}.modeling-upload-text{font-size:12px;color:var(--text-main);font-weight:500;margin-bottom:2px}.modeling-upload-hint{font-size:10px;color:var(--text-muted)}.modeling-preview-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px}.modeling-upload-desc{font-size:10px;color:var(--text-muted);margin-top:6px}.modeling-upload-tips{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:8px;font-size:11px;color:var(--text-muted)}.modeling-upload-tips>i{color:#f59e0b;margin-top:2px;flex-shrink:0}.modeling-tips-content strong{color:var(--text-main);font-size:12px;display:block;margin-bottom:6px}.modeling-tips-content ul{margin:0;padding-left:16px;list-style-type:disc}.modeling-tips-content li{margin-bottom:2px;line-height:1.4}.modeling-form-group{display:flex;flex-direction:column}.modeling-form-group label{font-size:12px;color:var(--text-muted);margin-bottom:6px}.modeling-form-group label i{color:var(--medical-teal);margin-right:6px}.modeling-modal-footer{display:flex;gap:12px;padding:14px 20px;border-top:1px solid rgba(255,255,255,.1)}.modeling-modal-footer button{flex:1;padding:10px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.modeling-modal-footer .btn-cancel{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-main)}.modeling-modal-footer .btn-cancel:hover{background:#ffffff26}.modeling-modal-footer .btn-submit{background:linear-gradient(135deg,var(--primary-gold) 0%,#d4a84b 100%);border:none;color:#111}.modeling-modal-footer .btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#d4b06a,#e6c078)}.modeling-modal-footer .btn-submit:disabled{opacity:.7;cursor:not-allowed}.modeling-history-list{display:flex;flex-direction:column;gap:12px}.modeling-history-loading,.modeling-history-empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.modeling-history-empty i{font-size:40px;margin-bottom:12px;opacity:.5;display:block}.modeling-history-item{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px;transition:all .2s}.modeling-history-item:hover{background:#ffffff0f;border-color:var(--border-color)}.modeling-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modeling-history-left{display:flex;align-items:center;gap:10px}.modeling-history-name{font-size:14px;font-weight:600;color:#fff}.modeling-history-status{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500}.modeling-history-status.pending{background:#ffc10726;color:#ffc107}.modeling-history-status.processing{background:#2196f326;color:#42a5f5}.modeling-history-status.completed{background:#66bb6a26;color:#66bb6a}.modeling-history-status.rejected{background:#ff525226;color:#ff5252}.modeling-history-actions-right{display:flex;gap:8px}.modeling-history-btn-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;border:none;font-size:14px}.modeling-history-btn-load{background:#66bb6a26;color:#66bb6a;border:1px solid rgba(102,187,106,.3)}.modeling-history-btn-load:hover{background:#66bb6a;color:#fff}.modeling-history-info{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.modeling-history-time{display:flex;align-items:center;gap:5px}.modeling-history-reject-reason{color:#ff6b6b;display:flex;align-items:center;gap:5px}.modeling-modal.history-modal .modeling-modal-body{min-height:300px}.modeling-history-photos{display:flex;gap:8px;margin-top:8px;margin-bottom:8px}.history-thumb{width:48px;height:48px;border-radius:6px;object-fit:cover;border:1px solid rgba(255,255,255,.1);background:#0003}.tooltip{position:relative}.tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;background:#000000d9;color:#fff;font-size:12px;border-radius:4px;white-space:nowrap;margin-bottom:8px;z-index:10;pointer-events:none}.experience-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.experience-modal{background:#1a1f2e;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:48px 56px;text-align:center;position:relative;max-width:420px;width:90%;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.experience-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#ffffff0d;border-radius:8px;color:#fff6;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.experience-modal-close:hover{background:#ffffff1a;color:#fffc}.experience-modal-icon{width:72px;height:72px;background:linear-gradient(135deg,#00b894,#00a085);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 28px;font-size:28px;color:#fff;box-shadow:0 8px 24px #00b8944d}.experience-modal-title{font-size:26px;font-weight:600;color:#fff;margin:0 0 16px;letter-spacing:1px}.experience-modal-desc{font-size:14px;color:#fff9;line-height:1.8;margin:0 0 32px}.experience-modal-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,#00b894,#00a085);border:none;border-radius:10px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.experience-modal-btn:hover{background:linear-gradient(135deg,#00d9a5,#00b894);box-shadow:0 4px 16px #00b89466;transform:translateY(-1px)}.experience-modal-btn i{font-size:14px}.experience-modal-btn-secondary{width:100%;padding:14px 24px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.experience-modal-btn-secondary:hover{background:#ffffff0d;border-color:#ffffff4d;color:#ffffffe6}.experience-modal-btn-secondary i{font-size:14px}.experience-modal-footer{margin-top:24px;font-size:13px;color:#fff6}.experience-modal-footer .activate-link{color:#00b894;cursor:pointer;transition:color .2s ease}.experience-modal-footer .activate-link:hover{color:#00d9a5;text-decoration:underline}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10000}.payment-modal{background:linear-gradient(145deg,#1a1a2e,#16213e);border-radius:16px;padding:32px;width:400px;max-width:90vw;position:relative;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1)}.payment-modal.wide{width:680px;max-width:95vw;padding:0;overflow:hidden}.payment-content{display:flex}.payment-left{flex:1;padding:32px;background:linear-gradient(145deg,#1e2235,#1a1f2e);border-right:1px solid rgba(255,255,255,.06)}.payment-right{width:300px;padding:32px;display:flex;flex-direction:column;align-items:center}.payment-close-btn{position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;color:#888;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.payment-close-btn:hover{background:#fff3;color:#fff}.payment-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.payment-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.payment-icon.wechat{background:linear-gradient(135deg,#07c160,#06ad56);color:#fff}.payment-icon.alipay{background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff}.payment-header h2{color:#fff;font-size:18px;font-weight:600;margin:0}.payment-product-detail{margin-top:16px}.product-title{color:#fff;font-size:20px;font-weight:600;margin:0 0 8px}.product-desc{color:#fff9;font-size:13px;margin:0 0 20px;line-height:1.5}.product-features{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.feature-item{display:flex;align-items:center;gap:10px;color:#fffc;font-size:13px}.feature-item i{width:20px;color:#d4af37;font-size:14px}.feature-item strong{color:#d4af37;font-weight:600}.product-price-box{background:#d4af371a;border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:16px;text-align:center}.original-price{color:#fff6;font-size:14px;text-decoration:line-through;margin-right:8px}.current-price{color:#ff6b6b;font-weight:700;display:inline-flex;align-items:baseline}.current-price .currency{font-size:18px}.current-price .amount{font-size:32px}.payment-info{text-align:center;margin-bottom:24px;padding:16px;background:#ffffff0d;border-radius:12px}.payment-product{color:#aaa;font-size:14px;margin-bottom:8px}.payment-amount{color:#ff6b6b;font-weight:700}.payment-amount .currency{font-size:18px}.payment-amount .amount{font-size:36px}.payment-qrcode{background:#fff;border-radius:12px;padding:12px;width:180px;height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.payment-qrcode img{width:100%;height:100%;object-fit:contain}.qrcode-loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#666;font-size:12px}.qrcode-loading i{font-size:24px}.payment-tips{text-align:center;margin-bottom:20px}.payment-tips p{color:#888;font-size:12px;margin:0 0 8px}.payment-countdown{color:#ff9800!important;display:flex;align-items:center;justify-content:center;gap:6px}.payment-countdown .time{font-weight:600;font-family:monospace;font-size:14px}.payment-actions{display:flex;flex-direction:column;gap:10px;width:100%}.payment-check-btn{width:100%;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:all .2s}.payment-check-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.payment-check-btn:disabled{opacity:.7;cursor:not-allowed}.payment-cancel-btn{width:100%;padding:10px 20px;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:13px;cursor:pointer;background:transparent;color:#888;transition:all .2s}.payment-cancel-btn:hover{background:#ffffff1a;color:#fff}.payment-order-no{text-align:center;margin-top:12px;color:#666;font-size:11px}@media (max-width: 700px){.payment-modal.wide{width:95vw}.payment-content{flex-direction:column}.payment-left{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.payment-right{width:100%}}.order-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10000}.order-confirm-modal{background:#161c28fa;border-radius:20px;padding:32px 40px;max-width:720px;width:90%;position:relative;box-shadow:0 25px 80px #0009;border:1px solid rgba(255,255,255,.1)}.order-confirm-modal .close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#ffffff1a;border-radius:50%;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.order-confirm-modal .close-btn:hover{background:#fff3;color:#fff}.order-header{text-align:center;margin-bottom:28px}.order-header h2{font-size:24px;font-weight:700;color:#fff;margin:0 0 8px}.order-header p{font-size:14px;color:#fff9;margin:0}.plans-container{display:flex;gap:16px;margin-bottom:24px}.plan-option{flex:1;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px 20px;cursor:pointer;transition:all .2s;position:relative}.plan-option:hover{border-color:#fff3;background:#ffffff0d}.plan-option.selected{border-color:#d4af37;background:#d4af3714}.plan-option.recommended{border-color:#c5a05980}.plan-option.recommended.selected{border-color:#c5a059;background:#c5a0591a}.recommend-badge{position:absolute;top:-1px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#c5a059,#a88a3d);color:#fff;font-size:12px;padding:4px 16px;border-radius:0 0 8px 8px;font-weight:500}.plan-option-header{margin-bottom:12px;margin-top:20px}.plan-option-name{font-size:16px;font-weight:600;color:#ffffffe6}.plan-option-name.highlight{color:#c5a059}.plan-option-price{display:flex;align-items:baseline;margin-bottom:16px}.plan-option-price .price-symbol{font-size:18px;color:#d4af37}.plan-option.recommended .plan-option-price .price-symbol{color:#c5a059}.plan-option-price .price-amount{font-size:42px;font-weight:700;color:#d4af37;line-height:1}.plan-option.recommended .plan-option-price .price-amount{color:#c5a059}.plan-option-price .price-unit{font-size:14px;color:#ffffff80;margin-left:4px}.plan-option-features{margin-bottom:20px}.plan-option-features .feature{display:flex;align-items:center;gap:8px;font-size:13px;color:#fffc;margin-bottom:8px}.plan-option-features .feature i{color:#d4af37;font-size:12px;width:16px}.plan-option.recommended .plan-option-features .feature i{color:#c5a059}.plan-option-features .feature.muted{color:#ffffff80}.plan-option-features .feature.muted i{color:#fff6}.plan-pay-btn{width:100%;padding:14px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.plan-pay-btn.single{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.plan-pay-btn.single:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.plan-pay-btn.yearly{background:linear-gradient(135deg,#c5a059,#a88a3d);color:#fff}.plan-pay-btn.yearly:hover:not(:disabled){background:linear-gradient(135deg,#d4af68,#c5a059);transform:translateY(-1px)}.plan-pay-btn:disabled{opacity:.6;cursor:not-allowed}.activation-area{background:#0003;border-radius:10px;padding:16px 20px;margin-bottom:20px}.activation-label{font-size:13px;color:#fff9;margin:0 0 10px}.activation-row{display:flex;gap:10px}.activation-row input{flex:1;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;outline:none;transition:all .2s}.activation-row input:focus{border-color:#d4af3780;background:#ffffff14}.activation-row input::placeholder{color:#ffffff4d}.verify-btn{padding:12px 24px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.verify-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.verify-btn:disabled{opacity:.6;cursor:not-allowed}.activation-note{font-size:12px;color:#fff6;margin:10px 0 0}.upgrade-section{text-align:center}.upgrade-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.upgrade-btn.enabled{background:linear-gradient(135deg,#d4af37,#b8860b);color:#fff}.upgrade-btn.enabled:hover{background:linear-gradient(135deg,#e5c048,#d4af37);transform:translateY(-1px)}.upgrade-btn.disabled{background:#ffffff1a;color:#fff6;cursor:not-allowed}@media (max-width: 640px){.order-confirm-modal{padding:24px 20px}.plans-container{flex-direction:column}.plan-option-price .price-amount{font-size:32px}.activation-row{flex-direction:column}.verify-btn{width:100%}}.plans-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#fff9;font-size:14px}.plans-loading i{font-size:20px;color:#d4af37}.plan-option.current-plan{border-color:#d4af3780;background:#d4af370d}.recommend-badge.current{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#000}.plan-option.disabled-plan{opacity:.5;cursor:not-allowed;border-color:#ffffff1a}.plan-option.disabled-plan:hover{border-color:#ffffff1a;background:#ffffff08}.plan-option.disabled-plan .plan-option-name,.plan-option.disabled-plan .price-symbol,.plan-option.disabled-plan .price-amount{color:#fff6}.plan-option.disabled-plan .plan-pay-btn{background:#ffffff0d;color:#ffffff4d;cursor:not-allowed}.recommend-badge.disabled{background:#646464cc}.member-status-tip{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#d4af371a;border:1px solid rgba(212,175,55,.2);border-radius:8px;margin-top:16px;font-size:13px;color:#ffffffb3}.member-status-tip i{color:#d4af37}.member-status-tip strong{color:#d4af37;font-weight:600}.skeleton-plan{pointer-events:none}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-badge{width:80px;height:24px;margin:0 auto 20px;border-radius:0 0 8px 8px}.skeleton-title{width:120px;height:20px;margin-bottom:12px}.skeleton-price{width:140px;height:48px;margin-bottom:16px}.skeleton-feature{width:100%;height:16px;margin-bottom:8px}.skeleton-feature:last-of-type{width:80%}.skeleton-btn{width:100%;height:48px;margin-top:12px;border-radius:8px}.upgrade-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10000}.upgrade-modal{display:flex;background:linear-gradient(135deg,#1a2a3a,#0d1a26);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000080;max-width:800px;width:90%;border:1px solid rgba(77,182,172,.2)}.upgrade-modal-left{flex:1;padding:40px;background:linear-gradient(135deg,#4db6ac1a,#4db6ac0d);border-right:1px solid rgba(77,182,172,.2)}.upgrade-title{font-size:28px;font-weight:700;color:#4db6ac;margin:0 0 8px}.upgrade-subtitle{font-size:14px;color:#fff9;margin:0 0 32px}.upgrade-features{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}.feature-item{display:flex;align-items:center;gap:12px;color:#fff;font-size:15px}.feature-item i{color:#4db6ac;font-size:18px}.current-status{padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.status-label{color:#ffffff80;font-size:13px}.status-value{color:#fff;font-size:15px;font-weight:500;margin-left:8px}.upgrade-modal-right{flex:1;padding:40px;position:relative}.upgrade-modal-right .close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#ffffff1a;border-radius:50%;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.upgrade-modal-right .close-btn:hover{background:#fff3;color:#fff}.payment-title{font-size:20px;font-weight:600;color:#fff;margin:0 0 24px}.plan-card{background:#4db6ac1a;border:2px solid rgba(77,182,172,.3);border-radius:12px;padding:20px;margin-bottom:24px;position:relative}.plan-card.recommended{border-color:#4db6ac}.plan-badge{position:absolute;top:-1px;left:20px;background:#4db6ac;color:#fff;font-size:12px;padding:4px 12px;border-radius:0 0 8px 8px;font-weight:500}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;margin-top:8px}.plan-name{font-size:16px;font-weight:600;color:#fff}.plan-price{display:flex;align-items:baseline}.price-symbol{font-size:16px;color:#4db6ac;margin-right:2px}.price-value{font-size:32px;font-weight:700;color:#4db6ac}.price-unit{font-size:14px;color:#ffffff80;margin-left:4px}.plan-desc{font-size:13px;color:#fff9;margin:0 0 16px}.wechat-pay-btn{width:100%;padding:14px;background:linear-gradient(135deg,#4db6ac,#3d9a91);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.wechat-pay-btn:hover:not(:disabled){background:linear-gradient(135deg,#5cc4ba,#4db6ac);transform:translateY(-1px)}.wechat-pay-btn:disabled{opacity:.6;cursor:not-allowed}.wechat-pay-btn i{font-size:18px}.activation-section{margin-top:24px}.activation-label{font-size:14px;color:#ffffffb3;margin:0 0 12px}.activation-input-group{display:flex;gap:8px}.activation-input-group input{flex:1;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;outline:none;transition:all .2s}.activation-input-group input:focus{border-color:#4db6ac80;background:#ffffff14}.activation-input-group input::placeholder{color:#ffffff4d}.activate-btn{padding:12px 24px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.activate-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.activate-btn:disabled{opacity:.6;cursor:not-allowed}.activation-hint{font-size:12px;color:#fff6;margin:12px 0 0}@media (max-width: 768px) and (orientation: portrait){.upgrade-modal{flex-direction:column;max-height:90vh;overflow-y:auto}.upgrade-modal-left{border-right:none;border-bottom:1px solid rgba(77,182,172,.2);padding:24px}.upgrade-modal-right{padding:24px}.upgrade-title{font-size:22px}}.order-history-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10000}.order-history-modal{background:#161c28fa;border-radius:20px;width:600px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #0009;border:1px solid rgba(255,255,255,.1);overflow:hidden;animation:modalIn .3s ease}.order-history-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.order-history-header h2{color:#fff;font-size:18px;font-weight:600;margin:0;display:flex;align-items:center;gap:10px}.order-history-header h2 i{color:#d4af37}.order-history-header .close-btn{background:#ffffff1a;border:none;color:#888;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.order-history-header .close-btn:hover{background:#fff3;color:#fff}.order-history-tabs{display:flex;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.06)}.order-history-tabs .tab-btn{flex:1;padding:14px 16px;background:none;border:none;color:#ffffff80;font-size:13px;cursor:pointer;transition:all .2s;position:relative}.order-history-tabs .tab-btn:hover{color:#fffc}.order-history-tabs .tab-btn.active{color:#d4af37}.order-history-tabs .tab-btn.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:#d4af37;border-radius:1px}.order-history-content{flex:1;overflow-y:auto;padding:16px 24px}.order-loading,.order-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#fff6;gap:12px}.order-loading i,.order-empty i{font-size:40px;opacity:.5}.order-list{display:flex;flex-direction:column;gap:12px}.order-item{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;transition:all .2s}.order-item:hover{background:#ffffff0d;border-color:#ffffff1a}.order-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.order-type{display:flex;align-items:center;gap:8px;color:#fff9;font-size:12px}.order-type i{color:#d4af37}.order-status{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.order-status.status-completed{background:#d4af3726;color:#d4af37}.order-status.status-pending{background:#eab30826;color:#eab308}.order-status.status-cancelled{background:#9ca3af26;color:#9ca3af}.order-status.status-refunded{background:#ef444426;color:#ef4444}.order-item-body{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.order-product{flex:1;min-width:0}.product-name{color:#fff;font-size:14px;font-weight:500;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-desc{color:#fff6;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-price{display:flex;align-items:baseline;gap:2px;flex-shrink:0}.order-price .price-symbol{color:#d4af37;font-size:12px}.order-price .price-amount{color:#d4af37;font-size:18px;font-weight:600}.order-price .price-free{color:#d4af37;font-size:14px;font-weight:500}.order-price .quantity{color:#fff6;font-size:12px;margin-left:6px}.order-item-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.order-no{font-size:11px;color:#fff6}.order-no .no-text{font-family:monospace;color:#fff9}.order-time{font-size:11px;color:#fff6}.order-remark{margin-top:10px;padding:8px 12px;background:#eab3081a;border-radius:6px;display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#eab308cc}.order-remark i{margin-top:2px}.order-history-content::-webkit-scrollbar{width:6px}.order-history-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.order-history-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.order-history-content::-webkit-scrollbar-thumb:hover{background:#fff3}@media (max-width: 600px){.order-history-modal{width:95%;max-width:95%;max-height:85vh;border-radius:20px;position:relative;bottom:auto;left:auto;right:auto}.order-history-header,.order-history-content{padding:16px}.order-history-tabs{padding:0 16px}}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.auth-modal{background:#161c28fa;border-radius:20px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;padding:40px;position:relative;box-shadow:0 25px 80px #00000080;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#ffffff1a;border:none;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.auth-modal-close:hover{background:#fff3;color:#fff}.auth-modal-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.auth-modal-logo .logo-icon{width:48px;height:48px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000004d}.auth-modal-logo .logo-icon img{width:100%;height:100%;object-fit:cover}.auth-modal-logo .logo-text{font-size:1.5rem;font-weight:700;color:#fff}.auth-modal-logo .logo-text span{background:linear-gradient(135deg,#d4af37,#f4d03f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-modal-header{text-align:center;margin-bottom:32px}.auth-modal-header h2{font-size:1.75rem;font-weight:700;color:#fff;margin:0 0 8px}.auth-modal-header p{font-size:.95rem;color:#fff9;margin:0}.auth-modal-form{display:flex;flex-direction:column;gap:20px}.auth-modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-modal-form .form-group{display:flex;flex-direction:column;gap:8px}.auth-modal-form .form-label{font-size:.875rem;font-weight:500;color:#fffc}.auth-modal-form .input-wrapper{position:relative;display:flex;align-items:center}.auth-modal-form .input-icon{position:absolute;left:14px;color:#fff6;font-size:.9rem;z-index:1}.auth-modal-form .form-input{width:100%;padding:14px 14px 14px 44px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#fff;font-size:.95rem;transition:all .2s ease}.auth-modal-form .form-input:focus{outline:none;border-color:#d4af37;background:#ffffff1f;box-shadow:0 0 0 3px #d4af3726}.auth-modal-form .form-input::placeholder{color:#ffffff59}.auth-modal-form .input-with-right{padding-right:100px}.auth-modal-form .input-right-element{position:absolute;right:8px;height:36px}.auth-modal-form .captcha-img{height:100%;border-radius:6px;cursor:pointer;transition:opacity .2s}.auth-modal-form .captcha-img:hover{opacity:.8}.auth-modal-form .form-options{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.auth-modal-form .remember-me{display:flex;align-items:center;gap:8px;color:#ffffffb3;cursor:pointer}.auth-modal-form .remember-me input[type=checkbox]{width:16px;height:16px;accent-color:#d4af37}.auth-modal-form .forgot-link{color:#d4af37;text-decoration:none;transition:color .2s}.auth-modal-form .forgot-link:hover{color:#f4d03f}.auth-modal-form .terms-group{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:#ffffffb3}.auth-modal-form .terms-group input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:#d4af37;flex-shrink:0}.auth-modal-form .terms-group a{color:#d4af37;text-decoration:none}.auth-modal-form .terms-group a:hover{text-decoration:underline}.auth-modal-form .submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#d4af37,#b8860b);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;margin-top:8px}.auth-modal-form .submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #d4af3766}.auth-modal-form .submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-modal-form .loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.auth-modal-toggle{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.auth-modal-toggle p{color:#fff9;font-size:.9rem;margin:0}.auth-modal-toggle .toggle-btn{background:none;border:none;color:#d4af37;font-size:.9rem;font-weight:600;cursor:pointer;padding:0;margin-left:4px;transition:color .2s}.auth-modal-toggle .toggle-btn:hover{color:#f4d03f;text-decoration:underline}@media (max-width: 520px){.auth-modal{padding:30px 24px;margin:16px;max-width:calc(100% - 32px)}.auth-modal-form .form-row{grid-template-columns:1fr}.auth-modal-header h2{font-size:1.5rem}}.auth-modal-form .demo-entry{margin-top:8px}.auth-modal-form .demo-divider{display:flex;align-items:center;margin:16px 0}.auth-modal-form .demo-divider:before,.auth-modal-form .demo-divider:after{content:"";flex:1;height:1px;background:#ffffff26}.auth-modal-form .demo-divider span{padding:0 16px;color:#ffffff80;font-size:.85rem}.auth-modal-form .demo-btn{width:100%;padding:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fffc;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease}.auth-modal-form .demo-btn:hover{background:#ffffff1f;border-color:#ffffff4d;color:#fff}.auth-modal-form .demo-btn i{color:#d4af37}.auth-modal-form .form-input:-webkit-autofill,.auth-modal-form .form-input:-webkit-autofill:hover,.auth-modal-form .form-input:-webkit-autofill:focus,.auth-modal-form .form-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #1e2535 inset!important;-webkit-text-fill-color:rgba(255,255,255,.9)!important;transition:background-color 5000s ease-in-out 0s;border-radius:12px}.undo-redo-toolbar{display:flex;align-items:center;gap:1px;border-radius:4px;padding:2px}.undo-redo-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#ffffffe6;width:32px;height:30px;border-radius:4px;cursor:pointer;transition:all .2s;position:relative;padding:0;font-size:14px}.undo-redo-btn:hover:not(:disabled){background:#ffffff1a;color:#d4af37}.undo-redo-btn:active:not(:disabled){background:#fff3;transform:translateY(1px)}.undo-redo-btn.disabled,.undo-redo-btn:disabled{color:#fff3;cursor:not-allowed;background:transparent}.undo-redo-count{position:absolute;top:-2px;right:-2px;font-size:9px;background:#d4af37;color:#1a1a1a;border-radius:10px;padding:0 4px;min-width:14px;height:14px;line-height:14px;display:flex;align-items:center;justify-content:center;font-weight:700;pointer-events:none;box-shadow:0 1px 2px #00000080}.photo-builder-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:none;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.photo-builder-modal-overlay.show{display:flex}.photo-builder-modal{width:600px;background:#1e1e1e;border-radius:12px;box-shadow:0 10px 30px #00000080;border:1px solid #333;display:flex;flex-direction:column;overflow:hidden;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.photo-builder-header{padding:16px 24px;background:#252525;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center}.photo-builder-header h3{margin:0;color:#e0e0e0;font-size:18px;display:flex;align-items:center;gap:10px}.photo-builder-header h3 i{color:#d4b106}.photo-builder-close{background:none;border:none;color:#888;cursor:pointer;font-size:18px}.photo-builder-close:hover{color:#fff}.modal-body{padding:24px;color:#ccc;min-height:300px}.instruction-text{background:#2a2a2a;padding:15px;border-radius:8px;margin-bottom:20px;font-size:14px;line-height:1.6;border-left:3px solid #d4b106}.photo-upload-container{display:flex;justify-content:center}.photo-upload-box{width:100%;height:250px;border:2px dashed #444;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;background:#1a1a1a;overflow:hidden;position:relative}.photo-upload-box:hover{border-color:#d4b106;background:#222}.photo-upload-box.has-photo{border-style:solid;border-color:#d4b106}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666;gap:10px}.preview-img{width:100%;height:100%;object-fit:contain}.step-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:20px 0}.step-align{display:flex;flex-direction:column;height:100%}.align-instruction{background:#2a2a2a;padding:10px 15px;border-radius:6px;margin-bottom:20px;font-size:13px;color:#ccc;border-left:3px solid #3498db;display:flex;align-items:center;gap:10px}.sliders-grid-align{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;overflow-y:auto;padding-right:5px;max-height:250px}.photo-builder-modal.wide-modal{width:380px;position:absolute;right:20px;top:20px;height:auto;max-height:90vh}.processing-animation{position:relative;width:80px;height:80px;margin-bottom:20px}.spinner{width:100%;height:100%;border:4px solid #333;border-top:4px solid #d4b106;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-text{font-size:14px;color:#aaa;margin-bottom:15px;min-height:20px}.progress-bar-container{width:80%;height:6px;background:#333;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:#d4b106;transition:width .3s ease}.success-banner{background:#2ecc7133;color:#2ecc71;padding:10px;text-align:center;border-radius:6px;font-weight:700;margin-bottom:15px}.result-desc{font-size:14px;color:#bbb;margin-bottom:20px}.quick-adjust-panel{background:#252525;padding:15px;border-radius:8px}.quick-adjust-panel h4{margin-top:0;margin-bottom:15px;font-size:14px;color:#fff;border-bottom:1px solid #333;padding-bottom:8px}.sliders-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;max-height:200px;overflow-y:auto}.mini-slider-row{display:flex;flex-direction:column;gap:5px}.mini-slider-row label{font-size:12px;color:#888}.modal-footer{padding:16px 24px;background:#252525;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #333}.btn-primary{background:#d4b106;color:#000;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{background:#555;color:#888;cursor:not-allowed}.btn-secondary{background:#333;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer}.no-morphs{text-align:center;color:#666;font-style:italic;padding:20px}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s ease-out}.settings-modal{width:90%;max-width:400px;background:#1e1e1e;border-radius:12px;box-shadow:0 10px 40px #00000080;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.settings-header{padding:15px 20px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.settings-header h3{margin:0;color:#fff;font-size:16px;display:flex;align-items:center;gap:8px}.settings-close-btn{background:transparent;border:none;color:#fff9;font-size:16px;cursor:pointer;padding:5px;transition:all .2s}.settings-close-btn:hover{color:#fff;transform:rotate(90deg)}.settings-body{padding:20px}.settings-section{margin-bottom:25px}.settings-section h4{margin:0 0 15px;color:#d4af37;font-size:14px;display:flex;align-items:center;gap:8px}.language-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.lang-btn{padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ccc;cursor:pointer;transition:all .2s;font-size:14px}.lang-btn:hover{background:#ffffff1a;color:#fff}.lang-btn.active{background:#d4af3733;border-color:#d4af37;color:#d4af37;font-weight:600}.settings-footer-info{text-align:center;margin-top:10px;padding-top:15px;border-top:1px solid rgba(255,255,255,.05)}.settings-footer-info p{margin:0;color:#ffffff4d;font-size:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.tutorial-modal{max-width:800px;width:90%;max-height:85vh;display:flex;flex-direction:column;background:#1e1e1e;color:#e0e0e0;border-radius:12px;box-shadow:0 10px 30px #00000080;border:1px solid #333}.tutorial-header{padding:20px;border-bottom:1px solid #333;background:#252525;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.tutorial-header h2{margin:0;font-size:20px;color:#d4af37;display:flex;align-items:center;gap:10px}.tutorial-close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ccc;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:16px;border:none;outline:none}.tutorial-close-btn:hover{background:#fff3;color:#fff;transform:scale(1.05)}.tutorial-body{padding:24px;overflow-y:auto;font-size:15px;line-height:1.6}.tutorial-section{margin-bottom:30px;background:#ffffff05;padding:20px;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.tutorial-section h3{margin-top:0;margin-bottom:15px;color:#fff;font-size:17px;border-left:3px solid #d4af37;padding-left:10px}.tutorial-section p{margin-bottom:12px;color:#ccc}.tutorial-section ul{margin-bottom:15px;padding-left:20px;color:#bbb}.tutorial-section li{margin-bottom:8px}.img-container{margin:15px 0;border-radius:8px;overflow:hidden;border:1px solid #444;background:#000}.img-container img{width:100%;display:block;height:auto}.highlight-text{color:#d4af37;font-weight:500}.tutorial-body::-webkit-scrollbar{width:8px}.tutorial-body::-webkit-scrollbar-track{background:#1e1e1e}.tutorial-body::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.tutorial-body::-webkit-scrollbar-thumb:hover{background:#555}.mobile-aesthetics-toolbar{position:fixed;bottom:0;left:0;right:0;height:48px;background:#0d1117f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-around;align-items:center;z-index:200;padding-bottom:env(safe-area-inset-bottom)}.mobile-toolbar-btn{background:transparent;border:none;color:#fff9;font-size:14px;padding:8px;position:relative;white-space:nowrap}.mobile-toolbar-btn.active{color:#d4af37;font-weight:700}.mobile-toolbar-btn.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:20px;height:2px;background:#d4af37;border-radius:2px}.mobile-popover{position:fixed;bottom:50px;left:10px;right:10px;background:#13161cfa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:12px;max-height:170px;display:flex;flex-direction:column;z-index:210;box-shadow:0 -4px 20px #00000080;animation:popoverSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes popoverSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-popover-header{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.mobile-popover-title{font-size:14px;font-weight:600;color:#d4af37;flex-shrink:0}.mobile-popover-close{background:transparent;border:none;color:#ffffff80;padding:4px;flex-shrink:0;margin-left:auto}.mobile-popover-content{overflow-y:auto;flex:1;min-height:0;padding-right:16px}.mobile-popover-content::-webkit-scrollbar{width:6px;display:block}.mobile-popover-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.mobile-popover-content::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:3px}.mobile-popover-content::-webkit-scrollbar-thumb:active{background:#d4af3799}.mobile-popover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mobile-slider-card{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:4px}.mobile-slider-title{font-size:10px!important;color:#fffc;text-align:center;line-height:1.1;height:22px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.mobile-slider-input{width:100%;-webkit-appearance:none;height:6px;background:#fff3;border-radius:3px;outline:none}.mobile-slider-input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#d4af37;border:2px solid rgba(0,0,0,.5);border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0000004d}.mobile-slider-input::-moz-range-track{height:6px;background:#fff3;border-radius:3px}.mobile-slider-input::-moz-range-thumb{width:16px;height:16px;background:#d4af37;border:2px solid rgba(0,0,0,.5);border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0000004d}.mobile-slider-value{font-size:9px!important;color:#d4af37}.mobile-sub-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.mobile-sub-tabs::-webkit-scrollbar{display:none}.mobile-sub-tab{padding:4px 12px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1);color:#fff9;font-size:11px;white-space:nowrap}.mobile-sub-tab.active{background:#d4af3733;border-color:#d4af37;color:#d4af37}.mobile-others-section{display:flex;flex-direction:column;gap:16px;padding:4px}.others-slider-row{display:flex;flex-direction:column;gap:8px}.others-label{display:flex;justify-content:space-between;font-size:12px;color:#fffc}.others-value{color:#d4af37}.sub-tabs-wrapper-mobile{position:relative;flex:1;min-width:0;overflow:hidden}.sub-tabs-wrapper-mobile:after{content:"";position:absolute;right:0;top:0;bottom:0;width:30px;background:linear-gradient(to right,transparent,rgba(19,22,28,.98));pointer-events:none}.language-switcher-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;height:32px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .3s ease;font-size:13px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.language-switcher-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.language-switcher-btn:active{transform:translateY(0)}.language-switcher-btn i{font-size:14px}.language-switcher-btn .lang-text{font-weight:500;letter-spacing:.5px}.mobile-floating-tools .language-switcher-btn{width:36px;height:36px;border-radius:50%;padding:0;background:#1e1e1ed9;border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 12px #0000004d}.mobile-floating-tools .language-switcher-btn .lang-text{display:none}.mobile-floating-tools .language-switcher-btn i{font-size:16px}.main-page{display:flex;height:100vh;overflow:hidden;background-color:#0d1117}.icon-sidebar{width:56px;height:100vh;background:#0d1117;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:6px;flex-shrink:0;z-index:200}.icon-sidebar-btn{width:42px;height:42px;border:1px solid rgba(255,255,255,.08);background:#1e232d99;color:#ffffff80;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:15px;border-radius:5px}.icon-sidebar-btn:hover{background:#d4af3726;border-color:#d4af374d;color:#fffc}.icon-sidebar-btn.active{background:#d4af3733;border-color:#d4af37;color:#d4af37}.icon-sidebar-btn.primary{background:linear-gradient(135deg,#d4af37,#c5a028);border-color:#d4af37;color:#0d1117}.icon-sidebar-btn.primary:hover{background:linear-gradient(135deg,#e5c048,#d4af37);box-shadow:0 2px 12px #d4af3766;color:#0d1117}.icon-sidebar-btn.with-text{position:relative}.icon-sidebar-btn .btn-text{display:none}.sidebar-spacer{flex:1}.sidebar-logo{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;overflow:hidden}.sidebar-logo .logo-icon{font-size:20px;font-weight:700;color:#d4af37;font-family:Georgia,serif}.sidebar-logo .logo-image{width:100%;height:100%;object-fit:contain;border-radius:5px}.toolbar-divider{width:28px;height:1px;background:#ffffff1a;margin:4px auto}.viewer-container{flex-grow:1;position:relative;background:#0d1117}.viewer-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(197,160,89,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(197,160,89,.03) 1px,transparent 1px);background-size:40px 40px}.viewer-topbar{position:absolute;top:0;left:0;right:0;height:48px;background:#0c1018f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-sizing:border-box;z-index:150}.viewer-topbar-left{display:flex;align-items:center;gap:16px}.topbar-logo{display:flex;flex-direction:column}.topbar-logo .logo-text{font-size:14px;font-weight:700;color:#d4af37;letter-spacing:1px}.topbar-logo .logo-version{font-size:9px;color:#fff6;letter-spacing:.5px}.topbar-mode-btn{padding:6px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffffb3;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.topbar-mode-btn:hover{background:#ffffff1f}.viewer-topbar-right{display:flex;align-items:center;gap:10px}.topbar-btn{padding:7px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fffc;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.topbar-btn:hover{background:#ffffff26;border-color:#d4af3766}.topbar-btn.active{background:#d4af3726;border-color:#d4af3780;color:#d4af37}.topbar-btn-primary{padding:7px 16px;background:linear-gradient(135deg,#d4af37,#c5a028);border:none;border-radius:6px;color:#0d1117;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.topbar-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#f4d03f,#d4af37);box-shadow:0 2px 8px #d4af374d}.topbar-btn-primary:disabled{opacity:.5;cursor:not-allowed}.topbar-user-wrapper{position:relative}.topbar-user{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff0d;border-radius:6px;color:#ffffffb3;font-size:12px;cursor:pointer;transition:all .2s ease}.topbar-user:hover{background:#ffffff1a}.topbar-user i{color:#d4af37}.topbar-user .dropdown-arrow{font-size:10px;color:#ffffff80;margin-left:4px;transition:transform .2s}.topbar-user-wrapper:hover .dropdown-arrow{transform:rotate(180deg)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:260px;background:linear-gradient(145deg,#1a1f2e,#151922);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 10px 40px #00000080;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:16px;background:#d4af371a;border-bottom:1px solid rgba(255,255,255,.06)}.user-dropdown-header .user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#d4af37,#c5a028);display:flex;align-items:center;justify-content:center;font-size:24px;color:#0d1117}.user-dropdown-header .user-info{flex:1}.user-dropdown-header .user-name{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px}.user-dropdown-header .user-level{font-size:12px;color:#d4af37;display:flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-stats{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.user-dropdown-stats .stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.user-dropdown-stats .stat-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.04)}.user-dropdown-stats .stat-label{font-size:12px;color:#ffffff80}.user-dropdown-stats .stat-value{font-size:13px;font-weight:600;color:#fff}.user-dropdown-actions{padding:12px;display:flex;flex-direction:column;gap:8px}.user-dropdown-actions .dropdown-btn{width:100%;padding:10px 16px;border-radius:8px;border:none;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.user-dropdown-actions .buy-btn{background:linear-gradient(135deg,#d4af37,#c5a028);color:#0d1117}.user-dropdown-actions .buy-btn:hover{box-shadow:0 4px 12px #d4af3766;transform:translateY(-1px)}.user-dropdown-actions .order-btn{background:#667eea26;color:#667eea;border:1px solid rgba(102,126,234,.3)}.user-dropdown-actions .order-btn:hover{background:#667eea40;border-color:#667eea80}.user-dropdown-actions .logout-btn{background:#ffffff0d;color:#ffffffb3;border:1px solid rgba(255,255,255,.1)}.user-dropdown-actions .logout-btn:hover{background:#ff6b6b1a;border-color:#ff6b6b4d;color:#ff6b6b}.mouse-controls{position:absolute;bottom:20px;left:20px;background:#0f141e99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px 18px;font-size:11px;z-index:100;display:flex;flex-direction:column;gap:6px;pointer-events:none}.mouse-controls p{margin:0;display:flex;align-items:center;color:#ffffff80}.mouse-controls p b{color:#d4af37cc;margin-right:6px}.mouse-controls p i{margin-right:10px;width:16px;color:#d4af3799;text-align:center}.watermark{position:absolute;bottom:20px;right:20px;opacity:.4;font-size:12px;letter-spacing:1px;color:#d4af37;pointer-events:none;z-index:100;font-weight:300}.viewer-toolbar{position:absolute;top:60px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:120;background:#0f141eb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:8px}.toolbar-btn{width:40px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#1e232d99;color:#ffffff80;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px}.toolbar-btn:hover{background:#d4af3726;border-color:#d4af374d;color:#fffc}.toolbar-btn.active{background:#d4af3733;border-color:#d4af37;color:#d4af37}@media (max-width: 768px) and (orientation: portrait){.main-page{flex-direction:column}.icon-sidebar{width:100%;height:auto;flex-direction:row;padding:10px 24px;gap:12px;border:none;order:10;justify-content:space-between;background:transparent;z-index:200;padding-bottom:max(12px,env(safe-area-inset-bottom));pointer-events:none}.icon-sidebar>*{pointer-events:auto}.icon-sidebar-btn{width:48px;height:48px;font-size:18px;border-radius:4px;background:#1e232de6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d}.icon-sidebar-btn.primary{background:#ffc107;color:#000;border:none;box-shadow:0 4px 12px #ffc10766}.sidebar-logo,.sidebar-spacer{display:none}.viewer-container{order:1;height:auto;flex-basis:0;flex-grow:1}.icon-sidebar-btn{height:30px;font-size:14px}.topbar-logo .logo-version{display:none}.topbar-logo .logo-text{font-size:12px}.mouse-controls{display:none}.viewer-toolbar{top:56px;left:8px;padding:6px;gap:4px;transform:scale(.9);transform-origin:top left}.viewer-topbar{padding:0 10px;height:44px}.viewer-topbar-left{gap:8px}.viewer-topbar-right{gap:6px}.topbar-btn{padding:6px 10px;font-size:11px}.topbar-user{padding:4px 8px}.demo-badge{top:50px;font-size:11px;padding:4px 12px}.demo-prompt-card{width:260px;padding:16px}.demo-prompt-icon{width:48px;height:48px;font-size:20px;margin-bottom:12px}.demo-prompt-content h3{font-size:16px;margin-bottom:4px}.demo-prompt-arrow{margin-top:16px;width:32px;height:32px}.watermark{display:none}.viewer-watermark{bottom:5px;right:10px}.company-info{display:none}.icp-info{font-size:9px;opacity:.3}.topbar-user-wrapper .user-name{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d1117f2;display:flex;align-items:center;justify-content:center;z-index:500}.loading-content{text-align:center;width:400px;max-width:80%}.loading-bar-container{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:16px}.loading-bar{height:100%;background:linear-gradient(90deg,#d4af37,#f4d03f);border-radius:2px;transition:width .3s ease;box-shadow:0 0 10px #d4af3780}.loading-message{font-size:14px;color:#d4af37;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.demo-badge{position:absolute;top:60px;left:50%;transform:translate(-50%);padding:8px 20px;background:#6496ff26;border:1px solid rgba(100,150,255,.4);border-radius:8px;color:#6496ff;font-size:13px;display:flex;align-items:center;gap:8px;z-index:120}.demo-badge i{font-size:14px}.demo-prompt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:50;background:radial-gradient(circle at center,#0d111766,#0d1117cc)}.demo-prompt-card{width:320px;background:#161c28d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,.2);border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 40px #00000080;position:relative;overflow:hidden}.demo-prompt-card:hover{transform:translateY(-4px);background:#161c28f2;border-color:#d4af3766;box-shadow:0 20px 50px #0009,0 0 20px #d4af3726}.demo-prompt-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.8),transparent);transform:translate(-100%);transition:transform .6s ease}.demo-prompt-card:hover:before{transform:translate(100%)}.demo-prompt-icon{width:64px;height:64px;background:linear-gradient(135deg,#d4af3726,#c5a0590d);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#d4af37;margin-bottom:20px;border:1px solid rgba(212,175,55,.2);box-shadow:0 0 20px #d4af371a;transition:all .3s ease}.demo-prompt-card:hover .demo-prompt-icon{background:linear-gradient(135deg,#d4af3740,#c5a0591a);transform:scale(1.1);box-shadow:0 0 30px #d4af3733}.demo-prompt-content h3{margin:0 0 8px;font-size:18px;color:#fff;font-weight:600;letter-spacing:.5px}.demo-prompt-content p{margin:0;font-size:13px;color:#ffffff80;line-height:1.6}.demo-prompt-arrow{margin-top:24px;width:36px;height:36px;background:#d4af371a;border-radius:50%;border:1px solid rgba(212,175,55,.2);display:flex;align-items:center;justify-content:center;font-size:12px;color:#d4af37;transition:all .3s ease}.demo-prompt-card:hover .demo-prompt-arrow{background:#d4af37;color:#0d1117;border-color:#d4af37;box-shadow:0 0 15px #d4af3766}.viewer-watermark{position:absolute;bottom:12px;right:20px;text-align:right;z-index:10;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end}.company-info{font-size:12px;color:#ffffff80;margin-bottom:2px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5)}.icp-info{font-size:10px;color:#ffffff4d;font-family:sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.5)}.mode-badge{display:flex;align-items:center;gap:8px;font-size:14px;color:#d4af37;font-weight:500;padding:6px 16px;background:#0003;border-radius:20px;border:1px solid rgba(212,175,55,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mode-badge i{font-size:14px;color:#d4af37}.viewer-topbar{position:relative!important}.viewer-topbar-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5}.model-name-display{display:flex;align-items:center;gap:10px;color:#d4af37;font-size:15px;font-weight:600;background:#0006;padding:8px 24px;border-radius:24px;border:1px solid rgba(212,175,55,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 15px #0003;letter-spacing:1px;white-space:nowrap;transition:all .2s ease;pointer-events:auto;cursor:pointer}.model-name-display:hover{border-color:#d4af3780;background:#0009;box-shadow:0 4px 20px #d4af3733}.model-name-display i{font-size:14px;color:#f4d03f;opacity:.9}.model-name-display i.fa-pen{opacity:.5;transition:opacity .2s ease}.model-name-display:hover i.fa-pen{opacity:1}@media (max-width: 768px) and (orientation: portrait){.topbar-btn,.topbar-mode-btn,.topbar-btn-primary{font-size:0!important;gap:0!important;padding:0!important;width:44px;height:38px;justify-content:center}.topbar-btn i,.topbar-mode-btn i,.topbar-btn-primary i{font-size:14px!important;margin:0!important}.demo-prompt-card{width:188px!important;padding:15px!important;transform:scale(.9);background:#141820f2;border-radius:28px;border:1px solid rgba(255,255,255,.05);box-shadow:0 20px 60px #0009}.demo-prompt-icon{background:#ffc107;color:#000;border-radius:16px;width:40px;height:40px;font-size:24px;border:none;box-shadow:0 8px 20px #ffc1074d}.demo-prompt-arrow{background:#ffffff0d;color:#ffc107;border:none;margin-top:9px}.topbar-user{background:#ffc107!important;color:#000!important;border-radius:20px!important;padding:4px 12px!important;font-weight:600}.topbar-user i{color:#000!important}.topbar-mode-btn{background:#ffffff1a!important;border-radius:20px!important;border:none!important;color:#ffc107!important}.demo-badge{display:none}}.mobile-only{display:none!important}.desktop-only{display:flex!important}@media (max-width: 768px) and (orientation: portrait){.mobile-only{display:flex!important}.desktop-only{display:none!important}}@media (max-width: 768px) and (orientation: portrait){.topbar-user,.topbar-user span{font-size:12px!important}.model-name-display{font-size:13px!important;padding:6px 16px!important}}@media (max-width: 768px) and (orientation: portrait){.topbar-user,.topbar-mode-btn,.topbar-btn-primary{font-size:10px!important;padding:4px 10px!important}.model-name-display{font-size:11px!important;padding:4px 12px!important}}@media (max-width: 768px) and (orientation: portrait){html,body,.main-page,div,span,p,a,button,input,label,h1,h2,h3,h4,h5,h6{font-size:10px!important}i,.fas,.far,.fab{font-size:12px!important}.demo-prompt-icon{font-size:24px!important}.icon-sidebar-btn{font-size:18px!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-toolbar{width:32px!important;padding:4px!important;gap:4px!important;left:4px!important;top:50px!important}.toolbar-btn{width:24px!important;height:24px!important;min-height:0!important;padding:0!important;border-radius:4px!important}.toolbar-btn i,.toolbar-btn span{font-size:10px!important;transform:none!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-toolbar{width:36px!important;padding:4px!important;gap:6px!important}.toolbar-btn{width:28px!important;height:28px!important}.toolbar-btn i,.toolbar-btn span{font-size:12px!important}}@media (max-width: 768px) and (orientation: portrait){.icon-sidebar{order:-1!important;padding-top:max(10px,env(safe-area-inset-top))!important;padding-bottom:4px!important;top:0!important;bottom:auto!important}}@media (max-width: 768px) and (orientation: portrait){.debug-console-toggle{display:none!important}.mode-badge-mobile{position:absolute;bottom:24px;right:12px;font-size:10px!important;color:#d4af37;background:#0006;padding:4px 10px;border-radius:12px;z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@media (max-width: 768px) and (orientation: portrait){.debug-console-container{display:none!important}}@media (max-width: 768px) and (orientation: portrait){.viewer-topbar{display:none!important}.model-name-mobile{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:11px!important;color:#d4af37;background:#0009;padding:6px 16px;border-radius:20px;z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(212,175,55,.3);display:flex;align-items:center;gap:6px;white-space:nowrap}}.landscape-toggle-btn{position:fixed;bottom:20px;right:20px;width:44px;height:44px;border-radius:50%;border:none;background:#d4af3733;color:#d4af37;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:200;box-shadow:0 4px 15px #0000004d;transition:all .3s ease}.landscape-toggle-btn:hover{background:#d4af3766;transform:scale(1.1)}@media (max-width: 768px) and (orientation: portrait){.main-page.landscape-mode .viewer-container{width:55%!important;height:100vh!important;order:1!important}.main-page.landscape-mode .icon-sidebar{display:none!important}.main-page.landscape-mode .viewer-controls-panel{position:fixed!important;left:auto!important;right:0!important;top:0!important;width:45%!important;max-width:none!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;z-index:50!important}.main-page.landscape-mode .mode-badge-mobile,.main-page.landscape-mode .model-name-mobile{display:none!important}.main-page.landscape-mode .landscape-toggle-btn{bottom:10px;right:calc(45% + 10px);background:#d4af374d}}@media (max-width: 768px) and (orientation: portrait){.main-page.landscape-mode .icon-sidebar{display:flex!important;flex-direction:row!important;position:fixed!important;top:0!important;left:0!important;right:40vw!important;width:auto!important;height:50px!important;padding:8px 12px!important;gap:8px!important;justify-content:flex-start!important;align-items:center!important;background:#0d1117f2!important;border-bottom:1px solid rgba(255,255,255,.1)!important;border-right:none!important;z-index:150!important;overflow-x:auto!important}.main-page.landscape-mode .icon-sidebar .icon-sidebar-btn{width:36px!important;height:36px!important;flex-shrink:0!important}.main-page.landscape-mode .icon-sidebar .sidebar-logo,.main-page.landscape-mode .icon-sidebar .sidebar-spacer{display:none!important}.main-page.landscape-mode .viewer-container{padding-top:50px!important;width:60vw!important;height:100vh!important}.main-page.landscape-mode .viewer-controls-panel{width:40vw!important;right:0!important}}@media (max-width: 768px) and (orientation: portrait){.main-page.landscape-mode .icon-sidebar{height:38px!important;padding:4px 8px!important;gap:6px!important}.main-page.landscape-mode .icon-sidebar .icon-sidebar-btn{width:28px!important;height:28px!important;font-size:12px!important}.main-page.landscape-mode .viewer-container{padding-top:38px!important}}@media (max-width: 0px) and (orientation: landscape){.main-layout{display:grid!important;grid-template-columns:60% 40%!important;grid-template-rows:60px 1fr!important;grid-template-areas:"viewer sidebar" "viewer controls"!important;height:100vh!important;overflow:hidden!important}.viewer-container{grid-area:viewer!important;height:100%!important;width:100%!important;order:unset!important}.icon-sidebar{grid-area:sidebar!important;position:relative!important;flex-direction:row!important;flex-wrap:wrap!important;width:100%!important;height:60px!important;order:unset!important;bottom:unset!important;left:unset!important;right:unset!important;justify-content:center!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;background:#0d1117fa!important;border-bottom:1px solid rgba(255,255,255,.1)!important;border-left:1px solid rgba(255,255,255,.1)!important;border-radius:0!important}#controls-panel,.controls-panel{display:flex!important;grid-area:controls!important;height:100%!important;width:100%!important;border-radius:0!important;order:unset!important;border-left:1px solid rgba(255,255,255,.1)!important}.viewer-controls-panel,.viewer-topbar{display:none!important}.model-name-mobile,.mode-badge-mobile{left:30%!important}.sidebar-spacer,.sidebar-logo{display:none!important}.demo-prompt-card{left:30%!important}}@media (max-width: 0px) and (orientation: landscape){.viewer-container{position:relative!important;top:unset!important;left:unset!important;width:100%!important;height:100%!important;z-index:1!important}#controls-panel{position:relative!important;grid-area:controls!important;z-index:5!important;background:#13161c!important}.icon-sidebar{z-index:10!important}}@media (max-width: 768px) and (orientation: portrait){.three-canvas-container{top:-87px!important;height:calc(100% + 87px)!important}}.mobile-floating-tools{position:absolute;top:12px;right:12px;z-index:100;display:flex;gap:8px}.mobile-floating-tools .tool-btn{width:36px;height:36px;border-radius:6px;background:#1e232dcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#ffffffb3;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:all .2s;padding:0}.mobile-floating-tools .tool-btn:hover{background:#ffffff1a;color:#fff}.mobile-floating-tools .tool-btn:disabled{opacity:.4;cursor:not-allowed}.force-landscape{position:fixed!important;top:0!important;left:0!important;width:100vh!important;height:100vw!important;z-index:99999!important;background:#0d1117;transform-origin:top left;transform:rotate(90deg) translateY(-100%);overflow:hidden}.force-landscape .toolbar-btn{width:28px!important;height:28px!important;padding:10px!important;position:relative;right:120px}.force-landscape .viewer-container{width:100%!important;height:100%!important}.force-landscape .viewer-toolbar{top:10px!important;left:50%!important;transform:translate(-50%)!important;flex-direction:row!important}.force-landscape #compare-label-before,.force-landscape #compare-label-after{display:none!important}.landscape-compare-labels{display:none}.force-landscape .landscape-compare-labels{display:flex!important;position:absolute;bottom:20px;left:50%;transform:translate(-50%);gap:40px;z-index:1000}.landscape-compare-label{padding:8px 20px;border-radius:20px;font-size:14px;font-weight:700;color:#fff;box-shadow:0 4px 15px #0000004d;border:2px solid rgba(255,255,255,.3);text-shadow:0 1px 2px rgba(0,0,0,.3);pointer-events:none}.landscape-compare-label.before{background:linear-gradient(135deg,#4db6ace6,#388e86e6)}.landscape-compare-label.after{background:linear-gradient(135deg,#c5a059e6,#a7823be6)}.main-page.cursor-eraser,.main-page.cursor-eraser canvas{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="%23ffffff" stroke="%23000000" stroke-width="1.5"><path d="M16.2 3.6l5 5c0.8 0.8 0.8 2 0 2.8l-11.3 11.3c-0.8 0.8-2 0.8-2.8 0l-5-5c-0.8-0.8-0.8-2 0-2.8l11.3-11.3c0.8-0.8 2-0.8 2.8 0z" /></svg>') 4 24,auto!important}.main-page.cursor-draw,.main-page.cursor-draw canvas{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="%23ffffff" stroke="%23000000" stroke-width="1.5"><path d="M18 3l3 3-13.5 13.5-4.5 1 1-4.5z"/></svg>') 3 21,auto!important}.main-page.cursor-measure,.main-page.cursor-measure canvas{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="%23ffffff" stroke="%23000000" stroke-width="1.5"><g transform="rotate(45 12 12)"><rect x="2" y="14" width="20" height="6" /><line x1="5" y1="14" x2="5" y2="17" /><line x1="9" y1="14" x2="9" y2="17" /><line x1="13" y1="14" x2="13" y2="17" /><line x1="17" y1="14" x2="17" y2="17" /><line x1="21" y1="14" x2="21" y2="17" /></g></svg>') 5 8,auto!important}.main-page.cursor-sculpt,.main-page.cursor-sculpt canvas{cursor:grabbing!important;cursor:-webkit-grabbing!important}.main-page.cursor-manual-drag,.main-page.cursor-manual-drag canvas{cursor:grab!important;cursor:-webkit-grab!important}.main-page.cursor-manual-drag:active canvas{cursor:grabbing!important;cursor:-webkit-grabbing!important}.main-page.cursor-lock,.main-page.cursor-lock canvas{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="%23ffffff" stroke="%23000000" stroke-width="1.5"><rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></svg>') 12 12,auto!important}.modeling-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0a0c12,#161c28)}.navbar{background:var(--panel-bg);border-bottom:1px solid var(--border-color);padding:12px 24px;display:flex;align-items:center;flex-shrink:0}.navbar-brand{display:flex;align-items:center;gap:12px;cursor:pointer}.navbar-brand img{width:36px;height:36px;border-radius:8px}.navbar-title{display:flex;flex-direction:column}.navbar-brand-text{font-size:16px;font-weight:600;color:var(--primary-gold);letter-spacing:1px}.navbar-subtitle{font-size:11px;color:var(--text-muted);margin-top:2px}.main-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.modeling-page .card{width:100%;max-width:800px}.card-title{font-size:15px;font-weight:600;color:var(--primary-gold-light);margin:0 0 16px;display:flex;align-items:center;gap:10px}.card-title i{color:var(--medical-teal)}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.upload-item{text-align:center}.upload-item input[type=file]{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px;background:#0003;border:2px dashed rgba(255,255,255,.2);border-radius:10px;cursor:pointer;transition:all .3s;height:220px;position:relative;overflow:hidden}.upload-label:hover{border-color:var(--primary-gold);background:#c5a0590d}.upload-demo-wrapper{width:100%;flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;margin-bottom:10px;overflow:hidden}.upload-demo{width:100%;height:100%;max-height:140px;object-fit:contain;padding:8px}.upload-text{font-size:13px;color:var(--text-main);font-weight:500;margin-bottom:2px}.upload-hint{font-size:10px;color:var(--text-muted)}.upload-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px}.upload-desc{font-size:10px;color:var(--text-muted);margin-top:8px;line-height:1.4}.tips-box{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:8px;margin-bottom:16px}.tips-box>i{color:#f59e0b;font-size:14px;margin-top:2px}.tips-content strong{color:var(--text-main);font-size:12px;display:block;margin-bottom:6px}.tips-content ul{margin:0;padding-left:16px;list-style-type:disc;columns:2;column-gap:20px}.tips-content li{font-size:11px;color:var(--text-muted);margin-bottom:2px;line-height:1.4}.modeling-page .form-row{display:flex;align-items:flex-end;gap:16px}.modeling-page .form-group{flex:1}.modeling-page .form-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:6px}.modeling-page .form-label i{color:var(--medical-teal);margin-right:6px}.modeling-page .submit-btn{padding:10px 28px;white-space:nowrap}@media (max-width: 768px) and (orientation: portrait){.upload-grid{gap:12px}.upload-label{height:200px;padding:10px}.upload-demo{max-height:120px}.tips-content ul{columns:1}.modeling-page .card{padding:20px}}@media (max-width: 480px){.navbar{padding:10px 16px}.navbar-brand img{width:32px;height:32px}.navbar-brand-text{font-size:14px}.main-content{padding:16px;align-items:flex-start}.modeling-page .card{padding:16px;border-radius:12px}.upload-label{height:150px;padding:8px}.upload-demo{max-height:80px}.upload-text{font-size:10px}.modeling-page .form-row{flex-direction:column;align-items:stretch;gap:12px}.modeling-page .submit-btn{width:100%;justify-content:center}}:root{--fb-primary: #6366f1;--fb-primary-hover: #4f46e5;--fb-secondary: #8b5cf6;--fb-accent: #f43f5e;--fb-success: #10b981;--fb-warning: #f59e0b;--fb-bg-dark: #0f172a;--fb-bg-card: #1e293b;--fb-bg-card-hover: #334155;--fb-text-primary: #f8fafc;--fb-text-secondary: #94a3b8;--fb-border: #334155;--fb-glow: rgba(99, 102, 241, .4)}.face-builder-container{min-height:100vh;background:linear-gradient(135deg,var(--fb-bg-dark) 0%,#1a1a2e 50%,#16213e 100%);color:var(--fb-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.face-builder-header{padding:2rem;text-align:center;background:linear-gradient(180deg,rgba(99,102,241,.1) 0%,transparent 100%);border-bottom:1px solid var(--fb-border)}.face-builder-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.face-builder-header p{color:var(--fb-text-secondary);font-size:1.1rem;margin:0}.face-builder-main{display:grid;grid-template-columns:420px 1fr;gap:1.5rem;padding:1.5rem;max-width:1600px;margin:0 auto;min-height:calc(100vh - 200px)}.control-panel{background:var(--fb-bg-card);border-radius:1rem;border:1px solid var(--fb-border);overflow:hidden;display:flex;flex-direction:column}.step-indicator{display:flex;padding:1.5rem;background:#6366f10d;border-bottom:1px solid var(--fb-border)}.step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.step:after{content:"";position:absolute;top:15px;left:calc(50% + 20px);width:calc(100% - 40px);height:2px;background:var(--fb-border)}.step:last-child:after{display:none}.step.completed:after{background:var(--fb-success)}.step-number{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;background:var(--fb-border);color:var(--fb-text-secondary);transition:all .3s ease;position:relative;z-index:1}.step.active .step-number{background:var(--fb-primary);color:#fff;box-shadow:0 0 20px var(--fb-glow)}.step.completed .step-number{background:var(--fb-success);color:#fff}.step-label{font-size:.75rem;color:var(--fb-text-secondary);text-align:center}.step.active .step-label{color:var(--fb-text-primary);font-weight:500}.upload-section{padding:2rem;flex:1;display:flex;align-items:center;justify-content:center}.upload-area{width:100%}.upload-label{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;border:2px dashed var(--fb-border);border-radius:1rem;cursor:pointer;transition:all .3s ease;background:#6366f105}.upload-label:hover{border-color:var(--fb-primary);background:#6366f114}.upload-icon{font-size:3rem}.upload-label span{color:var(--fb-text-secondary)}.upload-hint{font-size:.875rem;opacity:.7}.annotate-section{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto}.annotate-header{display:flex;justify-content:space-between;align-items:center}.annotate-header h3{margin:0;font-size:1.1rem;font-weight:600}.auto-detect-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--fb-secondary),var(--fb-primary));border:none;border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.auto-detect-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #8b5cf666}.auto-detect-btn:disabled{opacity:.6;cursor:not-allowed}.image-annotator{position:relative;width:100%;aspect-ratio:1;border-radius:.75rem;overflow:hidden;background:#000;cursor:crosshair}.image-annotator img{width:100%;height:100%;object-fit:contain}.image-landmark{position:absolute;transform:translate(-50%,-50%);cursor:grab;z-index:10}.image-landmark:active{cursor:grabbing}.landmark-dot{width:12px;height:12px;background:var(--fb-accent);border:2px solid white;border-radius:50%;box-shadow:0 2px 8px #f43f5e80;transition:transform .2s ease}.image-landmark:hover .landmark-dot,.image-landmark.active .landmark-dot{transform:scale(1.3)}.landmark-name{position:absolute;left:16px;top:50%;transform:translateY(-50%);background:#000c;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;white-space:nowrap;opacity:0;transition:opacity .2s ease;pointer-events:none}.image-landmark:hover .landmark-name,.image-landmark.active .landmark-name{opacity:1}.landmark-list{margin-top:1rem}.landmark-list h4{margin:0 0 .75rem;font-size:.875rem;color:var(--fb-text-secondary)}.landmark-grid{display:flex;flex-wrap:wrap;gap:.5rem}.landmark-btn{padding:.35rem .75rem;background:var(--fb-bg-card-hover);border:1px solid var(--fb-border);border-radius:.5rem;color:var(--fb-text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s ease}.landmark-btn:hover{border-color:var(--fb-primary);color:var(--fb-text-primary)}.landmark-btn.active{background:var(--fb-primary);border-color:var(--fb-primary);color:#fff}.action-buttons{display:flex;gap:1rem;margin-top:auto;padding-top:1rem}.primary-btn,.secondary-btn{flex:1;padding:.875rem 1.5rem;border-radius:.75rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.primary-btn{background:linear-gradient(135deg,var(--fb-primary),var(--fb-secondary));color:#fff}.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.secondary-btn{background:var(--fb-bg-card-hover);color:var(--fb-text-primary);border:1px solid var(--fb-border)}.secondary-btn:hover{background:var(--fb-border)}.project-section{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;flex:1}.project-section h3{margin:0;font-size:1.25rem;color:var(--fb-success)}.texture-preview{border-radius:.75rem;overflow:hidden;background:#000;border:1px solid var(--fb-border)}.texture-preview img{width:100%;height:auto;display:block}.view-controls{display:flex;gap:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--fb-text-secondary);font-size:.9rem}.checkbox-label input{width:18px;height:18px;accent-color:var(--fb-primary);cursor:pointer}.preview-panel{background:var(--fb-bg-card);border-radius:1rem;border:1px solid var(--fb-border);overflow:hidden;display:flex;flex-direction:column}.canvas-container{flex:1;min-height:500px;background:linear-gradient(135deg,#1a1a2e,#0f0f1a)}.preview-info{display:flex;justify-content:space-between;padding:1rem 1.5rem;background:#0000004d;border-top:1px solid var(--fb-border);color:var(--fb-text-secondary);font-size:.85rem}.loading-indicator{padding:1rem 2rem;background:#000c;border-radius:.5rem;color:#fff;font-size:.9rem}.landmark-label{background:#000c;color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;white-space:nowrap;pointer-events:none}.face-builder-footer{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;padding:2rem;background:var(--fb-bg-card);border-top:1px solid var(--fb-border)}.info-card{padding:1.5rem;background:#6366f10d;border-radius:1rem;border:1px solid var(--fb-border)}.info-card h4{margin:0 0 1rem;font-size:1rem;color:var(--fb-text-primary)}.info-card ol,.info-card ul{margin:0;padding-left:1.25rem;color:var(--fb-text-secondary);line-height:1.8}.info-card p{margin:0 0 .75rem;color:var(--fb-text-secondary)}@media (max-width: 1024px){.face-builder-main{grid-template-columns:1fr}.canvas-container{min-height:400px}}@media (max-width: 640px){.face-builder-header h1{font-size:1.75rem}.step-indicator{padding:1rem}.step-label{font-size:.65rem}.action-buttons{flex-direction:column}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.auto-detect-btn:disabled{animation:pulse 1.5s ease-in-out infinite}:root{--primary-gold: #c5a059;--primary-gold-light: #e6c996;--medical-teal: #4db6ac;--bg-dark: #0a0c12;--panel-bg: rgba(22, 28, 40, .94);--border-color: rgba(197, 160, 89, .3);--text-main: #e0e0e0;--text-muted: #909090;--danger: #ff5252;--success: #66bb6a}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:Inter,PingFang SC,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-dark);color:var(--text-main);overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c5a0594d;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#c5a05999}.btn-primary{padding:10px 20px;border-radius:8px;border:1px solid var(--primary-gold);background:#c5a0591a;color:var(--primary-gold);font-weight:600;cursor:pointer;transition:all .2s;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{background:var(--primary-gold);color:#111;box-shadow:0 0 15px #c5a0594d}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{padding:8px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:var(--text-main);font-size:12px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#ffffff1a;border-color:var(--text-main)}.btn-medical{background:linear-gradient(135deg,var(--medical-teal) 0%,#00897b 100%);border:none;color:#fff}.btn-medical:hover{background:linear-gradient(135deg,#00897b,#00796b)}.form-input{width:100%;padding:10px 14px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:13px;transition:all .2s}.form-input:focus{outline:none;border-color:var(--primary-gold);background:#0006}.form-input::placeholder{color:var(--text-muted)}.card{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:16px;padding:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease}.slide-in{animation:slideIn .3s ease}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--primary-gold);border-radius:50%;animation:spin .8s linear infinite}
