@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;500;600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap";.app{flex-direction:column;gap:1.1rem;max-width:780px;min-height:100vh;margin:0 auto;padding:1rem 1.1rem 1.75rem;display:flex}.mode-totem.app{gap:clamp(1.25rem,3vmin,2.25rem);max-width:min(1280px,96vw);padding:clamp(1.5rem,3.5vmin,3rem) clamp(1.75rem,4.5vmin,3.5rem);font-size:clamp(1.2rem,2.8vmin,1.75rem)}.shell-top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;display:flex}.shell-top--totem{text-align:center;flex-direction:column;align-items:center;gap:clamp(1rem,2.5vmin,1.75rem);padding-bottom:clamp(1rem,2.5vmin,1.75rem)}.shell-hero{flex-direction:column;align-items:center;gap:clamp(.45rem,1.2vmin,.85rem);display:flex}.shell-logo--hero{filter:drop-shadow(0 0 36px #ff00cc8c);width:clamp(220px,38vmin,480px);height:auto;animation:3.2s ease-in-out infinite logo-breathe}.shell-hero-sub{color:var(--muted);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:clamp(1.15rem,2.8vmin,1.7rem);font-weight:700}@keyframes logo-breathe{0%,to{filter:drop-shadow(0 0 28px #f0c6);transform:scale(1)}50%{filter:drop-shadow(0 0 48px #ff00ccb3);transform:scale(1.03)}}.shell-brand{align-items:center;gap:.85rem;display:flex}.shell-logo{filter:drop-shadow(0 0 18px #ff00cc73);width:clamp(72px,16vw,110px);height:auto;display:block}.shell-title{font-family:var(--font-display);letter-spacing:.18em;margin:0;font-size:1.05rem;font-weight:900}.shell-sub{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:.15rem 0 0;font-size:.78rem}.mode-toggle{border:1px solid var(--line);background:#ffffff08;display:inline-flex}.mode-toggle button,.mode-toggle a{min-width:88px;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:.65rem 1rem;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}.mode-toggle button.is-active,.mode-toggle a.is-active{background:var(--magenta);color:#000;box-shadow:0 0 24px #ff00cc73}.main{flex:1}.panel{border:1px solid var(--line);background:#080808e0;padding:1.15rem}.manual{flex-direction:column;gap:.45rem;margin-top:1.1rem;display:flex}.manual label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.manual-row{gap:.5rem;display:flex}.manual input,.totem-input{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;letter-spacing:.08em;text-transform:uppercase;background:#0000008c;flex:1;padding:.85rem .95rem}.manual input:focus,.totem-input:focus{outline-offset:1px;outline:2px solid #00eeff8c}button{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:0;padding:.85rem 1.15rem;font-weight:800;transition:transform .15s,opacity .15s,box-shadow .15s}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait}button[type=submit],.primary,.totem-submit{background:var(--magenta);color:#000;box-shadow:0 0 28px #f0c6}.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.scanner-shell{flex-direction:column;gap:.7rem;display:flex}.scanner-viewport{aspect-ratio:4/3;border:1px solid var(--line);background:#000;max-height:48vh;position:relative;overflow:hidden}.scanner-video{object-fit:cover;background:#000;width:100%;height:100%;display:block}.scanner-frame{pointer-events:none;border:2px solid #00eeffd9;position:absolute;inset:12%;box-shadow:0 0 0 999px #00000059}.scanner-hint,.scanner-error{text-align:center;margin:0;font-size:.9rem}.scanner-hint{color:var(--muted)}.scanner-error{color:#ff5c9b}.totem-stage{text-align:center;border:1px solid var(--line);background:linear-gradient(#ff00cc14,#0000 40%),#000;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;min-height:48vh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.totem-pulse{border:1px solid #ff00cc73;width:220px;height:220px;animation:2.2s ease-in-out infinite pulse;position:absolute}@keyframes pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:.85;transform:scale(1.15)}}.totem-kicker{font-family:var(--font-display);letter-spacing:.35em;color:var(--cyan);margin:0;font-size:.8rem;font-weight:700;position:relative}.totem-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 0 30px #ff00cc73;margin:0;font-size:clamp(2.2rem,8vw,3.4rem);font-weight:900;position:relative}.totem-hint{max-width:28rem;color:var(--muted);margin:0 0 1rem;font-size:.95rem;position:relative}.totem-form{gap:.5rem;width:min(100%,420px);display:flex;position:relative}.result{flex-direction:column;gap:1.1rem;animation:.35s rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-label{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1.35rem;font-weight:800}.debug-info{color:var(--muted);word-break:break-all;margin:0;font-size:.8rem}.status-success .status-label{color:var(--cyan)}.status-error .status-label{color:#ff5c9b}.status-ready .status-label{color:var(--orange)}.participant-summary{padding-top:.4rem}.ticket-name{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:clamp(1.8rem,6vw,2.6rem);font-weight:900;line-height:1}.ticket-type{color:var(--magenta);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin:.35rem 0 0;font-weight:800}.ticket-code{color:var(--muted);letter-spacing:.12em;margin:.5rem 0 0}.actions{flex-wrap:wrap;gap:.65rem;display:flex}.arra-ticket{background:#030303;border:1px solid #ff00cc8c;padding:1.1rem 1.15rem .9rem;box-shadow:0 0 40px #ff00cc2e}.arra-ticket-head{border-bottom:1px solid var(--line);align-items:center;gap:.9rem;padding-bottom:.85rem;display:flex}.arra-ticket-logo{width:92px;height:auto}.arra-ticket-label{font-family:var(--font-display);letter-spacing:.22em;color:var(--magenta);margin:0;font-size:.95rem;font-weight:900}.arra-ticket-place{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:.2rem 0 0;font-size:.82rem}.arra-ticket-body{padding:1rem 0 .75rem}.arra-ticket-name{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:clamp(1.7rem,5vw,2.3rem);font-weight:900;line-height:1.05}.arra-ticket-type{color:var(--cyan);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin:.35rem 0 .9rem;font-weight:800}.arra-ticket-meta{gap:.55rem;margin:0;display:grid}.arra-ticket-meta>div{border-top:1px solid var(--line);grid-template-columns:5.5rem 1fr;gap:.4rem;padding-top:.55rem;display:grid}.arra-ticket-meta dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.arra-ticket-meta dd{letter-spacing:.06em;margin:0;font-weight:600}.arra-ticket-foot{border-top:1px solid var(--line);font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:.75rem;padding-top:.75rem;font-size:.72rem;font-weight:700;display:flex}.foot{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.72rem;display:flex}@media (width<=560px){.manual-row,.totem-form{flex-direction:column}.arra-ticket-meta>div{grid-template-columns:1fr}.foot,.arra-ticket-foot{text-align:center;flex-direction:column}.shell-top{flex-direction:column;align-items:flex-start}}.mode-totem .shell-logo{width:clamp(120px,16vmin,190px)}.mode-totem .shell-logo--hero{width:clamp(240px,42vmin,520px)}.mode-totem .shell-title{font-size:clamp(1.7rem,4vmin,2.5rem)}.mode-totem .shell-sub{font-size:clamp(1.2rem,2.6vmin,1.65rem)}.mode-totem .mode-toggle button,.mode-totem .mode-toggle a{min-width:clamp(120px,14vmin,170px);padding:clamp(.9rem,2.2vmin,1.35rem) clamp(1.2rem,3vmin,1.8rem);font-size:clamp(1.2rem,2.8vmin,1.65rem)}.mode-totem .panel{padding:clamp(1.5rem,3.5vmin,2.5rem)}.mode-totem .totem-stage{gap:clamp(.8rem,2.2vmin,1.5rem);min-height:clamp(360px,55vh,640px);padding:clamp(2.25rem,5.5vmin,4.5rem) clamp(1.75rem,4.5vmin,3.5rem)}.mode-totem .totem-pulse{width:clamp(280px,32vmin,440px);height:clamp(280px,32vmin,440px)}.mode-totem .totem-kicker{font-size:clamp(1.3rem,3vmin,1.85rem)}.mode-totem .totem-title{font-size:clamp(3.2rem,8.5vmin,6rem)}.mode-totem .totem-hint{max-width:min(48rem,92%);font-size:clamp(1.4rem,3.2vmin,2rem);line-height:1.45}.mode-totem .totem-form{gap:clamp(.75rem,1.8vmin,1.15rem);width:min(100%,720px)}.mode-totem .totem-input{padding:clamp(1.15rem,3vmin,1.7rem) clamp(1.25rem,3.2vmin,1.85rem);font-size:clamp(1.5rem,3.6vmin,2.25rem)}.mode-totem button{padding:clamp(1.15rem,3vmin,1.7rem) clamp(1.4rem,3.5vmin,2rem);font-size:clamp(1.25rem,3vmin,1.7rem)}.mode-totem .status-label{font-size:clamp(1.9rem,4.5vmin,3rem);line-height:1.15}.mode-totem .debug-info{font-size:clamp(1.2rem,2.8vmin,1.65rem);line-height:1.4}.mode-totem .ticket-name{font-size:clamp(2.6rem,6.5vmin,4.2rem)}.mode-totem .ticket-type{font-size:clamp(1.45rem,3.4vmin,2.1rem)}.mode-totem .ticket-code{font-size:clamp(1.35rem,3vmin,1.85rem)}.mode-totem .actions{gap:clamp(.9rem,2.4vmin,1.5rem)}.mode-totem .arra-ticket{padding:clamp(1.5rem,3.5vmin,2.5rem)}.mode-totem .arra-ticket-logo{width:clamp(130px,16vmin,180px)}.mode-totem .arra-ticket-label{font-size:clamp(1.35rem,3.2vmin,1.9rem)}.mode-totem .arra-ticket-place{font-size:clamp(1.2rem,2.8vmin,1.65rem)}.mode-totem .arra-ticket-name{font-size:clamp(2.4rem,6vmin,3.8rem)}.mode-totem .arra-ticket-type{font-size:clamp(1.35rem,3.2vmin,1.95rem)}.mode-totem .arra-ticket-meta>div{grid-template-columns:clamp(7.5rem,16vmin,11rem) 1fr;gap:clamp(.6rem,1.5vmin,1rem);padding-top:clamp(.75rem,1.8vmin,1.15rem)}.mode-totem .arra-ticket-meta dt{font-size:clamp(1.2rem,2.8vmin,1.6rem)}.mode-totem .arra-ticket-meta dd{font-size:clamp(1.25rem,3vmin,1.75rem)}.mode-totem .arra-ticket-foot,.mode-totem .foot{font-size:clamp(1.15rem,2.6vmin,1.55rem)}:root{--magenta:#f0c;--cyan:#0ef;--orange:#f60;--purple:#a0f;--black:#000;--dark:#080808;--near-black:#030303;--ink:#fff;--muted:#ffffff9e;--line:#ffffff29;--font-display:"Barlow Condensed", sans-serif;--font-body:"Barlow", sans-serif;color:var(--ink);background:var(--black);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:16px}*{box-sizing:border-box;border-radius:0!important}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(70% 45% at 12% -5%,#ff00cc38,#0000 55%),radial-gradient(55% 40% at 95% 8%,#00eeff24,#0000 50%),radial-gradient(40% 30% at 70% 100%,#aa00ff1f,#0000 45%),#000;min-height:100vh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.print-slip{display:none}@media print{@page{margin:2mm;size:auto}html,body,#root{color:#000!important;background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}.no-print{display:none!important}.print-slip{white-space:pre-wrap;word-break:break-word;border:0;width:58mm;max-width:100%;margin:0;padding:0;font:11pt/1.3 Courier New,Courier,monospace;position:absolute;top:0;left:0;visibility:visible!important;color:#000!important;background:#fff!important;display:block!important}}
