:root{--bg:#070a14;--panel:#0c1225;--panel2:#101832;--line:#283755;--line2:#3d4e76;--text:#f5f8ff;--muted:#9fb0ce;--cyan:#55efff;--violet:#8d6bff;--pink:#f34bcf;--danger:#ff6d86;--shadow:0 22px 70px rgba(0,0,0,.38);--radius:18px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 15% 0%,rgba(0,210,255,.18),transparent 34%),radial-gradient(circle at 92% 24%,rgba(243,75,207,.18),transparent 36%),linear-gradient(135deg,#060912,#090b18 52%,#12051c);color:var(--text);overflow:hidden}.app-shell{height:100dvh;display:grid;grid-template-columns:318px minmax(0,1fr)}.control-panel{height:100dvh;overflow:auto;padding:20px 14px 22px;background:linear-gradient(180deg,rgba(8,13,29,.96),rgba(8,10,20,.98));border-right:1px solid rgba(85,239,255,.13);box-shadow:18px 0 70px rgba(0,0,0,.24);position:relative;z-index:4}.home{position:fixed;right:18px;top:18px;z-index:20;display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#e9f8ff;background:rgba(10,17,36,.78);border:1px solid rgba(90,111,166,.75);border-radius:13px;padding:9px 12px;font-size:.76rem;font-weight:900;backdrop-filter:blur(16px);transition:.16s ease}.home:hover{border-color:var(--cyan);transform:translateY(-1px)}.brand{display:flex;gap:10px;align-items:center;margin:0 0 16px}.brand-logo{width:42px;height:42px;filter:drop-shadow(0 0 20px rgba(85,239,255,.22))}.brand strong{display:block;font-size:1rem;letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-size:.72rem;margin-top:1px}.upload-zone{border:1px dashed rgba(85,239,255,.28);border-radius:18px;background:rgba(12,18,37,.62);min-height:132px;padding:10px;display:grid;place-items:center;cursor:pointer;transition:.18s ease}.upload-zone:hover,.upload-zone.drag{border-color:var(--cyan);background:rgba(22,35,66,.68);box-shadow:0 16px 55px rgba(85,239,255,.07)}.upload-empty{text-align:center;color:#dcecff}.upload-empty span{display:grid;place-items:center;margin:0 auto 8px;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,rgba(85,239,255,.16),rgba(243,75,207,.16));border:1px solid rgba(85,239,255,.24);font-size:1.35rem}.upload-empty b{display:block;font-size:.83rem}.upload-empty small{display:block;margin:5px auto 0;max-width:220px;color:var(--muted);font-size:.68rem;line-height:1.35}.ref-grid{display:grid;gap:8px;width:100%}.ref-card{display:grid;grid-template-columns:74px 1fr;gap:9px;align-items:center;width:100%;padding:8px;border:1px solid rgba(57,75,113,.88);border-radius:15px;background:linear-gradient(180deg,rgba(16,24,48,.86),rgba(10,15,31,.92));transition:.18s ease}.ref-card:hover{border-color:rgba(85,239,255,.72);transform:translateY(-1px)}.ref-card img{width:74px;height:74px;border-radius:12px;object-fit:cover;background:#050816}.ref-card b{display:block;font-size:.71rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-card select{margin-top:6px;padding:8px 9px;font-size:.68rem}.mini-actions{display:flex;gap:6px;margin-top:6px}.mini-actions button,.icon-btn{border:1px solid rgba(70,88,131,.9);background:#111a34;color:#eaf7ff;border-radius:9px;padding:7px 8px;font-weight:850;font-size:.66rem;cursor:pointer;transition:.15s ease}.mini-actions button:last-child{color:#ffbac5}.field-stack{margin-top:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}label,.label{display:block;font-size:.64rem;font-weight:950;letter-spacing:.075em;color:#d5e2f8;text-transform:uppercase;margin:10px 0 0}select,textarea{width:100%;margin-top:6px;padding:9px 11px;border:1px solid #2e3d5c;border-radius:11px;background:#0d1328;color:#fff;font:inherit;font-size:.74rem;outline:0;transition:.16s ease}select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(85,239,255,.1)}textarea{height:90px;resize:vertical;line-height:1.42}.helper{margin:6px 0 0;color:#7f91b2;font-size:.66rem;line-height:1.34}.compact-actions{display:grid;grid-template-columns:1fr .7fr;gap:8px;margin-top:8px}.assist-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.ghost-btn,.ai-btn,.under button,.card button,.library-pill{border:1px solid rgba(65,82,124,.88);background:linear-gradient(180deg,#111a34,#0d1428);color:#dff4ff;border-radius:10px;padding:8px 10px;font-weight:880;font-size:.68rem;letter-spacing:.01em;cursor:pointer;transition:.16s ease}.ghost-btn:hover,.ai-btn:hover,.under button:hover,.card button:hover,.library-pill:hover{border-color:var(--cyan);transform:translateY(-1px);box-shadow:0 10px 24px rgba(85,239,255,.08)}.ghost-btn.danger{color:#ffbdc8}.ai-btn{background:linear-gradient(135deg,rgba(85,239,255,.12),rgba(141,107,255,.15),rgba(243,75,207,.12));border-color:rgba(116,135,255,.42)}.angles{display:grid;grid-template-columns:1fr 1fr;gap:7px}.angle{border:1px solid #33435f;background:linear-gradient(180deg,#121a33,#0d1429);color:#d8e5ff;border-radius:10px;padding:8px 9px;text-align:left;cursor:pointer;font-size:.68rem;font-weight:900;letter-spacing:.01em;transition:.16s ease;min-height:34px}.angle:hover{border-color:rgba(85,239,255,.75);transform:translateY(-1px)}.angle.active{background:linear-gradient(135deg,rgba(65,215,229,.24),rgba(163,98,246,.3));border-color:#73eaff;color:white;box-shadow:0 0 0 1px rgba(115,234,255,.1)}.primary-btn{width:100%;margin-top:14px;padding:12px;border:0;border-radius:13px;background:linear-gradient(100deg,var(--cyan),var(--violet),var(--pink));color:#061020;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:0 16px 38px rgba(132,112,255,.22);transition:.16s ease}.primary-btn:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.08)}.primary-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.under{display:grid;grid-template-columns:1fr 74px;gap:8px;margin-top:8px}.workspace{height:100dvh;overflow:auto;padding:46px clamp(18px,4.2vw,64px)}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid rgba(80,101,153,.5);padding:0 0 18px}.eyebrow,.panel-title span{color:var(--cyan);font-size:.68rem;font-weight:1000;letter-spacing:.14em;text-transform:uppercase}.hero h1{font-size:clamp(2rem,3vw,3.25rem);line-height:1;max-width:690px;margin:7px 0 8px;letter-spacing:-.055em}.hero p{max-width:720px;margin:0;color:var(--muted);line-height:1.48;font-size:.88rem}.status-wrap{display:flex;gap:9px;align-items:center;padding-top:2px}.badge{display:inline-flex;align-items:center;height:max-content;border:1px solid #41567f;border-radius:10px;padding:9px 11px;color:#c2faff!important;font-weight:1000;font-size:.68rem;letter-spacing:.05em;background:rgba(11,16,34,.76)}.library-pill{display:flex;align-items:center;gap:8px}.library-pill b{display:grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:rgba(85,239,255,.14);color:var(--cyan)}.empty{text-align:center;margin:10vh auto;color:#cbd8ee}.empty-card{max-width:420px;margin:auto;border:1px solid rgba(75,93,139,.5);border-radius:24px;padding:30px;background:rgba(11,16,34,.48);box-shadow:var(--shadow)}.empty-card img{width:70px;height:70px;filter:drop-shadow(0 0 24px rgba(85,239,255,.25))}.empty h2{margin:12px 0 8px;font-size:1.3rem}.empty p{color:var(--muted);line-height:1.55;margin:0;font-size:.86rem}.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px;padding:24px 0 60px;align-items:start}.card{border:1px solid rgba(59,78,119,.86);border-radius:17px;overflow:hidden;background:linear-gradient(180deg,rgba(14,20,39,.96),rgba(10,15,30,.97));box-shadow:0 15px 46px rgba(0,0,0,.24);transition:.18s ease;position:relative;max-width:340px}.card:hover{transform:translateY(-3px);border-color:rgba(85,239,255,.7);box-shadow:0 22px 68px rgba(0,0,0,.32)}.shot-frame{display:block;width:100%;height:clamp(155px,16vw,230px);padding:0;border:0!important;border-radius:0!important;background:radial-gradient(circle at 50% 15%,rgba(85,239,255,.14),transparent 45%),#050817;overflow:hidden;cursor:zoom-in}.shot-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;background:#050817}.ratio-9x16 .shot-img,.ratio-3x4 .shot-img{object-fit:contain;background:linear-gradient(135deg,#050817,#10142b)}.card-body{padding:11px}.card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.card b{font-size:.85rem;letter-spacing:-.01em}.card-head span{flex:0 0 auto;border:1px solid rgba(85,239,255,.22);color:#aaf7ff;border-radius:999px;padding:3px 6px;font-size:.6rem;font-weight:900}.card p{margin:4px 0 0;color:var(--muted);font-size:.7rem;line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.card button:not(.shot-frame){padding:7px 8px;font-size:.65rem}.card.loading{min-height:190px;display:grid;place-items:center;max-width:340px}.card.loading p{margin-top:10px;text-align:center;color:var(--muted)}.loader{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.13);border-top-color:var(--cyan);animation:spin .9s linear infinite;margin:auto}.error-card{border-color:rgba(255,109,134,.6)}.error-card b{color:#ffbdc8}.library-panel{margin-top:18px;border:1px solid rgba(80,101,153,.52);border-radius:21px;padding:17px;background:rgba(10,15,31,.54);box-shadow:var(--shadow)}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.panel-title h2{font-size:1.12rem;margin:4px 0 0}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.lib-item{border:1px solid rgba(59,78,119,.82);border-radius:15px;overflow:hidden;background:#0e1529;transition:.16s ease}.lib-item:hover{border-color:var(--cyan);transform:translateY(-2px)}.lib-image{display:block!important;width:100%;height:134px!important;padding:0!important;border:0!important;border-radius:0!important;background:#050817!important;overflow:hidden}.lib-image img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.ratio-9x16 .lib-image img,.ratio-3x4 .lib-image img{object-fit:contain;background:#050817}.lib-item div{padding:8px}.lib-item b{display:block;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-item small{display:block;margin-top:3px;color:var(--muted);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-tools{display:flex;gap:5px;margin-top:8px}.lib-tools button{flex:1;border:1px solid rgba(65,82,124,.84);background:#121a33;color:#dff4ff;border-radius:8px;padding:6px 4px;font-size:.59rem;font-weight:850;cursor:pointer}.muted{color:var(--muted);font-size:.82rem}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px}.modal[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(2,4,10,.8);backdrop-filter:blur(16px)}.modal-card{position:relative;width:min(1120px,96vw);max-height:92dvh;display:grid;grid-template-columns:minmax(0,1fr) 350px;border:1px solid rgba(100,123,184,.7);border-radius:23px;overflow:hidden;background:#090e1d;box-shadow:0 30px 120px rgba(0,0,0,.55)}.modal-image-wrap{display:grid;place-items:center;min-height:0;background:radial-gradient(circle at 50% 5%,rgba(85,239,255,.12),transparent 40%),#02040b}.modal-card img{width:100%;max-height:92dvh;object-fit:contain;background:#02040b}.modal-meta{padding:17px;background:linear-gradient(180deg,#111832,#090e1d);border-left:1px solid rgba(80,101,153,.52);overflow:auto}.modal-meta b{font-size:1rem}.modal-meta p{color:var(--muted);line-height:1.45;font-size:.78rem}.modal-facts{display:grid;gap:7px;margin:12px 0}.modal-facts div{border:1px solid rgba(70,88,131,.55);border-radius:11px;padding:8px;background:rgba(255,255,255,.025)}.modal-facts small{display:block;color:#7f91b2;text-transform:uppercase;font-size:.58rem;font-weight:900;letter-spacing:.08em}.modal-facts span{display:block;margin-top:3px;color:#eef7ff;font-size:.72rem;line-height:1.35}.prompt-details{margin-top:12px;border:1px solid rgba(70,88,131,.55);border-radius:13px;background:rgba(255,255,255,.03);overflow:hidden}.prompt-details summary{cursor:pointer;padding:10px 11px;font-size:.72rem;font-weight:900;color:#dff4ff}.prompt-details pre{white-space:pre-wrap;word-break:break-word;margin:0;padding:0 11px 12px;color:#aebedd;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem;line-height:1.45;max-height:220px;overflow:auto}.modal-actions{display:grid;gap:8px;margin-top:13px}.modal-actions button,.modal-actions a{display:block;text-align:center;text-decoration:none;border:1px solid rgba(65,82,124,.9);background:#121a33;color:#dff4ff;border-radius:10px;padding:9px;font-weight:850;font-size:.72rem}.modal-close{position:absolute;top:11px;right:11px;z-index:4;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(4,6,13,.72);color:#fff;font-size:1.35rem;cursor:pointer}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:80;border:1px solid rgba(85,239,255,.34);border-radius:14px;background:rgba(9,14,32,.94);color:#eef7ff;padding:10px 13px;box-shadow:0 18px 60px rgba(0,0,0,.36);font-size:.8rem;backdrop-filter:blur(16px)}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1080px){.app-shell{grid-template-columns:300px minmax(0,1fr)}.feed{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.card{max-width:none}}
@media(max-width:900px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh;grid-template-columns:1fr}.control-panel{height:auto;border-right:0;border-bottom:1px solid rgba(85,239,255,.14);padding-top:66px}.workspace{height:auto;overflow:visible;padding:28px 14px 58px}.hero{display:block}.status-wrap{margin-top:14px}.modal-card{grid-template-columns:1fr}.modal-meta{border-left:0;border-top:1px solid rgba(80,101,153,.52);max-height:42dvh}.modal-card img{max-height:50dvh}.home{top:10px;right:10px}.feed{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.shot-frame{height:182px}}
@media(max-width:560px){.control-panel{padding-left:12px;padding-right:12px}.two-col{grid-template-columns:1fr 1fr}.angles{grid-template-columns:1fr 1fr}.hero h1{font-size:1.86rem}.hero p{font-size:.82rem}.feed{grid-template-columns:1fr 1fr;gap:10px}.card b{font-size:.76rem}.card p{font-size:.64rem}.card-actions{gap:5px}.card button:not(.shot-frame){font-size:.58rem;padding:6px}.shot-frame{height:154px}.library-grid{grid-template-columns:repeat(2,1fr)}.modal{padding:9px}.modal-card{border-radius:18px}.compact-actions{grid-template-columns:1fr 1fr}.ref-card{grid-template-columns:68px 1fr}.ref-card img{width:68px;height:68px}.lib-tools{flex-direction:column}.home{padding:8px 10px}}
