@font-face{font-family:Cormorant;src:url(../fonts/cormorant-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Cormorant;src:url(../fonts/cormorant-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Cormorant;src:url(../fonts/cormorant-400i.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Jost;src:url(../fonts/jost-300.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Jost;src:url(../fonts/jost-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Jost;src:url(../fonts/jost-500.woff2)format("woff2");font-weight:500;font-display:swap}:root{--cream:#f4eee6;--paper:#fbf8f3;--ink:#2a231e;--ink-2:#5d5148;--mute:#9a8d81;--red:#b3201e;--serif:"Cormorant", "Times New Roman", serif;--sans:"Jost", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{color:var(--ink);font-family:var(--sans);background:#e9ded2;margin:0}body{overscroll-behavior:none}html{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}#scroller{pointer-events:none;width:1px}canvas#c{width:100vw;height:100vh;transition:filter .8s cubic-bezier(.2,.7,.2,1);display:block;position:fixed;inset:0}canvas#ov{pointer-events:none;opacity:0;z-index:5;width:100vw;height:100vh;transition:opacity .35s;display:block;position:fixed;inset:0}body.focus canvas#c{filter:blur(12px)brightness(.62)saturate(.85)}body.focus canvas#ov{opacity:1;pointer-events:auto;cursor:grab}body.focus canvas#ov:active{cursor:grabbing}#loader{z-index:50;background:var(--cream);place-items:center;transition:opacity 1.2s,visibility 1.2s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;visibility:hidden}.ld-inner{text-align:center}.ld-kicker{font:500 12px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-2)}.ld-title{font:500 64px/1.05 var(--serif);margin:18px 0 6px}.ld-years{font:italic 400 22px/1 var(--serif);color:var(--red)}.ld-bar{background:#d8ccbf;width:220px;height:1px;margin:34px auto 12px;position:relative;overflow:hidden}.ld-bar i{background:var(--ink);width:0;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.ld-pct{font:400 11px/1 var(--sans);letter-spacing:.2em;color:var(--mute)}#brand{z-index:10;font:500 11px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ink);mix-blend-mode:multiply;align-items:center;gap:12px;display:flex;position:fixed;top:28px;left:36px}.b-mark{background:var(--red);border-radius:50%;width:10px;height:10px}.b-sep{background:var(--ink);opacity:.5;width:26px;height:1px}.b-years{color:var(--ink-2);letter-spacing:.18em}#intro{text-align:center;z-index:8;pointer-events:none;width:min(760px,90vw);transition:opacity .6s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.in-kicker{font:500 12px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--ink-2)}.in-title{font:500 clamp(44px, 6.4vw, 92px)/1 var(--serif);color:var(--ink);letter-spacing:-.01em;text-shadow:0 1px 30px #fff8f099;margin:18px 0}.in-sub{font:300 17px/1.6 var(--sans);color:var(--ink-2);max-width:520px;margin:0 auto}.in-scroll{font:400 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-2);flex-direction:column;align-items:center;gap:14px;margin-top:40px;display:flex}.mouse{border:1px solid var(--ink-2);border-radius:12px;width:20px;height:32px;position:relative}.mouse i{background:var(--ink-2);border-radius:2px;width:2px;height:6px;margin-left:-1px;animation:1.8s infinite wheel;position:absolute;top:7px;left:50%}@keyframes wheel{0%{opacity:0;transform:translateY(-2px)}30%{opacity:1}to{opacity:0;transform:translateY(9px)}}#station{z-index:8;pointer-events:none;opacity:0;transition:opacity .7s,transform .7s;position:fixed;bottom:40px;left:36px;transform:translateY(10px)}#station.on{opacity:1;transform:none}.st-year{font:500 clamp(54px, 6vw, 86px)/.9 var(--serif);color:var(--ink)}.st-line{background:var(--red);width:46px;height:2px;margin:16px 0 12px}.st-title{font:400 13px/1.3 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-2)}#dots{z-index:9;flex-direction:column;gap:22px;display:flex;position:fixed;top:50%;right:34px;transform:translateY(-50%)}#dots:before{content:"";background:#2a231e38;width:1px;position:absolute;top:6px;bottom:6px;right:5px}.dot{cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:14px;height:12px;padding:0;display:flex;position:relative}.dot i{background:var(--paper);z-index:1;border:1px solid #2a231e73;border-radius:50%;width:11px;height:11px;transition:transform .35s,background .35s,border-color .35s;position:relative}.dot span{font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);opacity:0;white-space:nowrap;transition:opacity .3s,transform .3s;transform:translate(6px)}.dot:hover span,.dot.active span{opacity:1;transform:none}.dot.active i{background:var(--red);border-color:var(--red);transform:scale(1.25)}.dot.passed i{background:var(--ink);border-color:var(--ink)}#markers{pointer-events:none;z-index:7;position:fixed;inset:0}.mk{pointer-events:auto;cursor:pointer;opacity:0;background:0 0;border:0;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;transition:opacity .5s;position:absolute}.mk.on{opacity:1}.mk i{background:var(--paper);border-radius:50%;width:12px;height:12px;position:absolute;top:11px;left:11px;box-shadow:0 0 0 1px #b3201ee6,0 2px 10px #3c281440}.mk i:after{content:"";background:var(--red);border-radius:50%;width:4px;height:4px;position:absolute;top:4px;left:4px}.mk b{border:1px solid #b3201e8c;border-radius:50%;width:22px;height:22px;animation:2.4s infinite pulse;position:absolute;top:6px;left:6px}@keyframes pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.7)}}.mk.hot i{background:var(--red)}#tip{z-index:12;pointer-events:none;font:400 12px/1.35 var(--sans);color:var(--ink);opacity:0;border-left:2px solid var(--red);background:#fbf8f3f0;max-width:260px;padding:10px 14px;transition:opacity .2s;position:fixed;transform:translate(14px,14px);box-shadow:0 8px 30px #3c28142e}#tip.on{opacity:1}#tip .t-k{font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}#tip .t-t{font:600 17px/1.15 var(--serif)}#tip .t-c{font:500 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-top:6px}#panel{z-index:20;opacity:0;pointer-events:none;background:linear-gradient(90deg,#fbf8f300 0%,#fbf8f3eb 14%,#fbf8f3f7 100%);flex-direction:column;width:min(470px,40vw);padding:92px 56px 48px 52px;transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(40px)}body.focus #panel{opacity:1;pointer-events:auto;transform:none}#close{width:44px;height:44px;font:300 26px/1 var(--sans);color:var(--ink);cursor:pointer;background:0 0;border:1px solid #2a231e4d;border-radius:50%;transition:background .3s,color .3s,transform .3s;position:absolute;top:30px;right:34px}#close:hover{background:var(--ink);color:var(--paper);transform:rotate(90deg)}.p-kicker{font:500 11px/1.4 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--red);min-height:16px}.p-title{font:500 clamp(34px, 3.2vw, 48px)/1.02 var(--serif);min-height:1em;margin:16px 0 12px}.p-date{font:italic 400 20px/1.3 var(--serif);color:var(--ink-2);min-height:26px}.p-rule{background:var(--red);transform-origin:0;width:46px;height:2px;margin:26px 0 24px}.p-text{font:300 16px/1.75 var(--sans);color:var(--ink);min-height:7em;margin:0}.p-text .cur{background:var(--red);vertical-align:-2px;width:1px;height:1em;margin-left:1px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.p-extra{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.p-extra button{font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #2a231e47;padding:10px 14px;transition:all .25s}.p-extra button:hover,.p-extra button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.p-extra .pg{font:400 12px/1 var(--sans);letter-spacing:.14em;color:var(--ink-2);align-self:center;margin:0 6px}.p-demo{font:500 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-top:auto}.p-hint{font:400 11px/1.4 var(--sans);color:var(--mute);margin-top:12px}#quality{z-index:9;font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:4px;display:flex;position:fixed;bottom:30px;right:34px}#quality span{margin-right:10px}#quality button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:7px 8px}#quality button.on{color:var(--ink);border-bottom-color:var(--red)}#toast{z-index:30;background:var(--ink);color:var(--paper);font:400 12px/1.4 var(--sans);opacity:0;pointer-events:none;padding:12px 18px;transition:all .5s;position:fixed;bottom:34px;left:50%;transform:translate(-50%,20px)}#toast.on{opacity:1;transform:translate(-50%)}#end{z-index:8;text-align:center;opacity:0;pointer-events:none;transition:opacity .8s,transform .8s;position:fixed;top:50%;left:50%;transform:translate(-50%,-40%)}#end.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.end-kicker{font:500 12px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--red)}.end-title{font:500 clamp(36px, 4.6vw, 64px)/1.05 var(--serif);text-shadow:0 1px 30px #fff8f0b3;margin:16px 0 28px}#restart{font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;background:var(--ink);color:var(--paper);cursor:pointer;border:0;padding:15px 22px}body.focus #intro,body.focus #station,body.focus #dots,body.focus #markers,body.focus #brand,body.focus #quality,body.focus #end{opacity:0!important;pointer-events:none!important}#station{max-width:min(470px,40vw)}.st-desc{max-width:440px;font:300 14px/1.6 var(--sans);color:var(--ink-2);letter-spacing:.01em;margin:14px 0 0}.st-desc:empty{display:none}#quality .fx-btn{border-left:1px solid #2a231e38;margin-left:12px;padding-left:14px}#fxgui{z-index:40;--width:300px;max-height:calc(100vh - 120px);top:64px;left:24px;overflow-y:auto;position:fixed!important}#fx-export{z-index:50;color:#eee;width:min(560px,90vw);font:400 12px/1.4 var(--sans);background:#1c1c1c;border-radius:6px;padding:12px 14px 14px;display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000073}#fx-export.on{display:block}#fx-export .fx-h{letter-spacing:.04em;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}#fx-export textarea{color:#d8e8d0;resize:vertical;background:#111;border:1px solid #333;border-radius:4px;width:100%;height:320px;padding:8px;font:11px/1.35 ui-monospace,Consolas,monospace}#fx-close{color:#eee;cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1}#station.wall{bottom:auto}#station.wall .st-year{font-size:var(--yr)}#station.wall .st-title{font-size:var(--tt)}#station.wall .st-line{margin:calc(var(--tt) * 1.2) 0 calc(var(--tt) * .9)}#station.wall .st-desc{max-width:none;font-size:var(--ds);color:#2a231edb;margin-top:calc(var(--ds) * 1);font-weight:400;line-height:1.6}canvas#ov{transition:opacity .3s ease-out,filter .3s ease-out}body.closing canvas#ov{opacity:0;filter:blur(12px);pointer-events:none}body.closing-obj canvas#ov{opacity:0;filter:none;pointer-events:none;transition:opacity .6s ease-in}
