:root{--color-police-blue: #0a192f;--color-police-blue-light: #112240;--color-gold: #FFD700;--color-gold-dim: #C5A000;--color-silver: #C0C0C0;--color-alert-red: #ef4444;--color-alert-blue: #3b82f6}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto Slab,serif;background-color:var(--color-police-blue);color:#fff;overflow-x:hidden;position:relative;background-image:radial-gradient(var(--color-police-blue-light) 15%,transparent 16%),radial-gradient(var(--color-police-blue-light) 15%,transparent 16%);background-size:20px 20px;background-position:0 0,10px 10px}.siren-glow{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.15),transparent 40%),radial-gradient(circle at 80% 80%,rgba(239,68,68,.15),transparent 40%);animation:sirenPulse 4s infinite ease-in-out}@keyframes sirenPulse{0%,to{opacity:.5}50%{opacity:.8}}.police-car-chase-container{position:fixed;bottom:0;left:0;width:100%;height:32vh;min-height:160px;z-index:1;pointer-events:none}.police-car-chase-container canvas{display:block;width:100%;height:100%}@media(prefers-reduced-motion:reduce){.police-car-chase-container{display:none}}@media(max-width:768px){.police-car-chase-container{height:28vh;min-height:140px}}@media(max-width:480px){.police-car-chase-container{height:24vh;min-height:120px}}.badge-watermark{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80vh;height:80vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='%23FFD700' opacity='0.03'%3E%3Cpath d='M50 0 L90 20 L80 90 L50 100 L20 90 L10 20 Z' /%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;z-index:0;pointer-events:none}.police-tape-container{position:fixed;width:120%;height:50px;background:#fbbf24;left:-10%;z-index:5;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000004d;overflow:hidden;border-top:4px solid black;border-bottom:4px solid black}.top-tape{top:0;transform:rotate(2deg) translateY(-15px)}.bottom-tape{bottom:0;transform:rotate(-2deg) translateY(15px);background:#000;background:#fbbf24}.police-tape{white-space:nowrap;color:#000;font-family:Oswald,sans-serif;font-weight:900;font-size:1.5rem;animation:tapeScroll 20s linear infinite;letter-spacing:2px}.police-tape-reverse{white-space:nowrap;color:#000;font-family:Oswald,sans-serif;font-weight:900;font-size:1.5rem;animation:tapeScrollReverse 20s linear infinite;letter-spacing:2px}@keyframes tapeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes tapeScrollReverse{0%{transform:translate(-50%)}to{transform:translate(0)}}.police-tape-divider{height:10px;background:repeating-linear-gradient(45deg,#000,#000 20px,#fbbf24 20px 40px);width:100%;max-width:400px;margin-left:auto;margin-right:auto;border:1px solid #fff}.font-oswald{font-family:Oswald,sans-serif}.text-gold{color:var(--color-gold);text-shadow:2px 2px 0px #000}.header-text{font-family:Oswald,sans-serif;text-shadow:4px 4px 0px #000,0px 0px 20px rgba(255,215,0,.4);letter-spacing:1px}.subheader-text{text-shadow:2px 2px 4px rgba(0,0,0,.8)}.header-compact{margin-top:-24px}.header-badge-overlap{position:relative;min-height:750px;margin-top:-40px;display:flex;flex-direction:column;align-items:center}.badge-container{position:relative;z-index:1}.birthday-title-overlap{position:relative;z-index:2;margin-top:-220px;margin-bottom:0}.police-badge-icon{width:728px;height:874px;max-width:95vw;object-fit:contain;display:block;margin:0 auto;background:transparent;padding:0!important;box-sizing:content-box!important;border:none!important;border-radius:0!important;border-color:#0000!important;position:static!important;left:unset!important;top:unset!important;animation:badgeShine 4s infinite}@keyframes badgeShine{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.2)}}.police-btn-large{background:linear-gradient(to bottom,#1e3a8a,#172554);border:2px solid var(--color-gold);color:var(--color-gold);padding:1rem 2rem;font-family:Oswald,sans-serif;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;border-radius:8px;box-shadow:0 4px 6px #0006,0 0 15px #ffd70033;cursor:pointer;position:relative;overflow:hidden}.police-btn-large:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.police-btn-large:hover:before{left:100%}.police-btn-large:hover{background:linear-gradient(to bottom,#1e40af,#1e3a8a);box-shadow:0 0 20px #ffd70066}.polaroid-zone{position:relative;min-height:50vh;padding:1rem;padding-bottom:120px;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.polaroid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;width:100%;max-width:100%}.polaroid-loading__spinner{width:48px;height:48px;border:4px solid rgba(255,215,0,.3);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.polaroid-loading__text{margin-top:1rem;color:var(--color-gold);font-size:1.125rem;font-weight:700;letter-spacing:.05em}.polaroid-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;width:100%;max-width:600px;text-align:center}.polaroid-empty-state__icon{font-size:3.5rem;line-height:1}.polaroid-empty-state__text{margin-top:1rem;font-size:1.25rem;font-weight:700;color:var(--color-gold);text-shadow:1px 1px 2px rgba(0,0,0,.8)}.polaroid-empty-state--error{color:#ef4444}.polaroid-empty-state--error p{color:inherit}.polaroid-card{position:absolute;background:#fdfdfd;padding:10px;box-shadow:0 10px 20px #00000080;border:1px solid #ccc;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center center;width:260px;opacity:0;z-index:1}.polaroid-card:before{content:"EVIDENCE";position:absolute;top:-10px;left:10px;background:#ef4444;color:#fff;font-size:.7rem;padding:2px 6px;font-weight:700;transform:rotate(-15deg);border:1px solid white;box-shadow:1px 1px 3px #0000004d;z-index:2}.polaroid-card.dropping{animation:dropBounce .8s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dropBounce{0%{transform:scale(3) translateY(-100vh) rotate(0);opacity:0}70%{transform:scale(1);opacity:1}to{opacity:1}}.polaroid-card:hover{transform:scale(1.1) rotate(0)!important;z-index:100!important;box-shadow:0 20px 40px #000000b3}.polaroid-photo{width:100%;height:200px;background:#333;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:.5rem;border-bottom:1px solid #eee}.polaroid-photo img,.polaroid-photo video{width:100%;height:100%;object-fit:cover;filter:sepia(.2) contrast(1.1)}.polaroid-photo.no-media{background:#fff;background-image:repeating-linear-gradient(#fff 0px 24px,#08f2 25px);padding:1rem;color:#333;font-family:Courier New,Courier,monospace;font-size:1rem;align-items:flex-start;overflow-y:hidden}.polaroid-message-only{font-family:Courier New,Courier,monospace;font-weight:700}.polaroid-caption{font-family:Courier New,Courier,monospace;padding:.5rem;color:#333;background:#f0f0f0;border-top:1px solid #ddd}.polaroid-name{font-weight:900;font-size:1rem;text-transform:uppercase;color:var(--color-police-blue);border-bottom:1px solid #ccc;margin-bottom:4px;padding-bottom:2px}.polaroid-message{font-size:.85rem;color:#555;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:8px;display:flex;align-items:center;gap:10px;z-index:99999;font-weight:600;box-shadow:0 4px 20px #0006;transition:opacity .3s ease}.toast.success{background:#166534;color:#fff;border:2px solid var(--color-gold)}.toast.error{background:#991b1b;color:#fff;border:2px solid #ef4444}#messageModal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#messageModal.active{display:flex!important}textarea::-webkit-scrollbar{width:8px}textarea::-webkit-scrollbar-track{background:#1f2937}textarea::-webkit-scrollbar-thumb{background:#fbbf24;border-radius:4px}.media-preview-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;opacity:0;transition:opacity .3s ease}.media-preview-modal.active{opacity:1}.media-preview-overlay{position:absolute;width:100%;height:100%;background:#0a192ffa}.media-preview-content{position:relative;z-index:10001;max-width:90vw;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;border:4px solid var(--color-gold);box-shadow:0 0 50px #ffd7001a;background:#000;padding:20px}.media-preview-container img,.media-preview-container video{max-height:70vh;border:2px solid #333}.media-preview-caption{background:#111;color:#fff;padding:15px;margin-top:15px;border-left:4px solid var(--color-gold);font-family:Courier New,monospace}.media-preview-author{color:var(--color-gold);font-weight:700;text-transform:uppercase}.media-preview-nav,.media-preview-close,.media-preview-download{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;z-index:10002;cursor:pointer;transition:all .2s}.media-preview-nav:hover,.media-preview-close:hover{background:var(--color-gold);color:#000}.media-preview-nav{position:absolute;top:50%;width:50px;height:50px;border-radius:50%;font-size:2rem;display:flex;align-items:center;justify-content:center}.media-preview-prev{left:20px}.media-preview-next{right:20px}.media-preview-close{position:absolute;top:20px;right:20px;width:40px;height:40px;font-size:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%}.media-preview-download{position:absolute;top:20px;right:80px;width:40px;height:40px;font-size:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulseSoft{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.animate-fadeIn{animation:fadeIn 1s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-bounce-slow{animation:bounceSlow 3s ease-in-out infinite}.animate-pulse-soft{animation:pulseSoft 2s ease-in-out infinite}#patrol-cop-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none}#patrol-cop-overlay canvas{display:block;width:100%;height:100%}@media(max-width:768px){.police-tape{font-size:1rem;letter-spacing:1px}.header-text{font-size:3.5rem!important}.subheader-text{font-size:1.2rem!important}.police-badge-icon{width:min(560px,95vw);height:auto;aspect-ratio:5/6}.header-badge-overlap{min-height:620px}.birthday-title-overlap{margin-top:-140px}.polaroid-zone{min-height:40vh;padding-bottom:100px}.polaroid-card{width:160px}.polaroid-photo{height:140px}.polaroid-empty-state__icon{font-size:2.5rem}.polaroid-empty-state__text{font-size:1rem}.polaroid-loading__spinner{width:40px;height:40px}.polaroid-loading__text{font-size:1rem}}@media(max-width:480px){.police-badge-icon{width:min(500px,95vw)}.header-text{font-size:2.5rem!important}.header-badge-overlap{min-height:550px}.birthday-title-overlap{margin-top:-110px}.polaroid-zone{min-height:35vh;padding-bottom:80px}.polaroid-empty-state{padding:2rem 1rem}.polaroid-empty-state__icon{font-size:2rem}.polaroid-empty-state__text{font-size:.95rem}.media-preview-content{max-height:85vh}.media-preview-container>div p{font-size:1.5rem!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif!important;font-weight:500!important}}
