*{box-sizing:border-box;margin:0;padding:0}:root{--paper:#efe6d4;--ink:#241f2a;--red:#b3262b;--gold:#c98d17}html,body{background:var(--paper);height:100%;color:var(--ink);overflow:hidden}body{-webkit-font-smoothing:antialiased;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:inherit}.mono{letter-spacing:.24em;text-transform:uppercase;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:11px}#cap{text-align:center;pointer-events:none;text-shadow:0 0 18px var(--paper), 0 0 6px var(--paper);opacity:0;filter:blur(8px);padding:0 8vw;font-size:clamp(20px,2.3vw,32px);font-style:italic;line-height:1.35;transition:opacity 1.2s,filter 1.2s,transform 1.2s;position:fixed;bottom:10vh;left:0;right:0;transform:translateY(10px)}#cap.show{opacity:1;filter:blur();transform:none}#prog{background:linear-gradient(90deg, #1d1b26, var(--red) 60%, var(--gold));opacity:.55;width:0;height:2px;position:fixed;bottom:0;left:0}#hint{color:#241f2a73;pointer-events:none;transition:opacity 1s;position:fixed;bottom:22px;left:26px}.chrome{color:#241f2ab3;cursor:pointer;background:0 0;border:1px solid #241f2a40;border-radius:20px;padding:8px 12px;transition:border-color .3s,color .3s,opacity .6s}.chrome:hover,.chrome:focus-visible{color:var(--ink);border-color:#241f2ab3}#top{z-index:6;gap:10px;display:flex;position:fixed;top:20px;right:22px}#lang span{opacity:.4;transition:opacity .3s}#lang span.on{opacity:1}#back{opacity:0;pointer-events:none;position:fixed;top:20px;left:22px}body.playing #back{opacity:1;pointer-events:auto}#again{cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:1px solid #241f2a59;border-radius:24px;padding:11px 22px;transition:opacity 1.4s,background .3s,color .3s;position:fixed;bottom:4.5vh;left:50%;transform:translate(-50%)}#again.show{opacity:1;pointer-events:auto}#again:hover{background:var(--ink);color:var(--paper)}#intro{z-index:5;text-align:center;background:radial-gradient(#f4ecdc 0%,#e9dfca 100%);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:0 6vw;transition:opacity 1.6s,visibility 1.6s;display:flex;position:fixed;inset:0}#intro.gone{opacity:0;visibility:hidden}#intro h1{letter-spacing:.02em;font-size:clamp(54px,9vw,120px);font-style:italic;font-weight:400}#intro svg{width:min(460px,70vw);height:70px;overflow:visible}#intro svg path{fill:none;stroke:#1d1b26;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900px;animation:3.4s cubic-bezier(.6,.1,.3,1) infinite ecg}#intro svg path.r{stroke:var(--red);opacity:.8;animation-delay:.25s}@keyframes ecg{0%{stroke-dashoffset:900px}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}#intro .who{letter-spacing:.04em;font-size:clamp(18px,1.8vw,24px)}#intro .tagline{color:#241f2abf;font-size:clamp(16px,1.6vw,21px);font-style:italic}#intro .paths{align-items:baseline;gap:22px;margin-top:10px;display:flex}#intro .sep{color:#241f2a4d;font-size:clamp(26px,3vw,40px)}.path{cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:clamp(30px,3.6vw,48px);font-style:italic;position:relative}.path:after{content:"";background:var(--red);transform-origin:0;height:1.5px;transition:transform .5s;position:absolute;bottom:0;left:6px;right:6px;transform:scaleX(0)}.path:not(:disabled):hover:after,.path:not(:disabled):focus-visible:after{transform:scaleX(1)}.path:disabled{cursor:default;color:#241f2a59}.path small{vertical-align:middle;font-style:normal}#intro .call{color:#241f2a73;animation:2.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.35}}#cards{pointer-events:none;position:fixed;inset:0}#cards.off{display:none}.card{will-change:transform;opacity:0;width:min(360px,100vw - 32px);transition:opacity .8s;position:absolute;top:0;left:0}.card.shown{opacity:1}.card .tag{pointer-events:auto;cursor:pointer;border:none;border-left:1.5px solid var(--red);letter-spacing:.18em;color:#241f2abf;white-space:nowrap;background:#efe6d4bf;padding:4px 8px;font-size:10px;transition:color .3s,background .3s}.card .tag:hover,.card .tag:focus-visible,.card.open .tag{color:var(--ink);background:#f4ecdcf2}.card .body{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .7s,opacity .6s;display:grid}.card.open .body{opacity:1;pointer-events:auto;grid-template-rows:1fr}.card .inner{background:#f6f0e3f0;min-height:0;transition:padding .7s;overflow:hidden;box-shadow:0 10px 30px -18px #3c281480}.card.open .inner{border:1px solid #241f2a2e;border-top:none;max-height:58vh;padding:14px 18px 16px;overflow-y:auto}.card .where{color:#241f2a80;margin-bottom:8px;font-size:10px}.card section+section{border-top:1px dashed #241f2a2e;margin-top:12px;padding-top:12px}.card h3{font-size:20px;font-style:italic;font-weight:400;line-height:1.2}.card .co{letter-spacing:.14em;color:#241f2a99;margin-top:4px;font-size:10px}.card .badges{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.card .badge{letter-spacing:.12em;text-transform:uppercase;color:var(--red);border:1px solid #b3262b73;border-radius:10px;padding:2px 6px;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:9.5px}.card .sum{margin-top:8px;font-size:15px;line-height:1.4}.card ul{color:#241f2ad9;margin:8px 0 0 1.1em;font-size:14px;line-height:1.4}.card li+li{margin-top:3px}.card .route{letter-spacing:.12em;color:#241f2a8c;text-transform:none;margin-top:12px;font-size:9.5px;line-height:1.6}@media (prefers-reduced-motion:reduce){#intro svg path,#intro .call{stroke-dashoffset:0;animation:none}}#cards.overview .card .nm{display:none}#cards.overview .card.open .nm,#cards.overview .card .tag:hover .nm,#cards.overview .card .tag:focus-visible .nm{display:inline}.card.open,.card:hover,.card:focus-within{z-index:2}#intro.instant{transition:none}
