*{box-sizing:border-box}
:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;min-height:100vh;display:grid;place-items:center;padding:30px 16px;color:#f4f3ff;background:radial-gradient(ellipse at 12% 0%,#1e40af35,transparent 38%),radial-gradient(ellipse at 100% 100%,#a21caf35,transparent 36%),#080817}
.page{width:100%;max-width:650px}.header{text-align:center;margin:0 0 25px}.event-logo{display:block;width:min(100%,420px);height:auto;max-height:135px;object-fit:contain;margin:0 auto 18px}
.eyebrow{margin:0 0 7px;color:#c4b5fd;font-size:11px;letter-spacing:.25em;font-weight:850}h1{margin:0;color:#fff;font-size:clamp(29px,6vw,39px);line-height:1.15;letter-spacing:-.035em}.subtitle{margin:12px auto 0;max-width:490px;color:#a5a4c2;font-size:14px;line-height:1.7}
.panel{padding:clamp(18px,5vw,30px);border-radius:24px;background:#111125f5;border:1px solid #7048bb80;box-shadow:0 22px 70px #0006}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;padding:5px;border:1px solid #302746;border-radius:13px;background:#0b0b1b}.mode-tab{padding:12px 8px;border:0;border-radius:9px;color:#aaa5c3;background:transparent;font-size:13px;font-weight:750;cursor:pointer}.mode-tab.active{color:white;background:linear-gradient(110deg,#7c3aed,#c026d3);box-shadow:0 5px 20px #9333ea30}
label{display:block;margin-bottom:10px;color:#ded9f3;font-size:13px;font-weight:750}.search-row{display:flex;gap:10px}input{flex:1;min-width:0;padding:14px 15px;border:1px solid #403653;border-radius:12px;outline:none;color:#fff;background:#090918;font-size:14px}input::placeholder{color:#77718e}input:focus{border-color:#c084fc;box-shadow:0 0 0 3px #a855f71f}#checkButton,.secondary-button{padding:0 18px;border:0;border-radius:12px;color:#fff;font-size:13px;font-weight:850;background:linear-gradient(110deg,#7c3aed,#c026d3);cursor:pointer}#checkButton:disabled{opacity:.65;cursor:wait}.scanner{margin-top:18px;padding:14px;border:1px solid #47365f;border-radius:14px;background:#090918;text-align:center}.scanner video{display:block;width:100%;max-height:310px;object-fit:cover;border-radius:10px;background:#000}.scanner p{color:#b7b0d0;font-size:13px;line-height:1.5}.secondary-button{padding:10px 14px;background:#29223b;border:1px solid #55436e}
.status{margin-top:18px;padding:13px 15px;border-radius:12px;font-size:13px;line-height:1.5}.status.info{color:#e9d5ff;background:#9333ea1f;border:1px solid #c084fc38}.status.error{color:#fda4af;background:#e11d481a;border:1px solid #f43f5e40}.result{margin-top:27px}.participant{padding-bottom:20px;border-bottom:1px solid #302744;margin-bottom:20px}.section-label{color:#e879f9;font-size:10px;letter-spacing:.18em;font-weight:850}h2{margin:9px 0 15px;font-size:22px;overflow-wrap:anywhere}.details{display:grid;gap:12px;margin:0}.details div{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid #28233b}.details div:last-child{border-bottom:0;padding-bottom:0}dt{color:#a49bbd;font-size:12px}dd{margin:0;text-align:right;color:#f5f3ff;font-size:13px;font-weight:700;overflow-wrap:anywhere}h3{margin:0 0 5px;color:#e9ddff;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.voucher-note{margin:0 0 13px;color:#9289ac;font-size:12px}.voucher-list{display:grid;gap:10px}.voucher-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #342847;border-radius:13px;background:#0b0b1b}.voucher-main{flex:1;min-width:0}.voucher-title{margin-bottom:5px;color:#a49bbd;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.voucher-code{color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:750;overflow-wrap:anywhere}.copy-button{padding:9px 13px;color:#fae8ff;border:1px solid #8b5cf6;border-radius:9px;background:#33204b;font-size:12px;font-weight:800;cursor:pointer}.copy-button:hover{background:#4c2670}.copy-button:disabled{opacity:.35;cursor:not-allowed}.footer-note{margin:18px 8px 0;text-align:center;color:#79738f;font-size:11px;line-height:1.6}.hidden{display:none!important}
@media(max-width:500px){.search-row{flex-direction:column}#checkButton{padding:14px}.details div{gap:10px}.voucher-row{padding:10px;gap:8px}.copy-button{padding:9px 10px}.event-logo{max-width:340px}}
