@font-face{font-family:InterVar;src:local("Inter var"),local("InterVar");font-display:swap}:root{--bg: #0f1115;--text: #e6e6e6;--muted: #9aa0a6;--accent: #7ac2ff;--accent-2: #9fe870;--warn: #ff6b6b;--card: #171a20cc;--ring: #2a2f3a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:InterVar,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:linear-gradient(180deg,#0b0c10,#131620 40%,#0b0c10);color:var(--text)}.page-bg{position:fixed;top:-10vh;right:0;bottom:0;left:0;background:radial-gradient(1200px 600px at 20% 20%,#1a2030,transparent),radial-gradient(1000px 500px at 80% 40%,#101826,transparent);z-index:-1;transform:translateZ(0)}.layout{display:grid;grid-template-columns:120px minmax(0,760px) minmax(280px,1fr);gap:24px;padding:48px 32px 120px}@media (max-width: 1100px){.layout{grid-template-columns:100px minmax(0,1fr) 320px}}@media (max-width: 900px){.layout{grid-template-columns:80px minmax(0,1fr)}.charts-col{display:none}}.year-ruler-col{position:relative}.content-col{min-width:0}.charts-col{position:relative}.prose{line-height:1.8;font-size:18px;letter-spacing:.1px}.prose h1,.prose h2,.prose h3{color:#f0f3ff}.prose h1{font-size:44px;margin:0 0 24px}.prose h2{font-size:28px;margin:32px 0 12px}.prose p{color:var(--text)}.prose strong{color:#fff}.year-ruler{position:sticky;top:80px;display:flex;flex-direction:column;gap:8px;padding-left:8px;border-left:1px solid var(--ring)}.year-tick{background:transparent;border:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0;color:var(--muted)}.year-tick .year-line{display:inline-block;height:1px;width:24px;background:var(--ring)}.year-tick.is-active{color:#fff}.year-tick.is-active .year-line{background:var(--accent);height:2px}.year-tick.is-preview{color:var(--muted);opacity:.5;animation:preview-pulse 3s ease-in-out infinite}.year-tick.is-preview .year-line{background:var(--ring);opacity:.3}@keyframes preview-pulse{0%,to{opacity:.3}50%{opacity:.6}}.year-anchor{display:inline-block;width:1px;height:1px}.choice-block{margin:16px 0}.choice-label{color:var(--muted);margin-bottom:8px;font-size:14px}.choice-options{display:flex;gap:8px;flex-wrap:wrap}.choice-btn{background:#11151d;color:var(--text);border:1px solid var(--ring);padding:6px 12px;border-radius:999px;cursor:pointer}.choice-btn.is-active{border-color:var(--accent);color:#fff}.terminate-block{margin:12px 0;padding:12px 14px;border-left:3px solid var(--warn);background:#190f1280}.cite{position:relative;cursor:help;color:#fff;background:#7ac2ff2e;border:1px solid rgba(122,194,255,.35);padding:0 4px;border-radius:4px}.cite.cite-green{background:#9fe87033;border-color:#9fe87066}.cite.cite-red{background:#ff6b6b2e;border-color:#ff6b6b66}.cite:hover{border-color:#cde6ff80}.cite-card{position:absolute;z-index:10;top:1.4em;left:0;background:var(--card);color:var(--text);padding:12px 14px;border-radius:10px;border:1px solid var(--ring);width:min(360px,80vw);box-shadow:0 6px 24px #0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cite-card-inner{display:block}.cite-title{display:block;font-weight:600;margin-bottom:6px;color:#fff}.cite-summary{display:block;color:var(--muted);font-size:14px}.cite-link{display:inline-block;margin-top:8px;color:var(--accent)}.charts-sticky{position:sticky;top:60px;display:flex;flex-direction:column;gap:16px}.chart-card{background:#0f141d80;border:1px solid var(--ring);border-radius:12px;padding:12px 14px}.chart-card.subtle{opacity:.8}.chart-title{font-size:14px;color:var(--muted);margin-bottom:8px}.progress-bar{height:8px;background:#0b0f1680;border-radius:8px;overflow:hidden;border:1px solid var(--ring)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#c58cff)}.mini-chart{width:100%;height:80px;color:#7ea6ff}.chart-note{font-size:13px;color:var(--muted)}.app-root{perspective:1200px}.content-col{transform:translateZ(0)}.charts-col{transform:translateZ(30px)}.preview-cloud{pointer-events:none;-webkit-user-select:none;user-select:none;position:relative;perspective:1500px;transform-style:preserve-3d;line-height:2.5;letter-spacing:.3em;word-spacing:.6em;transition:line-height .3s ease,letter-spacing .3s ease,word-spacing .3s ease}.preview-cloud.settling{line-height:1.8;letter-spacing:normal;word-spacing:normal;pointer-events:auto;-webkit-user-select:auto;user-select:auto}.cloud-char{display:inline-block;transform-style:preserve-3d;will-change:transform,opacity,filter;margin:0 .2em}.cloud-char-entering{animation:cloud-enter 2.5s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:var(--enter-delay, 0s);opacity:0}.cloud-char-active{opacity:.6;animation:cloud-float var(--duration, 4s) ease-in-out infinite;animation-delay:var(--delay, 0s)}.cloud-char-settling{animation:cloud-settle .8s cubic-bezier(.22,1,.36,1) forwards!important;animation-delay:var(--settle-delay, 0s)!important;opacity:.6}.cloud-char-settled{opacity:1;filter:none;transform:none;margin:0;animation:none}.cloud-char-exiting{animation:cloud-exit 1.5s cubic-bezier(.68,-.55,.27,1.55) forwards!important;animation-delay:var(--exit-delay, 0s)!important}@keyframes cloud-enter{0%{transform:translate3d(var(--enter-x, 0px),var(--enter-y, 0px),-150px) rotateX(180deg) rotateY(180deg) rotate(360deg) scale(.2);opacity:0;filter:blur(25px)}30%{opacity:.3;filter:blur(18px)}60%{opacity:.5;filter:blur(10px)}85%{opacity:.58;filter:blur(4px)}to{transform:translateZ(0) rotateX(0) rotateY(0) rotate(0) scale(1);opacity:.6;filter:blur(var(--blur-start, .5px))}}@keyframes cloud-settle{0%{transform:translate3d(var(--translate-x, 0px),var(--translate-y, 0px),var(--translate-z, 0px)) rotateX(var(--rotate-x, 0deg)) rotateY(var(--rotate-y, 0deg)) rotate(var(--rotate-z, 0deg)) scale(var(--scale, 1));opacity:.6;filter:blur(var(--blur-start, .5px));margin:0 .2em}40%{opacity:.8;filter:blur(.3px)}to{transform:translateZ(0) rotateX(0) rotateY(0) rotate(0) scale(1);opacity:1;filter:none;margin:0}}@keyframes cloud-exit{0%{transform:translateZ(0) rotateX(0) rotateY(0) rotate(0) scale(1);opacity:.6;filter:blur(var(--blur-start, .5px))}20%{opacity:.5;filter:blur(3px)}50%{opacity:.3;filter:blur(12px)}to{transform:translate3d(calc(var(--enter-x, 1000px) * -1),calc(var(--enter-y, 1000px) * -1),-200px) rotateX(-180deg) rotateY(-180deg) rotate(-360deg) scale(.15);opacity:0;filter:blur(35px)}}@keyframes cloud-float{0%,to{transform:translateZ(0) rotateX(0) rotateY(0) rotate(0) scale(1);opacity:.6;filter:blur(var(--blur-start, .5px))}25%{transform:translate3d(calc(var(--translate-x, 0px) * .4),calc(var(--translate-y, 0px) * .3),calc(var(--translate-z, 0px) * .5)) rotateX(calc(var(--rotate-x, 0deg) * .5)) rotateY(calc(var(--rotate-y, 0deg) * .4)) rotate(calc(var(--rotate-z, 0deg) * .3)) scale(calc(var(--scale, 1) * .85));opacity:.7;filter:blur(calc(var(--blur-max, 2px) * .5))}50%{transform:translate3d(var(--translate-x, 0px),var(--translate-y, 0px),var(--translate-z, 0px)) rotateX(var(--rotate-x, 0deg)) rotateY(var(--rotate-y, 0deg)) rotate(var(--rotate-z, 0deg)) scale(var(--scale, 1));opacity:.65;filter:blur(var(--blur-max, 2px))}75%{transform:translate3d(calc(var(--translate-x, 0px) * .7),calc(var(--translate-y, 0px) * -.6),calc(var(--translate-z, 0px) * .8)) rotateX(calc(var(--rotate-x, 0deg) * .8)) rotateY(calc(var(--rotate-y, 0deg) * -.7)) rotate(calc(var(--rotate-z, 0deg) * .6)) scale(calc(var(--scale, 1) * 1.1));opacity:.55;filter:blur(calc(var(--blur-max, 2px) * .7))}}
