/* ============================================================
   Anfo Publication House - Edited Books (v3)
   Own look: ivory paper, ink navy, editor's red; real photos.
   Every class is prefixed eb- so nothing on the rest of the site is affected.
   ============================================================ */
:root {
    --eb-ink: #0a2240;
    --eb-ink2: #24324b;
    --eb-red: #c8423c;
    --eb-red-d: #a5322c;
    --eb-bg: #fbf8f2;
    --eb-paper: #f3ecdf;
    --eb-card: #ffffff;
    --eb-line: #e2d7c3;
    --eb-mute: #6d6658;
    --eb-green: #23704a;
    --eb-amber: #9a6b14;
    --eb-hand: 'Caveat', cursive;
    --eb-serif: 'Lora', Georgia, serif;
    --eb-hdr: 66px;
}
.eb-body { background: var(--eb-bg); }
.eb { color: var(--eb-ink2); font-size: 16px; overflow-x: clip; }
.eb-hero-in > *, .eb-process > *, .eb-receive > *, .eb-faq-wrap > *, .eb-two > *, .eb-guide > *, .eb-prop > *, .eb-doc > *, .eb-bk-in > * { min-width: 0; }
.eb a { color: inherit; }
.eb-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.eb-narrow { max-width: 860px; }
.eb-muted { color: var(--eb-mute); }
.eb-red { color: var(--eb-red); font-weight: 600; }
.eb h1, .eb h2, .eb h3 { color: var(--eb-ink); }
.eb h2 { font-size: 2rem; line-height: 1.2; margin-bottom: .6rem; }
.eb-h1 { font-size: 2.4rem; line-height: 1.15; margin: .4rem 0 .6rem; }
.eb-pv { display: inline-block; margin-top: .6rem; background: #fff4d6; color: #7a5a14; font-size: .78rem; font-style: normal; padding: .2rem .55rem; border-radius: 4px; }
.eb-nav-on { text-decoration: underline; text-underline-offset: 6px; }

.eb-preview-bar { background: #fff4d6; color: #6b4e0f; text-align: center; font-size: .82rem; padding: .45rem 1rem; border-bottom: 1px solid #f0dfae; }

/* ---------- section sub-navigation ---------- */
.eb-subnav { background: var(--eb-ink); color: #fff; }
.eb-subnav .eb-wrap { display: flex; align-items: center; gap: 1.6rem; min-height: 46px; }
.eb-subnav-t { font-family: var(--eb-serif); font-weight: 600; font-size: 1.02rem; white-space: nowrap; }
.eb-subnav-l { display: flex; gap: .3rem; overflow-x: auto; scrollbar-width: none; }
.eb-subnav-l::-webkit-scrollbar { display: none; }
.eb-subnav-l a { color: rgba(255,255,255,.75); text-decoration: none; font-size: .86rem; padding: .7rem .75rem; white-space: nowrap; border-bottom: 2px solid transparent; }
.eb-subnav-l a:hover { color: #fff; }
.eb-subnav-l a.on { color: #fff; border-bottom-color: var(--eb-red); }

.eb-crumb { font-size: .82rem; color: var(--eb-mute); margin-bottom: 1rem; }
.eb-crumb a { color: var(--eb-ink); text-decoration: none; font-weight: 600; }
.eb-crumb a:hover { text-decoration: underline; }
.eb-crumb span { margin: 0 .45rem; color: #b5aa96; }

/* ---------- buttons ---------- */
.eb-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .78rem 1.3rem; border-radius: 6px; font: 600 .93rem/1.2 'Open Sans', sans-serif; text-decoration: none; cursor: pointer; border: 1.5px solid transparent; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.eb .eb-btn.red, .eb-btn.red { background: var(--eb-red); color: #fff; }
.eb-btn.red:hover { background: var(--eb-red-d); }
.eb .eb-btn.ink, .eb-btn.ink { background: var(--eb-ink); color: #fff; }
.eb-btn.ink:hover { background: #142f55; }
.eb .eb-btn.ghost, .eb-btn.ghost { background: transparent; color: var(--eb-ink); border-color: var(--eb-ink); }
.eb-btn.ghost:hover { background: var(--eb-ink); color: #fff; }
.eb .eb-btn.ghost.light { color: #fff; border-color: rgba(255,255,255,.7); }
.eb-btn.ghost.light:hover { background: #fff; color: var(--eb-ink); }
.eb .eb-btn.wa { background: #1f9d55; color: #fff; }
.eb-btn.wa:hover { background: #17824a; }
.eb-btn.sm { padding: .55rem .95rem; font-size: .84rem; }
.eb-btn.block { display: flex; width: 100%; margin-top: .55rem; }
.eb-btn:active { transform: translateY(1px); }
.eb-btn[hidden] { display: none !important; }
.eb-link { color: var(--eb-red); font-weight: 600; text-decoration: none; font-size: .92rem; }
.eb a.eb-link { color: var(--eb-red); }
.eb-link:hover { text-decoration: underline; }

/* ---------- status pills ---------- */
.eb-st { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .03em; padding: .22rem .6rem; border-radius: 999px; }
.eb-st.is-open { background: #e3f2e9; color: var(--eb-green); }
.eb-st.is-review { background: #fbefd5; color: var(--eb-amber); }
.eb-st.is-pub { background: #e5eaf2; color: var(--eb-ink); }
.eb-st.is-editor { background: #fbe5e3; color: var(--eb-red-d); }

/* ---------- generated cover: cloth-bound academic series ---------- */
.eb-cover { --c: #0a2240; font-size: 9px; width: 16em; height: 24em; position: relative; display: flex; flex-direction: column; justify-content: space-between;
    padding: 1.7em 1.3em 1.5em 2.4em; background: var(--c); color: #efe4cc; border-radius: .35em .7em .7em .35em; overflow: hidden;
    box-shadow: 0 .3em .5em rgba(0,0,0,.18), 0 1.6em 2.6em -1em rgba(10,34,64,.45); font-family: var(--eb-serif); text-align: center; }
.eb-cover::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 1.5em; background: linear-gradient(90deg, rgba(0,0,0,.38), rgba(255,255,255,.14) 62%, rgba(0,0,0,.22)); }
.eb-cover::after { content: ''; position: absolute; inset: 0; pointer-events: none;
    background: repeating-linear-gradient(45deg, rgba(255,255,255,.035) 0 .12em, transparent .12em .36em), linear-gradient(160deg, rgba(255,255,255,.12), transparent 40%, rgba(0,0,0,.15)); }
.eb-cover .pub { position: relative; z-index: 1; font: 600 .95em/1.2 'Open Sans', sans-serif; letter-spacing: .22em; text-transform: uppercase; opacity: .85; }
.eb-cover .plate { position: relative; z-index: 1; background: #f4ead4; color: #1f1b14; padding: 1.1em .8em 1.2em; border-radius: .15em; box-shadow: 0 0 0 .2em #f4ead4, 0 0 0 .32em rgba(0,0,0,.25); }
.eb-cover .plate .vl { display: block; font: 700 .8em/1.2 'Open Sans', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--c); margin-bottom: .7em; }
.eb-cover .plate b { display: block; font-size: 1.42em; line-height: 1.16; font-weight: 700; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
.eb-cover .plate i { display: block; font-size: .98em; line-height: 1.3; margin-top: .55em; color: #5c5446; }
.eb-cover .eds { position: relative; z-index: 1; font-size: 1em; line-height: 1.3; }
.eb-cover .eds small { display: block; font: 600 .78em/1.2 'Open Sans', sans-serif; letter-spacing: .16em; text-transform: uppercase; opacity: .7; margin-bottom: .3em; }
.eb-cover.sm { font-size: 6.6px; }
.eb-cover.lg { font-size: 13px; }

/* ---------- shelf: one spine per chapter place ---------- */
.eb-shelf { --c: #0a2240; display: flex; align-items: flex-end; gap: 3px; height: 36px; padding: 0 6px; margin: .9rem 0 .5rem; border-bottom: 4px solid #9a7a52; border-radius: 0 0 2px 2px; box-shadow: 0 3px 0 -1px #d9c7a8; }
.eb-shelf i { flex: 1 1 0; max-width: 15px; min-width: 5px; border-radius: 2px 2px 0 0; }
.eb-shelf i.a { background-color: var(--c); background-image: linear-gradient(to bottom, transparent 16%, rgba(255,255,255,.4) 16% 20%, transparent 20% 78%, rgba(255,255,255,.4) 78% 82%, transparent 82%); box-shadow: inset -2px 0 rgba(0,0,0,.18); }
.eb-shelf i.r { background: repeating-linear-gradient(45deg, var(--c) 0 3px, #fff 3px 6px); opacity: .5; }
.eb-shelf i.o { border: 1.5px dashed #b6a98f; border-bottom: 0; }

/* ---------- hub hero ---------- */
.eb-hero { background: var(--eb-paper); padding: 3.4rem 0 4rem; position: relative; overflow: hidden; border-bottom: 1px solid var(--eb-line); }
.eb-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(rgba(122,98,60,.07) 1px, transparent 1px) 0 0/18px 18px; pointer-events: none; }
.eb-hero-in { position: relative; display: grid; grid-template-columns: 1fr 1.05fr; gap: 3rem; align-items: center; }
.eb-hero h1 { font-size: 3.6rem; line-height: 1.04; font-weight: 700; letter-spacing: -.01em; }
.eb-hero h1 span { display: block; font-size: .42em; font-weight: 500; color: var(--eb-red); margin-top: .5rem; letter-spacing: 0; }
.eb-lead { font-size: 1.15rem; line-height: 1.7; margin: 1.2rem 0 1.8rem; max-width: 30em; color: var(--eb-ink2); }
.eb-hero-cta { display: flex; flex-wrap: wrap; gap: .7rem; }
.eb-hero-nums { display: flex; gap: 2.2rem; margin: 2.2rem 0 0; padding-top: 1.4rem; border-top: 1px solid var(--eb-line); }
.eb-hero-nums dt { font-family: var(--eb-serif); font-size: 2rem; font-weight: 700; color: var(--eb-ink); line-height: 1; }
.eb-hero-nums dd { margin: .35rem 0 0; font-size: .82rem; color: var(--eb-mute); }

.eb-collage { position: relative; height: 540px; }
.eb-photo { margin: 0; }
.eb-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.eb-collage .eb-photo { position: absolute; right: 0; top: 0; width: 72%; height: 80%; border: 10px solid #fff; box-shadow: 0 18px 40px rgba(10,34,64,.22); transform: rotate(1.8deg); }
.eb-contents { position: absolute; left: 0; bottom: 6px; width: 66%; background: #fffdf8; padding: 1.5rem 1.6rem 1.3rem; box-shadow: 0 22px 44px rgba(10,34,64,.25), 0 2px 4px rgba(0,0,0,.06); transform: rotate(-2.2deg); font-family: var(--eb-serif); border: 1px solid #efe6d2; }
.eb-contents-h { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-bottom: 2px solid var(--eb-ink); padding-bottom: .5rem; margin-bottom: .6rem; }
.eb-contents-h b { font-size: 1.5rem; color: var(--eb-ink); }
.eb-contents-h span { font-size: .7rem; color: var(--eb-mute); text-align: right; font-family: 'Open Sans', sans-serif; }
.eb-contents ol { list-style: none; margin: 0; padding: 0; }
.eb-contents li { display: flex; align-items: baseline; font-size: .9rem; padding: .32rem 0; color: #2b2b2b; }
.eb-contents li .n { width: 1.4rem; flex: none; font-weight: 700; color: var(--eb-ink); }
.eb-contents li .t { flex: 1; display: flex; align-items: baseline; min-width: 0; }
.eb-contents li .t::after { content: ''; flex: 1; border-bottom: 1.5px dotted #bcae94; margin: 0 .4rem .25rem; min-width: 1rem; }
.eb-contents li .t em { font-size: .74rem; color: var(--eb-mute); margin-left: .4rem; white-space: nowrap; }
.eb-contents li .p { width: 1.8rem; text-align: right; flex: none; }
.eb-contents li.you { margin: .2rem -.4rem; padding: .35rem .4rem; background: linear-gradient(transparent 55%, rgba(255,214,90,.55) 55%); }
.eb-contents .hand { font-family: var(--eb-hand); font-size: 1.45rem; line-height: 1; color: var(--eb-red-d); font-weight: 700; white-space: nowrap; }
.eb-contents .hand.sm { font-size: 1.1rem; font-style: normal; color: var(--eb-red-d); }
.eb-stamp { position: absolute; right: 5%; bottom: 23%; width: 116px; height: 116px; border-radius: 50%; border: 3px solid rgba(200,66,60,.9); color: rgba(200,66,60,.92); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transform: rotate(-14deg); background: rgba(255,253,248,.35); }
.eb-stamp::before { content: ''; position: absolute; inset: 6px; border: 1.5px dashed rgba(200,66,60,.8); border-radius: 50%; }
.eb-stamp span { font: 700 .95rem/1.05 var(--eb-serif); text-transform: uppercase; letter-spacing: .06em; }
.eb-stamp small { font: 700 .62rem/1 'Open Sans', sans-serif; letter-spacing: .14em; margin-top: .35rem; }
.eb-note { position: absolute; left: 8%; top: 7%; width: 150px; padding: 1.1rem .9rem .9rem; background: #fde68a; font-family: var(--eb-hand); font-size: 1.55rem; line-height: 1.05; color: #3b2f12; transform: rotate(-4deg); box-shadow: 0 10px 18px rgba(0,0,0,.14); text-align: center; }
.eb-note::before { content: ''; position: absolute; top: -10px; left: 50%; width: 70px; height: 20px; margin-left: -35px; background: rgba(255,255,255,.6); box-shadow: 0 1px 2px rgba(0,0,0,.08); transform: rotate(3deg); }

/* ---------- strip ---------- */
.eb-strip { background: var(--eb-ink); color: rgba(255,255,255,.82); font-size: .9rem; }
.eb-strip .eb-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 1.6rem; padding-top: 1rem; padding-bottom: 1rem; }
.eb-strip b { color: #fff; }

/* ---------- sections ---------- */
.eb-sec { padding: 4.5rem 0; }
.eb-sec.tight { padding: 2.2rem 0 4rem; }
.eb-paper { background: var(--eb-paper); border-top: 1px solid var(--eb-line); border-bottom: 1px solid var(--eb-line); }
.eb-head { max-width: 720px; margin-bottom: 1.8rem; }
.eb-head p { color: var(--eb-mute); line-height: 1.7; }
.eb-head.row { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; }

/* ---------- catalogue ---------- */
.eb-filter { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-bottom: 1.6rem; }
.eb-search { flex: 1 1 260px; display: flex; align-items: center; gap: .5rem; background: #fff; border: 1.5px solid var(--eb-line); border-radius: 6px; padding: 0 .8rem; }
.eb-search i { color: var(--eb-mute); }
.eb-search input { border: 0; outline: 0; background: transparent; padding: .7rem 0; width: 100%; font: inherit; font-size: .92rem; }
.eb-search:focus-within { border-color: var(--eb-ink); }
.eb-tabs { display: flex; flex-wrap: wrap; gap: .35rem; }
.eb-tabs button { background: #fff; border: 1.5px solid var(--eb-line); border-radius: 6px; padding: .55rem .8rem; font: 600 .84rem 'Open Sans', sans-serif; color: var(--eb-ink2); cursor: pointer; }
.eb-tabs button small { color: var(--eb-mute); font-weight: 600; margin-left: .15rem; }
.eb-tabs button.on { background: var(--eb-ink); border-color: var(--eb-ink); color: #fff; }
.eb-tabs button.on small { color: rgba(255,255,255,.7); }
.eb-filter select { background: #fff; border: 1.5px solid var(--eb-line); border-radius: 6px; padding: .6rem .8rem; font: inherit; font-size: .88rem; color: var(--eb-ink2); }
.eb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; }
.eb-empty { text-align: center; padding: 2rem; color: var(--eb-mute); }
.eb-empty a { color: var(--eb-red); font-weight: 600; }

.eb-card { display: grid; grid-template-columns: auto 1fr; gap: 1.3rem; background: var(--eb-card); border: 1px solid var(--eb-line); border-radius: 10px; padding: 1.3rem; transition: box-shadow .25s, transform .25s; }
.eb-card:hover { box-shadow: 0 16px 34px rgba(10,34,64,.1); transform: translateY(-2px); }
.eb-card[hidden] { display: none; }
.eb-card-cv { display: block; text-decoration: none; align-self: start; transition: transform .3s; }
.eb-card:hover .eb-card-cv { transform: rotate(-2deg) translateY(-3px); }
.eb-card-b { min-width: 0; display: flex; flex-direction: column; }
.eb-card-top { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.eb-card-sub { font-size: .76rem; color: var(--eb-mute); }
.eb-card h3 { font-size: 1.2rem; line-height: 1.3; margin: .55rem 0 .2rem; }
.eb-card h3 a { text-decoration: none; }
.eb-card h3 a:hover { color: var(--eb-red); }
.eb-card-st { font-size: .84rem; color: var(--eb-mute); }
.eb-card-ed { display: flex; align-items: center; gap: .55rem; margin-top: .8rem; font-size: .84rem; color: var(--eb-ink2); }
.eb-faces { display: inline-flex; }
.eb-faces img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; margin-left: -8px; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.eb-faces img:first-child { margin-left: 0; }
.eb-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; font-size: .8rem; color: var(--eb-mute); margin-top: .2rem; }
.eb-card-meta b { color: var(--eb-green); }
.eb-card-act { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; padding-top: 1rem; }

/* ---------- process ---------- */
.eb-process { display: grid; grid-template-columns: .85fr 1.3fr; gap: 4rem; align-items: start; }
.eb-process-side { position: sticky; top: calc(var(--eb-hdr) + 20px); }
.eb-process-side p { color: var(--eb-mute); line-height: 1.7; margin-bottom: 1.4rem; }
.eb-photo.tall { height: 360px; margin-bottom: 1.4rem; border: 8px solid #fff; box-shadow: 0 14px 30px rgba(10,34,64,.16); transform: rotate(-1.2deg); }
.eb-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.eb-steps li { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; padding: 1.35rem 0; border-top: 1px solid var(--eb-line); }
.eb-steps li:first-child { border-top: 0; padding-top: 0; }
.eb-steps .n { font-family: var(--eb-serif); font-size: 2.3rem; line-height: 1; color: var(--eb-red); font-weight: 600; }
.eb-steps h3 { font-size: 1.18rem; margin-bottom: .3rem; }
.eb-steps p { line-height: 1.65; color: var(--eb-ink2); }
.eb-steps small { display: inline-block; margin-top: .5rem; font-size: .76rem; font-weight: 600; color: var(--eb-mute); background: #fff; border: 1px solid var(--eb-line); padding: .15rem .55rem; border-radius: 4px; }

/* ---------- what you receive ---------- */
.eb-receive { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.eb-cert { background: #fffdf6; padding: 14px; box-shadow: 0 22px 46px rgba(10,34,64,.18); transform: rotate(-1.6deg); border: 1px solid #eadfc6; }
.eb-cert-in { border: 4px double var(--eb-ink); padding: 2rem 1.6rem 1.6rem; text-align: center; font-family: var(--eb-serif); background: radial-gradient(circle at 50% 40%, rgba(200,66,60,.05), transparent 60%); }
.eb-cert-in small { font: 700 .72rem 'Open Sans', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--eb-mute); }
.eb-cert-in h3 { font-size: 1.7rem; margin: .5rem 0 1rem; }
.eb-cert-in p { font-size: .9rem; color: #4a4437; margin: .3rem 0; }
.eb-cert-in .who { display: block; font-size: 1.5rem; color: var(--eb-ink); border-bottom: 1px solid var(--eb-line); padding: .2rem 1rem .4rem; margin: .2rem auto .5rem; width: fit-content; }
.eb-cert-in .what { display: block; font-size: 1.05rem; color: var(--eb-ink); margin: .2rem 0 .4rem; }
.eb-cert-f { display: flex; justify-content: space-between; align-items: center; margin-top: 1.4rem; }
.eb-cert-f .sig { font-family: var(--eb-hand); font-size: 1.5rem; color: var(--eb-ink); border-top: 1px solid #b9ae98; padding-top: .2rem; min-width: 110px; }
.eb-cert-f .seal { width: 70px; height: 70px; border-radius: 50%; background: var(--eb-red); color: #fff; display: flex; align-items: center; justify-content: center; font: 700 .8rem 'Open Sans', sans-serif; letter-spacing: .12em; box-shadow: 0 0 0 4px #fffdf6, 0 0 0 6px var(--eb-red); }
.eb-ticks { list-style: none; margin: 1.4rem 0 0; padding: 0; }
.eb-ticks li { position: relative; padding: .8rem 0 .8rem 2rem; border-top: 1px solid var(--eb-line); }
.eb-ticks li:first-child { border-top: 0; }
.eb-ticks li::before { content: ''; position: absolute; left: 2px; top: 1.05rem; width: 12px; height: 7px; border-left: 2.5px solid var(--eb-red); border-bottom: 2.5px solid var(--eb-red); transform: rotate(-45deg); }
.eb-ticks b { display: block; color: var(--eb-ink); font-size: 1rem; }
.eb-ticks span { font-size: .88rem; color: var(--eb-mute); }
.eb-ticks.sm li { padding: .55rem 0 .55rem 2rem; }
.eb-ticks.sm li::before { top: .8rem; }

/* ---------- editors ---------- */
.eb-faculty { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.2rem; }
.eb-faculty.big { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1.6rem; }
.eb-fac { text-decoration: none; display: block; }
.eb-fac img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 6px; display: block; margin-bottom: .7rem; filter: saturate(.9); transition: filter .3s, transform .3s; box-shadow: 0 8px 20px rgba(10,34,64,.12); }
.eb-fac:hover img { filter: saturate(1.05); transform: translateY(-3px); }
.eb-fac b { display: block; font-family: var(--eb-serif); color: var(--eb-ink); font-size: 1.02rem; }
.eb-fac small { display: block; font-size: .78rem; color: var(--eb-mute); line-height: 1.45; margin-top: .15rem; }
.eb-fac span { display: block; font-size: .78rem; color: var(--eb-red-d); margin-top: .4rem; font-weight: 600; }

/* ---------- lead band ---------- */
.eb-lead-band { display: grid; grid-template-columns: 1fr 1fr; background: var(--eb-ink); color: rgba(255,255,255,.85); }
.eb-lead-band figure { margin: 0; min-height: 420px; }
.eb-lead-band figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.eb-lead-band-t { padding: 4rem 3.5rem; align-self: center; max-width: 620px; }
.eb .eb-lead-band h2 { color: #fff; }
.eb-lead-band p { line-height: 1.75; margin-bottom: 1rem; }
.eb-lead-band ul { margin: 0 0 1.8rem; padding-left: 1.1rem; line-height: 1.9; }

/* ---------- FAQ ---------- */
.eb-faq-wrap { display: grid; grid-template-columns: .8fr 1.4fr; gap: 4rem; }
.eb-faq-wrap > div:first-child p { margin-bottom: 1.2rem; }
.eb-faq details { border-bottom: 1px solid var(--eb-line); }
.eb-faq summary { list-style: none; cursor: pointer; padding: 1.1rem 2rem 1.1rem 0; font-family: var(--eb-serif); font-size: 1.08rem; font-weight: 600; color: var(--eb-ink); position: relative; }
.eb-faq summary::-webkit-details-marker { display: none; }
.eb-faq summary::after { content: '+'; position: absolute; right: .2rem; top: .9rem; font: 400 1.5rem 'Open Sans', sans-serif; color: var(--eb-red); }
.eb-faq details[open] summary::after { content: '\2212'; }
.eb-faq details p { padding: 0 0 1.1rem; line-height: 1.7; color: var(--eb-ink2); }
.eb-faq details p a { color: var(--eb-red); font-weight: 600; }

/* ---------- track band ---------- */
.eb-track-band { background: var(--eb-paper); border-top: 1px solid var(--eb-line); padding: 2.6rem 0; }
.eb-track-band .eb-wrap { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.eb-track-band h2 { font-size: 1.5rem; margin: 0; }
.eb-track-band p { color: var(--eb-mute); }
.eb-track { display: flex; gap: .5rem; flex-wrap: wrap; }
.eb-track input { padding: .75rem .9rem; border: 1.5px solid var(--eb-line); border-radius: 6px; font: inherit; font-size: .92rem; min-width: 220px; background: #fff; flex: 1 1 200px; }
.eb-track input:focus { outline: 0; border-color: var(--eb-ink); }
.eb-track.boxed { background: #fff; border: 1px solid var(--eb-line); padding: 1rem; border-radius: 10px; margin: 1.2rem 0 .4rem; }

/* ---------- book page ---------- */
.eb-bk { background: var(--eb-paper); padding: 2rem 0 3.4rem; border-bottom: 1px solid var(--eb-line); position: relative; }
.eb-bk::before { content: ''; position: absolute; inset: 0; background: radial-gradient(rgba(122,98,60,.07) 1px, transparent 1px) 0 0/18px 18px; pointer-events: none; }
.eb-bk .eb-wrap { position: relative; }
.eb-bk-in { display: grid; grid-template-columns: auto 1fr 330px; gap: 2.6rem; align-items: start; }
.eb-bk-cv { transform: rotate(-2deg); }
.eb-bk-txt h1 { font-size: 2.5rem; line-height: 1.12; margin: .7rem 0 .4rem; font-weight: 700; }
.eb-bk-sub { font-family: var(--eb-serif); font-size: 1.1rem; color: var(--eb-mute); }
.eb-bk-about { font-size: 1.02rem; line-height: 1.75; margin: 1.1rem 0 1.4rem; }
.eb-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.6rem; margin: 0; padding-top: 1.2rem; border-top: 1px solid var(--eb-line); }
.eb-facts dt { font-size: .74rem; font-weight: 700; color: var(--eb-mute); text-transform: uppercase; letter-spacing: .06em; }
.eb-facts dd { margin: .2rem 0 0; font-weight: 600; color: var(--eb-ink); font-size: .95rem; }
.eb-facts .w { grid-column: 1 / -1; }
.eb-facts .w dd { font-weight: 400; }

.eb-notice { position: relative; background: #fff; border-top: 6px solid var(--eb-red); padding: 1.7rem 1.4rem 1.4rem; box-shadow: 0 18px 40px rgba(10,34,64,.16); transform: rotate(.7deg); }
.eb-notice .pin { position: absolute; top: -15px; left: 50%; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #f28b84, var(--eb-red-d) 60%); box-shadow: 0 3px 5px rgba(0,0,0,.3); }
.eb-notice-h { font-family: var(--eb-serif); font-size: 1.55rem; font-weight: 700; color: var(--eb-ink); text-align: center; }
.eb-notice-l { text-align: center; font-size: .82rem; color: var(--eb-mute); margin: .6rem 0 .4rem; }
.eb-notice-p { font-size: .92rem; line-height: 1.65; text-align: center; margin: .8rem 0; }
.eb-count { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
.eb-count div { border: 1px solid var(--eb-line); border-radius: 6px; text-align: center; padding: .5rem 0 .4rem; background: #fffdf8; }
.eb-count b { display: block; font-family: var(--eb-serif); font-size: 1.75rem; line-height: 1; color: var(--eb-ink); }
.eb-count small { font-size: .7rem; color: var(--eb-mute); }
.eb-notice-n { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; margin-bottom: .6rem; }
.eb-notice-n b { display: block; font-family: var(--eb-serif); font-size: 1.3rem; color: var(--eb-ink); }
.eb-notice-n b.g { color: var(--eb-green); }
.eb-notice-n small { font-size: .72rem; color: var(--eb-mute); }
.eb-notice-fee { font-size: .82rem; line-height: 1.55; margin-top: 1rem; padding-top: .9rem; border-top: 1px dashed var(--eb-line); color: var(--eb-mute); }
.eb-notice-fee b { color: var(--eb-ink); }

.eb-jump { position: sticky; top: var(--eb-hdr); z-index: 40; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--eb-line); backdrop-filter: blur(6px); }
.eb-jump .eb-wrap { display: flex; align-items: center; gap: 1.4rem; min-height: 54px; overflow-x: auto; }
.eb-jump a:not(.eb-btn) { text-decoration: none; font-size: .88rem; font-weight: 600; color: var(--eb-ink2); white-space: nowrap; }
.eb-jump a:not(.eb-btn):hover { color: var(--eb-red); }
.eb-jump .eb-btn { margin-left: auto; white-space: nowrap; }

.eb-two { display: grid; grid-template-columns: 1.25fr 1fr; gap: 4rem; }
.eb-topics { list-style: none; margin: 1.2rem 0 0; padding: 0; }
.eb-topics li { margin-bottom: .5rem; }
.eb-topics li > a, .eb-topics li > .x { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: .6rem; padding: .85rem 1rem; background: #fff; border: 1px solid var(--eb-line); border-radius: 6px; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.eb-topics .n { font-family: var(--eb-serif); font-weight: 700; color: var(--eb-mute); }
.eb-topics .t { font-size: .95rem; color: var(--eb-ink); }
.eb-topics em { font-style: normal; font-size: .72rem; font-weight: 700; padding: .18rem .55rem; border-radius: 999px; }
.eb-topics .tp-open em { background: #e3f2e9; color: var(--eb-green); }
.eb-topics .tp-any em { background: #e5eaf2; color: var(--eb-ink); }
.eb-topics .tp-review em { background: #fbefd5; color: var(--eb-amber); }
.eb-topics .tp-taken em { background: #eee9df; color: var(--eb-mute); }
.eb-topics .tp-taken .t { text-decoration: line-through; color: #9a927f; }
.eb-topics .tp-taken .x, .eb-topics .tp-review .x { background: #faf7f1; }
.eb-topics li > a:hover { border-color: var(--eb-red); box-shadow: 0 6px 16px rgba(200,66,60,.1); }
.eb-topics li > a:hover em::after { content: ' \2192'; }
.eb-dates { list-style: none; margin: 1.2rem 0 0; padding: 0 0 0 1.6rem; position: relative; }
.eb-dates::before { content: ''; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: var(--eb-line); }
.eb-dates li { position: relative; padding: 0 0 1.35rem; }
.eb-dates li::before { content: ''; position: absolute; left: -1.6rem; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid #b8ad98; }
.eb-dates li.done::before { background: var(--eb-ink); border-color: var(--eb-ink); }
.eb-dates li.now::before { background: var(--eb-red); border-color: var(--eb-red); box-shadow: 0 0 0 5px rgba(200,66,60,.18); }
.eb-dates b { display: block; color: var(--eb-ink); }
.eb-dates span { font-family: var(--eb-serif); font-size: 1.05rem; color: var(--eb-ink2); }
.eb-dates small { display: block; font-size: .8rem; color: var(--eb-mute); }

.eb-edrow { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 1.4rem; margin-top: 1.2rem; }
.eb-ed { display: grid; grid-template-columns: 150px 1fr; gap: 1.3rem; background: #fff; border: 1px solid var(--eb-line); border-radius: 10px; padding: 1.1rem; }
.eb-ed img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 6px; }
.eb-ed .role { font-size: .72rem; font-weight: 700; color: var(--eb-red); text-transform: uppercase; letter-spacing: .06em; }
.eb-ed b { display: block; font-family: var(--eb-serif); font-size: 1.2rem; color: var(--eb-ink); margin: .2rem 0 .3rem; }
.eb-ed p { font-size: .86rem; color: var(--eb-mute); line-height: 1.55; }
.eb-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: .7rem 0; }
.eb-tags span { font-size: .74rem; background: var(--eb-paper); border: 1px solid var(--eb-line); padding: .15rem .5rem; border-radius: 4px; color: var(--eb-ink2); }
.eb-ed-l { display: flex; gap: 1rem; font-size: .85rem; font-weight: 600; }
.eb-ed-l a { color: var(--eb-red); text-decoration: none; }
.eb-ed-l a .fa-orcid { color: #a6ce39; }

.eb-guide { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; align-items: start; }
.eb-rules { list-style: none; padding: 0; margin: 1rem 0 1.2rem; }
.eb-rules li { padding: .6rem 0 .6rem 1.4rem; border-top: 1px solid var(--eb-line); position: relative; line-height: 1.55; }
.eb-rules li::before { content: ''; position: absolute; left: 0; top: 1.15rem; width: 8px; height: 2px; background: var(--eb-red); }
.eb-rules b { color: var(--eb-ink); }
.eb-files { background: #fff; border: 1px solid var(--eb-line); border-radius: 10px; padding: 1.4rem; }
.eb-files h3 { font-size: 1.2rem; margin-bottom: .8rem; }
.eb-files a { display: grid; grid-template-columns: 52px 1fr; grid-template-rows: auto auto; column-gap: .9rem; align-items: center; padding: .7rem 0; border-top: 1px solid var(--eb-line); text-decoration: none; }
.eb-files a:first-of-type { border-top: 0; }
.eb-files .ext { grid-row: 1 / 3; width: 42px; height: 52px; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 6px; font: 700 .62rem 'Open Sans', sans-serif; color: #fff; background: linear-gradient(225deg, transparent 10px, var(--eb-ink) 10px); border-radius: 3px; position: relative; }
.eb-files .ext::before { content: ''; position: absolute; top: 0; right: 0; width: 14px; height: 14px; background: linear-gradient(225deg, transparent 50%, #9fb0c9 50%); }
.eb-files b { color: var(--eb-ink); font-size: .95rem; }
.eb-files a:hover b { color: var(--eb-red); }
.eb-files small { color: var(--eb-mute); font-size: .8rem; }
.eb-files.flat { border: 0; padding: 0; background: transparent; }
.eb-cta-band { background: var(--eb-ink); color: rgba(255,255,255,.8); padding: 2.6rem 0; }
.eb-cta-band .eb-wrap { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.eb .eb-cta-band h2 { color: #fff; font-size: 1.6rem; margin: 0 0 .2rem; }
.eb-toc { list-style: none; padding: 0; margin: 1.2rem 0 0; font-family: var(--eb-serif); }
.eb-toc li { display: flex; align-items: baseline; gap: .6rem; padding: .9rem 0; border-bottom: 1px solid var(--eb-line); }
.eb-toc .n { width: 2rem; font-weight: 700; color: var(--eb-red); }
.eb-toc .t { flex: 1; }
.eb-toc .t b { display: block; color: var(--eb-ink); font-size: 1.05rem; }
.eb-toc .t em { font-size: .85rem; color: var(--eb-mute); }
.eb-toc .p { color: var(--eb-mute); }
.eb-toc .d { font: 700 .74rem 'Open Sans', sans-serif; color: var(--eb-red); text-decoration: none; border: 1px solid currentColor; padding: .15rem .45rem; border-radius: 4px; }

/* ---------- submission wizard ---------- */
.eb-sub-head { margin-bottom: 1.6rem; }
.eb-sub-head h1 { font-size: 2.4rem; margin-bottom: .3rem; }
.eb-sub-head p { color: var(--eb-mute); }
.eb-wiz { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 2rem; align-items: start; }
.eb-form { scroll-margin-top: calc(var(--eb-hdr) + 14px); background: #fff; border: 1px solid var(--eb-line); border-radius: 12px; padding: 1.8rem 2rem 1.6rem; box-shadow: 0 10px 30px rgba(10,34,64,.06); }
.eb-prog { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; }
.eb-prog li { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .4rem; font-size: .76rem; color: var(--eb-mute); }
.eb-prog li::before { content: ''; position: absolute; top: 15px; left: calc(-50% + 18px); right: calc(50% + 18px); height: 2px; background: var(--eb-line); }
.eb-prog li:first-child::before { display: none; }
.eb-prog li i { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid var(--eb-line); background: #fff; font: 700 .85rem 'Open Sans', sans-serif; color: var(--eb-mute); position: relative; z-index: 1; }
.eb-prog li.on { color: var(--eb-ink); font-weight: 700; }
.eb-prog li.on i { border-color: var(--eb-red); background: var(--eb-red); color: #fff; }
.eb-prog li.done i { border-color: var(--eb-ink); background: var(--eb-ink); color: #fff; }
.eb-prog li.done::before, .eb-prog li.on::before { background: var(--eb-ink); }
.eb-step { display: none; border: 0; margin: 0; padding: 0; min-width: 0; }
.eb-step.on { display: block; animation: ebIn .3s ease; }
@keyframes ebIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.eb-step legend { font-family: var(--eb-serif); font-size: 1.4rem; font-weight: 600; color: var(--eb-ink); margin-bottom: 1rem; padding: 0; }
.eb-step-note { font-size: .85rem; color: var(--eb-mute); margin: -.6rem 0 1rem; }
.eb-f { margin-bottom: 1.05rem; min-width: 0; }
.eb-f > label, .eb-f-l { display: block; font-size: .85rem; font-weight: 600; color: var(--eb-ink); margin-bottom: .35rem; }
.opt { font-weight: 400; color: var(--eb-mute); font-size: .78rem; }
.eb-f input, .eb-f select, .eb-f textarea { width: 100%; padding: .72rem .85rem; border: 1.5px solid #ddd2bf; border-radius: 6px; font: inherit; font-size: .95rem; color: var(--eb-ink2); background: #fffdfa; transition: border-color .2s, box-shadow .2s; }
.eb-f textarea { resize: vertical; line-height: 1.6; }
.eb-f input:focus, .eb-f select:focus, .eb-f textarea:focus { outline: 0; border-color: var(--eb-ink); box-shadow: 0 0 0 3px rgba(10,34,64,.1); background: #fff; }
.eb-f.bad input, .eb-f.bad select, .eb-f.bad textarea, .eb-f.bad .eb-chips { border-color: var(--eb-red); }
.hint { display: block; font-size: .78rem; color: var(--eb-mute); margin-top: .3rem; }
.err { display: block; font-size: .8rem; color: var(--eb-red-d); font-style: normal; margin-top: .3rem; }
.err:empty { display: none; }
.eb-row { display: flex; gap: 0 1rem; }
.eb-row > * { flex: 1 1 0; }
.eb-row.r3 > :first-child { flex: 0 0 110px; }
.eb-form [hidden] { display: none !important; }
.eb-topic-pick { display: grid; gap: .45rem; }
.eb-topic-pick label { display: grid; grid-template-columns: 20px 1fr auto; gap: .7rem; align-items: center; padding: .75rem .9rem; border: 1.5px solid var(--eb-line); border-radius: 6px; cursor: pointer; font-size: .93rem; color: var(--eb-ink); transition: border-color .2s, background .2s; }
.eb-topic-pick label:hover { border-color: #bfb29a; }
.eb-topic-pick input { accent-color: var(--eb-red); width: 17px; height: 17px; margin: 0; }
.eb-topic-pick label.sel { border-color: var(--eb-red); background: #fff7f5; }
.eb-topic-pick label.off { cursor: not-allowed; background: #faf7f1; color: #9a927f; }
.eb-topic-pick label.off span { text-decoration: line-through; }
.eb-topic-pick em { font-style: normal; font-size: .7rem; font-weight: 700; color: var(--eb-mute); }
.eb-choice { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.eb-choice.three { grid-template-columns: repeat(3, 1fr); }
.eb-choice label { display: flex; gap: .7rem; padding: .9rem; border: 1.5px solid var(--eb-line); border-radius: 8px; cursor: pointer; }
.eb-choice input { accent-color: var(--eb-red); margin-top: .2rem; width: 18px !important; height: 18px; padding: 0 !important; flex: none; }
.eb-choice b { display: block; color: var(--eb-ink); font-size: .93rem; }
.eb-choice small { color: var(--eb-mute); font-size: .8rem; line-height: 1.45; }
.eb-choice label:has(input:checked) { border-color: var(--eb-red); background: #fff7f5; }
.eb-coauth { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px dashed var(--eb-line); }
.eb-coauth-h { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .6rem; }
.eb-coauth-h b { font-family: var(--eb-serif); font-size: 1.1rem; color: var(--eb-ink); }
.eb-coauth-h span { font-size: .78rem; color: var(--eb-mute); }
.eb-co-row { border: 1px solid var(--eb-line); border-radius: 8px; padding: .9rem .9rem .2rem; margin-bottom: .7rem; background: #fffdf8; }
.eb-co-row-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; font-size: .82rem; font-weight: 700; color: var(--eb-ink); }
.eb-co-row-h div { display: flex; gap: .3rem; }
.eb-co-row-h button { border: 1px solid var(--eb-line); background: #fff; border-radius: 4px; width: 28px; height: 28px; cursor: pointer; color: var(--eb-ink2); }
.eb-co-row-h button:hover { border-color: var(--eb-ink); }
.eb-co-row-h button:disabled { opacity: .35; cursor: default; }
.eb-co-row-h button.rm:hover { border-color: var(--eb-red); color: var(--eb-red); }
.eb-add { background: transparent; border: 1.5px dashed #c5b89f; border-radius: 6px; width: 100%; padding: .75rem; font: 600 .88rem 'Open Sans', sans-serif; color: var(--eb-ink); cursor: pointer; }
.eb-add:hover { border-color: var(--eb-ink); }
.eb-meter { height: 4px; background: #eee6d7; border-radius: 4px; margin-top: .45rem; overflow: hidden; }
.eb-meter span { display: block; height: 100%; width: 0; background: #c5b89f; transition: width .2s, background .2s; }
.eb-meter span.ok { background: var(--eb-green); }
.eb-meter span.over { background: var(--eb-red); }
.eb-chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: .45rem; border: 1.5px solid #ddd2bf; border-radius: 6px; background: #fffdfa; cursor: text; }
.eb-chips:focus-within { border-color: var(--eb-ink); box-shadow: 0 0 0 3px rgba(10,34,64,.1); }
.eb-chips .chip { display: inline-flex; align-items: center; gap: .3rem; background: var(--eb-paper); border: 1px solid var(--eb-line); border-radius: 999px; padding: .22rem .3rem .22rem .7rem; font-size: .85rem; color: var(--eb-ink); }
.eb-chips .chip button { border: 0; background: transparent; cursor: pointer; color: var(--eb-mute); font-size: .9rem; line-height: 1; padding: 0 .25rem; }
.eb-chips input { border: 0 !important; box-shadow: none !important; padding: .3rem !important; flex: 1 1 140px; width: auto !important; background: transparent !important; }
.eb-drop { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .25rem; padding: 1.5rem 1rem; border: 2px dashed #cdbfa6; border-radius: 10px; background: #fffaf1; cursor: pointer; margin-bottom: .9rem; transition: border-color .2s, background .2s; }
.eb-drop .ic { font-size: 1.6rem; color: var(--eb-ink); }
.eb-drop b { color: var(--eb-ink); font-size: .95rem; word-break: break-all; }
.eb-drop small { color: var(--eb-mute); font-size: .8rem; }
.eb-drop.small { padding: .8rem 1rem; flex-direction: row; justify-content: center; gap: .8rem; }
.eb-drop:hover, .eb-drop.over { border-color: var(--eb-ink); background: #fff; }
.eb-drop.has { border-style: solid; border-color: var(--eb-green); background: #f2f8f4; }
.eb-drop.bad { border-color: var(--eb-red); }
.eb-decl { display: grid; gap: .55rem; margin-top: .4rem; }
.eb-decl label { display: flex; gap: .7rem; align-items: flex-start; font-size: .9rem; line-height: 1.5; padding: .65rem .8rem; border-radius: 6px; background: #faf7f1; cursor: pointer; }
.eb-decl input { accent-color: var(--eb-red); width: 17px; height: 17px; flex: none; margin-top: .15rem; }
.eb-decl label.bad { outline: 1.5px solid var(--eb-red); }
.eb-decl a { color: var(--eb-red); }
.eb-review { border: 1px solid var(--eb-line); border-radius: 8px; overflow: hidden; }
.eb-rv { padding: 1rem 1.1rem; border-top: 1px solid var(--eb-line); }
.eb-rv:first-child { border-top: 0; }
.eb-rv h4 { display: flex; justify-content: space-between; align-items: baseline; font-size: 1rem; color: var(--eb-ink); margin-bottom: .5rem; }
.eb-rv h4 button { border: 0; background: transparent; color: var(--eb-red); font: 600 .82rem 'Open Sans', sans-serif; cursor: pointer; }
.eb-rv dl { display: grid; grid-template-columns: 150px 1fr; gap: .35rem 1rem; margin: 0; font-size: .88rem; }
.eb-rv dt { color: var(--eb-mute); }
.eb-rv dd { margin: 0; color: var(--eb-ink); word-break: break-word; }
.eb-nav { display: flex; align-items: center; gap: 1rem; margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--eb-line); }
.eb-nav #ebNext { margin-left: auto; }
.eb-saved { font-size: .78rem; color: var(--eb-mute); }
.eb-done-h { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.3rem; }
.eb-done-h h2 { margin: 0; font-size: 1.7rem; }
.tick { flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--eb-green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.eb-receipt { border: 1.5px dashed #c5b89f; border-radius: 10px; padding: 1.2rem 1.3rem; background: #fffdf6; margin-bottom: 1.6rem; }
.r-top { display: flex; justify-content: space-between; font-size: .78rem; color: var(--eb-mute); margin-bottom: .8rem; gap: 1rem; }
.r-id { display: flex; align-items: center; gap: 1rem; padding-bottom: .9rem; margin-bottom: .8rem; border-bottom: 1px solid var(--eb-line); flex-wrap: wrap; }
.r-id small { font-size: .78rem; color: var(--eb-mute); }
.r-id b { font-family: var(--eb-serif); font-size: 1.8rem; color: var(--eb-ink); letter-spacing: .03em; }
.eb-copy { margin-left: auto; border: 1px solid var(--eb-line); background: #fff; border-radius: 4px; padding: .35rem .7rem; font: 600 .8rem 'Open Sans', sans-serif; cursor: pointer; }
.eb-receipt dl { display: grid; grid-template-columns: 150px 1fr; gap: .35rem 1rem; margin: 0; font-size: .88rem; }
.eb-receipt dt { color: var(--eb-mute); }
.eb-receipt dd { margin: 0; color: var(--eb-ink); }
.eb-done h3 { font-size: 1.2rem; margin-bottom: .6rem; }
.eb-next { margin: 0 0 1.6rem; padding-left: 1.2rem; line-height: 1.8; }
.eb-next b { color: var(--eb-ink); }

.eb-side { position: sticky; top: calc(var(--eb-hdr) + 18px); display: grid; gap: 1rem; }
.eb-side-bk { background: #fff; border: 1px solid var(--eb-line); border-radius: 12px; padding: 1.1rem; }
.eb-side-bk .bk { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; }
.eb-side-bk .bk[hidden] { display: none; }
.eb-side-bk .bk.none { display: block; font-size: .88rem; color: var(--eb-mute); text-align: center; padding: 1rem 0; }
.eb-side-bk .bk.none[hidden] { display: none; }
.eb-side-bk .eb-cover { font-size: 4.8px; }
.eb-side-bk b { display: block; font-family: var(--eb-serif); color: var(--eb-ink); line-height: 1.3; }
.eb-side-bk small { display: block; font-size: .76rem; color: var(--eb-mute); margin: .2rem 0 .5rem; }
.eb-side-bk .d { display: block; font-size: .8rem; color: var(--eb-ink2); }
.eb-side-bk .d.g { color: var(--eb-green); font-weight: 700; margin-top: .2rem; }
.eb-side-box { background: var(--eb-paper); border: 1px solid var(--eb-line); border-radius: 12px; padding: 1.1rem 1.2rem; }
.eb-side-box b { font-family: var(--eb-serif); color: var(--eb-ink); }
.eb-side-box ul { margin: .5rem 0 0; padding-left: 1.1rem; font-size: .85rem; line-height: 1.7; }
.eb-side-box a { color: var(--eb-red); font-weight: 600; }
.eb-side-help { display: flex; gap: .8rem; align-items: center; padding: .9rem 1.1rem; border-radius: 12px; background: #eaf6ef; border: 1px solid #cde8d8; text-decoration: none; }
.eb-side-help i { font-size: 1.7rem; color: #1f9d55; }
.eb-side-help b { display: block; color: var(--eb-ink); font-size: .9rem; }
.eb-side-help span { font-size: .8rem; color: var(--eb-ink2); }

/* ---------- status page ---------- */
.eb-status { background: #fff; border: 1px solid var(--eb-line); border-radius: 12px; padding: 1.6rem; margin-top: 1.4rem; }
.eb-status-h { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1.6rem; flex-wrap: wrap; }
.eb-status-h small { font: 700 .8rem 'Open Sans', sans-serif; color: var(--eb-mute); letter-spacing: .04em; }
.eb-status-h h2 { font-size: 1.5rem; margin: .2rem 0; }
.eb-status-h p { font-size: .9rem; color: var(--eb-mute); }
.eb-status-h p a { color: var(--eb-ink); font-weight: 600; }
.eb-rail { list-style: none; margin: 0 0 1.6rem; padding: 0; display: grid; grid-template-columns: repeat(8, 1fr); }
.eb-rail li { position: relative; text-align: center; padding: 0 .25rem; }
.eb-rail li::before { content: ''; position: absolute; top: 15px; left: -50%; right: 50%; height: 3px; background: var(--eb-line); }
.eb-rail li:first-child::before { display: none; }
.eb-rail li.done::before, .eb-rail li.now::before { background: var(--eb-ink); }
.eb-rail li > i { position: relative; z-index: 1; width: 32px; height: 32px; margin: 0 auto .5rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 700 .8rem 'Open Sans', sans-serif; background: #fff; border: 2px solid var(--eb-line); color: var(--eb-mute); }
.eb-rail li.done > i { background: var(--eb-ink); border-color: var(--eb-ink); color: #fff; }
.eb-rail li.now > i { background: var(--eb-red); border-color: var(--eb-red); color: #fff; box-shadow: 0 0 0 5px rgba(200,66,60,.18); }
.eb-rail b { display: block; font-size: .76rem; line-height: 1.3; color: var(--eb-ink); }
.eb-rail small { display: block; font-size: .68rem; color: var(--eb-mute); line-height: 1.3; margin-top: .2rem; }
.eb-rail li:not(.done):not(.now) b { color: var(--eb-mute); font-weight: 600; }
.eb-action { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 1.2rem; border-left: 4px solid var(--eb-red); background: #fff6f4; border-radius: 0 8px 8px 0; margin-bottom: 1.6rem; flex-wrap: wrap; }
.eb-action b { color: var(--eb-ink); font-size: 1.02rem; }
.eb-action p { font-size: .88rem; margin-top: .2rem; }
.eb-action.calm { border-left-color: var(--eb-ink); background: #f2f5f9; }
.eb-status h3 { font-size: 1.1rem; margin-bottom: .5rem; }
.eb-log { list-style: none; margin: 0; padding: 0; font-size: .9rem; }
.eb-log li { display: grid; grid-template-columns: 120px 1fr; padding: .55rem 0; border-top: 1px solid var(--eb-line); }
.eb-log span { color: var(--eb-mute); }

/* ---------- guidelines ---------- */
.eb-doc { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 3.5rem; align-items: start; }
.eb-doc-toc { position: sticky; top: calc(var(--eb-hdr) + 20px); display: flex; flex-direction: column; gap: .1rem; font-size: .88rem; }
.eb-doc-toc b { font-family: var(--eb-serif); color: var(--eb-ink); margin-bottom: .5rem; }
.eb-doc-toc a:not(.eb-btn) { color: var(--eb-ink2); text-decoration: none; padding: .32rem 0 .32rem .8rem; border-left: 2px solid var(--eb-line); }
.eb-doc-toc a:not(.eb-btn):hover, .eb-doc-toc a.on { color: var(--eb-red); border-left-color: var(--eb-red); }
.eb-doc-toc .eb-btn { margin-top: 1rem; }
.eb-doc-body { max-width: 760px; line-height: 1.75; }
.eb-lead2 { font-size: 1.08rem; color: var(--eb-ink2); }
.eb-doc-body h2 { font-size: 1.45rem; margin: 2.4rem 0 .7rem; padding-top: 1.6rem; border-top: 1px solid var(--eb-line); scroll-margin-top: calc(var(--eb-hdr) + 16px); }
.eb-doc-body ol, .eb-doc-body ul { padding-left: 1.3rem; }
.eb-doc-body p + p { margin-top: .7rem; }
.eb-table { width: 100%; border-collapse: collapse; font-size: .92rem; background: #fff; border: 1px solid var(--eb-line); }
.eb-table th { text-align: left; width: 140px; background: var(--eb-paper); color: var(--eb-ink); padding: .6rem .9rem; border-top: 1px solid var(--eb-line); font-weight: 600; }
.eb-table td { padding: .6rem .9rem; border-top: 1px solid var(--eb-line); }
.eb-eg { background: #fff; border-left: 3px solid var(--eb-ink); padding: .8rem 1rem; font-size: .88rem; margin-top: .7rem; }

/* ---------- editor profile ---------- */
.eb-prof { display: grid; grid-template-columns: 260px 1fr; gap: 2.6rem; align-items: start; }
.eb-prof img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 8px; border: 8px solid #fff; box-shadow: 0 16px 34px rgba(10,34,64,.16); transform: rotate(-1.5deg); }
.eb-prof-r { font-size: 1.02rem; color: var(--eb-mute); margin-bottom: 1rem; line-height: 1.6; }
.eb-prof p { line-height: 1.75; max-width: 640px; }

/* ---------- propose ---------- */
.eb-prop { display: grid; grid-template-columns: 1fr 1.1fr; gap: 3.5rem; align-items: start; }
.eb-prop-l > p { line-height: 1.75; margin-bottom: 1.4rem; }
.eb-prop-l .eb-photo { height: 260px; border: 8px solid #fff; box-shadow: 0 14px 30px rgba(10,34,64,.15); transform: rotate(-1deg); margin-bottom: 1.6rem; }
.eb-prop-l h3 { font-size: 1.2rem; margin-top: 1.4rem; }
.eb-mini-steps { padding-left: 1.2rem; line-height: 1.9; margin-top: .4rem; }
.eb-seg { display: grid; grid-template-columns: 1fr 1fr; background: var(--eb-paper); border-radius: 8px; padding: 4px; margin-bottom: 1.4rem; }
.eb-seg button { border: 0; background: transparent; padding: .7rem .5rem; border-radius: 6px; font: 600 .86rem 'Open Sans', sans-serif; color: var(--eb-ink2); cursor: pointer; }
.eb-seg button.on { background: #fff; color: var(--eb-ink); box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.eb-seg button:disabled { opacity: .45; cursor: default; }
.eb-ok { text-align: center; padding: 2rem 1rem; }
.eb-ok .tick { margin: 0 auto 1rem; }
.eb-ok h3 { font-size: 1.5rem; margin-bottom: .4rem; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .eb-bk-in { grid-template-columns: auto 1fr; }
    .eb-notice { grid-column: 1 / -1; max-width: 520px; transform: none; justify-self: center; width: 100%; }
    .eb-faculty { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .eb-wiz { grid-template-columns: minmax(0, 1fr) 280px; }
}
@media (max-width: 960px) {
    .eb-hero-in, .eb-process, .eb-receive, .eb-faq-wrap, .eb-two, .eb-guide, .eb-prop, .eb-doc { grid-template-columns: 1fr; gap: 2.4rem; }
    .eb-hero h1 { font-size: 2.8rem; }
    .eb-collage { height: 470px; max-width: 560px; width: 100%; margin: 0 auto; }
    .eb-grid { grid-template-columns: 1fr; }
    .eb-process-side, .eb-doc-toc { position: static; }
    .eb-photo.tall { height: 260px; }
    .eb-lead-band { grid-template-columns: 1fr; }
    .eb-lead-band figure { min-height: 260px; height: 260px; }
    .eb-lead-band-t { padding: 2.6rem 24px; }
    .eb-wiz { grid-template-columns: 1fr; }
    .eb-side { position: static; order: -1; }
    .eb-side-box, .eb-side-help { display: none; }
    .eb-doc-toc { flex-direction: row; flex-wrap: wrap; gap: .4rem; }
    .eb-doc-toc b { width: 100%; }
    .eb-doc-toc a:not(.eb-btn) { border: 1px solid var(--eb-line); border-radius: 4px; padding: .25rem .6rem; background: #fff; }
    .eb-doc-toc .eb-btn { display: none; }
    .eb-rail { grid-template-columns: 1fr; gap: 0; }
    .eb-rail li { display: grid; grid-template-columns: 32px 1fr; column-gap: .9rem; text-align: left; padding: 0 0 1rem; }
    .eb-rail li > i { margin: 0; grid-row: 1 / 3; }
    .eb-rail li::before { left: 15px; right: auto; width: 3px; height: auto; top: -1rem; bottom: calc(100% - 4px); }
    .eb-rail b { font-size: .88rem; padding-top: .3rem; }
    .eb-prof { grid-template-columns: 180px 1fr; }
}
@media (max-width: 640px) {
    .eb-wrap { padding: 0 16px; }
    .eb-sec { padding: 3.2rem 0; }
    .eb h2 { font-size: 1.6rem; }
    .eb-h1, .eb-sub-head h1 { font-size: 1.9rem; }
    .eb-hero { padding: 2.2rem 0 2.6rem; }
    .eb-hero h1 { font-size: 2.4rem; }
    .eb-lead { font-size: 1.02rem; }
    .eb-hero-cta .eb-btn { flex: 1 1 100%; }
    .eb-hero-nums { gap: 1.2rem; }
    .eb-hero-nums dt { font-size: 1.6rem; }
    .eb-collage { height: 400px; }
    .eb-collage .eb-photo { width: 80%; height: 66%; border-width: 7px; }
    .eb-contents { width: 88%; padding: 1.1rem 1.1rem 1rem; }
    .eb-contents li { font-size: .8rem; }
    .eb-contents li .t em { display: none; }
    .eb-contents .hand { font-size: 1.25rem; }
    .eb-stamp { width: 88px; height: 88px; right: 3%; bottom: auto; top: 3%; }
    .eb-stamp span { font-size: .78rem; }
    .eb-note { width: 118px; font-size: 1.3rem; left: 2%; top: 4%; }
    .eb-strip .eb-wrap { justify-content: flex-start; font-size: .84rem; }
    .eb-card { grid-template-columns: 1fr; padding: 1.1rem; }
    .eb-card-cv { display: none; }
    .eb-card-act .eb-btn { flex: 1; }
    .eb-faculty { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .eb-filter select { flex: 1 1 100%; }
    .eb-tabs { flex-wrap: nowrap; overflow-x: auto; width: 100%; scrollbar-width: none; }
    .eb-tabs button { white-space: nowrap; }
    .eb-bk-in { grid-template-columns: 1fr; gap: 1.6rem; }
    .eb-bk-cv { justify-self: center; }
    .eb-bk-cv .eb-cover.lg { font-size: 10px; }
    .eb-bk-txt h1 { font-size: 1.85rem; }
    .eb-facts { grid-template-columns: 1fr 1fr; }
    .eb-jump .eb-wrap { gap: 1rem; }
    .eb-jump .eb-btn { display: none; }
    .eb-edrow { grid-template-columns: 1fr; }
    .eb-ed { grid-template-columns: 96px 1fr; }
    .eb-form { padding: 1.3rem 1.1rem; border-radius: 10px; }
    .eb-prog li span { display: none; }
    .eb-prog li.on span { display: block; position: absolute; top: 38px; white-space: nowrap; }
    .eb-prog { margin-bottom: 2.6rem; }
    .eb-choice { grid-template-columns: 1fr; }
    .eb-row { flex-direction: column; }
    .eb-row.r3 > :first-child { flex: none; }
    .eb-rv dl, .eb-receipt dl { grid-template-columns: 1fr; gap: 0; }
    .eb-rv dd, .eb-receipt dd { margin-bottom: .45rem; }
    .eb-nav .eb-btn { padding: .75rem 1rem; }
    .eb-saved { display: none; }
    .eb-track input { min-width: 0; }
    .eb-track .eb-btn { flex: 1 1 100%; }
    .eb-prof { grid-template-columns: 1fr; }
    .eb-prof img { max-width: 220px; }
    .eb-cert { transform: rotate(-1deg); padding: 8px; }
    .eb-cert-in { padding: 1.4rem 1rem 1.2rem; }
    .eb-cert-in h3 { font-size: 1.35rem; }
    .eb-log li { grid-template-columns: 96px 1fr; }
    .eb-seg { grid-template-columns: 1fr; }
}

/* receipt printing */
@media print {
    body * { visibility: hidden; }
    #ebReceipt, #ebReceipt * { visibility: visible; }
    #ebReceipt { position: absolute; left: 0; top: 0; width: 100%; border-color: #999; }
    .eb-copy { display: none; }
}

/* book page: plain list of what the book covers (no statuses, nothing to pick) */
.eb-covers { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.eb-covers li { background: #fff; border: 1px solid var(--eb-line); border-radius: 6px; padding: .8rem 1rem .8rem 2.1rem; position: relative; color: var(--eb-ink); font-size: .95rem; }
.eb-covers li::before { content: ''; position: absolute; left: 1rem; top: 1.55rem; width: 8px; height: 2px; background: var(--eb-red); }
@media (max-width: 640px) { .eb-covers { grid-template-columns: 1fr; } }

/* writing-support notice in the submission form */
.eb-tip { display: flex; gap: .8rem; align-items: flex-start; background: #fdf6e3; border: 1px solid #f0dca8; border-left: 4px solid #d99a2b; border-radius: 6px; padding: .85rem 1rem; margin: .2rem 0 .8rem; font-size: .88rem; line-height: 1.6; color: var(--eb-ink2); }
.eb-tip > i { color: #b7791f; font-size: 1.1rem; margin-top: .2rem; }
.eb-tip b { display: block; color: var(--eb-ink); font-size: .93rem; }
.eb-tip .eb-pv { margin-top: .4rem; }
.eb-hint-line { margin-top: .4rem; font-size: .9rem; }
@media (max-width: 900px) { .eb-choice.three { grid-template-columns: 1fr; } }

.eb-step[data-step="3"] .eb-decl { margin-top: .4rem; }

.eb-mailnote { margin: 0 0 1.4rem; border-left-color: var(--eb-ink); background: #f2f5f9; border-color: #d6dfeb; }
.eb-mailnote > i { color: var(--eb-ink); }
.eb-mailnote span { font-weight: 700; color: var(--eb-ink); word-break: break-all; }

/* fees + Recommended badge + payment summary (Edited Books submit form) */
.eb-rec { display: inline-block; font-style: normal; font: 700 .66rem/1 'Open Sans', sans-serif; letter-spacing: .04em; text-transform: uppercase; background: var(--eb-green); color: #fff; padding: .28rem .5rem; border-radius: 999px; margin-left: .35rem; vertical-align: 2px; }
.eb-choice label.rec { position: relative; }
.eb-fees { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; gap: .35rem; }
.eb-fees li { display: grid; grid-template-columns: 1fr auto; column-gap: .8rem; background: #fff; border: 1px solid #f0dca8; border-radius: 6px; padding: .45rem .7rem; }
.eb-fees span { color: var(--eb-ink); font-weight: 600; }
.eb-fees b { display: inline; font-size: 1rem; color: var(--eb-ink); text-align: right; }
.eb-fees em { grid-column: 1 / -1; font-style: normal; font-size: .78rem; color: var(--eb-mute); }
.eb-paybox { border: 1px solid var(--eb-line); border-radius: 10px; overflow: hidden; margin: .4rem 0 1rem; background: #fff; }
.eb-paybox .row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .85rem 1rem; }
.eb-paybox .row + .row { border-top: 1px dashed var(--eb-line); }
.eb-paybox .row span { font-weight: 700; color: var(--eb-ink); }
.eb-paybox .row small { display: block; font-weight: 400; font-size: .8rem; color: var(--eb-mute); margin-top: .1rem; }
.eb-paybox .row b { font-family: var(--eb-serif); font-size: 1.35rem; color: var(--eb-ink); white-space: nowrap; }
.eb-paybox .row.now { background: #f2f8f4; }
.eb-paybox .row.now b { color: var(--eb-green); }
.eb-paybox .row.later b { color: var(--eb-mute); }
.eb-paybox p { margin: 0; padding: .7rem 1rem; font-size: .82rem; color: var(--eb-ink2); background: var(--eb-paper); border-top: 1px solid var(--eb-line); }
.eb-paybox p i { color: var(--eb-ink); margin-right: .3rem; }
.eb-payerr { margin-top: .8rem; padding: .7rem .9rem; border-radius: 6px; background: #fff1ef; border: 1px solid #f3c4bf; color: var(--eb-red-d); font-size: .88rem; }
.eb-secure { margin: .7rem 0 0; font-size: .8rem; color: var(--eb-mute); }
.eb-secure i { color: var(--eb-green); margin-right: .3rem; }
#ebNext:disabled { opacity: .75; cursor: wait; }

.eb-tip-full { background: #f2f5f9; border-color: #d6dfeb; border-left-color: var(--eb-ink); }
.eb-tip-full > i { color: var(--eb-ink); }
.eb-tip-full .eb-fees li { border-color: #d6dfeb; }
.eb-choice + .eb-tip { margin-top: .8rem; }

.eb-side [hidden] { display: none !important; }

/* uploaded cover image (admin panel) instead of the generated cover */
.eb-cover.img { padding: 0; background: #e9e4da; }
.eb-cover.img::before, .eb-cover.img::after { display: none; }
.eb-cover.img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Edited Books pages carry one extra menu item, so tighten the menu a little on mid-size screens */
@media (min-width: 1201px) and (max-width: 1500px) {
    .eb-body nav ul { gap: 1.05rem; }
    .eb-body nav ul li a { font-size: .82rem; }
    .eb-body .logo { font-size: 1.35rem; }
}
@media (min-width: 1201px) and (max-width: 1320px) {
    .eb-body nav ul { gap: .7rem; }
    .eb-body nav ul li a { font-size: .78rem; }
    .eb-body .logo { font-size: 1.2rem; }
    .eb-body .navbar { padding-left: 1.2rem; padding-right: 1.2rem; }
}

/* ================= submission form: choose a book (large covers + editors) ================= */
.eb-sr, .eb-f select.eb-sr { position: absolute !important; left: 0 !important; top: 0 !important; width: 1px !important; height: 1px !important; min-width: 0 !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0 !important; opacity: 0; pointer-events: none; }
.eb-bookf { position: relative; }
.eb-bookf.bad .eb-bookpick { outline: 2px solid var(--eb-red); outline-offset: 6px; border-radius: 10px; }

/* editors: photo + name */
.eb-people { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; }
.eb-people .p { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.eb-people img, .eb-people .ini, .eb-people .ph { flex: none; border-radius: 50%; object-fit: cover; background: var(--eb-paper); display: flex; align-items: center; justify-content: center; }
.eb-people .ini { background: var(--eb-ink); color: #fff; font: 700 1rem var(--eb-serif); }
.eb-people .ph { border: 2px dashed #c9bda6; color: #a99c83; background: #fffdf8; }
.eb-people .tx { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.eb-people .tx small { font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--eb-red); }
.eb-people .tx b { color: var(--eb-ink); font-family: var(--eb-serif); }
.eb-people .tx span { font-size: .82rem; color: var(--eb-mute); }
.eb-people.spot img, .eb-people.spot .ini, .eb-people.spot .ph { width: 88px; height: 88px; border: 4px solid #fff; box-shadow: 0 6px 16px rgba(10,34,64,.18); }
.eb-people.spot .ph { border: 2px dashed #c9bda6; box-shadow: none; font-size: 1.9rem; }
.eb-people.spot .ini { font-size: 1.6rem; }
.eb-people.spot .tx b { font-size: 1.12rem; }
.eb-people.pick { gap: .5rem; margin: .7rem 0 .2rem; flex-direction: column; }
.eb-people.pick img, .eb-people.pick .ini, .eb-people.pick .ph { width: 46px; height: 46px; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.eb-people.pick .ph { border: 2px dashed #c9bda6; box-shadow: none; font-size: 1.05rem; }
.eb-people.pick .tx b { font-size: .9rem; }
.eb-people.side { flex-direction: column; gap: .55rem; margin: .9rem 0; text-align: left; }
.eb-people.side img, .eb-people.side .ini, .eb-people.side .ph { width: 54px; height: 54px; border: 3px solid #fff; box-shadow: 0 3px 8px rgba(0,0,0,.15); }
.eb-people.side .ph { border: 2px dashed #c9bda6; box-shadow: none; font-size: 1.2rem; }

/* the chosen book, large */
.eb-spot-bk { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2rem; align-items: center; padding: 1.6rem; margin-bottom: .4rem;
    background: radial-gradient(rgba(122,98,60,.08) 1px, transparent 1px) 0 0/16px 16px, var(--eb-paper); border: 1px solid var(--eb-line); border-radius: 14px; }
.eb-spot-cv { transform: rotate(-2.5deg); padding: .4rem; }
.eb-spot-cv .eb-cover.lg { font-size: 12.5px; }
.eb-spot-k { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 700; color: var(--eb-green); background: #e3f2e9; padding: .25rem .65rem; border-radius: 999px; }
.eb-spot-tx h3 { font-size: 1.6rem; line-height: 1.2; margin: .7rem 0 .3rem; }
.eb-spot-sub { font-family: var(--eb-serif); color: var(--eb-mute); margin-bottom: 1.2rem; }
.eb-spot-facts { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; margin: 1.3rem 0 1rem; padding-top: 1rem; border-top: 1px dashed #d8ccb5; }
.eb-spot-facts dt { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--eb-mute); }
.eb-spot-facts dd { margin: .1rem 0 0; font-weight: 700; color: var(--eb-ink); }
.eb-spot-facts dd.g { color: var(--eb-green); }

/* all open books as cards */
.eb-pick-h { font-size: .85rem; color: var(--eb-mute); margin: 0 0 .6rem; }
.eb-bookpick { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.eb-pick { position: relative; display: flex; flex-direction: column; text-align: left; padding: 0; background: #fff; border: 2px solid var(--eb-line); border-radius: 12px; cursor: pointer; overflow: hidden; font: inherit; color: inherit; transition: border-color .2s, box-shadow .2s, transform .2s; }
.eb-pick:hover { border-color: #bfb29a; box-shadow: 0 12px 26px rgba(10,34,64,.12); transform: translateY(-2px); }
.eb-pick:focus-visible { outline: 3px solid rgba(10,34,64,.35); outline-offset: 2px; }
.eb-pick.on { border-color: var(--eb-red); box-shadow: 0 0 0 3px rgba(200,66,60,.15); }
.eb-pick-cv { display: flex; justify-content: center; padding: 1.3rem 1rem 1.1rem; background: radial-gradient(rgba(122,98,60,.08) 1px, transparent 1px) 0 0/14px 14px, var(--eb-paper); border-bottom: 1px solid var(--eb-line); }
.eb-pick-cv .eb-cover { font-size: 9.5px; transition: transform .3s; }
.eb-pick:hover .eb-pick-cv .eb-cover { transform: rotate(-2deg) translateY(-3px); }
.eb-pick-tx { display: flex; flex-direction: column; padding: .9rem 1rem 1rem; flex: 1; }
.eb-pick-tx > b { font-family: var(--eb-serif); font-size: 1.02rem; line-height: 1.3; color: var(--eb-ink); }
.eb-pick-tx > small { font-size: .78rem; color: var(--eb-mute); margin-top: .2rem; }
.eb-pick-m { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .2rem .8rem; margin-top: auto; padding-top: .7rem; font-size: .76rem; color: var(--eb-mute); }
.eb-pick-m .g { color: var(--eb-green); font-weight: 700; }
.eb-pick-ok { position: absolute; top: .7rem; right: .7rem; width: 30px; height: 30px; border-radius: 50%; background: var(--eb-red); color: #fff; display: none; align-items: center; justify-content: center; box-shadow: 0 3px 8px rgba(0,0,0,.2); }
.eb-pick.on .eb-pick-ok { display: flex; }

/* side panel: large cover + editors */
.eb-side-bk .bk { display: block; text-align: left; }
.eb-side-bk .bk-cv { display: flex; justify-content: center; padding: 1rem 0 1.2rem; margin: -1.1rem -1.1rem 1rem; background: radial-gradient(rgba(122,98,60,.08) 1px, transparent 1px) 0 0/14px 14px, var(--eb-paper); border-bottom: 1px solid var(--eb-line); border-radius: 12px 12px 0 0; }
.eb-side-bk .bk-cv .eb-cover { font-size: 10px; transform: rotate(-2deg); }
.eb-side-bk .bk > b { font-size: 1.08rem; }
.eb-side-bk .bk.none { text-align: center; padding: 1.6rem .5rem; }
.eb-side-bk .bk.none i { display: block; font-size: 2rem; color: #c9bda6; margin-bottom: .6rem; }

/* confirmation: the book cover next to "Submission received" */
.eb-done-book:empty { display: none; }
.eb-done-book { display: flex; align-items: center; gap: 1.4rem; padding: 1.1rem 1.3rem; margin: 0 0 1.4rem; background: var(--eb-paper); border: 1px solid var(--eb-line); border-radius: 12px; }
.eb-done-book .cv .eb-cover { font-size: 7.5px; transform: rotate(-2deg); }
.eb-done-book small { display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--eb-mute); }
.eb-done-book b { display: block; font-family: var(--eb-serif); font-size: 1.25rem; color: var(--eb-ink); line-height: 1.25; margin: .2rem 0; }
.eb-done-book span { font-size: .86rem; color: var(--eb-mute); }

@media (max-width: 960px) {
    .eb-side-bk .bk-cv .eb-cover { font-size: 8px; }
}
@media (max-width: 640px) {
    .eb-spot-bk { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 1.3rem 1rem; gap: 1.2rem; }
    .eb-spot-cv .eb-cover.lg { font-size: 11px; }
    .eb-spot-tx h3 { font-size: 1.35rem; }
    .eb-people.spot { justify-content: center; }
    .eb-people.spot .p { flex-direction: column; text-align: center; }
    .eb-spot-facts { justify-content: center; }
    .eb-bookpick { grid-template-columns: 1fr; }
    .eb-pick { flex-direction: row; }
    .eb-pick-cv { padding: .9rem .7rem; border-bottom: 0; border-right: 1px solid var(--eb-line); align-items: center; }
    .eb-pick-cv .eb-cover { font-size: 6.6px; }
    .eb-done-book { flex-direction: column; text-align: center; }
}

/* ================= "Let us choose the right book for your chapter" ================= */
.eb-or { display: flex; align-items: center; gap: 1rem; margin: 1.3rem 0; color: var(--eb-mute); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.eb-or::before, .eb-or::after { content: ''; flex: 1; height: 1px; background: var(--eb-line); }
.eb-auto { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.1rem; align-items: center; padding: 1.2rem 1.3rem;
    background: linear-gradient(135deg, #fffaf0, #fff); border: 2px dashed #d9c6a0; border-radius: 12px; transition: border-color .2s, box-shadow .2s; }
.eb-auto:hover { border-color: var(--eb-red); }
.eb-auto.on { border-style: solid; border-color: var(--eb-red); box-shadow: 0 0 0 3px rgba(200,66,60,.15); }
.eb-auto-ic { width: 56px; height: 56px; border-radius: 50%; background: var(--eb-ink); color: #f6d488; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; box-shadow: 0 6px 14px rgba(10,34,64,.2); }
.eb-auto-tx b { display: block; font-family: var(--eb-serif); font-size: 1.12rem; color: var(--eb-ink); line-height: 1.3; }
.eb-auto-tx p { margin: .3rem 0 0; font-size: .87rem; line-height: 1.55; color: var(--eb-ink2); }
.eb-auto .eb-btn { white-space: nowrap; }
.eb-auto-hub { margin-top: 1.6rem; }

/* fanned covers = "any of these books" */
.eb-fan { position: relative; width: 230px; height: 240px; }
.eb-fan > span { position: absolute; top: 18px; left: 50%; margin-left: -53px; transform-origin: 50% 110%; }
.eb-fan > span:nth-child(1) { transform: rotate(-14deg) translateX(-52px); }
.eb-fan > span:nth-child(2) { transform: rotate(0deg); z-index: 2; top: 6px; }
.eb-fan > span:nth-child(3) { transform: rotate(14deg) translateX(52px); }
.eb-fan > i { position: absolute; z-index: 3; right: 6px; bottom: 6px; width: 54px; height: 54px; border-radius: 50%; background: var(--eb-red); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; box-shadow: 0 6px 14px rgba(0,0,0,.25); }
.eb-fan.sm { width: 190px; height: 190px; }
.eb-fan.sm > span { top: 12px; }
.eb-fan.sm > span:nth-child(2) { top: 2px; }
.eb-fan.sm .eb-cover { font-size: 5.6px; }
.eb-spot-auto .eb-spot-cv { transform: none; }
.eb-auto-steps { list-style: none; counter-reset: a; margin: 1rem 0 1.2rem; padding: 0; display: grid; gap: .7rem; }
.eb-auto-steps li { counter-increment: a; position: relative; padding-left: 2.6rem; line-height: 1.5; color: var(--eb-ink2); }
.eb-auto-steps li::before { content: counter(a); position: absolute; left: 0; top: -.1rem; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--eb-ink); color: #fff; display: flex; align-items: center; justify-content: center; font: 700 .85rem var(--eb-serif); }
.eb-auto-steps b { color: var(--eb-ink); }
.eb-side-bk .bk-auto > small { margin-top: .4rem; line-height: 1.5; }
.eb-side-bk .bk-auto .bk-cv .eb-cover { transform: none; }

@media (max-width: 760px) {
    .eb-auto { grid-template-columns: auto minmax(0, 1fr); }
    .eb-auto .eb-btn { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 640px) {
    .eb-auto-ic { width: 46px; height: 46px; font-size: 1.15rem; }
    .eb-auto-steps { text-align: left; }
    .eb-fan { width: 210px; height: 220px; }
}

.eb-notice-mail { text-align: center; font-size: .84rem; color: var(--eb-mute); margin: .7rem 0 0; }
.eb-notice-mail a { color: var(--eb-ink); font-weight: 600; }
.eb-side-help span { line-height: 1.5; }
/* "Editor wanted" books also take chapters: small apply-to-edit line on the card */
.eb-card-ed-apply { display: block; margin-top: .55rem; font-size: .8rem; color: var(--eb-ink2) !important; text-decoration: none !important; }
.eb-card-ed-apply u { color: var(--eb-red); font-weight: 700; }
