:root{color-scheme:dark;--bg-0:#070710;--bg-1:#0c0c17;--bg-2:#13131f;--glass:rgba(255,255,255,0.045);--glass-2:rgba(255,255,255,0.08);--hairline:rgba(255,255,255,0.085);--hairline-2:rgba(255,255,255,0.18);--ink:rgba(255,255,255,0.95);--ink-soft:rgba(255,255,255,0.66);--ink-faint:rgba(255,255,255,0.44);--space-1:0.5rem;--space-2:0.75rem;--space-3:1rem;--space-4:1.5rem;--v1:#8b6cff;--v2:#c04bff;--v3:#ff4d9d;--v4:#2fe6c8;--aurora:linear-gradient(120deg,#8b6cff,#c04bff 34%,#ff4d9d 62%,#2fe6c8);--danger:#ff6b7a;--radius:18px;--radius-sm:12px;--radius-xs:9px;--dur:0.42s;--ease:cubic-bezier(0.22,1,0.36,1);--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 8px 24px rgba(0,0,0,0.35);--shadow-lg:0 24px 64px rgba(0,0,0,0.5);--font-display:"Space Grotesk","Inter",ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;background:var(--bg-0);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;letter-spacing:-.011em;position:relative;overflow-x:hidden}.auth-brand,.brand,.hero-canvas h2,.stage-head h1{font-family:var(--font-display)}body:before{content:"";position:fixed;inset:-10%;z-index:0;background:radial-gradient(40% 36% at var(--mx,12%) var(--my,8%),rgba(139,108,255,.3),transparent 60%),radial-gradient(40% 34% at 96% 12%,rgba(255,77,157,.2),transparent 60%),radial-gradient(46% 44% at 82% 98%,rgba(47,230,200,.18),transparent 62%);pointer-events:none;transition:background .6s var(--ease);animation:drift 24s ease-in-out infinite alternate}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(1%,-2.5%,0) scale(1.08)}}body:after{content:"";position:fixed;inset:0;z-index:0;opacity:.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.app-shell{z-index:1;min-height:100vh;flex-direction:column}.app-shell,.topbar{position:relative;display:flex}.topbar{align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:1.05rem clamp(1.1rem,3vw,2.6rem);border-bottom:1px solid var(--hairline);background:rgba(6,5,9,.6);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--aurora);opacity:.45}.brand{display:flex;align-items:baseline;gap:.65rem;font-size:1.55rem;font-weight:700;letter-spacing:-.035em}.brand .mark{background:var(--aurora);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 6s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.brand .sub{font-size:.7rem;font-weight:400;color:var(--ink-faint);letter-spacing:.06em}.modal-nav{display:flex;gap:.15rem;padding:.25rem;border:1px solid var(--hairline);border-radius:999px;background:var(--glass);max-width:100%;overflow-x:auto;scrollbar-width:none}.modal-nav::-webkit-scrollbar{display:none}.modal-nav button{font:inherit;font-size:.83rem;color:var(--ink-soft);background:transparent;border:none;border-radius:999px;padding:.42rem .85rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.nav-ico{flex-shrink:0;opacity:.85}.modal-nav button:hover:not(:disabled){color:var(--ink)}.modal-nav button.active{color:#07060c;background:var(--aurora);font-weight:600;box-shadow:0 4px 18px rgba(177,75,255,.4)}.modal-nav button.active .nav-ico{opacity:1}.modal-nav .soon{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);border:1px solid var(--hairline-2);border-radius:999px;padding:.05rem .36rem}.modal-nav button:disabled{cursor:not-allowed;opacity:.65}.status-pill{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--ink-soft);padding:.42rem .9rem;border:1px solid var(--hairline);border-radius:999px;background:var(--glass)}.status-pill .led{width:8px;height:8px;border-radius:50%;background:var(--ink-faint);transition:background var(--dur) var(--ease)}.status-pill.is-busy .led{background:var(--v4);box-shadow:0 0 12px var(--v4);animation:pulse 1.1s ease-in-out infinite}.status-pill.is-error .led{background:var(--danger);box-shadow:0 0 12px var(--danger)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.studio{flex:1 1;width:100%;max-width:1500px;margin:0 auto;display:grid;grid-template-columns:minmax(340px,410px) 1fr;grid-gap:clamp(1.1rem,2vw,1.8rem);gap:clamp(1.1rem,2vw,1.8rem);padding:clamp(1.1rem,2vw,1.8rem);align-items:start}@media (max-width:920px){.studio{grid-template-columns:1fr}}.panel{position:-webkit-sticky;position:sticky;top:clamp(1.1rem,2vw,1.8rem);border:1px solid var(--hairline);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));backdrop-filter:blur(26px) saturate(120%);-webkit-backdrop-filter:blur(26px) saturate(120%);padding:clamp(1.2rem,1.6vw,1.7rem);display:flex;flex-direction:column;gap:1.15rem;box-shadow:var(--shadow-lg),inset 0 1px 0 rgba(255,255,255,.07)}.panel-head{display:flex;align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;letter-spacing:.01em}.panel-head .accent{width:5px;height:20px;border-radius:3px;background:var(--aurora)}.stage{gap:1.2rem;min-width:0}.field,.stage{display:flex;flex-direction:column}.field{gap:.45rem}.field>label{font-size:.8rem;font-weight:500;color:var(--ink-soft);letter-spacing:0;display:flex;justify-content:space-between;align-items:baseline}.field .hint{font-weight:500;color:var(--v4);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.78rem}input[type=number],input[type=text],select,textarea{font:inherit;font-size:.9rem;color:var(--ink);background:rgba(0,0,0,.22);border:1px solid var(--hairline);border-radius:var(--radius-xs);padding:.62rem .8rem;width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}input[type=number]:hover,input[type=text]:hover,select:hover,textarea:hover{border-color:var(--hairline-2);background:rgba(0,0,0,.3)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2rem;cursor:pointer}select option{background:var(--bg-2);color:var(--ink)}textarea{resize:vertical;min-height:5rem;line-height:1.55}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(139,108,255,.85);background:rgba(0,0,0,.32);box-shadow:0 0 0 3.5px rgba(139,108,255,.16),0 0 18px rgba(139,108,255,.12)}.row-2{grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.row-2,.seg{display:grid}.seg{grid-template-columns:repeat(4,1fr);grid-gap:.4rem;gap:.4rem}.seg button{font:inherit;font-size:.8rem;color:var(--ink-soft);background:rgba(0,0,0,.3);border:1px solid var(--hairline);border-radius:var(--radius-xs);padding:.5rem .3rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.15rem;transition:all var(--dur) var(--ease)}.seg button .glyph{width:16px;height:16px;border:1.5px solid;border-radius:3px;opacity:.75}.seg button:hover{color:var(--ink);border-color:var(--hairline-2)}.seg button.active{color:var(--ink);border-color:rgba(139,108,255,.8);background:rgba(139,108,255,.12)}.seg-2{grid-template-columns:1fr 1fr;padding:.25rem;border:1px solid var(--hairline);border-radius:999px;background:rgba(0,0,0,.25);gap:.25rem}.seg-2 button{border:none;background:transparent;border-radius:999px;padding:.5rem;flex-direction:row}.seg-2 button.active{color:#07060c;background:var(--aurora);font-weight:600}.dropzone{display:flex;align-items:center;justify-content:center;min-height:9rem;border:1px dashed var(--hairline-2);border-radius:var(--radius-sm);background:rgba(0,0,0,.28);color:var(--ink-faint);font-size:.85rem;cursor:pointer;overflow:hidden;transition:border-color var(--dur) var(--ease)}.dropzone:hover{border-color:rgba(139,108,255,.7)}.dropzone img{width:100%;height:auto;max-height:16rem;object-fit:contain;display:block}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--v1) 0,var(--v2) var(--pct,50%),rgba(255,255,255,.12) var(--pct,50%));cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:none;box-shadow:0 0 0 4px rgba(139,108,255,.32),0 0 16px rgba(192,75,255,.6);-webkit-transition:transform var(--dur) var(--ease);transition:transform var(--dur) var(--ease)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.22)}.generate-btn{position:relative;font:inherit;font-weight:600;font-size:1rem;color:#07060c;background:var(--aurora);background-size:200% 200%;border:none;border-radius:var(--radius-sm);padding:.95rem 1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.02em;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity var(--dur) var(--ease)}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 38px rgba(192,75,255,.5);animation:shimmer 3s ease-in-out infinite}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{opacity:.4;cursor:not-allowed}.progress{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1.1rem;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--glass)}.progress-track{height:6px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.progress-fill{height:100%;background:var(--aurora);background-size:200% 200%;border-radius:999px;animation:shimmer 2.4s ease-in-out infinite;transition:width var(--dur) var(--ease)}.progress-fill.indeterminate{width:38%!important;animation:slide 1.2s ease-in-out infinite,shimmer 2.4s ease-in-out infinite}@keyframes slide{0%{transform:translateX(-120%)}to{transform:translateX(330%)}}.progress-label{font-size:.78rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.alert{border:1px solid rgba(255,107,122,.5);background:rgba(255,107,122,.12);color:#ffc0c6;border-radius:var(--radius-sm);padding:.7rem .85rem;font-size:.85rem}.stage-head{display:flex;align-items:baseline;gap:.7rem}.stage-head h1{margin:0;font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:700;letter-spacing:-.03em}.stage-head h1 .grad{background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}.stage-head .count{margin-left:auto;font-size:.8rem;color:var(--ink-faint);border:1px solid var(--hairline);border-radius:999px;padding:.25rem .8rem}.hero-canvas{position:relative;min-height:clamp(380px,58vh,640px);border:1px solid var(--hairline);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.3));overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;text-align:center;padding:2.5rem}.hero-orb{width:140px;height:140px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.85),transparent 42%),conic-gradient(from 200deg,#8b6cff,#c04bff,#ff4d9d,#2fe6c8,#8b6cff);box-shadow:0 0 70px 6px rgba(192,75,255,.38),inset 0 0 40px rgba(255,255,255,.15);animation:float 7s ease-in-out infinite,hue 12s linear infinite}@keyframes hue{to{filter:hue-rotate(1turn)}}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-16px) scale(1.05)}}.hero-canvas h2{margin:0;font-size:clamp(1.4rem,2.8vw,2rem);font-weight:600;letter-spacing:-.02em}.hero-canvas p{margin:0;max-width:32rem;color:var(--ink-soft);font-size:.96rem}.example-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:34rem;margin-top:.4rem}.chip{font:inherit;font-size:.82rem;color:var(--ink-soft);background:var(--glass);border:1px solid var(--hairline);border-radius:999px;padding:.45rem .95rem;cursor:pointer;transition:all var(--dur) var(--ease)}.chip:hover{color:var(--ink);border-color:rgba(139,108,255,.7);background:rgba(139,108,255,.12);transform:translateY(-2px)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));grid-gap:1.15rem;gap:1.15rem}.shot{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--bg-2);border:1px solid var(--hairline);box-shadow:0 18px 44px rgba(0,0,0,.5);cursor:zoom-in;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease);animation:rise var(--dur) var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.shot:hover{transform:translateY(-6px);border-color:rgba(139,108,255,.45);box-shadow:0 22px 50px rgba(0,0,0,.55),0 0 0 1px rgba(139,108,255,.25)}.shot img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;transition:transform .6s var(--ease)}.shot:hover img{transform:scale(1.06)}.shot-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:flex-end;padding:.6rem;opacity:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 40%);transition:opacity var(--dur) var(--ease)}.shot:hover .shot-overlay{opacity:1}.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.5);border:1px solid var(--hairline-2);color:#fff;text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}.icon-btn:hover{background:rgba(0,0,0,.7);transform:scale(1.1)}.shot .meta{padding:.65rem .75rem .75rem;font-size:.72rem;color:var(--ink-soft);display:flex;flex-direction:column;gap:.2rem;border-top:1px solid var(--hairline)}.shot .meta .prompt{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shot .meta .sub{color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.glb-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;aspect-ratio:1/1;text-decoration:none;background:radial-gradient(60% 60% at 50% 45%,rgba(139,108,255,.22),transparent 70%),var(--bg-2);transition:background var(--dur) var(--ease)}.glb-tile:hover{background:radial-gradient(60% 60% at 50% 45%,rgba(139,108,255,.35),transparent 70%),var(--bg-2)}.glb-badge{font-size:.78rem;font-weight:600;color:#07060c;background:var(--aurora);border-radius:999px;padding:.25rem .7rem}.glb-hint{font-size:.72rem;color:var(--ink-soft)}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(4,3,7,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);animation:fade var(--dur) var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}.lightbox-inner{position:relative;display:flex;flex-direction:column;gap:1rem;max-width:min(92vw,860px);max-height:90vh}.lightbox-inner img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius);border:1px solid var(--hairline-2);box-shadow:var(--shadow-lg)}.lightbox-meta{display:flex;flex-direction:column;gap:.5rem}.lb-prompt{margin:0;color:var(--ink);font-size:.95rem}.lb-sub{margin:0;color:var(--ink-faint);font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lb-actions{display:flex;gap:.6rem;margin-top:.2rem}.btn-ghost{font:inherit;font-size:.85rem;color:var(--ink);background:var(--glass-2);border:1px solid var(--hairline-2);border-radius:999px;padding:.5rem 1.1rem;cursor:pointer;text-decoration:none;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn-ghost:hover{background:rgba(139,108,255,.18);transform:translateY(-1px)}.lightbox-close{position:absolute;top:-.5rem;right:-.5rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--hairline-2);background:rgba(0,0,0,.6);color:#fff;font-size:1rem;cursor:pointer;transition:background var(--dur) var(--ease)}.lightbox-close:hover{background:rgba(0,0,0,.85)}.splash{position:relative;z-index:1;min-height:100vh;justify-content:center}.account,.splash{display:flex;align-items:center}.account{margin-left:auto;gap:.7rem}.account .status-pill{margin-left:0}.user-chip{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;font-size:.82rem;color:var(--ink);max-width:12rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-chip em{font-style:normal;font-size:.68rem;color:var(--v4);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.logout{font:inherit;font-size:.8rem;color:var(--ink-soft);background:var(--glass);border:1px solid var(--hairline);border-radius:999px;padding:.42rem .85rem;cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.logout:hover{color:var(--ink);border-color:var(--hairline-2)}.auth-screen{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:min(100%,400px);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-lg);padding:clamp(1.6rem,4vw,2.4rem);display:flex;flex-direction:column;gap:1rem}.auth-brand{justify-content:center;font-size:2rem}.auth-tagline{margin:-.4rem 0 .6rem;text-align:center;color:var(--ink-faint);font-size:.82rem;letter-spacing:.06em}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:.3rem;gap:.3rem;padding:.25rem;border:1px solid var(--hairline);border-radius:999px;background:rgba(0,0,0,.25)}.auth-tabs button{font:inherit;font-size:.88rem;color:var(--ink-soft);background:transparent;border:none;border-radius:999px;padding:.5rem;cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.auth-tabs button.active{color:#07060c;background:var(--aurora);font-weight:600}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-switch{margin:.2rem 0 0;text-align:center;font-size:.82rem;color:var(--ink-faint)}.auth-switch button{font:inherit;font-size:.82rem;color:var(--v1);background:none;border:none;cursor:pointer;padding:0 .2rem}.auth-switch button:hover{text-decoration:underline}.single-view{width:100%;max-width:1500px;margin:0 auto;padding:clamp(1.1rem,2vw,1.8rem)}.muted{color:var(--ink-faint);font-size:.88rem}.modlib{display:flex;flex-direction:column;gap:1.1rem}.modlib-tabs{display:flex;gap:.3rem;padding:.25rem;border:1px solid var(--hairline);border-radius:999px;background:var(--glass);width:-moz-fit-content;width:fit-content}.modlib-tabs button{font:inherit;font-size:.86rem;color:var(--ink-soft);background:transparent;border:none;border-radius:999px;padding:.45rem 1.1rem;cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.modlib-tabs button:hover{color:var(--ink)}.modlib-tabs button.active{color:#07060c;background:var(--aurora);font-weight:600}.modlib-search{display:flex;gap:.6rem}.modlib-search input{flex:1 1;font:inherit;color:var(--ink);background:rgba(0,0,0,.3);border:1px solid var(--hairline);border-radius:var(--radius-xs);padding:.66rem .9rem}.modlib-search input:focus{outline:none;border-color:rgba(139,108,255,.75);box-shadow:0 0 0 3px rgba(139,108,255,.2)}.type-chips{display:flex;flex-wrap:wrap;gap:.45rem}.type-chips button{font:inherit;font-size:.8rem;color:var(--ink-soft);background:var(--glass);border:1px solid var(--hairline);border-radius:999px;padding:.4rem .9rem;cursor:pointer;transition:all var(--dur) var(--ease)}.type-chips button.active{color:var(--ink);border-color:rgba(139,108,255,.8);background:rgba(139,108,255,.14)}.local-section h3{margin:0 0 .6rem;font-size:.95rem;font-weight:600;color:var(--ink);display:flex;align-items:baseline;gap:.5rem}.local-section h3 span{font-size:.78rem;color:var(--v4);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.local-section{margin-bottom:.4rem}.pill-wrap{display:flex;flex-wrap:wrap;gap:.5rem}.model-pill{font-size:.8rem;color:var(--ink-soft);background:var(--glass);border:1px solid var(--hairline);border-radius:var(--radius-xs);padding:.4rem .75rem;max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1.1rem;gap:1.1rem}.model-card{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--glass);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.model-card:hover{transform:translateY(-4px);border-color:var(--hairline-2)}.model-thumb{position:relative;aspect-ratio:4/3;background:var(--bg-2);display:flex;align-items:center;justify-content:center}.model-thumb img{width:100%;height:100%;object-fit:cover}.thumb-fallback{color:var(--ink-faint);font-size:.82rem}.model-type{position:absolute;top:.5rem;left:.5rem;font-size:.66rem;color:#07060c;background:var(--aurora);border-radius:999px;padding:.15rem .55rem;font-weight:600}.model-info{padding:.7rem .8rem .8rem;display:flex;flex-direction:column;gap:.3rem}.model-name{margin:0;font-size:.85rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-sub{margin:0;font-size:.72rem;color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.model-actions{display:flex;gap:.5rem;margin-top:.3rem}.btn-ghost.sm{font-size:.76rem;padding:.32rem .8rem}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.viewer-3d{position:relative;min-height:clamp(380px,58vh,640px);border:1px solid var(--hairline);border-radius:var(--radius);background:radial-gradient(60% 60% at 50% 40%,rgba(139,108,255,.12),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.3));overflow:hidden}.viewer-3d model-viewer{width:100%;height:100%;min-height:clamp(380px,58vh,640px)}.viewer-dl{position:absolute;right:1rem;bottom:1rem;z-index:2}.model3d-list{display:flex;flex-wrap:wrap;gap:.5rem}.admin-create{display:grid;grid-template-columns:1.4fr 1.4fr .7fr auto;grid-gap:.6rem;gap:.6rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--glass)}.admin-create .generate-btn{padding:.6rem 1.3rem;font-size:.9rem}@media (max-width:720px){.admin-create{grid-template-columns:1fr 1fr}}.admin-table{border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;background:var(--glass)}.admin-row{display:grid;grid-template-columns:2fr 1fr .8fr 2fr 1.1fr .9fr;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.75rem 1.1rem;font-size:.84rem;border-bottom:1px solid var(--hairline)}.admin-row:last-child{border-bottom:none}.admin-head{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);background:rgba(0,0,0,.25)}.admin-email{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--v4);font-weight:600}.admin-usage{color:var(--ink-soft);font-size:.78rem}.role-badge{font-style:normal;font-size:.72rem;color:var(--ink-soft);border:1px solid var(--hairline-2);border-radius:999px;padding:.12rem .55rem}.role-badge.admin{color:#07060c;background:var(--aurora);border:none;font-weight:600}.btn-danger{font:inherit;font-size:.78rem;color:#ffc0c6;background:rgba(255,107,122,.12);border:1px solid rgba(255,107,122,.4);border-radius:var(--radius-xs);padding:.32rem .8rem;cursor:pointer;transition:background var(--dur) var(--ease)}.btn-danger:hover{background:rgba(255,107,122,.22)}@media (max-width:760px){.admin-row{grid-template-columns:1.5fr .8fr 1fr}.admin-row>span:nth-child(4),.admin-row>span:nth-child(5){display:none}}@keyframes view-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.panel,.single-view,.stage{animation:view-in .5s var(--ease) both}.single-view,.stage{animation-delay:.07s}.gallery .shot:first-child{animation-delay:.02s}.gallery .shot:nth-child(2){animation-delay:.07s}.gallery .shot:nth-child(3){animation-delay:.12s}.gallery .shot:nth-child(4){animation-delay:.17s}.gallery .shot:nth-child(5){animation-delay:.22s}.gallery .shot:nth-child(6){animation-delay:.27s}.gallery .shot:nth-child(7){animation-delay:.32s}.gallery .shot:nth-child(8){animation-delay:.37s}.modal-nav button .nav-ico{transition:transform var(--dur) var(--ease)}.modal-nav button:hover:not(:disabled) .nav-ico{transform:scale(1.2) rotate(-4deg)}.modal-nav button.active .nav-ico{transform:scale(1.12)}.generate-btn:not(:disabled){animation:shimmer 7s ease-in-out infinite}.generate-btn:not(:disabled):hover{animation-duration:2.5s}.status-pill.is-busy{border-color:rgba(47,230,200,.5)}.hero-orb{position:relative}.hero-orb:after{content:"";position:absolute;inset:-22px;border-radius:50%;border-color:rgba(255,77,157,.7) rgba(47,230,200,.6) rgba(139,108,255,.35) rgba(139,108,255,.35);border-style:solid;border-width:1px;animation:spin 7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.chip:active,.modlib-tabs button:active,.seg button:active,.type-chips button:active{transform:scale(.96)}.field input,.field select,.field textarea,.modlib-search input{transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.model-thumb img{transition:transform .6s var(--ease)}.model-card:hover .model-thumb img{transform:scale(1.07)}.skel-tile{aspect-ratio:1/1;border-radius:var(--radius);border:1px solid var(--hairline);position:relative;overflow:hidden;background:rgba(255,255,255,.03)}.skel-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(139,108,255,.14) 50%,transparent 70%);background-size:200% 100%;animation:skel 1.5s ease-in-out infinite}@keyframes skel{0%{background-position:180% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}