/* gc-v1.2 → gc-v1.5 · site-wide additions on top of claude-v3.2's style.css and v3.css.
   Footer, sign-up, review controls, the Series pieces shared by home and the Series page, placeholders, register. */

:root{--ease:cubic-bezier(.2,.7,.2,1);--ease-io:cubic-bezier(.65,0,.2,1);--em:#7d3424;--em-n:#f0bfae}

/* ── buttons ─────────────────────────────────────────────────────── */
.btn.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(29,25,21,.35)}
.btn.btn-line:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.btn{display:inline-flex;align-items:center;gap:12px}
button.btn{border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:500;letter-spacing:.05em}

/* ── sign-up ─────────────────────────────────────────────────────── */
.gjoin .mono{color:var(--mute);font-size:9.5px}
.gjoin-t{margin-top:10px;font-family:"Sentient",serif;font-weight:300;font-size:25px;line-height:1.2;letter-spacing:-.01em}
.gmail{display:flex;gap:10px;margin-top:18px}
.gmail input{flex:1;min-width:0;padding:15px 20px;border:1px solid var(--line);border-radius:999px;background:#fffdf8;font-size:14px;outline:none;transition:border-color .3s}
.gmail input:focus{border-color:var(--ink)}
.gmail button{flex:none;padding:15px 24px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:transform .3s}
.gmail button:hover{transform:translateY(-2px)}
.gjoin .fine{margin-top:12px;font-size:12px;line-height:1.5;color:var(--mute)}

/* ── footer: sign-off, the way around, the small print ─────────── */
.gfoot{position:relative;z-index:2;background:var(--night);color:var(--nink);padding:0 var(--col)}
.gfoot-join:empty{display:none}
.gfoot-join{padding:9vh 0 8vh;border-bottom:1px solid rgba(236,228,214,.12)}
.gfoot .gjoin{max-width:560px;margin:0 auto;text-align:center}
.gfoot .gjoin .mono,.gfoot .gjoin .fine{color:var(--nmute)}
.gfoot .gmail input{background:rgba(236,228,214,.06);border-color:rgba(236,228,214,.2);color:var(--nink)}
.gfoot .gmail input:focus{border-color:var(--nink)}
.gfoot .gmail button{background:var(--nink);color:var(--night)}
.gfoot .logo{font-size:28px}
.gfa-line{margin-top:16px;font-family:"Sentient",serif;font-weight:300;font-size:22px;line-height:1.2;letter-spacing:-.01em}
.gfa-line em{font-style:italic;color:var(--em-n)}
.gfa-sub{margin-top:8px;font-size:13px;line-height:1.5;color:var(--nmute)}
.gfa{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,2.85fr);gap:6vw;padding:9vh 0 8vh}
.gfa-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3vw}
.gfa-nav .mono{margin-bottom:14px;font-size:9px;color:var(--nmute)}
.gfa-nav a,.gfa-nav .soon{display:block;width:max-content;padding:5px 0;font-size:13.5px;color:var(--nink);opacity:.82;transition:opacity .3s}
.gfa-nav a:hover{opacity:1}
.gfoot .soon{opacity:.55}
.gfoot .soon i{margin-left:6px;font:400 8px "FragmentMono",monospace;font-style:normal;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.gfb{padding:9vh 0 7vh;text-align:center}
.gfb-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;margin-top:34px}
.gfb-nav a{font-size:13.5px;opacity:.82;transition:opacity .3s}
.gfb-nav a:hover{opacity:1}
.gfoot-base{display:flex;justify-content:space-between;align-items:center;gap:14px 26px;padding:20px 0 60px;border-top:1px solid rgba(236,228,214,.12);color:var(--nmute)}
.gfoot-base .mono{font-size:9px}
.gfoot-legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.gfoot-reg:hover{color:var(--nink)}
html[data-ft="center"] .gfoot-base{flex-wrap:wrap;justify-content:center}

/* ── review panel: compare controls ─────────────────────────────── */
.rvw{max-height:min(82vh,780px)}
.gcv-wrap{margin:4px 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rvw-in .gcv-h{color:var(--ink);margin-bottom:2px}
.gcv{margin-top:13px}
.gcv .mono{font-size:9.5px;color:var(--mute);margin-bottom:7px}
.gcv button,.gcv-act button{margin:0 6px 6px 0;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.gcv button:hover{border-color:var(--ink)}
.gcv button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gcv-act{display:flex;flex-wrap:wrap;margin-top:12px}
.gcv-act button{background:transparent}
.rvw-reg{margin-top:16px}

/* ── shared Series pieces (home and Series page) ─────────────────── */
.gf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:10px;color:var(--mute)}
.gf-meta span{display:inline-flex;align-items:center;gap:18px}
.gf-meta span+span::before{content:"";width:18px;height:1px;background:currentColor;opacity:.5}
.gf-no{color:var(--verm)}
.gf-theme{padding:5px 11px;border:1px solid currentColor;border-radius:999px}
.gf-meta span.gf-theme::before{display:none}
.gf-meta span+span.gf-theme{margin-left:0}
.gf-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:20px}
.gf-name b.zh{font-weight:400;font-size:19px;letter-spacing:.16em}
.gf-name span{font-family:"Sentient",serif;font-style:italic;font-weight:300;font-size:17px;color:var(--ink2)}
.gf-name em.mono{font-style:normal;font-size:9.5px;color:var(--mute)}
.gf-intro{margin-top:16px;max-width:30em;font-size:16px;line-height:1.6;color:var(--ink2)}
.gf-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:30px}
.gf-whole{padding-left:12px}
.gf-av{display:inline-flex}
.gf-av img{width:30px;height:30px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--paper2)}
.gf-av img+img{margin-left:-9px}
.gf-count{padding:3px 9px;border-radius:999px;background:rgba(29,25,21,.08);font-size:11px;font-weight:400}
.gf-path{display:inline-flex;align-items:baseline;gap:10px}
.gf-path .mono{font-size:9.5px;color:var(--verm)}
.gf-group{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.gf-group .mono{font-size:9.5px;color:var(--mute)}
.gf-group ul{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:12px}
.gf-group a{display:flex;align-items:center;gap:12px}
.gf-group img{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 10px 22px -8px rgba(20,14,8,.5);transition:transform .4s var(--ease)}
.gf-group a:hover img{transform:translateY(-3px)}
.gf-group b.zh{font-weight:400;font-size:15px;letter-spacing:.14em}
.gf-group span span{display:block;font-family:"Sentient",serif;font-style:italic;font-size:13px;color:var(--mute)}
.gf-sample{display:flex;align-items:flex-start;gap:10px;margin-top:20px;max-width:34em;font-size:12.5px;line-height:1.5;color:var(--mute)}
.gf-sample .chip{flex:none}
.gf-poem{margin-top:14px}
.gf-poem .zh{display:block;font-size:17px;letter-spacing:.3em}
.gf-poem em{display:block;margin-top:6px;font-family:"Sentient",serif;font-size:15px}
.gf-fine{margin-top:10px;font-size:12px;color:var(--mute)}

/* ── placeholders for the next round ─────────────────────────────── */
.gc-pending{position:relative;z-index:2;display:flex;align-items:flex-start;gap:16px;margin:0 var(--col) 7vh;padding:18px 22px;border:1px solid var(--line);background:rgba(251,247,239,.75)}
.gc-pending .chip{flex:none}
.gc-pending p{font-size:14px;line-height:1.55;color:var(--ink2);max-width:60em}
.sp-list{position:relative;z-index:2;display:grid;gap:9vh;padding:0 var(--col) 14vh}
.sp-card{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:5vw;align-items:center;padding-top:6vh;border-top:1px solid var(--ink)}
.sp-img{display:block;aspect-ratio:4/5;overflow:hidden;background:#0b0a09}
.sp-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.sp-img:hover img{transform:scale(1.03)}
.sp-t h2{margin-top:20px;font-size:clamp(40px,3.8vw,64px);line-height:1;letter-spacing:-.02em}
.sp-more{display:flex;align-items:center;gap:12px;margin-top:20px}
.sp-more .mono{font-size:9.5px;color:var(--mute);margin-right:6px}
.sp-more img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.ap-plain{position:relative;z-index:2;padding:0 var(--col) 14vh}
.ap-q{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw;padding-top:26px;margin-bottom:8vh;border-top:1px solid var(--ink)}
.ap-q .mono{color:var(--verm)}
.ap-q h3{margin-top:14px;font-size:clamp(22px,1.9vw,30px);line-height:1.15}
.ap-q p{margin-top:12px;font-size:14px;line-height:1.55;color:var(--mute)}
.ap-plain>.mono{color:var(--mute)}
.ap-cases{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:16px}

/* ── register ────────────────────────────────────────────────────── */
.reg{position:relative;z-index:2;padding:18vh var(--col) 12vh}
.reg-in{max-width:1040px}
.reg h2{font-size:clamp(40px,4vw,64px);line-height:1;letter-spacing:-.02em}
.reg h3{margin-top:8vh;padding-top:22px;border-top:1px solid var(--ink);font-size:30px}
.reg h4{margin-top:34px;font-family:"Sentient",serif;font-weight:400;font-size:20px}
.reg p,.reg li{font-size:15px;line-height:1.65;color:var(--ink2)}
.reg p{margin-top:14px;max-width:52em}
.reg ul,.reg ol{margin-top:12px}
.reg ul li{position:relative;padding-left:18px;margin-top:6px}
.reg ul li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:1px;background:var(--ink)}
.reg ol{counter-reset:r}
.reg ol li{position:relative;padding-left:26px;margin-top:6px;counter-increment:r}
.reg ol li::before{content:counter(r) ".";position:absolute;left:0;color:var(--mute);font-size:13px}
.reg table{width:100%;margin-top:18px;border-collapse:collapse;font-size:14px}
.reg th{text-align:left;font:400 9.5px "FragmentMono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:10px 12px 10px 0;border-bottom:1px solid var(--ink)}
.reg td{vertical-align:top;padding:12px 12px 12px 0;border-bottom:1px solid var(--line);line-height:1.5;color:var(--ink2)}
.reg code{font:12.5px "FragmentMono",monospace;background:rgba(29,25,21,.06);padding:1px 5px;border-radius:3px}
.reg .reg-q{padding-left:16px;border-left:2px solid var(--verm);font-family:"Sentient",serif;font-size:18px}

@media (max-width:900px){
  .gfoot{padding:0 22px}
  .gfa{grid-template-columns:1fr;gap:40px}
  .gfa-nav{grid-template-columns:1fr 1fr;gap:28px}
  .gfoot-base{flex-direction:column;align-items:flex-start;padding-bottom:70px}
  .gmail{flex-direction:column}
  .sp-card{grid-template-columns:1fr}
  .ap-q{grid-template-columns:1fr}
  .reg{padding:14vh 22px 10vh}
  .gc-pending{margin:0 22px 6vh}
}
