:root{--bg:#04060b;--bg-2:#0a0f1b;--panel:#11192cb8;--ink:#e9edf6;--ink-dim:#a3adc4;--ink-faint:#6b7794;--line:#a0b4dc24;--gold:#e3b45c;--gold-hi:#f7dfa0;--cyan:#5ad1e6;--ember:#ff6a4d;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", Georgia, serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--gutter:clamp(18px, 4vw, 56px)}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}a{color:var(--gold-hi);text-decoration:none}a:hover{text-decoration:underline}h2,h3{font-family:var(--serif);letter-spacing:.01em;margin:0;font-weight:600}p{margin:0 0 1em}.btn{font:700 .9rem/1 var(--sans);letter-spacing:.02em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 24px;transition:transform .15s,box-shadow .25s,background .25s,border-color .25s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn-primary{color:#1d1305;background:linear-gradient(#fbe8b4,#e3b45c 55%,#b9832f);box-shadow:inset 0 0 0 1px #ffe6aa59,0 10px 30px -10px #e3b45cb3}.btn-primary:hover{box-shadow:inset 0 0 0 1px #fff0c899,0 14px 40px -8px #e3b45ce6}.btn-ghost{color:var(--ink);-webkit-backdrop-filter:blur(8px);background:#0a0e1a73;border-color:#e9edf638}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-hi)}.btn-kofi{color:var(--gold-hi);background:#2a1d0a;border-color:#e3b45c73}.btn-kofi:hover{border-color:var(--gold-hi)}.btn-sm{padding:9px 16px;font-size:.8rem}.hero{isolation:isolate;background:#020306;height:100svh;min-height:640px;position:relative;overflow:hidden}.brand{color:var(--ink);font:600 .95rem/1 var(--serif);letter-spacing:.32em;text-transform:uppercase;align-items:center;gap:10px;display:inline-flex}.brand:hover{text-decoration:none}.emblem-mark{width:26px;height:26px;color:var(--gold);filter:drop-shadow(0 0 6px #e3b45c80)}.hero-top{z-index:5;padding:22px var(--gutter);justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;top:0;left:0;right:0}.top-links{align-items:center;gap:clamp(12px,2.4vw,30px);display:flex}.top-links a:not(.btn){color:var(--ink-dim);letter-spacing:.04em;font-size:.86rem}.top-links a:not(.btn):hover{color:var(--ink);text-decoration:none}.hero-copy{z-index:5;left:var(--gutter);max-width:min(620px, calc(100% - 2 * var(--gutter)));animation:1.4s cubic-bezier(.2,.7,.2,1) .2s both rise;position:absolute;bottom:clamp(48px,9vh,96px)}.status-pill{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);-webkit-backdrop-filter:blur(8px);background:#04060b80;border:1px solid #e9edf629;border-radius:999px;align-items:center;gap:9px;margin-bottom:18px;padding:7px 14px;font-size:.7rem;display:inline-flex}.status-pill:before{content:"";background:var(--gold);width:7px;height:7px;box-shadow:0 0 10px var(--gold);border-radius:50%;animation:2.4s ease-in-out infinite beacon}.hero h1{margin:0;line-height:.92}.hero h1 .word{white-space:nowrap;width:max-content;font:600 clamp(2.6rem, 8vw, 6.4rem)/.95 var(--serif);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(#fff6dc 0%,#f7dfa0 30%,#e3b45c 62%,#9c6c27 100%);color:#0000;filter:drop-shadow(0 4px 30px #000000bf);-webkit-background-clip:text;background-clip:text;margin-left:-.04em;padding-right:.1em;display:block}.hero h1 .sub{font:600 clamp(.8rem, 1.6vw, 1.1rem)/1 var(--sans);letter-spacing:.62em;text-transform:uppercase;color:#cfe7ee;text-shadow:0 2px 12px #000;margin-top:.7rem;display:block}.hero .tag{color:#c4cce0;text-shadow:0 2px 14px #000;max-width:46ch;margin:1.1rem 0 0;font-size:clamp(1rem,1.5vw,1.12rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.scroll-cue{z-index:5;border:1.5px solid #e9edf659;border-radius:12px;width:22px;height:36px;margin-left:-11px;position:absolute;bottom:18px;left:50%}.scroll-cue i{background:var(--gold);border-radius:2px;width:3px;height:7px;margin-left:-1.5px;animation:1.8s ease-in-out infinite cue;position:absolute;top:7px;left:50%}.cinema{z-index:0;--fx:60%;--fy:42%;background:#020306;position:absolute;inset:0;overflow:hidden}.stage{perspective:1150px;perspective-origin:var(--fx) var(--fy);position:absolute;inset:0;overflow:hidden}.world{left:var(--fx);top:var(--fy);width:0;height:0;transform-style:preserve-3d;position:absolute}.shadows,.actors{transform-style:preserve-3d;position:absolute;top:0;left:0}.shadows{transform:translateZ(4px)}.actors{transform:translateZ(16px)}.table{position:absolute;top:0;left:0}.table canvas{display:block;position:absolute}.shade{visibility:hidden;position:absolute}.shade.card{background:#0000006b;border-radius:16px;width:238px;height:333px;top:-166.5px;left:-119px;box-shadow:0 0 22px 4px #00000052}.shade.token{background:#00000080;border-radius:50%;width:46px;height:46px;top:-23px;left:-23px;box-shadow:0 0 14px 6px #0006}.actor{transform-style:preserve-3d;visibility:hidden;position:absolute;top:0;left:0}.actor.card{width:238px;height:333px;top:-166.5px;left:-119px}.actor.card .halo{opacity:0;box-shadow:0 0 34px 10px color-mix(in srgb, var(--glow) 75%, transparent), 0 0 90px 30px color-mix(in srgb, var(--glow) 30%, transparent);border-radius:24px;position:absolute;inset:-14px}.side{backface-visibility:hidden;background:#0a0a0d;border-radius:12px;position:absolute;inset:0;overflow:hidden}.side.back{background:#0b0f18;transform:rotateY(180deg)}.side.back img{object-fit:cover;width:100%;height:100%;display:block}.side .cardface{width:238px;height:333px;position:absolute;top:0;left:0}.side>i{pointer-events:none;opacity:0;border-radius:12px;position:absolute;inset:0}.side>i.own{opacity:1;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--own) 70%, transparent), inset 0 0 18px -8px var(--own)}.side>i.other{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--other) 70%, transparent), inset 0 0 18px -8px var(--other)}.side>i.glow{box-shadow:inset 0 0 0 3px var(--glow), inset 0 0 36px -4px color-mix(in srgb, var(--glow) 60%, transparent)}.side>i.burn{background:linear-gradient(#1e060099 25%,#ff963c73 62%,#ff5a14e6);box-shadow:inset 0 0 50px 10px #ff3c00cc}.side>i.sheen{background:linear-gradient(112deg,#0000 32%,#ffffff52 47%,#aae1ff29 53%,#0000 68%) 0 0/260% 100%}.side>i.dim{background:#04070e9e;box-shadow:inset 0 0 46px 14px #0000008c}.actor.token{background:radial-gradient(circle at 34% 28%, color-mix(in srgb, var(--res) 35%, white), var(--res) 48%, color-mix(in srgb, var(--res) 45%, black));width:46px;height:46px;box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--res) 55%, white), inset 0 0 0 7px #00000038, 0 0 22px color-mix(in srgb, var(--res) 70%, transparent);border-radius:50%;place-items:center;display:grid;top:-23px;left:-23px}.actor.token b{font:700 21px/1 var(--serif);color:#ffffffeb;text-shadow:0 1px 2px #0009}.actor.bolt i{background:radial-gradient(circle, #fff 0 16%, var(--c) 38%, transparent 70%);width:40px;height:40px;box-shadow:0 0 34px 10px color-mix(in srgb, var(--c) 55%, transparent);border-radius:50%;position:absolute;top:-20px;left:-20px}.actor.streak{background:linear-gradient(90deg,#0000,#c8eeffd9 70%,#0000);border-radius:2px;width:340px;height:3px;top:-1.5px;left:-170px;box-shadow:0 0 10px #78d2ff8c}.actor.beam{transform-origin:0;transform-style:flat;height:8px;top:-4px}.beam .line{transform-origin:0;background:linear-gradient(90deg, transparent, var(--c) 18%, #fff 70%, var(--c));box-shadow:0 0 16px 3px var(--c), 0 0 48px 10px color-mix(in srgb, var(--c) 35%, transparent);border-radius:4px;position:absolute;inset:0}.beam .head{background:radial-gradient(ellipse, #fff 0 18%, var(--c) 42%, transparent 70%);width:72px;height:48px;position:absolute;top:-20px;left:-36px}.actor.burst{transform-style:flat}.burst .ring,.burst .core{width:var(--s);height:var(--s);left:calc(var(--s) / -2);top:calc(var(--s) / -2);border-radius:50%;position:absolute}.burst .ring{border:5px solid var(--c);box-shadow:0 0 30px var(--c), inset 0 0 30px color-mix(in srgb, var(--c) 60%, transparent)}.burst .core{background:radial-gradient(circle, #fff 0 8%, color-mix(in srgb, var(--c) 80%, transparent) 26%, transparent 66%)}.actor.ftext{left:-500px;top:calc(var(--fs) * -.5);text-align:center;white-space:nowrap;transform-style:flat;width:1000px;font:700 var(--fs)/1 var(--serif);letter-spacing:.08em;text-transform:uppercase;color:var(--c);text-shadow:0 0 22px var(--c), 0 0 4px #000000e6, 0 6px 18px #000}.fx{pointer-events:none;position:absolute;inset:0}.fx-dof{-webkit-backdrop-filter:blur(2.5px);-webkit-mask-image:linear-gradient(#000 0%,#0000008c 16%,#0000 34% 80%,#0009 100%);mask-image:linear-gradient(#000 0%,#0000008c 16%,#0000 34% 80%,#0009 100%)}.fx-grade{mix-blend-mode:soft-light;background:linear-gradient(#286e964d,#0000 45%,#96501438)}.fx-dust{pointer-events:none;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0}.fx-vignette{background:linear-gradient(90deg,#020306b8,#0203064d 30%,#0000 50%),radial-gradient(80% 75% at 50% 45%,#0000 45%,#02030680 78%,#020306eb 100%),linear-gradient(#020306bf,#0000 16% 52%,#0203068c 78%,#020306eb)}.fx-grain{opacity:.06;background-size:160px 160px;animation:.6s steps(6,end) infinite grain;inset:-50%}.fx-flash{opacity:0;mix-blend-mode:screen}.curtain{opacity:1;background:#020306}.cinema.lite .fx-flash{mix-blend-mode:normal}.cinema.lite .actor.card .halo,.cinema.lite .side>i.sheen{display:none}.cinema.lite .side>i.own{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--own) 70%, transparent)}.cinema.lite .side>i.other{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--other) 70%, transparent)}.cinema.lite .side>i.glow{box-shadow:inset 0 0 0 4px var(--glow)}.cinema.lite .side>i.burn,.cinema.lite .side>i.dim,.cinema.lite .actor.bolt i,.cinema.lite .actor.streak,.cinema.lite .burst .ring{box-shadow:none}.cinema.lite .beam .line{box-shadow:0 0 12px 2px var(--c)}.cinema.lite .actor.ftext{text-shadow:0 0 4px #000000e6,0 4px 12px #000}.cinema.paused .caption{animation-play-state:paused}.caption{z-index:4;right:var(--gutter);text-align:right;pointer-events:none;max-width:min(460px,40vw);animation:caption-life var(--life) linear both;position:absolute;bottom:clamp(110px,16vh,150px)}.caption .kicker{font:700 .72rem/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block}.caption .title{font:500 clamp(1.25rem, 2.1vw, 1.75rem)/1.25 var(--serif);color:var(--ink);text-shadow:0 2px 18px #000,0 0 2px #000;display:block}.acts{z-index:5;right:var(--gutter);gap:10px;display:flex;position:absolute;bottom:clamp(48px,9vh,96px)}.acts button{all:unset;cursor:pointer;width:clamp(54px,6vw,84px);font:700 .62rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);flex-direction:column;gap:8px;transition:color .3s;display:flex}.acts button:hover,.acts button.on{color:var(--ink)}.acts button:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:2px}.act-bar{background:#e9edf62e;border-radius:2px;height:2px;position:relative;overflow:hidden}.act-bar i{background:linear-gradient(90deg, var(--gold), var(--gold-hi));transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.acts button.done .act-bar i{opacity:.45;transform:scaleX(1)}.acts button:not(.on):not(.done) .act-bar i{transform:scaleX(0)!important}.acts button.done .act-bar i{transform:scaleX(1)!important}main{z-index:1;position:relative}.wrap{max-width:680px;padding-inline:var(--gutter);margin:0 auto}.wide{max-width:1240px;padding-inline:var(--gutter);margin:0 auto}section{padding-block:clamp(72px,11vw,140px)}.eyebrow{font:700 .72rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}section h2{font-size:clamp(1.9rem,4.2vw,3.1rem);line-height:1.1}.lede{color:var(--ink-dim);max-width:60ch;margin:16px 0 0;font-size:clamp(1rem,1.4vw,1.12rem)}.section-head{text-align:center;margin-bottom:clamp(40px,6vw,72px)}.section-head .lede{margin-inline:auto}.reveal{opacity:0;transition:opacity .9s ease var(--d,0s), transform .9s cubic-bezier(.2, .7, .2, 1) var(--d,0s);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.signup{text-align:center;background:radial-gradient(ellipse 60% 80% at 50% 0%, #e3b45c1a, transparent 70%), var(--bg);position:relative}.signup:before{content:"";background:linear-gradient(90deg,#0000,#e3b45c80,#0000);height:1px;position:absolute;top:0;left:0;right:0}.signup .lede{margin-inline:auto}.signup form{flex-wrap:wrap;gap:10px;max-width:480px;margin:32px auto 0;display:flex}.signup input[type=email]{min-width:0;font:inherit;color:var(--ink);border:1px solid var(--line);background:#0c1220e6;border-radius:999px;flex:220px;padding:14px 18px;transition:border-color .2s,box-shadow .2s}.signup input[type=email]:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px #e3b45c26}.form-msg{min-height:1.6em;margin:12px 0 0;font-size:.9rem}.form-msg.ok{color:var(--cyan)}.form-msg.err{color:var(--ember)}.signup .links{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.signup form.access-request{display:block}.access-fields{flex-wrap:wrap;gap:10px;display:flex}.access-verification{text-align:left;min-height:65px;margin-top:16px}.access-note{max-width:480px;color:var(--ink-dim);margin:14px auto 0;font-size:.85rem}.access-note a,.access-retry{color:var(--gold);text-decoration:underline}.access-retry{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.access-request button:disabled{opacity:.55;cursor:not-allowed}.pillars{background:linear-gradient(180deg, var(--bg), var(--bg-2) 50%, var(--bg));overflow:hidden}.pillar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.5vw,36px);display:grid}.pillar{text-align:center}.pillar-copy{margin-top:30px}.pillar-act{font:700 .7rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:block}.pillar h3{margin-bottom:10px;font-size:1.35rem}.pillar p{color:var(--ink-dim);font-size:.95rem}.holo{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;perspective:900px;width:190px;height:266px;margin:0 auto}.holo-card{width:100%;height:100%;transform:rotateX(var(--rx)) rotateY(var(--ry));animation:6s ease-in-out infinite bob;animation-delay:var(--d,0s);border-radius:10px;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 30px 50px -20px #000000e6,0 0 0 1px #e3b45c2e}.holo:hover .holo-card{transition-duration:.12s;animation-play-state:paused;box-shadow:0 40px 60px -20px #000000e6,0 0 0 1px #e3b45c80,0 0 40px -6px #e3b45c73}.holo-scale{transform-origin:0 0;width:238px;height:333px;position:absolute;top:0;left:0;transform:scale(.798319)}.holo-scale .cardface{width:238px;height:333px}.holo-sheen{opacity:0;mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my), #fff5dc66, transparent 42%), linear-gradient(115deg, transparent 30%, #78dcff24 45%, #ff78dc1f 55%, transparent 70%);transition:opacity .3s;position:absolute;inset:0}.holo:hover .holo-sheen{opacity:1}.marquee{padding-bottom:clamp(90px,12vw,160px);overflow:hidden}.rows{flex-direction:column;gap:26px;margin-block:30px;display:flex;transform:rotate(-4deg)scale(1.08)}.row{padding-block:16px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.row-track{gap:22px;width:max-content;animation:110s linear infinite stream;display:flex}.row.reverse .row-track{animation-duration:130s;animation-direction:reverse}.rows:hover .row-track{animation-play-state:paused}.mcard{background:#0a0a0d;border-radius:9px;flex:none;width:171px;height:240px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;position:relative;overflow:hidden;box-shadow:0 18px 30px -16px #000,0 0 0 1px #e9edf614}.mcard .cardface{transform-origin:0 0;width:238px;height:333px;position:absolute;top:0;left:0;transform:scale(.718487)}.mcard:hover{z-index:2;transform:translateY(-12px)scale(1.08);box-shadow:0 30px 40px -18px #000,0 0 0 1px #e3b45c80,0 0 30px -8px #e3b45c80}.playtest{padding-block:0 clamp(72px,11vw,140px)}.playtest-inner{border:1px solid var(--line);background:radial-gradient(60% 120% at 100% 0,#5ad1e624,#0000 60%),radial-gradient(50% 120% at 0 100%,#e3b45c1f,#0000 60%),#0c1220d9;border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:clamp(28px,5vw,56px);display:flex;position:relative;overflow:hidden}.playtest-inner>div:first-child{max-width:620px}.playtest-actions{flex-wrap:wrap;gap:12px;display:flex}.faq{padding-top:0}.faq h2{margin-bottom:28px}details{border:1px solid var(--line);background:#0c1220b3;border-radius:14px;margin-bottom:10px;padding:0 20px;transition:border-color .2s}details[open]{border-color:#e3b45c59}summary{cursor:pointer;justify-content:space-between;gap:12px;padding:17px 0;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--gold);font-weight:800;transition:transform .25s}details[open] summary:after{transform:rotate(45deg)}details p{color:var(--ink-dim);margin:0 0 17px;font-size:.95rem}footer{border-top:1px solid var(--line);color:var(--ink-faint);padding-block:36px;font-size:.85rem}.foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.foot-links{gap:18px;display:flex}.foot-links a{color:var(--ink-dim)}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes beacon{50%{opacity:.35}}@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(14px)}}@keyframes grain{0%{transform:translate(0)}17%{transform:translate(-5%,3%)}33%{transform:translate(4%,-6%)}50%{transform:translate(-3%,7%)}67%{transform:translate(6%,2%)}83%{transform:translate(-6%,-4%)}to{transform:translate(0)}}@keyframes caption-life{0%,9%{opacity:0;filter:blur(6px);transform:translateY(16px)}17%{opacity:1;filter:blur();transform:none}86%{opacity:1;filter:blur();transform:none}94%,to{opacity:0;filter:blur(4px);transform:translateY(-10px)}}@keyframes bob{50%{transform:rotateX(var(--rx)) rotateY(var(--ry)) translateY(-8px)}}@keyframes stream{to{transform:translate(-50%)}}@media (width<=1080px){.pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:64px}}@media (width<=760px){.cinema{--fx:50%;--fy:36%}.fx-vignette{background:radial-gradient(90% 70% at 50% 36%,#0000 40%,#020306e6 100%),linear-gradient(#020306b3,#0000 18% 45%,#020306f2 80%)}.top-links a:not(.btn){display:none}.hero-copy{bottom:96px}.hero h1 .sub{letter-spacing:.42em}.caption{top:78px;bottom:auto;left:var(--gutter);right:var(--gutter);text-align:left;max-width:none}.caption .title{font-size:1.1rem}.acts{left:var(--gutter);right:var(--gutter);bottom:40px}.acts button{flex:1;width:auto}.act-name,.scroll-cue{display:none}}@media (width<=560px){.pillar-grid{grid-template-columns:minmax(0,1fr)}.mcard{width:136px;height:190px}.mcard .cardface{transform:scale(.571429)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fx-grain,.holo-card,.status-pill:before,.scroll-cue i,.hero-copy{animation:none}.row-track{animation-duration:600s}.reveal{opacity:1;transition:none;transform:none}.btn:hover,.mcard:hover{transform:none}}
