:root{--bg:#0B1014;--ink:#F2F5F7;--mut:#83939e;--green:#63c7af;--orange:#E89970;--card:#121b21;--line:#27353f;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--ink)}body{font:16px/1.45 var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:5px;border-radius:5px}button:disabled{cursor:default;opacity:.24}[hidden]{display:none!important}h1,p{margin:0}h1{font-size:clamp(34px,4.7vw,72px);font-weight:740;line-height:1.09;letter-spacing:-.05em;text-wrap:balance}em{font-style:normal;color:var(--green)}.eyebrow{font:500 clamp(10px,.9vw,13px)/1.4 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--mut);margin-bottom:22px}.large-copy{font-size:clamp(17px,2vw,28px);color:#a6b2bc;line-height:1.4}.mono-label{font:500 13px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--mut)}
.masthead{position:fixed;z-index:20;top:0;left:0;right:0;height:72px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center}.identity{display:flex;align-items:center;gap:10px;color:#bac6ce;font:500 12px var(--mono);letter-spacing:.025em}.mark{font-size:27px;line-height:1;color:var(--green)}.top-right{display:flex;gap:24px;align-items:center}.author{font-size:12px;color:var(--mut)}#fullscreen{font-size:25px;color:var(--mut);padding:8px}.controls{position:fixed;z-index:20;bottom:0;left:0;right:0;height:65px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(transparent,var(--bg) 30%)}.control-left,.control-right{display:flex;align-items:center;gap:20px;min-width:200px}.control-right{justify-content:flex-end}.control-left button,.key-hint,#position{font:11px var(--mono);color:var(--mut)}.key-hint{opacity:.6}.control-right button{font-size:17px}#next{border:1px solid #344740;border-radius:7px;background:#63c7af0c;padding:9px 15px;color:#c8dfd8;font-size:12px;display:flex;gap:18px;align-items:center;min-width:86px}.slide-dots{display:flex;gap:12px}.slide-dot{height:22px;width:22px;display:grid;place-items:center;padding:0}.slide-dot::after{content:"";height:5px;width:5px;border-radius:50%;background:#46545e;transition:background .2s,transform .2s}.slide-dot.active::after{background:var(--green);transform:scale(1.6)}.progress-track{position:fixed;bottom:0;left:0;right:0;height:2px;z-index:25;background:#19242c}#progress{height:100%;width:0;background:var(--green);transition:width .3s ease}
#deck{position:absolute;inset:24px 0 65px}.slide{position:absolute;inset:0;padding:20px 6vw;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;isolation:isolate}.slide::before{content:"";z-index:-1;position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 45% 45%,#63c7af06,transparent 60%)}.slide.active{animation:enter .32s ease}.slide-heading{width:100%;max-width:1400px}.slide-heading h1{font-size:clamp(30px,3.55vw,54px)}
.intro-scene{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:15px 6vw;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .36s ease,transform .4s ease,visibility .36s}.intro[data-step="0"] .intro-definition,.intro[data-step="1"] .intro-definition,.intro[data-step="2"] .checks-scene,.intro[data-step="3"] .fuzzy-scene,.intro[data-step="4"] .thesis-scene{opacity:1;visibility:visible;transform:none}.definition-title{font-size:clamp(38px,6vw,89px);display:flex;justify-content:center;align-items:baseline;white-space:nowrap;letter-spacing:-.055em}.recursive{max-width:0;opacity:0;overflow:hidden;color:var(--green);transition:max-width .55s,opacity .4s,margin .4s}.intro[data-step="1"] .recursive{max-width:12ch;opacity:1;margin-right:.2em}.intro-definition .large-copy{margin-top:30px}.recursive-copy{position:absolute;top:calc(50% + 60px);opacity:0;transition:opacity .3s}.intro[data-step="1"] .self-copy{opacity:0}.intro[data-step="1"] .recursive-copy{opacity:1}.intro-definition h1,.intro-definition p{z-index:1}.check-examples{display:flex;gap:24px;margin-top:35px;text-align:left}.check-card{background:linear-gradient(135deg,#1c2830,#10171c);border:1px solid var(--line);border-radius:16px;padding:23px 25px;width:min(27vw,320px)}.code-lines{height:96px;padding-top:18px}.code-lines i,.mini-lines i{height:5px;border-radius:3px;background:#678e92;display:block;width:72%;margin-bottom:9px}.code-lines i:nth-child(2){width:53%;margin-left:20px;background:#49636d}.code-lines i:nth-child(3){width:67%;margin-left:20px}.code-lines i:nth-child(4){width:46%}.equation{height:96px;display:flex;align-items:center;justify-content:center;font:clamp(17px,2.05vw,30px) var(--mono);white-space:nowrap;letter-spacing:-.055em}.check-result{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:15px;color:#a7bcbb}.check-result b{font-weight:500;color:var(--green);font-size:20px}.fuzzy-scene{flex-direction:row;gap:7vw;text-align:left}.fuzzy-scene h1{font-size:clamp(36px,4.4vw,66px)}.photo-question{position:relative;width:32vw;max-width:460px;height:44vh;max-height:400px;transform:rotate(2deg);border:1px solid #3b4e59;background:#17242d;padding:8px;border-radius:9px;box-shadow:0 25px 70px #0005}.photo-question img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;border-radius:4px;opacity:.85}.question-paper{position:absolute;bottom:24px;left:-30px;right:22px;transform:rotate(-4deg);background:#ece8db;color:#172129;padding:18px 22px;box-shadow:0 8px 35px #0004;font-size:clamp(18px,1.65vw,25px);font-weight:600}.question-paper span{display:block;font-size:13px;font-weight:400;color:#68736f;margin-top:6px}.thesis-scene h1{font-size:clamp(43px,6vw,90px);max-width:1000px}.thesis-glyph{display:flex;align-items:center;gap:33px;margin-top:40px;color:var(--green)}.thesis-glyph span{font:45px var(--mono)}.thesis-glyph svg{width:70px;height:30px;stroke:var(--mut);stroke-width:1.5;fill:none}.thesis-glyph svg.eye{width:85px;height:60px;stroke:var(--green);stroke-width:2}
.approach{justify-content:flex-start;padding-top:4vh}.harness-diagram{position:relative;width:min(100%,1120px);height:clamp(250px,43vh,430px);display:flex;justify-content:space-around;align-items:center;margin-top:3vh}.flow-node{width:24%;height:210px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:25px;position:relative;z-index:1}.node-label{font-size:clamp(14px,1.5vw,22px);font-weight:500}.stack-pictures{width:145px;height:105px;position:relative;margin:15px}.stack-pictures>div{position:absolute;inset:0;background:#192a31;border:1px solid #4b6870;border-radius:8px;transform:rotate(-10deg) translate(-9px,-6px)}.stack-pictures>div:nth-child(2){transform:rotate(6deg) translate(7px,-6px);background:#14262c}.stack-pictures>div:nth-child(3){transform:none;background:#1b3238}.stack-pictures svg{width:100%;height:100%;stroke:var(--green);stroke-width:2;fill:none}.flow-arrow{font-size:40px;color:#57717a;transform:translateY(-22px);opacity:0;transition:opacity .35s}.tool-paper{width:160px;height:132px;border:1px solid #35584c;background:linear-gradient(135deg,#19302b,#14231f);border-radius:13px;padding:16px 20px;position:relative}.code-braces{font:26px var(--mono);color:var(--green)}.mini-lines{margin-top:13px}.mini-lines i{height:3px;background:#527b6b;margin-bottom:6px;width:85%}.mini-lines i:nth-child(2){width:63%}.edit-indicator{position:absolute;top:-17px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#193b2f;border:1px solid #36705a;padding:5px 9px;border-radius:5px;color:#8bd9b6;font:10px var(--mono)}.check-disc{width:130px;height:130px;border:1px solid #3f555e;border-radius:50%;display:grid;place-items:center;font-size:64px;font-weight:300;color:#a0b4bd;background:#19272e}.tool-node,.check-node{opacity:0;transform:translateY(12px);transition:opacity .35s,transform .35s}.approach[data-step="1"] .tool-node,.approach[data-step="2"] .tool-node,.approach[data-step="3"] .tool-node,.approach[data-step="2"] .check-node,.approach[data-step="3"] .check-node{opacity:1;transform:none}.approach:not([data-step="0"]) .arrow-one,.approach[data-step="2"] .arrow-two,.approach[data-step="3"] .arrow-two{opacity:1}.rewrite-path{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--green);stroke-width:1.8;opacity:0;transition:opacity .35s}.rewrite-label{position:absolute;left:49%;bottom:1%;font-size:13px;color:#8bb7a8;opacity:0;transition:opacity .35s}.approach[data-step="3"] .rewrite-path,.approach[data-step="3"] .rewrite-label{opacity:1}.new-images{position:absolute;left:4%;bottom:6%;display:flex;gap:5px;opacity:0;transition:opacity .35s}.new-images span{width:22px;height:16px;border:1px solid #58877a;border-radius:2px;background:#63c7af14}.approach[data-step="3"] .new-images{opacity:1}.approach-caption{font-size:clamp(17px,1.8vw,25px);color:#aabbbd;margin-top:2vh}
.demo-slide{padding-top:10px;padding-bottom:5px;justify-content:flex-start;gap:15px}.demo-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.demo-heading .eyebrow{margin-bottom:10px;display:flex;align-items:center;gap:20px}.demo-heading h1{font-size:clamp(28px,3.1vw,48px);letter-spacing:-.04em}.saved-label{font:10px var(--mono);color:#7c9c90;text-transform:none;letter-spacing:.015em;padding:4px 7px;border:1px solid #2a443a;border-radius:4px;white-space:nowrap}.domain-label{font:10px var(--mono);color:var(--mut);margin-bottom:7px;white-space:nowrap}.replay-frame{width:100%;max-width:1400px;min-height:100px;flex:1;position:relative;border:1px solid #26353f;border-radius:12px;overflow:hidden;background:#10191f}.replay-frame canvas{display:block;width:100%;height:100%}.loading{position:absolute;inset:0;display:grid;place-items:center;font-size:15px;color:var(--mut);background:#10191f}.demo-footer{width:100%;max-width:1400px;min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:20px}.stage-label{font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:8px}.demo-caption>p:last-child{font-size:clamp(16px,1.6vw,23px);color:#c3cdd4}.receipt{display:flex;align-items:center;gap:22px;text-align:right;flex-shrink:0}.stat small{display:block;font:10px var(--mono);color:var(--mut);margin-bottom:5px}.stat strong{font:500 clamp(24px,2.7vw,39px)/1 var(--mono);letter-spacing:-.05em;color:var(--green)}.stat.original strong{color:var(--orange)}.stat.reference strong{color:var(--ink)}.stat strong span{font-size:.4em;letter-spacing:0;color:var(--mut);padding-left:4px}.receipt-arrow{color:#506775;font-size:22px}.stat-note{font:10px var(--mono);color:var(--mut);max-width:130px;text-align:left;line-height:1.6}
.takeaway-main,.takeaway-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 5vw;transition:opacity .35s,transform .35s}.takeaway-main h1{font-size:clamp(34px,4.55vw,68px)}.takeaway-actions{display:flex;gap:40px;max-width:1200px;margin-top:45px}.takeaway-action{text-align:left;opacity:0;transform:translateY(10px);transition:opacity .35s,transform .35s}.takeaway-action span{font:12px var(--mono);color:var(--green)}.takeaway-action p{font-size:clamp(15px,1.55vw,23px);margin-top:10px}.takeaway[data-step="1"] .action-one,.takeaway[data-step="2"] .action-one,.takeaway[data-step="3"] .action-one,.takeaway[data-step="2"] .action-two,.takeaway[data-step="3"] .action-two,.takeaway[data-step="3"] .action-three{opacity:1;transform:none}.takeaway-end{opacity:0;visibility:hidden;transform:translateY(12px)}.takeaway[data-step="4"] .takeaway-main{opacity:0;visibility:hidden;transform:translateY(-12px)}.takeaway[data-step="4"] .takeaway-end{opacity:1;visibility:visible;transform:none}.takeaway-end .large-copy{margin-top:34px;font-size:clamp(15px,1.55vw,23px)}.next-question{margin-top:15px;font-size:clamp(15px,1.55vw,23px);color:var(--green)}
#notes{position:fixed;z-index:50;right:24px;bottom:78px;width:min(470px,calc(100vw - 48px));background:#1a252d;border:1px solid #465965;border-radius:12px;padding:20px 23px;box-shadow:0 15px 70px #0008}.notes-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font:11px var(--mono);color:var(--green)}#notes-close{font-size:25px;line-height:1;color:var(--mut)}#notes-text{font-size:17px;line-height:1.6;color:#d6e0e4}.notes-bottom{margin-top:20px;display:flex;justify-content:space-between;font:10px var(--mono);color:var(--mut)}.notes-bottom a{color:#9ab3b7}.error-message{color:var(--orange);font-size:14px;padding:30px;text-align:center}
@keyframes enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.slide{padding-left:8vw;padding-right:8vw}.replay-frame{max-width:1600px}.slide-heading,.demo-footer{max-width:1600px}}
@media(max-height:700px) and (min-width:761px){.masthead{height:55px}.controls{height:48px}#deck{inset:20px 0 48px}.demo-slide{gap:10px}.demo-heading .eyebrow{margin-bottom:5px}.demo-heading h1{font-size:32px}.demo-footer{min-height:67px}.slide{padding-top:8px;padding-bottom:0}.check-examples{margin-top:23px}.check-card{padding:15px 23px}.code-lines,.equation{height:80px}.eyebrow{margin-bottom:15px}.harness-diagram{height:36vh;margin-top:1vh}.approach-caption{margin-top:2vh}.takeaway-actions{margin-top:30px}}
@media(max-width:760px){.masthead{height:58px;padding:0 5vw}.author{display:none}.identity{font-size:10px}.controls{height:60px;padding:0 4vw}.control-left,.control-right{min-width:0;gap:10px}.key-hint{display:none}.slide-dots{gap:3px}#position{display:none}#deck{inset:16px 0 60px}.slide{padding:12px 5vw}.definition-title{font-size:clamp(24px,5.2vw,39px)}.recursive-copy{top:calc(50% + 39px)}.intro-definition .large-copy{font-size:16px;max-width:90%;margin-top:24px}.intro-scene{padding:20px 5vw}.checks-scene h1{font-size:39px}.check-examples{gap:12px;margin-top:30px}.check-card{width:42vw;padding:17px 13px}.check-result{font-size:11px}.equation{font-size:19px}.code-lines{height:83px}.equation{height:83px}.fuzzy-scene{flex-direction:column;gap:30px;text-align:center}.fuzzy-scene h1{font-size:35px}.photo-question{width:64vw;height:30vh}.question-paper{font-size:18px;left:-14px;right:8px;bottom:17px;padding:12px 17px}.question-paper span{font-size:11px}.thesis-scene .eyebrow{max-width:27ch;line-height:1.8}.thesis-scene h1{font-size:43px}.thesis-glyph{margin-top:28px;gap:22px}.harness-diagram{height:44vh;margin-top:1vh;max-width:550px}.flow-node{width:27%;gap:16px}.stack-pictures{width:80px;height:70px;margin:10px}.tool-paper{width:88px;height:94px;padding:12px}.edit-indicator{font-size:7px;padding:4px}.code-braces{font-size:22px}.mini-lines{margin-top:10px}.check-disc{width:77px;height:77px;font-size:39px}.node-label{font-size:12px;text-align:center}.flow-arrow{font-size:24px}.rewrite-label{font-size:10px;left:35%;bottom:15%;max-width:60%}.rewrite-path{top:-10px}.new-images{bottom:14%;left:5%}.new-images span{width:14px;height:11px}.approach .slide-heading{margin-top:3vh}.approach .slide-heading h1{font-size:35px}.approach-caption{font-size:18px;text-align:center;max-width:24ch}.demo-heading .eyebrow{font-size:9px;gap:10px}.demo-heading h1{font-size:27px}.domain-label{display:none}.demo-slide{gap:13px}.saved-label{font-size:8px;padding:3px 5px}.demo-footer{min-height:120px;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:12px;padding-bottom:3px}.demo-caption>p:last-child{font-size:16px;line-height:1.3}.stage-label{font-size:9px;margin-bottom:5px}.receipt{gap:17px}.stat strong{font-size:27px}.stat small{font-size:8px}.stat-note{font-size:9px;max-width:145px}.replay-frame{border-radius:8px}.takeaway-main h1{font-size:36px}.takeaway-actions{gap:20px;flex-direction:column;margin-top:30px;align-self:flex-start;margin-left:8vw}.takeaway-action{display:flex;gap:15px;align-items:center}.takeaway-action p{margin:0;font-size:20px}.takeaway-end h1{font-size:39px}.takeaway-end .large-copy,.next-question{font-size:17px;max-width:29ch}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
