:root{--color-bg-page:#efede9;--color-bg-surface:#fbfaf8;--color-bg-muted:#e7e3dd;--color-bg-inverse:#23211e;--color-text-primary:#23211e;--color-text-secondary:#76716a;--color-text-inverse:#fbfaf8;--color-border-default:#dcd8d1;--color-brand-coffee:#b8691d;--color-brand-coffee-soft:#f4e6d6;--color-brand-bar:#5b3a6e;--color-brand-bar-soft:#ece3f1;--color-accent:var(--color-brand-coffee);--color-accent-soft:var(--color-brand-coffee-soft);--color-status-success:#2f7a4a;--color-status-warning:#a4561a;--color-status-danger:#b3261e;--color-status-info:#1f6f8b;--color-status-info-soft:#dcedf3;--font-family-display:"Unbounded", "Arial Black", system-ui, sans-serif;--font-family-body:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-mono:ui-monospace, "SF Mono", "Roboto Mono", Menlo, Consolas, monospace;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-md:.9375rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-display:2.125rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-line-height-tight:1.15;--font-line-height-normal:1.4;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-full:999px;--button-primary-bg:var(--color-bg-inverse);--button-primary-text:var(--color-text-inverse);--button-secondary-bg:transparent;--button-secondary-text:var(--color-text-primary);--button-secondary-border:var(--color-border-default);--button-radius:var(--radius-lg);--button-padding-y:.8125rem;--button-padding-x:var(--space-4);--button-font-weight:var(--font-weight-semibold);--motion-duration-fast:.12s;--motion-duration-normal:.22s;--motion-duration-slow:.4s;--motion-easing-standard:cubic-bezier(.2, 0, 0, 1);--motion-easing-emphasized:cubic-bezier(.3, 0, 0, 1.2)}@media (prefers-reduced-motion:reduce){:root{--motion-duration-fast:0s;--motion-duration-normal:0s;--motion-duration-slow:0s}}[data-venue=bar]{--color-accent:var(--color-brand-bar);--color-accent-soft:var(--color-brand-bar-soft)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg-page:#191816;--color-bg-surface:#24221f;--color-bg-muted:#2f2c28;--color-bg-inverse:#f1eee9;--color-text-primary:#f1eee9;--color-text-secondary:#a39d94;--color-text-inverse:#24221f;--color-border-default:#3a3732;--color-brand-coffee:#e09a52;--color-brand-coffee-soft:#3a2d1f;--color-brand-bar:#c29ad8;--color-brand-bar-soft:#33283a;--color-status-success:#6cc58c;--color-status-warning:#e3a066;--color-status-danger:#f2b8b5;--color-status-info:#6cbfdc;--color-status-info-soft:#1d3640;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--color-bg-page:#191816;--color-bg-surface:#24221f;--color-bg-muted:#2f2c28;--color-bg-inverse:#f1eee9;--color-text-primary:#f1eee9;--color-text-secondary:#a39d94;--color-text-inverse:#24221f;--color-border-default:#3a3732;--color-brand-coffee:#e09a52;--color-brand-coffee-soft:#3a2d1f;--color-brand-bar:#c29ad8;--color-brand-bar-soft:#33283a;--color-status-success:#6cc58c;--color-status-warning:#e3a066;--color-status-danger:#f2b8b5;--color-status-info:#6cbfdc;--color-status-info-soft:#1d3640;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/onest-cyrillic-400-normal-BTdD9fLi.woff2)format("woff2"),url(/assets/onest-cyrillic-400-normal-BQq8x-Ju.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/onest-latin-400-normal-9AYXx_QC.woff2)format("woff2"),url(/assets/onest-latin-400-normal-RaMPE1jb.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/onest-cyrillic-500-normal-CJRUgmys.woff2)format("woff2"),url(/assets/onest-cyrillic-500-normal-BMFE-GJD.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/onest-latin-500-normal-2-RsuwM3.woff2)format("woff2"),url(/assets/onest-latin-500-normal-CVP923du.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/onest-cyrillic-600-normal-BZYKVyuq.woff2)format("woff2"),url(/assets/onest-cyrillic-600-normal-DXk93W_-.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/onest-latin-600-normal-DM19Lk_j.woff2)format("woff2"),url(/assets/onest-latin-600-normal-D88KJsY0.woff)format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/unbounded-cyrillic-500-normal-vuFlZByi.woff2)format("woff2"),url(/assets/unbounded-cyrillic-500-normal-CRDmNtZY.woff)format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/unbounded-latin-500-normal-4slEIF53.woff2)format("woff2"),url(/assets/unbounded-latin-500-normal-ZsrgWWU1.woff)format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/unbounded-cyrillic-700-normal-BnWDpkfm.woff2)format("woff2"),url(/assets/unbounded-cyrillic-700-normal-BKv7sql3.woff)format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/unbounded-latin-700-normal-CaoNriVp.woff2)format("woff2"),url(/assets/unbounded-latin-700-normal-CZtriu5h.woff)format("woff")}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-family-body);font-size:var(--font-size-md);line-height:var(--font-line-height-normal);-webkit-text-size-adjust:100%}button{font:inherit;color:inherit}.app{background:var(--color-bg-surface);flex-direction:column;max-width:560px;height:100dvh;margin:0 auto;display:flex}.screen{padding:var(--space-5) var(--space-5) var(--space-6);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.screen h1{font-family:var(--font-family-display);font-weight:var(--font-weight-medium);font-size:var(--font-size-xl);line-height:var(--font-line-height-tight);text-wrap:balance;margin:0}.muted{color:var(--color-text-secondary)}.placeholder{border-radius:var(--radius-md);border:1px dashed var(--color-border-default);background:repeating-linear-gradient(135deg, var(--color-bg-muted) 0 8px, transparent 8px 16px);min-height:96px;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-3);text-align:center;place-items:center;display:grid}.placeholder.tall{min-height:240px}.venue{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-bg-surface);border-left:6px solid var(--color-accent);gap:var(--space-1);flex-direction:column;display:flex}.venue strong{font-size:var(--font-size-lg);line-height:var(--font-line-height-tight)}.tabs{border-top:1px solid var(--color-border-default);background:var(--color-bg-surface);padding:var(--space-1) var(--space-1) calc(var(--space-2) + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid}.tabs a{min-height:48px;font-size:var(--font-size-xs);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:color var(--motion-duration-fast) var(--motion-easing-standard);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.tabs a[aria-current=page]{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.tabs a:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tabs svg{width:22px;height:22px}.screen.center{justify-content:center;align-items:center}.screen.login{justify-content:center;gap:var(--space-4)}.screen h1.brand{font-size:var(--font-size-xl)}.small{font-size:var(--font-size-sm)}.center-text{text-align:center}.stack{gap:var(--space-3);flex-direction:column;display:flex}p{margin:0}.button{border-radius:var(--button-radius);width:100%;min-height:48px;padding:var(--button-padding-y) var(--button-padding-x);font-weight:var(--button-font-weight);font-size:var(--font-size-md);text-align:center;cursor:pointer;transition:opacity var(--motion-duration-fast) var(--motion-easing-standard);border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:flex}.button.primary{background:var(--button-primary-bg);color:var(--button-primary-text)}.button.secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border-color:var(--button-secondary-border)}.button.danger{background:var(--color-status-danger);color:var(--color-text-inverse)}.button.small{width:auto;min-height:44px;padding:var(--space-2) var(--space-4)}.button:disabled{opacity:.55;cursor:default}.button:focus-visible,.back:focus-visible,.field input:focus-visible,.check input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.back{min-height:44px;color:var(--color-text-secondary);font-size:var(--font-size-md);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.divider{text-align:center;font-size:var(--font-size-sm)}.field{gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-direction:column;display:flex}.field input{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);width:100%;min-height:48px;color:var(--color-text-primary);padding:var(--space-3) var(--space-4);font:inherit;font-size:var(--font-size-lg);letter-spacing:.02em}.field input::placeholder{color:var(--color-text-secondary)}.field input.code{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xl);letter-spacing:.4em;text-align:center}.check{gap:var(--space-3);min-height:44px;padding:var(--space-2) 0;cursor:pointer;align-items:flex-start;display:flex}.check input{appearance:none;border:2px solid var(--color-text-secondary);border-radius:var(--radius-sm);background:var(--color-bg-surface);cursor:pointer;flex:none;width:24px;height:24px;margin:0}.check input:checked{border-color:var(--color-bg-inverse);background:var(--color-bg-inverse);place-items:center;display:grid}.check input:checked:after{content:"";border:solid var(--color-text-inverse);border-width:0 2.5px 2.5px 0;width:6px;height:11px;margin-top:-3px;transform:rotate(45deg)}.check input[aria-invalid=true],.field input[aria-invalid=true]{border-color:var(--color-status-danger)}.nowrap{white-space:nowrap}.group{gap:var(--space-1);border:0;flex-direction:column;margin:0;padding:0;display:flex}.group legend{margin-bottom:var(--space-1);font-weight:var(--font-weight-semibold);padding:0}.notice{gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-muted);border:1px solid var(--color-status-danger);padding:var(--space-3) var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spinner{border:3px solid var(--color-border-default);border-top-color:var(--color-text-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.card{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-bg-surface)}.row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.row-buttons{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.list{border-top:1px solid var(--color-border-default);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list-item{border-bottom:1px solid var(--color-border-default);min-height:52px;color:var(--color-text-primary);font-size:var(--font-size-md);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.list-item:focus-visible,.button.danger-text:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.device{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-default);flex-direction:column;display:flex}.device .button{align-self:flex-start}.badge{margin-top:var(--space-1);border-radius:var(--radius-full);padding:2px var(--space-2);background:var(--color-bg-muted);border:1px solid var(--color-border-default);color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-self:flex-start}.confirm{gap:var(--space-3);flex-direction:column;display:flex}.button.danger-text{color:var(--color-status-danger);background:0 0;border-color:#0000}.info{border-radius:var(--radius-md);background:var(--color-status-info-soft);padding:var(--space-3) var(--space-4)}
