:root{--gold:#f1d2a0;--gold-deep:#b8894a;--amber:#ffb347;--ink:#f4f2ee;--muted:#f4f2ee8f;--faint:#f4f2ee61;--line:#ffffff1f;--hair:#ffffff14;--serif:"Cormorant Garamond", "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--foil:linear-gradient(100deg, #a07638 0%, #e7c68c 24%, #fff0cf 38%, #d3a764 54%, #f1d2a0 72%, #96703a 100%);--foil-ink:linear-gradient(100deg, #7d5a25 0%, #b98d4a 30%, #e2c08a 45%, #a47a3c 62%, #7a5622 100%);--grain-light:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .92  0 0 0 0 .8  .42 0 0 0 -.15'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");--grain-dark:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .25  0 0 0 0 .2  0 0 0 0 .12  .5 0 0 0 -.17'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");--vh:1vh;--bar:calc(var(--vh) * 9);--safe-b:env(safe-area-inset-bottom,0px)}@supports (height:1svh){:root{--vh:1svh}}@media (pointer:coarse),(aspect-ratio<=1){:root{--bar:0px}.fx-letterbox{display:none}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--ink);font-family:var(--sans);font-optical-sizing:auto;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#000;overflow:hidden}html.sky,html.sky body{background:#050a18}html{transition:background-color 1.5s}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.letter-body,.letter-sign{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.svg-defs{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.serif{font-family:var(--serif);font-weight:300}.eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.foil-text{background:var(--foil);color:#0000;background-position:30% 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text}.fx-vignette{pointer-events:none;z-index:2;background:radial-gradient(at 50% 45%,#0000 45%,#000000bf 100%);position:fixed;inset:0}.fx-grain{pointer-events:none;z-index:3;opacity:.055;transition:opacity 2s var(--ease);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:.9s steps(6,end) infinite grain;position:fixed;inset:-50%}body:has(#ch-roam.is-on) .fx-grain{opacity:.02}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.fx-letterbox i{height:var(--bar);z-index:4;pointer-events:none;transition:transform 1.6s var(--ease-io);background:#000;position:fixed;left:0;right:0;transform:scaleY(0)}.fx-letterbox i:first-child{transform-origin:top;top:0}.fx-letterbox i:last-child{transform-origin:bottom;bottom:0}body.cinema .fx-letterbox i{transform:scaleY(1)}.screen{z-index:10;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 1.1s var(--ease), visibility 0s linear 1.1s;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.screen.is-on{opacity:1;visibility:visible;transition:opacity 1.1s var(--ease), visibility 0s}.screen.is-on>*{pointer-events:auto}body.finale #ch-roam.is-on{opacity:0;visibility:hidden;transition:opacity .9s var(--ease), visibility 0s linear .9s}body.finale #ch-roam.is-on>*{pointer-events:none}body:has(.mem-fin.on) #mute{z-index:85;right:calc(clamp(14px, 2.6vw, 28px) + env(safe-area-inset-right,0px) + 56px);top:calc(clamp(14px, 2.6vw, 28px) + env(safe-area-inset-top,0px))}#loader{z-index:50;background:#000}.loader-inner{transition:opacity .9s var(--ease), transform 1.2s var(--ease);justify-items:center;gap:18px;display:grid}.loader-inner .eyebrow{letter-spacing:.46em;color:var(--faint);padding-left:.46em}.loader-bar{background:#ffffff12;width:200px;height:1px;overflow:hidden}.loader-bar i{background:linear-gradient(90deg, #f1d2a026, var(--gold));transform-origin:0;width:100%;height:100%;transform:scaleX(var(--p,.02));transition:transform .5s var(--ease);display:block}.loader-pct{letter-spacing:.32em;font-variant-numeric:tabular-nums;color:#f1d2a09e;padding-left:.32em;font-size:10px;font-weight:500}#loader.done .loader-bar i{transform-origin:100%;animation:line-out .9s var(--ease-io) forwards}#loader.done .loader-inner .eyebrow,#loader.done .loader-pct{opacity:0;transition:opacity .7s var(--ease), transform .9s var(--ease);transform:translateY(-4px)}@keyframes line-out{0%{transform:scaleX(1)}to{transform:scaleX(0)}}#ch-start{text-align:center;gap:22px;padding:24px}.hint{color:var(--faint);letter-spacing:.3em;text-transform:uppercase;padding-left:.3em;font-size:10px;font-weight:500}.start-eyebrow,#ch-start .hint{opacity:0;transition:opacity 1.4s var(--ease) .9s, transform 1.6s var(--ease) .9s, color .4s;transform:translateY(6px)}.start-eyebrow{letter-spacing:.5em;color:#f1d2a0a8;padding-left:.5em;transition-delay:.5s}#ch-start .hint{transition-delay:1.4s,1.4s,0s}#ch-start.is-on .start-eyebrow,#ch-start.is-on .hint{opacity:1;transform:none}#ch-start.opening .start-eyebrow,#ch-start.opening .hint{opacity:0;transition:opacity .6s var(--ease)}#ch-start .hint.nudge{color:var(--gold)}.envelope{--w:min(440px, 84vw, calc(var(--vh) * 62));width:var(--w);height:calc(var(--w) / 1.58);perspective:1600px;transition:transform 1.6s var(--ease), opacity 1.4s var(--ease), filter 1.2s var(--ease);flex-shrink:0;margin:34px 0 30px;animation:7s ease-in-out infinite env-float;position:relative;transform:translateY(0)}#ch-start:not(.is-on) .envelope{opacity:0;transform:translateY(5%)scale(.98)}@keyframes env-float{0%,to{translate:0;rotate:-.35deg}50%{translate:0 -4px;rotate:.25deg}}.envelope>*{position:absolute}.env-back,.flap-face.liner i{background:repeating-linear-gradient(45deg,#f1d2a01c 0 .6px,#0000 .6px 9px),repeating-linear-gradient(-45deg,#f1d2a01c 0 .6px,#0000 .6px 9px),linear-gradient(#17140f,#0b0a08)}.env-back{border-radius:5px;inset:0;box-shadow:0 50px 100px #000000e6,0 18px 30px #00000080,0 0 0 1px #f1d2a029}.env-card{z-index:1;text-align:center;background:var(--grain-dark), linear-gradient(172deg, #fbf6eb, #ece2cd);color:#1d1a15;height:90%;transition:transform 1.7s var(--ease-io);border-radius:3px;padding:7.5% 8% 0;top:5%;left:5%;right:5%;box-shadow:0 -12px 40px #0006,inset 0 1px #fffc}.env-card:before{content:"";inset:calc(var(--w) * .022);pointer-events:none;border-radius:2px;position:absolute;box-shadow:inset 0 0 0 1px #aa80428c,inset 0 0 0 4px #0000,inset 0 0 0 4.6px #aa804247}.env-card .eyebrow{font-size:max(9px, calc(var(--w) * .023));letter-spacing:.44em;background-image:linear-gradient(100deg,#8a6528 0%,#b48441 40%,#d0a865 52%,#a07433 64%,#84602a 100%);background-size:100% 100%;padding-left:.44em;font-weight:600}.env-card-line{margin-top:calc(var(--w) * .018);font-size:calc(var(--w) * .104);letter-spacing:-.005em;color:#2a2318;text-shadow:0 1px #ffffffbf,0 -.5px #3c280a2e;font-style:italic;font-weight:400;line-height:1.05}.env-card-rule{width:calc(var(--w) * .16);height:7px;margin:calc(var(--w) * .026) auto 0;background:linear-gradient(90deg,#0000,#b48a48cc 30%,#0000 44% 56%,#b48a48cc 70%,#0000) 50%/100% 1px no-repeat;display:block;position:relative}.env-card-rule i{border:1px solid #b48a48e6;width:4px;height:4px;position:absolute;top:50%;left:50%;translate:-50% -50%;rotate:45deg}.env-card-from{margin-top:calc(var(--w) * .022);font-size:max(13px, calc(var(--w) * .044));color:#7a6748;text-shadow:0 1px #fff9;font-style:italic;font-weight:400}.env-pocket{z-index:2;filter:drop-shadow(0 -1px #f1d2a057)drop-shadow(0 -8px 18px #0009);inset:0}.env-pocket i{clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);background:var(--grain-light), linear-gradient(165deg, #201d19, #0e0d0b 72%);border-radius:0 0 5px 5px;position:absolute;inset:0}.env-pocket svg{width:100%;height:100%;position:absolute;inset:0}.seam-fill{fill:#fff4de06}.seam{fill:none;stroke:#0009;stroke-width:1px;vector-effect:non-scaling-stroke}.env-to{z-index:2;text-align:center;font-size:calc(var(--w) * .074);pointer-events:none;line-height:1;bottom:8.5%;left:0;right:0}.env-to small{color:#f4f2ee99;letter-spacing:.02em;font-size:.6em;font-style:italic;font-weight:400}.env-to em{filter:drop-shadow(0 1px #000c);padding:0 .06em;font-weight:400}.env-flap{z-index:3;transform-origin:top;height:55%;transform-style:preserve-3d;transition:transform 1.25s cubic-bezier(.5,.05,.2,1),z-index 0s linear .45s;top:0;left:0;right:0}.flap-face{backface-visibility:hidden;position:absolute;inset:0}.flap-face i{transition:filter 1.1s var(--ease-io);position:absolute;inset:0}.flap-face.front{filter:drop-shadow(0 1px #f1d2a06b)drop-shadow(0 10px 16px #000000b8)}.flap-face.front i{clip-path:polygon(0 0,100% 0,51.6% 97%,50% 100%,48.4% 97%);background:var(--grain-light), linear-gradient(180deg, #24211c, #110f0d);border-radius:5px 5px 0 0}.flap-face.liner{transform:rotateX(180deg)}.flap-face.liner i{clip-path:polygon(50% 0,100% 100%,0 100%);filter:brightness(.35)}.envelope.open .flap-face.front i{filter:brightness(.55)}.envelope.open .flap-face.liner i{filter:none;transition-delay:.3s}.seal{--hold:0;z-index:4;width:calc(var(--w) * .205);height:calc(var(--w) * .205);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-width:66px;max-width:92px;min-height:66px;max-height:92px;translate:-50% -50%;transform:scale(calc(1 - var(--hold) * .06));transition:transform .3s var(--ease);border-radius:50%;place-items:center;display:grid;top:55%;left:50%}.seal:focus-visible{outline:1px solid var(--gold);outline-offset:12px}.seal-glow{background:radial-gradient(circle, rgba(241, 196, 120, calc(.14 + var(--hold) * .42)), transparent 62%);pointer-events:none;border-radius:50%;animation:3.4s ease-in-out infinite breathe;position:absolute;inset:-55%}.seal-ring{pointer-events:none;width:134%;height:134%;position:absolute;inset:-17%;overflow:visible;transform:rotate(-90deg)}.seal-ring circle{fill:none;stroke:var(--gold);stroke-width:1px;stroke-linecap:round;stroke-dasharray:295.3;stroke-dashoffset:calc(295.3 * (1 - var(--hold)));filter:drop-shadow(0 0 3px #f1d2a0d9);opacity:calc(.18 + var(--hold));transition:opacity .5s}.seal-half{pointer-events:none;position:absolute;inset:0}.seal-half svg,.seal-fissure{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.seal-half.l{clip-path:polygon(-40% -40%,54% -40%,54% 4%,46% 22%,56% 41%,45% 63%,53% 80%,47% 96%,47% 140%,-40% 140%)}.seal-half.r{clip-path:polygon(54% -40%,140% -40%,140% 140%,47% 140%,47% 96%,53% 80%,45% 63%,56% 41%,46% 22%,54% 4%)}.seal-fissure{opacity:0;pointer-events:none}.seal-fissure polyline{fill:none;stroke:#fff4da;stroke-width:1.3px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:110;stroke-dashoffset:110px;filter:drop-shadow(0 0 2.5px #ffd696f2)}.seal.wiggle{animation:seal-wiggle .55s var(--ease)}@keyframes seal-wiggle{20%{rotate:-7deg}45%{rotate:5deg}70%{rotate:-2deg}}.envelope.broken{animation:none}.envelope.broken .seal{pointer-events:none}.envelope.broken .seal-fissure{animation:.5s ease-out both fissure}.envelope.broken .seal-fissure polyline{animation:.14s ease-out both fissure-draw}.envelope.broken .seal-half.l{animation:1.25s .1s both half-l}.envelope.broken .seal-half.r{animation:1.25s .1s both half-r}.envelope.broken .seal-ring{opacity:0;transition:opacity .3s}.envelope.broken .seal-glow{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);animation:none;transform:scale(1.6)}@keyframes fissure{0%{opacity:0}12%{opacity:1}to{opacity:0}}@keyframes fissure-draw{to{stroke-dashoffset:0}}@keyframes half-l{0%{opacity:1;animation-timing-function:cubic-bezier(.2,.9,.3,1);transform:none}16%{opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.55);transform:translate(-9%,-3%)rotate(-7deg)}62%{opacity:1}to{opacity:0;transform:translate(-52%,165%)rotate(-42deg)}}@keyframes half-r{0%{opacity:1;animation-timing-function:cubic-bezier(.2,.9,.3,1);transform:none}16%{opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.55);transform:translate(9%,-2%)rotate(6deg)}62%{opacity:1}to{opacity:0;transform:translate(48%,175%)rotate(34deg)}}.envelope.open .env-flap{z-index:0;transform:rotateX(180deg)}.envelope.card-out{transform:translateY(26%)}.envelope.card-out .env-card{transform:translateY(-62%)}.envelope.away{opacity:0;filter:blur(10px);transition:transform 1.7s cubic-bezier(.55, 0, .75, .3), opacity 1.3s var(--ease) .2s, filter 1.3s var(--ease) .2s;transform:translateY(70%)scale(.92)}@keyframes breathe{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.lines{padding:0 max(8vw, 24px) calc(max(var(--bar), var(--safe-b)) + 116px);justify-content:flex-end;align-items:flex-start}.lines p{font-family:var(--serif);letter-spacing:-.006em;font-size:clamp(34px,5.4vw,78px);font-weight:300;line-height:1.02}.lines .ln{margin:-.08em -.14em -.16em;padding:.08em .14em .16em;display:block;overflow:hidden}.lines .ln-i{transition:transform 1.9s var(--ease-expo), opacity 1.2s var(--ease);display:inline-block;transform:translateY(112%)}.lines p:first-child:not(:only-child) .ln-i{background:linear-gradient(#f8e6c4 10%,#d9b273 95%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic}.lines.show .ln-i{transform:none}.lines.out .ln-i{opacity:0;transition:opacity .9s var(--ease), transform 1.4s var(--ease);transform:translateY(-14%)}.lines.solo{text-align:center;justify-content:center;align-items:center;padding:0 24px}.lines.solo p{color:#f4f2eeeb;font-size:clamp(30px,4.2vw,60px);font-style:italic}#ch-board{padding:max(var(--bar), 16px) 16px calc(max(var(--bar), var(--safe-b)) + 90px);background:radial-gradient(#0000008c,#00000026 70%);gap:30px}.board{--tile:clamp(9px, min(2.3vw, calc(var(--vh) * 3.4)), 30px);padding:calc(var(--tile) * .8) calc(var(--tile) * .95);opacity:0;transition:transform 1.8s var(--ease-expo), opacity 1.3s var(--ease);background:linear-gradient(#131315,#09090a);border:1px solid #ffffff12;border-radius:8px;position:relative;transform:perspective(1400px)rotateX(9deg)translateY(36px)scale(.965);box-shadow:0 50px 120px #000000e0,0 0 0 1px #000c,inset 0 1px #ffffff0f,inset 0 -1px #000000b3}.board:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff09,#0000 30%);position:absolute;inset:0}#ch-board.is-on .board{opacity:1;transform:perspective(1400px)rotateX(0)}#ch-board.leaving .board{opacity:0;filter:blur(8px);transition:transform 1s cubic-bezier(.55, 0, .75, .3), opacity .8s var(--ease), filter .8s var(--ease);transform:perspective(1400px)rotateX(-10deg)translateY(-50px)scale(.92)}.board-header{margin-bottom:calc(var(--tile) * .75);color:var(--amber);justify-content:space-between;align-items:center;display:flex}.board-title{align-items:baseline;gap:calc(var(--tile) * .5);font-weight:700;font-size:calc(var(--tile) * .86);letter-spacing:.14em;text-transform:uppercase;display:flex}.board-title .fr{opacity:.55;margin-left:.3em;font-weight:400}.board-title small{color:var(--faint);letter-spacing:.26em;font-size:.42em;font-weight:500}.board-title svg{width:calc(var(--tile) * 1.05);fill:currentColor;align-self:center}.board-clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:calc(var(--tile) * .92);letter-spacing:.06em;color:var(--amber);filter:drop-shadow(0 0 4px #ffb3478c);-webkit-mask:radial-gradient(circle,#000 .75px,#0000 1.05px) 0 0/2.2px 2.2px;mask:radial-gradient(circle,#000 .75px,#0000 1.05px) 0 0/2.2px 2.2px}.board-clock i{font-style:normal;animation:2s step-end infinite colon}@keyframes colon{50%{opacity:.15}}.board-cols,.board-row{grid-template-columns:calc(var(--tile) * 5.6) calc(var(--tile) * 6.7) calc(var(--tile) * 11.2) calc(var(--tile) * 4.5) calc(var(--tile) * 8.9);gap:calc(var(--tile) * .6);display:grid}.board-cols{font-size:max(8px, calc(var(--tile) * .33));text-transform:uppercase;letter-spacing:.3em;color:var(--faint);padding-bottom:calc(var(--tile) * .32);border-bottom:1px solid var(--hair);margin-bottom:calc(var(--tile) * .38);font-weight:500}.board-row{padding:calc(var(--tile) * .15) 0;position:relative}.board-row .cell{gap:calc(var(--tile) * .08);display:flex}.flap{width:calc(var(--tile) * 1.02);height:calc(var(--tile) * 1.42);font-weight:600;font-size:calc(var(--tile) * .96);color:#f3eee3;perspective:calc(var(--tile) * 6);transition:color .7s var(--ease);border-radius:2px;position:relative;box-shadow:0 1px #ffffff09,0 2px 3px #0009}.flap>*{font-style:normal;font-weight:inherit;border-radius:inherit;backface-visibility:hidden;place-items:center;line-height:1;display:grid;position:absolute;inset:0}.flap .t,.flap .ft{clip-path:inset(0 0 50%);background:linear-gradient(#2b2b2e 0%,#222225 50%)}.flap .b,.flap .fb{clip-path:inset(50% 0 0);background:linear-gradient(#1b1b1d 50%,#151517 100%)}.flap .ft,.flap .fb{z-index:2;transform:rotateX(90deg)}.flap .ft{transform:rotateX(-90deg)}.flap:after{content:"";z-index:3;background:#000000e6;height:1px;position:absolute;top:calc(50% - .5px);left:0;right:0}.flap:before{content:"";z-index:3;background:linear-gradient(90deg,#3b3b3f 0 1.5px,#0000 1.5px calc(100% - 1.5px),#3b3b3f calc(100% - 1.5px));height:3px;position:absolute;top:calc(50% - 1.5px);left:-1px;right:-1px}.board-row.hl:before{content:"";inset:0 calc(var(--tile) * -.42);opacity:0;transition:opacity 1s var(--ease);background:linear-gradient(90deg,#ffb3471a,#ffb34709 60%,#ffb34714);border-radius:3px;position:absolute;box-shadow:inset 0 1px #ffb34738,inset 0 -1px #ffb34738}.board-row.hl.lit:before{opacity:1}.board-row.hl.lit .flap{color:var(--amber)}.board-row .lamp{right:calc(var(--tile) * -.62);width:calc(var(--tile) * .2);height:calc(var(--tile) * .2);background:#1f1b15;border-radius:50%;min-width:4px;min-height:4px;position:absolute;top:50%;translate:0 -50%;box-shadow:inset 0 1px 1px #000c}.board-row.hl.lit .lamp{background:var(--amber);animation:lamp 1.6s var(--ease-io) infinite;box-shadow:0 0 6px #ffb347e6,0 0 16px #ffb34773}@keyframes lamp{0%,to{opacity:1}50%{opacity:.2}}.board-caption{font-family:var(--serif);text-align:center;text-wrap:balance;opacity:0;max-width:30em;transition:opacity 1.4s var(--ease), transform 1.6s var(--ease-expo);text-shadow:0 4px 30px #000;font-size:clamp(22px,2.9vw,38px);font-weight:300;line-height:1.2;transform:translateY(12px)}.board-caption.show{opacity:1;transform:none}.board-caption em{color:var(--gold)}@media (width<=720px){.board{--tile:clamp(10px, 4.1vw, 22px)}.board-cols,.board-row{grid-template-columns:calc(var(--tile) * 6.7) calc(var(--tile) * 11.2)}.c-time,.c-gate,.c-status{display:none!important}.board-row.hl.lit .c-status{grid-column:1/-1;display:flex!important}.board-title{flex-wrap:wrap;row-gap:2px}.board-title .fr{display:none}.board-title small{padding-left:calc(var(--tile) * 1.55);flex-basis:100%}}#ch-passes{gap:calc(var(--vh) * 2);padding:max(calc(var(--bar) + var(--vh) * 3), 76px) 16px calc(max(var(--bar), var(--safe-b)) + 98px)}.route{width:min(900px, 92vw, calc(var(--vh) * 80));text-align:center}.route svg{width:100%;overflow:visible}.route-grid path{fill:none;stroke:#ffffff12;stroke-width:1px;vector-effect:non-scaling-stroke}.route-grid .ticks{stroke:#f1d2a038}#route-ghost{fill:none;stroke:#f1d2a033;stroke-width:1px;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}#route-arc{fill:none;stroke:url(#arcGrad);stroke-width:2px;stroke-linecap:round;filter:drop-shadow(0 0 5px #f3d7a8a6)}.route-ring{fill:#050a1899;stroke:#f1d2a08c;stroke-width:1px;vector-effect:non-scaling-stroke}.route-dot{fill:#f8ead0}.route-ring.to,.route-dot.to{opacity:.4;transition:opacity .8s var(--ease)}.route.landed .route-ring.to,.route.landed .route-dot.to{opacity:1}.route-pulse{fill:none;stroke:var(--gold);stroke-width:1.2px;transform-origin:890px 190px;opacity:0}.route.landed .route-pulse{animation:pulse 2.2s var(--ease) 3}@keyframes pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(4.5)}}#route-plane path{fill:#fff8ea;filter:drop-shadow(0 0 6px #ffecc8d9)}.route-code{fill:var(--ink);font-family:var(--sans);letter-spacing:.3em;text-anchor:middle;font-size:21px;font-weight:500}.route-label{fill:var(--faint);font-family:var(--sans);letter-spacing:.2em;text-anchor:middle;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.route-meta{letter-spacing:.24em;text-transform:uppercase;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:6px;font-size:11px;font-weight:500}.route-meta span:not(.route-tail){color:var(--ink);display:inline-block}#route-km{text-align:right;min-width:4.3em}#route-time{text-align:left;min-width:5.6em}.route-meta i{vertical-align:-1px;background:#f1d2a066;width:1px;height:10px;margin:0 1.1em;display:inline-block}.route-tail{opacity:0;transition:opacity 1.2s var(--ease) .3s}.route.landed .route-tail{opacity:1}@media (width<=480px){.route-meta{letter-spacing:.16em;font-size:9.5px}.route-tail{display:none}}@media (width<=640px){.route-code{letter-spacing:.24em;font-size:46px;transform:translateY(26px)}.route-label{display:none}}.passes{perspective:1600px;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;display:flex}.pass{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;filter:drop-shadow(0 28px 30px #0000008c)drop-shadow(0 2px 3px #00000059);width:min(520px,90vw);transform:translateY(70vh) rotateX(42deg) rotateZ(calc(var(--rz,0deg) * 3));opacity:0;position:relative}.pass-card{--stub:128px;grid-template-columns:1fr var(--stub);color:#19170f;background:var(--grain-dark), linear-gradient(135deg, #faf6ec, #ece4d2);-webkit-mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0, transparent 10.5px, #000 11px) top / 100% 51% no-repeat, radial-gradient(circle 11px at calc(100% - var(--stub)) 100%, transparent 10.5px, #000 11px) bottom / 100% 51% no-repeat;-webkit-mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0, transparent 10.5px, #000 11px) top / 100% 51% no-repeat, radial-gradient(circle 11px at calc(100% - var(--stub)) 100%, transparent 10.5px, #000 11px) bottom / 100% 51% no-repeat;mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0, transparent 10.5px, #000 11px) top / 100% 51% no-repeat, radial-gradient(circle 11px at calc(100% - var(--stub)) 100%, transparent 10.5px, #000 11px) bottom / 100% 51% no-repeat;border-radius:14px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.pass.in{transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(var(--rz,0deg));opacity:1;transition:transform 1.7s var(--ease-expo), opacity .5s}.pass.in.tracking{transition:transform .25s ease-out}.pass.out{transform:translateY(-36vh) rotateX(-26deg) scale(.82) rotateZ(var(--rz,0deg));opacity:0;transition:transform 1.1s cubic-bezier(.55,0,.75,.3),opacity .8s}.pass-main{gap:16px;padding:22px 24px 20px;display:grid}.pass header{letter-spacing:.24em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;display:flex}.pass .airline{color:#c8102e;align-items:center;gap:8px;display:flex}.pass .airline svg{fill:currentColor;width:15px}.pass .doc{color:#8d8472;font-weight:500}.pass .legs{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.pass .legs b{letter-spacing:.01em;font-size:46px;font-weight:300;line-height:1;display:block}.pass .legs small{letter-spacing:.2em;text-transform:uppercase;color:#8d8472;margin-top:4px;font-size:10px;font-weight:500;display:block}.pass .legs .to{text-align:right}.pass .legs .mid{align-items:center;gap:8px;margin-top:-14px;display:flex}.pass .legs .mid i{background:repeating-linear-gradient(90deg,#b9b19d 0 3px,#0000 3px 6px);flex:1;height:1px}.pass .legs .mid svg{fill:#19170f;flex-shrink:0;width:17px;transform:rotate(90deg)}.pass .fields{border-top:1px solid #3c30191f;grid-template-columns:repeat(3,1fr);gap:12px 10px;padding-top:14px;display:grid}.pass label{letter-spacing:.24em;text-transform:uppercase;color:#8d8472;margin-bottom:4px;font-size:8.5px;font-weight:500;display:block}.pass .fields span{letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.pass-stub{background:var(--grain-dark), linear-gradient(#f2ecdf, #e7dfcb);align-content:space-between;justify-items:center;gap:10px;padding:18px 14px 20px;display:grid;position:relative}.pass-stub:before{content:"";background:radial-gradient(circle,#3c2e1652 0 1.1px,#0000 1.4px) top/3px 7px repeat-y;width:3px;position:absolute;top:14px;bottom:14px;left:-1px}.pass .cabin{letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;background:#17150f;border-radius:2px;padding:4px 9px 4px 10px;font-size:8.5px;font-weight:600}.pass .cabin span,.pass .seat-big{background:var(--foil);background-size:260% 100%;background-position:var(--mx) 0;color:#0000;-webkit-background-clip:text;background-clip:text;transition:background-position .4s ease-out}.pass .seat-big{background-image:var(--foil-ink)}.pass-stub .seat{text-align:center}.pass-stub .seat-big{letter-spacing:.01em;font-size:34px;font-weight:600;line-height:1;display:block}.aztec{shape-rendering:crispedges;fill:#17150f;width:84px;height:84px;display:block}.foil{pointer-events:none;background:linear-gradient(112deg,#0000 38%,#fffcf0b3 48%,#ffecc840 53%,#0000 62%) 0 0/300% 100%;background-position:var(--mx) 0;mix-blend-mode:soft-light;opacity:0;transition:opacity .6s var(--ease);position:absolute;inset:0}.pass.tracking .foil{opacity:1}.pass.in:not(.tracking) .foil{animation:sheen-sweep 1.8s .8s var(--ease-io) both}@keyframes sheen-sweep{0%{opacity:0;background-position:110% 0}20%{opacity:1}80%{opacity:1}to{opacity:0;background-position:-10% 0}}@media (width<=720px){.passes{gap:14px}.pass{width:92vw}.pass-card{--stub:96px;border-radius:12px}.pass-main{gap:12px;padding:16px}.pass .legs b{font-size:34px}.pass .fields{gap:8px;padding-top:10px}.pass .fields span{font-size:13px}.aztec{width:62px;height:62px}.pass-stub{padding:14px 8px 16px}.pass-stub .seat-big{font-size:26px}.pass .cabin{letter-spacing:.18em;padding:3px 6px 3px 7px;font-size:7.5px}}@media (width<=380px){.pass-card{--stub:86px}.pass-main{padding:14px 12px 14px 14px}.pass .doc{display:none}.pass .airline{white-space:nowrap}.pass .legs{gap:10px}.pass .legs b{font-size:30px}.pass .fields{grid-template-columns:1.3fr 1fr .8fr;gap:8px 6px}.pass .fields span{white-space:nowrap;letter-spacing:.02em;font-size:12px}.pass label{letter-spacing:.18em}.aztec{width:56px;height:56px}}@media (width<=1100px) and (aspect-ratio>=4/5),(height<=520px) and (orientation:landscape){.passes{flex-wrap:nowrap;gap:14px}.pass{width:min(400px,46vw)}.pass-card{--stub:84px;border-radius:12px}.pass-main{gap:8px;padding:12px 14px}.pass header{font-size:8.5px}.pass .legs b{font-size:28px}.pass .legs small{margin-top:2px;font-size:8.5px}.pass .legs .mid{margin-top:-10px}.pass .fields{gap:6px 8px;padding-top:8px}.pass label{margin-bottom:1px;font-size:7.5px}.pass .fields span{font-size:12px}.pass-stub{gap:6px;padding:12px 6px}.pass .cabin{letter-spacing:.16em;padding:3px 5px 3px 6px;font-size:7px}.aztec{width:54px;height:54px}.pass-stub .seat-big{font-size:22px}}@media (height<=520px) and (orientation:landscape){#ch-board{padding:max(var(--bar), 14px) max(16px, env(safe-area-inset-right)) calc(max(var(--bar), var(--safe-b)) + 76px);gap:12px}.board{--tile:clamp(9px, calc(var(--vh) * 3.3), 30px)}.board-caption{font-size:20px}body .continue{bottom:calc(max(var(--bar), var(--safe-b)) + 12px)}#ch-passes{padding:max(var(--bar), 16px) 16px calc(max(var(--bar), var(--safe-b)) + 70px);gap:12px}.route{width:min(260px,50vw)}.route-meta,.route-label{display:none}.route-code{font-size:46px;transform:translateY(26px)}.pass-main{gap:6px;padding:10px 14px}.pass .legs b{font-size:24px}#ch-start{gap:14px;padding:12px}.envelope{margin:22px 0 16px}.seal{min-width:56px;min-height:56px}#ch-reveal{padding-top:max(calc(var(--bar) + var(--vh) * 3), 14px, env(safe-area-inset-top))}#ch-reveal .model{font-size:clamp(52px, calc(var(--vh) * 19), 120px)}#ch-reveal .sub{margin-top:10px}}#ch-reveal{padding-top:calc(var(--vh) * 12);text-align:center;justify-content:flex-start}.make{letter-spacing:1.15em;text-transform:uppercase;color:#e4e4e7;opacity:0;transition:letter-spacing 3.6s var(--ease-expo), padding 3.6s var(--ease-expo), opacity 2.2s var(--ease);padding-left:1.15em;font-size:clamp(11px,1.25vw,15px);font-weight:500}#ch-reveal.s1 .make{letter-spacing:.62em;opacity:.88;padding-left:.62em}.model{font-size:clamp(72px, min(15vw, calc(var(--vh) * 21)), 210px);letter-spacing:-.02em;background:linear-gradient(100deg,#8a8a8e 0%,#d6d6da 30%,#fff 42%,#d0d0d4 50%,#f4f4f6 62%,#8f8f93 100%) 100% 0/250% 100%;color:#0000;transition:-webkit-mask-position 2.6s var(--ease-io), mask-position 2.6s var(--ease-io);filter:drop-shadow(0 10px 40px #0009);-webkit-background-clip:text;background-clip:text;margin-top:.08em;padding:0 .06em;line-height:.9;-webkit-mask:linear-gradient(90deg,#000 0 42%,#0000 58% 100%) 100% 0/260% 100% no-repeat;mask:linear-gradient(90deg,#000 0 42%,#0000 58% 100%) 100% 0/260% 100% no-repeat}#ch-reveal.s2 .model{animation:chrome-pass 3.4s .9s var(--ease-io) both;-webkit-mask-position:0 0;mask-position:0 0}@keyframes chrome-pass{0%{background-position:100% 0}to{background-position:18% 0}}.sub{font-family:var(--serif);color:#f4f2eecc;letter-spacing:.01em;text-shadow:0 1px 2px #000000e6,0 2px 24px #000000e6;opacity:0;transition:opacity 1.6s var(--ease), transform 1.8s var(--ease-expo);margin-top:18px;font-size:clamp(19px,1.9vw,26px);font-style:italic;font-weight:400;transform:translateY(10px)}.sub span{color:var(--gold)}#ch-reveal.s3 .sub{opacity:1;transform:none}@media (aspect-ratio<=1){#ch-reveal{padding:0 20px calc(var(--vh) * 9 + 44px + var(--safe-b));justify-content:flex-end}#ch-reveal:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#0000,#00000080 40%,#000000b3);height:46%;position:absolute;inset:auto 0 0}#ch-reveal .model{font-size:clamp(72px,21vw,150px)}}.hud{display:block}.hud>*{opacity:0;transition:opacity 1.3s var(--ease), transform 1.5s var(--ease-expo);position:absolute;transform:translateY(14px)}.hud.is-on>*{opacity:1;transform:none}.hud.is-on>:nth-child(2){transition-delay:.18s}.hud.is-on>:nth-child(3){transition-delay:.36s}.hud-brand{top:max(28px, env(safe-area-inset-top));left:32px}.make.small{letter-spacing:.5em;opacity:.72;padding:0;font-size:10px}.hud-model{letter-spacing:-.01em;margin-top:6px;font-size:54px;line-height:1}.hud-for{color:var(--faint);letter-spacing:.28em;text-transform:uppercase;margin-top:10px;font-size:10px;font-weight:500}.hud-for span{color:var(--gold)}.card{-webkit-backdrop-filter:blur(18px)saturate(1.15);border:1px solid var(--hair);background:#09090a9e;border-radius:6px;box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff0a}.summary{top:max(28px, env(safe-area-inset-top));width:330px;padding:20px 22px 18px;right:84px}.summary ul{margin:14px 0 16px;list-style:none;display:grid}.summary li{border-top:1px solid var(--hair);grid-template-columns:22px 1fr;align-items:start;gap:12px;padding:12px 0;display:grid}.summary li:last-child{border-bottom:1px solid var(--hair)}.summary li svg{width:18px;fill:var(--gold);opacity:.9;margin-top:1px}.summary b{letter-spacing:.005em;font-size:14px;font-weight:500;display:block}.summary li span{color:var(--muted);font-size:12px;line-height:1.5}.link-btn{letter-spacing:.26em;text-transform:uppercase;color:var(--gold);transition:color .3s, gap .4s var(--ease);align-items:center;gap:10px;padding:2px 0;font-size:10px;font-weight:500;display:inline-flex}.link-btn:before{content:"";opacity:.6;width:18px;height:1px;transition:width .4s var(--ease);background:currentColor}.configurator{left:50%;bottom:max(26px, env(safe-area-inset-bottom));gap:12px;width:min(640px,100vw - 24px);padding:16px 18px 12px;display:grid;translate:-50%}.paint-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.paint-label{gap:5px;display:grid}.paint-label b{font-family:var(--serif);letter-spacing:.005em;font-size:20px;font-weight:400;line-height:1}.swatches{gap:12px;display:flex}.swatch{background:radial-gradient(circle at 34% 28%, #ffffff6b, transparent 46%), radial-gradient(circle at 60% 80%, #00000059, transparent 60%), var(--c);width:28px;height:28px;transition:box-shadow .4s var(--ease);border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff29,0 2px 6px #00000080}.swatch.on{box-shadow:inset 0 0 0 1px #ffffff29, 0 0 0 3px #0a0a0b, 0 0 0 4px var(--gold)}.actions{border-top:1px solid var(--hair);flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.pill{border:1px solid var(--line);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;background:#ffffff06;border-radius:4px;align-items:center;gap:9px;padding:10px 15px;font-size:10.5px;font-weight:500;transition:background .3s,border-color .3s,color .3s;display:inline-flex}.pill:hover{background:#ffffff12;border-color:#ffffff3d}.pill svg{fill:currentColor;width:15px}.pill[aria-pressed=true]{color:var(--gold);border-color:#f1d2a080}.pill[hidden]{display:none}#btn-birthday{color:var(--gold);background:linear-gradient(#f1d2a01f,#f1d2a00a);border-color:#f1d2a06b}#btn-birthday:hover{background:linear-gradient(#f1d2a033,#f1d2a012);border-color:#f1d2a0b3}.config-foot{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.drag-hint{color:var(--faint);letter-spacing:.12em;font-size:10px}.credit{color:#f4f2ee52;letter-spacing:.02em;font-size:10px;line-height:1.4}.credit a{color:inherit;text-underline-offset:2px;-webkit-text-decoration:underline #f4f2ee2e;text-decoration:underline #f4f2ee2e}.credit a:hover{color:var(--muted)}.credit a:last-child{white-space:nowrap}.gift-toggle{-webkit-backdrop-filter:blur(12px);color:var(--gold);letter-spacing:.24em;text-transform:uppercase;background:#09090a80;border:1px solid #f1d2a052;border-radius:4px;align-items:center;gap:10px;margin-top:14px;padding:8px 14px;font-size:10px;font-weight:500;display:none}.gift-toggle i{width:6px;height:6px;transition:transform .4s var(--ease), margin .4s var(--ease);border-bottom:1px solid;border-right:1px solid;margin-top:-3px;transform:rotate(45deg)}.gift-open .gift-toggle i{margin-top:3px;transform:rotate(-135deg)}@media (width<=860px),(height<=520px){.hud:before{content:"";height:calc(max(18px, env(safe-area-inset-top)) + 200px);pointer-events:none;background:linear-gradient(#000000b8,#00000059 55%,#0000);position:absolute;inset:0 0 auto}.hud-brand{left:20px;top:max(18px, env(safe-area-inset-top))}.hud-model{font-size:40px}.hud-for{margin-top:8px}.gift-toggle{display:inline-flex}.summary{width:auto;left:12px;right:12px;top:calc(max(18px, env(safe-area-inset-top)) + 146px);padding:6px 16px 14px}.hud.is-on>.summary{opacity:0;pointer-events:none;transition-delay:0s;transform:translateY(-10px)}.hud.is-on.gift-open>.summary{opacity:1;pointer-events:auto;transform:none}.summary>.eyebrow{display:none}.summary ul{margin:0 0 12px}.summary li{padding:10px 0}.summary li:first-child{border-top:0}.configurator{gap:10px;padding:12px 16px 10px}.paint-row{flex-wrap:wrap;gap:8px 12px}.paint-label b{font-size:18px}.swatches{gap:9px}.swatch{width:26px;height:26px}.actions{padding-top:10px}.pill{letter-spacing:.14em;padding:8px 11px;font-size:10px}.drag-hint{display:none}}@media (width<=860px) and (height<=620px) and (orientation:portrait){.hud-model{font-size:32px}.hud-for{margin-top:6px}.gift-toggle{margin-top:10px}.summary{top:calc(max(18px, env(safe-area-inset-top)) + 126px);padding:4px 14px 12px}.summary ul{margin-bottom:10px}.summary li{padding:8px 0}}@media (height<=520px) and (orientation:landscape){.hud:before{height:140px}.hud-brand{top:max(12px, env(safe-area-inset-top));left:max(20px, env(safe-area-inset-left))}.hud-model{font-size:28px}.hud-for{margin-top:4px}.gift-toggle{margin-top:8px;padding:6px 12px}.summary{top:max(12px, env(safe-area-inset-top));left:auto;right:calc(max(24px, env(safe-area-inset-right)) + 56px);width:min(320px,100vw - 300px);padding:4px 14px 12px}.summary li{padding:8px 0}.configurator{bottom:max(10px, env(safe-area-inset-bottom));grid-template-columns:auto auto;align-items:center;gap:6px 18px;width:auto;max-width:calc(100vw - 24px);padding:10px 14px 8px}.paint-row{flex-wrap:nowrap}.paint-label b{white-space:nowrap}.actions{border-top:0;flex-wrap:nowrap;padding-top:0}.config-foot{grid-column:1/-1}}.modal{z-index:40;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, var(--safe-b)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .9s var(--ease), visibility 0s linear .9s;background:radial-gradient(#00000073,#000000b8);display:flex;position:fixed;inset:0;overflow-y:auto}.modal.is-on{opacity:1;visibility:visible;transition:opacity .9s var(--ease)}.letter-wrap{filter:drop-shadow(0 40px 50px #0009)drop-shadow(0 2px 3px #00000059);opacity:0;width:min(540px,100%);transition:transform 1.4s var(--ease-expo), opacity .9s var(--ease);margin:auto;transform:translateY(36px)rotate(-1.6deg)}.modal.is-on .letter-wrap{opacity:1;transition-delay:.1s;transform:rotate(-.5deg)}.letter{background:var(--grain-dark), radial-gradient(ellipse at 30% 0%, #fdfaf3, transparent 70%), linear-gradient(168deg, #f8f3e8, #ece4d1);color:#1d1a15;text-align:center;justify-items:center;gap:20px;padding:50px 52px 40px;display:grid}.letter-crest{background:var(--foil-ink);color:#0000;-webkit-background-clip:text;background-clip:text;border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:2px;padding-top:2px;font-size:25px;font-style:italic;font-weight:500;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #aa8042b3,inset 0 0 0 3.5px #0000,inset 0 0 0 4px #aa804259}.letter .eyebrow{color:#8b7a5c;letter-spacing:.4em;padding-left:.4em}.letter-body{text-wrap:pretty;color:#221e17;text-shadow:0 1px #ffffff8c;font-size:clamp(22px,2.5vw,27px);font-weight:400;line-height:1.42}.letter-sign{color:#6b5737;font-size:24px;font-style:italic;font-weight:400}.letter-sign:before{content:"";background:linear-gradient(90deg,#0000,#aa8042cc,#0000);width:40px;height:1px;margin:0 auto 16px;display:block}.letter-sign span{white-space:nowrap}@media (width<=480px){.letter{gap:16px;padding:38px 26px 30px}}@media (height<=520px){.letter{gap:10px;padding:20px 30px 18px}.letter-wrap{width:min(620px,100%)}.letter-crest{width:34px;height:34px;font-size:19px}.letter-body{font-size:19px;line-height:1.3}.letter-sign{font-size:19px}.letter-sign:before{margin-bottom:8px}}.letter .pill{color:#3a3226;background:0 0;border-color:#3c2d1433;margin-top:4px}.letter .pill:hover{background:#3c2d140d;border-color:#3c2d1459}.continue{z-index:30;width:max-content;left:0;right:0;bottom:calc(max(var(--bar), var(--safe-b)) + 28px);white-space:nowrap;-webkit-backdrop-filter:blur(10px);letter-spacing:.3em;text-transform:uppercase;opacity:0;visibility:hidden;min-height:46px;transition:opacity .8s var(--ease), transform .9s var(--ease), visibility 0s linear .9s, background .3s, border-color .3s;background:#0606076b;border:1px solid #f1d2a04d;border-radius:99px;align-items:center;gap:16px;margin:0 auto;padding:14px 22px 14px 28px;font-size:11px;font-weight:500;display:inline-flex;position:fixed;transform:translateY(12px)}.continue.is-on{opacity:1;visibility:visible;transition:opacity 1.2s var(--ease) .15s, transform 1.4s var(--ease-expo) .15s, background .3s, border-color .3s;transform:none}.continue:hover{background:#14120f99;border-color:#f1d2a099}.continue i{width:24px;height:1px;transition:width .5s var(--ease);background:currentColor;position:relative}.continue:hover i{width:32px}.continue i:after{content:"";border-top:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.icon-btn{z-index:35;top:max(24px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);color:#f4f2eed1;opacity:0;pointer-events:none;background:#06060766;border-radius:50%;place-items:center;width:44px;height:44px;transition:opacity .8s,border-color .3s,color .3s;display:grid;position:fixed}.icon-btn.is-on{opacity:1;pointer-events:auto}.icon-btn:hover{color:var(--gold);border-color:#f1d2a073}.icon-btn svg{fill:currentColor;width:17px}.icon-btn .off,.icon-btn.muted .on{display:none}.icon-btn.muted .off{display:block}.debug{z-index:60;white-space:pre;background:#000c;border:1px solid #333;border-radius:8px;max-height:45vh;padding:10px;font:11px/1.5 ui-monospace,monospace;display:none;position:fixed;bottom:10px;left:10px;overflow:auto}.debug.is-on{display:block}.pill:focus-visible,.continue:focus-visible,.icon-btn:focus-visible,.gift-toggle:focus-visible,.link-btn:focus-visible,.credit a:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.swatch:focus-visible{outline:1px solid var(--gold);outline-offset:6px}.pill:active,.continue:active,.icon-btn:active,.gift-toggle:active{scale:.97}.link-btn:hover{color:#f8e3bf}.link-btn:hover:before{width:26px}@media (hover:none){.pill:hover{border-color:var(--line);background:#ffffff06}.letter .pill:hover{background:0 0;border-color:#3c2d1433}.continue:hover{background:#0606076b;border-color:#f1d2a04d}.continue:hover i{width:24px}}@media (pointer:coarse){.swatches{gap:10px}.swatch{width:32px;height:32px}.pill{min-height:40px}.gift-toggle{min-height:36px}.swatch,.pill,.gift-toggle,.link-btn{position:relative}.swatch:after,.pill:after,.gift-toggle:after,.link-btn:after{content:"";position:absolute;inset:-6px}.link-btn:after{inset:-13px -8px}}@media (prefers-reduced-motion:reduce){.fx-grain,.envelope,.seal-glow,.route.landed .route-pulse,.board-row.hl.lit .lamp,.board-clock i,.pass.in:not(.tracking) .foil{animation:none}.envelope.broken .seal-half.l,.envelope.broken .seal-half.r{opacity:0;transition:opacity .4s;animation:none}#ch-reveal.s2 .model{animation:none}.lines .ln-i,.lines.out .ln-i{opacity:0;transition:opacity 1s var(--ease);transform:none}.lines.show:not(.out) .ln-i{opacity:1}.make{letter-spacing:.62em;padding-left:.62em}.model{opacity:0;transition:opacity 1.4s var(--ease);-webkit-mask:none;mask:none}#ch-reveal.s2 .model{opacity:1}.pass,.pass.out{transform:rotateZ(var(--rz,0deg))}}
