@font-face{font-family:Rye;src:url('/freak/rye.ttf') format('truetype');font-display:swap}*{box-sizing:border-box} :root{--ink:#231F20;--dark:#101c1c;--yellow:#FFDE00;--aqua:#8ACCC7;--paper:#f1e8d4;--muted:#abb7b2}html{background:var(--ink);color:var(--paper);font-family:Arial,sans-serif;scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% 10%,#1e3433,transparent 60%),#101818;min-height:100svh}body:before{content:'';pointer-events:none;position:fixed;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E");z-index:8}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}button{border:0;background:none} .app{max-width:520px;margin:auto;min-height:100svh;padding:0 22px 112px;border-inline:1px solid #8accc721}header{display:flex;justify-content:space-between;align-items:center;height:86px;position:relative;z-index:9}.brand{font:700 22px Georgia,serif;text-decoration:none}.brand span{display:block;font:8px/1.8 Arial,sans-serif;letter-spacing:1.5px;color:var(--aqua)}.menu-button{width:44px;height:44px;display:grid;align-content:center;gap:7px}.menu-button span{display:block;height:1.5px;background:var(--paper);width:26px;margin-left:auto}#menu-panel{position:absolute;z-index:12;top:73px;left:max(22px,calc((100vw - 476px)/2));right:max(22px,calc((100vw - 476px)/2));background:#243635;border:1px solid var(--aqua);padding:16px;box-shadow:0 20px 30px #0008}#menu-panel a,#menu-panel button{display:block;text-decoration:none;padding:14px;text-align:left;width:100%;font-size:15px}h1,h2,h3,p{margin:0}h1{font:700 clamp(40px,10vw,56px)/.97 Georgia,serif;letter-spacing:-2px}h2{font:700 34px/1.05 Georgia,serif;letter-spacing:-1px}h3{font:700 26px/1.05 Georgia,serif}.wordmark{font:clamp(68px,23vw,116px)/1.2 Rye,Georgia,serif;letter-spacing:-6px;color:var(--yellow);text-align:center;position:relative;z-index:2;white-space:nowrap}.wordmark .r{position:relative}.wordmark .ghost{position:absolute;width:.21em;height:.26em;left:40%;top:24%;fill:var(--dark);stroke:none}.wordmark .ghost circle{fill:var(--yellow)}.hero-art{aspect-ratio:1.28;position:relative;margin:-9px -22px -26px;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:contrast(1.06)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#101818)}.hero-copy{position:relative;text-align:center}.hero-copy h1{font-size:clamp(45px,12vw,62px);max-width:430px;margin:0 auto 18px}.date{font:19px/1.4 Georgia,serif}.divider{display:flex;gap:14px;align-items:center;justify-content:center;margin:15px 0 19px;font:17px Georgia,serif}.divider:before,.divider:after{content:'';height:1px;background:#96a8a566;width:55px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;width:100%;border-radius:35px;padding:15px 22px;text-decoration:none;font:700 18px/1.2 Georgia,serif}.primary{background:var(--yellow);color:var(--ink);box-shadow:0 4px 22px #ffde0010}.primary:hover{background:#ffe943;transform:translateY(-1px)}.secondary{border:1px solid var(--aqua);margin-top:12px;font-weight:400}.drink-line{font:16px/1.5 Georgia,serif;margin-top:20px}.mode{font-size:12px;line-height:1.6;color:var(--aqua);text-align:center;margin:20px 0}.mode b{display:inline-block;border:1px solid #8accc78a;border-radius:22px;padding:5px 13px;font-weight:500}.mode p{margin-top:7px;color:var(--muted)}.intro{border-top:1px solid #8accc73b;padding:30px 0;margin-top:25px}.intro p,.prose p{font-size:15px;line-height:1.7;color:#c5cfca;margin-top:14px}.intro a{color:var(--aqua)}.stats{display:flex;justify-content:space-around;border-block:1px solid #8accc744;padding:22px 0;margin:25px 0}.stats strong{font:32px Georgia,serif;color:var(--yellow)}.stats span{display:block;font-size:11px;letter-spacing:1px;margin-top:6px;color:var(--muted)}.page-title{text-align:center;margin:20px 0 24px}.page-title p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.6}.counter{text-align:center;font:32px Georgia,serif;margin:20px 0 22px}.counter small{display:block;font:10px/2 Arial,sans-serif;letter-spacing:2px;color:var(--muted)}.ticket{position:relative;background:var(--paper);color:var(--ink);margin:18px 0;padding:17px 16px;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);border:1px solid var(--aqua)}.ticket-row{display:grid;grid-template-columns:1fr 42%;padding:0;min-height:164px}.ticket-info{padding:19px 15px}.ticket-number{font-size:10px;letter-spacing:2px;display:block;margin-bottom:10px}.ticket-row h3{font-size:25px;letter-spacing:-.7px}.ticket-row p{font-size:10px;line-height:1.45;letter-spacing:.6px;margin-top:13px}.ticket img{width:100%;height:100%;object-fit:cover;min-height:164px}.ticket.rare{background:var(--yellow)}.rare-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-top:9px}.ticket.locked{background:#485250;color:#b0b9b4;min-height:110px;display:flex;align-items:center;justify-content:space-between;padding:20px;opacity:.7}.ticket.locked p{font-size:11px;line-height:1.5;margin-top:6px}.ticket.locked span{font-size:30px}.big-ticket{padding:15px;text-align:center;border:8px solid var(--aqua);margin:30px 0}.big-ticket h2{font-size:34px}.big-ticket p{font-size:11px;letter-spacing:2px;line-height:1.6;margin:12px 0 15px;text-transform:uppercase}.big-ticket img{display:block;aspect-ratio:1.15;height:auto;object-fit:cover}.ticket-status{display:inline-block;margin-top:17px;padding:7px 14px;border:1px solid;border-radius:20px;font:16px Georgia,serif}.ticket-status:before{content:'●';color:#287e76;margin-right:8px}.state-note{font-size:14px;line-height:1.65;color:var(--muted);text-align:center;margin:20px 0}.form{padding-top:4px}.form label{display:block;font-size:13px;margin:18px 0 9px;color:var(--aqua)}input,textarea{width:100%;background:#192725;border:1px solid #7caaa47a;border-radius:8px;padding:16px;color:var(--paper);font-size:16px}input::placeholder,textarea::placeholder{color:#97a5a1}textarea{min-height:110px;resize:vertical}.form .primary{margin-top:22px}.form-help{font-size:12px;line-height:1.7;margin-top:15px;color:var(--muted)}.inline-link{color:var(--aqua);text-decoration:underline;padding:10px 0;font-size:14px}.error{color:#ffbbac;font-size:14px;line-height:1.6;margin:16px 0}.recovery{background:var(--paper);color:var(--ink);padding:25px 18px;margin:20px 0}.recovery code{display:block;overflow-wrap:anywhere;font:18px/1.6 monospace;margin:18px 0;user-select:all}.recovery p{font-size:14px;line-height:1.6}.recovery .secondary{border-color:var(--ink)}.ranking{width:100%;border-collapse:collapse;margin:25px 0}.ranking th{text-align:left;color:var(--aqua);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:1px;padding:12px 6px;border-bottom:1px solid #8accc755}.ranking td{padding:18px 6px;border-bottom:1px solid #8accc733;font-size:14px}.ranking td:first-child{font:24px Georgia,serif;color:var(--yellow)}.ranking tr.mine{background:#8accc716}.ranking th:nth-last-child(-n+2),.ranking td:nth-last-child(-n+2){text-align:right}.empty{text-align:center;padding:34px 12px}.empty p{color:var(--muted);font-size:14px;line-height:1.7;margin:16px 0 24px}.rules{counter-reset:rule}.rule{display:grid;grid-template-columns:35px 1fr;gap:14px;margin:30px 0}.rule:before{counter-increment:rule;content:'0' counter(rule);color:var(--yellow);font:22px Georgia,serif}.rule p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:8px}.rule h3{font-size:24px}.prose{padding-top:18px}.prose h2{margin-top:25px}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #8accc744;background:#111b1bf5;backdrop-filter:blur(16px);z-index:10;padding:14px 10px max(16px,env(safe-area-inset-bottom))}nav button{display:grid;justify-items:center;gap:8px;font-size:11px;min-height:46px;color:#ced6d1}nav button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}nav button[aria-current=page]{color:var(--yellow)}#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:100px;z-index:20;background:var(--paper);color:var(--ink);padding:12px 18px;max-width:90%;border-radius:8px;box-shadow:0 5px 30px #0008;display:none}.skip{position:fixed;top:-100px;left:15px;z-index:30;background:var(--yellow);color:var(--ink);padding:12px}.skip:focus{top:12px}.scan-window{border:1px solid var(--aqua);padding:6px;border-radius:12px;margin:20px 0;overflow:hidden}.scan-window video{width:100%;display:block;aspect-ratio:1;object-fit:cover;background:#000}.small{font-size:12px;color:var(--muted);line-height:1.7}.loading{text-align:center;padding:70px 0;color:var(--aqua)}.bottom-logo{font-size:11px;letter-spacing:2px;text-align:center;color:var(--aqua);padding:36px 0 10px}.campaign-actions{display:flex;justify-content:center}.campaign-actions button{font-size:12px;text-decoration:underline;color:var(--aqua)}@media(min-width:700px){.app{padding-inline:34px;max-width:520px;background:#101818a8}header{height:98px}.hero-art{margin-inline:-34px}.hero-copy h1{font-size:58px}.wordmark{font-size:114px}body{background:radial-gradient(ellipse at 50% 10%,#274340,transparent 65%),#101818;background-attachment:fixed}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Collectible portraits use a 1-bit sprite treatment, independent of the site palette. */
.hero-art{background:#fff;aspect-ratio:1.55;margin-top:0;margin-bottom:0;border-block:1px solid #8accc766}.hero-art img{object-fit:contain;object-position:center;image-rendering:pixelated;filter:none}.hero-art:after{display:none}.hero-copy{padding-top:24px}.ticket img{image-rendering:pixelated;background:white;object-fit:contain}.hero-copy h1{font-size:clamp(43px,11.5vw,60px)}

.campaign-chip{font:10px/1 Arial,sans-serif;letter-spacing:1px;color:var(--aqua);border:1px solid #8accc780;padding:7px 9px;border-radius:20px;margin-left:auto;margin-right:13px;white-space:nowrap}

.collection-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:16px -8px}.collection-preview img{width:100%;height:180px;object-fit:contain;border-radius:8px}.hero-copy{padding-top:12px}.hero-copy h1{font-size:44px}.big-ticket img{aspect-ratio:2/3;max-height:420px;object-fit:contain}.big-ticket{border:0;padding:14px}.big-ticket img,.ticket img{background:transparent}details{margin:24px 0}summary{cursor:pointer;color:var(--aqua);padding:12px 0}details p{margin:10px 0}[hidden]{display:none!important}
.album{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 24px}.album-card{border:1px dashed #777;padding:12px;border-radius:12px;text-align:center}.album-card.found{border:2px solid #ffde00}.album-card img{width:100%;height:170px;object-fit:contain}.album-card:not(.found) img{opacity:.45}.album-card h2{font:700 16px system-ui;margin:8px 0}.album-card p{font-size:13px;margin:4px 0}.album-count{text-align:center;font-size:20px;font-weight:700}.community-title{font-size:24px;margin-top:32px}#scan-video{width:100%;max-height:380px;object-fit:cover;border-radius:12px}#scanner{margin:16px 0}#share-link{overflow-wrap:anywhere;text-align:center}

.clue-card,.visit-card{border:1px solid #8accc755;border-radius:18px;padding:22px 18px;margin:24px 0;background:#8accc70a}.clue-card h2,.visit-card h2{font-size:28px;letter-spacing:-.5px}.clue-card p,.visit-card p{font-size:15px;line-height:1.6;margin:14px 0 20px;overflow-wrap:anywhere}.recovery code{font-size:36px;letter-spacing:8px;text-align:center}.recovery h2{font-size:25px;overflow-wrap:anywhere}
.location-choice{display:flex;align-items:center;gap:.65rem;font-size:.9rem;margin:1rem 0 .3rem;min-height:44px;cursor:pointer}.location-choice input{width:22px;height:22px;flex:none;accent-color:var(--yellow,#ffcf00)}
