:root{
  --bg:#0c0a09; --card:#1c1917; --fg:#fafaf9; --mut:#a8a29e;
  --acc:#f59e0b; --acc2:#ea580c; --bd:#292524; --dn:#f87171; --ok:#4ade80;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:15px/1.55 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  min-height:100vh; display:flex; flex-direction:column;
}
header{
  position:sticky; top:0; z-index:10;
  background:rgba(12,10,9,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--bd);
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:10px 14px;
}
.brand{display:flex; align-items:center; gap:6px; color:var(--fg); text-decoration:none}
.logo{font-size:22px}
nav{display:flex; gap:4px; flex-wrap:wrap}
nav a{
  color:var(--mut); text-decoration:none; padding:6px 10px; border-radius:8px;
}
nav a.on, nav a:hover{background:var(--card); color:var(--fg)}
.quota-pill{
  margin-left:auto; background:#292524; border:1px solid var(--bd);
  border-radius:999px; padding:5px 12px; font-size:13px; color:var(--mut);
}
.quota-pill strong{color:var(--acc)}
main{max-width:820px; width:100%; margin:0 auto; padding:16px; flex:1}
footer{
  border-top:1px solid var(--bd); padding:18px 16px; text-align:center;
  color:var(--mut); font-size:12px;
}
footer a{color:var(--mut)}
.card{
  background:var(--card); border:1px solid var(--bd); border-radius:14px;
  padding:16px; margin-bottom:14px;
}
.hero{text-align:center; padding:28px 12px 18px}
.hero h1{font-size:clamp(28px,6vw,42px); line-height:1.2; margin:10px 0}
.hero h1 span{background:linear-gradient(90deg,var(--acc),var(--acc2)); -webkit-background-clip:text; color:transparent}
.badge{
  display:inline-block; background:#451a03; color:#fdba74;
  border-radius:999px; padding:4px 12px; font-size:13px;
}
.lead{color:var(--mut); max-width:560px; margin:0 auto 16px}
.cta-row{display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; margin-top:12px}
.btn{
  display:inline-block; text-decoration:none; border:none; cursor:pointer;
  font:inherit; font-size:15px; border-radius:10px; padding:10px 18px;
}
.btn.primary{background:linear-gradient(135deg,var(--acc),var(--acc2)); color:#1c1917; font-weight:600}
.btn.ghost{background:transparent; color:var(--fg); border:1px solid var(--bd)}
.btn:disabled{opacity:.55; cursor:not-allowed}
.grid3{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:16px 0}
.grid3 h3{margin:0 0 6px; font-size:16px}
.mut{color:var(--mut); font-size:13px}
.err{color:var(--dn)}
.provider-hint{margin-top:14px}
.seo-block h2{font-size:18px; margin-top:0}
label{display:block; margin:12px 0 6px; font-weight:500}
textarea,input[type=password],input[type=file]{
  width:100%; font:inherit; font-size:16px; color:var(--fg);
  background:#0c0a09; border:1px solid var(--bd); border-radius:10px; padding:10px 12px;
}
textarea{resize:vertical; min-height:100px}
.result-wrap{margin:12px 0; text-align:center}
.result-wrap img{max-width:100%; border-radius:12px; border:1px solid var(--bd)}
.placeholder-box{
  text-align:center; padding:36px 12px; margin:16px 0;
  border:1px dashed var(--bd); border-radius:12px; color:var(--mut);
}
.placeholder-box .big{font-size:48px; margin-bottom:8px}
ul.plain{padding-left:18px}
ul.plain li{margin:8px 0}
.gate-body{display:flex; align-items:center; justify-content:center; min-height:100vh}
.gate-card{width:min(360px,92vw); text-align:center}
.gate-card input{margin:12px 0}
.gate-card .btn{width:100%}

/* auth + credits */
.header-meta{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.quota-pill{margin-left:0}
.credits-pill{
  background:#451a03; border:1px solid #7c2d12;
  border-radius:999px; padding:5px 12px; font-size:13px; color:#fdba74;
}
.credits-pill strong{color:var(--acc)}
.credits-num{color:var(--acc);font-size:1.25em}
.auth-card{max-width:420px;margin:24px auto}
.auth-form .btn{width:100%;margin-top:16px}
.auth-form a,.auth-card a{color:var(--acc)}
input[type=email],input[type=text],input[type=password],input[type=file],textarea{
  width:100%; font:inherit; font-size:16px; color:var(--fg);
  background:#0c0a09; border:1px solid var(--bd); border-radius:10px; padding:10px 12px;
}
.pkg-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px; margin:16px 0;
}
.pkg-card{
  background:#0c0a09; border:1px solid var(--bd); border-radius:12px;
  padding:16px 12px; text-align:center;
}
.pkg-label{color:var(--mut);font-size:13px;margin-bottom:6px}
.pkg-price{font-size:28px;font-weight:700;color:var(--acc);margin:4px 0}
.pkg-credits{color:var(--fg);margin-bottom:12px}
.pkg-card .btn{width:100%}

/* maintenance + gallery */
.maint-banner{
  background:#7c2d12; color:#fed7aa; text-align:center;
  padding:8px 12px; font-size:14px; border-bottom:1px solid #9a3412;
}
.maint-inline{
  background:#451a03; color:#fdba74; border:1px solid #7c2d12;
  border-radius:10px; padding:10px 12px; margin:10px 0; font-size:14px;
}
.sandbox-banner,.test-mode-banner{
  background:#1e3a5f; color:#bfdbfe; text-align:center;
  padding:8px 12px; font-size:14px; border-bottom:1px solid #2563eb;
}
.sandbox-inline,.test-mode-inline{
  background:#0c1a2e; color:#93c5fd; border:1px solid #1d4ed8;
  border-radius:10px; padding:10px 12px; margin:10px 0; font-size:14px;
}
.admin-sidebar-status{
  display:flex; flex-direction:column; gap:4px;
  padding:10px 14px; border-top:1px solid var(--bd);
}
.admin-status-row{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-size:13px;
}
.admin-sidebar-toggle-form{margin:0}
.pkg-disabled{opacity:.55}
.gallery-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:14px; margin-top:14px;
}
.gallery-item{
  margin:0; background:#0c0a09; border:1px solid var(--bd);
  border-radius:12px; overflow:hidden; display:flex; flex-direction:column;
}
.gallery-item img{
  width:100%; aspect-ratio:1; object-fit:cover; display:block;
  background:#1c1917;
}
.gallery-item figcaption{padding:10px 12px; flex:1; display:flex; flex-direction:column; gap:6px}
.gallery-prompt{font-size:13px; line-height:1.35; color:var(--fg);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.gallery-dl{align-self:flex-start; padding:6px 12px; font-size:13px; margin-top:auto}

/* admin panel — sidebar console layout */
.admin-body{
  min-height:100vh; display:block;
}
.admin-shell{
  display:flex; min-height:100vh; align-items:stretch;
}
.admin-sidebar{
  width:220px; flex-shrink:0;
  position:sticky; top:0; align-self:flex-start;
  height:100vh; max-height:100vh;
  display:flex; flex-direction:column;
  background:#141210; border-right:1px solid var(--bd);
  z-index:20;
}
.admin-sidebar-brand{
  display:flex; align-items:center; justify-content:space-between;
  gap:8px; padding:14px 14px 12px; border-bottom:1px solid var(--bd);
}
.admin-sidebar-brand .brand{gap:8px; min-width:0}
.admin-sidebar-title{display:flex; flex-direction:column; line-height:1.2; min-width:0}
.admin-sidebar-title b{font-size:14px}
.admin-sidebar-title .mut{font-size:11px; letter-spacing:.04em; text-transform:uppercase}
.admin-sidebar-toggle{
  display:none; background:transparent; border:1px solid var(--bd);
  color:var(--fg); border-radius:8px; padding:6px 10px; cursor:pointer; font-size:16px;
}
.admin-sidebar-nav{
  display:flex; flex-direction:column; gap:4px;
  padding:12px 10px; flex:1; overflow-y:auto;
}
.admin-nav-link{
  color:var(--mut); text-decoration:none;
  padding:10px 12px; border-radius:10px; font-size:14px;
  border:1px solid transparent;
}
.admin-nav-link:hover{background:var(--card); color:var(--fg)}
.admin-nav-link.on{
  background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(234,88,12,.12));
  color:var(--fg); border-color:rgba(245,158,11,.35); font-weight:600;
}
.admin-sidebar-foot{
  padding:12px 14px 16px; border-top:1px solid var(--bd);
  display:flex; flex-direction:column; gap:6px;
}
.admin-sidebar-foot a{
  color:var(--mut); text-decoration:none; font-size:13px; padding:4px 0;
}
.admin-sidebar-foot a:hover{color:var(--acc)}
.admin-content{
  flex:1; min-width:0; display:flex; flex-direction:column;
}
.admin-page-head{margin-bottom:8px}
.admin-page-head h1{margin:0 0 4px; font-size:22px}
.admin-main{
  max-width:1100px; width:100%; margin:0 auto; padding:16px 18px 32px; flex:1;
}
.admin-section{scroll-margin-top:12px}
.admin-section + .admin-section{margin-top:4px}
.admin-login-card{width:min(380px,92vw)}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:10px}
.stat{background:#0c0a09;border:1px solid var(--bd);border-radius:10px;padding:12px}
.stat-label{display:block;color:var(--mut);font-size:12px;margin-bottom:4px}
.stat strong{font-size:18px}
.stat .good,.good{color:var(--ok)}
.stat .bad,.bad{color:var(--dn)}
.ok-msg{color:var(--ok);background:#14532d33;border:1px solid #166534;border-radius:8px;padding:8px 12px}
.admin-inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:8px}
.admin-inline-form input[type=number]{width:160px;max-width:100%}
.table-wrap{overflow-x:auto;margin-top:8px}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th,.admin-table td{border-bottom:1px solid var(--bd);padding:8px 6px;text-align:left;vertical-align:top}
.admin-table th{color:var(--mut);font-weight:600;white-space:nowrap}
.prompt-cell{max-width:320px;word-break:break-word}

/* admin alerts + credit mgmt */
.admin-alert-banner{
  background:#7f1d1d; color:#fecaca; border-bottom:2px solid #b91c1c;
  padding:12px 16px; font-size:14px; line-height:1.5;
}
.admin-alert-banner ul{margin:8px 0 0 1.2em; padding:0}
.admin-alert-banner li{margin:4px 0}
.admin-user-box{
  margin-top:14px; padding:12px; border:1px solid var(--bd);
  border-radius:10px; background:#0c0a09;
}
.admin-user-box h3{margin:14px 0 6px; font-size:15px}
.admin-stack-form{margin-top:6px}
.admin-inline-form select{
  background:#1c1917; color:var(--fg); border:1px solid var(--bd);
  border-radius:8px; padding:8px 10px;
}
.admin-inline-form input[type=email],
.admin-inline-form input[type=text]{
  background:#1c1917; color:var(--fg); border:1px solid var(--bd);
  border-radius:8px; padding:8px 10px; max-width:100%;
}

.admin-period-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 4px}
.admin-period-tabs a{
  display:inline-block;padding:6px 12px;border-radius:8px;border:1px solid var(--bd);
  color:var(--fg);text-decoration:none;font-size:13px;background:#1c1917
}
.admin-period-tabs a.on{border-color:var(--acc,#fbbf24);background:#292524;font-weight:600}

.badge-ok{background:#14532d;color:#86efac}
.badge-fail{background:#7f1d1d;color:#fca5a5}
.prompt-cell{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-table td.bad{max-width:280px;word-break:break-word;white-space:normal;font-size:12px}

/* admin mobile: sidebar stacks / collapses */
@media (max-width:860px){
  .admin-shell{flex-direction:column}
  .admin-sidebar{
    width:100%; height:auto; max-height:none; position:sticky; top:0;
  }
  .admin-sidebar-toggle{display:inline-block}
  .admin-sidebar-nav,.admin-sidebar-foot,.admin-sidebar-status{display:none}
  .admin-sidebar.open .admin-sidebar-nav,
  .admin-sidebar.open .admin-sidebar-foot,
  .admin-sidebar.open .admin-sidebar-status{display:flex}
  .admin-sidebar.open .admin-sidebar-status{flex-direction:column; width:100%; padding:8px 14px}
  .admin-sidebar-nav{flex-direction:row; flex-wrap:wrap; padding-bottom:4px}
  .admin-sidebar-foot{flex-direction:row; gap:14px; padding-top:4px}
  .admin-main{padding:14px 12px 28px}
}

.badge-sandbox{background:#1e3a5f;color:#93c5fd;border:1px solid #2563eb;font-size:11px;padding:2px 8px;margin-left:4px;vertical-align:middle}
.row-sandbox{background:rgba(37,99,235,.08)}

/* legal pages */
.legal h2{margin-top:0}
.legal h3{font-size:16px;margin:18px 0 8px;color:var(--fg)}
.legal p{margin:0 0 10px;color:var(--mut);font-size:14px;line-height:1.65}
.legal a{color:var(--acc)}
.footer-links a{margin:0 2px}

/* SEO / GEO admin */
.seo-checklist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.seo-checklist li{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:8px;border:1px solid var(--bd);
  background:#0c0a09;font-size:13px;
}
.seo-checklist li.pass{border-color:#166534}
.seo-checklist li.fail{border-color:#7f1d1d}
.seo-mark{
  display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;
  border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0;
}
.seo-checklist li.pass .seo-mark{background:#14532d;color:#86efac}
.seo-checklist li.fail .seo-mark{background:#7f1d1d;color:#fca5a5}
.admin-geo-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;
}
@media (max-width:700px){
  .admin-geo-grid{grid-template-columns:1fr}
}

/* Coming-soon packages: keep prices readable for compliance */
.pkg-coming-soon{opacity:0.92}
.pkg-coming-soon .pkg-price{opacity:1}
.pricing-summary .pkg-card{opacity:0.95}


/* Language toggle — high contrast on dark header */
.lang-toggle{
  display:inline-flex; align-items:center; gap:2px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px; padding:3px 4px; font-size:12px;
  flex-shrink:0;
}
.lang-toggle .lang-btn{
  color:rgba(255,255,255,.78);
  text-decoration:none;
  padding:4px 10px;
  border-radius:999px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.2;
}
.lang-toggle .lang-btn:hover{
  color:#fff;
  background:rgba(255,255,255,.12);
}
.lang-toggle .lang-btn.on{
  color:#0c0a09;
  background:#fafaf9;
  box-shadow:0 0 0 1px rgba(255,255,255,.25);
}
.lang-toggle .lang-btn.on:hover{
  color:#0c0a09;
  background:#fff;
}
.lang-toggle .lang-sep{
  color:rgba(255,255,255,.35);
  font-size:11px;
  user-select:none;
}
@media (max-width:700px){
  .lang-toggle{order:1}
  .header-meta{width:100%; justify-content:flex-end}
}

/* ========== Home sample side galleries (flashy) ========== */
body:has(.home-shell) main{
  max-width:min(1240px,100%);
  padding:16px 10px 28px;
}
.home-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:start;
  position:relative;
}
.home-main{min-width:0; max-width:820px; margin:0 auto; width:100%}

.sample-rail{
  display:none;
  position:sticky;
  top:72px;
  max-height:calc(100vh - 88px);
  overflow:visible;
  pointer-events:none;
}
.sample-masonry{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:8px 4px 24px;
}
.sample-card{
  position:relative;
  margin:0 0 -28px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(245,158,11,.35);
  background:#0c0a09;
  box-shadow:
    0 0 0 1px rgba(234,88,12,.15),
    0 8px 28px rgba(0,0,0,.55),
    0 0 32px rgba(245,158,11,.28),
    0 0 64px rgba(168,85,247,.12);
  transform-origin:center;
  animation:sample-float 7s ease-in-out infinite;
  transition:transform .35s ease, box-shadow .35s ease;
}
.sample-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/4;
  object-fit:cover;
  filter:saturate(1.15) contrast(1.05);
}
.sample-shine{
  pointer-events:none;
  position:absolute; inset:0;
  background:linear-gradient(
    115deg,
    transparent 0%,
    transparent 38%,
    rgba(255,255,255,.08) 48%,
    rgba(253,186,116,.35) 52%,
    transparent 62%,
    transparent 100%
  );
  background-size:220% 100%;
  animation:sample-shimmer 4.5s ease-in-out infinite;
  mix-blend-mode:screen;
  opacity:.85;
}
.sample-card::after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  background:linear-gradient(160deg, rgba(245,158,11,.18), transparent 42%, rgba(168,85,247,.14));
  pointer-events:none;
}
.sample-card-1{ z-index:4; transform:rotate(-4deg) translateX(6px); animation-delay:0s; }
.sample-card-2{ z-index:3; transform:rotate(3.5deg) translateX(-8px); animation-delay:-1.4s; margin-left:10px; }
.sample-card-3{ z-index:5; transform:rotate(-2.5deg) translateX(4px); animation-delay:-2.8s; }
.sample-card-4{ z-index:2; transform:rotate(4deg) translateX(-4px); animation-delay:-4.2s; margin-left:8px; }
.sample-card-5{ z-index:4; transform:rotate(3deg) translateX(-6px); animation-delay:-0.7s; }
.sample-card-6{ z-index:3; transform:rotate(-3.5deg) translateX(8px); animation-delay:-2.1s; margin-right:10px; }
.sample-card-7{ z-index:5; transform:rotate(2deg) translateX(-4px); animation-delay:-3.5s; }
.sample-card-8{ z-index:2; transform:rotate(-4deg) translateX(6px); animation-delay:-4.9s; margin-right:8px; }

@keyframes sample-float{
  0%,100%{ translate:0 0; }
  50%{ translate:0 -10px; }
}
@keyframes sample-shimmer{
  0%{ background-position:120% 0; }
  100%{ background-position:-120% 0; }
}

/* Mobile strip under hero */
.sample-rail-mobile{
  display:block;
  margin:4px -6px 18px;
  overflow:hidden;
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.sample-rail-mobile-track{
  display:flex;
  gap:12px;
  padding:10px 8px 18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.sample-rail-mobile-track::-webkit-scrollbar{display:none}
.sample-rail-mobile .sample-card{
  flex:0 0 118px;
  margin:0;
  scroll-snap-align:center;
  animation:sample-float 6s ease-in-out infinite;
}
.sample-rail-mobile .sample-card-m1{ transform:rotate(-3deg); animation-delay:0s; }
.sample-rail-mobile .sample-card-m2{ transform:rotate(2.5deg); animation-delay:-.8s; }
.sample-rail-mobile .sample-card-m3{ transform:rotate(-2deg); animation-delay:-1.6s; }
.sample-rail-mobile .sample-card-m4{ transform:rotate(3deg); animation-delay:-2.4s; }
.sample-rail-mobile .sample-card-m5{ transform:rotate(-2.5deg); animation-delay:-3.2s; }
.sample-rail-mobile .sample-card-m6{ transform:rotate(2deg); animation-delay:-4s; }
.sample-rail-mobile .sample-card-m7{ transform:rotate(-3deg); animation-delay:-4.8s; }
.sample-rail-mobile .sample-card-m8{ transform:rotate(2.5deg); animation-delay:-5.6s; }

@media (min-width:980px){
  .home-shell{
    grid-template-columns:150px minmax(0,1fr) 150px;
    gap:14px;
    align-items:start;
  }
  .home-main{max-width:820px; margin:0}
  .sample-rail{display:block}
  .sample-rail-mobile{display:none}
  .sample-card{pointer-events:auto}
  .sample-rail-left .sample-masonry{align-items:flex-end}
  .sample-rail-right .sample-masonry{align-items:flex-start}
}
@media (min-width:1180px){
  .home-shell{grid-template-columns:180px minmax(0,1fr) 180px; gap:18px}
  body:has(.home-shell) main{max-width:min(1320px,100%)}
}
@media (prefers-reduced-motion:reduce){
  .sample-card,.sample-shine{animation:none !important}
}

/* account panel */
.account-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}
.account-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.account-ledger td.good{color:var(--ok);font-weight:600}
.account-ledger td.bad{color:var(--dn);font-weight:600}
a.credits-pill{text-decoration:none;color:inherit}
a.credits-pill:hover{border-color:var(--acc,#fbbf24)}
.account-card .stat strong.credits-num{font-size:28px;color:var(--acc)}
