.designed-ticket{margin:20px 0;border:1px solid rgba(225,199,135,.25);border-radius:12px;background:#100d12;overflow:hidden;break-inside:avoid}
.ticket-status-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:15px 20px;border-bottom:1px solid rgba(225,199,135,.18);font:12px system-ui;color:#b7aabd;line-height:1.5}
.ticket-status-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid currentColor;border-radius:999px;padding:7px 12px;font-weight:700;letter-spacing:.03em}
.ticket-status-badge:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}
.ticket-status-badge.ready{color:#91e8b7;background:#91e8b70c}.ticket-status-badge.used{color:#f2c88c;background:#f2c88c0c}.ticket-status-badge.voided{color:#f2a6a6;background:#f2a6a60c}
.ticket-tear-frame{position:relative;width:100%;isolation:isolate;overflow:hidden}
.detached-stub{position:absolute;left:78%;right:2%;top:9%;height:80%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#d2b477;border:1px dashed #a58b55;background:repeating-linear-gradient(135deg,#d2b47708 0 1px,transparent 1px 9px),#130f14;transform:translate(6px,6px) rotate(4deg);opacity:.5;clip-path:polygon(5% 0,100% 0,100% 100%,5% 100%,0 95%,5% 90%,0 85%,5% 80%,0 75%,5% 70%,0 65%,5% 60%,0 55%,5% 50%,0 45%,5% 40%,0 35%,5% 30%,0 25%,5% 20%,0 15%,5% 10%,0 5%)}
.detached-stub span{writing-mode:vertical-rl;font:bold clamp(14px,3vw,36px) system-ui;letter-spacing:.16em}.detached-stub small{font:8px system-ui;letter-spacing:.12em;text-align:center;padding:0 8px}
.ticket-used{border-color:#b49a6155}.entry-complete{border-color:#b49a6155}.entry-complete-seal{width:150px;height:150px;border:2px dashed #b49a61;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e1c787;font-size:60px;justify-self:center;transform:rotate(-8deg)}.entry-complete-seal span{font:700 12px system-ui;letter-spacing:.15em}
.just-admitted .detached-stub{animation:tear-stub 1.1s cubic-bezier(.22,.8,.3,1) both}
@keyframes tear-stub{0%{transform:translate(-6px,-6px) rotate(0);opacity:1}35%{transform:translate(0,0) rotate(-2deg);opacity:.9}100%{transform:translate(6px,6px) rotate(4deg);opacity:.5}}
@media(prefers-reduced-motion:reduce){.just-admitted .detached-stub{animation:none}}
@media(max-width:600px){.ticket-tear-frame{min-width:690px}.ticket-status-bar{padding:14px 16px}.entry-complete-seal{width:120px;height:120px;font-size:48px}}
@media print{.just-admitted .detached-stub{animation:none}.ticket-tear-frame{min-width:0}.ticket-status-bar{color:#222}.ticket-status-badge{color:#222!important}.entry-complete-seal{color:#222;border-color:#555}}
.ticket-art-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#776340 #100d12}
.ticket-artwork{width:100%;height:auto;display:block}
.ticket-details{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-top:1px solid rgba(225,199,135,.15)}
.ticket-details strong{color:#f2d28e;font-size:1rem}
.ticket-details p{font-size:.8rem;color:#a59fae;margin:5px 0 8px}
.ticket-details code{display:block;font-size:.9rem;color:#f5f1ea;letter-spacing:.04em;overflow-wrap:anywhere}
.ticket-download{border:1px solid #b49a61;background:transparent;color:#f2d28e;padding:12px 16px;border-radius:8px;font:500 .76rem system-ui;cursor:pointer;flex:none}
.ticket-download:hover{background:rgba(225,199,135,.08)}
.ticket-download:disabled{opacity:.5;cursor:wait}
.ticket-download:focus-visible{outline:2px solid #f2d28e;outline-offset:3px}
.gate-entry-pass{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:center;gap:32px;padding:28px;margin:0 0 32px;border:1px solid rgba(225,199,135,.25);border-radius:12px;background:#100d14;break-inside:avoid}
.gate-pass-copy small{color:#c9ae70;font-size:.63rem;letter-spacing:.16em}
.gate-pass-copy h2{font-size:1.6rem;color:#fff8e9;margin:12px 0}
.gate-pass-copy p{color:#aaa0b5;font-size:.86rem;line-height:1.6;margin:0 0 18px}
.gate-pass-copy code{display:block;color:#f6e6b9;font-size:1rem;margin-bottom:18px;overflow-wrap:anywhere}
.entry-pass-artwork{display:block;width:100%;height:auto;max-width:320px;justify-self:center}
@media(max-width:600px){.gate-entry-pass{grid-template-columns:1fr;padding:20px;gap:24px}.gate-pass-copy h2{font-size:1.3rem}.entry-pass-artwork{order:-1}.gate-pass-copy small{font-size:.58rem}}
@media print{.gate-entry-pass{background:#fff;border-color:#ccc;grid-template-columns:1fr 240px}.gate-pass-copy h2,.gate-pass-copy p,.gate-pass-copy code,.gate-pass-copy small{color:#111}.gate-entry-pass .ticket-download{display:none}}
@media(max-width:600px){.ticket-artwork{min-width:690px}.ticket-details{padding:16px;align-items:flex-start;flex-direction:column}.ticket-download{width:100%}}
@media print{.designed-ticket{border:0;border-radius:0}.ticket-art-scroll{overflow:visible}.ticket-artwork{width:100%;min-width:0}.ticket-download{display:none}.ticket-details{color:#111;border-color:#ccc}.ticket-details p,.ticket-details code,.ticket-details strong{color:#111}}
