:root{--bg: #050B26;--bg-rgb: 5, 11, 38;--bg-vignette: rgba(0, 0, 0, .65);--glow: rgba(74, 223, 213, .16);--ink: #EEF6F2;--ink-soft: rgba(238, 246, 242, .68);--terra: #B25046;--gold: #E9B44C;--gold-bright: #FFD077;--firuzeh: #4ADFD5;--firuzeh-soft: rgba(74, 223, 213, .6);--hair: rgba(238, 246, 242, .24)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);background-image:radial-gradient(58% 44% at 50% 42%,var(--glow),transparent 62%),radial-gradient(120% 90% at 50% 40%,transparent 50%,var(--bg-vignette) 100%);color:var(--ink);font-family:Space Grotesk,Arial,sans-serif;overflow:hidden;-webkit-user-select:none;user-select:none}.wordmark{position:fixed;top:6vh;left:6vw;letter-spacing:.42em;font-family:Marcellus,Georgia,serif;font-size:clamp(15px,2vw,22px)}.wordmark small{display:block;margin-top:10px;letter-spacing:.18em;font-family:Space Grotesk,Arial,sans-serif;font-weight:300;font-size:clamp(9px,1vw,11px);color:var(--ink-soft);text-transform:uppercase}.wordmark:after{content:"";display:block;width:52px;height:1px;background:var(--gold);margin-top:14px}.stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}nav{position:fixed;right:6vw;top:50%;transform:translateY(-50%);text-align:right}nav button{display:block;width:100%;background:none;border:none;color:var(--ink-soft);font-family:Space Grotesk,Arial,sans-serif;font-weight:300;font-size:11px;letter-spacing:.34em;text-transform:uppercase;padding:14px 0;cursor:pointer;transition:color .5s,letter-spacing .5s;text-align:right}nav button:hover,nav button.active{color:var(--firuzeh);letter-spacing:.44em}nav button i{font-style:normal;font-family:Marcellus,Georgia,serif;font-size:10px;color:var(--gold);opacity:.85;margin-right:12px;letter-spacing:0}nav button span{border-bottom:1px solid transparent;padding-bottom:4px;transition:border-color .5s}nav button.active span{border-bottom-color:var(--firuzeh-soft)}.wordmark,nav{z-index:2}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;background:radial-gradient(70% 70% at 50% 50%,transparent 25%,rgba(var(--bg-rgb),.6) 100%);pointer-events:none;animation:veil-in .9s ease both}.panel{position:fixed;top:50%;left:50%;z-index:4;width:min(740px,94vw);max-height:76vh;overflow-y:auto;padding:7vh 6vw 7vh 6vw;background:linear-gradient(180deg,rgba(var(--panel-rgb),.93),rgba(var(--panel-rgb),.78));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hair);border-radius:2px;animation:panel-in .9s cubic-bezier(.22,1,.36,1) both}@keyframes panel-in{0%{transform:translate(-50%,-46%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.panel header{display:flex;align-items:baseline;gap:14px;margin-bottom:5vh}.panel header i{font-style:normal;font-family:Marcellus,Georgia,serif;color:var(--gold);font-size:14px}.panel header h2{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:20px;letter-spacing:.3em;text-transform:uppercase}.panel .close{margin-left:auto;background:none;border:none;color:var(--ink-soft);font-size:14px;cursor:pointer;transition:color .4s,transform .4s}.panel .close:hover{color:var(--terra);transform:rotate(90deg)}.panel-body p{font-weight:300;font-size:14px;line-height:1.9;color:var(--ink-soft);margin-bottom:3vh}.panel-body strong{color:var(--ink);font-weight:500}.panel-body a{display:inline-block;color:var(--firuzeh);text-decoration:none;font-size:12px;letter-spacing:.28em;text-transform:uppercase;border-bottom:1px solid var(--firuzeh-soft);padding-bottom:4px;transition:letter-spacing .5s}.panel-body a:hover{letter-spacing:.4em}nav{z-index:5}.quiet{color:var(--ink-soft);font-weight:300;font-size:13px;letter-spacing:.1em}.essay-list{list-style:none}.essay-list li{border-bottom:1px solid var(--hair)}.essay-list button{background:none;border:none;color:inherit;text-align:left;width:100%;padding:3.5vh 0;cursor:pointer}.essay-list time,.essay time{display:block;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.essay-list h3,.essay h3{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:19px;line-height:1.4;margin-bottom:10px;transition:color .4s}.essay-list button:hover h3{color:var(--firuzeh)}.essay-list p{font-weight:300;font-size:13px;line-height:1.8;color:var(--ink-soft)}.essay .back{background:none;border:none;color:var(--ink-soft);font-size:11px;letter-spacing:.28em;text-transform:uppercase;cursor:pointer;padding:0;margin-bottom:4vh;transition:color .4s}.essay .back:hover{color:var(--firuzeh)}.essay-body p{font-weight:300;font-size:14px;line-height:1.95;color:var(--ink-soft);margin-bottom:3vh}.essay-body strong{color:var(--ink);font-weight:500}.essay-body mark{background:none;color:var(--gold-bright)}.essay-body a{color:var(--firuzeh);text-decoration:none;border-bottom:1px solid var(--firuzeh-soft)}.essay .src{display:inline-block;margin-top:2vh;color:var(--firuzeh);text-decoration:none;font-size:11px;letter-spacing:.28em;text-transform:uppercase;border-bottom:1px solid var(--firuzeh-soft);padding-bottom:4px}.project-list{list-style:none}.project-list li{border-bottom:1px solid var(--hair)}.project-list a{display:block;padding:3.5vh 0;color:inherit;text-decoration:none}.project-list h3{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:19px;margin-bottom:8px;transition:color .4s}.project-list a:hover h3{color:var(--firuzeh)}.project-list p{font-weight:300;font-size:13px;line-height:1.8;color:var(--ink-soft)}.project-list .gh-desc{margin-top:6px;font-size:12px;color:var(--ink-soft);opacity:.75}.project-list .meta{display:block;margin-top:12px}.project-list .meta em{font-style:normal;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-right:18px}.readings{position:fixed;left:6vw;bottom:4.5vh;z-index:2;max-width:40vw;font-size:9px;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.readings p{line-height:2.1}.readings-sun{color:var(--gold);opacity:.85}.ruuz-credit{color:var(--firuzeh)}.ruuz-credit i{font-style:normal;font-family:Marcellus,Georgia,serif}.readings-cycle{display:none}@media(max-width:720px){.readings .readings-full{display:none!important}.readings{display:block;left:6vw;bottom:3.5vh;max-width:70vw}.readings-cycle{display:block;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:reading-fade 4s ease infinite}@keyframes reading-fade{0%{opacity:0}12%{opacity:.9}88%{opacity:.9}to{opacity:0}}}.machine{margin-top:1vh}.machine-intro{font-weight:300;font-size:13px;line-height:1.9;color:var(--ink-soft);margin-bottom:3vh}.machine-bet{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:3vh}.machine-bet button{width:34px;height:34px;background:none;border:1px solid var(--hair);color:var(--ink-soft);font-family:Space Grotesk,Arial,sans-serif;font-size:12px;cursor:pointer;transition:border-color .4s,color .4s}.machine-bet button:hover{border-color:var(--firuzeh);color:var(--firuzeh)}.machine-betline{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:2.5vh}.machine-betline.verdict{color:var(--firuzeh)}.machine-canvas{width:min(340px,100%);image-rendering:pixelated;border:1px solid var(--hair);display:block;margin-bottom:1.5vh}.machine-meter{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2.5vh}.machine-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:3vh}.machine-train{background:none;border:1px solid var(--gold);color:var(--gold-bright);font-family:Space Grotesk,Arial,sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding:12px 18px;cursor:pointer;transition:background .4s}.machine-train:hover:not(:disabled){background:#e9b44c1f}.machine-train:disabled,.machine-aux:disabled{opacity:.35;cursor:not-allowed}.machine-aux{background:none;border:none;color:var(--ink-soft);font-size:10px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:color .4s}.machine-aux:hover:not(:disabled){color:var(--terra)}.machine-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:3vh}.machine-strip img{width:44px;height:44px;image-rendering:pixelated;border:1px solid var(--hair);flex-shrink:0;opacity:.85}.machine-moral{font-family:Marcellus,Georgia,serif;font-size:13px;letter-spacing:.14em;color:var(--ink);margin-bottom:1.5vh}.machine-fineprint{font-size:10px;font-weight:300;line-height:1.9;color:var(--ink-soft);opacity:.7}.lab-list{list-style:none;margin-top:2vh}.lab-list li{border-bottom:1px solid var(--hair)}.lab-list button{background:none;border:none;color:inherit;text-align:left;width:100%;padding:3.5vh 0;cursor:pointer}.lab-num{font-family:Marcellus,Georgia,serif;font-size:11px;color:var(--gold);letter-spacing:.2em;display:block;margin-bottom:8px}.lab-list h3,.lab-title{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:19px;margin-bottom:8px;transition:color .4s}.lab-list button:hover h3{color:var(--firuzeh)}.lab-list p{font-weight:300;font-size:13px;line-height:1.8;color:var(--ink-soft)}.lab-title{margin-bottom:3vh}.lab-back{background:none;border:none;color:var(--ink-soft);font-size:11px;letter-spacing:.28em;text-transform:uppercase;cursor:pointer;padding:0;margin-bottom:3vh;transition:color .4s}.lab-back:hover{color:var(--firuzeh)}.machine-caption{font-size:12px;font-weight:300;font-style:italic;color:var(--firuzeh);margin-bottom:2.5vh;min-height:18px}.machine-intro em{color:var(--gold-bright);font-style:normal}@media(max-width:720px){.panel{top:auto;left:0;right:0;bottom:0;width:100%;max-height:88vh;padding:5vh 7vw 6vh 7vw;border:none;border-top:1px solid var(--hair);border-radius:14px 14px 0 0;animation:sheet-up .55s cubic-bezier(.22,1,.36,1) both}@keyframes sheet-up{0%{transform:translateY(48px);opacity:0}to{transform:none;opacity:1}}body.panel-open nav,body.panel-open .wordmark,body.panel-open .readings{display:none}}.machine-caption.verdict{color:var(--gold-bright);font-style:normal}nav button.terra,nav button.terra i,nav button.terra span{color:#ec8a68;opacity:1}nav button.terra{text-shadow:0 0 10px rgba(5,11,38,.6)}nav button.terra:hover,nav button.terra.active{text-shadow:0 0 10px rgba(5,11,38,.6),0 0 18px rgba(236,138,104,.5)}.wordmark,nav button:not(.terra),.readings,.readings-cycle{text-shadow:var(--halo, none)}
