.ticket-canvas{justify-content:center;align-items:center;min-height:100%;padding:2em;display:flex}.ticket-wrapper{--t-bg:#0a1830;--t-bg-light:#0d213f;--t-accent:#c9a55c;--t-accent-glow:#c9a55c80;--t-text-main:#f8fafc;--t-text-muted:#94a3b8;perspective:1000px;font-size:10px;display:inline-block}.ticket{width:22em;color:var(--t-text-main);transform-style:preserve-3d;filter:drop-shadow(0 0 10px #00000080);background:0 0;font-family:Inter,Segoe UI,system-ui,sans-serif;transition:transform .6s cubic-bezier(.23,1,.32,1),box-shadow .6s;position:relative;box-shadow:0 20px 40px #000c,0 0 0 1px #ffffff0d}.ticket-wrapper:hover .ticket{box-shadow:20px 20px 40px #0009, 0 0 0 1px #ffffff1a, -5px -5px 20px var(--t-accent-glow);transform:rotateX(5deg)rotateY(-10deg)scale(1.02)}.ticket:after{content:"";pointer-events:none;z-index:10;mix-blend-mode:overlay;background:linear-gradient(115deg,#0000 0% 40%,#ffffff1a 45%,#ffffff4d 50%,#ffffff1a 55%,#0000 60% 100%) 100% 100%/250% 250%;border-radius:1em;transition:background-position .6s cubic-bezier(.23,1,.32,1);position:absolute;inset:0}.ticket-wrapper:hover .ticket:after{background-position:0 0}.t-main{background:radial-gradient(circle at bottom left, transparent 1em, var(--t-bg) 1.05em), radial-gradient(circle at bottom right, transparent 1em, var(--t-bg) 1.05em);background-position:0 100%,100% 100%;background-repeat:no-repeat;background-size:51% 100%;border-top-left-radius:1em;border-top-right-radius:1em;padding:2em;position:relative;overflow:hidden}.t-main:after{content:"";opacity:.6;z-index:0;pointer-events:none;background-image:linear-gradient(#c9a55c26 1px,#0000 1px),linear-gradient(90deg,#c9a55c26 1px,#0000 1px);background-size:2em 2em;animation:20s linear infinite grid-scroll;position:absolute;inset:0;transform:perspective(500px)rotateX(20deg)scale(1.5)}@keyframes grid-scroll{0%{background-position:0 0}to{background-position:0 4em}}.t-content{z-index:1;position:relative}.t-header{justify-content:space-between;align-items:flex-start;margin-bottom:2em;display:flex}.t-logo{letter-spacing:-.02em;color:#fff;align-items:center;gap:.5em;font-family:Cormorant Garamond,Georgia,serif;font-size:1.2em;font-weight:900;display:flex}.t-logo img{object-fit:contain;width:1.5em;height:1.5em;filter:drop-shadow(0 0 5px var(--t-accent));animation:3s ease-in-out infinite alternate logo-pulse}@keyframes logo-pulse{0%{filter:drop-shadow(0 0 2px var(--t-accent))}to{filter:drop-shadow(0 0 10px var(--t-accent)) brightness(1.2)}}.t-type{text-transform:uppercase;letter-spacing:.2em;color:var(--t-accent);border:1px solid var(--t-accent);border-radius:99em;padding:.4em .8em;font-size:.6em;font-weight:700}.t-title{text-transform:uppercase;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#e4d3ac 100%);-webkit-background-clip:text;background-clip:text;margin-bottom:.2em;font-family:Cormorant Garamond,Georgia,serif;font-size:2.2em;font-weight:700;line-height:1.1}.t-subtitle{color:var(--t-text-muted);margin-bottom:2.5em;font-size:.9em}.t-details{grid-template-columns:1fr 1fr;gap:1.5em;margin-bottom:1em;display:grid}.t-detail-item{flex-direction:column;gap:.2em;display:flex}.t-label{text-transform:uppercase;letter-spacing:.1em;color:var(--t-text-muted);font-size:.6em}.t-value{color:var(--t-text-main);font-size:1.1em;font-weight:700}.t-perforation{z-index:2;justify-content:space-between;align-items:center;height:1em;display:flex;position:relative}.t-perf-line{border-top:2px dashed #fff3;flex-grow:1;height:0;margin:0 1.5em}.t-stub{background:radial-gradient(circle at top left, transparent 1em, var(--t-bg-light) 1.05em), radial-gradient(circle at top right, transparent 1em, var(--t-bg-light) 1.05em);background-position:0 0,100% 0;background-repeat:no-repeat;background-size:51% 100%;border-bottom-right-radius:1em;border-bottom-left-radius:1em;justify-content:space-between;align-items:center;padding:2em;display:flex;position:relative}.t-barcode-container{flex-direction:column;gap:.5em;display:flex}.t-barcode{opacity:.8;background:repeating-linear-gradient(90deg,#fff 0 2px,#0000 2px 4px,#fff 4px 5px,#0000 5px 8px,#fff 8px 12px,#0000 12px 15px,#fff 15px 16px,#0000 16px 18px);width:10em;height:3em}.t-barcode-id{color:var(--t-text-muted);letter-spacing:.2em;text-align:justify;font-family:monospace;font-size:.7em}.t-admit{text-align:right}.t-admit-text{text-transform:uppercase;letter-spacing:.1em;color:var(--t-text-muted);font-size:.7em}.t-admit-num{color:var(--t-accent);text-shadow:0 0 15px var(--t-accent-glow);font-size:3em;font-weight:900;line-height:1}.ticket-wrapper:active .ticket{transform:rotateX(15deg)rotateY(-5deg)scale(.98)}.ticket-wrapper:active .t-stub{opacity:.8;transition:transform .2s,opacity .2s;transform:translateY(5px)rotate(2deg)}
