:root{
  /* VELON: black, dark umber, graphite, oxblood, a thin line of brass */
  --bg:#0E0D0C;--side:#110F0D;--panel:#171412;--panel2:#1D1916;--panel3:#26211D;--line:#26211D;--line2:#3A322C;
  --text:#E9E2D6;--text2:#D8D0C3;--mute:#9C948A;--mute2:#877F75;
  --acc:#A8865A;--acc2:#C4A272;--acc-ink:#120E0B;--ox:#5A1418;--ox2:#721B20;--ok:#8DB59A;--bad:#C8605A;--warn:#D2A35E;
  --r:12px;--font:Inter,system-ui,-apple-system,sans-serif;--head:'Cormorant Garamond',Georgia,serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:none}a:hover{color:var(--acc2)}
button{font:inherit;color:inherit}
h1{font-family:var(--head);font-size:28px;font-weight:600;letter-spacing:-.02em;margin:0}
h2.sec{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
.muted{color:var(--mute)}.small{font-size:12px}
.hidden{display:none!important}

/* layout */
.app{display:flex;min-height:100vh}
.side{width:240px;flex:0 0 240px;background:var(--side);border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}
.logo{display:flex;align-items:center;gap:12px;font-family:var(--head);font-weight:600;font-size:22px;letter-spacing:.28em}
.logo span{padding-top:2px}
.logo em{font:500 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-style:normal}
.logo i{width:34px;height:34px;border-radius:8px;background:var(--ox);color:var(--text);border:1px solid var(--acc);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:600;letter-spacing:0;font-size:20px}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:10px;color:#B9B4AD;font-size:14px}
.nav a.on{background:#211B17;color:var(--text);font-weight:600}
.nav a:hover{color:var(--text)}
.nav svg{width:18px;height:18px;flex:0 0 18px}
.credits{margin-top:auto;padding:16px;border-radius:14px;background:#1A1613;border:1px solid #2E2621;display:flex;flex-direction:column;gap:8px}
.credits b{font-family:var(--head);font-size:26px;font-weight:600}
.main{flex:1;min-width:0;padding:28px 32px 60px;display:flex;flex-direction:column;gap:22px}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.head p{margin:4px 0 0;color:var(--mute)}

/* controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:10px;border:1px solid var(--line2);background:var(--panel2);color:var(--text);font-weight:600;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:#5A4C40}
.btn.pri{background:var(--ox);border-color:#8A2A2E;color:var(--text)}
.btn.pri:hover{background:var(--ox2)}
.btn.big{min-height:52px;font-family:var(--font);font-size:15px;font-weight:600;letter-spacing:.04em;width:100%}
.btn.sm{min-height:32px;padding:0 10px;font-size:12px;border-radius:8px}
.btn.ghost{background:transparent}
.btn:disabled{opacity:.5;cursor:default}
.tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.tabs button{min-height:38px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:var(--mute);font-weight:600;cursor:pointer}
.tabs button.on{background:#2E2621;color:var(--text)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);color:var(--text2);cursor:pointer;font-size:13px;font-weight:500}
.pill.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);font-weight:600}
.pill .tag{font-size:10px;margin-left:6px;padding:1px 5px;border-radius:6px;background:#3A1A1C;color:var(--acc2)}
.pill.on .tag{background:#1a121420;color:var(--acc-ink)}
label.f{display:block;font-size:12px;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
input.i,textarea.i,select.i{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #2E2C34;background:var(--panel);color:var(--text);font:15px/1.5 var(--font)}
textarea.i{resize:vertical;min-height:110px}
input.i:focus,textarea.i:focus,select.i:focus{outline:none;border-color:var(--acc)}
.i::placeholder{color:var(--mute2)}
.toggle{position:relative;width:48px;height:28px;border-radius:999px;border:0;background:var(--line2);cursor:pointer;flex:0 0 48px}
.toggle::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--bg);transition:left .15s}
.toggle.on{background:var(--acc)}.toggle.on::after{left:23px}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}

/* create */
.create{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:28px;align-items:start}
.create>section{min-width:0}
.main{overflow-x:hidden}
.form{display:flex;flex-direction:column;gap:20px}
.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tool{display:flex;flex-direction:column;gap:2px;text-align:left;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;min-height:64px}
.tool b{font-size:14px}.tool span{font-size:12px;color:var(--mute);line-height:1.35}
.tool.on{border-color:var(--acc);background:#1E1714}
.tool .m18{display:inline-block;font-size:10px;font-weight:700;color:var(--acc-ink);background:var(--acc);border-radius:5px;padding:0 5px;margin-left:6px;vertical-align:1px}
.desc{color:var(--mute);font-size:13px;margin-top:-8px}
.adv summary{cursor:pointer;color:var(--mute);font-size:13px}
.adv[open]{display:flex;flex-direction:column;gap:16px}
.prompt-wrap{position:relative}
.enh{position:absolute;right:8px;bottom:10px}
.gen-bar{display:flex;align-items:center;gap:14px;position:sticky;bottom:0;padding:14px 0;background:linear-gradient(transparent,var(--bg) 30%)}
.gen-bar .cost{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;white-space:nowrap}
.gen-bar .cost b{color:var(--text2)}
.picker{display:flex;gap:12px;align-items:center;padding:10px;border-radius:12px;border:1px dashed var(--line2);background:var(--panel);cursor:pointer;min-height:76px}
.picker.has{border-style:solid}
.picker img,.picker video{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#000}
.picker .t{flex:1;color:var(--mute);font-size:13px}
.personas{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.pchip{display:flex;flex-direction:column;gap:6px;padding:6px 6px 8px;border-radius:12px;border:2px solid var(--line);background:var(--panel);cursor:pointer;text-align:left}
.pchip.on{border-color:var(--acc)}
.pchip img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#222}
.pchip b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pchip.none{align-items:center;justify-content:center;color:var(--mute);min-height:80px}

/* feed */
.feed{display:flex;flex-direction:column;gap:16px}
.job{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px}
.job-h{display:flex;align-items:center;gap:10px;font-size:13px}
.job-h .tt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text2)}
.badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--panel3);color:var(--text2);white-space:nowrap}
.badge.done{background:#1d2b25;color:var(--ok)}.badge.failed{background:#2e1c1c;color:var(--bad)}.badge.running,.badge.queued{background:#2e281c;color:var(--warn)}
.prog{height:4px;border-radius:9px;background:var(--panel3);overflow:hidden}.prog i{display:block;height:100%;background:var(--acc);transition:width 1s linear}
.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.res{position:relative;border-radius:12px;overflow:hidden;background:#000;border:1px solid var(--line)}
.res img,.res video{width:100%;display:block;max-height:520px;object-fit:contain;background:#000}
.res audio{width:100%;display:block}
.res .acts{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:6px;flex-wrap:wrap;opacity:0;transition:opacity .15s}
.res:hover .acts,.res:focus-within .acts{opacity:1}
.res .acts .btn{background:#0F0E11dd;border-color:#3A3741}
.err{color:var(--bad);font-size:13px}
.empty{padding:48px 20px;text-align:center;color:var(--mute);border:1px dashed var(--line2);border-radius:16px}

/* gallery / personas pages */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.gitem{position:relative;border-radius:12px;overflow:hidden;background:#000;border:1px solid var(--line);aspect-ratio:3/4;cursor:pointer}
.gitem img,.gitem video{width:100%;height:100%;object-fit:cover;display:block}
.gitem .k{position:absolute;top:8px;left:8px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:#0F0E11cc}
.pcard{display:flex;flex-direction:column;gap:10px}
.pcard .faces{display:flex;gap:6px}.pcard .faces img{width:64px;height:64px;object-fit:cover;border-radius:10px}

/* modal */
.modal{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}
.modal .box{background:var(--side);border:1px solid var(--line2);border-radius:18px;width:min(860px,100%);max-height:90vh;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:16px}
.modal .box.narrow{width:min(460px,100%)}
.modal .mh{display:flex;align-items:center;justify-content:space-between;gap:12px}
.modal .mh h3{margin:0;font-family:var(--head);font-size:20px}
.viewer img,.viewer video{max-width:100%;max-height:72vh;display:block;margin:0 auto;border-radius:10px}

/* auth */
.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.auth .hero{padding:56px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(1200px 600px at -10% -10%,#3A1A1C 0%,transparent 60%),var(--side);border-right:1px solid var(--line)}
.auth .hero h1{font-size:46px;line-height:1.05;max-width:560px}
.auth .hero ul{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:10px;color:var(--text2)}
.auth .hero li::before{content:"✦ ";color:var(--acc)}
.auth .pane{display:flex;align-items:center;justify-content:center;padding:32px}
.auth form{width:min(400px,100%);display:flex;flex-direction:column;gap:14px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text2)}
.check input{margin-top:3px;accent-color:var(--acc)}

/* billing */
.packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.pack{padding:18px;border-radius:16px;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:6px;cursor:pointer;text-align:left}
.pack.on{border-color:var(--acc)}
.pack .p{font-family:var(--head);font-size:28px;font-weight:600}
table.t{width:100%;border-collapse:collapse;font-size:13px}
table.t td,table.t th{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
table.t th{color:var(--mute);font-weight:500;font-size:12px}
.toast{position:fixed;right:20px;bottom:20px;z-index:60;background:var(--panel2);border:1px solid var(--acc);padding:12px 16px;border-radius:12px;max-width:380px;display:none}
.toast.bad{border-color:var(--bad)}

@media (max-width:980px){
  .create{grid-template-columns:1fr}
  .auth{grid-template-columns:1fr}.auth .hero{display:none}
}
@media (max-width:760px){
  .app{flex-direction:column}
  .side{position:fixed;bottom:0;top:auto;left:0;right:0;width:auto;height:auto;flex-direction:row;padding:6px 8px;z-index:40;border-right:0;border-top:1px solid var(--line);gap:0}
  .side .logo,.side .credits .lbl,.side .credits .btn{display:none}
  .nav{flex-direction:row;flex:1;justify-content:space-around}
  .nav a{flex-direction:column;gap:2px;min-height:48px;padding:4px 6px;font-size:10px}
  .nav a .admin-link{display:none}
  .credits{margin:0;padding:6px 10px;border:0;background:none;gap:0;justify-content:center}
  .credits b{font-size:16px}
  .main{padding:18px 16px 90px}
  h1{font-size:24px}
  .tools{grid-template-columns:1fr 1fr}
  .gen-bar{bottom:60px}
  .create{grid-template-columns:minmax(0,1fr)}
  .results{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- v2 components ---- */
.team-sw{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);cursor:pointer;text-align:left}
.team-sw span{font-weight:600;font-size:13px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-sw small{color:var(--mute);font-size:11px}
.pbar{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.pav{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;width:76px;padding:0;border:0;background:none;cursor:pointer;color:var(--text2);font-size:12px}
.pav img,.pav .none{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--line2);display:flex;align-items:center;justify-content:center;background:var(--panel);font-size:22px;color:var(--mute)}
.pav b{font-weight:500;max-width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pav.on img,.pav.on .none{border-color:var(--acc);box-shadow:0 0 0 3px #a8865a33}
.pav.on b{color:var(--text);font-weight:600}
.pav.add .none{border-style:dashed}
.small-pills .pill{min-height:30px;padding:0 10px;font-size:12px;text-transform:capitalize}
.small-pills{margin-bottom:10px}
.pgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:330px;overflow-y:auto;padding-right:4px}
.pcard-p{display:flex;flex-direction:column;gap:5px;padding:0;border:0;background:none;cursor:pointer;color:var(--text2);font-size:12px;text-align:left}
.pcard-p span{line-height:1.25}
.ph-img{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;border:2px solid var(--line);background:linear-gradient(160deg,#2A211C,#171412);display:flex;align-items:center;justify-content:center;font-family:var(--head);font-size:26px;color:#6B5E52}
.ph-img.hot{background:linear-gradient(160deg,#3d2228,#1b1418)}
.ph-img.any{font-size:20px}
.ph-img img{width:100%;height:100%;object-fit:cover}
.ph-img .m18{position:absolute;top:5px;right:5px;font-style:normal;font-size:10px;font-weight:700;color:var(--acc-ink);background:var(--acc);border-radius:5px;padding:0 5px;font-family:var(--font)}
.pcard-p.on .ph-img{border-color:var(--acc)}
.pcard-p.on span{color:var(--text);font-weight:600}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.pb{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--text2);white-space:nowrap;cursor:help}
.pb.ok,.pb.label{border-color:#2f4d40;color:var(--ok);background:#18241f}
.pb.risk{border-color:#4d432c;color:var(--warn);background:#251f15}
.pb.no{border-color:#4d2c2c;color:var(--bad);background:#251616}
.cap{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text2);background:var(--panel2);border-radius:10px;padding:8px 10px}
.cap span{flex:1;white-space:pre-wrap}
.kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kind{display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--panel);cursor:pointer}
.kind b{font-family:var(--head);font-size:17px}.kind span{color:var(--mute);font-size:13px}
.kind.on{border-color:var(--acc);background:#1E1714}
.gen-bar.static{position:static;background:none;padding:6px 0 0}
.batches{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.bcard{display:flex;gap:12px;padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text)}
.bcard:hover{border-color:#5A4C40;color:var(--text)}
.bcov{width:64px;height:84px;border-radius:10px;overflow:hidden;background:var(--panel3);flex:0 0 64px;display:flex;align-items:center;justify-content:center;color:var(--mute)}
.bcov img{width:100%;height:100%;object-fit:cover}
.bmeta{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:12px}
.bitem{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px}
.bi-meta{display:flex;flex-direction:column;gap:6px}
.res.ph{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:12px;text-align:center;padding:10px;background:var(--panel2)}
.spin{width:22px;height:22px;border:2px solid #333;border-top-color:var(--acc);border-radius:50%;animation:sp 1s linear infinite;margin:0 auto 8px}
@keyframes sp{to{transform:rotate(360deg)}}
.pgrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.pc-top{display:flex;gap:12px;align-items:center}
.pc-top>div{flex:1;min-width:0}
.pc-av{width:56px;height:56px;border-radius:50%;object-fit:cover}
.pcard .faces img{width:52px;height:52px}
.pc-acts{display:flex;gap:8px;flex-wrap:wrap}
.card.dim{opacity:.55}
.langs{display:flex;gap:4px;align-self:flex-end}
.langs button{border:1px solid var(--line2);background:none;color:var(--mute);border-radius:8px;padding:4px 10px;cursor:pointer;font-size:12px;font-weight:600}
.langs button.on{color:var(--acc-ink);background:var(--acc);border-color:var(--acc)}
.note{background:#1E1714;border:1px solid var(--acc);border-radius:10px;padding:10px 12px;font-size:13px}
.pack{position:relative}
.pack .pop{position:absolute;top:-9px;right:12px;font-size:11px;font-weight:700;background:var(--acc);color:var(--acc-ink);padding:2px 8px;border-radius:999px}
.grid.sq .gitem{aspect-ratio:1}
.aud{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text2)}
select.i.sm{padding:6px 8px;font-size:13px;border-radius:8px;width:auto}
.nav a span{white-space:nowrap}
@media (max-width:760px){
  .kinds{grid-template-columns:1fr}
  .team-sw{display:none}
  .nav{overflow-x:auto;justify-content:flex-start}
  .nav a{min-width:56px}
  .pgal{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.lrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--line)}
.lrow .small{flex:1}
.lprev{width:34px;height:44px;object-fit:cover;border-radius:6px;cursor:pointer}
.logo img{width:30px;height:30px;display:block}

.social{display:flex;flex-direction:column;gap:10px}
.social:empty,.social>div:empty{display:none}
.social .or{width:100%;display:flex;align-items:center;gap:12px;color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.social .or:before,.social .or:after{content:"";flex:1;height:1px;background:var(--line2)}
#gBtn{display:flex;justify-content:center}
.soc{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:0 16px;border-radius:12px;
  border:1px solid var(--line2);background:var(--panel);color:var(--text);font:600 14px var(--font);cursor:pointer;
  transition:border-color .15s,background .15s}
.soc:hover{border-color:#5A4C40;background:var(--panel2)}
.soc .ico{width:18px;height:18px;flex:0 0 18px;color:var(--acc)}
.soc .ico.tg{color:#5DA9D6}
.soc.wait{cursor:default;color:var(--mute)}
.soc.wait .ico{animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.codeflow{display:flex;flex-direction:column;gap:14px}
.codeflow .back,.codeflow .link{align-self:flex-start;background:none;border:0;color:var(--mute);cursor:pointer;padding:0;font-size:13px}
.codeflow .link{align-self:center;color:var(--acc)}
.codeflow .back:hover{color:var(--text)}
input.i.code{text-align:center;font:600 28px/1 var(--font);letter-spacing:.5em;padding-left:.5em}

/* language switch: texts cross-fade instead of the page jumping */
[data-t]{transition:opacity .18s ease}
.auth .pane form{min-height:560px}

/* checkout */
.paysum{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;border:1px solid var(--line2);border-radius:12px;background:var(--panel)}
.paysum b{font:600 26px var(--head)}
.coins{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.coin{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);color:var(--text);cursor:pointer;text-align:left}
.coin.on{border-color:var(--acc);background:#1E1714}
.coin i{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--panel3);color:var(--acc);font-style:normal;font-weight:700}
.coin span{display:flex;flex-direction:column;line-height:1.2}.coin small{color:var(--mute);font-size:11px}
.coin em{position:absolute;top:-8px;right:8px;font-style:normal;font-size:10px;padding:1px 6px;border-radius:6px;background:var(--ox);color:var(--text)}
.payflow{display:flex;flex-direction:column;gap:12px}
.payflow .steps{display:flex;gap:6px}.payflow .steps span{flex:1;text-align:center;font-size:11px;padding:6px 0;border-radius:6px;background:var(--panel);color:var(--mute);border:1px solid var(--line)}
.payflow .steps span.on{color:var(--text);border-color:var(--acc)}
.payflow .qr{align-self:center;background:#E9E2D6;padding:12px;border-radius:12px}.payflow .qr img{display:block;width:180px;height:180px}
.payflow .kv label{display:block;font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.copyrow{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:8px 10px;border:1px solid var(--line2);border-radius:10px;background:var(--panel)}
.copyrow code{overflow-wrap:anywhere;font-size:13px}.copyrow .amt{font-size:18px}
.paystate{text-align:center;padding:12px;border-radius:10px;background:var(--panel);color:var(--text2)}
.paystate.ok{color:var(--ok);border:1px solid #2f4d40}

/* home */
a.logo{color:var(--text);text-decoration:none}
.home{display:flex;flex-direction:column;gap:18px}
.hbal{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--panel)}
.hbal b{font:600 24px var(--head)}
.hmodels{display:flex;gap:12px;flex-wrap:wrap}
.hm{display:flex;flex-direction:column;align-items:center;gap:6px;width:76px;background:none;border:0;color:var(--text2);cursor:pointer;font-size:12px;text-decoration:none}
.hm img,.hm i{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--line2)}
.hm.on img{border-color:var(--acc)}
.hm i{display:flex;align-items:center;justify-content:center;font-style:normal;font-size:22px;color:var(--mute);border-style:dashed}
.hm span{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scen{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.sc{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px;border-radius:14px;border:1px solid var(--line2);background:var(--panel);color:var(--text);cursor:pointer;transition:border-color .15s,transform .15s}
.sc:hover{border-color:var(--acc);transform:translateY(-1px)}
.sc i{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--panel3);color:var(--acc);margin-bottom:6px}
.sc i svg{width:20px;height:20px}.sc b{font-size:15px}.sc span{color:var(--mute);font-size:12px}
.sc em{position:absolute;top:14px;right:14px;font-style:normal;font-size:10px;color:var(--acc);letter-spacing:.06em;text-transform:uppercase}
.hsec{display:flex;justify-content:space-between;align-items:baseline}
.onb .onbbar,.ha .onbbar{height:4px;border-radius:4px;background:var(--panel3);overflow:hidden;margin:8px 0 12px}
.onbbar i{display:block;height:100%;background:var(--acc);transition:width .3s}
.onbs{display:flex;gap:8px;flex-wrap:wrap}
.onbs button{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--panel2);color:var(--text);cursor:pointer;font-size:13px}
.onbs button span{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--panel3);font-size:11px}
.onbs button.ok{color:var(--mute);cursor:default}.onbs button.ok span{background:#18241f;color:var(--ok)}
.hact{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.ha{padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--panel)}
.hrec{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.hr{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:var(--panel2);display:block}
.hr img,.hr video{width:100%;height:100%;object-fit:cover;display:block}
.hr i{position:absolute;left:8px;bottom:6px;font-style:normal;color:#fff;text-shadow:0 1px 4px #000}
/* ideas */
.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.idea{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:var(--panel)}
.icv{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,#3A1A1C,#171412 70%);display:flex;align-items:center;justify-content:center}
.icv img{width:100%;height:100%;object-fit:cover}
.icv span{font:600 28px var(--head);letter-spacing:.12em;color:#E9E2D6cc;text-transform:uppercase}
.icv[data-cv="Gym"],.icv[data-cv="Night"]{background:linear-gradient(160deg,#26211D,#0E0D0C 70%)}
.icv[data-cv="Beach"],.icv[data-cv="Pool"],.icv[data-cv="Golden"]{background:linear-gradient(160deg,#5A3E2B,#171412 75%)}
.icv .ik{position:absolute;left:8px;top:8px;font-style:normal;font-size:10px;padding:2px 7px;border-radius:6px;background:#0E0D0Ccc;color:var(--text);text-transform:uppercase;letter-spacing:.06em}
.icv .m18{position:absolute;right:8px;top:8px}
.ib{display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px}.ib b{font-size:14px}.ib .btn{align-self:flex-start;margin-top:2px}
