@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg: #0a0e1a;--glass: rgba(20, 28, 50, .5);--glass-border: rgba(100, 160, 255, .12);--accent: #3b82f6;--accent-glow: rgba(59, 130, 246, .4);--cyan: #06b6d4;--text: #e2e8f0;--text-dim: #64748b;--danger: #ef4444;--success: #22c55e;--warning: #fbbf24;--radius: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}.app{min-height:100vh;position:relative}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(rgba(100,160,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(100,160,255,.03) 1px,transparent 1px);background-size:60px 60px}.bg-glow{position:fixed;border-radius:50%;filter:blur(120px);z-index:0;opacity:.4}.bg-glow-1{width:500px;height:500px;top:-150px;right:-100px;background:#3b82f626}.bg-glow-2{width:400px;height:400px;bottom:-100px;left:-80px;background:#06b6d41f}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.auth-wrapper{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.auth-card{width:100%;max-width:400px;padding:40px 36px}.logo{text-align:center;margin-bottom:32px}.logo-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--accent),var(--cyan));color:#fff;margin-bottom:16px}.logo h1{font-size:24px;font-weight:700}.tagline{color:var(--text-dim);font-size:13px;margin-top:4px}.tabs{position:relative;display:flex;background:#ffffff0a;border-radius:8px;padding:3px;margin-bottom:28px}.tabs button{flex:1;padding:8px;background:none;border:none;color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;transition:color .25s;position:relative;z-index:1}.tabs button.active{color:#fff}.tab-indicator{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);background:var(--accent);border-radius:6px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.tab-indicator.right{transform:translate(100%)}.auth-form{display:flex;flex-direction:column;gap:18px}.field label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.field select{cursor:pointer}.field input::placeholder,.field textarea::placeholder{color:var(--text-dim)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.captcha-row{display:flex;gap:10px;align-items:center}.captcha-row input{flex:1}.captcha-img{height:40px;border-radius:8px;cursor:pointer;border:1px solid rgba(255,255,255,.1);background:#fff}.field textarea{resize:vertical;min-height:100px}.field-hint{font-size:12px;color:var(--text-dim);line-height:1.6;margin-top:-6px}.field-hint.hint-below{margin-top:8px;margin-bottom:2px}.specify-screens{display:flex;flex-direction:column;gap:12px}.specify-item label{margin-bottom:6px}.specify-item input{width:100%;padding:9px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text);font-size:13.5px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.specify-item input::placeholder{color:var(--text-dim)}.specify-item input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.specify-item input:disabled{opacity:.5}.platform-select{position:relative}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}.select-trigger:hover:not(:disabled){background:#ffffff12;border-color:#ffffff29}.select-trigger:focus-visible,.select-trigger.open{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.select-trigger:disabled{opacity:.5;cursor:not-allowed}.select-trigger .chev{color:var(--text-dim);transition:transform .2s,color .2s;flex-shrink:0}.select-trigger:hover .chev,.select-trigger.open .chev{color:var(--text)}.select-trigger.open .chev{transform:rotate(180deg);color:var(--accent)}.select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;padding:5px;background:#121220fa;border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 12px 36px #0000008c;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);max-height:340px;overflow-y:auto}.select-hint{padding:8px 12px;border-radius:7px;background:var(--accent);color:#fff;font-size:13px;font-weight:500;text-align:center}.select-group{padding:10px 12px 4px;color:var(--text);font-size:12.5px;font-weight:700;letter-spacing:.5px}.select-trigger .placeholder{color:var(--text-dim)}.select-menu button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;background:none;border:none;border-radius:7px;color:var(--text-dim);font-size:13.5px;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s,color .15s}.select-menu button:hover{background:#ffffff0f;color:var(--text)}.select-menu button.active{background:linear-gradient(135deg,rgba(var(--accent-rgb, 59,130,246),.18),transparent);color:var(--accent);font-weight:600}.select-menu button svg{flex-shrink:0}.select-menu::-webkit-scrollbar{width:6px}.select-menu::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 20px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent),#2563eb);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s,opacity .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-sm{width:auto;padding:7px 16px;font-size:13px}.btn-ghost{padding:5px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-dim);font-size:12px;cursor:pointer;transition:background .2s,color .2s}.btn-ghost:hover:not(:disabled){background:#ffffff1a;color:var(--text)}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border:1px solid var(--glass-border);border-radius:8px;color:var(--text-dim);font-size:13px;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.btn-outline:hover:not(:disabled){background:#ffffff0d;border-color:var(--accent);color:var(--text)}.btn-outline:disabled{opacity:.45;cursor:not-allowed}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:#ffffff0a;color:var(--text-dim);cursor:pointer;transition:background .2s,color .2s}.btn-icon:hover{background:#ffffff1a;color:var(--text)}.btn-icon:disabled{opacity:.45;cursor:not-allowed}.btn-icon.danger:hover{background:#ef444426;color:var(--danger)}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.gen-notice{margin-top:8px;font-size:12px;line-height:1.6;text-align:center;color:var(--warning);opacity:.85}.gal-notice{margin:-4px 0 10px;padding:7px 8px;border-radius:6px;font-size:11px;line-height:1.55;color:var(--warning);background:#fbbf2414;border:1px solid rgba(251,191,36,.18)}.main-wrapper{position:relative;z-index:1;min-height:100vh}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;margin:16px 20px;border-radius:12px;gap:16px;flex-wrap:wrap;position:relative;z-index:50}.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--accent);flex-shrink:0}.nav-tabs{display:flex;gap:2px;background:#ffffff0a;border-radius:8px;padding:3px}.nav-group{position:relative}.nav-group-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:none;border:none;color:var(--text-dim);font-size:12px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s;white-space:nowrap}.nav-group-btn.active{background:var(--accent);color:#fff}.nav-group-btn:hover:not(.active){color:var(--text)}.nav-dropdown{display:none;position:absolute;top:100%;left:0;background:#141423fa;border:1px solid var(--glass-border);border-radius:8px;padding:4px;min-width:160px;z-index:9999;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000080}.nav-dropdown:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.nav-dropdown.show,.nav-group:hover .nav-dropdown{display:block}.nav-dropdown button{display:block;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-dim);font-size:12px;text-align:left;cursor:pointer;border-radius:6px;transition:all .15s}.nav-dropdown button:hover{background:#ffffff0f;color:var(--text)}.nav-dropdown button.active{color:var(--cyan)}.nav-sub-group{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06)}.nav-sub-group:last-child{border-bottom:none}.nav-sub-label{display:flex;align-items:center;gap:6px;padding:6px 12px 4px;font-size:11px;font-weight:600;color:var(--text);opacity:.7;text-transform:uppercase;letter-spacing:.5px}.nav-dropdown .nav-sub-group button{padding-left:32px}.user-area{display:flex;align-items:center;gap:10px;flex-shrink:0}.recharge-btn{gap:4px;padding:5px 14px;font-size:12px}.recharge-modal{width:520px;max-width:95vw}.recharge-tip{color:var(--text-dim);font-size:13px;margin:-6px 0 16px}.recharge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.recharge-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 10px 14px;border:1px solid var(--glass-border);border-radius:12px;background:#ffffff08;color:var(--text)}.recharge-card.popular{border-color:#fbbf2473}.recharge-bonus{position:absolute;top:-9px;right:-6px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(135deg,#f59e0b,#ef4444)}.recharge-price{font-size:22px;font-weight:700}.recharge-points{font-size:13px;font-weight:600;color:var(--warning)}.recharge-base{font-size:11px;color:var(--text-dim)}.points-badge{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:600;color:var(--warning);background:#fbbf2414;border:1px solid rgba(251,191,36,.2)}.points-badge svg{stroke:var(--warning)}.role-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{color:var(--danger);background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.role-badge.user{color:var(--cyan);background:#06b6d41a;border:1px solid rgba(6,182,212,.2)}.avatar{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--cyan));display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff}.username{font-size:13px;color:var(--text-dim)}.content{max-width:900px;margin:0 auto;padding:20px 20px 60px;position:relative;z-index:1}.content-wide{max-width:none;margin:0;padding-left:24px;padding-right:24px}.hero{margin-bottom:28px}.demo-card{padding:20px;margin-bottom:24px;border-radius:14px}.demo-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;margin-bottom:16px;color:var(--text-primary);transition:margin .25s}.demo-header.no-mb{margin-bottom:0}.demo-toggle{margin-left:auto;transition:transform .25s;opacity:.5}.demo-toggle.open{transform:rotate(180deg)}.demo-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.demo-item label{display:block;font-size:12px;opacity:.6;margin-bottom:6px}.demo-item video,.demo-item img{width:100%;border-radius:8px;display:block;background:#000}.demo-item video{aspect-ratio:9/16;object-fit:contain}.demo-item img{aspect-ratio:9/16;object-fit:cover}.demo-tip{font-size:13px;opacity:.5;margin-top:12px;text-align:center}.demo-grid-i2v{grid-template-columns:1fr 1.5fr}.demo-grid-i2v .demo-item img{aspect-ratio:9/16;object-fit:contain;max-height:62vh}.demo-grid-i2v .demo-item video{max-height:62vh;object-fit:contain}.demo-prompt-text{padding:16px;border-radius:8px;font-size:15px;color:var(--text);display:flex;align-items:center;justify-content:center;min-height:200px;text-align:center}@media(max-width:768px){.demo-grid,.demo-grid-i2v{grid-template-columns:1fr}}.hero h2{font-size:26px;font-weight:700;letter-spacing:-.5px}.hero p{color:var(--text-dim);font-size:14px;margin-top:4px}.progress-card{padding:20px 24px;margin-top:20px}.progress-bar{height:3px;background:#ffffff0f;border-radius:4px;overflow:hidden;margin-bottom:14px}.progress-bar-fill{height:100%;width:30%;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--cyan));animation:progress-slide 2s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-info{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim)}.progress-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.result-card{padding:24px;margin-top:20px}.result-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--success);margin-bottom:16px}.result-img-wrap{border-radius:8px;overflow:hidden;border:1px solid var(--glass-border);margin-bottom:16px}.result-img-wrap img{width:100%;display:block}.outfit-result{margin-top:8px}.outfit-result .result-img-wrap{display:flex;justify-content:center;background:#0000001f}.outfit-result .result-img-wrap img{width:auto;max-width:100%;max-height:calc(100vh - 250px);object-fit:contain;margin:0 auto}.result-video-wrap{display:flex;justify-content:center;background:#0000001f}.result-video-wrap video{width:auto;max-width:100%;max-height:min(480px,62vh);border-radius:8px}.result-text-wrap{border-radius:8px;border:1px solid var(--glass-border);margin-bottom:16px;padding:16px;background:#0003;max-height:400px;overflow-y:auto}.result-text{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13px;line-height:1.6;color:var(--text);margin:0}.upload-preview{max-width:100%;max-height:260px;object-fit:contain;border-radius:6px}.input-row{display:flex;gap:16px;align-items:stretch}.input-row .input-group{flex:1;min-width:0;display:flex;flex-direction:column}.gen-area{display:flex;flex-direction:column;gap:16px}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-size:12px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.upload-zone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;max-height:300px;border:2px dashed rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden;padding:16px;text-align:center}.upload-zone:hover{border-color:var(--accent);background:#06b6d40a}.upload-zone.has-image{border-style:solid;border-color:var(--accent);padding:8px}.prompt-textarea{width:100%;min-height:180px;flex:1;padding:14px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--text);font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;transition:border-color .2s,box-shadow .2s}.prompt-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.prompt-textarea::placeholder{color:var(--text-dim)}.duration-picker{display:flex;gap:6px;padding:6px;border-radius:10px}.duration-picker button{flex:1;padding:8px 0;background:none;border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.duration-picker button:hover{background:#ffffff0f;color:var(--text)}.duration-picker button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.error-msg{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#f87171;font-size:13px}.detail-layout{display:flex;gap:20px;align-items:flex-start}.side-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.side-right .demo-card{margin-bottom:0}.side-right .result-card{margin-top:0}.detail-form{flex:0 0 440px;padding:22px;display:flex;flex-direction:column;gap:16px;position:sticky;top:20px}.detail-form .field{margin:0}.detail-small-ta{min-height:60px;font-size:13px}.manual-ta{min-height:300px;font-size:13px;line-height:1.75}.ratio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ratio-grid.cols3{grid-template-columns:repeat(3,1fr)}.count-grid{grid-template-columns:repeat(5,auto);justify-content:start;gap:5px}.count-grid button{width:auto;min-width:40px;padding:4px 7px;font-size:11.5px}.cloth-style-input{width:100%;margin-top:8px}.cloth-history{flex:0 0 240px;width:240px;padding:14px;position:sticky;top:20px;display:flex;flex-direction:column;max-height:calc(100vh - 40px)}.gallery-panel{flex:0 0 330px;width:330px;padding:14px;position:sticky;top:20px;display:flex;flex-direction:column;max-height:calc(100vh - 40px)}.gallery-panel .gal-head{display:flex;align-items:center;gap:7px;font-weight:600;font-size:14px;margin-bottom:12px}.gallery-panel .gal-head .btn-ghost{margin-left:auto;padding:4px 10px;font-size:12px;display:inline-flex;align-items:center;gap:4px}.gallery-panel .gal-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow-y:auto;padding-right:2px}.gallery-panel .gal-item{position:relative;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;cursor:pointer;background:#000;border:1px solid var(--glass-border);transition:border-color .15s,transform .15s}.gallery-panel .gal-item:hover{border-color:#64a0ff66;transform:translateY(-1px)}.gallery-panel .gal-item img,.gallery-panel .gal-item video{width:100%;height:100%;object-fit:cover;display:block}.gallery-panel .gal-badge{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#00000047;pointer-events:none;opacity:.9}.gallery-panel .gal-time{position:absolute;left:0;right:0;bottom:0;font-size:10px;padding:10px 4px 3px;text-align:center;background:linear-gradient(transparent,#000000bf);color:#fff;opacity:0;transition:opacity .15s;pointer-events:none}.gallery-panel .gal-item:hover .gal-time{opacity:1}.gal-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#04070ee6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center}.gal-lightbox img,.gal-lightbox video{max-width:88vw;max-height:86vh;object-fit:contain;border-radius:8px;background:#000;box-shadow:0 24px 70px #000000a6}.lb-close{position:absolute;top:18px;right:22px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff1a;color:#e2e8f0;cursor:pointer;transition:background .15s}.lb-close:hover{background:#ffffff38}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;border-radius:50%;background:#ffffff1f;color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-nav:hover{background:#ffffff40}.lb-nav:disabled{opacity:.3;cursor:default}.lb-nav:disabled:hover{background:#ffffff1f}.lb-prev{left:22px}.lb-next{right:22px}.lb-bar{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;gap:14px;align-items:center;padding:7px 16px;border-radius:20px;background:#0000008c;color:#cbd5e1;font-size:12px;white-space:nowrap}.lb-bar a{color:#9ecbff;text-decoration:none}.lb-bar a:hover{text-decoration:underline}.lb-bar .lb-download{display:inline-flex;align-items:center;gap:4px;padding:0;background:none;border:none;color:#9ecbff;font-size:12px;font-family:inherit;cursor:pointer}.lb-bar .lb-download:hover{text-decoration:underline}.gallery-panel .gal-empty{grid-column:1 / -1;text-align:center;font-size:12px;color:var(--text-dim);padding:24px 4px}.canvas-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.poster-wrap{display:flex;flex-direction:column;align-items:center}.poster-frame{position:relative;width:100%;max-width:560px;margin:0 auto;border-radius:10px;overflow:hidden;border:1px solid var(--glass-border)}.poster-frame img{width:100%;display:block;background:#000}.poster-zoom{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:999px;background:#000000a6;color:#fff;font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s}.poster-zoom:hover{background:#000000d9}.cloth-history .ch-head{font-weight:600;font-size:14px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.cloth-history .ch-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:2px}.ch-item{border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s;background:#ffffff05}.ch-item:hover{border-color:#64a0ff59}.ch-item.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}.ch-item img{width:100%;height:150px;object-fit:cover;display:block;background:#000}.ch-item .ch-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:11px}.ch-item .ch-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ratio-grid button{padding:7px 0;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .15s}.ratio-grid button:hover:not(:disabled){background:#ffffff14;color:var(--text)}.ratio-grid button.active{background:var(--accent);border-color:var(--accent);color:#fff}.ratio-grid button:disabled{opacity:.5;cursor:not-allowed}.ref-thumbs{display:flex;flex-wrap:wrap;gap:8px;padding:10px;min-height:76px;border:2px dashed rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}.ref-thumbs:hover{border-color:var(--accent);background:#06b6d40a}.ref-thumb{position:relative;width:56px;height:56px;border-radius:8px;overflow:hidden;border:1px solid var(--glass-border)}.ref-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ref-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#000000b3;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.ref-remove:hover{background:var(--danger)}.ref-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:56px;border-radius:8px;border:1px dashed rgba(255,255,255,.15);color:var(--text-dim);font-size:10px}.ref-add.wide{width:auto;min-width:170px;flex:1;height:auto;min-height:56px;padding:8px 12px;text-align:center}.char-count{float:right;font-size:11px;font-weight:400;color:var(--text-dim)}.ref-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.detail-canvas{flex:1;min-height:520px;padding:22px;display:flex;flex-direction:column}.detail-loading{padding:8px 0 20px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.detail-item{border-radius:10px;overflow:hidden;border:1px solid var(--glass-border);background:#0003}.detail-item img{width:100%;display:block}.detail-item-actions{display:flex;gap:8px;padding:10px}.detail-item-actions .btn-ghost,.detail-item-actions a.btn-ghost{flex:1;text-align:center;text-decoration:none}.detail-images-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.detail-images-head .dim{font-size:11px;color:var(--text-dim);margin-right:auto}.seg-toggle{display:inline-flex;gap:3px;padding:3px;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:9px}.seg-toggle button{font-size:12px;font-family:inherit;padding:5px 13px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .15s,color .15s}.seg-toggle button.active{background:var(--accent);color:#fff}.seg-toggle button:disabled{opacity:.5;cursor:not-allowed}.detail-stitch{max-width:480px;width:100%;margin:0 auto;border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;background:#ffffff08}.stitch-seg{position:relative;line-height:0}.stitch-seg+.stitch-seg{border-top:1px dashed rgba(100,160,255,.16)}.stitch-seg img{width:100%;display:block}.stitch-seg-actions{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:18px 10px 8px;background:linear-gradient(transparent,#000000b8);opacity:0;transition:opacity .15s;line-height:normal}.stitch-seg:hover .stitch-seg-actions{opacity:1}.stitch-seg-no{margin-right:auto;color:#fff;font-size:11px}.stitch-seg-actions .btn-ghost,.stitch-seg-actions a.btn-ghost{color:#fff;background:#0006;text-decoration:none}.detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-dim);font-size:13px;text-align:center;padding:40px 20px}.detail-copy{margin-bottom:16px;border:1px solid var(--glass-border);border-radius:10px;background:#0000002e;overflow:hidden}.detail-copy-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--glass-border)}.detail-copy-title{font-weight:600;font-size:13px}.detail-copy-head .btn-sm{margin-left:auto;padding:5px 14px}.detail-copy-body{padding:14px 16px;font-size:13.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word;color:var(--text);max-height:420px;overflow-y:auto}.detail-prompts{display:flex;flex-direction:column;gap:10px;padding:12px 14px;max-height:480px;overflow-y:auto}.detail-prompt-item{border:1px solid var(--glass-border);border-radius:8px;background:#00000029}.detail-prompt-head{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--glass-border)}.detail-prompt-head .btn-sm{margin-left:auto;padding:4px 12px}.detail-prompt-body{padding:10px 12px;font-size:12.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word;color:var(--text-dim);max-height:180px;overflow-y:auto}@media(max-width:960px){.detail-layout{flex-direction:column}.detail-form{flex:none;width:100%;position:static}.detail-canvas{width:100%;min-height:320px}.cloth-history,.gallery-panel{flex:none;width:100%;position:static;max-height:none}}.admin-card{padding:24px}.admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:10px 12px;color:var(--text-dim);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--glass-border)}.data-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.03)}.data-table tr:hover td{background:#ffffff05}.data-table .actions{display:flex;gap:4px}.dim{color:var(--text-dim)}.points-cell{color:var(--warning);font-weight:600}.role-tag{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.role-tag.admin{color:var(--danger);background:#ef44441a}.role-tag.user{color:var(--cyan);background:#06b6d41a}.perm-code{padding:2px 6px;border-radius:4px;background:#ffffff0f;font-size:12px;font-family:SF Mono,monospace}.perm-list{display:flex;flex-wrap:wrap;gap:4px}.perm-tag{padding:2px 8px;border-radius:4px;font-size:11px;background:#3b82f61a;color:var(--accent)}.etag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.6;white-space:nowrap;border:1px solid transparent}.etag-default{color:var(--text);background:#ffffff12;border-color:#ffffff1f}.etag-success{color:var(--success);background:#22c55e1a;border-color:#22c55e40}.etag-danger{color:var(--danger);background:#ef44441a;border-color:#ef444440}.etag-info{color:var(--cyan);background:#06b6d41a;border-color:#06b6d440}.data-table tbody tr:nth-child(2n) td{background:#ffffff05}.empty-state{padding:36px 12px;text-align:center;color:var(--text-dim);font-size:13px}.points-add{color:var(--success);font-weight:600}.points-sub{color:var(--danger);font-weight:600}.config-form{max-width:600px}.config-form.cost-form{max-width:none}.cost-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}.cost-item{margin-bottom:0}.unit-tag{display:inline-block;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600;color:var(--accent);background:rgba(var(--accent-rgb, 59, 130, 246),.14);border-radius:20px;vertical-align:middle}.config-item{margin-bottom:24px}.config-item label{display:block;font-size:14px;font-weight:500;margin-bottom:4px}.config-desc{font-size:12px;color:var(--text-dim);margin-bottom:10px}.config-input-row{display:flex;gap:10px}.config-input{flex:1;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text);font-size:13px;font-family:SF Mono,monospace}.config-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:100%;max-width:440px;padding:28px}.modal h3{font-size:18px;font-weight:600;margin-bottom:20px}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.perm-checklist{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;margin-bottom:16px}.perm-check{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s;font-size:13px}.perm-check:hover{background:#ffffff0a}.perm-check input[type=checkbox]{accent-color:var(--accent)}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:200;padding:10px 24px;border-radius:8px;font-size:13px;font-weight:500}.toast.success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:var(--success)}.toast.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--danger)}.fade-enter-active,.fade-leave-active{transition:opacity .25s,transform .25s}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(6px)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.top-bar{padding:10px 14px;margin:10px;gap:8px}.nav-tabs{order:3;width:100%;flex-wrap:wrap;justify-content:center}.nav-group-btn{padding:9px 11px;font-size:13px}.nav-dropdown{min-width:150px;max-width:calc(100vw - 24px)}.nav-group:last-child .nav-dropdown{left:auto;right:0}.nav-dropdown button{padding:11px 14px;font-size:14px}.nav-dropdown .nav-sub-group button{padding-left:34px}.user-area{flex-wrap:wrap;justify-content:flex-end;gap:7px}.username,.role-badge{display:none}.recharge-btn{padding:7px 14px}.content{padding:14px 12px 60px}.content-wide{padding-left:12px;padding-right:12px}.admin-card{padding:16px}.demo-card{padding:14px}.detail-form{padding:16px}.hero{margin-bottom:18px}.recharge-grid{grid-template-columns:repeat(2,1fr)}.count-grid{grid-template-columns:repeat(auto-fit,minmax(72px,auto))}.input-row{flex-direction:column;gap:12px}.config-input-row{flex-wrap:wrap}.config-input-row button{min-width:96px}.modal-overlay{padding:12px}.modal{padding:22px 16px;max-height:86vh;overflow-y:auto}.recharge-modal{width:auto;max-width:none}.modal-actions button{flex:1}.btn-icon{width:40px;height:40px}.auth-card{padding:28px 20px}.field input,.field textarea,.captcha-row input,.specify-item input,.prompt-textarea,.config-input,.modal input,.modal textarea{font-size:16px}.toast{max-width:calc(100vw - 32px);width:max-content}.table-wrap{-webkit-overflow-scrolling:touch}.data-table{min-width:640px}}
