:root{
  --ink:#151713;--paper:#f3f0e7;--paper-2:#e9e5da;--green:#00d564;--green-dark:#00a94d;
  --orange:#ff5a36;--blue:#3265ff;--yellow:#f5d63d;--muted:#72776d;--cyan:#6eeaff;
  --night:#070c12;--night-2:#0c1720;--line:rgba(21,23,19,.22);
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#0b0d0b;color:var(--ink);font-family:"IBM Plex Sans KR","Malgun Gothic",sans-serif}
button{font:inherit}
.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:#fff;color:#000;padding:10px 14px}.skip-link:focus{top:12px}
.viewport{position:relative;width:100vw;height:100dvh;overflow:hidden;background:#0b0d0b}
.stage-wrap{position:absolute;inset:0 0 62px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.stage{position:relative;width:1600px;height:900px;flex:none;transform-origin:center center;background:var(--paper);box-shadow:0 38px 110px rgba(0,0,0,.58);overflow:hidden}
.slide{position:absolute;inset:0;display:none;padding:56px 72px 58px;background:var(--paper);overflow:hidden;isolation:isolate}
.slide.active{display:block}
.slide::before{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(21,23,19,.025) 1px,transparent 1px),linear-gradient(rgba(21,23,19,.025) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.paper-noise{position:absolute;inset:0;z-index:-2;opacity:.38;background:radial-gradient(circle at 1px 1px,rgba(21,23,19,.2) .7px,transparent .8px);background-size:8px 8px;mix-blend-mode:multiply;pointer-events:none}
.dark-slide{color:#e8f4ed;background:radial-gradient(circle at 78% 23%,rgba(0,213,100,.11),transparent 24%),linear-gradient(135deg,var(--night),#071019 56%,#05090e)}
.dark-slide::before{background:linear-gradient(90deg,rgba(110,234,255,.045) 1px,transparent 1px),linear-gradient(rgba(110,234,255,.045) 1px,transparent 1px);background-size:48px 48px}
.runtime-grid{position:absolute;inset:0;z-index:-2;opacity:.55;background:radial-gradient(circle at 8% 12%,rgba(0,213,100,.18),transparent 22%),linear-gradient(120deg,transparent 49.8%,rgba(110,234,255,.08) 50%,transparent 50.2%)}
.folio,.masthead{display:flex;justify-content:space-between;align-items:center;height:32px;border-bottom:3px solid currentColor;font:600 14px/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.folio .evidence{border:1px solid currentColor;padding:6px 10px;margin-bottom:8px;letter-spacing:.02em}
.evidence.fact{background:var(--green);color:var(--ink);border-color:var(--ink)}
.evidence.caution{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
.evidence.inference{border-style:dashed;color:var(--orange)}
.slide-head{margin-top:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:56px}
.slide-head>p{width:240px;margin:0 0 10px;font:600 16px/1.35 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--green-dark)}
.slide-head h2{flex:1;margin:0;font-size:46px;line-height:1.18;letter-spacing:-.045em;font-weight:600}
.slide-head em{font-style:normal;color:var(--green-dark);font-weight:800}
.dark-slide .slide-head>p{color:var(--cyan)}
.dark-slide .slide-head em{color:var(--green)}
.source-note{display:none!important}

/* cover */
.cover{padding:52px 68px 48px;background:linear-gradient(115deg,var(--paper) 0 60%,var(--green) 60%)}
.cover::after{content:"";position:absolute;right:0;top:0;width:43%;height:100%;z-index:-1;background:radial-gradient(circle,rgba(10,24,14,.5) 1.5px,transparent 1.7px);background-size:12px 12px;opacity:.24}
.cover .masthead{border-color:var(--ink)}
.cover-layout{height:735px;display:grid;grid-template-columns:58% 42%;align-items:center}
.cover-copy{position:relative;padding-left:28px}
.issue{display:inline-block;margin:0 0 24px;padding:8px 12px;background:var(--ink);color:var(--paper);font:600 15px/1 "IBM Plex Mono",monospace;letter-spacing:.06em}
.cover h1{margin:0;font-family:"Gasoek One","IBM Plex Sans KR",sans-serif;font-size:110px;line-height:1.03;letter-spacing:-.045em;font-weight:400}
.cover h1 mark{display:inline-block;margin-top:10px;padding:2px 18px 12px;background:var(--green);color:var(--ink);transform:rotate(-1deg);box-shadow:9px 9px 0 var(--ink)}
.cover-thesis{margin:38px 0 0;font-size:28px;line-height:1.48;letter-spacing:-.025em}
.cover-thesis s{text-decoration-thickness:4px;text-decoration-color:var(--orange)}
.cover-thesis strong{font-size:34px}
.cover-comic{position:relative;width:510px;height:600px;margin-left:42px;background:var(--paper);border:7px solid var(--ink);box-shadow:18px 18px 0 rgba(21,23,19,.9);overflow:hidden;transform:rotate(1deg)}
.panel-tag{position:absolute;left:20px;top:18px;z-index:3;background:var(--ink);color:var(--paper);padding:8px 12px;font:600 15px/1 "IBM Plex Mono",monospace}
.avatar-ink{position:absolute;left:64px;bottom:0;width:360px;height:435px;border-radius:48% 52% 0 0;background:var(--ink)}
.avatar-ink::before{content:"";position:absolute;width:235px;height:235px;border-radius:50%;left:66px;top:-74px;background:var(--paper);border:12px solid var(--ink)}
.avatar-ink::after{content:"";position:absolute;left:126px;top:22px;width:35px;height:18px;border:7px solid var(--ink);border-left:0;border-right:0;box-shadow:65px 0 0 -6px var(--ink)}
.avatar-ink i{position:absolute;z-index:2;left:164px;top:90px;width:44px;height:22px;border-bottom:7px solid var(--ink);border-radius:50%}
.avatar-ink b{position:absolute;right:-40px;top:22px;width:126px;height:180px;background:var(--ink);clip-path:polygon(0 0,100% 12%,75% 100%,42% 57%,0 86%,28% 37%)}
.bubble{position:absolute;z-index:5;padding:22px 25px;background:#fff;border:5px solid var(--ink);font-weight:800;font-size:23px;line-height:1.25;border-radius:50%;text-align:center}
.bubble::after{content:"";position:absolute;width:30px;height:30px;background:#fff;border-right:5px solid var(--ink);border-bottom:5px solid var(--ink);transform:rotate(40deg)}
.bubble.b1{right:14px;top:70px}.bubble.b1::after{right:26px;bottom:-16px}
.bubble.b2{left:10px;top:230px}.bubble.b2::after{left:28px;bottom:-16px}
.sfx{position:absolute;right:35px;bottom:50px;z-index:6;font-family:"Gasoek One",sans-serif;font-size:54px;color:var(--green);-webkit-text-stroke:2px var(--ink);transform:rotate(-12deg)}
.halftone-dot{position:absolute;inset:0;background:radial-gradient(circle at 2px 2px,rgba(21,23,19,.5) 2px,transparent 2.2px);background-size:15px 15px;mask-image:linear-gradient(135deg,transparent 15%,#000 90%);opacity:.32}
.cover-foot{position:absolute;left:68px;right:68px;bottom:30px;display:flex;justify-content:space-between;border-top:3px solid var(--ink);padding-top:12px;font:600 14px/1 "IBM Plex Mono",monospace;letter-spacing:.08em}

/* snapshot */
.metric-spread{margin-top:54px;height:470px;display:grid;grid-template-columns:1fr 1.25fr 1.25fr;grid-template-rows:1fr 1fr;gap:14px}
.metric{position:relative;border:4px solid var(--ink);padding:25px 28px;background:var(--paper-2);overflow:hidden}
.metric small{display:block;font-size:16px;font-weight:700}.metric strong{display:block;margin:8px 0 2px;font-family:"Gasoek One",sans-serif;font-size:72px;line-height:1;font-weight:400}.metric sup{font-family:"IBM Plex Sans KR",sans-serif;font-size:.45em;margin-left:3px}.metric p{margin:0;color:var(--muted);font-size:14px}
.metric.launch{grid-row:1/3;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:center}.metric.launch strong{font-size:92px;color:var(--green)}.metric.launch .stamp{position:absolute;right:-24px;top:28px;border:3px solid var(--green);padding:10px 24px;transform:rotate(8deg);font:700 18px/1 "IBM Plex Mono",monospace}
.metric.hero-metric{background:var(--green)}.metric.hero-metric i{position:absolute;right:-12px;bottom:-42px;font-family:"Gasoek One",sans-serif;font-size:170px;opacity:.13;font-style:normal}
.metric.audience .audience-bar{height:14px;margin-top:15px;background:#c9c5bb}.metric.audience .audience-bar i{display:block;width:78%;height:100%;background:var(--blue)}
.metric.paid{background:var(--yellow)}.metric.paid>span{position:absolute;right:14px;top:14px;border:2px dashed var(--ink);padding:5px 8px;font-size:12px;font-weight:700;transform:rotate(2deg)}
.editor-note,.method-note,.causal-note{margin-top:20px;display:flex;align-items:center;border:3px solid var(--ink);background:#fff;padding:14px 18px;gap:20px}.editor-note b,.method-note b,.causal-note b{flex:none;background:var(--ink);color:#fff;padding:7px 10px;font:600 13px/1 "IBM Plex Mono",monospace}.editor-note p,.method-note p,.causal-note p{margin:0;font-size:16px}

/* mechanics */
.mechanics-layout{margin-top:38px;display:grid;grid-template-columns:55% 45%;height:510px;gap:42px}
.process-strip{display:flex;align-items:center;gap:9px;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);padding:40px 18px;background:linear-gradient(180deg,transparent 50%,rgba(0,213,100,.07) 50%)}
.process-strip>div{width:125px;height:150px;padding:20px 12px;border:3px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 rgba(21,23,19,.16);display:flex;flex-direction:column;gap:20px;justify-content:center}.process-strip>div b{font:600 14px/1 "IBM Plex Mono",monospace;color:var(--green-dark)}.process-strip>div span{font-weight:700;font-size:18px;line-height:1.45}.process-strip>i{font-size:24px;font-style:normal}.process-strip .paid-step{background:var(--green);transform:rotate(-2deg)}.process-strip .paid-step b{color:var(--ink)}
.chat-scene{position:relative;margin:-8px 60px 0 40px;border:7px solid var(--ink);border-radius:26px;background:#ece9e0;box-shadow:14px 14px 0 var(--ink);padding:64px 24px 24px;overflow:visible}.phone-bar{position:absolute;inset:0 0 auto;height:52px;border-bottom:3px solid var(--ink);background:#fff;border-radius:18px 18px 0 0;padding:14px 22px;display:flex;justify-content:space-between;font-weight:800}.phone-bar i{font:600 11px/1 "IBM Plex Mono",monospace;color:var(--green-dark)}.chat-day{text-align:center;font-size:12px;color:var(--muted);margin-bottom:16px}.msg{max-width:77%;margin-bottom:14px}.msg b{display:block;font-size:12px;margin:0 0 4px 8px}.msg p{margin:0;padding:12px 15px;border:2px solid var(--ink);font-size:17px;line-height:1.35}.msg small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.msg.character p{background:#fff;border-radius:4px 18px 18px 18px}.msg.user{margin-left:auto;text-align:right}.msg.user p{background:var(--green);border-radius:18px 4px 18px 18px}.mode-switch{display:flex;margin-top:16px;border:2px solid var(--ink);font:600 10px/1 "IBM Plex Mono",monospace}.mode-switch span{flex:1;padding:8px;text-align:center}.mode-switch .active{background:var(--ink);color:#fff}.composer{position:absolute;left:24px;right:24px;bottom:18px;border-top:2px solid var(--ink);padding-top:11px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.composer b{background:var(--green);color:var(--ink);border-radius:50%;width:25px;height:25px;text-align:center;line-height:23px}.comic-burst{position:absolute;right:-86px;top:90px;width:155px;height:135px;display:grid;place-content:center;text-align:center;background:var(--yellow);clip-path:polygon(50% 0,62% 25%,88% 11%,80% 37%,100% 50%,78% 60%,91% 88%,62% 77%,49% 100%,37% 76%,8% 89%,20% 61%,0 50%,23% 38%,10% 13%,39% 25%);font-family:"Gasoek One",sans-serif;font-size:23px;line-height:1.15;transform:rotate(9deg)}
.bottom-caption{margin:14px 0 0;border-left:12px solid var(--green);padding:8px 0 8px 15px;font-size:18px}.bottom-caption b{font:600 13px/1 "IBM Plex Mono",monospace;margin-right:16px}

/* timeline */
.timeline-rail{position:relative;margin-top:78px;height:350px;display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.timeline-rail::before{content:"";position:absolute;left:40px;right:40px;top:88px;height:5px;background:var(--ink)}
.timeline-rail article{position:relative;padding-top:119px}.timeline-rail article>b{position:absolute;top:55px;left:15px;width:68px;height:68px;border:4px solid var(--ink);background:var(--paper);display:grid;place-items:center;border-radius:50%;font:700 18px/1 "IBM Plex Mono",monospace}.timeline-rail article.current>b{background:var(--green);box-shadow:0 0 0 10px rgba(0,213,100,.2)}.timeline-rail time{position:absolute;top:0;left:0;font-family:"Gasoek One",sans-serif;font-size:25px}.timeline-rail h3{margin:0 0 7px;font-size:27px}.timeline-rail p{margin:0;font-size:16px;line-height:1.45;color:var(--muted)}.timeline-rail article>span{display:inline-block;margin-top:15px;border:2px solid var(--ink);padding:5px 8px;font:600 11px/1 "IBM Plex Mono",monospace}.timeline-rail article.current{background:linear-gradient(180deg,transparent 35%,rgba(0,213,100,.12));padding-left:15px}.timeline-thesis{display:flex;align-items:center;justify-content:center;gap:26px;border:4px solid var(--ink);height:90px;background:#fff;font-size:19px}.timeline-thesis i{font-style:normal;font-size:24px}.timeline-thesis strong{background:var(--ink);color:var(--green);padding:13px 18px;font-size:22px}

/* content map */
.comic-grid{margin-top:36px;height:455px;display:grid;grid-template-columns:1fr 1.05fr 1fr 1.2fr 1fr;gap:12px}.comic-grid article{position:relative;border:4px solid var(--ink);background:#fff;padding:20px 18px 18px;overflow:hidden}.comic-grid article>span{font:600 11px/1 "IBM Plex Mono",monospace}.comic-grid h3{margin:180px 0 5px;font-size:24px}.comic-grid p{margin:0;font-size:14px;color:var(--muted);line-height:1.4}.mini-bubbles{position:absolute;left:15px;right:15px;top:60px;height:140px}.mini-bubbles i,.mini-bubbles b{position:absolute;border:3px solid var(--ink);padding:10px 12px;font-size:13px;font-style:normal;background:var(--paper)}.mini-bubbles i{left:0;top:0;border-radius:20px 20px 20px 2px}.mini-bubbles b{right:0;bottom:0;border-radius:20px 20px 2px 20px;background:var(--green)}.role-scene{position:absolute;left:0;right:0;top:45px;height:165px;background:radial-gradient(circle at 3px 3px,rgba(21,23,19,.35) 2px,transparent 2.2px);background-size:13px 13px}.role-scene i{position:absolute;left:26px;bottom:0;width:90px;height:130px;background:var(--ink);border-radius:50% 50% 0 0}.role-scene b{position:absolute;right:14px;top:22px;background:var(--yellow);border:3px solid var(--ink);padding:12px;transform:rotate(4deg)}.heart-meter{position:absolute;left:20px;right:20px;top:70px;display:flex;gap:5px;flex-wrap:wrap}.heart-meter i{width:42px;height:42px;background:var(--orange);clip-path:path("M21 39 C10 29 0 21 0 11 C0 1 15 -4 21 7 C27 -4 42 1 42 11 C42 21 32 29 21 39Z")}.heart-meter i:last-child{opacity:.25}.story-pages{position:absolute;left:20px;right:20px;top:60px;height:150px}.story-pages i,.story-pages b{position:absolute;width:120px;height:140px;border:4px solid var(--ink);display:grid;place-items:center;font:700 11px/1 "IBM Plex Mono",monospace}.story-pages i{left:0;background:var(--paper);transform:rotate(-4deg)}.story-pages b{right:0;background:var(--green);transform:rotate(5deg)}.snapshot-art{position:absolute;left:0;right:0;top:43px;height:170px;background:var(--yellow)}.snapshot-art i{position:absolute;left:45px;top:28px;width:120px;height:125px;background:var(--ink);border-radius:48% 48% 0 0}.snapshot-art b{position:absolute;right:15px;top:18px;font-family:"Gasoek One",sans-serif;font-size:20px;transform:rotate(10deg)}.comic-grid .c4{background:rgba(0,213,100,.12)}.map-arrow{height:85px;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:24px;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);font-size:18px}.map-arrow b{background:var(--ink);color:#fff;padding:8px 10px;font:600 12px/1 "IBM Plex Mono",monospace}.map-arrow strong{color:var(--green-dark);font-size:24px}

/* reaction */
.reaction-layout{margin-top:44px;height:450px;display:grid;grid-template-columns:29% 42% 29%;gap:20px}.reaction-layout>div{border:4px solid var(--ink)}.fan-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--green)}.big-ring{width:260px;height:260px;border:12px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--paper)}.big-ring strong{font-family:"Gasoek One",sans-serif;font-size:72px;font-weight:400}.big-ring span{font-weight:800}.fan-stat>p{text-align:center;font-size:16px;line-height:1.5;margin:18px 0 0}.rank-strip{display:grid;grid-template-columns:1fr 1fr;background:#fff}.rank-strip article{position:relative;padding:35px 28px;border-right:3px solid var(--ink);display:flex;flex-direction:column}.rank-strip article:last-child{border:0}.rank-strip article>span{font:600 12px/1 "IBM Plex Mono",monospace;background:var(--ink);color:#fff;padding:7px 8px;align-self:flex-start}.rank-strip h3{font-family:"Gasoek One",sans-serif;font-size:44px;font-weight:400;margin:54px 0 8px}.rank-strip strong{color:var(--green-dark);font-size:28px}.rank-strip p{font-size:15px}.rank-strip i{margin-top:auto;font-size:12px;font-style:normal;color:var(--muted)}.quote-panel{padding:35px 30px;background:var(--ink);color:var(--paper);position:relative}.quote-panel>span{color:var(--green);font:600 12px/1 "IBM Plex Mono",monospace}.quote-panel blockquote{margin:65px 0 24px;font-size:28px;line-height:1.45;font-weight:800}.quote-panel p{border-top:1px solid rgba(255,255,255,.3);padding-top:18px;font-size:15px;line-height:1.5}.risk-ribbon{height:67px;margin-top:18px;display:flex;align-items:center;gap:22px;border:3px solid var(--ink);padding:0 20px;background:var(--yellow);font-size:15px}.risk-ribbon b{font:700 12px/1 "IBM Plex Mono",monospace;background:var(--ink);color:#fff;padding:7px 9px}.risk-ribbon i{font-style:normal;font-size:24px}

/* growth */
.growth-board{margin-top:45px;height:450px;display:grid;grid-template-columns:1fr 1fr .78fr;gap:18px}.growth-chart{border:4px solid var(--ink);padding:30px;background:#fff}.chart-label{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--ink);padding-bottom:18px;margin-bottom:42px}.chart-label b{font-size:22px}.chart-label span{font-family:"Gasoek One",sans-serif;font-size:34px;color:var(--green-dark)}.bar-row{display:grid;grid-template-columns:58px 1fr;align-items:center;margin:28px 0}.bar-row small{font:600 12px/1 "IBM Plex Mono",monospace}.bar-row i{width:var(--w);height:56px;background:var(--ink);position:relative;font-style:normal}.bar-row i b{position:absolute;right:12px;top:14px;color:#fff;font-size:18px}.bar-row.now i{background:var(--green)}.bar-row.now i b{color:var(--ink)}.messages .bar-row.now i{background:var(--blue)}.messages .chart-label span{color:var(--blue)}.money-block{border:4px solid var(--ink);background:var(--yellow);padding:26px}.money-block>span{font:600 11px/1 "IBM Plex Mono",monospace}.money-block>div{display:flex;align-items:center;gap:18px;border-top:3px solid var(--ink);padding:24px 0}.money-block>div:first-of-type{margin-top:24px}.money-block strong{font-family:"Gasoek One",sans-serif;font-size:48px;font-weight:400}.money-block p{font-weight:700;margin:0;line-height:1.35}.money-block small{font-weight:400;color:var(--muted)}.method-note{margin-top:19px}.method-note b{background:var(--orange)}

/* ip lift */
.lift-layout{margin-top:40px;height:480px;display:grid;grid-template-columns:1fr 1fr .7fr;gap:16px}.title-lift{border:4px solid var(--ink);background:#fff;padding:24px}.title-label{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:3px solid var(--ink);padding-bottom:14px}.title-label span{font-family:"Gasoek One",sans-serif;font-size:33px}.title-label small{color:var(--muted)}.lift-bars{margin-top:24px}.lift-bars p{display:grid;grid-template-columns:85px 1fr;align-items:center;margin:17px 0}.lift-bars p>span{font-size:13px;font-weight:700}.lift-bars i{height:36px;width:var(--v);min-width:76px;background:var(--green);border:2px solid var(--ink);font-style:normal;position:relative}.lift-bars b{position:absolute;left:8px;top:6px;font:700 12px/1 "IBM Plex Mono",monospace}.portfolio-lift{border:4px solid var(--ink);background:var(--ink);color:#fff;padding:25px;display:flex;flex-direction:column}.portfolio-lift>span{font:600 11px/1 "IBM Plex Mono",monospace;color:var(--green)}.portfolio-lift>div{border-top:1px solid rgba(255,255,255,.35);padding:22px 0}.portfolio-lift>div:first-of-type{margin-top:23px}.portfolio-lift strong{font-family:"Gasoek One",sans-serif;font-size:47px;color:var(--yellow);font-weight:400}.portfolio-lift p{margin:4px 0 0}.loop-mark{margin-top:auto;border:2px solid var(--green);padding:13px;text-align:center;color:var(--green);font:600 12px/1 "IBM Plex Mono",monospace}.causal-note{margin-top:16px}.causal-note b{background:var(--blue)}

/* governance */
.gate-layout{margin-top:42px;height:500px;display:grid;grid-template-columns:67% 33%;gap:20px}.gate-machine{border:4px solid var(--ink);background:#fff;padding:36px 28px;display:grid;grid-template-columns:165px 180px 1fr 165px;align-items:center;gap:20px}.gate-input,.gate-output{height:190px;border:3px solid var(--ink);padding:22px 14px;display:flex;flex-direction:column;justify-content:center;text-align:center}.gate-input{background:var(--paper-2)}.gate-output{background:var(--green)}.gate-input span,.gate-output span{font:600 10px/1 "IBM Plex Mono",monospace}.gate-input strong,.gate-output strong{font-size:22px;margin:15px 0 5px}.gate-input small,.gate-output small{font-size:12px}.scanner{height:280px;border:4px solid var(--ink);position:relative;display:grid;place-items:center;background:repeating-linear-gradient(135deg,var(--ink) 0 6px,var(--yellow) 6px 12px)}.scanner b{background:var(--paper);padding:32px 18px;border:3px solid var(--ink);text-align:center;font:700 18px/1.35 "IBM Plex Mono",monospace}.scanner i{position:absolute;left:4px;right:4px;top:40%;height:5px;background:var(--orange);box-shadow:0 0 16px var(--orange)}.gate-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gate-checks p{height:150px;border:3px solid var(--ink);margin:0;display:flex;flex-direction:column;justify-content:center;text-align:center;background:var(--paper)}.gate-checks b{font-family:"Gasoek One",sans-serif;font-size:36px;font-weight:400;color:var(--green-dark)}.gate-checks span{font-size:11px;font-weight:700}.governance-notes{display:grid;grid-template-rows:repeat(3,1fr);gap:10px}.governance-notes article{border:3px solid var(--ink);padding:18px 20px;background:var(--paper-2)}.governance-notes article span{font:600 10px/1 "IBM Plex Mono",monospace;color:var(--green-dark)}.governance-notes h3{margin:8px 0 3px;font-size:20px}.governance-notes p{margin:0;font-size:13px;line-height:1.4}.governance-notes .warn{background:var(--yellow)}.governance-notes .warn span{color:var(--ink)}.governance-foot{height:55px;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:18px;border-top:3px solid var(--ink);font-size:15px}.governance-foot i{font-style:normal}.governance-foot b{color:var(--orange);font-size:17px}

/* adult */
.adult-layout{margin-top:32px;height:520px;display:grid;grid-template-columns:66% 34%;gap:24px}.matrix{position:relative;border-left:5px solid var(--ink);border-bottom:5px solid var(--ink);background:linear-gradient(90deg,transparent 49.8%,rgba(21,23,19,.2) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(21,23,19,.2) 50%,transparent 50.2%);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;padding:18px 24px 30px 30px}.axis-y{position:absolute;left:-52px;top:220px;transform:rotate(-90deg);font:600 12px/1 "IBM Plex Mono",monospace}.axis-x{position:absolute;right:0;bottom:6px;font:600 12px/1 "IBM Plex Mono",monospace}.zone{border:3px solid var(--ink);padding:22px 24px;display:flex;flex-direction:column;justify-content:center;background:#fff}.zone b{font:700 12px/1 "IBM Plex Mono",monospace}.zone p{margin:16px 0 8px;font-size:19px;font-weight:700;line-height:1.4}.zone small{font-size:12px;color:var(--muted)}.zone.safe{background:rgba(0,213,100,.2)}.zone.mature{background:var(--yellow)}.zone.blocked{background:var(--ink);color:#fff}.zone.blocked b{color:var(--orange)}.zone.blocked small{color:#aaa}.zone.open{background:var(--paper-2)}.adult-readout{display:flex;flex-direction:column;gap:12px}.adult-readout article{border:3px solid var(--ink);background:#fff;padding:19px 21px}.adult-readout article span{font:700 11px/1 "IBM Plex Mono",monospace;border-bottom:2px solid var(--green);padding-bottom:4px}.adult-readout article p{margin:13px 0 0;font-size:15px;line-height:1.45}.adult-readout .inference-box{border-style:dashed;background:#fff4ed}.adult-readout .inference-box span{border-color:var(--orange)}.adult-readout>small{margin-top:auto;border-top:2px solid var(--ink);padding-top:12px;line-height:1.4;color:var(--muted)}

/* future */
.future-orbit{position:relative;height:490px;margin-top:15px}.future-orbit svg{position:absolute;inset:0;margin:auto;width:900px;height:450px;fill:none;stroke:rgba(110,234,255,.25);stroke-width:2;stroke-dasharray:10 10}.future-node{position:absolute;width:220px;padding:20px;border:1px solid rgba(110,234,255,.45);background:rgba(7,12,18,.88);box-shadow:0 0 28px rgba(0,213,100,.08)}.future-node span{font:600 10px/1 "IBM Plex Mono",monospace;color:var(--cyan)}.future-node strong{display:block;margin:8px 0;font-size:21px}.future-node small{color:#8fa5ae}.future-node.n1{left:140px;top:220px}.future-node.n2{left:390px;top:28px;border-color:var(--green)}.future-node.n3{right:145px;top:185px}.future-node.n4{left:510px;bottom:10px}.orbit-core{position:absolute;left:635px;top:200px;width:140px;height:140px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;text-align:center;background:#07120d;box-shadow:0 0 45px rgba(0,213,100,.2)}.orbit-core b{font:700 14px/1.35 "IBM Plex Mono",monospace;color:var(--green)}.orbit-core i{position:absolute;inset:9px;border:1px dashed var(--cyan);border-radius:50%}.future-caption{height:62px;border-top:1px solid rgba(110,234,255,.4);display:flex;align-items:center;justify-content:center;gap:20px}.future-caption span{font:600 11px/1 "IBM Plex Mono",monospace;color:var(--cyan)}.future-caption i{font-style:normal;color:var(--green)}

/* gap */
.gap-layout{margin-top:40px;height:470px;display:grid;grid-template-columns:1fr 140px 1fr}.gap-layout>article{position:relative;border:1px solid rgba(110,234,255,.32);padding:32px 40px;background:rgba(12,23,32,.82)}.gap-layout article>span{font:600 11px/1 "IBM Plex Mono",monospace;color:var(--cyan)}.gap-layout h3{font-family:"Gasoek One",sans-serif;font-size:36px;font-weight:400;margin:16px 0 24px}.gap-layout ul{margin:0;padding:0;list-style:none}.gap-layout li{position:relative;padding:10px 0 10px 28px;border-top:1px solid rgba(255,255,255,.12);font-size:17px}.gap-layout li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}.unproven li::before{content:"○";color:var(--cyan)}.proof-seal,.gap-signal{position:absolute;right:26px;bottom:24px;border:2px solid var(--green);padding:8px 12px;color:var(--green);font:600 11px/1 "IBM Plex Mono",monospace;transform:rotate(-2deg)}.gap-signal{border-color:var(--cyan);color:var(--cyan)}.gap-rip{position:relative;display:grid;place-items:center;background:linear-gradient(90deg,transparent 47%,var(--orange) 48% 52%,transparent 53%)}.gap-rip::before,.gap-rip::after{content:"";position:absolute;top:0;bottom:0;width:32px;background:var(--night);clip-path:polygon(0 0,100% 0,45% 8%,90% 16%,35% 24%,80% 32%,25% 40%,85% 48%,30% 56%,75% 64%,20% 72%,90% 80%,40% 88%,100% 96%,0 100%)}.gap-rip::before{left:0}.gap-rip::after{right:0;transform:scaleX(-1)}.gap-rip span{z-index:2;background:var(--orange);color:#071019;padding:15px 8px;text-align:center;font:700 11px/1.4 "IBM Plex Mono",monospace}.gap-thesis{height:63px;margin:16px 0 0;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(110,234,255,.3);font-size:19px}.gap-thesis strong{color:var(--green);margin-left:8px}

/* connection */
.connection .slide-head{margin-top:26px}.connection .slide-head h2{font-size:42px}.world-stack{position:relative;margin-top:26px;height:548px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:300px 48px 150px;gap:12px}.stack{position:relative;border:1px solid rgba(110,234,255,.4);padding:30px;background:rgba(10,21,29,.88);overflow:hidden}.stack::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--cyan)}.stack>span{font:600 10px/1 "IBM Plex Mono",monospace;color:var(--cyan)}.stack strong{display:block;font-family:"Gasoek One",sans-serif;font-size:34px;font-weight:400;margin:45px 0 10px}.stack p{font-size:16px;line-height:1.5}.stack i{position:absolute;left:30px;bottom:26px;font-style:normal;color:#8ea5ae;font-size:12px}.stack.bedrock::after{background:var(--blue)}.stack.bedrock>span{color:#8ca7ff}.stack.core::after{background:var(--green)}.stack.core>span{color:var(--green)}.stack.surface::after{background:var(--orange)}.stack.surface>span{color:var(--orange)}.adapter-bus{grid-column:1/4;border:1px solid var(--green);background:rgba(0,213,100,.12);display:flex;align-items:center;justify-content:center;font:600 12px/1 "IBM Plex Mono",monospace;color:var(--green);position:relative}.adapter-bus i{position:absolute;left:6%;right:6%;top:50%;border-top:1px dashed var(--green);z-index:-1}.adapter-bus span{background:var(--night-2);padding:6px 14px}.doors{grid-column:1/4;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.doors article{border:1px solid rgba(110,234,255,.3);padding:18px 22px;background:rgba(12,23,32,.72);display:flex;justify-content:space-between;align-items:center}.doors article.active{border:2px solid var(--green);background:rgba(0,213,100,.11)}.doors b{font:600 9px/1 "IBM Plex Mono",monospace;color:var(--cyan)}.doors strong{font-size:18px;text-align:right}.connection-rule{position:absolute;left:72px;right:72px;bottom:27px;height:46px;display:flex;align-items:center;justify-content:center;gap:15px;font-size:14px}.connection-rule i{font-style:normal;color:var(--green)}.connection-rule b{color:var(--cyan)}

/* closing */
.closing-layout{margin-top:35px;height:510px;display:grid;grid-template-columns:57% 43%;gap:36px}.closing-copy{padding-top:15px}.live-line{display:flex;align-items:center;gap:10px;margin:0 0 30px;font:600 13px/1 "IBM Plex Mono",monospace;color:var(--cyan)}.live-line i{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green)}.closing h2{margin:0;font-family:"Gasoek One",sans-serif;font-size:74px;line-height:1.14;font-weight:400;letter-spacing:-.035em}.closing h2 em{font-style:normal;color:var(--green)}.closing-desc{margin:25px 0;font-size:19px;line-height:1.65;color:#b8c8cd}.scope-tickets{display:flex;flex-wrap:wrap;gap:8px;max-width:780px}.scope-tickets span{border:1px solid rgba(110,234,255,.35);padding:10px 13px;background:rgba(12,23,32,.8);font-size:12px}.scope-tickets b{color:var(--green);margin-right:7px;font:700 14px/1 "IBM Plex Mono",monospace}.block-map{position:relative;border:1px solid rgba(110,234,255,.35);background:linear-gradient(45deg,rgba(110,234,255,.03),transparent);overflow:hidden}.block-map::before{content:"ONE BLOCK";position:absolute;right:15px;top:15px;font:600 10px/1 "IBM Plex Mono",monospace;color:var(--cyan)}.place{position:absolute;width:145px;height:105px;border:1px solid var(--cyan);background:rgba(110,234,255,.08);transform:skewY(-6deg)}.place span{position:absolute;right:8px;top:8px;color:var(--cyan);font:600 10px/1 "IBM Plex Mono",monospace}.place.p1{left:45px;top:65px}.place.p2{right:48px;top:85px}.place.p3{left:95px;bottom:80px}.place.p4{right:70px;bottom:62px}.road{position:absolute;height:2px;background:rgba(110,234,255,.35);transform-origin:left}.road.r1{left:175px;top:170px;width:240px;transform:rotate(16deg)}.road.r2{left:175px;top:330px;width:290px;transform:rotate(-31deg)}.road.r3{left:265px;top:160px;width:180px;transform:rotate(84deg)}.resident{position:absolute;width:34px;height:34px;border-radius:50%;background:var(--green);color:var(--night);display:grid;place-items:center;font:700 11px/1 "IBM Plex Mono",monospace;box-shadow:0 0 20px rgba(0,213,100,.3)}.resident.a{left:135px;top:135px}.resident.b{right:130px;top:135px}.resident.c{left:220px;top:260px}.resident.d{left:160px;bottom:92px}.resident.e{right:142px;bottom:85px}.map-event{position:absolute;left:50%;top:49%;width:250px;transform:translate(-50%,-50%);border:1px solid var(--green);background:#06130d;padding:13px 16px;box-shadow:0 0 30px rgba(0,213,100,.15)}.map-event span{font:600 9px/1 "IBM Plex Mono",monospace;color:var(--green)}.map-event strong{display:block;font-size:14px;margin:6px 0}.map-event small{color:#809c92}.proof-row{height:65px;border-top:1px solid rgba(110,234,255,.3);border-bottom:1px solid rgba(110,234,255,.3);display:flex;align-items:center;justify-content:space-around}.proof-row span{position:relative;padding-left:16px;font-size:13px}.proof-row span::before{content:"";position:absolute;left:0;top:5px;width:7px;height:7px;background:var(--green)}.final-line{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.final-line span{font-size:18px}.final-line strong{font-size:26px}.final-line b{color:var(--green)}.final-line em{font-style:normal;color:var(--cyan)}.tbd{position:absolute;right:72px;bottom:17px;margin:0;color:#71868f;font:500 10px/1 "IBM Plex Mono",monospace}

/* controls + source panel */
.deck-controls{position:absolute;left:0;right:0;bottom:0;height:62px;z-index:50;display:grid;grid-template-columns:68px 88px 1fr 110px 68px 68px;align-items:center;background:#0e110e;color:#e8eee9;border-top:1px solid #2b302b}.deck-controls button{height:61px;border:0;border-left:1px solid #2b302b;background:transparent;color:inherit;cursor:pointer;font:600 15px/1 "IBM Plex Mono",monospace}.deck-controls button:hover,.deck-controls button:focus-visible{background:var(--green);color:#0b0d0b;outline:none}.deck-controls .progress-track{position:absolute;left:0;right:0;top:-3px;height:3px;background:#2a302a}.progress-track i{display:block;height:100%;width:7.14%;background:var(--green);transition:width .35s ease}.counter{display:flex;justify-content:center;gap:6px;font:600 13px/1 "IBM Plex Mono",monospace}.counter strong{color:var(--green)}.deck-controls>p{margin:0;padding:0 18px;font-size:13px;color:#a9b2aa}.source-btn{font-size:11px!important}.click-zone{position:absolute;top:0;bottom:62px;width:44px;border:0;background:transparent;z-index:30;cursor:pointer;opacity:0}.click-zone:focus-visible{opacity:1;outline:3px solid var(--green);background:rgba(0,213,100,.1)}.prev-zone{left:0}.next-zone{right:0}.source-panel{position:fixed;right:0;top:0;bottom:0;width:min(480px,92vw);z-index:120;background:#10150f;color:#eef3ee;transform:translateX(102%);transition:transform .28s ease;box-shadow:-25px 0 80px rgba(0,0,0,.55);display:flex;flex-direction:column}.source-panel.open{transform:translateX(0)}.source-panel header{height:95px;padding:20px 24px;border-bottom:1px solid #304033;display:flex;justify-content:space-between}.source-panel header span{font:600 10px/1 "IBM Plex Mono",monospace;color:var(--green)}.source-panel header strong{display:block;margin-top:9px;font-size:17px}.source-panel header button{width:42px;height:42px;border:1px solid #425246;background:transparent;color:#fff;font-size:28px;cursor:pointer}.source-list{padding:24px;overflow:auto;flex:1}.source-list a,.source-list span{display:block;margin:0 0 12px;padding:16px;border:1px solid #314136;color:#dfe9e2;text-decoration:none;font-size:13px;line-height:1.5;word-break:break-word}.source-list a::before{content:"↗  ";color:var(--green)}.source-list span::before{content:"•  ";color:var(--cyan)}.source-list a:hover{border-color:var(--green);color:#fff}.source-panel footer{padding:20px 24px;border-top:1px solid #304033;display:flex;gap:10px}.legend{padding:6px 8px;font:600 9px/1 "IBM Plex Mono",monospace;border:1px solid}.legend.fact{border-color:var(--green);color:var(--green)}.legend.inference{border-style:dashed;border-color:var(--orange);color:var(--orange)}.source-scrim{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .25s}.source-panel.open+.source-scrim{opacity:1;pointer-events:auto}.portrait-hint{display:none}

/* final layout corrections */
.metric.launch strong{font-family:"IBM Plex Mono",monospace;font-size:58px;font-weight:700;white-space:nowrap;letter-spacing:-.075em}
.comic-grid article{min-width:0}
.resident.c{left:60px;top:250px}

/* motion */
.slide.active .reveal{animation:inkIn .55s cubic-bezier(.2,.75,.25,1) both}.slide.active .reveal:nth-child(2){animation-delay:.05s}.slide.active .reveal:nth-child(3){animation-delay:.1s}.slide.active .reveal:nth-child(4){animation-delay:.15s}.slide.active .reveal:nth-child(5){animation-delay:.2s}.slide.active .reveal:nth-child(6){animation-delay:.25s}.slide.active .comic-grid .reveal:nth-child(2),.slide.active .governance-notes .reveal:nth-child(2){animation-delay:.1s}.slide.active .comic-grid .reveal:nth-child(3),.slide.active .governance-notes .reveal:nth-child(3){animation-delay:.16s}.slide.active .comic-grid .reveal:nth-child(4){animation-delay:.22s}.slide.active .comic-grid .reveal:nth-child(5){animation-delay:.28s}
@keyframes inkIn{from{opacity:0;transform:translateY(18px) skewY(.6deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(max-width:700px) and (orientation:portrait){.stage-wrap{inset:46px 0 62px;align-items:flex-start;padding-top:34px}.portrait-hint{display:flex;position:absolute;top:0;left:0;right:0;height:46px;z-index:55;align-items:center;justify-content:center;gap:8px;background:var(--yellow);color:var(--ink);font-size:12px;font-weight:700}.portrait-hint b{font-size:19px}.deck-controls{grid-template-columns:52px 68px 1fr 52px 52px}.deck-controls .source-btn{display:none}.deck-controls>p{padding:0 8px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.click-zone{top:46px}}
@media(max-height:560px){.stage-wrap{align-items:center}.portrait-hint{display:none!important}}

/* control width safety for two-digit slide counts */
.deck-controls{grid-template-columns:68px 112px 1fr 110px 68px 68px}
.counter{gap:7px;min-width:0;white-space:nowrap}
@media(max-width:700px) and (orientation:portrait){.deck-controls{grid-template-columns:52px 82px 1fr 52px 52px}}
