/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.hidden{display:none}.inline-flex{display:inline-flex}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-11{height:calc(var(--spacing) * 11)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--input)}.bg-background{background-color:var(--background)}.bg-primary{background-color:var(--primary)}.px-6{padding-inline:calc(var(--spacing) * 6)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-primary-foreground{color:var(--primary-foreground)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-4:focus-visible{--tw-ring-offset-width:4px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}:root{color:#1b2c23;font-synthesis:none;-webkit-font-smoothing:antialiased;--paper:#f2f0e5;--forest:#2c553f;--mint:#addfba;--background:#f2f0e5;--primary:#2c553f;--primary-foreground:#f2f0e5;--input:#b4c3aa;--accent:#e6ecde;--ring:#6bd8b6;background:#f2f0e5;font-family:Helvetica Neue,PingFang SC,sans-serif}*{box-sizing:border-box}body{min-width:280px;margin:0}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid #68caa5}.locator{min-height:100svh;padding:max(8vw,env(safe-area-inset-top)) max(8vw,env(safe-area-inset-right)) max(10vw,env(safe-area-inset-bottom)) max(8vw,env(safe-area-inset-left));background:var(--paper);transition:filter .25s;overflow:clip}.locator[inert]{filter:blur(9px);-webkit-user-select:none;user-select:none}.masthead{justify-content:space-between;align-items:center;gap:16px;display:flex}.wordmark{mix-blend-mode:multiply;width:35vw;height:auto;display:block}.edition{background:var(--mint);letter-spacing:.03em;justify-content:center;align-items:center;gap:1.8vw;width:15vw;height:7vw;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(11px,2.7vw,24px);display:flex}.edition i{background:var(--forest);border-radius:50%;width:1.1vw;height:1.1vw}.ticket{isolation:isolate;filter:drop-shadow(0 16px 22px #203e280c);margin:10vw 0 0;position:relative}.ticket:before{content:"";z-index:-1;background:#d9e5ce;border-radius:4vw;position:absolute;top:3.5vw;right:-.6vw;bottom:-.4vw;left:-.6vw;transform:rotate(2deg)}.readout{aspect-ratio:1.19;color:var(--paper);background:var(--forest);border-radius:4vw 4vw 0 0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.nfc-mark{width:4.8vw;height:4.8vw;color:var(--mint);position:absolute;top:5.3vw;right:5.8vw;transform:rotate(-12deg)}.distance{justify-content:center;align-items:baseline;gap:2vw;width:100%;margin-top:10vw;padding:0 12px;display:flex}.digits{font-variant-numeric:tabular-nums;letter-spacing:-.075em;font-family:Helvetica Neue,Helvetica,sans-serif;font-size:28vw;font-weight:400;line-height:1}.unit{color:var(--mint);font-size:4.7vw;font-weight:400}.status-line{letter-spacing:.09em;color:var(--mint);align-items:center;gap:2.2vw;margin-top:5.8vw;font-size:clamp(11px,2.6vw,22px);display:flex}.signal{background:#6cdbb8;border-radius:50%;width:1.1vw;height:1.1vw}[data-state=locating] .signal{animation:1.6s ease-in-out infinite breathe}[data-state=error] .signal{background:#e4bc83}[data-state=error] .status-line{color:#e4bc83}.status-action{color:inherit;background:0 0;border:0;place-items:center;width:44px;height:44px;margin-left:-4px;padding:0;display:grid}.near-indicator{text-align:center;color:#73ddbb;letter-spacing:.09em;height:16px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;position:absolute;bottom:3.4vw;left:0;right:0}.near-indicator.is-near{animation:.3s ease-out near-in}.ticket-lower{display:grid;position:relative}.collection,.reward-panel{grid-area:1/1}.collection.is-retired{visibility:hidden;pointer-events:none}.collection{background:#e6ecde;border-radius:0 0 4vw 4vw;padding:4.2vw 5.8vw 4.5vw;position:relative}.perforation{border-top:1px dashed #99b69a;position:absolute;top:0;left:0;right:0}.perforation:before,.perforation:after{content:"";background:var(--paper);border-radius:50%;width:4vw;height:4vw;position:absolute;top:-2vw}.perforation:before{left:-2vw}.perforation:after{right:-2vw}.collection-top{justify-content:space-between;margin-bottom:3vw;display:flex}.badge-count{letter-spacing:.02em;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(12px,2.9vw,26px)}.badge-count span{color:#68796a;margin-left:1.8vw}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw 5.2vw;display:grid}.badge{aspect-ratio:1.5;background:0 0;border:1px dashed #afbea3;border-radius:1.4vw;padding:0;position:relative;overflow:hidden}.badge.is-collected{border:1px solid #0000}.badge-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.ticket-footer{justify-content:space-between;align-items:center;margin-top:4.8vw;display:flex;position:relative}.countdown{font-variant-numeric:tabular-nums;align-items:center;gap:1.7vw;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(13px,2.9vw,26px);display:flex}.countdown svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:clamp(13px,2.6vw,23px);height:auto}.reward-status,.connection-retry{width:44px;height:44px;color:var(--forest);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.reward-status{color:#71816b;margin:-9px -9px -9px 0}.connection-retry:hover{background:#d1dfc8}.reward-status svg{stroke-width:1.5px;width:clamp(15px,2.8vw,24px);height:auto}.connection-retry{color:#9b7147;position:absolute;left:50%;transform:translate(-50%)}.login-backdrop{z-index:10;background:#e0e5d529;place-items:center;padding:28px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.login-card{background:#f2f0e5f5;border:1px solid #ffffffbd;border-radius:999px;width:min(100%,410px);padding:10px;animation:.3s ease-out both arrive;box-shadow:0 18px 60px #233e3924,0 2px 8px #233e3908}.login-input-wrap{align-items:center;gap:12px;min-height:48px;padding-left:16px;display:flex}.login-input-wrap input{width:0;min-width:0;color:var(--forest);background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:8px 0;font-size:16px}.login-input-wrap input::placeholder{color:#71846e;opacity:1}.login-card:focus-within{box-shadow:0 18px 60px #233e3924,0 0 0 2px #addfba80}.login-input-wrap button{background:var(--forest);width:48px;height:48px;color:var(--paper);border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.login-input-wrap button svg{stroke-width:1.6px;width:22px;height:22px}.login-input-wrap button:disabled{opacity:.5}.login-input-wrap button:hover{background:#3b6a50}.has-error{border-color:#b8805e}.has-error .login-input-wrap button{background:#976b4c}.spin{animation:1.3s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{opacity:.3}}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:600px){:root{background:var(--paper)}body{padding:0}.locator{border-radius:0;width:min(100%,680px);min-height:100svh;margin-inline:auto;padding:32px 48px 48px}.wordmark{width:190px}.edition{gap:10px;width:96px;height:40px;font-size:17px}.edition i{width:7px;height:7px}.ticket{width:100%;margin:36px 0 0;display:block}.ticket:before{display:none}.readout{aspect-ratio:auto;border-radius:24px 24px 0 0;height:290px}.nfc-mark{width:34px;height:34px;top:32px;right:32px}.distance{gap:16px;margin-top:0}.digits{max-width:100%;font-size:148px}.unit{font-size:36px}.status-line{gap:10px;margin-top:22px;font-size:15px}.signal{width:7px;height:7px}.near-indicator{font-size:12px;bottom:18px}.collection{border-radius:0 0 24px 24px;padding:24px 32px}.perforation{border-top:1px dashed #99b69a;top:0;bottom:auto;right:0}.perforation:before,.perforation:after{width:32px;height:32px}.perforation:before{top:-16px;left:-16px}.perforation:after{top:-16px;bottom:auto;right:-16px}.collection-top{margin-bottom:16px}.badge-count{font-size:17px}.badge-count span{margin-left:12px}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.badge{aspect-ratio:1.5;border-radius:10px}.ticket-footer{margin-top:20px}.countdown{gap:10px;font-size:17px}}@media(max-width:360px){.login-backdrop{padding:20px}.login-card{padding:8px}.login-input-wrap{gap:8px;padding-left:12px}.login-input-wrap button{width:44px;height:44px}}.badge-slot{min-width:0;padding-bottom:18px;position:relative}.badge-acquired{color:#53664f;white-space:nowrap;font-variant-numeric:tabular-nums;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(11px,2.2vw,13px);line-height:14px;display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.is-ready .perforation{border-color:#0000}.cut-seam{z-index:4;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:ew-resize;height:48px;position:absolute;top:-24px;left:0;right:0}.cut-guide{border-top:2px dashed #111b16;position:absolute;top:50%;left:0;right:0}.cut-open{background:var(--paper);height:8px;position:absolute;top:calc(50% - 3px)}.cut-scissors{color:#111b16;background:var(--paper);border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:50%;box-shadow:0 2px 8px #15251a10}.cut-scissors svg{stroke-width:1.5px;width:24px;height:24px}.cut-seam:not(.is-dragging)[aria-valuenow="0"] .cut-scissors svg{animation:2.4s ease-in-out infinite scissors-invite}.cut-seam[aria-disabled=true]{cursor:wait}.phase-claiming .cut-scissors svg{animation:1s ease-in-out infinite breathe}.phase-falling .collection{z-index:5;transform-origin:12% 0;pointer-events:none;animation:1.2s cubic-bezier(.3,.04,.6,1) forwards ticket-fall}.reward-panel{background:#e6ecde;border-radius:0 0 4vw 4vw;place-items:center;min-height:69vw;padding:24px 5.8vw;display:grid;position:relative}.reward-panel:before{content:"";background:repeating-linear-gradient(120deg,var(--paper) 0 3px,transparent 3px 7px);height:3px;position:absolute;top:0;left:0;right:0}.flag-reveal{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:700px;display:flex}.is-unveiling .flag-reveal{animation:.7s ease-out .25s both ink-reveal}.flag-seal{width:42px;height:42px;color:var(--forest);border:1px dashed #8ab59b;border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.flag-seal svg{width:24px;height:24px}.flag-value{width:100%;color:var(--forest);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;outline:none;margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(14px,3.5vw,22px);line-height:1.8}.flag-copy{width:44px;height:44px;color:var(--forest);background:#d9e4d1;border:0;border-radius:50%;place-items:center;margin-top:20px;display:grid}@media(min-width:600px){.reward-panel{border-radius:0 0 24px 24px;min-height:0;padding:24px 32px}}.flag-copy svg{stroke-width:1.5px;width:19px;height:19px}@keyframes scissors-invite{0%,65%,to{transform:translate(0)rotate(-5deg)}25%,45%{transform:translate(5px)rotate(5deg)}}@keyframes ticket-fall{0%{opacity:1;transform:translateY(0)rotate(0)}18%{transform:translateY(12px)rotate(-2deg)}45%{opacity:1;transform:translate(8px,65px)rotate(6deg)}to{opacity:0;transform:translate(35px,95svh)rotate(19deg)}}@keyframes ink-reveal{0%{opacity:0}to{opacity:1}}@keyframes near-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
