/* v5 learn: the Brightside Playbooks shelf, flagship tile and the book sheet. Prefix: lr- */
.lr-shelf{--g:clamp(14px,1.8vw,28px);list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--g) + 10px) var(--g)}
.lr-b{min-width:0;display:flex;flex-direction:column}
.lr-b[hidden],.lr-flag[hidden]{display:none}
.lr-slot{position:relative;padding-bottom:14px}
.lr-slot::after{content:"";position:absolute;left:calc(var(--g)/-2);right:calc(var(--g)/-2);bottom:0;height:11px;border-radius:2px;background:linear-gradient(#F1ECF9,#DCD6EE 70%,#C7C0E3);box-shadow:0 10px 14px -10px rgba(30,27,75,.45)}
.lr-cv{position:relative;display:block;width:100%;aspect-ratio:2/3;padding:0;border:0;border-radius:3px 9px 9px 3px;background:var(--ink-2);cursor:pointer;overflow:hidden;
  box-shadow:0 1px 0 rgba(30,27,75,.25),0 6px 10px -6px rgba(30,27,75,.45),0 22px 30px -18px rgba(30,27,75,.6);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.lr-cv img{width:100%;height:100%;object-fit:cover}
.lr-cv::before{content:"";position:absolute;inset:0 auto 0 0;width:8%;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.05) 30%,rgba(0,0,0,.38) 62%,rgba(255,255,255,.08) 74%,transparent)}
.lr-cv::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);background:linear-gradient(115deg,rgba(255,255,255,.1),transparent 38%)}
.lr-cv:hover{transform:translateY(-7px);box-shadow:0 1px 0 rgba(30,27,75,.25),0 10px 14px -8px rgba(30,27,75,.45),0 34px 40px -22px rgba(30,27,75,.62)}
.lr-cv:focus-visible{outline:3px solid var(--sun);outline-offset:4px;box-shadow:0 0 0 0 transparent}
.lr-cap{margin:12px 0 0;display:grid;gap:3px;font-size:13px;color:var(--stone);line-height:1.35}
.lr-cap b{font-size:14.5px;color:var(--ink);font-weight:700;line-height:1.25;text-wrap:balance}
/* typographic cover (no artwork yet) */
.lr-type{position:absolute;inset:0;container-type:inline-size;display:flex;flex-direction:column;justify-content:space-between;padding:14% 12% 11% 16%;text-align:left;
  background:radial-gradient(120% 80% at 70% 30%,#2E2A6E,#141233 70%);color:var(--on-dark)}
.lr-type-n{font-family:var(--f-m);font-size:max(9.5px,6cqi);letter-spacing:.08em;text-transform:uppercase;color:var(--marigold)}
.lr-type-t{font-family:Georgia,"Times New Roman",serif;font-size:15.5cqi;line-height:1.02;letter-spacing:-.01em;text-wrap:balance;margin-top:auto}
.lr-type-t .d{--dc:var(--sun)}
.lr-type-a{margin-top:9%;padding-top:6%;border-top:1px solid rgba(255,201,0,.45);font-size:max(10px,6cqi);color:var(--marigold);font-weight:600}
/* flagship tile */
.lr-flag{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(16px,2.4vw,40px);align-items:center;
  padding:clamp(18px,2.6vw,40px);border-radius:var(--r-l);background:var(--ink);color:var(--on-dark);position:relative;overflow:hidden}
.lr-flag::before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;background:var(--blue);opacity:.22;right:-18%;top:-40%;pointer-events:none}
.lr-flag>*{position:relative}
.lr-cv-flag{aspect-ratio:360/509;border-radius:3px 10px 10px 3px;box-shadow:0 26px 40px -18px rgba(0,0,0,.8)}
.lr-flag-t{display:grid;gap:12px;align-content:center;min-width:0}
.lr-badge{justify-self:start;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;background:var(--sun);color:var(--ink);font-family:var(--f-m);font-size:11px;letter-spacing:.07em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.lr-flag-h{margin:0;font-family:var(--f-d);font-weight:800;letter-spacing:-.05em;line-height:.92;font-size:clamp(28px,4.6vw,72px);text-wrap:balance}
.lr-flag-s{margin:0;color:var(--on-dark-2);font-size:clamp(14.5px,1.4vw,18px);max-width:52ch}
.lr-flag-q{display:none;margin:4px 0 0;padding-left:16px;border-left:3px solid var(--sun);font-size:clamp(15px,1.3vw,18px);color:var(--on-dark);max-width:60ch}
.lr-flag-b{display:flex;flex-wrap:wrap;gap:10px}
.lr-flag .btn.line{color:var(--on-dark)}
.lr-more{aspect-ratio:2/3;border-radius:var(--r-m);background:var(--sun);padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.lr-more{container-type:inline-size}
.lr-more p{margin:0;font-family:var(--f-d);font-weight:800;letter-spacing:-.03em;line-height:1.02;font-size:clamp(17px,13cqi,26px)}
.lr-more .btn{width:100%;padding:0 10px}
.lr-note{margin:22px 0 0;font-size:14px;color:var(--stone);max-width:68ch}

/* the sheet: bottom sheet on phones, side panel from 1000px */
dialog.lr-sheet{border:0;padding:0;margin:auto auto 0;width:100%;max-width:100%;max-height:92vh;max-height:92dvh;border-radius:28px 28px 0 0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
dialog.lr-sheet[open]{animation:lr-up .34s var(--ease)}
dialog.lr-sheet::backdrop{background:rgba(30,27,75,.55)}
@keyframes lr-up{from{transform:translateY(36%);opacity:.4}}
@keyframes lr-in{from{transform:translateX(30%);opacity:.4}}
/* sticky top strip: the close button never sits over the text */
.lr-top{position:sticky;top:0;z-index:4;display:flex;justify-content:flex-end;align-items:center;height:58px;padding:0 10px;background:var(--paper)}
.lr-x{width:44px;height:44px;border-radius:50%;border:0;background:var(--fog);color:var(--ink);cursor:pointer;font-size:24px;line-height:1;display:grid;place-items:center}
.lr-x:hover{background:var(--fog-2)}
.lr-grab{position:absolute;left:50%;top:10px;translate:-50% 0;width:44px;height:5px;border-radius:9px;background:var(--fog-2)}
.lr-load{display:grid;place-items:center;min-height:240px}
.lr-hd{display:grid;grid-template-columns:clamp(92px,27vw,150px) minmax(0,1fr);gap:4px 18px;align-items:end;padding:0 var(--gutr) 22px var(--gut)}
.lr-hdt{min-width:0}
.lr-hdb{grid-column:1/-1;margin-top:10px}
@media (min-width:560px){.lr-hd{grid-template-rows:auto 1fr}.lr-hd>.lr-cv{grid-row:1/3}.lr-hdb{grid-column:2;margin-top:0;align-self:start}}
.lr-hd .lr-cv{cursor:default;pointer-events:none}
.lr-kick{font-family:var(--f-m);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--stone);margin:0 0 8px}
.lr-t{font-family:var(--f-d);font-weight:800;letter-spacing:-.045em;line-height:.95;font-size:clamp(26px,6.4vw,42px);margin:0;text-wrap:balance}
.lr-sub{margin:10px 0 0;color:var(--stone);font-size:15.5px;line-height:1.4}
.lr-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.lr-tags span{font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--fog)}
.lr-bd{padding:4px var(--gutr) 0 var(--gut);display:grid;gap:26px}
.lr-bd h3{font-family:var(--f-m);font-weight:400;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);margin:0 0 10px}
.lr-bd p{margin:0}
.lr-ded{margin:0;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:18px;line-height:1.45}
.lr-for{margin-top:10px!important;color:var(--stone)}
.lr-sample{margin:0;padding:20px 20px 18px;border-radius:var(--r-m);background:var(--sun);font-size:clamp(17px,4.4vw,20px);line-height:1.45;font-weight:600}
.lr-sample cite{display:block;margin-top:10px;font-style:normal;font-family:var(--f-m);font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:400}
.lr-ideas{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.lr-ideas li{display:grid;grid-template-columns:20px 1fr;gap:8px;font-weight:600}
.lr-ideas li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--marigold);margin-top:8px}
/* flip through */
.lr-flip{display:grid;gap:10px}
.lr-stage{position:relative;background:var(--fog);border-radius:var(--r-m);padding:16px;display:grid;place-items:center}
.lr-stage img{width:auto;max-width:100%;max-height:min(50vh,560px);aspect-ratio:2/3;border-radius:4px;box-shadow:0 14px 26px -16px rgba(30,27,75,.55);background:#fff}
.lr-stage .dots-loader{position:absolute}
.lr-fbar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lr-fbar span{font-size:14px;color:var(--stone)}
.lr-nav{display:flex;gap:8px}
.lr-nb{width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:20px;cursor:pointer;display:grid;place-items:center}
.lr-nb:disabled{opacity:.3;cursor:default}
.lr-thumbs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px}
.lr-thumbs button{flex:none;width:64px;padding:0;border:0;border-radius:4px;background:#fff;cursor:pointer;scroll-snap-align:start;box-shadow:0 0 0 2px var(--fog-2);opacity:.75}
.lr-thumbs button[aria-current="true"]{box-shadow:0 0 0 3px var(--ink);opacity:1}
.lr-thumbs img{border-radius:4px;aspect-ratio:2/3;width:100%;height:auto}
/* contents */
.lr-toc{margin:0;padding:0;list-style:none}
.lr-toc li{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--fog-2);font-weight:600}
.lr-toc li i{font-style:normal;font-family:var(--f-d);font-weight:800;color:var(--marigold)}
.lr-toc li.ex{color:var(--stone);font-weight:400}
.lr-toc li.pt{grid-template-columns:1fr;font-family:var(--f-m);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--stone);font-weight:400;border-bottom:0;padding-top:16px}
.lr-ft{position:sticky;bottom:0;z-index:2;background:linear-gradient(transparent,var(--paper) 30%);padding:22px var(--gutr) calc(12px + env(safe-area-inset-bottom,0px)) var(--gut);display:grid;margin-top:8px}
.lr-pn{display:flex;justify-content:space-between;gap:16px;min-width:0;padding:0 var(--gutr) calc(14px + env(safe-area-inset-bottom,0px)) var(--gut)}
.lr-ft>*{min-width:0}
.lr-pn button{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;background:none;padding:8px 0;min-height:44px;font-weight:700;font-size:14px;cursor:pointer;color:var(--stone);text-decoration:underline;text-underline-offset:3px;text-align:left}
.lr-pn button:last-child{text-align:right}
.lr-pn button:disabled{visibility:hidden}

@media (min-width:560px){.lr-flag-q{display:block}}
@media (min-width:700px){.lr-shelf{grid-template-columns:repeat(4,minmax(0,1fr))}.lr-flag{grid-column:span 3}.lr-more{display:none}}
@media (min-width:1000px){
  .lr-shelf{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lr-flag{grid-column:span 4;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}
  dialog.lr-sheet{margin:0 0 0 auto;width:min(720px,52vw);height:100vh;height:100dvh;max-height:100dvh;border-radius:28px 0 0 28px}
  dialog.lr-sheet[open]{animation-name:lr-in}
  .lr-grab{display:none}
  .lr-top{height:64px;padding:0 16px}
  .lr-hd{padding:0 36px 26px}
  .lr-bd{padding:4px 36px 0}
  .lr-ft{padding:22px 36px 14px}
  .lr-pn{padding:0 36px 20px}
}
@media (min-width:1400px){
  .lr-shelf{grid-template-columns:repeat(7,minmax(0,1fr))}
  .lr-flag{grid-column:span 6;grid-template-columns:clamp(220px,15vw,300px) minmax(0,1fr)}
  .lr-flag-t{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(28px,3vw,64px)}
  .lr-flag-q{grid-column:2;grid-row:1/span 4;align-self:center;font-size:clamp(20px,1.5vw,28px);line-height:1.4;padding-left:24px}
  .lr-more{display:flex}
}
/* layout audit (v5): tap targets, tablet sheet, short landscape screens */
.lr-flag .btn.sm,.lr-more .btn{min-height:44px}
@media (min-width:700px) and (max-width:999px){
  dialog.lr-sheet{max-width:760px;margin:auto auto 0;border-radius:28px 28px 0 0}
  .lr-hd{grid-template-columns:150px minmax(0,1fr)}
  .lr-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
}
@media (min-width:1400px){.lr-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}}
@media (max-height:520px){
  dialog.lr-sheet{max-height:100vh;max-height:100dvh;border-radius:20px 20px 0 0}
  .lr-top{height:52px}
  .lr-ft{position:static;padding-top:14px}
  .lr-stage img{max-height:70vh}
}
@media (max-height:520px) and (min-width:1000px){dialog.lr-sheet{border-radius:20px 0 0 20px}}
@media (prefers-reduced-motion:reduce){.lr-cv,.lr-cv:hover{transition:none;transform:none}dialog.lr-sheet[open]{animation:none}}
