@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-ext-400-normal-XQK_CSAr.woff2) format("woff2"),url(/assets/cinzel-latin-ext-400-normal-DJ0Lq8y-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-400-normal-DnUIPmzd.woff2) format("woff2"),url(/assets/cinzel-latin-400-normal-C8jUSQqm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2) format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2) format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-vietnamese-400-normal-C3m3Wqkz.woff2) format("woff2"),url(/assets/crimson-pro-vietnamese-400-normal-CEHt5KbE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-latin-ext-400-normal-B3ID4PT2.woff2) format("woff2"),url(/assets/crimson-pro-latin-ext-400-normal-BWiDT69a.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-latin-400-normal-B4SlG4wx.woff2) format("woff2"),url(/assets/crimson-pro-latin-400-normal-BzhyrSeK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-vietnamese-400-italic-NXtqStND.woff2) format("woff2"),url(/assets/crimson-pro-vietnamese-400-italic-XRYdg6KH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-latin-ext-400-italic-C6Jf9c7d.woff2) format("woff2"),url(/assets/crimson-pro-latin-ext-400-italic-DuC2towc.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Pro;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-latin-400-italic-BJbyz_Tg.woff2) format("woff2"),url(/assets/crimson-pro-latin-400-italic-iL-nM4zC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-vietnamese-600-normal-BD5z241x.woff2) format("woff2"),url(/assets/crimson-pro-vietnamese-600-normal-WXpto_XS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-latin-ext-600-normal-DTIcmTiA.woff2) format("woff2"),url(/assets/crimson-pro-latin-ext-600-normal-ChXPf8Fx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-latin-600-normal-vJ8oEdKU.woff2) format("woff2"),url(/assets/crimson-pro-latin-600-normal-Ca4fy0Cf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-ext-400-normal-B-EsvyE4.woff2) format("woff2"),url(/assets/courier-prime-latin-ext-400-normal-CKOCNFvK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-400-normal-BbyBr73r.woff2) format("woff2"),url(/assets/courier-prime-latin-400-normal-BAlbUm6l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-ext-700-normal-ByMJlNdM.woff2) format("woff2"),url(/assets/courier-prime-latin-ext-700-normal-BIFoAzHx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-700-normal-D1YCjmaD.woff2) format("woff2"),url(/assets/courier-prime-latin-700-normal-CVvp4Sof.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-ext-400-normal-ChcxYnmu.woff2) format("woff2"),url(/assets/special-elite-latin-ext-400-normal-CaJZjSVf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-400-normal-YjDd9tmf.woff2) format("woff2"),url(/assets/special-elite-latin-400-normal-BtSRmyJ6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream: #f4ebdc;--ink: #1a1614;--stamp: #b5473c;--brass: #c9a227;--paper: #f8f2e6;--paper-shade: #e8dcc6;--paper-deep: #d8c8ab;--paper-edge: #bfa985;--ink-strong: #1a1614;--ink-body: #3d332c;--ink-soft: #6b5c4e;--ink-faint: #9c8b78;--font-display: "Cinzel", "Times New Roman", serif;--font-body: "Crimson Pro", Georgia, serif;--font-ticket: "Courier Prime", "Courier New", monospace;--font-stamp: "Special Elite", "Courier New", monospace;--step--1: clamp(.78rem, .75rem + .2vw, .88rem);--step-0: clamp(1rem, .95rem + .3vw, 1.12rem);--step-1: clamp(1.25rem, 1.15rem + .6vw, 1.6rem);--step-2: clamp(1.6rem, 1.4rem + 1.1vw, 2.4rem);--step-3: clamp(2.1rem, 1.7rem + 2vw, 3.6rem);--step-4: clamp(2.8rem, 2rem + 3.6vw, 5.5rem);--space-xs: .5rem;--space-sm: .875rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--ease-paper: cubic-bezier(.16, 1, .3, 1);--ease-thud: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .22s;--dur-mid: .52s;--dur-slow: 1.1s}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--cream);color:var(--ink-body);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-image:radial-gradient(ellipse 120% 80% at 50% 0%,rgba(255,252,245,.85),transparent 60%),radial-gradient(ellipse 100% 100% at 50% 120%,rgba(160,138,105,.22),transparent 55%);background-attachment:fixed}#root{min-height:100vh;min-height:100dvh}.placeholder{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:var(--space-xs);padding:var(--space-md);text-align:center}.placeholder__mark{font-family:var(--font-stamp);font-size:var(--step-2);color:var(--stamp);opacity:.5;margin:0 0 var(--space-sm);transform:rotate(-8deg)}.placeholder__line{font-family:var(--font-display);font-size:var(--step-3);font-weight:600;letter-spacing:.02em;color:var(--ink-strong);margin:0}.placeholder__sub{font-family:var(--font-ticket);font-size:var(--step--1);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.32;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}.stage-shell{position:relative;z-index:2;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-md);padding:clamp(1rem,4vw,2.5rem) clamp(.875rem,4vw,2rem);max-width:44rem;margin-inline:auto}.masthead{text-align:center;display:grid;gap:.35rem;justify-items:center}.masthead__rule{width:min(100%,22rem);height:4px;border-top:1px solid var(--ink-faint);border-bottom:3px double var(--ink-faint);opacity:.55}.masthead__title{font-family:var(--font-display);font-size:var(--step-1);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-strong);margin:0;text-indent:.3em;text-shadow:0 1px 0 rgba(255,255,255,.55)}.masthead__sub{font-family:var(--font-ticket);font-size:var(--step--1);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin:0}.doc{position:relative;isolation:isolate;align-self:center;width:100%;padding:clamp(1.5rem,6vw,2.75rem) clamp(1.15rem,5vw,2.5rem);background:linear-gradient(174deg,var(--paper) 0%,var(--paper-shade) 62%,var(--paper-deep) 100%);border:1px solid var(--paper-edge);border-radius:2px;box-shadow:0 1px #ffffffb3 inset,0 1px 2px #3c2c1a24,0 8px 18px -8px #3c2c1a47,0 26px 50px -26px #3c2c1a66}.doc--enter{animation:card-in var(--dur-mid) var(--ease-paper)}@keyframes card-in{0%{translate:0 26px;rotate:-.6deg;scale:.985}}.hint__body--enter{animation:hint-in var(--dur-mid) var(--ease-paper)}@keyframes hint-in{0%{translate:0 -8px;scale:.99}}.doc:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid var(--ink-faint);outline:1px solid var(--ink-faint);outline-offset:2px;opacity:.3;border-radius:1px;pointer-events:none}.doc__watermark{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}.guilloche{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;width:min(115%,30rem);aspect-ratio:1;opacity:.11;pointer-events:none}.guilloche--spin{animation:rosette 190s linear infinite}@keyframes rosette{to{rotate:360deg}}.doc__chapter{display:flex;align-items:center;gap:.7rem;font-family:var(--font-ticket);font-size:var(--step--1);letter-spacing:.22em;text-transform:uppercase;color:var(--stamp);margin:0 0 var(--space-md)}.doc__chapter:after{content:"";flex:1;height:1px;background:repeating-linear-gradient(to right,var(--ink-faint) 0 4px,transparent 4px 8px);opacity:.7}.doc__prompt{font-family:var(--font-body);font-size:var(--step-1);line-height:1.55;color:var(--ink-body);margin:0 0 var(--space-md);text-wrap:pretty}.doc__prompt em{font-style:italic;color:var(--ink-strong)}.field{display:grid;gap:var(--space-sm)}.field__row{display:flex;gap:.5rem;align-items:stretch}.field__input{flex:1;min-width:0;font-family:var(--font-ticket);font-size:var(--step-0);letter-spacing:.06em;color:var(--ink-strong);background:#fffdf7b8;border:none;border-bottom:2px solid var(--ink-soft);border-radius:0;padding:.7rem .5rem;transition:border-color var(--dur-fast) var(--ease-paper),background-color var(--dur-fast) var(--ease-paper)}.field__input::placeholder{color:var(--ink-faint);letter-spacing:.14em;text-transform:uppercase;font-size:.85em}.field__input:focus{outline:none;border-bottom-color:var(--stamp);background:#fffffcf2}.field__submit{flex:0 0 auto;font-family:var(--font-display);font-size:var(--step--1);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);background:var(--ink-strong);border:1px solid var(--ink-strong);border-radius:1px;padding:.7rem 1.15rem;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-paper),transform var(--dur-fast) var(--ease-thud)}.field__submit:hover:not(:disabled){background:var(--stamp);border-color:var(--stamp)}.field__submit:active:not(:disabled){transform:translateY(1px)}.field__submit:disabled{opacity:.4;cursor:not-allowed}.field__note{font-family:var(--font-ticket);font-size:var(--step--1);letter-spacing:.05em;min-height:1.4em;margin:0;color:var(--ink-soft)}.field__note--wrong{color:var(--stamp)}.shake{animation:shake .42s var(--ease-paper)}@keyframes shake{0%,to{translate:0 0}18%{translate:-6px 0}38%{translate:5px 0}58%{translate:-3px 0}78%{translate:2px 0}}.hint{margin-top:var(--space-sm)}.hint__toggle{font-family:var(--font-body);font-style:italic;font-size:var(--step--1);color:var(--ink-faint);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-paper)}.hint__toggle:hover{color:var(--stamp)}.hint__body{font-family:var(--font-body);font-style:italic;font-size:var(--step-0);line-height:1.5;color:var(--ink-soft);margin:var(--space-xs) 0 0;padding-left:.85rem;border-left:2px solid var(--brass)}.stamp{font-family:var(--font-stamp);color:var(--stamp);border:2.5px solid var(--stamp);border-radius:3px;padding:.3rem .6rem;font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;line-height:1.15;text-align:center;opacity:.82;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='120' height='60' fill='white'/%3E%3Crect width='120' height='60' filter='url(%23r)' opacity='0.42'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='120' height='60' fill='white'/%3E%3Crect width='120' height='60' filter='url(%23r)' opacity='0.42'/%3E%3C/svg%3E");-webkit-mask-size:130% 130%;mask-size:130% 130%;mask-mode:luminance}.stamps{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;min-height:2rem;max-width:30rem}.stamps .stamp{font-size:.68rem;padding:.25rem .45rem}.stamps .stamp small{font-size:.82em;opacity:.85}.stamps .stamp:nth-child(odd){rotate:-6deg}.stamps .stamp:nth-child(2n){rotate:5deg}.stamps .stamp:nth-child(3n){rotate:-2deg}.solved{text-align:center}.solved__frame{position:relative;width:min(100%,17rem);margin:0 auto;padding:.6rem;background:#fdfbf4;border:1px solid var(--paper-edge);box-shadow:0 2px 3px #3c2c1a29,0 12px 22px -10px #3c2c1a61;rotate:-1.2deg}.solved__img,.solved__slot{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;background:var(--paper-deep);filter:sepia(.16) saturate(.9) contrast(1.04)}.solved__slot{display:grid;place-items:center;font-family:var(--font-ticket);font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.solved__stamp{position:absolute;right:-.6rem;bottom:1.1rem;background:#fdfbf459}.solved__answer{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;letter-spacing:.12em;color:var(--ink-strong);margin:var(--space-md) 0 0}.board{display:flex;justify-content:center;gap:clamp(.2rem,1.6vw,.5rem);flex-wrap:nowrap}.board__slot{flex:0 1 auto;width:clamp(1.55rem,9.5vw,2.6rem);aspect-ratio:3 / 4;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:clamp(.95rem,5vw,1.5rem);color:var(--ink-strong);background:#fffdf780;border:1px solid var(--paper-edge);border-bottom-width:2px;border-radius:1px;box-shadow:0 1px #fff9 inset}.board__slot--empty{color:transparent;background:#c8b49621}.board__slot--filled{color:var(--ink-strong);background:linear-gradient(180deg,#fffefae6,#e9dbc3d9);border-color:var(--brass);box-shadow:0 1px #fffc inset,0 0 0 1px #c9a2274d,0 3px 8px -3px #785a1e66}.board__caption{font-family:var(--font-ticket);font-size:var(--step--1);letter-spacing:.2em;text-transform:uppercase;text-align:center;color:var(--ink-faint);margin:var(--space-xs) 0 0}.progress{display:flex;gap:.4rem;justify-content:center;align-items:center}.progress__pip{width:7px;height:7px;border-radius:50%;border:1px solid var(--ink-faint);background:transparent}.progress__pip--done{background:var(--stamp);border-color:var(--stamp)}.progress__pip--current{background:var(--brass);border-color:var(--brass);scale:1.4}.leech{position:fixed;bottom:clamp(.5rem,3vw,2rem);left:0;width:clamp(78px,17vw,132px);z-index:3;pointer-events:none;animation:leech-travel 54s linear -7s infinite}.leech__svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 4px 6px rgba(60,44,26,.25))}.leech__seg{animation:wriggle 1.35s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.leech__case{animation:wriggle 1.35s ease-in-out infinite;animation-delay:-.95s;transform-box:fill-box;transform-origin:center}@keyframes wriggle{0%,to{translate:0 -2.5px}50%{translate:0 2.5px}}@keyframes leech-travel{0%{translate:-14vw 0;scale:1 1}48%{translate:104vw 0;scale:1 1}50%{translate:104vw 0;scale:-1 1}98%{translate:-14vw 0;scale:-1 1}to{translate:-14vw 0;scale:1 1}}.leech__hop{animation:hop .7s var(--ease-thud)}@keyframes hop{0%{translate:0 0;rotate:0deg}30%{translate:0 -22px;rotate:-9deg}55%{translate:0 0;rotate:3deg}75%{translate:0 -7px;rotate:-2deg}to{translate:0 0;rotate:0deg}}.footer{display:grid;gap:var(--space-sm);justify-items:center;padding-bottom:clamp(6.5rem,22vw,9rem)}@media(prefers-reduced-motion:reduce){.leech{animation:none;left:clamp(.5rem,4vw,3rem)}.leech__seg,.leech__case,.leech__hop,.guilloche--spin,.shake{animation:none}}.reveal{position:relative;display:grid;gap:var(--space-md);justify-items:center;align-content:start}.reveal--settled,.reveal--settled .classified,.reveal--settled .pass,.reveal--settled .polaroid,.reveal--settled .pass__letter{opacity:1!important;transform:none!important}.reveal--settled .classified{transform:rotate(-9deg)!important}.reveal--settled .polaroid{transform:rotate(-4deg)!important}.reveal--settled .route path{stroke-dasharray:none!important;stroke-dashoffset:0!important}.reveal--settled .route rect{width:56px!important}.route{width:min(100%,24rem);height:auto;overflow:visible}.route__label{font-family:var(--font-ticket);font-size:11px;letter-spacing:.18em;fill:var(--ink-soft)}.classified{font-family:var(--font-stamp);font-size:clamp(1.6rem,8vw,2.6rem);letter-spacing:.1em;text-transform:uppercase;color:var(--stamp);border:4px solid var(--stamp);border-radius:4px;padding:.25rem 1rem .35rem;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='90'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='90' fill='white'/%3E%3Crect width='200' height='90' filter='url(%23r)' opacity='0.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='90'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='90' fill='white'/%3E%3Crect width='200' height='90' filter='url(%23r)' opacity='0.5'/%3E%3C/svg%3E");-webkit-mask-size:120% 120%;mask-size:120% 120%;mask-mode:luminance;opacity:.9}.pass{width:100%;display:grid;grid-template-columns:1fr;background:linear-gradient(172deg,var(--paper) 0%,var(--paper-shade) 70%,var(--paper-deep) 100%);border:1px solid var(--paper-edge);border-radius:3px;box-shadow:0 1px #ffffffb3 inset,0 2px 4px #3c2c1a29,0 18px 34px -14px #3c2c1a66;overflow:hidden}@media(min-width:32rem){.pass{grid-template-columns:1fr 7.5rem}}.pass__main{padding:clamp(1.1rem,4.5vw,1.9rem)}.pass__eyebrow{font-family:var(--font-ticket);font-size:var(--step--1);letter-spacing:.2em;text-transform:uppercase;color:var(--stamp);margin:0 0 var(--space-md);padding-bottom:.5rem;border-bottom:3px double var(--ink-faint)}.pass__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-md);margin:0 0 var(--space-md)}.pass__grid>div:first-child{grid-column:1 / -1}.pass__grid dt{font-family:var(--font-ticket);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.15rem}.pass__grid dd{font-family:var(--font-ticket);font-size:var(--step-0);font-weight:700;letter-spacing:.04em;color:var(--ink-strong);margin:0;overflow-wrap:anywhere}.pass__grid dd small{display:block;font-weight:400;font-size:.72em;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.pass__nick{font-family:var(--font-stamp);color:var(--stamp);font-weight:400;white-space:nowrap}.pass__redacted{letter-spacing:.02em;color:var(--ink-strong)}.pass__fine{list-style:none;margin:0;padding:var(--space-sm) 0 0;border-top:1px dashed var(--ink-faint);display:grid;gap:.3rem}.pass__fine li{display:flex;justify-content:space-between;gap:var(--space-sm);font-family:var(--font-ticket);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.pass__fine span{color:var(--ink-faint)}.pass__fine b{color:var(--ink-body);font-weight:700;text-align:right}.pass__stub{position:relative;display:grid;place-items:center;padding:var(--space-md) .5rem;background:#bea88438;border-top:1px dashed var(--ink-faint)}@media(min-width:32rem){.pass__stub{border-top:none;border-left:1px dashed var(--ink-faint)}}.pass__stub:before{content:"";position:absolute;inset:0 auto 0 -5px;width:10px;background-image:radial-gradient(circle at 50% 50%,var(--cream) 2.6px,transparent 2.9px);background-size:10px 12px;background-repeat:repeat-y}@media(max-width:31.99rem){.pass__stub:before{inset:-5px 0 auto 0;width:auto;height:10px;background-size:12px 10px;background-repeat:repeat-x}}.pass__stubtext{font-family:var(--font-stamp);font-size:var(--step-0);letter-spacing:.22em;text-transform:uppercase;color:var(--stamp)}@media(min-width:32rem){.pass__stubtext{writing-mode:vertical-rl;rotate:180deg}}.polaroid{margin:0;width:min(100%,15rem);padding:.7rem .7rem 0;background:#fdfbf4;border:1px solid var(--paper-edge);box-shadow:0 2px 3px #3c2c1a2e,0 14px 26px -12px #3c2c1a6b}.polaroid__img,.polaroid__slot{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--paper-deep);filter:sepia(.14) saturate(.92) contrast(1.03)}.polaroid__slot{display:grid;place-items:center;font-family:var(--font-ticket);font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.polaroid__caption{font-family:var(--font-stamp);font-size:var(--step-0);text-align:center;color:var(--ink-soft);padding:.55rem 0 .75rem}.pass__letter{width:100%;text-align:center;padding-top:var(--space-xs)}.pass__message{font-family:var(--font-stamp);font-size:var(--step-0);line-height:1.7;color:var(--ink-body);white-space:pre-wrap;margin:0 auto;max-width:30rem;min-height:6em;text-align:left}.pass__caret{display:inline-block;width:.55em;height:1.05em;translate:0 .18em;background:var(--stamp);animation:caret .9s steps(1) infinite}@keyframes caret{50%{opacity:0}}.pass__signoff{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;letter-spacing:.12em;color:var(--ink-strong);margin:var(--space-md) 0 0}
