:root{
  --ink:#12211C; --paper:#F4EFE6; --green:#2E5E4E; --coral:#E4715B;
  --teal:#3E8E8C; --muted:#8A9B92; --line:rgba(18,33,28,.14);
  --sans:"Helvetica Neue",Arial,system-ui,sans-serif;
  --mono:"DejaVu Sans Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  line-height:1.55;-webkit-font-smoothing:antialiased}
.banner{position:sticky;top:0;z-index:50;background:var(--coral);color:#fff;
  text-align:center;padding:.6rem 1rem;font-weight:700;letter-spacing:.02em;
  font-size:.92rem}
.head{max-width:1180px;margin:0 auto;padding:2.5rem 1.25rem 1rem}
.kicker{margin:0;color:var(--teal);text-transform:uppercase;letter-spacing:.14em;
  font-size:.72rem;font-weight:700}
h1{margin:.3rem 0 .5rem;font-size:clamp(1.9rem,5vw,3rem);line-height:1.08}
h2{max-width:1180px;margin:2.5rem auto 1rem;padding:0 1.25rem;
  font-size:clamp(1.2rem,3vw,1.6rem)}
.lede{max-width:62ch;color:#3d4f47;margin:.5rem 0}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.2rem 0 0}
.tab{padding:.45rem .9rem;border:1px solid var(--line);border-radius:999px;
  text-decoration:none;color:var(--ink);font-size:.88rem;background:#fff}
.tab:hover{background:var(--green);color:#fff;border-color:var(--green)}
main{max-width:1180px;margin:0 auto;padding:0 1.25rem 4rem}
.post{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:2rem;
  padding:2rem 0;border-top:1px solid var(--line);align-items:start}
.stage{position:sticky;top:3.2rem}
.phone{position:relative;width:100%;background:#000;border-radius:26px;
  overflow:hidden;box-shadow:0 18px 46px rgba(18,33,28,.22)}
.ratio-916{aspect-ratio:9/16}
.ratio-45{aspect-ratio:4/5;border-radius:18px}
.media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
[hidden]{display:none!important}
.ui{position:absolute;inset:0;pointer-events:none;color:#fff}
.ui-top{position:absolute;top:0;left:0;right:0;height:12.5%;
  background:linear-gradient(#0006,#0000);display:flex;align-items:flex-start;
  padding:1rem}
.ui-title{font-weight:700;font-size:.85rem;text-shadow:0 1px 3px #0008}
.ui-rail{position:absolute;right:3%;bottom:22%;display:grid;gap:1.1rem}
.ui-rail i{display:block;width:26px;height:26px;border:2px solid #fff9;
  border-radius:8px}
.ui-bottom{position:absolute;left:0;right:0;bottom:0;height:25%;
  background:linear-gradient(#0000,#0007);display:flex;align-items:flex-end;
  gap:.5rem;padding:1rem}
.ui-avatar{width:26px;height:26px;border-radius:50%;border:2px solid #fff;
  background:#ffffff33}
.ui-handle{font-size:.78rem;font-weight:600;text-shadow:0 1px 3px #0008}
.nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;
  border-radius:50%;border:0;background:#fffffff2;color:#12211C;font-size:1.4rem;
  line-height:1;cursor:pointer;display:grid;place-items:center}
.prev{left:.6rem} .next{right:.6rem}
.counter{position:absolute;top:.7rem;right:.7rem;background:#000000a6;color:#fff;
  border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-variant-numeric:tabular-nums}
.dots{display:flex;gap:.35rem;justify-content:center;margin:.7rem 0 0}
.dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#12211c33;
  cursor:pointer}
.dot.on{background:var(--green)}
.dual{display:flex;gap:.5rem;margin-top:.9rem;flex-wrap:wrap}
.btn{flex:1 1 auto;text-align:center;padding:.5rem .8rem;border-radius:10px;
  background:var(--green);color:#fff;text-decoration:none;font-size:.82rem;
  font-weight:600}
.btn.ghost{background:#fff;color:var(--green);border:1px solid var(--green)}
.meta h3{margin:.4rem 0 .2rem;font-size:1.5rem}
.meta h4{margin:1.4rem 0 .35rem;font-size:.76rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--teal)}
.stamp{margin:0;color:var(--muted);font-family:var(--mono);font-size:.85rem}
.tagline{display:flex;gap:.4rem;flex-wrap:wrap}
.pill{display:inline-block;padding:.18rem .6rem;border-radius:999px;font-size:.72rem;
  font-weight:700;background:#12211c0f;color:#3d4f47}
.pill.ready{background:var(--green);color:#fff}
.pill.ok{background:var(--teal);color:#fff}
.pill.wait{background:#12211c14;color:#6b7d74}
.caption{background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:.85rem 1rem;margin:.2rem 0;white-space:normal}
.cta{margin:.4rem 0 0;font-weight:600}
.tags{margin:.2rem 0 0;color:var(--teal);font-size:.85rem}
.small{font-size:.86rem}
.muted{color:var(--muted)}
.mono{font-family:var(--mono);font-size:.8rem}
.warn{background:#e4715b1a;border-left:3px solid var(--coral);padding:.6rem .8rem;
  border-radius:0 8px 8px 0;font-size:.84rem;margin:.6rem 0 0}
ul{margin:.3rem 0;padding-left:1.1rem}
li{margin:.15rem 0}
code{font-family:var(--mono);font-size:.82em;background:#12211c0d;padding:.05rem .3rem;
  border-radius:4px}
.specs{width:100%;border-collapse:collapse;font-size:.82rem}
.specs td{border-bottom:1px solid var(--line);padding:.35rem .2rem;vertical-align:top}
.specs td:first-child{font-family:var(--mono);white-space:nowrap;padding-right:.8rem}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;margin:.3rem 0;
  font-size:.84rem}
.kv dt{font-weight:700;color:#3d4f47}
.kv dd{margin:0}
.calendar{max-width:1180px;margin:0 auto;padding:0 0 1rem;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.slot{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem;
  display:flex;flex-direction:column;gap:.45rem}
.slot.blocked{background:#12211c07;border-style:dashed}
.slot-head{display:flex;justify-content:space-between;align-items:center;gap:.4rem;
  font-family:var(--mono);font-size:.75rem;flex-wrap:wrap}
.slot-thumb{display:block;aspect-ratio:4/5;border-radius:9px;overflow:hidden;
  background:#12211c0d}
.slot-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.slot-thumb.empty{display:grid;place-items:center;color:var(--muted);
  font-size:.8rem;border:1px dashed var(--line)}
.slot-title{font-weight:700;font-size:.92rem;line-height:1.25}
.slot-sub{font-size:.78rem;color:var(--muted)}
footer{border-top:1px solid var(--line);padding:1.5rem 1.25rem 3rem;
  max-width:1180px;margin:0 auto;color:var(--muted);font-size:.82rem}
@media (max-width:820px){
  .post{grid-template-columns:1fr;gap:1.2rem}
  .stage{position:static;max-width:420px}
}
