:root{font-family:var(--font);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button{font:inherit}.deck{min-height:100svh;display:grid;place-items:center;background:var(--bg)}.slide-frame{position:relative;width:min(100vw,133.333svh);height:min(100svh,75vw);min-height:420px;overflow:hidden;background:var(--bg)}.slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;padding:8.5% 8%;opacity:0;pointer-events:none;transform:translate(18px);transition:opacity .25s ease,transform .25s ease}.slide.is-active{opacity:1;pointer-events:auto;transform:translate(0)}h1,h2,h3,p{margin:0}h1{max-width:8em;font-size:clamp(2.6rem,6vw,5.2rem);line-height:.98;letter-spacing:-.065em}h2{font-size:clamp(2rem,4.6vw,4.1rem);line-height:1;letter-spacing:-.06em}.subtitle{margin-top:2.2%;font-size:clamp(1.1rem,2vw,1.7rem)}.kicker{margin-bottom:2.1%;color:var(--muted);font-size:clamp(1rem,1.45vw,1.25rem);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.title-slide{align-items:flex-start;justify-content:flex-start}.title-copy{width:100%;margin-top:7%}.qr-slide{align-items:center;justify-content:center}.qr-copy{display:grid;gap:4%;justify-items:center;width:100%;text-align:center}.qr-copy h2{font-size:clamp(2rem,4.6vw,4.1rem)}.qr-box{padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff;line-height:0}.qr-box svg{width:min(38vh,52vw,280px);height:auto}.qr-url{color:var(--muted);font-size:clamp(1.1rem,1.8vw,1.5rem)}.goal-list{display:grid;gap:4.5%;width:min(82%,850px);margin-top:9%}.goal-item{display:grid;grid-template-columns:3.2em 1fr;gap:2.8%;align-items:start;border-top:1px solid var(--border);padding-top:2.5%}.goal-item span{color:var(--muted);font-size:1rem;font-weight:600}.goal-item p{font-size:clamp(1.3rem,2.25vw,2rem);line-height:1.22;letter-spacing:-.03em}.goals-slide,.bullets-slide{display:block}.bullet-list{list-style:none;margin:8% 0 0;padding:0;display:grid;gap:18px;width:min(86%,880px)}.bullet-list li{border-top:1px solid var(--border);padding-top:2.2%;font-size:clamp(1.25rem,2.1vw,1.9rem);line-height:1.25;letter-spacing:-.03em}.chart-slide{display:block;padding-top:6%}.chart-slide-inner{width:100%}.chart-heading h2{font-size:clamp(1.8rem,3.4vw,3rem)}.chart-holder{margin-top:3%;width:100%}.chart-canvas-holder{width:100%}.chart-canvas-holder canvas{display:block;width:100%}.chart-legend{display:grid;gap:10px;margin-top:14px;justify-items:start}.chart-legend-item{display:flex;align-items:center;gap:12px;color:var(--text);font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:600}.chart-swatch{width:14px;height:14px;border-radius:50%;flex:none}.chart-swatch.dashed{width:11px;height:11px;background:#fff;border:3px dashed #999999}.chart-note{margin-top:2%;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:70em}.content-slide{display:block}.slide-heading{max-width:80%}.intro-subtitle{margin-top:3%;color:var(--muted);font-size:clamp(1.25rem,2vw,1.75rem)}.cube-state-slide{align-items:center}.explainer{display:flex;align-items:center;gap:3%;width:100%}.explainer-copy{flex:1 1 30%;min-width:0}.explainer-lede{max-width:20em;margin-top:4.5%;color:#4d4d4d;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.3}.step-copy{min-height:7.2em;margin-top:12%;border-left:2px solid var(--text);padding-left:5%;animation:step-reveal .35s ease both}.step-label{margin-bottom:4%;font-size:clamp(.9rem,1.25vw,1.1rem);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.step-text{max-width:24em;color:#4d4d4d;font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.35}.showcase-column{flex:1 1 34%;min-width:0}.showcase-next{display:block;margin:4% 0 0 auto;border:0;padding:0;color:#9b9b9b;background:transparent;cursor:pointer;font-size:clamp(.82rem,1.15vw,1rem)}.showcase-next:hover,.showcase-next:focus-visible{color:var(--text)}.showcase-next strong{display:inline-block;margin-left:.25em;font-size:1.2em;font-weight:400;transition:transform .2s ease}.showcase-next:hover strong,.showcase-next:focus-visible strong{transform:translate(4px)}.showcase-next.is-done span:after{content:" · restart"}@keyframes step-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cube-state-spacer{flex:1 1 30%;min-height:260px}.cube-state-net{width:100%;display:grid;gap:3px;align-content:center;justify-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.cube-state-net-row{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.cube-state-face{width:clamp(34px,4.6vw,56px);aspect-ratio:1}.cube-state-face-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:100%;height:100%}.cube-state-sticker{display:block;width:100%;aspect-ratio:1;border:1px solid rgba(0,0,0,.35);border-radius:2px}.cube-state-sticker.is-changed{outline:2px solid var(--text);outline-offset:-1px}.cube-state-string{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-family:ui-monospace,Menlo,monospace}.graph-column{flex:1 1 62%;min-width:0}.bidir-graph{width:100%;height:auto}.graph-node,.graph-edge{opacity:0}.graph-node{transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity .4s ease,transform .4s ease}.graph-edge{transition:opacity .4s ease}.graph-node.is-on,.graph-edge.is-on{opacity:1}.graph-node.is-on{transform:scale(1)}.graph-node circle{fill:#fff;stroke:var(--text);stroke-width:2}.graph-edge line{stroke:var(--muted);stroke-width:2}.graph-arrow-head{stroke:var(--muted)}.graph-label-text{fill:var(--muted);font-size:14px;font-weight:600}.graph-meet .meet-open{fill:#fff;stroke-dasharray:4 3}.graph-meet.is-met .meet-filled{fill:var(--accent);stroke:var(--accent)}.graph-halo{fill:none;stroke:var(--accent);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:meet-pulse 1.6s ease-in-out infinite}@keyframes meet-pulse{0%{opacity:.8;transform:scale(.7)}70%{opacity:0;transform:scale(1.4)}to{opacity:0;transform:scale(1.4)}}.graph-edge.is-path line{stroke:var(--accent);stroke-width:3.5}.graph-node.is-path circle{stroke:var(--accent)}.graph-back{stroke:var(--muted);stroke-width:2;stroke-dasharray:5 4;opacity:0;transition:opacity .4s ease}.graph-back.is-on{opacity:1}.graph-mark{font-size:20px;font-weight:700;opacity:0;transition:opacity .4s ease}.graph-mark.is-on{opacity:1}.graph-miss{fill:var(--muted)}.graph-star{fill:var(--accent);font-size:22px}.graph-limit{fill:var(--muted);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.graph-f{fill:var(--text);font-size:12.5px;font-weight:700}.is-dim{opacity:.22!important}.bidir-nets{display:flex;gap:16px;justify-content:center;margin-top:8px}.bidir-net{margin:0;display:grid;gap:6px;justify-items:center;opacity:0;transition:opacity .4s ease}.bidir-net.is-on{opacity:1}.bidir-net figcaption{color:var(--muted);font-size:clamp(.8rem,1.1vw,.95rem);font-weight:600}.cube-state-net.is-small .cube-state-face{width:clamp(24px,3.2vw,38px)}.bidir-foot{display:flex;align-items:baseline;justify-content:flex-end;gap:16px;margin-top:10px}.bidir-foot .showcase-next{margin:0}.move-show{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;align-content:center;width:min(100%,240px);aspect-ratio:1;margin-inline:auto;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:.02em}.cube-state-group{display:inline-flex;gap:2px;align-items:center}.cube-state-group em{font-style:normal;font-size:.8rem;font-weight:700;margin-right:4px;padding:1px 6px;border-radius:4px}.cube-state-group b{font-weight:600;font-size:.95rem;padding:0 1px}.cube-state-group b.is-changed{outline:2px solid var(--text);border-radius:2px}.conclusion-slide{display:block;padding-top:15%}.conclusion-copy h2{font-size:clamp(2rem,4.6vw,4.1rem)}.conclusion-copy>p:not(.kicker){max-width:31em;margin-top:7%;color:var(--muted);font-size:clamp(1.35rem,2.1vw,1.9rem);font-weight:400;line-height:1.35;letter-spacing:-.025em}.conclusion-copy .conclusion-prose{margin-top:5%;max-width:34em;font-size:clamp(1.25rem,2.1vw,1.9rem);line-height:1.4;letter-spacing:-.02em}.deck-cube{position:absolute;left:0;right:0;top:0;bottom:11%;z-index:1;pointer-events:none;opacity:1;transition:opacity .25s ease}.deck-cube.is-hidden{opacity:0}.deck-cube,.deck-cube *{pointer-events:none!important}.deck-cube.is-interactive,.deck-cube.is-interactive *{pointer-events:auto!important}.deck-cube-reset{position:absolute;right:8%;bottom:4%;border:0;padding:0;color:#9b9b9b;background:transparent;cursor:pointer;font-size:clamp(.82rem,1.15vw,1rem)}.deck-cube-reset:hover{color:var(--text)}.deck-cube-reset strong{display:inline-block;margin-left:.25em;font-size:1.2em;font-weight:400}.deck-controls{position:absolute;right:8%;bottom:5.5%;left:8%;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}.deck-button{width:2em;height:2em;border:0;padding:0;color:var(--text);background:transparent;cursor:pointer;font-size:1.1rem;pointer-events:auto}.deck-button:disabled{color:#ccc;cursor:default}.deck-button:not(:disabled):hover{transform:translate(2px)}.deck-button:first-child:not(:disabled):hover{transform:translate(-2px)}.slide-count{color:var(--muted);font-size:.68rem;letter-spacing:.1em}@media(max-width:700px){.slide-frame{min-height:0;height:100svh;width:100vw;aspect-ratio:auto}.slide{padding:13% 8% 15%}.chart-slide,.cube-state-slide{overflow-y:auto}.explainer{flex-direction:column;align-items:stretch;gap:16px}.cube-state-spacer{min-height:180px}.graph-column{flex-basis:auto}.bidir-slide{overflow-y:auto}.step-copy{min-height:0;margin-top:7%}}
