:root,
html[data-mode="dark"]{
  --bg:#0b0b0d; --bg-elev:#14141a; --bg-elev-2:#1a1a20;
  --bg-rgb:11,11,13; --elev-rgb:20,20,26; --shade-rgb:8,8,10;
  --fg:#e8e3d5; --fg-dim:#8a857a; --faint:#5a5854;
  --accent:#c9a961; --accent-bright:#d9b97a; --accent-dim:#8a7344;
  --accent-rgb:201,169,97; --accent-ink:#14110a;
  --line:#2a2a30; --line-soft:#1f1f25; --err:#c97a5e;
  --nav-bg:rgba(11,11,13,.78); --nav-bg-strong:rgba(11,11,13,.92);
  --panel-bg:rgba(20,20,26,.96); --hover-fill:rgba(255,255,255,.04);
  --pill-fill:rgba(255,255,255,.03); --glow-top:rgba(var(--accent-rgb),.07);
  --lb-backdrop:rgba(8,8,10,.82); --lb-stage:#0a0a0c;
  --radius:10px; --nav-h:64px;
}
html[data-mode="light"]{
  --bg:#eef1f4; --bg-elev:#ffffff; --bg-elev-2:#f5f7fa;
  --bg-rgb:238,241,244; --elev-rgb:255,255,255; --shade-rgb:30,34,40;
  --fg:#1c1e22; --fg-dim:#6a6f78; --faint:#9aa0a8;
  --line:#d8dde4; --line-soft:#e6eaef; --err:#c45a3e;
  --nav-bg:rgba(255,255,255,.82); --nav-bg-strong:rgba(255,255,255,.94);
  --panel-bg:rgba(255,255,255,.98); --hover-fill:rgba(0,0,0,.04);
  --pill-fill:rgba(0,0,0,.03); --glow-top:rgba(var(--accent-rgb),.1);
  --lb-backdrop:rgba(236,239,244,.88); --lb-stage:#f3f5f8;
}
html[data-theme="coral"]{
  --accent:#d4846a; --accent-bright:#e49a82; --accent-dim:#9a5a46;
  --accent-rgb:212,132,106; --accent-ink:#1a100e;
}
html[data-theme="jade"]{
  --accent:#6aaf98; --accent-bright:#86c4b0; --accent-dim:#457a68;
  --accent-rgb:106,175,152; --accent-ink:#0e1614;
}
html[data-theme="sky"]{
  --accent:#6a9ec9; --accent-bright:#86b4d9; --accent-dim:#45708f;
  --accent-rgb:106,158,201; --accent-ink:#0e1318;
}
html[data-theme="rose"]{
  --accent:#c97a9a; --accent-bright:#d994b0; --accent-dim:#8f526c;
  --accent-rgb:201,122,154; --accent-ink:#180e12;
}
html[data-theme="blue"]{
  --accent:#3b82f6; --accent-bright:#60a5fa; --accent-dim:#2563eb;
  --accent-rgb:59,130,246; --accent-ink:#ffffff;
}
html[data-theme="green"]{
  --accent:#22c55e; --accent-bright:#4ade80; --accent-dim:#16a34a;
  --accent-rgb:34,197,94; --accent-ink:#062012;
}
html[data-theme="red"]{
  --accent:#ef4444; --accent-bright:#f87171; --accent-dim:#dc2626;
  --accent-rgb:239,68,68; --accent-ink:#ffffff;
}
html[data-theme="orange"]{
  --accent:#f97316; --accent-bright:#fb923c; --accent-dim:#ea580c;
  --accent-rgb:249,115,22; --accent-ink:#1a0c04;
}
html[data-theme="pink"]{
  --accent:#ec4899; --accent-bright:#f472b6; --accent-dim:#db2777;
  --accent-rgb:236,72,153; --accent-ink:#ffffff;
}
html[data-theme="cyan"]{
  --accent:#0f766e; --accent-bright:#14b8a6; --accent-dim:#0d5c56;
  --accent-rgb:15,118,110; --accent-ink:#ffffff;
}
html[data-theme="indigo"]{
  --accent:#6366f1; --accent-bright:#818cf8; --accent-dim:#4f46e5;
  --accent-rgb:99,102,241; --accent-ink:#ffffff;
}
html[data-theme="azure"]{
  --accent:#0ea5e9; --accent-bright:#38bdf8; --accent-dim:#0284c7;
  --accent-rgb:14,165,233; --accent-ink:#041018;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{min-height:100%}
body{
  font-family:'Sora','PingFang SC','Microsoft YaHei',sans-serif;
  background:var(--bg); color:var(--fg);
  -webkit-font-smoothing:antialiased; line-height:1.5;
  position:relative;
}
body::before{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, var(--glow-top), transparent 60%),
    linear-gradient(180deg, transparent 0%, rgba(var(--shade-rgb),.12) 100%);
}
html[data-mode="light"] body::before{
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, var(--glow-top), transparent 55%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.03) 100%);
}
@keyframes ib-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.ib-shell{position:relative; z-index:2; min-height:100vh; display:flex; flex-direction:column}
.ib-main{flex:1; width:min(1440px,100%); margin:0 auto; padding:0 24px 56px}

/* nav */
.ib-nav{
  position:sticky; top:0; z-index:50; isolation:isolate;
  background:var(--nav-bg); backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.ib-nav.is-scrolled{
  border-bottom-color:var(--line);
  background:var(--nav-bg-strong);
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.ib-nav-inner{
  width:min(1440px,100%); margin:0 auto; padding:0 24px;
  height:var(--nav-h); display:flex; align-items:center; gap:18px;
}
.ib-brand{
  display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; flex:0 0 auto;
}
.ib-mark{
  width:36px; height:36px; border-radius:10px; display:grid; place-items:center;
  background:linear-gradient(145deg, rgba(var(--accent-rgb),.25), rgba(var(--accent-rgb),.05));
  border:1px solid rgba(var(--accent-rgb),.35);
  font-family:'Fraunces',serif; font-size:18px; color:var(--accent);
}
.ib-logo{height:34px; width:auto; display:block}
.ib-brand-text{display:flex; flex-direction:column; line-height:1.15; gap:2px}
.ib-brand-text strong{
  font-family:'Fraunces',serif; font-weight:400; font-size:18px; letter-spacing:-.02em;
}
.ib-brand-text em{
  font-style:normal; font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.22em; color:var(--accent); text-transform:uppercase;
}
.ib-menu{display:flex; align-items:center; gap:6px; margin-left:8px}
.ib-menu-link{
  text-decoration:none; color:var(--fg-dim); font-size:13px; font-weight:500;
  padding:8px 12px; border-radius:999px; transition:color .2s, background .2s;
}
.ib-menu-link:hover{color:var(--fg); background:var(--hover-fill)}
.ib-menu-link.is-on{color:var(--accent); background:rgba(var(--accent-rgb),.1)}
.ib-nav-search{
  margin-left:auto; display:flex; align-items:center; gap:0;
  height:38px; border:1px solid var(--line); border-radius:999px;
  background:var(--bg-elev); overflow:hidden; width:min(280px,32vw);
  transition:border-color .2s, width .25s ease;
}
.ib-nav-search:focus-within{border-color:var(--accent-dim); width:min(340px,42vw)}
.ib-nav-search input{
  flex:1; min-width:0; height:100%; border:0; background:transparent;
  color:var(--fg); padding:0 14px; font:inherit; outline:none; font-size:13px;
}
.ib-nav-search input::placeholder,
.ib-drawer-search input::placeholder{
  color:var(--fg-dim); opacity:1;
}
.ib-nav-search button{
  width:40px; height:100%; border:0; background:transparent; color:var(--accent);
  cursor:pointer; font-size:16px;
}
.ib-nav-meta{display:flex; align-items:center; gap:8px; flex:0 0 auto}
.ib-theme{position:relative; flex:0 0 auto}
.ib-theme-btn{
  width:38px; height:38px; padding:0; margin:0; border-radius:999px;
  border:1px solid var(--line); background:var(--bg-elev); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:0;
  appearance:none; -webkit-appearance:none; box-sizing:border-box; color:var(--fg-dim);
  flex:0 0 auto;
}
.ib-theme-btn:hover{border-color:var(--accent-dim); color:var(--accent)}
.ib-theme-btn-icon{
  width:16px; height:16px; display:block; position:relative;
}
.ib-theme-btn-icon::before,
.ib-theme-btn-icon::after{
  content:''; position:absolute; inset:0; border-radius:999px;
  border:1.5px solid currentColor; box-sizing:border-box;
}
.ib-theme-btn-icon::before{
  clip-path:inset(0 50% 0 0); opacity:.55;
}
.ib-theme-btn-icon::after{
  background:var(--accent); border-color:var(--accent);
  clip-path:inset(0 0 0 50%);
}
.ib-theme-panel{
  position:absolute; top:calc(100% + 8px); right:0; z-index:60;
  width:min(320px, calc(100vw - 24px)); padding:14px;
  border:1px solid var(--line); border-radius:14px;
  background:var(--panel-bg); backdrop-filter:blur(12px);
  box-shadow:0 16px 36px rgba(0,0,0,.22);
  display:flex; flex-direction:column; gap:14px;
  box-sizing:border-box;
}
.ib-theme-panel[hidden]{display:none !important}
.ib-theme-hd{
  font-family:'Sora',sans-serif; font-size:13px; font-weight:500; color:var(--fg);
}
.ib-theme-group{display:flex; flex-direction:column; gap:8px}
.ib-theme-label{
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--fg-dim);
}
.ib-theme-modes{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;
}
.ib-theme-mode{
  height:40px; border-radius:12px; border:1px solid var(--line);
  background:var(--bg-elev); color:var(--fg-dim); cursor:pointer;
  font:500 12px/1 'Sora',sans-serif;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  appearance:none; -webkit-appearance:none; box-sizing:border-box;
}
.ib-theme-mode:hover{border-color:var(--accent-dim); color:var(--fg)}
.ib-theme-mode.is-on{
  border-color:rgba(var(--accent-rgb),.45);
  background:rgba(var(--accent-rgb),.12); color:var(--accent);
}
.ib-theme-mode-ico{
  width:12px; height:12px; border-radius:999px; border:1.5px solid currentColor;
  display:inline-block; box-sizing:border-box; position:relative;
  overflow:hidden;
}
.ib-theme-mode[data-mode="dark"] .ib-theme-mode-ico{background:currentColor}
.ib-theme-mode[data-mode="light"] .ib-theme-mode-ico{background:transparent}
.ib-theme-mode[data-mode="auto"] .ib-theme-mode-ico{
  background:linear-gradient(90deg, currentColor 50%, transparent 50%);
}
.ib-theme-dots{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;
}
.ib-theme-dot{
  height:40px; padding:0 10px; border-radius:12px; cursor:pointer;
  border:1px solid var(--line); background:var(--bg-elev); box-sizing:border-box;
  appearance:none; -webkit-appearance:none;
  display:inline-flex; align-items:center; justify-content:flex-start; gap:8px;
  color:var(--fg-dim); font:500 12px/1 'Sora','PingFang SC','Microsoft YaHei',sans-serif;
  transition:transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.ib-theme-dot::before{
  content:''; width:14px; height:14px; border-radius:999px; flex:0 0 auto;
  background:var(--dot); box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.ib-theme-dot:hover{border-color:rgba(var(--accent-rgb),.35); color:var(--fg); transform:translateY(-1px)}
.ib-theme-dot.is-on{
  border-color:transparent; background:var(--dot); color:#fff;
  box-shadow:0 8px 18px rgba(var(--accent-rgb),.22);
}
.ib-theme-dot.is-on::before{
  background:transparent; border:2px solid rgba(255,255,255,.95); box-shadow:none;
}
.ib-theme-dot[data-theme="gold"]{--dot:#c9a961}
.ib-theme-dot[data-theme="coral"]{--dot:#d4846a}
.ib-theme-dot[data-theme="jade"]{--dot:#6aaf98}
.ib-theme-dot[data-theme="sky"]{--dot:#6a9ec9}
.ib-theme-dot[data-theme="rose"]{--dot:#c97a9a}
.ib-theme-dot[data-theme="blue"]{--dot:#3b82f6}
.ib-theme-dot[data-theme="green"]{--dot:#22c55e}
.ib-theme-dot[data-theme="red"]{--dot:#ef4444}
.ib-theme-dot[data-theme="orange"]{--dot:#f97316}
.ib-theme-dot[data-theme="pink"]{--dot:#ec4899}
.ib-theme-dot[data-theme="cyan"]{--dot:#0f766e}
.ib-theme-dot[data-theme="indigo"]{--dot:#6366f1}
.ib-theme-dot[data-theme="azure"]{--dot:#0ea5e9}
.ib-theme-dot[data-theme="gold"].is-on,
.ib-theme-dot[data-theme="jade"].is-on,
.ib-theme-dot[data-theme="orange"].is-on,
.ib-theme-dot[data-theme="azure"].is-on{color:#14201a}
.ib-theme-dot[data-theme="gold"].is-on{color:#1a1408}
.ib-theme-dot[data-theme="orange"].is-on{color:#1a0c04}
.ib-theme-dot[data-theme="azure"].is-on{color:#041018}
.ib-coop-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:38px; padding:0 16px; border-radius:999px; box-sizing:border-box;
  border:1px solid rgba(var(--accent-rgb),.4);
  background:rgba(var(--accent-rgb),.12); color:var(--accent);
  text-decoration:none; white-space:nowrap;
  font-family:'Sora',sans-serif; font-size:13px; font-weight:500;
  transition:background .2s, border-color .2s, color .2s;
}
.ib-coop-btn:hover{
  background:var(--accent); color:var(--accent-ink); border-color:var(--accent);
}
.ib-pill{
  display:inline-flex; align-items:center; gap:4px;
  height:38px; padding:0 14px; border-radius:999px; box-sizing:border-box;
  border:1px solid var(--line); background:var(--bg-elev);
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--fg-dim);
  text-decoration:none; white-space:nowrap;
}
.ib-pill b{color:var(--accent); font-weight:500}
.ib-pill.ib-back:hover{color:var(--accent); border-color:var(--accent-dim)}
.ib-nav-toggle{
  display:none; width:38px; height:38px; padding:0; margin:0; border:1px solid var(--line); border-radius:999px;
  background:var(--bg-elev); cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px;
  flex:0 0 auto; align-self:center; line-height:0; appearance:none; -webkit-appearance:none; box-sizing:border-box;
  position:relative;
}
.ib-nav-toggle span{
  display:block; width:16px; height:1.5px; background:var(--fg); flex:0 0 auto;
  transition:transform .22s ease, opacity .18s ease;
}
.ib-nav-toggle.is-open span:first-child{transform:translateY(3.25px) rotate(45deg)}
.ib-nav-toggle.is-open span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.ib-nav-drawer{
  --drawer-r:12px;
  display:none; position:absolute; left:0; right:0; top:100%; z-index:40;
  padding:12px 16px 16px; border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(var(--accent-rgb),.06), transparent 48%),
    var(--panel-bg);
  backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
.ib-nav-drawer:not([hidden]){
  animation:ib-drawer-in .22s ease both;
}
@keyframes ib-drawer-in{
  from{opacity:0; transform:translateY(-6px)}
  to{opacity:1; transform:none}
}
.ib-drawer-search{
  display:flex; align-items:center; gap:0; height:42px; margin:0 0 12px;
  border:1px solid var(--line); border-radius:var(--drawer-r); background:var(--bg-elev); overflow:hidden;
}
.ib-drawer-search:focus-within{border-color:var(--accent-dim)}
.ib-drawer-search input{
  flex:1; min-width:0; height:100%; border:0; background:transparent;
  color:var(--fg); padding:0 14px; font:inherit; font-size:14px; outline:none;
}
.ib-drawer-search button{
  width:44px; height:100%; border:0; background:transparent; color:var(--accent);
  cursor:pointer; font-size:17px; flex:0 0 auto;
}
.ib-drawer-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
}
.ib-drawer-tile{
  display:flex; flex-direction:column; gap:4px; align-items:flex-start; justify-content:center;
  min-height:64px; padding:12px 14px; text-decoration:none;
  border:1px solid var(--line); border-radius:var(--drawer-r); background:var(--bg-elev);
  color:var(--fg); transition:border-color .18s, background .18s, transform .18s;
}
.ib-drawer-tile:hover,
.ib-drawer-tile:active{
  border-color:rgba(var(--accent-rgb),.4); background:rgba(var(--accent-rgb),.08);
}
.ib-drawer-tile.is-on{
  border-color:rgba(var(--accent-rgb),.5);
  background:rgba(var(--accent-rgb),.14);
}
.ib-drawer-tile-label{
  font-family:'Sora',sans-serif; font-size:14px; font-weight:500; line-height:1.2;
}
.ib-drawer-tile.is-on .ib-drawer-tile-label{color:var(--accent)}
.ib-drawer-tile-hint{
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.08em;
  color:var(--fg-dim); text-transform:uppercase;
}
.ib-drawer-coop{
  display:flex; align-items:center; justify-content:center;
  margin-top:10px; height:42px; padding:0 16px;
  border-radius:var(--drawer-r); text-decoration:none;
  border:1px solid rgba(var(--accent-rgb),.45);
  background:rgba(var(--accent-rgb),.14); color:var(--accent);
  font-family:'Sora',sans-serif; font-size:14px; font-weight:500;
  transition:background .18s, color .18s, border-color .18s;
}
.ib-drawer-coop:hover,
.ib-drawer-coop:active{
  background:var(--accent); color:var(--accent-ink); border-color:var(--accent);
}

/* hero */
.ib-hero{
  width:100%; margin:18px 0 28px; padding:0;
  animation:ib-fade .55s ease both;
}
.ib-hero-stage{
  position:relative; overflow:hidden;
  border:1px solid var(--line-soft); border-radius:18px; background:var(--bg-elev);
  width:100%;
  aspect-ratio:21/9; min-height:260px; max-height:460px;
}
.ib-hero-track{position:absolute; inset:0}
.ib-hero-slide{
  position:absolute; inset:0; opacity:0; pointer-events:none;
  transition:opacity .55s ease; cursor:pointer;
}
.ib-hero-slide.is-on{opacity:1; pointer-events:auto; z-index:1}
.ib-hero-media{position:absolute; inset:0}
.ib-hero-media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1.04); transition:transform 6.5s ease;
}
.ib-hero-slide.is-on .ib-hero-media img{transform:scale(1)}
.ib-hero-shade{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(var(--shade-rgb),.88) 0%, rgba(var(--shade-rgb),.45) 42%, rgba(var(--shade-rgb),.15) 100%),
    linear-gradient(180deg, transparent 40%, rgba(var(--shade-rgb),.75) 100%);
}
html[data-mode="light"] .ib-hero-shade{
  background:
    linear-gradient(90deg, rgba(20,24,30,.78) 0%, rgba(20,24,30,.35) 42%, rgba(20,24,30,.08) 100%),
    linear-gradient(180deg, transparent 40%, rgba(20,24,30,.7) 100%);
}
html[data-mode="light"] .ib-hero-title,
html[data-mode="light"] .ib-hero-btn-ghost{color:#f4f2ec}
html[data-mode="light"] .ib-hero-tag{color:rgba(244,242,236,.75); border-color:rgba(255,255,255,.28)}
html[data-mode="light"] .ib-hero-btn-ghost{border-color:rgba(255,255,255,.3)}
.ib-hero-copy{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:36px 0 40px;
}
.ib-hero-rail{
  width:100%; margin:0 auto; padding:0 40px; box-sizing:border-box;
}
.ib-hero-copy-inner{
  max-width:680px; margin:0; padding:0;
}
.ib-hero-kicker{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em;
  color:var(--accent); text-transform:uppercase; margin-bottom:10px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.ib-hero-kicker em{
  font-style:normal; color:rgba(255,255,255,.55); letter-spacing:.12em; font-weight:400;
}
.ib-hero-title{
  font-family:'Fraunces',serif; font-weight:400; font-size:clamp(22px,3.2vw,36px);
  letter-spacing:-.02em; line-height:1.2; margin-bottom:10px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ib-hero-count{
  font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:500;
  color:rgba(255,255,255,.72); letter-spacing:.08em; margin:0 0 16px;
}
.ib-hero-count i{font-style:normal; opacity:.7; margin-left:1px}
.ib-hero-actions{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.ib-hero-btn,
.ib-hero-tag{
  box-sizing:border-box;
  height:38px; min-width:96px; padding:0 16px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  font:500 13px/1 'Sora',sans-serif; text-decoration:none; white-space:nowrap;
}
.ib-hero-btn{
  border:0; cursor:pointer;
  background:var(--accent); color:var(--accent-ink);
}
.ib-hero-btn:hover{background:var(--accent-bright)}
.ib-hero-btn-ghost{
  background:transparent; color:var(--fg); border:1px solid rgba(255,255,255,.25);
}
.ib-hero-btn-ghost:hover{border-color:var(--accent); color:var(--accent)}
.ib-hero-tag{
  font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:500;
  color:var(--fg-dim); border:1px solid rgba(255,255,255,.25); background:transparent;
}
.ib-hero-chrome{
  position:absolute; inset:0; z-index:3; pointer-events:none;
}
.ib-hero-chrome-rail{
  position:relative; height:100%; pointer-events:none;
}
.ib-hero-nav{
  position:absolute; top:50%; left:auto; z-index:3;
  width:42px; height:42px; margin:0; padding:0; border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(11,11,13,.45); color:#fff; font-size:28px; line-height:1;
  cursor:pointer; backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  transform:translateY(-50%);
  opacity:0; pointer-events:none;
  transition:opacity .2s ease, border-color .2s ease, color .2s ease, background .2s ease;
  appearance:none; -webkit-appearance:none;
}
.ib-hero-stage:hover .ib-hero-nav,
.ib-hero-stage:focus-within .ib-hero-nav{opacity:1; pointer-events:auto}
.ib-hero-nav:hover{border-color:var(--accent); color:var(--accent)}
.ib-hero-prev{left:max(16px,2.5%)}
.ib-hero-next{right:max(16px,2.5%)}
.ib-hero-prev span,
.ib-hero-next span{display:block; line-height:1; transform:translateY(-1px)}
.ib-hero-dots{
  position:absolute; right:max(16px,2.5%); bottom:max(14px,3.5%); z-index:3;
  display:flex; gap:7px; pointer-events:auto;
}
.ib-hero-dot{
  width:8px; height:8px; border-radius:999px; border:0; padding:0; cursor:pointer;
  background:rgba(255,255,255,.28);
}
.ib-hero-dot.is-on{background:var(--accent); width:22px}

/* section */
.ib-section{animation:ib-fade .55s ease .05s both}
.ib-section-hd{
  display:flex; align-items:flex-end; justify-content:space-between;
  margin:8px 0 20px; gap:16px;
}
.ib-section-title{
  font-family:'Fraunces',serif; font-weight:400; font-size:clamp(22px,2.6vw,28px);
  letter-spacing:-.02em;
}
.ib-section-sub{margin-top:6px; color:var(--fg-dim); font-size:13px}

.ib-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:18px;
}
.ib-card{
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:var(--bg-elev); border:1px solid var(--line-soft);
}
.ib-card-cover{
  display:block; width:100%; color:inherit; text-decoration:none; position:relative;
  border:0; padding:0; margin:0; background:transparent; cursor:pointer; text-align:left; font:inherit;
}
.ib-shot{
  width:100%; padding:0; margin:0; cursor:pointer; font:inherit; color:inherit; text-align:left;
  display:block; border-radius:8px; overflow:hidden; border:1px solid var(--line-soft);
  background:var(--bg-elev);
}
.ib-img-wrap{
  aspect-ratio:3/4; background:var(--bg-elev-2); overflow:hidden; position:relative;
}
.ib-ph{
  position:absolute; inset:0;
  background:linear-gradient(110deg, var(--bg-elev-2) 0%, var(--bg-elev) 50%, var(--bg-elev-2) 100%);
  background-size:200% 100%; animation:ib-shimmer 1.4s linear infinite;
}
@keyframes ib-shimmer{100%{background-position:-200% 0}}
.ib-img-wrap img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .45s ease;
}
.ib-card:hover .ib-img-wrap img{transform:scale(1.04)}
.ib-card-badge{
  position:absolute; top:10px; right:10px; z-index:2;
  box-sizing:border-box; min-width:42px; height:24px; padding:0 8px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; border:1px solid rgba(255,255,255,.18);
  background:rgba(8,8,10,.72); color:#f4f2ec;
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:500; letter-spacing:.04em;
  backdrop-filter:blur(8px); pointer-events:none; white-space:nowrap;
  box-shadow:0 6px 16px rgba(0,0,0,.28);
}
.ib-card-body{
  position:absolute; left:0; right:0; bottom:0; padding:48px 14px 14px;
  background:linear-gradient(180deg, transparent 0%, rgba(11,11,13,.88) 42%, rgba(11,11,13,.96) 100%);
  color:#e8e3d5;
}
.ib-card-title{
  font-size:14px; font-weight:500; line-height:1.35;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  display:block; -webkit-line-clamp:unset; -webkit-box-orient:unset;
}
.ib-card-meta{
  margin-top:8px; display:flex; gap:10px; flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace; font-size:11px; color:rgba(232,227,213,.7);
}
.ib-card-actions{
  display:flex; gap:8px; padding:10px 12px 12px; background:var(--bg-elev);
  border-top:1px solid var(--line-soft);
}
.ib-btn{
  flex:1; text-align:center; text-decoration:none; font-size:12px; font-weight:500;
  padding:8px 10px; border-radius:8px; border:1px solid var(--line);
  color:var(--fg-dim); background:transparent; cursor:pointer;
}
.ib-btn:hover{color:var(--fg); border-color:var(--fg-dim)}
.ib-btn-accent{
  background:rgba(var(--accent-rgb),.12); border-color:rgba(var(--accent-rgb),.35); color:var(--accent);
}
.ib-btn-accent:hover{background:rgba(var(--accent-rgb),.2); color:var(--accent-bright)}
.ib-btn-muted{opacity:.55; cursor:default}

.ib-load{width:100%; height:1px; margin:28px 0 0; pointer-events:none}
.ib-empty{
  text-align:center; color:var(--faint); padding:28px 16px 48px;
  font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.06em;
}
/* footer */
.ib-footer{
  margin-top:auto; width:100%;
  background:
    linear-gradient(180deg, rgba(var(--elev-rgb),.35) 0%, rgba(var(--bg-rgb),.95) 40%),
    var(--bg-elev);
  border-top:1px solid var(--line);
}
html[data-mode="light"] .ib-footer{
  background:var(--bg-elev);
}
.ib-footer-inner{
  width:min(1440px,100%); margin:0 auto;
}
.ib-footer-bottom{padding:16px 24px 28px}
.ib-footer-rule{
  width:100%; height:0; border:0; border-top:1px solid var(--line);
  margin:0;
}
.ib-footer-bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  color:var(--faint); font-size:12px;
  font-family:'JetBrains Mono',monospace;
}
.ib-footer-bar-links{display:flex; align-items:center; gap:14px; flex-wrap:wrap}
.ib-footer-bar-links a{color:var(--fg-dim); text-decoration:none}
.ib-footer-bar-links a:hover{color:var(--accent)}
.ib-footer-bar-links em{font-style:normal; color:var(--accent-dim); letter-spacing:.12em}
/* to-top */
.ib-float-top{
  position:fixed; right:22px; bottom:28px; z-index:90;
  width:48px; height:48px; border-radius:14px; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  border:1px solid rgba(var(--accent-rgb),.35);
  background:var(--panel-bg); color:var(--accent);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
  transition:opacity .2s, transform .2s, background .2s, border-color .2s;
}
.ib-float-top[hidden]{display:none !important}
.ib-float-top:hover{
  background:rgba(var(--accent-rgb),.16); border-color:var(--accent);
  transform:translateY(-2px);
}
.ib-float-top-ico{font-size:16px; line-height:1; font-weight:600}
.ib-float-top-txt{
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.06em; line-height:1;
}

.ib-detail{max-width:980px; margin:24px auto 0; animation:ib-fade .5s ease both}
.ib-detail-hd{margin-bottom:28px}
.ib-detail-hd h1{
  font-family:'Fraunces',serif; font-weight:400; font-size:clamp(22px,3.5vw,30px);
  letter-spacing:-.02em; line-height:1.25; margin-bottom:12px;
}
.ib-detail-sub{
  display:flex; flex-wrap:wrap; gap:14px;
  font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--fg-dim);
}
.ib-detail-desc{margin-top:12px; color:var(--fg-dim); font-size:14px}
.ib-detail-actions{display:flex; align-items:center; gap:12px; margin-top:18px; flex-wrap:wrap}
.ib-detail-actions .ib-btn{flex:0 0 auto; min-width:120px}
.ib-pwd{
  font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--accent);
  background:rgba(var(--accent-rgb),.1); padding:8px 12px; border-radius:8px;
}
.ib-gallery{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px;
}
.ib-shot .ib-img-wrap{aspect-ratio:3/4}

/* lightbox */
.ib-lb[hidden]{display:none !important}
.ib-lb{
  position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center;
}
.ib-lb-backdrop{
  position:absolute; inset:0; background:var(--lb-backdrop); backdrop-filter:blur(10px) saturate(1.05);
}
.ib-lb-panel{
  --lb-pad:16px;
  position:relative; z-index:1;
  width:auto; max-width:min(96vw,1200px); height:auto; max-height:min(92vh,960px);
  display:flex; flex-direction:column; outline:none;
  background:transparent;
  border:0;
  box-shadow:none;
}
.ib-lb-stage{
  position:relative; flex:0 0 auto; overflow:hidden; touch-action:pan-y;
  box-sizing:content-box;
  padding:0;
  /* 四边等宽“边距”用同色边框，避免 padding 把滑动宽度算歪 */
  border:var(--lb-pad) solid var(--lb-stage);
  border-radius:14px;
  width:min(56vw,380px); height:min(70vh,700px); /* JS 覆盖为图片精确尺寸 */
  max-width:calc(96vw - var(--lb-pad) * 2);
  max-height:calc(88vh - var(--lb-pad) * 2);
  background:var(--lb-stage);
  margin:0 auto;
}
/* 关闭 / 翻页：相对预览层视口边缘（右上关闭，左右居中翻页） */
.ib-lb-close{
  position:absolute; top:max(14px,2.2vw); right:max(14px,2.2vw); z-index:6;
  width:44px; height:44px; border:0; border-radius:999px; cursor:pointer;
  background:rgba(8,8,10,.55); color:#f5f5f2; font-size:26px; line-height:1;
  backdrop-filter:blur(8px); box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.ib-lb-close:hover{background:rgba(var(--accent-rgb),.85); color:#fff}
.ib-lb-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:6;
  width:48px; height:48px; border:1px solid rgba(255,255,255,.22); border-radius:999px; cursor:pointer;
  background:rgba(8,8,10,.5); color:#f5f5f2; font-size:30px; line-height:1;
  backdrop-filter:blur(8px); box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.ib-lb-nav:hover{border-color:rgba(var(--accent-rgb),.7); color:#fff; background:rgba(var(--accent-rgb),.75)}
.ib-lb-prev{left:max(14px,2.2vw)}
.ib-lb-next{right:max(14px,2.2vw)}
.ib-lb-track{
  display:flex; height:100%; width:100%;
  transition:transform .28s ease; will-change:transform;
}
.ib-lb-track.is-dragging{transition:none}
.ib-lb-slide{
  flex:0 0 100%; width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  padding:0; margin:0; background:var(--lb-stage); box-sizing:border-box;
}
.ib-lb-slide img{
  width:100%; height:100%;
  object-fit:fill; object-position:center; display:block;
  border-radius:12px;
  user-select:none; -webkit-user-drag:none;
}
.ib-lb-bar{
  display:flex; align-items:center; gap:12px; padding:12px 0 0;
  max-width:100%; box-sizing:border-box;
  background:transparent !important;
  border:0 !important;
  font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--fg-dim);
}
.ib-lb-title{
  flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--fg); font-family:'Sora',sans-serif; font-size:13px;
}
.ib-lb-count{color:var(--accent); white-space:nowrap}
.ib-lb-dl,
.ib-lb-buy{
  color:#fff; background:var(--accent); text-decoration:none; border-radius:999px;
  padding:6px 12px; font-weight:500; white-space:nowrap; border:0; cursor:pointer;
  font:500 13px/1 'Sora',sans-serif;
}
.ib-lb-dl:hover,
.ib-lb-buy:hover{background:var(--accent-bright)}
.ib-lb-dl[hidden],
.ib-lb-buy[hidden]{display:none !important}
body.ib-lb-open{overflow:hidden}

/* guest pay modal (standalone) */
#zsens-guest-pay-modal.uc-modal,
.uc-modal{
  position:fixed !important; top:0; right:0; bottom:0; left:0;
  z-index:12000; margin:0; padding:16px; box-sizing:border-box;
  display:none; align-items:center; justify-content:center;
}
#zsens-guest-pay-modal.uc-modal.open,
.uc-modal.open{display:flex !important}
#zsens-guest-pay-modal .uc-modal-mask,
.uc-modal-mask{
  position:absolute !important; top:0; right:0; bottom:0; left:0;
  background:rgba(0,0,0,.55); margin:0;
}
#zsens-guest-pay-modal .uc-modal-panel,
.uc-modal-panel{
  position:relative; z-index:1; flex:0 1 auto;
  width:min(360px,92vw); max-width:360px; max-height:90vh; overflow:auto;
  margin:0 auto; box-sizing:border-box;
  background:var(--bg-elev); color:var(--fg); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,.35); padding:28px 22px 22px;
}
#zsens-guest-pay-modal .uc-modal-x,
.uc-modal-x{
  position:absolute; top:10px; right:12px; width:32px; height:32px; padding:0;
  border:0; border-radius:999px; background:transparent; color:var(--fg-dim);
  cursor:pointer; font-size:18px; line-height:1;
}
#zsens-guest-pay-modal .pay-order-card,
.pay-order-card{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px;
}
#zsens-guest-pay-modal .pay-order-badge,
.pay-order-badge{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  font-size:12px; color:var(--accent); margin:0 0 4px;
}
#zsens-guest-pay-modal .uc-modal-title,
.uc-modal-title{
  font-size:18px; font-weight:600; margin:0 0 4px; text-align:center; width:100%;
}
#zsens-guest-pay-modal .pay-order-amount,
.pay-order-amount{
  font-size:32px; font-weight:600; color:var(--accent); margin:8px 0 10px; line-height:1.1;
}
#zsens-guest-pay-modal .pay-order-meta,
#zsens-guest-pay-modal .pay-order-no,
#zsens-guest-pay-modal .pay-order-hint,
#zsens-guest-pay-modal .pay-order-status,
.pay-order-meta,.pay-order-no,.pay-order-hint,.pay-order-status{
  color:var(--fg-dim); font-size:13px; margin:4px 0; line-height:1.45;
  text-align:center; width:100%; word-break:break-word;
}
#zsens-guest-pay-modal .pay-order-qr-wrap,
.pay-order-qr-wrap{
  display:flex; flex-direction:column; align-items:center; width:100%; margin:12px 0 4px;
}
#zsens-guest-pay-modal .pay-order-qr,
.pay-order-qr{
  width:200px; height:200px; display:block; margin:0 auto; border-radius:8px; background:#fff;
}
#zsens-guest-pay-modal .pay-order-sandbox,
.pay-order-sandbox{
  display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; margin-top:8px;
}
#zsens-guest-pay-modal .guest-pay-hero,
.guest-pay-hero{text-align:center; width:100%}
#zsens-guest-pay-modal .guest-pay-section-label,
.guest-pay-section-label{
  width:100%; text-align:left; font-size:12px; color:var(--fg-dim); margin:10px 0 6px;
}
#zsens-guest-pay-modal .guest-pay-methods,
.guest-pay-methods{display:flex; flex-direction:column; gap:8px; margin:0 0 4px; width:100%}
#zsens-guest-pay-modal .guest-pay-method,
.guest-pay-method{
  display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left;
  padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--bg); cursor:pointer; color:var(--fg);
}
#zsens-guest-pay-modal .guest-pay-method.is-on,
.guest-pay-method.is-on{border-color:rgba(var(--accent-rgb),.5); background:rgba(var(--accent-rgb),.1)}
#zsens-guest-pay-modal .guest-pay-actions,
.guest-pay-actions{width:100%; margin-top:4px}
#zsens-guest-pay-modal .btn,
#zsens-guest-pay-modal [data-guest-pay-confirm],
#zsens-guest-pay-modal [data-guest-pay-simulate]{
  display:inline-flex; align-items:center; justify-content:center; width:100%; height:42px; margin-top:12px;
  border:0; border-radius:999px; background:var(--accent); color:var(--accent-ink);
  font-weight:600; cursor:pointer; text-decoration:none; box-sizing:border-box;
}
body.uc-ui-lock{overflow:hidden}

/* themed toast / dialog */
.ib-toast-host{
  position:fixed; top:18px; left:50%; transform:translateX(-50%);
  z-index:13000; display:flex; flex-direction:column; align-items:center; gap:8px;
  width:min(420px,92vw); pointer-events:none;
}
.ib-toast{
  pointer-events:auto; width:100%; box-sizing:border-box;
  padding:12px 16px; border-radius:12px; border:1px solid var(--line);
  background:var(--panel-bg); color:var(--fg); backdrop-filter:blur(12px);
  box-shadow:0 12px 32px rgba(0,0,0,.28);
  font-size:13px; line-height:1.45; text-align:center;
  animation:ib-toast-in .22s ease both;
}
.ib-toast.is-out{animation:ib-toast-out .18s ease both}
.ib-toast.is-success{border-color:rgba(var(--accent-rgb),.4); color:var(--accent)}
.ib-toast.is-error{border-color:rgba(201,122,94,.45); color:var(--err,#c97a5e)}
.ib-toast.is-info{border-color:var(--line)}
@keyframes ib-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes ib-toast-out{from{opacity:1}to{opacity:0;transform:translateY(-6px)}}

.ib-dialog{
  position:fixed; inset:0; z-index:13010; display:flex; align-items:center; justify-content:center;
  padding:16px; box-sizing:border-box;
}
.ib-dialog[hidden]{display:none !important}
.ib-dialog-mask{position:absolute; inset:0; background:rgba(0,0,0,.55)}
.ib-dialog-panel{
  position:relative; z-index:1; width:min(360px,92vw);
  background:var(--bg-elev); color:var(--fg); border:1px solid var(--line);
  border-radius:16px; box-shadow:0 20px 50px rgba(0,0,0,.35);
  padding:24px 22px 18px; text-align:center;
}
.ib-dialog-title{
  font-family:'Fraunces',serif; font-weight:400; font-size:18px; margin:0 0 10px; letter-spacing:-.02em;
}
.ib-dialog-msg{
  color:var(--fg-dim); font-size:13px; line-height:1.55; margin:0 0 18px; word-break:break-word;
}
.ib-dialog-actions{display:flex; gap:8px; justify-content:center}
.ib-dialog-btn{
  min-width:96px; height:38px; padding:0 16px; border-radius:999px; border:1px solid var(--line);
  background:var(--bg); color:var(--fg); cursor:pointer; font:500 13px/1 'Sora',sans-serif;
}
.ib-dialog-btn-primary{
  border:0; background:var(--accent); color:var(--accent-ink);
}
.ib-dialog-btn-primary:hover{background:var(--accent-bright)}
.ib-dialog-btn-ghost:hover{border-color:var(--accent-dim); color:var(--accent)}
.ib-dialog-field{width:100%; margin:0 0 16px; text-align:left}
.ib-dialog-input{
  width:100%; height:42px; box-sizing:border-box; padding:0 14px;
  border:1px solid var(--line); border-radius:12px; background:var(--bg);
  color:var(--fg); font:400 14px/1 'Sora',sans-serif; outline:none;
}
.ib-dialog-input:focus{border-color:var(--accent-dim)}
.ib-dialog-hint{margin:8px 0 0; font-size:12px; color:var(--fg-dim); line-height:1.4}
.ib-dialog-panel-qr{width:min(340px,92vw)}
.ib-qr-frame{
  width:220px; height:220px; margin:0 auto 12px; padding:10px; box-sizing:border-box;
  border-radius:14px; background:#fff; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
}
.ib-qr-frame img{width:200px; height:200px; display:block; object-fit:contain}
.ib-qr-hint{margin:0 0 14px; font-size:12px; color:var(--fg-dim); line-height:1.45}
.ib-qr-pwd{
  display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;
  margin:0 0 16px; padding:10px 12px; border-radius:12px; background:var(--bg);
  border:1px solid var(--line); font-size:13px; color:var(--fg-dim);
}
.ib-qr-pwd strong{
  font-family:'JetBrains Mono',monospace; font-size:15px; font-weight:500; color:var(--accent-bright);
  letter-spacing:.04em;
}
.ib-qr-copy{
  height:28px; padding:0 10px; border-radius:999px; border:1px solid var(--line);
  background:var(--bg-elev); color:var(--fg); cursor:pointer; font:500 12px/1 'Sora',sans-serif;
}
.ib-qr-copy:hover{border-color:var(--accent-dim); color:var(--accent)}
button.ib-lb-dl{
  appearance:none; -webkit-appearance:none; font:inherit; cursor:pointer;
}

@media (max-width:960px){
  .ib-menu{display:none}
  .ib-nav-search{display:none}
  .ib-coop-btn{display:none}
  .ib-nav-inner{gap:12px}
  .ib-nav-meta{margin-left:auto}
  .ib-nav-toggle{display:flex}
  .ib-brand-text em{display:none}
  .ib-nav-drawer:not([hidden]){display:block}
  .ib-nav-drawer{padding:12px 14px 16px}
  .ib-hero-stage{aspect-ratio:2/1; min-height:180px; max-height:280px; border-radius:14px}
  .ib-hero-copy{padding:20px 0 44px}
  .ib-hero-rail{padding:0 18px}
  .ib-hero-copy-inner{max-width:none}
  .ib-hero-title{font-size:clamp(18px,3.6vw,26px); margin-bottom:8px}
  .ib-hero-count{margin-bottom:12px}
  .ib-hero-nav{display:none}
  .ib-hero-dots{right:16px; bottom:14px}
  /* 主题配置面板：固定在视口内，避免相对按钮 right:0 + 宽面板溢出错位 */
  .ib-theme-panel{
    position:fixed;
    top:calc(var(--nav-h, 64px) + 10px);
    right:12px;
    left:auto;
    width:min(320px, calc(100vw - 24px));
    max-width:calc(100vw - 24px);
  }
  .ib-theme-mode{font-size:11px; gap:4px; padding:0 4px}
}
@media (max-width:720px){
  .ib-main{padding:0 14px 48px}
  .ib-nav-inner{padding:0 14px; gap:8px}
  .ib-nav-meta .ib-clock{display:none}
  .ib-hero{margin:12px 0 20px}
  .ib-hero-stage{aspect-ratio:16/8; min-height:150px; max-height:200px; border-radius:12px}
  .ib-hero-copy{padding:14px 0 36px}
  .ib-hero-rail{padding:0 14px}
  .ib-hero-kicker{margin-bottom:6px; font-size:10px}
  .ib-hero-title{font-size:17px; margin-bottom:6px}
  .ib-hero-count{font-size:12px; margin-bottom:10px}
  .ib-hero-btn,
  .ib-hero-tag{height:32px; min-width:84px; padding:0 12px; font-size:12px}
  .ib-hero-dots{right:14px; bottom:12px}
  .ib-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
  .ib-card-actions{display:none}
  .ib-footer-bottom{padding:14px 14px 24px}
  .ib-footer-bar{flex-direction:column; align-items:flex-start}
  .ib-footer-bar-links{width:100%; justify-content:space-between}
  .ib-float-top{right:14px; bottom:20px; width:44px; height:44px; border-radius:12px}
  /* 移动端灯箱：舞台绝对铺满，底栏加高便于购买/下载 */
  .ib-lb{
    align-items:stretch; justify-content:stretch; padding:0;
  }
  .ib-lb-panel{
    --lb-pad:0px;
    --lb-bar-h:88px;
    position:relative;
    width:100% !important; max-width:none !important;
    height:100% !important; max-height:none !important;
    min-height:100vh; min-height:100dvh;
    margin:0; border-radius:0;
  }
  .ib-lb-stage{
    position:absolute !important;
    inset:0;
    width:auto !important; height:auto !important;
    max-width:none !important; max-height:none !important;
    border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important;
    background:var(--lb-stage); box-sizing:border-box !important;
    z-index:1;
  }
  .ib-lb-track,
  .ib-lb-slide{
    width:100% !important; height:100% !important;
  }
  .ib-lb-slide img{
    width:100% !important; height:100% !important;
    object-fit:cover !important;
    object-position:center center;
    border-radius:0;
  }
  .ib-lb-bar{
    position:absolute; left:0; right:0; bottom:0;
    z-index:8;
    box-sizing:border-box;
    background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.72) 45%, rgba(0,0,0,.88) 100%) !important;
    border:0 !important;
    padding:18px 14px calc(12px + env(safe-area-inset-bottom, 0px));
    min-height:calc(var(--lb-bar-h) + env(safe-area-inset-bottom, 0px));
    gap:10px;
    align-items:center;
  }
  .ib-lb-title{
    font-size:13px; line-height:1.3;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    display:block; -webkit-line-clamp:unset; -webkit-box-orient:unset;
  }
  .ib-lb-count{font-size:12px}
  .ib-lb-dl,
  .ib-lb-buy{
    height:34px; min-width:0; padding:0 14px;
    font-size:13px; border-radius:999px;
    color:#fff !important;
  }
  .ib-lb-close{top:max(12px, env(safe-area-inset-top, 0px)); right:12px; width:44px; height:44px; border-radius:999px}
  .ib-lb-nav{width:44px; height:44px; font-size:26px; border-radius:999px}
  .ib-lb-prev{left:10px}
  .ib-lb-next{right:10px}
}
@media (max-width:960px) and (min-width:721px){
  .ib-lb{align-items:stretch; justify-content:stretch; padding:0}
  .ib-lb-panel{
    --lb-pad:0px;
    --lb-bar-h:84px;
    position:relative;
    width:100% !important; max-width:none !important;
    height:100% !important; max-height:none !important;
    min-height:100vh; min-height:100dvh;
    margin:0; border-radius:0;
  }
  .ib-lb-stage{
    position:absolute !important;
    inset:0;
    width:auto !important; height:auto !important;
    max-width:none !important; max-height:none !important;
    border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important;
    background:var(--lb-stage); box-sizing:border-box !important;
    z-index:1;
  }
  .ib-lb-track,
  .ib-lb-slide{width:100% !important; height:100% !important}
  .ib-lb-slide img{
    width:100% !important; height:100% !important;
    object-fit:cover !important;
    object-position:center center;
    border-radius:0;
  }
  .ib-lb-bar{
    position:absolute; left:0; right:0; bottom:0; z-index:8;
    box-sizing:border-box;
    background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.72) 45%, rgba(0,0,0,.88) 100%) !important;
    border:0 !important;
    padding:18px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    min-height:calc(var(--lb-bar-h) + env(safe-area-inset-bottom, 0px));
    gap:10px; align-items:center;
  }
  .ib-lb-title{
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    display:block; -webkit-line-clamp:unset; -webkit-box-orient:unset;
  }
  .ib-lb-dl,
  .ib-lb-buy{
    height:34px; min-width:0; padding:0 14px; font-size:13px; border-radius:999px;
    color:#fff !important;
  }
}
