/* Loop Letters reader. Dark canvas, one measure for reading, everything else in a quiet rail. */
:root{--lls-bg:#0b1119;--lls-bg-2:#101a26;--lls-panel:#121c28;--lls-line:rgba(255,255,255,.08);--lls-fg:#eef3f8;--lls-muted:#9fb0c3;--lls-dim:#6f7f92;--lls-accent:#38f58a;--lls-accent-rgb:56,245,138;--lls-up:#38f58a;--lls-down:#ff6b6b;--lls-measure:42rem;--lls-rail:19rem;--lls-kick:0}
html.lls-html{background:var(--lls-bg)}
body.lls-page{margin:0;background:var(--lls-bg);color:var(--lls-fg);font-family:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}
body.lls-page *,body.lls-page *::before,body.lls-page *::after{box-sizing:border-box}
body.lls-page a{color:inherit;text-decoration:none}
body.lls-page img{max-width:100%;height:auto}
body.lls-page button{font:inherit;color:inherit}
body.lls-page.sml-global-header-on{padding-top:0}

/* progress */
.lp-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--lls-accent);z-index:60;transition:width .12s linear}

/* top bar */
.lls-top{position:sticky;top:var(--lls-gh,0px);z-index:50;display:flex;align-items:center;gap:10px;padding:10px clamp(14px,3vw,32px);background:rgba(11,17,25,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--lls-line)}
.lls-brand{display:flex;align-items:center;gap:8px;font-family:Archivo,"IBM Plex Sans",sans-serif;font-weight:800;letter-spacing:-.01em;font-size:15px}
.lls-brand img{width:28px;height:28px;border-radius:7px}
.lls-brand b{color:var(--lls-accent);font-weight:800}
.lls-top-pub{color:var(--lls-muted);font-size:14px;padding-left:12px;border-left:1px solid var(--lls-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}
.lls-top-sp{flex:1}
.lls-top-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--lls-line);border-radius:10px;background:rgba(255,255,255,.03);cursor:pointer;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}
.lls-top-btn:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.lls-top-btn.on,.lls-top-btn[aria-pressed="true"]{color:var(--lls-accent);border-color:rgba(var(--lls-accent-rgb),.5)}
.lls-top-cta{height:36px;display:inline-flex;align-items:center;padding:0 16px;border-radius:10px;background:var(--lls-accent);color:#06130c;font-weight:700;font-size:13px}
.lls-top-edit{color:var(--lls-accent)}
@media (max-width:640px){.lls-top-btn span{display:none}.lls-top-pub{display:none}.lls-top{padding:8px 12px}}

/* layout */
.lls-wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) var(--lls-rail);gap:clamp(24px,5vw,72px);max-width:1180px;margin:0 auto;padding:clamp(20px,4vw,48px) clamp(14px,3vw,32px) 60px}
.lls-main{min-width:0}
.lls-letter{max-width:var(--lls-measure);margin:0 auto}
.lls-rail{position:sticky;top:calc(var(--lls-gh,0px) + 76px);align-self:start;display:flex;flex-direction:column;gap:14px}
@media (max-width:980px){.lls-wrap{grid-template-columns:1fr}.lls-rail{position:static;max-width:var(--lls-measure);margin:28px auto 0;width:100%}}

/* head */
.lls-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px}
.lls-tag{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lls-accent);padding:5px 9px;border:1px solid rgba(var(--lls-accent-rgb),.35);border-radius:6px}
.lls-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:var(--lls-panel);border:1px solid var(--lls-line);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px}
.lls-chip b{font-weight:600}
.lls-chip em{font-style:normal;color:var(--lls-muted)}
.lls-chip em.up{color:var(--lls-up)}.lls-chip em.down{color:var(--lls-down)}
.lls-title{font-family:Archivo,"IBM Plex Sans",sans-serif;font-weight:800;font-size:clamp(30px,4.6vw,46px);line-height:1.06;letter-spacing:-.025em;margin:0 0 12px}
.lls-sub{font-size:clamp(17px,2vw,20px);line-height:1.45;color:var(--lls-muted);margin:0 0 22px}
.lls-byline{display:flex;align-items:center;gap:12px;margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid var(--lls-line)}
.lls-byline-avatar img{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block}
.lls-byline-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.lls-byline-name{font-weight:600}
.lls-byline-pub{color:var(--lls-accent);font-size:14px}
.lls-byline-meta{color:var(--lls-dim);font-size:13px;margin-top:2px}

/* cover */
.lls-cover{margin:0 0 28px;border-radius:14px;overflow:hidden;background:var(--lls-bg-2);aspect-ratio:1200/630}
.lls-cover img{width:100%;height:100%;object-fit:cover;display:block}

/* audio dock */
.lls-audio{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;margin:0 0 26px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid var(--lls-line);position:relative;overflow:hidden}
.lls-audio::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 0% 50%,rgba(var(--lls-accent-rgb),calc(.08 + var(--lls-kick) * .25)),transparent 70%);pointer-events:none;transition:opacity .2s}
.lls-audio-play{width:48px;height:48px;border-radius:50%;border:0;background:var(--lls-accent);color:#06130c;cursor:pointer;display:grid;place-items:center;position:relative;transform:scale(calc(1 + var(--lls-kick) * .06))}
.lls-audio-play i{display:block;width:0;height:0;border-left:16px solid #06130c;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.lls-audio.playing .lls-audio-play i{width:14px;height:16px;border:0;margin:0;background:linear-gradient(90deg,#06130c 0 5px,transparent 5px 9px,#06130c 9px)}
.lls-audio-body{display:flex;flex-direction:column;gap:5px;min-width:0;position:relative}
.lls-audio-body b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lls-audio-sub{font-size:12.5px;color:var(--lls-muted)}
.lls-audio-track{height:4px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden;cursor:pointer}
.lls-audio-track i{display:block;height:100%;width:0;background:var(--lls-accent)}
.lls-audio-wave{display:flex;align-items:center;gap:3px;height:34px;width:64px}
.lls-audio-wave span{flex:1;height:30%;border-radius:2px;background:rgba(var(--lls-accent-rgb),.6);transform-origin:center;transition:height .08s}
.lls-audio-rate{height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--lls-line);background:transparent;cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:12.5px;position:relative}
@media (max-width:520px){.lls-audio{grid-template-columns:44px minmax(0,1fr) auto}.lls-audio-wave{display:none}}

/* body */
.lls-body{position:relative}
.lls-toc{margin:0 0 26px;padding:14px 16px;border-radius:12px;background:var(--lls-panel);border:1px solid var(--lls-line);font-size:14px}
.lls-toc b{display:block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--lls-dim);margin-bottom:8px}
.lls-toc ol{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:5px;color:var(--lls-muted)}
.lls-toc a:hover,.lls-toc li.on a{color:var(--lls-fg)}
.lls-article{font-size:18.5px;line-height:1.72;overflow-wrap:anywhere}
.lls-article>*:first-child{margin-top:0}
.lls-article p{margin:0 0 1.35em}
.lls-article h2{font-family:Archivo,"IBM Plex Sans",sans-serif;font-weight:800;font-size:1.55em;line-height:1.15;letter-spacing:-.02em;margin:1.8em 0 .6em;scroll-margin-top:calc(var(--lls-gh,0px) + 84px)}
.lls-article h3{font-weight:700;font-size:1.2em;margin:1.6em 0 .5em;scroll-margin-top:calc(var(--lls-gh,0px) + 84px)}
.lls-article h4{font-weight:600;font-size:1.02em;text-transform:uppercase;letter-spacing:.08em;color:var(--lls-muted);margin:1.4em 0 .5em}
.lls-article ul,.lls-article ol{padding-left:1.3em;margin:0 0 1.35em}
.lls-article li{margin:.3em 0}
.lls-article strong{font-weight:600;color:#fff}
.lls-article a{color:var(--lls-accent);text-decoration:underline;text-decoration-color:rgba(var(--lls-accent-rgb),.4);text-underline-offset:3px}
.lls-article blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--lls-accent);font-size:1.12em;line-height:1.5;color:#fff;font-weight:500}
.lls-article figure{margin:1.8em 0}
.lls-article figure img{border-radius:12px;display:block;width:100%}
.lls-article figcaption{font-size:13.5px;color:var(--lls-dim);margin-top:8px;text-align:center}
.lls-article .ll-ticker{font-family:"IBM Plex Mono",monospace;font-weight:600;text-decoration:none;color:var(--lls-accent);background:rgba(var(--lls-accent-rgb),.08);padding:1px 5px;border-radius:5px;font-size:.92em}
.lls-article .ll-block{margin:1.6em 0;padding:16px 18px;border-radius:12px;background:var(--lls-panel);border:1px solid var(--lls-line);font-size:15.5px}
.lls-article .ll-ticker-card{display:flex;justify-content:space-between;align-items:center;font-family:"IBM Plex Mono",monospace}
.lls-article .ll-sym{font-weight:600;font-size:1.1em}
.lls-article .ll-chart{min-height:220px}
.lls-article .ll-chart canvas,.lls-article .ll-chart svg{width:100%;display:block}
.lls-article .lp-chart-empty{color:var(--lls-dim);font-size:14px}
.lls-article .ll-levels-head{display:flex;justify-content:space-between;font-family:"IBM Plex Mono",monospace;font-weight:600;margin-bottom:10px}
.lls-article .ll-tf{color:var(--lls-dim);font-weight:500}
.lls-article .ll-levels dl{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.lls-article .ll-levels dl>div{background:rgba(255,255,255,.03);border-radius:8px;padding:10px}
.lls-article .ll-levels dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--lls-dim)}
.lls-article .ll-levels dd{margin:4px 0 0;font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:1.05em}
.lls-article .ll-levels dl>div:nth-child(2) dd{color:var(--lls-down)}
.lls-article .ll-levels dl>div:nth-child(3) dd,.lls-article .ll-levels dl>div:nth-child(4) dd{color:var(--lls-up)}
@media (max-width:560px){.lls-article .ll-levels dl{grid-template-columns:1fr 1fr}}
.lls-article .ll-action{display:inline-flex;align-items:center;height:40px;padding:0 16px;margin:.4em .6em 1.2em 0;border-radius:10px;border:1px solid rgba(var(--lls-accent-rgb),.45);background:rgba(var(--lls-accent-rgb),.08);color:var(--lls-accent);cursor:pointer;font-weight:600;font-size:14px}
.lls-article .ll-disclosure{font-size:14px;color:var(--lls-muted)}
.lls-article .ll-paywall-line{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--lls-accent-rgb),.6),transparent);margin:2em 0}
.lls-article .ll-custom-code{border-radius:12px;margin:1.6em 0}
.lls-article mark.lls-hl{background:rgba(var(--lls-accent-rgb),.25);color:inherit;border-radius:3px}

/* lock */
.lls-lock{margin:30px 0;padding:28px;border-radius:16px;text-align:center;background:linear-gradient(180deg,rgba(var(--lls-accent-rgb),.12),rgba(var(--lls-accent-rgb),.03));border:1px solid rgba(var(--lls-accent-rgb),.3);position:relative}
.lls-lock::before{content:"";position:absolute;left:0;right:0;top:-80px;height:80px;background:linear-gradient(180deg,transparent,var(--lls-bg));pointer-events:none}
.lls-lock h3{margin:0 0 6px;font-family:Archivo,sans-serif;font-size:22px}
.lls-lock p{margin:0 0 16px;color:var(--lls-muted)}
.lls-cta{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 20px;border-radius:10px;background:var(--lls-accent);color:#06130c;font-weight:700;font-size:14px;border:0;cursor:pointer}
.lls-cta-wide{width:100%;margin-top:12px}

/* engagement */
.lls-engage{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:34px 0 10px;padding:18px 0;border-top:1px solid var(--lls-line);border-bottom:1px solid var(--lls-line)}
.lls-react{display:flex;gap:8px;flex-wrap:wrap}
.lls-react button{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--lls-line);background:var(--lls-panel);cursor:pointer;font-size:13.5px;transition:transform .12s,border-color .15s,background .15s}
.lls-react button:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.2)}
.lls-react button.on{border-color:rgba(var(--lls-accent-rgb),.6);background:rgba(var(--lls-accent-rgb),.12)}
.lls-react button.pop{animation:lls-pop .35s ease}
.lls-react-ico{font-size:17px}
.lls-react-label{color:var(--lls-muted)}
.lls-react b{font-family:"IBM Plex Mono",monospace;font-weight:600}
@keyframes lls-pop{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
.lls-share{display:flex;gap:8px;flex-wrap:wrap}
.lls-share button,.lls-share a{height:36px;display:inline-flex;align-items:center;padding:0 12px;border-radius:9px;border:1px solid var(--lls-line);background:transparent;cursor:pointer;font-size:13px;color:var(--lls-muted)}
.lls-share button:hover,.lls-share a:hover{color:var(--lls-fg);border-color:rgba(255,255,255,.2)}
.lls-share .done{color:var(--lls-accent);border-color:rgba(var(--lls-accent-rgb),.5)}

/* quote popover */
.lls-quote-pop{position:absolute;z-index:70;display:flex;gap:4px;padding:5px;border-radius:10px;background:#1a2432;border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 30px rgba(0,0,0,.4);transform:translate(-50%,-110%)}
.lls-quote-pop button{height:32px;padding:0 10px;border:0;border-radius:7px;background:transparent;cursor:pointer;font-size:13px;white-space:nowrap}
.lls-quote-pop button:hover{background:rgba(255,255,255,.08)}

/* subscribe */
.lls-subscribe{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;align-items:center;margin:28px 0;padding:22px;border-radius:16px;background:linear-gradient(135deg,rgba(var(--lls-accent-rgb),.14),rgba(255,255,255,.03));border:1px solid rgba(var(--lls-accent-rgb),.25)}
.lls-subscribe-art img{width:88px;height:88px;border-radius:18px;object-fit:cover;display:block}
.lls-subscribe-body b{display:block;font-family:Archivo,sans-serif;font-size:19px;margin-bottom:4px}
.lls-subscribe-body p{margin:0 0 12px;color:var(--lls-muted);font-size:14.5px}
.lls-subscribe-form{display:flex;gap:8px}
.lls-subscribe-form input[type=email]{flex:1;min-width:0;height:42px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.25);color:var(--lls-fg);font:inherit;font-size:15px}
.lls-subscribe-form input[type=email]:focus{outline:2px solid rgba(var(--lls-accent-rgb),.6);outline-offset:1px}
.lls-subscribe-form button{height:42px;padding:0 18px;border-radius:10px;border:0;background:var(--lls-accent);color:#06130c;font-weight:700;cursor:pointer;white-space:nowrap}
.lls-subscribe-note{display:block;margin-top:8px;color:var(--lls-dim);font-size:12.5px}
.lls-subscribe-note.ok{color:var(--lls-accent)}
.lls-subscribe-note.err{color:var(--lls-down)}
@media (max-width:560px){.lls-subscribe{grid-template-columns:1fr}.lls-subscribe-art img{width:60px;height:60px;border-radius:12px}.lls-subscribe-form{flex-direction:column}}

/* prev / next */
.lls-next{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}
.lls-next-card{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:14px;background:var(--lls-panel);border:1px solid var(--lls-line);transition:border-color .15s,transform .15s}
.lls-next-card:hover{border-color:rgba(var(--lls-accent-rgb),.5);transform:translateY(-2px)}
.lls-next-card small{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--lls-dim)}
.lls-next-card b{font-size:15px;line-height:1.3}
.lls-next-card span{font-size:12.5px;color:var(--lls-muted)}
.lls-next-next{text-align:right}
.lls-next-next:only-child{grid-column:2}
@media (max-width:560px){.lls-next{grid-template-columns:1fr}.lls-next-next{text-align:left}.lls-next-next:only-child{grid-column:auto}}

/* comments */
.lls-comments{margin-top:34px}
.lls-comments h3{font-family:Archivo,sans-serif;font-size:20px;margin:0 0 16px}
.lls-compose{display:flex;gap:12px;margin-bottom:20px}
.lls-compose img{width:40px;height:40px;border-radius:50%}
.lp-compose-body{flex:1}
.lp-compose-body textarea{width:100%;min-height:84px;padding:12px;border-radius:12px;border:1px solid var(--lls-line);background:var(--lls-panel);color:var(--lls-fg);font:inherit;font-size:15px;resize:vertical}
.lp-compose-bar{display:flex;justify-content:flex-end;margin-top:8px}
.lp-send[disabled]{opacity:.5;cursor:default}
.lp-empty{color:var(--lls-muted);font-size:14.5px;padding:14px;border-radius:12px;background:var(--lls-panel);border:1px dashed var(--lls-line)}
.lp-empty a{color:var(--lls-accent)}
.lp-comment{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--lls-line);font-size:15px}
.lp-comment img{width:36px;height:36px;border-radius:50%}
.lp-comment b{font-weight:600}
.lp-comment time,.lp-comment small{color:var(--lls-dim);font-size:12.5px;margin-left:8px}
.lp-comment p{margin:4px 0 0;color:var(--lls-muted)}

/* rail */
.lls-card{padding:16px;border-radius:14px;background:var(--lls-panel);border:1px solid var(--lls-line)}
.lls-card h4{margin:0 0 12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--lls-dim);font-weight:600}
.lls-card h4 span{float:right;text-transform:none;letter-spacing:0;color:var(--lls-muted)}
.lls-levels dl{margin:0;display:flex;flex-direction:column;gap:6px}
.lls-levels dl>div{display:flex;justify-content:space-between;font-size:14px}
.lls-levels dt{color:var(--lls-muted)}
.lls-levels dd{margin:0;font-family:"IBM Plex Mono",monospace;font-weight:600}
.lls-levels .lls-stop{color:var(--lls-down)}.lls-levels .lls-target1,.lls-levels .lls-target2{color:var(--lls-up)}
.lls-card-link{display:block;margin-top:12px;font-size:13px;color:var(--lls-accent);font-weight:600}
.lls-symrow{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--lls-line);font-family:"IBM Plex Mono",monospace;font-size:13.5px}
.lls-symrow:first-of-type{border-top:0;padding-top:0}
.lls-symrow em{font-style:normal;color:var(--lls-muted)}
.lls-symrow em.up{color:var(--lls-up)}.lls-symrow em.down{color:var(--lls-down)}
.lls-pubcard-head{display:flex;gap:12px;align-items:center}
.lls-pubcard-head img{width:48px;height:48px;border-radius:12px;object-fit:cover}
.lls-pubcard-head b{display:block;font-family:Archivo,sans-serif;font-size:16px}
.lls-pubcard-head span{font-size:13px;color:var(--lls-muted)}
.lls-pubcard p{margin:12px 0 0;font-size:14px;color:var(--lls-muted);line-height:1.5}
.lls-more{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-top:1px solid var(--lls-line)}
.lls-more:first-of-type{border-top:0;padding-top:0}
.lls-more b{font-size:14px;font-weight:600;line-height:1.3}
.lls-more:hover b{color:var(--lls-accent)}
.lls-more span{font-size:12.5px;color:var(--lls-dim)}
.lls-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lls-stats div{display:flex;flex-direction:column}
.lls-stats span{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--lls-dim)}
.lls-stats b{font-family:"IBM Plex Mono",monospace;font-size:16px}

/* footer */
.lls-foot{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:center;padding:26px 16px 40px;border-top:1px solid var(--lls-line);color:var(--lls-dim);font-size:13px;text-align:center}
.lls-foot a:hover{color:var(--lls-fg)}
.lls-foot span{flex-basis:100%}

/* intro video */
.lls-intro{position:fixed;inset:0;z-index:100;background:#000;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .5s ease}
.lls-intro.leaving{opacity:0;pointer-events:none}
.lls-intro video{width:100%;height:100%;object-fit:cover}
.lls-intro-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:18px clamp(16px,4vw,40px);background:linear-gradient(0deg,rgba(0,0,0,.7),transparent)}
.lls-intro-pub{flex:1;font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.lls-intro-sound,.lls-intro-skip{height:38px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.35);color:#fff;cursor:pointer;font-size:13px;font-weight:600;backdrop-filter:blur(6px)}
.lls-intro-skip{background:#fff;color:#000;border-color:#fff}
.lls-intro-sound.on{border-color:var(--lls-accent);color:var(--lls-accent)}
.lls-intro-progress{position:absolute;left:0;right:0;top:0;height:3px;background:rgba(255,255,255,.2)}
.lls-intro-progress i{display:block;height:100%;width:0;background:var(--lls-accent)}
body.lls-intro-open{overflow:hidden}

/* immersive layer */
.lls-fx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.lls-fx-bg{position:absolute;inset:-4%;background-size:cover;background-position:center;filter:saturate(1.1) blur(calc(var(--lls-bg-blur,0) * 1px));transform:scale(1.02)}
.lls-fx-video{width:108%;height:108%;object-fit:cover}
.lls-fx-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,17,25,.55),rgba(11,17,25,.9) 55%,var(--lls-bg))}
#lls-fx-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:var(--lls-fx-opacity,.9)}
body.lls-imm .lls-top{background:rgba(11,17,25,.55)}
body.lls-imm .lls-wrap{z-index:2}
body.lls-imm .lls-card,body.lls-imm .lls-toc,body.lls-imm .lls-next-card,body.lls-imm .lls-audio{background:rgba(18,28,40,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.lls-imm-calm{--lls-fx-opacity:.55}
body.lls-imm-max{--lls-fx-opacity:1}
body.lls-tex-grain::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body.lls-tex-paper::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body.lls-tex-carbon::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.35;background-image:linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.03) 75%),linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.03) 75%);background-size:8px 8px;background-position:0 0,4px 4px}
body.lls-tex-mesh::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px}
body.lls-imm.lls-pulse .lls-title{text-shadow:0 0 calc(var(--lls-kick) * 26px) rgba(var(--lls-accent-rgb),calc(var(--lls-kick) * .55))}

@media (prefers-reduced-motion:reduce){.lls-react button.pop{animation:none}.lls-intro{transition:none}#lls-fx-canvas{display:none}.lls-fx-video{display:none}}
@media print{.lls-top,.lls-rail,.lls-engage,.lls-subscribe,.lls-next,.lls-comments,.lls-fx,.lls-intro,.lls-audio,.lp-progress{display:none!important}body.lls-page{background:#fff;color:#000}.lls-wrap{display:block}}
