/* The Invisible Mechanism — independent, namespaced book demo.
   No library, image service, or site-wide CSS modifications required. */
:root{--lb-teal:#28686A;--lb-void:#09282D;--lb-gold:#D4BA82;--lb-paper:#F4EEE3;--lb-cream:#FBF7EF;--lb-ink:#233936;--lb-muted:#576964;--lb-edge:#D9CAB0;--lb-white:#F9F4E9;--lb-serif:Georgia,'Times New Roman',serif;--lb-sans:system-ui,-apple-system,Segoe UI,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
.lb-body{margin:0;background:linear-gradient(#09282D,#28686A 36%,#09282D);font-family:var(--lb-sans);color:var(--lb-white);min-width:320px}
.lb-body button,.lb-body a{font:inherit}
.lb-body button{cursor:pointer}
.lb-body :focus-visible{outline:3px solid #EBCA81;outline-offset:4px}
.lb-skip{position:absolute;top:-100px;left:10px;z-index:50;padding:12px 16px;background:var(--lb-paper);color:var(--lb-ink)}
.lb-skip:focus{top:10px}
.lb-site-header{display:flex;gap:18px;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:22px 22px 14px;border-bottom:1px solid #D4BA8233}
.lb-brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--lb-white);font-family:var(--lb-serif);font-size:1.22rem;letter-spacing:.025em}
.lb-brand small{display:block;font-family:var(--lb-sans);font-size:.54rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lb-gold);margin-top:4px}
.lb-brand-star{font-size:2rem;color:var(--lb-gold)}
.lb-header-link{color:var(--lb-gold);font-size:.8rem;text-decoration:none;border-bottom:1px solid #D4BA8266;padding-bottom:5px}
.lb-shell{max-width:1160px;margin:0 auto;padding:28px 16px 80px}
.lb-intro{text-align:center;margin:14px auto 22px;max-width:725px}
.lb-overline{color:var(--lb-gold);letter-spacing:.21em;text-transform:uppercase;font-size:.69rem;font-weight:600}
.lb-intro h1,.lb-conclusion h2{font-family:var(--lb-serif);font-weight:400;line-height:1.05;letter-spacing:-.035em;font-size:clamp(2.8rem,6vw,4.8rem);margin:14px 0}
.lb-intro em,.lb-conclusion em{font-weight:400;color:var(--lb-gold)}
.lb-intro>p:last-child,.lb-conclusion>p{color:#DAE3DE;max-width:690px;margin:12px auto;line-height:1.75;font-size:.91rem}
.lb-book{border:1px solid #D4BA8240;background:radial-gradient(ellipse at center,#2D5555 0%,#09282D 56%,#09282D 100%);padding:17px 14px 20px;border-radius:12px;box-shadow:0 14px 64px #03101688}
.lb-instructions{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.63rem;letter-spacing:.2em;color:#DDD1B5;min-height:23px}
.lb-instructions-dot{width:6px;height:6px;background:var(--lb-gold);border-radius:50%}
.lb-stage{width:min(100%,960px);height:clamp(430px,52vw,590px);margin:9px auto;position:relative;perspective:1900px;isolation:isolate}
.lb-spread{position:absolute;inset:0;display:flex;filter:drop-shadow(0 14px 22px #0008);transform:scale(.95);opacity:0;pointer-events:none;transition:opacity .45s ease,transform .65s ease}
.lb-book[data-state="open"] .lb-spread{opacity:1;transform:scale(1);pointer-events:auto}
.lb-paper,.lb-flip-face{background:linear-gradient(110deg,#E8DECE 0%,#FBF7EF 11%,#F4EEE3 85%,#E8DDCB 100%);color:var(--lb-ink);overflow-y:auto;scrollbar-color:#C9B99B transparent;scrollbar-width:thin;border:1px solid #C8B79B}
.lb-paper{width:50%;height:100%;position:relative}
.lb-paper-left{border-radius:5px 0 0 5px;box-shadow:inset -16px 0 22px -20px #241C12B0}
.lb-paper-right{border-radius:0 5px 5px 0;box-shadow:inset 16px 0 22px -20px #241C12B0}
.lb-spine{position:absolute;z-index:4;left:calc(50% - 7px);top:0;height:100%;width:14px;pointer-events:none;background:linear-gradient(90deg,transparent,#775C3B3D 40%,#FFFBEA42 58%,transparent);box-shadow:0 0 0 transparent}
.lb-page-content{padding:clamp(23px,3.4vw,50px) clamp(24px,3.8vw,52px) 25px;min-height:100%;display:flex;flex-direction:column;gap:0}
.lb-page-kicker{font-size:.65rem;letter-spacing:.19em;text-transform:uppercase;color:#8E7448;margin:0 0 17px}
.lb-page-content h2{font:400 clamp(1.55rem,2.7vw,2.35rem)/1.13 var(--lb-serif);color:#28686A;margin:0 0 17px;letter-spacing:-.025em}
.lb-page-content p{font:400 clamp(.84rem,1.1vw,.95rem)/1.8 var(--lb-sans);color:#3D504D;margin:0 0 13px}
.lb-page-content .lb-chapter-letter{font:400 5rem/1 var(--lb-serif);color:#AC8B4E;margin:15px 0 17px}
.lb-page-rule{height:1px;background:linear-gradient(90deg,#D4BA82,transparent);width:90px;margin:5px 0 18px}
.lb-page-content .lb-page-quote{font:italic 1.1rem/1.5 var(--lb-serif);border-left:2px solid #B79A63;padding:9px 0 8px 13px;color:#345250}
.lb-page-footer{margin-top:auto;padding-top:18px;border-top:1px solid #BCA98055;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.62rem;letter-spacing:.075em;color:#947B54}
.lb-detail{margin:8px 0 15px;border-top:1px solid #D0BF9C80;border-bottom:1px solid #D0BF9C80;font-size:.78rem}
.lb-detail summary{padding:9px 0;color:#466865;cursor:pointer;line-height:1.5;font-size:.78rem}
.lb-detail p{font-size:.79rem;line-height:1.6;margin:0 0 11px}
.lb-mini-orbits{width:106px;height:106px;align-self:center;flex-shrink:0;position:relative;margin:8px auto 18px;border:1px solid #B2986A;border-radius:50%;opacity:.8}
.lb-mini-orbits::before,.lb-mini-orbits::after{content:"";position:absolute;inset:15px;border:1px solid #B2986A;border-radius:50%;transform:rotate(30deg) scaleX(.72)}
.lb-mini-orbits::after{transform:rotate(-30deg) scaleX(.72)}
.lb-mini-orbits span{position:absolute;background:#B2986A;width:9px;height:9px;border-radius:50%;top:5px;left:47px}
.lb-flip{display:none;position:absolute;z-index:7;top:0;bottom:0;width:50%;transform-style:preserve-3d;transition:transform 900ms cubic-bezier(.3,.04,.25,1);pointer-events:none;will-change:transform}
.lb-flip.is-active{display:block}
.lb-flip.is-next{left:50%;transform-origin:left center;transform:rotateY(0)}
.lb-flip.is-prev{left:0;transform-origin:right center;transform:rotateY(0)}
.lb-flip.is-next.is-turning{transform:rotateY(-180deg)}
.lb-flip.is-prev.is-turning{transform:rotateY(180deg)}
.lb-flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 0 15px #0003}
.lb-flip-back{transform:rotateY(180deg);background:linear-gradient(110deg,#E8DECE 0%,#FBF7EF 15%,#F4EEE3 95%)}
.lb-flip-front{background:linear-gradient(115deg,#FBF7EF 0%,#F4EEE3 87%,#DBCCB6 100%)}
.lb-flip-face .lb-page-content{padding:clamp(23px,3.4vw,50px) clamp(24px,3.8vw,52px) 25px}
.lb-mobile-paper{display:none}
.lb-cover{position:absolute;z-index:10;left:50%;top:2%;height:96%;width:min(46%,360px);transform:translateX(-50%) rotateY(0);transform-origin:left center;transition:transform 750ms ease,opacity .5s ease;box-shadow:13px 15px 40px #000A, inset 0 0 0 1px #B8975B70;isolation:isolate;text-align:center;border:2px solid #B79660;background:radial-gradient(circle at 55% 40%,#1F5757,#28686A 55%,#07181C 100%);color:var(--lb-gold);border-radius:3px 9px 9px 3px;overflow:hidden;padding:12px}
.lb-cover::before{content:"";position:absolute;inset:9px;border:1px solid #D4BA825C;pointer-events:none}
.lb-cover::after{content:"";position:absolute;left:12px;top:0;bottom:0;width:10px;background:linear-gradient(90deg,#061B1E,#2A6969,#0D2425);box-shadow:2px 0 5px #0006;pointer-events:none}
.lb-cover-inner{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:space-around;padding:9px 12px}
.lb-cover-small{display:block;font-size:.57rem;letter-spacing:.18em;line-height:1.4}
.lb-compass{display:block;width:70%;max-width:210px;color:var(--lb-gold)}
.lb-compass svg{width:100%;display:block}
.lb-cover-title{font:400 clamp(1.65rem,3.2vw,2.7rem)/1.1 var(--lb-serif);color:#F6EEDC;letter-spacing:-.035em}
.lb-open-prompt{font-size:.63rem;letter-spacing:.12em;color:#F1DCB4;border-top:1px solid #D4BA824F;padding-top:12px}
.lb-book[data-state="open"] .lb-cover{transform:translateX(-50%) rotateY(-165deg);opacity:0;pointer-events:none;visibility:hidden;transition:transform 750ms ease,opacity .5s ease,visibility 0s .75s}
.lb-controls{max-width:960px;margin:12px auto 0;display:flex;align-items:center;justify-content:space-between;gap:15px}
.lb-control,.lb-close,.lb-chapters button{background:transparent;color:#F2E9D9;border:1px solid #D4BA8265;border-radius:3px;padding:11px 16px;font-size:.79rem;transition:background-color .2s,border-color .2s}
.lb-control:hover:not(:disabled),.lb-close:hover,.lb-chapters button:hover{background:#D4BA8217;border-color:#D4BA82}
.lb-control:disabled{opacity:.3;cursor:not-allowed}
.lb-position{font-size:.78rem;color:#E1C996;min-width:120px;text-align:center;font-variant-numeric:tabular-nums}
.lb-bottom-bar{max-width:960px;margin:18px auto 0;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.lb-chapters{display:flex;gap:8px;flex-wrap:wrap}
.lb-chapters button{font-size:.7rem;padding:8px 10px}
.lb-chapters button[aria-current="true"]{background:#D4BA82;color:#09282D}
.lb-close{color:var(--lb-gold);white-space:nowrap}
.lb-close span{font-size:1.1rem;padding-left:7px}
.lb-accessibility-note{text-align:center;font-size:.7rem;color:#D5D8CF;margin:18px auto 0;line-height:1.65}
.lb-conclusion{text-align:center;margin:70px auto 0;max-width:720px}
.lb-conclusion h2{font-size:clamp(2rem,5vw,3.65rem)}
.lb-cta{display:inline-flex;gap:22px;align-items:center;margin:17px auto 5px;padding:14px 22px;border:1px solid var(--lb-gold);color:#F8ECCF;text-decoration:none;letter-spacing:.025em}
.lb-cta:hover{background:#D4BA8221}
.lb-conclusion .lb-disclaimer{font-size:.73rem;color:#ADBFB7;margin-top:30px}
@media(max-width:750px){
  .lb-site-header{padding:16px 14px;gap:8px}.lb-brand{font-size:1rem}.lb-brand small{font-size:.48rem}.lb-header-link{font-size:.7rem}
  .lb-shell{padding:26px 10px 60px}.lb-book{padding:12px 9px 18px}
  .lb-stage{height:570px;width:min(100%,440px)}
  .lb-spread{transform:scale(1)}
  .lb-paper-left,.lb-paper-right,.lb-spine,.lb-flip{display:none!important}
  .lb-mobile-paper{display:block;width:100%;height:100%;border-radius:4px;box-shadow:0 15px 28px #00101570}
  .lb-cover{width:min(83%,350px);height:94%;top:3%}
  .lb-book[data-state="open"] .lb-cover{transform:translateX(-50%) rotateY(-155deg)}
  .lb-page-content{padding:27px 27px 22px}
  .lb-page-content h2{font-size:2rem}.lb-page-content p{font-size:.92rem}
  .lb-controls{gap:6px}.lb-control{padding:10px 12px}.lb-position{min-width:105px;font-size:.7rem}
  .lb-bottom-bar{display:block}.lb-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lb-chapters button{text-align:left}
  .lb-close{margin-top:14px;width:100%}
  .lb-mobile-paper.page-in{animation:lb-mobile-in .3s ease}
  @keyframes lb-mobile-in{from{opacity:.55;transform:perspective(600px) rotateY(-8deg) translateX(6px)}to{opacity:1;transform:none}}
}
@media(max-width:410px){.lb-stage{height:525px}.lb-brand{font-size:.87rem}.lb-header-link{font-size:.65rem}.lb-instructions{font-size:.52rem}.lb-page-content{padding:23px 20px 20px}.lb-page-content h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.lb-book[data-state="open"] .lb-cover{visibility:hidden}}
/* List content is intentionally reflowable real text. */
.lb-page-list{list-style:none;margin:1px 0 14px;padding-left:0;display:grid;gap:8px}
.lb-page-list li{font-size:.8rem;line-height:1.55;color:#3F5751;position:relative;padding-left:18px}
.lb-page-list li::before{content:'✧';position:absolute;left:0;color:#B5955A}
.lb-page-content .lb-page-subtitle{font-family:var(--lb-serif);font-style:italic;font-size:1rem;color:#90794F;margin-top:-3px}
