/* ============================================================
   AKUN Figure Lab — editorial dark gallery
   ============================================================ */
:root{
  --bg:#0b0b10;
  --bg2:#10111a;
  --card:#13141e;
  --ink:#edebe4;
  --muted:#97969f;
  --faint:rgba(237,235,228,.07);
  --amber:#e9b558;
  --blue:#8ea7ff;
  --teal:#5fc4b8;
  --rose:#e58fa2;
  --serif:"Noto Serif SC","Songti SC","STSong",serif;
  --sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"JetBrains Mono","SF Mono",ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--amber);color:#111}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
em{font-style:normal}

/* ambient aurora — fixed behind everything */
#aurora{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.nav,.hero,.marquee-zone,section,.footer{position:relative;z-index:1}

/* film grain */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:99;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(8) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}25%{transform:translate(-2%,3%)}50%{transform:translate(3%,-2%)}75%{transform:translate(-3%,-3%)}}

/* scroll progress */
.progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--amber),var(--rose),var(--blue));transition:width .1s linear}

/* reveal animation */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.05s}.d2{transition-delay:.15s}.d3{transition-delay:.3s}.d4{transition-delay:.45s}.d5{transition-delay:.6s}

/* ============ NAV ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 4vw;transition:background .4s,box-shadow .4s,padding .4s}
.nav.scrolled{background:rgba(11,11,16,.82);backdrop-filter:blur(14px);padding:10px 4vw;
  box-shadow:0 1px 0 var(--faint)}
.nav-logo{display:flex;align-items:center;gap:10px}
.logo-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--amber);
  color:var(--amber);font-family:var(--serif);font-weight:900;font-size:13px;letter-spacing:.03em;
  border-radius:2px;transform:rotate(-4deg);transition:transform .4s}
.nav-logo:hover .logo-mark{transform:rotate(4deg) scale(1.06)}
.logo-text{font-family:var(--mono);font-size:13px;letter-spacing:.12em}
.logo-text em{color:var(--muted)}
.nav-links{display:flex;gap:30px;font-size:13.5px;letter-spacing:.18em}
.nav-links a{position:relative;color:var(--muted);transition:color .3s}
.nav-links a:hover{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--amber);transition:width .35s}
.nav-links a:hover::after{width:100%}
.nav-cta{font-size:12.5px;letter-spacing:.14em;border:1px solid rgba(233,181,88,.55);color:var(--amber);
  padding:9px 20px;border-radius:99px;transition:.35s}
.nav-cta:hover{background:var(--amber);color:#15110a}

/* ============ HERO ============ */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  padding:128px 7vw 90px}
#terrain{position:absolute;left:0;right:0;bottom:0;width:100%;height:82%;z-index:0;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 34%);
  mask-image:linear-gradient(180deg,transparent,#000 34%)}
.hero-inner{position:relative;z-index:2;max-width:1100px;will-change:transform,opacity}
.hero-stats{will-change:transform,opacity}
.sys-num,.sec-no{will-change:transform}
.hero-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.34em;color:var(--muted);
  display:flex;align-items:center;gap:12px;margin-bottom:34px}
.tick{display:inline-block;width:34px;height:1px;background:var(--amber)}
/* headline — white serif + flowing gradient, ribbons stream behind */
#typeflow{position:absolute;left:0;right:0;top:0;width:100%;height:64%;z-index:0;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);
  mask-image:linear-gradient(180deg,#000 55%,transparent)}
.hero-title{position:relative;font-family:var(--serif);font-weight:900;line-height:1.12;
  letter-spacing:.015em;font-size:clamp(50px,9.6vw,150px);
  display:flex;flex-wrap:wrap;column-gap:.34em;align-items:baseline}
.hero-title span{white-space:nowrap}
.hero-title .grad{
  background:linear-gradient(108deg,var(--amber),var(--rose),var(--blue),var(--teal),var(--amber));
  background-size:400% 100%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:artflow 8s linear infinite;
  filter:drop-shadow(0 0 30px rgba(233,181,88,.16))}
@keyframes artflow{to{background-position:-400% 0}}
.hero-sub{margin-top:30px;font-size:clamp(15px,1.4vw,19px);color:var(--muted);line-height:2}
.axis{display:flex;align-items:center;gap:12px;margin-top:30px;
  font-family:var(--mono);font-size:10px;color:#6c6b74;letter-spacing:.1em}
.axis i{flex:0 0 min(280px,40vw);height:11px;
  background:
    repeating-linear-gradient(90deg,rgba(237,235,228,.34) 0 1px,transparent 1px 28px) left bottom/100% 7px no-repeat,
    linear-gradient(rgba(233,181,88,.55),rgba(233,181,88,.55)) left bottom/100% 1px no-repeat}
.hero-actions{display:flex;gap:18px;margin-top:40px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.1em;
  padding:15px 32px;border-radius:99px;cursor:pointer;transition:.35s;border:1px solid transparent;
  background:transparent;font-family:var(--sans);color:var(--ink)}
.btn .arr{transition:transform .35s}
.btn:hover .arr{transform:translateX(5px)}
.btn-solid{background:var(--ink);color:#101015;font-weight:500}
.btn-solid:hover{background:var(--amber);transform:translateY(-2px);box-shadow:0 14px 38px -12px rgba(233,181,88,.45)}
.btn-ghost{border-color:rgba(237,235,228,.25);color:var(--ink)}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}
.btn.full{width:100%;justify-content:center}
.hero-stats{position:relative;z-index:2;display:flex;gap:clamp(28px,6vw,90px);margin-top:80px;flex-wrap:wrap}
.stat b{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(34px,3.6vw,52px);color:var(--ink);
  text-shadow:0 2px 22px rgba(0,0,0,.85)}
.stat span{font-size:12.5px;letter-spacing:.22em;color:var(--muted);text-shadow:0 1px 10px rgba(0,0,0,.9)}
.stat i{font-family:var(--mono);font-style:normal;color:var(--amber);font-size:11px}
.hero-scroll{position:absolute;right:5vw;bottom:36px;z-index:2;font-family:var(--mono);font-size:10px;
  letter-spacing:.4em;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px;
  writing-mode:vertical-rl}
.hero-scroll span{width:1px;height:54px;background:linear-gradient(var(--amber),transparent);
  animation:drop 2s ease-in-out infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ============ MARQUEE ============ */
.marquee-zone{padding:30px 0 10px;border-top:1px solid var(--faint);border-bottom:1px solid var(--faint);
  background:rgba(16,17,26,.55);overflow:hidden;
  transform:rotate(-1.2deg) scale(1.03)}
.marquee{overflow:hidden;padding:12px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:18px;width:max-content;will-change:transform}
.m-left .marquee-track{animation:scrollL 70s linear infinite}
.m-right .marquee-track{animation:scrollR 80s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scrollL{to{transform:translateX(-50%)}}
@keyframes scrollR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.mq-item{flex:0 0 auto;height:150px;border-radius:8px;overflow:hidden;cursor:zoom-in;
  border:1px solid var(--faint);background:#fff;transition:transform .4s,border-color .4s}
.mq-item:hover{transform:translateY(-6px) rotate(.6deg);border-color:rgba(233,181,88,.6)}
.mq-item img{height:100%;width:auto}

/* ============ SECTION HEAD ============ */
section{padding:clamp(90px,12vw,160px) 7vw;overflow:hidden}
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:28px clamp(24px,4vw,64px);
  align-items:end;margin-bottom:clamp(48px,6vw,84px);max-width:1200px;position:relative}
.sec-ghost{position:absolute;right:max(-6vw,-120px);top:-22%;z-index:-1;pointer-events:none;
  font-family:var(--serif);font-weight:900;line-height:1;
  font-size:clamp(180px,26vw,360px);color:transparent;
  -webkit-text-stroke:1px rgba(237,235,228,.07);user-select:none;will-change:transform}
.sec-no{font-family:var(--mono);color:var(--amber);font-size:13px;letter-spacing:.3em;
  border:1px solid rgba(233,181,88,.4);border-radius:99px;padding:7px 16px;align-self:start;margin-top:8px}
.sec-head h2{font-family:var(--serif);font-weight:900;font-size:clamp(36px,5vw,68px);line-height:1.15}
.sec-head p{grid-column:2;color:var(--muted);line-height:2;font-size:15px;max-width:560px}

/* ============ SYSTEM ============ */
.system{background:rgba(11,11,16,.3)}
.sys-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;max-width:1400px}
.sys-card{grid-column:span 3;position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--card),#0e0f16);border:1px solid var(--faint);
  border-radius:14px;padding:34px 30px 38px;min-height:230px;
  transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .5s,box-shadow .5s}
.sys-card.big{grid-column:span 6;min-height:280px}
.sys-card:hover{transform:translateY(-8px);border-color:rgba(233,181,88,.45);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.sys-tag{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--amber)}
.sys-card h3{font-family:var(--serif);font-size:26px;font-weight:700;margin:16px 0 14px}
.sys-card p{color:var(--muted);font-size:14px;line-height:1.95}
.sys-num{position:absolute;right:18px;bottom:-22px;font-family:var(--serif);font-weight:900;
  font-size:130px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(237,235,228,.1);
  pointer-events:none;transition:.5s}
.sys-card:hover .sys-num{-webkit-text-stroke-color:rgba(233,181,88,.35);transform:translateY(-8px)}

/* ============ GALLERY ============ */
.gallery{background:rgba(16,17,26,.5)}
.g-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.g-search input{width:min(420px,80vw);background:var(--card);border:1px solid var(--faint);
  border-radius:99px;padding:13px 24px;color:var(--ink);font-size:14px;font-family:var(--mono);outline:none;
  transition:border-color .3s}
.g-search input:focus{border-color:rgba(233,181,88,.6)}
.g-search input::placeholder{color:#5a5a64}
.g-count{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.15em}
.g-count b{color:var(--amber)}
.g-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:40px}
.chip{font-size:12.5px;letter-spacing:.06em;padding:8px 17px;border-radius:99px;cursor:pointer;
  border:1px solid var(--faint);color:var(--muted);background:transparent;transition:.3s;font-family:var(--sans)}
.chip:hover{color:var(--ink);border-color:rgba(237,235,228,.3)}
.chip.on{background:var(--amber);border-color:var(--amber);color:#15110a;font-weight:500}
.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;max-width:1500px}
.g-card{background:var(--card);border:1px solid var(--faint);border-radius:12px;overflow:hidden;
  cursor:zoom-in;opacity:0;transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),
    border-color .35s,box-shadow .35s}
.g-card.in{opacity:1;transform:none}
.g-card:hover{border-color:rgba(233,181,88,.5);box-shadow:0 24px 48px -24px rgba(0,0,0,.85)}
.g-thumb{aspect-ratio:4/3;background:#fff;overflow:hidden;position:relative}
.g-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.g-card:hover .g-thumb img{transform:scale(1.05)}
.g-body{padding:16px 18px 18px}
.g-name{font-family:var(--mono);font-size:13px;color:var(--ink);letter-spacing:.02em}
.g-desc{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.g-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.g-cat{font-size:11px;color:var(--amber);letter-spacing:.12em}
.g-lang{font-family:var(--mono);font-size:10px;color:#62626c;letter-spacing:.1em}
.g-more{display:flex;justify-content:center;margin-top:52px}
.g-more.hide{display:none}

/* ============ PALETTE ============ */
.pal-strip{display:flex;height:110px;border-radius:14px;overflow:hidden;margin-bottom:22px;
  border:1px solid var(--faint);max-width:1500px}
.pal-swatch{flex:1;position:relative;transition:flex .55s cubic-bezier(.16,1,.3,1);cursor:crosshair}
.pal-swatch:hover{flex:4.5}
.pal-swatch i{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);
  font-family:var(--mono);font-style:normal;font-size:11px;color:rgba(255,255,255,.92);
  text-shadow:0 1px 4px rgba(0,0,0,.5);opacity:0;transition:opacity .35s;white-space:nowrap}
.pal-swatch:hover i{opacity:1}
.pal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1500px}
.pal-fig.grow{display:flex;flex-direction:column}
.pal-fig.grow img{flex:1;object-fit:cover;min-height:0}
.pal-fig{background:var(--card);border:1px solid var(--faint);border-radius:14px;overflow:hidden;
  transition:transform .5s,border-color .5s}
.pal-fig:hover{transform:translateY(-6px);border-color:rgba(142,167,255,.45)}
.pal-fig.wide{grid-column:1/-1}
.pal-fig img{width:100%;background:#fff}
.pal-fig figcaption{padding:15px 20px;font-size:13px;color:var(--muted);letter-spacing:.1em;
  font-family:var(--mono)}

/* ============ PRICING ============ */
.pricing{background:rgba(16,17,26,.5)}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1280px}
.price-card{position:relative;background:var(--card);border:1px solid var(--faint);border-radius:18px;
  padding:42px 36px;display:flex;flex-direction:column;
  transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .5s,box-shadow .5s}
.price-card:hover{transform:translateY(-10px);box-shadow:0 36px 70px -34px rgba(0,0,0,.9)}
.price-card.hot{border-color:rgba(233,181,88,.55);background:linear-gradient(170deg,#1a1712,#13141e 55%)}
.hot-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--amber);color:#15110a;font-size:11.5px;font-weight:700;letter-spacing:.18em;
  padding:6px 18px;border-radius:99px}
.price-card h3{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:.04em}
.price{font-family:var(--serif);font-weight:900;font-size:62px;margin:18px 0 4px}
.price i{font-style:normal;font-size:24px;color:var(--amber);margin-right:4px}
.stu-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:24px;
  font-size:13px;color:var(--muted)}
.stu-price b{font-family:var(--serif);font-weight:900;font-size:24px;color:var(--amber)}
.stu-price span{font-size:11.5px;color:#6b6b75;letter-spacing:.04em}
.price-card ul{list-style:none;flex:1;margin-bottom:32px}
.price-card li{font-size:14px;color:var(--muted);padding:10px 0 10px 26px;position:relative;
  border-bottom:1px dashed var(--faint);line-height:1.6}
.price-card li::before{content:"—";position:absolute;left:0;color:var(--amber)}
.price-note{margin-top:44px;font-size:16.5px;color:var(--ink);letter-spacing:.06em;line-height:2.1;
  text-align:center;max-width:1280px;padding:22px 0;
  border-top:1px solid var(--faint);border-bottom:1px solid var(--faint)}

/* ============ LICENSE ============ */
.lic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1280px}
.lic-item{border:1px solid var(--faint);border-radius:14px;padding:34px 30px;background:var(--card);
  transition:border-color .4s,transform .4s}
.lic-item:hover{transform:translateY(-5px)}
.lic-item:nth-child(1):hover{border-color:rgba(95,196,184,.5)}
.lic-item:nth-child(2):hover{border-color:rgba(229,143,162,.5)}
.lic-item:nth-child(3):hover{border-color:rgba(233,181,88,.5)}
.lic-item b{font-family:var(--mono);font-size:14px;letter-spacing:.2em}
.lic-item:nth-child(1) b{color:var(--teal)}
.lic-item:nth-child(2) b{color:var(--rose)}
.lic-item:nth-child(3) b{color:var(--amber)}
.lic-item p{margin-top:16px;color:var(--muted);font-size:14px;line-height:2}

/* ============ FOOTER ============ */
.footer{background:linear-gradient(180deg,rgba(16,17,26,.5),rgba(8,8,12,.85));padding:120px 7vw 40px;
  border-top:1px solid var(--faint)}
.foot-cta{text-align:center;max-width:760px;margin:0 auto 100px}
.foot-cta h2{font-family:var(--serif);font-weight:900;font-size:clamp(38px,5.5vw,72px);line-height:1.2}
.foot-cta p{color:var(--muted);margin:26px 0 38px;font-size:15px;letter-spacing:.06em}
.copied{display:block;margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--teal);
  opacity:0;transition:opacity .4s}
.copied.show{opacity:1}
.foot-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding-top:28px;border-top:1px solid var(--faint);
  font-family:var(--mono);font-size:11px;color:#55555e;letter-spacing:.12em}

/* ============ LIGHTBOX ============ */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(8,8,12,.94);backdrop-filter:blur(10px);
  display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .35s}
.lightbox.open{opacity:1;pointer-events:auto}
.lb-stage{max-width:min(1100px,92vw);max-height:88vh;display:flex;flex-direction:column;gap:0;
  transform:scale(.96);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.lightbox.open .lb-stage{transform:scale(1)}
.lb-stage img{max-height:66vh;width:auto;max-width:100%;margin:0 auto;border-radius:10px 10px 0 0;background:#fff}
.lb-meta{background:var(--card);border-radius:0 0 10px 10px;padding:20px 26px;
  display:flex;flex-direction:column;gap:8px}
.lb-meta b{font-family:var(--mono);font-size:15px}
.lb-meta>span{color:var(--muted);font-size:13.5px}
.lb-tags{display:flex;gap:8px;flex-wrap:wrap}
.lb-tags span{font-size:11px;font-family:var(--mono);color:var(--blue);
  border:1px solid rgba(142,167,255,.35);padding:3px 10px;border-radius:99px}
.lb-lang{font-family:var(--mono);font-size:11px;color:var(--teal);letter-spacing:.1em}
.lb-close,.lb-prev,.lb-next{position:absolute;background:none;border:1px solid rgba(237,235,228,.25);
  color:var(--ink);width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:16px;
  transition:.3s;display:grid;place-items:center}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{border-color:var(--amber);color:var(--amber)}
.lb-close{top:26px;right:30px}
.lb-prev{left:26px;top:50%;transform:translateY(-50%)}
.lb-next{right:26px;top:50%;transform:translateY(-50%)}

/* ============ RESPONSIVE ============ */
@media(max-width:1000px){
  .sys-grid{grid-template-columns:repeat(2,1fr)}
  .sys-card,.sys-card.big{grid-column:span 1}
  .price-grid,.lic-grid{grid-template-columns:1fr;max-width:560px}
  .pal-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .nav-links{display:none}
  section{padding-left:6vw;padding-right:6vw}
  .sec-head{grid-template-columns:1fr}
  .sec-head p{grid-column:1}
  .hero{padding:108px 6vw 80px}
  .hero-stats{gap:26px}
  .br-d{display:none}
  .hero-scroll{display:none}
  /* marquee: bigger & faster on touch */
  .mq-item{height:148px}
  .m-left .marquee-track{animation-duration:30s}
  .m-right .marquee-track{animation-duration:36s}
  /* gallery: 2-up compact cards, horizontal category rail */
  .g-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .g-thumb{aspect-ratio:1/1}
  .g-body{padding:10px 12px 12px}
  .g-name{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .g-desc{display:none}
  .g-foot{margin-top:7px}
  .g-cat{font-size:10px}
  .g-lang{display:none}
  .g-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;margin-bottom:26px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .g-chips::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto;white-space:nowrap}
  /* lightbox: fullscreen-ish, swipe to flip */
  .lb-prev,.lb-next{display:none}
  .lb-stage{max-width:96vw}
  .lb-stage img{max-height:56vh}
  .lb-meta{padding:14px 16px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
