@font-face{font-family:Alfa Slab One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alfa-slab-one-latin-400-normal-CbTZiZTW.woff2) format("woff2"),url(/assets/alfa-slab-one-latin-400-normal-UIGeWgec.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/oswald-latin-400-normal-BAFo8sP8.woff2) format("woff2"),url(/assets/oswald-latin-400-normal-D1wpMXgf.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/oswald-latin-500-normal-B-eyT0Dw.woff2) format("woff2"),url(/assets/oswald-latin-500-normal-DM85Di4w.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/oswald-latin-600-normal-plFmSr5g.woff2) format("woff2"),url(/assets/oswald-latin-600-normal-DRToI_2E.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-vy6hmKSr.woff2) format("woff2"),url(/assets/oswald-latin-700-normal-UmC9Ev9x.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-normal-DnxXpLNu.woff2) format("woff2"),url(/assets/lora-latin-400-normal-DBJS-Hc6.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-italic-DYjZp4sZ.woff2) format("woff2"),url(/assets/lora-latin-400-italic-wRLkZNVE.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lora-latin-600-normal-B-3RcLOQ.woff2) format("woff2"),url(/assets/lora-latin-600-normal-Dc3EneHn.woff) format("woff")}:root{--cream: #f5ebe0;--red: #c1121f;--red-dark: #780000;--gold: #d4a84b;--navy: #003049;--brown: #4a3728;--primary-color: var(--red);--primary-hover: var(--red-dark);--secondary-color: var(--gold);--background: var(--cream);--surface: #fffef9;--surface-light: #efe5d8;--text: var(--brown);--text-muted: #6b5a4a;--danger: var(--red);--warning: var(--gold);--success: #4a8c5c;--border-radius: 0px;--shadow: 3px 3px 0 var(--navy);--frame-width: 520px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Lora,serif;background:var(--cream);color:var(--brown);min-height:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}.btn-primary{display:block;width:100%;background:var(--red);color:#fff;padding:16px 30px;font-family:Oswald,sans-serif;font-size:1.1rem;text-transform:uppercase;letter-spacing:2px;text-decoration:none;border:3px solid var(--red-dark);box-shadow:3px 3px 0 var(--navy);margin-bottom:12px;text-align:center;cursor:pointer;min-height:44px}.btn-primary:hover{background:var(--red-dark);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--navy)}.btn-primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--navy)}.btn-secondary{display:block;width:100%;background:var(--cream);color:var(--navy);padding:14px 30px;font-family:Oswald,sans-serif;font-size:1rem;text-transform:uppercase;letter-spacing:2px;text-decoration:none;border:3px solid var(--navy);text-align:center;cursor:pointer;min-height:44px}.btn-secondary:hover{background:var(--surface-light)}button{font-family:Oswald,sans-serif;background:var(--red);color:#fff;border:3px solid var(--red-dark);padding:12px 24px;border-radius:var(--border-radius);font-size:1rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .15s ease;box-shadow:2px 2px 0 var(--navy)}button:hover{background:var(--red-dark);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--navy)}button:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--navy)}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:2px 2px 0 var(--navy)}input{font-family:Lora,serif;background:var(--surface);border:3px solid var(--navy);color:var(--text);padding:12px 16px;border-radius:var(--border-radius);font-size:1rem;width:100%;transition:border-color .2s ease}input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d4a84b33}input::placeholder{color:var(--text-muted)}.card{background:var(--surface);border-radius:var(--border-radius);padding:24px;border:3px solid var(--brown);box-shadow:4px 4px 0 var(--navy)}play-frame .play-frame-outer{background:var(--red);padding:6px;box-shadow:0 12px 40px #0000002e}play-frame .play-frame-inner{background:var(--cream);border:2px solid var(--navy);padding:24px;position:relative}play-frame .play-corner{position:absolute;width:24px;height:24px;border:3px solid var(--gold)}play-frame .corner-tl{top:8px;left:8px;border-right:none;border-bottom:none}play-frame .corner-tr{top:8px;right:8px;border-left:none;border-bottom:none}play-frame .corner-bl{bottom:8px;left:8px;border-right:none;border-top:none}play-frame .corner-br{bottom:8px;right:8px;border-left:none;border-top:none}play-frame .play-frame-top-slot{position:absolute;top:0;left:50%;transform:translate(-50%,calc(-50% - 4px));z-index:1}play-frame .play-frame-top-slot:empty{display:none}.frame-badge-group{display:inline-flex;align-items:stretch;white-space:nowrap}.frame-badge{display:inline-flex;align-items:center;gap:4px;background:var(--red);color:var(--cream);padding:4px 8px;border:2px solid var(--navy);white-space:nowrap}.room-code-die{display:inline-block;width:22px;height:22px;border:1.5px solid var(--navy);border-radius:3px;overflow:hidden}.room-code-die svg{display:block;width:100%;height:100%}.qr-icon-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:var(--cream);border:2px solid var(--navy);border-left:none;padding:2px 8px;cursor:pointer;box-shadow:none;transition:background .15s ease}.qr-icon-btn:hover{background:var(--brown);transform:none;box-shadow:none}.qr-icon-btn:active{transform:none;box-shadow:none}.qr-icon-btn svg{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;max-height:0;margin-bottom:0}to{opacity:1;max-height:100px;margin-bottom:20px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--surface-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}nav{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--navy);border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:100}.nav-logo{font-family:Alfa Slab One,cursive;font-size:1.1rem;color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:8px}.nav-logo-die{width:24px;height:24px;background:var(--gold);border-radius:4px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:4px;gap:1px}.nav-logo-die .dot{background:var(--navy);border-radius:50%}.nav-cta{font-family:Oswald,sans-serif;background:var(--red);color:#fff;padding:8px 16px;text-decoration:none;text-transform:uppercase;font-weight:600;font-size:.8rem;letter-spacing:1px;border:2px solid var(--red-dark);cursor:pointer;min-height:44px;display:flex;align-items:center}.nav-cta:hover{background:var(--red-dark)}.site-footer{background:var(--navy);padding:25px 20px;text-align:center;border-top:3px solid var(--gold);margin-top:0}.site-footer p{font-family:Oswald,sans-serif;color:#ffffffb3;text-transform:uppercase;letter-spacing:1px;font-size:.75rem;line-height:1.8}.site-footer a{color:var(--gold);text-decoration:none}.site-footer a:hover{text-decoration:underline}.safe-area{height:env(safe-area-inset-bottom,0);background:var(--navy)}@media(min-width:600px){.btn-primary,.btn-secondary{width:auto;display:inline-block;margin:5px}}.badge{display:inline-block;background:var(--navy);color:var(--gold);padding:6px 16px;font-family:Oswald,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:2px}.modal-overlay-base{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}
