:root{--brand-green: #014844;--brand-green-deep: #003a37;--brand-cream: #fae9c1;--brand-brass: #d4a85a;--bg: #f5e8ca;--surface: #fff6e3;--surface-2: #ead9b8;--chrome: #014844;--card: #014844;--text: #0d3531;--text-2: #5d6962;--accent-text: #9b641f;--on-green: #fae9c1;--line: rgba(13, 53, 49, .19);--line-strong: rgba(13, 53, 49, .34);--danger: #9d332d;--positive: #13734e;--shadow: 0 18px 42px rgba(45, 35, 20, .1);--pill-active-bg: #014844;--pill-active-fg: #fae9c1;--field-border: rgba(13, 53, 49, .48);--field-bg: #fffaf0;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--tap: 48px;--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Roboto, sans-serif;--font-display: ui-serif, "Noto Serif", Georgia, "Times New Roman", serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}:root[data-theme=dark]{--bg: #061f1d;--surface: #0c3430;--surface-2: #174943;--card: #0a403b;--text: #f9eed5;--text-2: #b8c5bc;--accent-text: #d4a85a;--line: rgba(250, 233, 193, .18);--line-strong: rgba(250, 233, 193, .34);--danger: #ed8b82;--positive: #78c99c;--shadow: 0 18px 46px rgba(0, 0, 0, .26);--pill-active-bg: #fae9c1;--pill-active-fg: #06302c;--field-border: rgba(250, 233, 193, .42);--field-bg: #0c3430}:root.is-bright{--bg: #fbf6ea;--surface: #ffffff;--surface-2: #eee5d3;--text: #0b2b27;--text-2: #56655f;--line: rgba(11, 43, 39, .18);--line-strong: rgba(11, 43, 39, .34)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%}html{background:var(--chrome)}body{margin:0;font-family:var(--font);background:#d8cdb7;color:var(--text);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}img,svg{display:block}.app{display:flex;flex-direction:column;width:100%;max-width:560px;height:100dvh;min-height:100%;margin:0 auto;overflow:hidden;background:var(--bg);box-shadow:0 0 50px #18252124}.brandbar{flex:none;min-height:calc(82px + var(--safe-top));padding:calc(10px + var(--safe-top)) 22px 10px;display:flex;align-items:center;background:var(--chrome);border-bottom:1px solid rgba(212,168,90,.64)}.brandbar img{width:112px;height:63px;object-fit:contain;object-position:left center}.app__content{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app__content::-webkit-scrollbar{display:none}.boot{min-height:100dvh;padding:var(--safe-top) 24px var(--safe-bottom);display:grid;place-content:center;justify-items:center;gap:18px;background:var(--chrome);color:#fae9c1b8}.boot__mark{width:156px;height:88px;object-fit:contain}.banner{flex:none;min-height:38px;padding:8px 16px;display:flex;gap:8px;align-items:center;justify-content:center;background:#8a5d20;color:#fff8e9;font-size:13px;font-weight:650}.screen{width:100%;padding:24px 20px 36px;animation:screen-in .18s ease-out}@keyframes screen-in{0%{opacity:0;transform:translateY(4px)}}.screen__intro{margin-bottom:22px}.screen__intro--center{max-width:360px;margin-right:auto;margin-left:auto;text-align:center}.screen__kicker,.login__kicker,.sectionhead p{margin:0 0 7px;color:var(--accent-text);font-size:11px;line-height:1.3;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.screen__title{margin:0;font-family:var(--font-display);font-size:clamp(30px,8.6vw,42px);line-height:1.06;font-weight:600;letter-spacing:-.025em;text-wrap:balance}.screen__caption{max-width:300px;margin:14px auto 0;color:var(--text-2);font-size:14px;line-height:1.5;text-align:center}.wallet{position:relative;display:grid;gap:12px;padding:22px;overflow:hidden;border:1px solid rgba(212,168,90,.76);border-radius:var(--radius-sm);background:var(--card);color:var(--on-green);box-shadow:var(--shadow)}.wallet:after{content:"P";position:absolute;top:16px;right:18px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(212,168,90,.82);border-radius:50%;color:var(--brand-brass);font-family:var(--font-display);font-size:18px;font-style:italic}.wallet__balance{padding-right:44px}.wallet__label{display:block;margin-bottom:9px;color:#fae9c1ba;font-size:13px}.wallet__sum{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-family:var(--font-display);font-size:clamp(47px,15vw,66px);line-height:.9;font-weight:500;letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums}.wallet__sum small{font-family:var(--font);font-size:13px;line-height:1;font-weight:650;letter-spacing:0;opacity:.9}.wallet__stale{justify-self:start;padding:4px 9px;border:1px solid rgba(250,233,193,.22);border-radius:999px;font-size:11px}.wallet__pending{display:flex;gap:8px;align-items:flex-start;color:#fae9c1c2;font-size:12.5px;line-height:1.45}.wallet__pending svg{flex:none;margin-top:1px}.wallet__rule{height:1px;margin-top:2px;background:#fae9c145}.wallet__levelrow{display:flex;gap:12px;align-items:center}.wallet__medallion{flex:none;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(212,168,90,.7);border-radius:50%;color:var(--brand-brass)}.wallet__level span{display:block;color:#fae9c1ad;font-size:12px}.wallet__level strong{display:block;margin-top:1px;font-family:var(--font-display);font-size:26px;line-height:1;font-weight:600}.progress{height:5px;overflow:hidden;border-radius:999px;background:#fae9c140}.progress i{display:block;height:100%;border-radius:inherit;background:var(--brand-brass);transition:width .3s ease}.wallet__next{color:#fae9c1c2;font-size:12px;line-height:1.4}.checkin,.notice{display:flex;align-items:center;gap:12px;min-height:58px;margin-top:14px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:transparent;font-size:13.5px;line-height:1.4}.checkin{margin-top:0;margin-bottom:14px;background:var(--surface)}.checkin--warn{border-color:var(--danger)}.checkin--warn>svg{color:var(--danger)}.checkin>svg,.notice__icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--text)}.checkin strong,.checkin span{display:block}.checkin span{margin-top:2px;color:var(--text-2);font-size:12px}.notice>span:nth-child(2){flex:1}.guestpass{width:100%;min-height:68px;margin-top:12px;padding:10px 14px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:inherit;text-align:left}.guestpass__icon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--chrome);color:var(--brand-cream)}.guestpass__copy{flex:1;min-width:0}.guestpass small{display:block;color:var(--text-2);font-size:11.5px}.guestpass b{display:block;margin-top:1px;font-family:var(--font-display);font-size:23px;line-height:1;letter-spacing:.16em;font-variant-numeric:tabular-nums}.teaser{margin-top:28px}.sectionhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.sectionhead p{margin:0}.sectionhead>span{color:var(--text-2);font-family:var(--font-display);font-size:13px;font-style:italic}.teaser__row{display:flex;gap:12px;margin-right:-20px;padding-right:20px;padding-bottom:4px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.teaser__row::-webkit-scrollbar{display:none}.teaser__card{flex:0 0 196px;scroll-snap-align:start;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.teaser__card img,.teaser__ph{width:100%;height:118px;display:block;object-fit:cover;background:var(--surface-2)}.teaser__card>div:last-child{padding:11px 12px 12px}.teaser__card strong{display:block;min-height:34px;font-family:var(--font-display);font-size:17px;line-height:1.05;font-weight:600}.teaser__card span{display:block;margin-top:7px;color:var(--accent-text);font-size:11.5px;font-weight:700}.screen--code{display:grid;justify-items:center;min-height:100%;text-align:center}.screen--code .screen__title{font-size:clamp(27px,7.5vw,38px)}.guestnum{margin:0 0 18px}.guestnum span{display:block;margin-bottom:5px;color:var(--text-2);font-size:12px}.guestnum strong{display:block;font-family:var(--font-display);font-size:clamp(52px,17vw,72px);line-height:.95;font-weight:500;letter-spacing:.11em;font-variant-numeric:lining-nums tabular-nums}.codepanel{width:100%;max-width:382px;padding:17px 17px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 14px 36px #0b2b271a}.qrcard{width:100%;min-height:272px;display:grid;place-items:center;background:#fff}.qrcard img,.qrcard__skeleton{width:min(68vw,278px);height:min(68vw,278px)}.qrcard img{image-rendering:pixelated}.qrcard__skeleton{border-radius:6px;background:linear-gradient(100deg,#e9e9e9 30%,#f6f6f6,#e9e9e9 70%);background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.qrcard__fallback{color:#0b2b27;font-family:var(--font-display);font-size:46px;letter-spacing:.12em;font-variant-numeric:tabular-nums}.codepanel .screen__caption{margin-top:9px;color:#56655f}.summary{min-height:114px;margin-bottom:18px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface)}.summary>div{min-width:0}.summary span{display:block;color:var(--text-2);font-size:12px}.summary strong{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:baseline;margin-top:4px;font-family:var(--font-display);font-size:clamp(35px,11vw,50px);line-height:.95;font-weight:500;font-variant-numeric:lining-nums tabular-nums}.summary small{font-family:var(--font);font-size:11px;font-weight:600;color:var(--text-2)}.summary>i{flex:none;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--brand-brass);border-radius:50%;color:var(--accent-text);font-family:var(--font-display);font-size:21px}.ledger{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.ledger li{min-height:78px;padding:12px 14px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;border-bottom:1px solid var(--line)}.ledger li:last-child{border-bottom:0}.ledger__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--text)}.ledger__copy{min-width:0}.ledger time{display:block;margin-bottom:2px;color:var(--text-2);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.ledger strong{display:block;overflow:hidden;font-family:var(--font-display);font-size:16px;line-height:1.15;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ledger small{display:block;margin-top:3px;color:var(--text-2);font-size:11px}.ledger b{font-size:14px;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.ledger b.is-positive{color:var(--positive)}.empty{margin:0;padding:48px 24px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-2);font-size:14px;line-height:1.55;text-align:center}.profile__hero{margin:-4px 0 20px;display:grid;justify-items:center;gap:4px;text-align:center}.profile__avatar{width:76px;height:76px;margin-bottom:6px;display:grid;place-items:center;border:1px solid var(--brand-brass);border-radius:50%;background:var(--card);color:var(--brand-brass);font-family:var(--font-display);font-size:35px;line-height:1}.profile__hero strong{font-family:var(--font-display);font-size:24px;line-height:1.1}.profile__hero span,.profile__hero em{color:var(--text-2);font-size:12.5px;font-style:normal}.profile__hero em{margin-top:2px;color:var(--accent-text);font-weight:650}.rows{margin-bottom:14px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.rows__item{min-height:66px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);color:inherit;font-size:13.5px;text-decoration:none}.rows__item:last-child{border-bottom:0}.rows__label{min-width:0;display:flex;align-items:center;gap:9px}.rows__label>i{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--text)}.rows__item--link>svg{flex:none;color:var(--text-2)}.segmented{flex:none;display:flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:999px;background:transparent}.segmented button{min-width:44px;min-height:44px;padding:0 11px;border-radius:999px;color:var(--text-2);font-size:11.5px}.segmented button.is-active{background:var(--pill-active-bg);color:var(--pill-active-fg);font-weight:700}.switch{flex:none;width:58px;height:44px;padding:7px;display:flex;align-items:center;border-radius:999px;background:var(--surface-2);transition:background .18s ease}.switch i{width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000003d;transition:transform .18s ease}.switch.is-on{background:var(--positive)}.switch.is-on i{transform:translate(20px)}.profile__actions{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.profile__actions .btn{margin:0;border:0;border-radius:0}.profile__actions .btn+.btn{border-top:1px solid var(--line)}.btn{width:100%;min-height:52px;margin-top:10px;padding:0 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;transition:opacity .15s ease,transform 80ms ease}.btn:active,.guestpass:active,.tabs__item:active{transform:scale(.985)}.btn:disabled{opacity:.46}.btn--primary{border:1px solid var(--brand-brass);background:var(--card);color:var(--on-green)}.btn--ghost{border:1px solid var(--line-strong);color:var(--text)}.btn--danger{border:1px solid color-mix(in srgb,var(--danger) 70%,transparent);color:var(--danger)}.field{display:grid;gap:7px}.field>span{color:var(--text-2);font-size:12px;font-weight:600}.field__row{min-height:58px;padding:0 16px;display:flex;align-items:center;gap:10px;border:1.5px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field-bg)}.field__row b{font-weight:650;color:var(--text-2)}.field__row input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:18px;letter-spacing:.04em}.field__code{width:100%;min-height:70px;border:1.5px solid var(--field-border);border-radius:var(--radius-sm);outline:0;background:var(--field-bg);font-size:30px;text-align:center;letter-spacing:.5em;text-indent:.5em;font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none}.field__row:focus-within,.field__code:focus{border-color:var(--brand-brass);box-shadow:0 0 0 3px #d4a85a2e}.app--auth{height:100dvh;overflow-y:auto;background:var(--bg)}.login{position:relative;z-index:0;min-height:100dvh;padding:calc(22px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));display:grid;align-content:center;gap:12px;overflow:hidden}.login:before{content:"";position:absolute;z-index:-1;top:0;right:0;left:0;height:calc(180px + var(--safe-top));background:var(--chrome);border-bottom:1px solid var(--brand-brass)}.login__logo{position:absolute;top:calc(18px + var(--safe-top));left:22px;width:108px;height:61px;object-fit:contain}.login__langs{position:absolute;top:calc(28px + var(--safe-top));right:18px;display:flex;gap:2px;padding:2px;border:1px solid rgba(250,233,193,.28);border-radius:999px;background:#002a2752}.login__langs button{min-width:44px;min-height:44px;border-radius:999px;color:#fae9c1b8;font-size:11px;font-weight:650}.login__langs button.is-active{background:var(--brand-cream);color:var(--brand-green-deep)}.login__emblem{width:64px;height:64px;margin-top:116px;display:grid;place-items:center;justify-self:center;border:1px solid var(--brand-brass);border-radius:50%;background:var(--card);color:var(--brand-brass);box-shadow:0 0 0 8px var(--bg)}.login__kicker{margin-top:10px;margin-bottom:-5px;text-align:center}.login h1{margin:0;font-family:var(--font-display);font-size:34px;line-height:1.05;font-weight:600;letter-spacing:-.02em;text-align:center}.login__lead{max-width:360px;margin:0 auto 5px;color:var(--text-2);font-size:14px;line-height:1.5;text-align:center}.login__timer,.login__error,.login__consent,.login__mock{margin:3px 0 0;font-size:12px;text-align:center}.login__timer,.login__consent{color:var(--text-2)}.login__consent{margin-top:9px;line-height:1.45}.login__error{color:var(--danger)}.login__mock{color:var(--accent-text)}.tabs{position:relative;z-index:5;flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:3px 4px var(--safe-bottom);border-top:1px solid rgba(212,168,90,.7);background:var(--chrome)}.tabs__item{min-width:0;min-height:62px;padding:5px 2px 4px;display:grid;place-items:center;align-content:center;gap:2px;color:#fae9c1ad;font-size:10.5px;line-height:1.1;transition:color .15s ease,transform 80ms ease}.tabs__glyph{width:32px;height:30px;display:grid;place-items:center;border-bottom:2px solid transparent}.tabs__item.is-active{color:var(--brand-brass)}.tabs__item.is-active .tabs__glyph{border-bottom-color:currentColor}.sheet{position:fixed;z-index:20;inset:0;padding:16px 16px calc(16px + var(--safe-bottom));display:flex;align-items:flex-end;justify-content:center;background:#021816a3;backdrop-filter:blur(3px)}.sheet__card{width:100%;max-width:520px;padding:24px 20px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg);box-shadow:0 26px 70px #00000047}.sheet__card h2{margin:0 0 8px;font-family:var(--font-display);font-size:26px;line-height:1.1}.sheet__card p{margin:0 0 16px;color:var(--text-2);font-size:14px;line-height:1.5}:focus-visible{outline:2px solid var(--brand-brass);outline-offset:2px;border-radius:5px}@media(hover:hover)and (pointer:fine){.guestpass:hover,.rows__item--link:hover,.btn--ghost:hover{background:color-mix(in srgb,var(--surface) 72%,var(--surface-2))}}@media(max-width:370px){.screen{padding-right:16px;padding-left:16px}.wallet{padding:18px}.wallet:after{right:14px}.teaser__row{margin-right:-16px;padding-right:16px}.rows__item{padding-right:10px;padding-left:10px}.rows__label{gap:6px;font-size:12px}.rows__label>i{width:30px;height:30px}.segmented button{min-width:42px;padding:0 8px}.ledger li{padding-right:10px;padding-left:10px;grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.ledger__icon{width:36px;height:36px}}@media(max-height:720px){.brandbar{min-height:calc(70px + var(--safe-top));padding-top:calc(6px + var(--safe-top));padding-bottom:6px}.brandbar img{width:96px;height:54px}.screen{padding-top:19px}.login{align-content:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
