@keyframes patronus-drift{0%{opacity:.34;transform:translate(-8%,-4%)scale(1)}50%{opacity:.76;transform:translate(8%,3%)scale(1.08)}to{opacity:.34;transform:translate(-8%,-4%)scale(1)}}@keyframes holo-hue{0%{filter:hue-rotate()}50%{filter:hue-rotate(30deg)}to{filter:hue-rotate()}}@keyframes watermark-drift{0%{background-position:0 0}to{background-position:320px 240px}}@keyframes holo-scan{0%{opacity:0;transform:translate(-120%)skew(-12deg)}12%{opacity:1}to{opacity:0;transform:translate(220%)skew(-12deg)}}@keyframes gryffindor-flame{0%{opacity:.26;transform:translateY(10%)scaleY(.96)}50%{opacity:.7;transform:translateY(-4%)scaleY(1.08)}to{opacity:.26;transform:translateY(10%)scaleY(.96)}}@keyframes slytherin-wave{0%{opacity:.28;transform:translate(-5%)scaleY(1)}50%{opacity:.68;transform:translate(6%)scaleY(1.06)}to{opacity:.28;transform:translate(-5%)scaleY(1)}}@keyframes ravenclaw-drift{0%{opacity:.28;transform:translateY(2%)scale(1)}50%{opacity:.62;transform:translateY(-3%)scale(1.05)}to{opacity:.28;transform:translateY(2%)scale(1)}}@keyframes hufflepuff-breathe{0%{opacity:.24;transform:scale(.98)}50%{opacity:.54;transform:scale(1.04)}to{opacity:.24;transform:scale(.98)}}.holo-wrap{--holo-before-bg:radial-gradient(circle at 24% 34%, #abe5ff38, transparent 20%), radial-gradient(circle at 68% 62%, #7ec2ff33, transparent 22%), linear-gradient(120deg, transparent 10%, #c4efff29 28%, transparent 42%, #82bdff24 58%, transparent 74%);--holo-before-filter:blur(22px) saturate(1.12);--holo-before-animation:patronus-drift 6.4s ease-in-out infinite, holo-hue 12s linear infinite;--holo-watermark-bg:repeating-linear-gradient(-24deg, transparent 0 74px, #def6ff0d 74px 76px, transparent 76px 148px);--holo-watermark-text:"PATRONUS • ARGUS • PATRONUS • ARGUS • PATRONUS • ARGUS • PATRONUS • ARGUS • PATRONUS • ARGUS • PATRONUS • ARGUS";--holo-watermark-color:#dcf2ff12;--holo-scan-bg:linear-gradient(90deg, transparent, #ffffff24, #b3e6ff38, #ffffff1a, transparent);--holo-scan-width:42%;--holo-scan-filter:blur(8px);--holo-scan-animation:holo-scan 4.8s ease-in-out infinite;isolation:isolate;position:relative;overflow:hidden}.holo-wrap:before{content:"";z-index:1;pointer-events:none;background:var(--holo-before-bg);mix-blend-mode:screen;filter:var(--holo-before-filter);animation:var(--holo-before-animation);position:absolute;inset:-28%}.holo-watermark{z-index:2;pointer-events:none;background-image:var(--holo-watermark-bg);animation:22s linear infinite watermark-drift;position:absolute;inset:0}.holo-watermark:after{content:var(--holo-watermark-text);color:var(--holo-watermark-color);letter-spacing:.28em;white-space:pre-wrap;transform-origin:50%;pointer-events:none;padding:12px;font-family:ui-monospace,monospace;font-size:18px;font-weight:700;line-height:1.8;display:block;position:absolute;inset:0;transform:rotate(-24deg)scale(1.6)}.holo-scan{width:var(--holo-scan-width);z-index:3;pointer-events:none;background:var(--holo-scan-bg);mix-blend-mode:screen;filter:var(--holo-scan-filter);animation:var(--holo-scan-animation);position:absolute;top:-10%;bottom:-10%}.house-gryffindor.holo-wrap{--holo-before-bg:radial-gradient(circle at 30% 78%, #ffab4347, transparent 22%), radial-gradient(circle at 60% 70%, #ffd2583d, transparent 24%), linear-gradient(180deg, transparent 30%, #c62a3033 68%, #ffb54a3d 100%);--holo-before-filter:blur(20px) saturate(1.08);--holo-before-animation:gryffindor-flame 3.3s ease-in-out infinite;--holo-watermark-bg:repeating-linear-gradient(-24deg, transparent 0 58px, #ffd87c0d 58px 60px, transparent 60px 120px);--holo-watermark-text:"ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED";--holo-watermark-color:#ffd87c14;--holo-scan-bg:linear-gradient(90deg, transparent, #ffdf7d42, #ff7d4747, transparent);--holo-scan-width:40%;--holo-scan-filter:blur(8px);--holo-scan-animation:holo-scan 3.8s linear infinite}.house-slytherin.holo-wrap{--holo-before-bg:linear-gradient(120deg, transparent 0 12%, #6fffb024 20%, transparent 28%, #bbcbcf1f 42%, transparent 52%, #54e8a124 68%, transparent 78%), radial-gradient(circle at 70% 42%, #84ffc42e, transparent 22%);--holo-before-filter:blur(14px) saturate(1.08);--holo-before-animation:slytherin-wave 4.8s ease-in-out infinite;--holo-watermark-bg:repeating-linear-gradient(135deg, transparent 0 38px, #d6dfe10d 38px 40px, transparent 40px 80px), repeating-linear-gradient(-135deg, transparent 0 48px, #4edb950a 48px 50px, transparent 50px 100px);--holo-watermark-text:"ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED";--holo-watermark-color:#d6dfe114;--holo-scan-bg:linear-gradient(90deg, transparent, #e0eaec2e, #80ffbf38, transparent);--holo-scan-width:36%;--holo-scan-filter:blur(10px);--holo-scan-animation:holo-scan 5.4s linear infinite}.house-ravenclaw.holo-wrap{--holo-before-bg:radial-gradient(circle at 18% 24%, #8dc1ff38, transparent 18%), radial-gradient(circle at 74% 66%, #c99b562e, transparent 16%), radial-gradient(circle at 54% 36%, #73b0ff29, transparent 20%);--holo-before-filter:blur(18px) saturate(1.06);--holo-before-animation:ravenclaw-drift 6.8s ease-in-out infinite;--holo-watermark-bg:radial-gradient(circle at 14% 18%, #ffffff42 0 1px, transparent 1px), radial-gradient(circle at 24% 68%, #ffffff38 0 1px, transparent 1px), radial-gradient(circle at 66% 28%, #ffffff2e 0 1px, transparent 1px), radial-gradient(circle at 82% 58%, #ffffff38 0 1px, transparent 1px), radial-gradient(circle at 62% 78%, #ffffff2e 0 1px, transparent 1px);--holo-watermark-text:"ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED";--holo-watermark-color:#bcd5ff14;--holo-scan-bg:linear-gradient(90deg, transparent, #a1c5ff33, #c4935729, transparent);--holo-scan-width:46%;--holo-scan-filter:blur(8px);--holo-scan-animation:holo-scan 5s linear infinite}@keyframes visitor-shimmer{0%{opacity:.32;transform:translate(-6%,-3%)scale(1)}50%{opacity:.72;transform:translate(6%,4%)scale(1.06)}to{opacity:.32;transform:translate(-6%,-3%)scale(1)}}.visitor-pass-holo.holo-wrap{--holo-before-bg:radial-gradient(circle at 28% 30%, #ffce6c42, transparent 22%), radial-gradient(circle at 70% 68%, #ffb24533, transparent 22%), linear-gradient(120deg, transparent 8%, #ffe8a829 28%, transparent 44%, #ffc45a24 60%, transparent 78%);--holo-before-filter:blur(20px) saturate(1.1);--holo-before-animation:visitor-shimmer 5.6s ease-in-out infinite, holo-hue 14s linear infinite;--holo-watermark-bg:repeating-linear-gradient(-22deg, transparent 0 60px, #ffe09a0d 60px 62px, transparent 62px 124px);--holo-watermark-text:"PENDING • APPROVAL • PENDING • APPROVAL • PENDING • APPROVAL • PENDING • APPROVAL • PENDING";--holo-watermark-color:#ffe09a17;--holo-scan-bg:linear-gradient(90deg, transparent, #ffeab038, #ffc45a42, #ffeab02e, transparent);--holo-scan-width:40%;--holo-scan-filter:blur(8px);--holo-scan-animation:holo-scan 5s ease-in-out infinite;transition:background-color .6s}.visitor-pass-holo.visitor-pass-approved.holo-wrap{--holo-before-bg:radial-gradient(circle at 26% 32%, #6ee7b742, transparent 22%), radial-gradient(circle at 70% 66%, #34d39938, transparent 22%), linear-gradient(120deg, transparent 10%, #a7f3d02e 30%, transparent 46%, #4ade8024 62%, transparent 80%);--holo-before-animation:visitor-shimmer 5.4s ease-in-out infinite, holo-hue 13s linear infinite;--holo-watermark-bg:repeating-linear-gradient(-22deg, transparent 0 60px, #a7f3d00d 60px 62px, transparent 62px 124px);--holo-watermark-text:"VISITOR • APPROVED • VISITOR • APPROVED • VISITOR • APPROVED • VISITOR • APPROVED • VISITOR";--holo-watermark-color:#a7f3d01a;--holo-scan-bg:linear-gradient(90deg, transparent, #a7f3d038, #4ade8047, #a7f3d02e, transparent)}.visitor-pass-holo.visitor-pass-closed.holo-wrap{--holo-before-bg:radial-gradient(circle at 28% 30%, #f8717133, transparent 22%), radial-gradient(circle at 70% 70%, #dc26262e, transparent 22%), linear-gradient(120deg, transparent 12%, #fca5a51a 32%, transparent 50%, #dc26261a 64%, transparent 84%);--holo-before-filter:blur(22px) saturate(.85);--holo-before-animation:visitor-shimmer 9s ease-in-out infinite;--holo-watermark-bg:repeating-linear-gradient(-22deg, transparent 0 60px, #f871710d 60px 62px, transparent 62px 124px);--holo-watermark-text:"VISITOR • CLOSED • VISITOR • CLOSED • VISITOR • CLOSED • VISITOR • CLOSED • VISITOR • CLOSED";--holo-watermark-color:#f871711a;--holo-scan-bg:linear-gradient(90deg, transparent, #f871712e, #dc262633, #f8717124, transparent);--holo-scan-animation:holo-scan 8s ease-in-out infinite}.house-hufflepuff.holo-wrap{--holo-before-bg:radial-gradient(circle at 24% 72%, #ffcd5b3d, transparent 22%), radial-gradient(circle at 72% 36%, #ffe18a29, transparent 20%), linear-gradient(120deg, transparent 0 18%, #ffd25a1f 30%, transparent 42%, #fff6c014 62%, transparent 76%);--holo-before-filter:blur(18px) saturate(1.04);--holo-before-animation:hufflepuff-breathe 5.4s ease-in-out infinite;--holo-watermark-bg:repeating-linear-gradient(90deg, transparent 0 42px, #ffeeb00a 42px 44px, transparent 44px 88px);--holo-watermark-text:"ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED • ARGUS • VERIFIED";--holo-watermark-color:#ffeab014;--holo-scan-bg:linear-gradient(90deg, transparent, #fff0b338, #ffcf582e, transparent);--holo-scan-width:44%;--holo-scan-filter:blur(9px);--holo-scan-animation:holo-scan 5.8s linear infinite}.revoked-tint{z-index:4;pointer-events:none;mix-blend-mode:multiply;background:#dc26262e;position:absolute;inset:0}@keyframes stamp-in{0%{opacity:0;transform:translate(-50%,-50%)rotate(-18deg)scale(2.2)}60%{opacity:1;transform:translate(-50%,-50%)rotate(-18deg)scale(1)}to{opacity:1;transform:translate(-50%,-50%)rotate(-18deg)scale(1)}}.revoked-stamp{z-index:5;pointer-events:none;color:#ef4444;letter-spacing:.25em;text-align:center;opacity:.92;white-space:nowrap;background:#00000040;border:6px solid #ef4444;border-radius:6px;padding:12px 28px;font-family:ui-monospace,monospace;font-size:42px;font-weight:900;animation:.6s cubic-bezier(.2,.9,.3,1.2) forwards stamp-in;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)rotate(-18deg);box-shadow:inset 0 0 0 2px #ef44444d,0 0 40px #ef444459}.revoked-stamp small{letter-spacing:.2em;opacity:.8;margin-top:4px;font-size:14px;display:block}.photo-frame{isolation:isolate;position:relative}.photo-frame:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(130deg,#ffffff38,#0000 40%,#ffffff14);position:absolute;inset:0}.card-base{background:#0a0a0b}.house-gryffindor{background:linear-gradient(160deg,#4a0e12 0%,#0a0a0b 55%)}.house-slytherin{background:linear-gradient(160deg,#0e3a24 0%,#0a0a0b 55%)}.house-ravenclaw{background:linear-gradient(160deg,#0e2247 0%,#0a0a0b 55%)}.house-hufflepuff{background:linear-gradient(160deg,#4a3a0e 0%,#0a0a0b 55%)}@keyframes toast-pop{0%{opacity:0;transform:translateY(-110%)}70%{opacity:1;transform:translateY(6%)}to{opacity:1;transform:translateY(0)}}.toast-pop{animation:.42s cubic-bezier(.2,.9,.3,1.2) both toast-pop}@keyframes house-reveal-fade{0%{opacity:0}12%{opacity:1}82%{opacity:1}to{opacity:0}}@keyframes house-reveal-sweep{0%{transform:translate(-160%)skew(-12deg)}to{transform:translate(160%)skew(-12deg)}}@keyframes house-reveal-text{0%{opacity:0;letter-spacing:.05em;transform:translate(-50%,-50%)scale(.6)rotate(-6deg)}25%{opacity:1;letter-spacing:.22em;transform:translate(-50%,-50%)scale(1.04)rotate(-6deg)}70%{opacity:1;letter-spacing:.22em;transform:translate(-50%,-50%)scale(1.02)rotate(-6deg)}to{opacity:0;letter-spacing:.32em;transform:translate(-50%,-50%)scale(1.12)rotate(-6deg)}}.house-reveal{z-index:6;pointer-events:none;mix-blend-mode:screen;animation:2.5s ease-out forwards house-reveal-fade;position:absolute;inset:0;overflow:hidden}.house-reveal:before{content:"";filter:blur(18px);background:linear-gradient(90deg, transparent, var(--house-accent,#ffffff40) 25%, var(--house-primary,#ffffff73) 50%, var(--house-accent,#ffffff40) 75%, transparent);width:70%;animation:2s cubic-bezier(.2,.9,.3,1) forwards house-reveal-sweep;position:absolute;top:-20%;bottom:-20%}.house-reveal-text{letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:var(--house-primary,#fff);text-shadow:0 0 12px color-mix(in srgb, var(--house-accent,#fff) 70%, transparent), 0 0 28px color-mix(in srgb, var(--house-primary,#fff) 55%, transparent);will-change:transform, opacity, letter-spacing;font-family:ui-serif,Georgia,Times New Roman,serif;font-size:clamp(32px,11vw,56px);font-weight:900;animation:2.5s cubic-bezier(.2,.9,.3,1.1) forwards house-reveal-text;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-6deg)}.house-reveal-gryffindor{--house-primary:#eeba30;--house-accent:#ae0001}.house-reveal-slytherin{--house-primary:#2a8f4d;--house-accent:silver}.house-reveal-ravenclaw{--house-primary:#5a8cc7;--house-accent:#946b2d}.house-reveal-hufflepuff{--house-primary:#ecb939;--house-accent:#1a1a1a}.id-root,.id-root *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.id-root input,.id-root textarea{-webkit-user-select:text;user-select:text}@keyframes photo-pulse-ring{0%{box-shadow:0 0 #ffd87cbf,0 0 24px #ffd87c00}60%{box-shadow:0 0 0 18px #ffd87c00,0 0 40px #ffd87c8c}to{box-shadow:0 0 #ffd87c00,0 0 #ffd87c00}}.photo-pulse{animation:1.2s ease-out photo-pulse-ring}@keyframes photo-verify-emoji-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-8deg)}22%{opacity:1;transform:translate(-50%,-50%)scale(1.15)rotate(2deg)}55%{opacity:1;transform:translate(-50%,-50%)scale(1.05)rotate(-1deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.4)rotate(0)}}.photo-verify-overlay{pointer-events:none;mix-blend-mode:screen;z-index:4;background:radial-gradient(circle,#ffd87c2e,#0000 68%);position:absolute;inset:0}.photo-verify-emoji{filter:drop-shadow(0 0 8px #ffd87ccc)drop-shadow(0 0 18px #ffd87c80);font-size:56px;line-height:1;animation:1.3s cubic-bezier(.2,.9,.3,1.1) forwards photo-verify-emoji-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ewis-overlay{z-index:100;color:#fff;text-align:center;-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.ewis-overlay-inner{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:520px;display:flex}.ewis-overlay-tier{text-transform:uppercase;letter-spacing:.18em;background:#00000047;border:1px solid #fff6;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-size:14px;font-weight:700;display:inline-flex}.ewis-overlay-headline{text-shadow:0 2px 12px #0006;margin:0;font-size:clamp(28px,7vw,44px);font-weight:800;line-height:1.1}.ewis-overlay-body{white-space:pre-wrap;text-shadow:0 1px 6px #00000059;max-width:460px;margin:0;font-size:clamp(15px,3.6vw,18px);line-height:1.5}.ewis-overlay-meta{opacity:.85;flex-wrap:wrap;justify-content:center;gap:8px;font-size:12px;display:flex}.ewis-overlay-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.ewis-btn{cursor:pointer;border:0;border-radius:999px;padding:14px 28px;font-size:16px;font-weight:700;transition:transform 50ms,filter .15s}.ewis-btn:active{transform:scale(.97)}.ewis-btn-primary{color:#18181b;background:#fff;box-shadow:0 6px 24px #0000004d}.ewis-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ewis-btn-secondary{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:1px solid #fff6}.ewis-acked{background:#ffffff2e;border:1px solid #ffffff73;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.ewis-overlay-info{background:linear-gradient(150deg,#0f172a 0%,#1e293b 60%,#2563eb 130%)}.ewis-overlay-orange{background:linear-gradient(150deg,#78350f 0%,#b45309 60%,#f59e0b 130%);animation:1.4s ease-in-out infinite ewis-pulse-orange}@keyframes ewis-pulse-orange{0%,to{filter:brightness(.95)}50%{filter:brightness(1.15)}}.ewis-overlay-red{background:linear-gradient(150deg,#450a0a 0%,#991b1b 50%,#dc2626 130%);animation:.6s steps(2,end) infinite ewis-strobe-red;box-shadow:inset 0 0 0 6px #ffffff26}@keyframes ewis-strobe-red{0%{filter:brightness()}50%{filter:brightness(1.4)}to{filter:brightness()}}@media (prefers-reduced-motion:reduce){.ewis-overlay-orange,.ewis-overlay-red{animation:none}}.ewis-enable-sound{align-items:center;gap:8px;padding:10px 18px;font-size:14px;display:inline-flex!important}
