/* abc345.info — Boi Mela: a guide bound as a hardback from the Ekushey book fair */
:root{
  --paper:#F7F3EA;--paper-2:#ECE5D5;--sheet:#FFFCF5;--ink:#1C1B29;--ink-2:#4A4757;--line:rgba(28,27,41,.16);
  --cloth:#0E4E55;--cloth-d:#0A3A40;--verm:#C63F24;--verm-t:#A8331B;--gilt:#E9B43C;--gilt-d:#A87913;--blush:#F2D3C7;--leaf:#2F5F3A;--cream:#FFF6E6;
  --f-d:'Besley','Noto Serif Bengali',Georgia,serif;--f-b:'Piazzolla','Noto Serif Bengali',Georgia,serif;--f-u:'Hind Siliguri','Noto Sans Bengali',system-ui,sans-serif;
  --linen:repeating-linear-gradient(0deg,rgba(0,0,0,.045) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px);
  --hd:120px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--hd)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.7 var(--f-b);overflow-x:hidden;text-rendering:optimizeLegibility}
html[lang=bn] body{line-height:1.85}
img,svg{max-width:100%}
a{color:var(--cloth);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--verm-t)}
:focus-visible{outline:3px solid var(--cloth);outline-offset:2px}
.cover :focus-visible,.desk :focus-visible,.ft :focus-visible,.bk a:focus-visible,.hd-nav a:focus-visible{outline-color:var(--gilt)}
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:16px}
@media (min-width:768px){.wrap{padding-inline:28px}}
@media (min-width:1200px){.wrap{padding-inline:40px}}
.skip{position:absolute;left:8px;top:-120px;z-index:100;background:var(--ink);color:var(--cream);padding:12px 16px;font:600 1rem/1 var(--f-u)}
.skip:focus{top:8px}
h1,h2,h3{font-family:var(--f-d);color:var(--ink);margin:0;text-wrap:balance}
html[lang=bn] h1,html[lang=bn] h2,html[lang=bn] h3{font-stretch:87.5%;line-height:1.45;letter-spacing:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:6px 20px;font:700 1rem/1.2 var(--f-u);border:2px solid transparent;border-radius:2px;text-decoration:none;text-align:center;cursor:pointer;transition:transform .15s,background .15s,color .15s}
.btn:hover{transform:translateY(-2px)}
.btn-verm{background:var(--verm);color:#fff}.btn-verm:hover{background:var(--verm-t);color:#fff}
.btn-ink{background:var(--ink);color:var(--cream)}.btn-ink:hover{background:var(--cloth-d);color:var(--cream)}
.btn-cream{background:var(--cream);color:#8E2A16}.btn-cream:hover{background:#fff;color:#8E2A16}
.btn-line{border-color:rgba(255,246,230,.75);color:var(--cream)}.btn-line:hover{background:rgba(255,246,230,.12);color:#fff}

/* ---------- header: headband + spine label ---------- */
.headband{height:7px;background:repeating-linear-gradient(90deg,var(--verm) 0 7px,var(--gilt) 7px 10px,var(--cloth) 10px 17px,var(--gilt) 17px 20px)}
.hd{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:3px double var(--ink)}
.hd-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-height:44px}
.bk-ico{width:24px;height:30px;color:var(--cloth);flex:none;display:none}
.brand-lbl{display:inline-block;background:var(--cloth);color:var(--gilt);padding:5px 12px 6px;border-radius:3px;box-shadow:inset 0 0 0 3px var(--cloth),inset 0 0 0 4px var(--gilt)}
.brand-nm{font:italic 800 1.2rem/1 var(--f-d);letter-spacing:.01em}
.brand-tg{font:600 .9rem/1.2 var(--f-u);color:var(--ink-2)}
.hd-tools{display:flex;align-items:center;gap:8px}
.lsw{display:inline-flex;border:1px solid var(--ink);border-radius:2px;overflow:hidden}
.lsw a{display:inline-grid;place-items:center;min-height:44px;min-width:44px;padding:0 10px;font:600 .95rem/1 var(--f-u);color:var(--ink);text-decoration:none}
.lsw a+a{border-left:1px solid var(--ink)}
.lsw a[aria-current]{background:var(--ink);color:var(--cream)}
.hd-cta{display:none;min-height:44px;padding-inline:16px;font-size:.95rem}
.hd-tg{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 12px;background:transparent;border:1px solid var(--ink);border-radius:2px;color:var(--ink);font:600 .95rem/1 var(--f-u);cursor:pointer}
.tg-ic{display:grid;gap:3px;width:22px}
.tg-ic i{display:block;height:4px;border-radius:1px;background:var(--cloth);transition:transform .2s}
.tg-ic i:nth-child(1){width:18px;background:var(--verm)}.tg-ic i:nth-child(2){width:22px}.tg-ic i:nth-child(3){width:15px;background:var(--ink)}
.hd.open .hd-tg{background:var(--ink);color:var(--cream)}
.hd.open .tg-ic i:nth-child(1){transform:translateX(4px)}.hd.open .tg-ic i:nth-child(3){transform:translateX(7px)}
.tg-t{display:none}
@media (min-width:400px){.bk-ico{display:block}.tg-t{display:inline}}
@media (max-width:359px){.brand-tg{display:none}}
@media (min-width:760px){.hd-cta{display:inline-flex}}

/* mobile: nav drops as a stack of book spines */
.hd-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper-2);border-bottom:3px double var(--ink);max-height:calc(100vh - 80px);overflow:auto;box-shadow:0 20px 30px -20px rgba(28,27,41,.5)}
.hd.open .hd-nav{display:block}
.hd-nav ul{list-style:none;margin:0;padding:14px 0 20px;display:grid;gap:6px}
.hd-nav a{display:flex;align-items:center;gap:14px;min-height:52px;padding:6px 18px 6px 16px;text-decoration:none;color:var(--cream);font:600 1.02rem/1.3 var(--f-u);border-radius:2px;background:var(--cloth);
  background-image:linear-gradient(90deg,transparent 0 44px,rgba(233,180,60,.85) 44px 46px,transparent 46px calc(100% - 30px),rgba(233,180,60,.85) calc(100% - 30px) calc(100% - 28px),transparent 0),var(--linen);
  box-shadow:inset 0 3px 0 rgba(255,255,255,.12),inset 0 -3px 0 rgba(0,0,0,.18)}
.hd-nav li:nth-child(5n+2) a{background-color:var(--verm)}
.hd-nav li:nth-child(5n+3) a{background-color:var(--ink)}
.hd-nav li:nth-child(5n+4) a{background-color:var(--leaf)}
.hd-nav li:nth-child(5n) a{background-color:#7A4A1E}
.hd-nav li:nth-child(odd){margin-right:5%}.hd-nav li:nth-child(even){margin-left:4%}
.hd-nav li:nth-child(3n){margin-right:9%}
.hd-nav .nx{font:italic 700 .95rem/1 var(--f-d);color:var(--gilt);width:22px;flex:none}
.hd-nav a[aria-current]{box-shadow:inset 0 0 0 3px var(--gilt)}
@media (min-width:980px){
  .hd-tg{display:none}
  .hd-nav{display:block;position:static;background:transparent;border:0;border-top:1px solid var(--line);box-shadow:none;max-height:none;overflow:visible}
  .hd-nav ul{display:flex;flex-wrap:wrap;padding:0;gap:0}
  .hd-nav li:nth-child(n){margin:0}
  .hd-nav a,.hd-nav li:nth-child(n) a{background:none;box-shadow:none;color:var(--ink);min-height:48px;padding:6px 14px;gap:8px;font-size:.98rem}
  .hd-nav li:first-child a{padding-left:0}
  .hd-nav .nx{color:var(--verm-t);width:auto;font-size:.85rem}
  .hd-nav a:hover{color:var(--verm-t)}
  .hd-nav a[aria-current],.hd-nav li:nth-child(n) a[aria-current]{box-shadow:inset 0 -3px 0 var(--verm)}
}
/* reading ribbon (wide screens only, lives in the right gutter) */
.ribbon{display:none}
@media (min-width:1360px){
  .ribbon{display:block;position:absolute;right:28px;top:calc(100% + 3px);width:18px;height:calc(24px + var(--rd,0) * 180px);background:var(--verm);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 9px),0 100%);box-shadow:inset -4px 0 0 rgba(0,0,0,.15)}
}

/* ---------- home: jacket ---------- */
.jacket{background:var(--paper-2);padding-block:22px 34px}
.jk{display:grid}
.cover{background-color:var(--verm);background-image:var(--linen);color:var(--cream);padding:10px;border-radius:2px 6px 6px 2px;box-shadow:inset 12px 0 0 rgba(0,0,0,.13),inset 13px 0 0 rgba(255,255,255,.1),0 22px 30px -20px rgba(28,27,41,.55);position:relative;z-index:1}
.cover-in{position:relative;border:1px solid rgba(233,180,60,.85);outline:1px solid rgba(233,180,60,.45);outline-offset:-7px;padding:clamp(24px,5vw,56px) clamp(18px,4vw,52px) clamp(24px,4vw,44px) clamp(24px,4.5vw,58px);display:flex;flex-direction:column;gap:18px;height:100%}
.cover-in::before,.cover-in::after{content:"";position:absolute;width:12px;height:12px;background:var(--gilt);transform:rotate(45deg)}
.cover-in::before{top:-7px;left:calc(50% - 6px)}.cover-in::after{bottom:-7px;left:calc(50% - 6px)}
.kicker{margin:0;font:600 .95rem/1.4 var(--f-u);color:var(--gilt)}
.kicker:lang(en){text-transform:uppercase;letter-spacing:.12em;font-size:.82rem}
.cover h1{color:var(--cream);font-weight:800;font-size:clamp(2.05rem,1.2rem + 3.7vw,4.1rem);line-height:1.04;letter-spacing:-.015em;max-width:17ch}
html[lang=bn] .cover h1{font-size:clamp(1.85rem,1.2rem + 2.8vw,3.3rem);line-height:1.4;max-width:20ch}
.byline{margin:0;display:flex;flex-wrap:wrap;gap:10px;font:italic 600 1.1rem/1.3 var(--f-d);color:var(--gilt)}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.flap{position:relative;background:var(--sheet);border:1px solid var(--line);padding:26px 22px 22px;margin:-4px 10px 0;box-shadow:0 14px 24px -18px rgba(28,27,41,.45)}
.flap::before{content:"";position:absolute;left:12px;right:12px;top:10px;border-top:1px dashed rgba(28,27,41,.3)}
.lead p{margin:0 0 .8em;font-size:1.12rem}
.lead p:last-child{margin-bottom:0}
.chips{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.chips li{font:600 .98rem/1.4 var(--f-u);padding:9px 12px;border-left:4px solid var(--cloth);background:var(--paper)}
.chips li:nth-child(2){border-color:var(--gilt)}.chips li:nth-child(3){border-color:var(--verm)}
@media (min-width:900px){
  .jacket{padding-block:40px 56px}
  .jk{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:stretch}
  .flap{margin:26px 0 26px -2px;padding:34px 30px 30px 34px;border-left:0;box-shadow:inset 16px 0 16px -14px rgba(28,27,41,.3),0 18px 26px -20px rgba(28,27,41,.5);display:flex;flex-direction:column;justify-content:center}
  .flap::before{left:10px;right:auto;top:12px;bottom:12px;border-top:0;border-left:1px dashed rgba(28,27,41,.3)}
}

/* ---------- home: the open book on the cloth desk ---------- */
.desk{background-color:var(--cloth);background-image:var(--linen);padding-block:40px 56px}
.spread{position:relative;display:grid;background:var(--sheet);border-radius:3px;box-shadow:0 3px 0 -1px #EFE7D5,0 6px 0 -2px #E2D8C2,0 9px 0 -3px #D4C8AE,0 34px 40px -26px rgba(0,0,0,.7)}
.pg{padding:22px 18px 24px;min-width:0}
.pg-r{order:-1;container-type:inline-size;background:linear-gradient(180deg,rgba(28,27,41,.07),transparent 26px)}
.pg-l{border-top:1px solid var(--line)}
.pg-k{margin:0 44px 4px 0;font:600 .95rem/1.4 var(--f-u);color:var(--verm-t)}
.pg-k:lang(en){text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.pg-t{margin:0 44px 12px 0;font:800 1.55rem/1.2 var(--f-d)}
html[lang=bn] .pg-t{font-stretch:87.5%;line-height:1.45}
.steps{margin:0 0 16px;padding-left:1.5em}
html[lang=bn] .steps{list-style-type:bengali}
.steps li{margin-bottom:6px}
.steps li::marker{color:var(--verm);font:700 1rem var(--f-d)}
.legend{list-style:none;margin:0 0 16px;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:8px;font:600 1rem/1.4 var(--f-u)}
.legend li{display:flex;align-items:center;gap:10px}
.lg{width:30px;height:30px;flex:none;border-radius:2px 4px 4px 2px;border:1px solid rgba(28,27,41,.25);background:var(--sheet) center/78% no-repeat}
.lg-safe{background-image:var(--i-lily)}
.lg-mine{background-color:#F6E4DC;background-image:var(--i-blot)}
.pg-note{margin:0;padding-top:12px;border-top:1px dashed rgba(28,27,41,.3);font-style:italic;font-size:1rem;color:var(--ink-2)}
.spread-rib{position:absolute;top:-10px;right:18px;width:22px;height:76px;background:var(--gilt);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 10px),0 100%);box-shadow:inset -5px 0 0 rgba(0,0,0,.12);transform-origin:top center;z-index:2}
@media (max-width:559px){.desk .wrap{padding-inline:8px}.pg{padding-inline:12px}.spread-rib{display:none}}
@media (min-width:900px){
  .spread{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
  .pg{padding:36px 34px 36px}
  .pg-r{order:0;background:linear-gradient(90deg,rgba(28,27,41,.13),transparent 34px)}
  .pg-l{border-top:0;background:linear-gradient(270deg,rgba(28,27,41,.1),transparent 34px);display:flex;flex-direction:column}
  .pg-note{margin-top:auto}
  .spread-rib{left:calc(39% - 11px);right:auto;height:120px}
  .pg-k,.pg-t{margin-right:0}
}
@media (prefers-reduced-motion:no-preference){.spread-rib{animation:sway 6s ease-in-out infinite alternate}}
@keyframes sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}

/* ---------- inner: title page ---------- */
.tpage{background:var(--paper);padding-block:14px 38px;border-bottom:1px solid var(--line)}
.runhead{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ink);margin-bottom:clamp(22px,4vw,48px)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;font:500 .98rem/1.3 var(--f-u);color:var(--ink-2)}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"/";margin:0 10px;color:var(--verm)}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--cloth)}
.crumbs span{display:inline-flex;align-items:center;min-height:44px}
.folio{font:italic 700 1.15rem/1 var(--f-d);color:var(--verm-t);white-space:nowrap}
.tp-g{display:grid;gap:30px;align-items:end}
.tpage h1{font-weight:800;font-size:clamp(2rem,1.3rem + 3vw,3.55rem);line-height:1.07;letter-spacing:-.015em;max-width:22ch}
html[lang=bn] .tpage h1{font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem);line-height:1.42}
.tpage .lead{margin-top:18px;max-width:62ch;color:var(--ink-2)}
.stack{display:none}
@media (min-width:900px){
  .tp-g{grid-template-columns:minmax(0,1fr) 220px;gap:48px}
  .stack{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:210px;border-bottom:7px solid var(--ink);padding-inline:10px}
  .sp{display:block;width:30px;height:var(--h);border-radius:2px 2px 0 0;background-color:var(--cloth);background-image:linear-gradient(180deg,transparent 9%,var(--gilt) 9% 11%,transparent 11% 86%,var(--gilt) 86% 88%,transparent 88%),var(--linen);box-shadow:inset 4px 0 0 rgba(255,255,255,.1),inset -4px 0 0 rgba(0,0,0,.15)}
  .sp-b{width:42px;background-color:var(--verm)}.sp-c{width:26px;background-color:var(--ink)}.sp-d{width:36px;background-color:var(--gilt);background-image:linear-gradient(180deg,transparent 9%,var(--ink) 9% 11%,transparent 11% 86%,var(--ink) 86% 88%,transparent 88%)}
  .sp-e{width:32px;background-color:var(--leaf);transform:rotate(-9deg);transform-origin:bottom left;margin-left:14px}
  .tpage-legal .sp{background-color:#6D6A74}.tpage-legal .sp-d{background-color:var(--blush)}
}

/* ---------- body: contents slip + chapters ---------- */
.body{display:grid;gap:30px;padding-block:36px 60px}
@media (min-width:1100px){.body{grid-template-columns:270px minmax(0,1fr);gap:clamp(40px,5vw,72px);padding-block:52px 72px}.side-in{position:sticky;top:calc(var(--hd) + 16px);max-height:calc(100vh - var(--hd) - 32px);overflow:auto;padding:2px 6px 6px 2px}}
.contents{background:var(--sheet);border:1px solid var(--line);padding:16px 18px 10px;box-shadow:5px 5px 0 var(--paper-2)}
.ct-h{margin:0 0 6px;padding-bottom:8px;border-bottom:3px double var(--ink);font:italic 700 1.2rem/1.3 var(--f-d)}
.contents ol{list-style:none;margin:0;padding:0}
.contents li+li{border-top:1px solid rgba(28,27,41,.07)}
.contents a{display:flex;align-items:baseline;gap:6px;min-height:44px;padding:9px 0;color:var(--ink);text-decoration:none;font:500 .98rem/1.4 var(--f-u)}
.contents a:hover .tl,.contents a[aria-current] .tl{color:var(--verm-t)}
.contents a[aria-current] .tl{font-weight:700}
.tl{min-width:0;max-width:85%}
.lead-dots{flex:1 1 12px;min-width:12px;border-bottom:2px dotted rgba(28,27,41,.35);transform:translateY(-5px)}
.tn{font:700 1rem/1 var(--f-d);color:var(--verm-t);flex:none}
.bmark{margin-top:24px;background:var(--gilt);color:var(--ink);padding:20px 18px 38px;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 18px),0 100%)}
.bm-t{margin:0 0 6px;font:800 1.25rem/1.3 var(--f-d)}
html[lang=bn] .bm-t{font-stretch:87.5%;line-height:1.5}
.bm-p{margin:0 0 14px;font-size:1rem;line-height:1.6}
html[lang=bn] .bm-p{line-height:1.8}
.bmark .btn{width:100%}

.art{max-width:46rem;min-width:0;container:art/inline-size}
.art>.intro{margin-bottom:8px}
.ch,.faq{margin-top:48px;padding-top:26px;border-top:3px double var(--ink);position:relative}
.art>.ch:first-child,.art>.intro+.ch{margin-top:0}
.ch::before,.faq::before{content:"";position:absolute;top:-8px;left:0;width:12px;height:12px;background:var(--verm);transform:rotate(45deg);box-shadow:0 0 0 4px var(--paper)}
.ch-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;margin-bottom:16px}
.ch-no{display:flex;flex-direction:column;align-items:center;min-width:64px;padding-top:2px}
.ch-no small{font:600 .75rem/1.3 var(--f-u);color:var(--ink-2)}
.ch-no small:lang(en){text-transform:uppercase;letter-spacing:.12em;font-size:.66rem}
.ch-no b{font:800 3.3rem/1 var(--f-d);color:transparent;-webkit-text-stroke:1.5px var(--verm)}
html[lang=bn] .ch-no b{font-weight:700;line-height:1.15}
.ch-q b{color:var(--verm);-webkit-text-stroke:0}
.art h2{font-weight:750;font-size:clamp(1.5rem,1.15rem + 1.3vw,2.1rem);line-height:1.18;padding-top:4px}
html[lang=bn] .art h2{font-size:clamp(1.4rem,1.1rem + 1.1vw,1.85rem)}
@container art (max-width:520px){.ch-no{min-width:46px}.ch-no b{font-size:2.5rem}.ch-head{gap:12px}}
.art p{margin:0 0 1em}
.art ul,.art ol{margin:0 0 1.1em;padding-left:1.3em}
html[lang=bn] .art ol{list-style-type:bengali}
.art li{margin-bottom:.45em}
.art li::marker{color:var(--verm)}
.art strong,.art b{font-weight:600;color:var(--ink)}
.art h3{font-weight:700;font-size:1.22rem;line-height:1.3;margin:1.6em 0 .5em}
.art table{display:block;overflow-x:auto;border-collapse:collapse;margin:0 0 1.2em;font:500 .98rem/1.5 var(--f-u);max-width:100%;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.art th,.art td{padding:10px 14px 10px 0;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;min-width:120px}
.art th{font-weight:700;color:var(--cloth)}
.art code{font:500 .92em/1.4 ui-monospace,Menlo,Consolas,monospace;background:var(--paper-2);padding:1px 5px;border-radius:2px;overflow-wrap:anywhere}
.art em{font-style:italic}
.faq-l{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding-inline:12px}
.faq details[open]{background:linear-gradient(225deg,var(--paper-2) 0 16px,var(--sheet) 16px)}
.faq summary{display:grid;grid-template-columns:auto minmax(0,1fr) 30px;gap:12px;align-items:center;min-height:56px;padding:12px 0;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.fq-n{font:italic 700 1rem/1 var(--f-d);color:var(--verm-t)}
.fq-q{font:600 1.08rem/1.4 var(--f-d)}
html[lang=bn] .fq-q{font-stretch:87.5%;line-height:1.6}
.fq-pm{position:relative;width:30px;height:30px;border:1px solid var(--ink);border-radius:50%}
.fq-pm::before,.fq-pm::after{content:"";position:absolute;left:8px;right:8px;top:13.5px;height:2px;background:var(--ink);transition:transform .2s}
.fq-pm::after{transform:rotate(90deg)}
details[open] .fq-pm{background:var(--ink)}
details[open] .fq-pm::before,details[open] .fq-pm::after{background:var(--cream)}
details[open] .fq-pm::after{transform:rotate(0)}
.fq-a{padding:0 0 16px}
@container art (min-width:560px){.fq-a{padding-left:34px}}

/* ---------- ex-libris bookplate CTA ---------- */
.exl-w{display:grid;margin-bottom:56px}
@media (min-width:1100px){.exl-w{grid-template-columns:270px minmax(0,1fr);column-gap:clamp(40px,5vw,72px)}.exlibris{grid-column:2}}
.exlibris{max-width:46rem;position:relative;background:var(--sheet);border:2px solid var(--cloth);outline:1px solid var(--cloth);outline-offset:-9px;padding:38px clamp(20px,5vw,48px) 34px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.exlibris::before,.exlibris::after{content:"";position:absolute;width:14px;height:14px;background:var(--gilt);transform:rotate(45deg);top:-8px}
.exlibris::before{left:-8px}.exlibris::after{right:-8px}
.exl-k{margin:0;font:italic 800 1.1rem/1 var(--f-d);color:var(--cream);background:var(--cloth);padding:8px 18px;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%)}
.exl-t{margin:0;font:600 1.3rem/1.35 var(--f-d);max-width:32ch;text-wrap:balance}
html[lang=bn] .exl-t{font-stretch:87.5%;line-height:1.6}

/* ---------- related: covers faced out on a shelf ---------- */
.shelf{background:var(--paper-2);padding-block:46px 52px;border-top:1px solid var(--line)}
.shelf-h{margin:0 0 22px;font:800 clamp(1.6rem,1.2rem + 1.4vw,2.2rem)/1.2 var(--f-d)}
html[lang=bn] .shelf-h{font-stretch:87.5%;line-height:1.45}
.shelf-l{list-style:none;margin:0;padding:0 0 14px;display:grid;grid-template-columns:1fr;gap:20px 18px;border-bottom:9px solid var(--ink);box-shadow:0 8px 0 -3px rgba(28,27,41,.18)}
.bk a{position:relative;display:flex;flex-direction:column;gap:10px;height:100%;min-height:150px;padding:22px 20px 16px 30px;color:var(--cream);text-decoration:none;border-radius:2px 6px 6px 2px;background-color:var(--cloth);background-image:var(--linen);box-shadow:inset 9px 0 0 rgba(0,0,0,.2),inset 10px 0 0 rgba(255,255,255,.12),0 14px 20px -14px rgba(0,0,0,.55);transition:transform .2s}
.bk a::before{content:"";position:absolute;inset:9px 9px 9px 18px;border:1px solid rgba(233,180,60,.55);pointer-events:none}
.bk a:hover{transform:translateY(-6px);color:#fff}
.bk-1 a{background-color:#B3381F}.bk-2 a{background-color:#26243A}.bk-4 a{background-color:var(--leaf)}
.bk-3 a{background-color:var(--gilt);color:var(--ink)}.bk-3 a::before{border-color:rgba(28,27,41,.4)}.bk-3 a:hover{color:var(--ink)}
.bk-n{font:italic 700 1rem/1 var(--f-d);color:var(--gilt)}.bk-3 .bk-n{color:var(--verm-t)}
.bk strong{font:700 1.22rem/1.22 var(--f-d)}
html[lang=bn] .bk strong{font-stretch:87.5%;line-height:1.5}
.bk-d{flex:1;font:500 .98rem/1.5 var(--f-u);opacity:.92}
html[lang=bn] .bk-d{line-height:1.75}
.bk-f{padding-top:8px;border-top:1px solid rgba(233,180,60,.5);font:italic 600 .9rem/1 var(--f-d);color:var(--gilt)}
.bk-3 .bk-f{border-color:rgba(28,27,41,.3);color:var(--ink)}
@media (min-width:900px){.bk a{min-height:270px}}
.shelf-note{margin:24px 0 0;max-width:72ch;font:500 1rem/1.6 var(--f-u);color:var(--ink-2)}
html[lang=bn] .shelf-note{line-height:1.8}

/* ---------- footer: cloth back cover ---------- */
.ft{background-color:var(--cloth-d);background-image:var(--linen);color:#DCE8E4}
.ft-g{display:grid;gap:30px;padding-block:40px 26px}
@media (min-width:800px){.ft-g{grid-template-columns:1.5fr 1fr 1fr;gap:44px}}
.brand-ft .brand-lbl{background:transparent;box-shadow:inset 0 0 0 1px var(--gilt)}
.brand-ft .bk-ico{color:var(--gilt)}
.ft-blurb p{margin:16px 0 0;font-size:1rem;line-height:1.7;max-width:48ch}
html[lang=bn] .ft-blurb p{line-height:1.85}
.ft-h{margin:0 0 6px;font:italic 700 1.15rem/1.3 var(--f-d);color:var(--gilt)}
.ft-l{list-style:none;margin:0;padding:0}
.ft-l a{display:inline-flex;align-items:center;min-height:44px;color:#F4F8F6;text-decoration:none;font:500 1rem/1.3 var(--f-u)}
.ft-l a:hover{color:var(--gilt);text-decoration:underline}
.ft-b{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;border-top:1px solid rgba(255,255,255,.2);padding-block:18px 28px;font:500 1rem/1.3 var(--f-u)}
.age{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--gilt);font:800 1rem/1 var(--f-d);color:var(--gilt)}
.ft-top{display:inline-flex;align-items:center;min-height:44px;color:#F4F8F6}
.ft-top:hover{color:var(--gilt)}
.barcode{margin-left:auto;width:118px;height:46px;background:var(--cream) padding-box;border:6px solid var(--cream);background-image:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 11px,transparent 11px 12px,var(--ink) 12px 13px,transparent 13px 16px)}
@media (max-width:420px){.barcode{margin-left:0}}

/* ---------- 404 ---------- */
.nf{padding-block:60px 90px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.nf-n{margin:0;font:800 5rem/1 var(--f-d);color:transparent;-webkit-text-stroke:2px var(--verm)}
.nf h1{font-size:clamp(2rem,1.4rem + 2.5vw,3rem)}

/* game icons, shared with the legend */
:root{
  --i-lily:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23E58AA2' stroke='%239E2E4C' stroke-width='1.1' stroke-linejoin='round'%3E%3Cpath d='M20 5c4.5 6 4.5 13 0 19c-4.5-6-4.5-13 0-19z'/%3E%3Cpath d='M20 24c-7.5-.5-12.5-5-14.5-11.5c7.5 0 12.5 4.5 14.5 11.5z'/%3E%3Cpath d='M20 24c7.5-.5 12.5-5 14.5-11.5c-7.5 0-12.5 4.5-14.5 11.5z'/%3E%3Cpath d='M20 25c-6 3.5-12.5 3.5-16.5 0c5-3.5 11.5-3.5 16.5 0z'/%3E%3Cpath d='M20 25c6 3.5 12.5 3.5 16.5 0c-5-3.5-11.5-3.5-16.5 0z'/%3E%3C/g%3E%3Ccircle cx='20' cy='23' r='2.8' fill='%23E9B43C'/%3E%3Cpath d='M7 33.5c8.5 3 17.5 3 26 0' stroke='%230E4E55' stroke-width='2.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  --i-blot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath fill='%231C1B29' d='M20 6c3.2 0 4.2 3.4 6.4 4.3s6-1.3 7.3 1.8s-2.3 5.1-1.6 7.4s4.4 4.1 2.6 7.2s-5.4.8-7.4 2.9s-1.7 5.4-5.3 5.4s-3.6-3.9-5.8-5.1s-6 .9-7.2-2.3s2.4-5 1.6-7.3s-4.3-4.2-2.4-7.1s5.3-.6 7.3-2.1s1.3-5.1 4.5-5.1z'/%3E%3Ccircle cx='34' cy='32' r='2.1' fill='%231C1B29'/%3E%3Ccircle cx='7' cy='8.5' r='1.6' fill='%231C1B29'/%3E%3Ccircle cx='31' cy='6.5' r='1.1' fill='%231C1B29'/%3E%3Cpath d='M16.5 16.5l7 7M23.5 16.5l-7 7' stroke='%23E2583A' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .btn:hover,.bk a:hover{transform:none}
}
@media (min-width:560px){.shelf-l{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){.shelf-l{grid-template-columns:repeat(3,minmax(0,1fr))}.cover-in{justify-content:center}}
.pressed{display:none}
@media (min-width:900px){.pressed{display:block;flex:1;min-height:120px;margin:18px 0;background:var(--i-lily) center/min(78%,230px) no-repeat;opacity:.16;filter:grayscale(.3);transform:rotate(-14deg)}}
