@charset "UTF-8";:root{--bg:#111311;--bg-alt:#1a1d19;--paper:#eee9dc;--ink:#24261f;--text:#f0eee5;--muted:#a1a79a;--red:#a82f27;--red-bright:#e95040;--gold:#c9d79e;--border:#30362d;--border-strong:#505846;--radius:12px;--serif:"Spectral",Georgia,serif;--sans:"Public Sans",-apple-system,BlinkMacSystemFont,sans-serif;--mono:"IBM Plex Mono","SF Mono",monospace;--display:Impact,"Arial Narrow",sans-serif}*{box-sizing:border-box}html{color-scheme:dark;scroll-padding-bottom:110px}#__nuxt,body,html{margin:0;min-height:100%}body{background:radial-gradient(ellipse at 90% 0,rgba(107,122,79,.1),transparent 42%),var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a,button,input,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.45}svg{display:block}.wrap{margin:0 auto;max-width:720px;padding:28px 24px calc(64px + env(safe-area-inset-bottom,0px))}.app-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;margin:auto;max-width:1040px;padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 20px max(24px,env(safe-area-inset-left,0px))}.brand{align-items:center;display:inline-flex;gap:10px;text-decoration:none}.brand svg{color:var(--red-bright);height:30px;width:30px}.brand-name{font-family:var(--display);font-size:29px;letter-spacing:.055em;line-height:1}.eyebrow,.header-note{color:var(--muted);font:10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase}.header-note{border-left:1px solid var(--border-strong);max-width:145px;padding-left:16px}.skip-link{background:var(--paper);color:var(--ink);left:16px;padding:14px;position:fixed;top:-100px;z-index:100}.skip-link:focus{top:12px}.masthead{margin-bottom:6px;padding:14px 0 24px}.stamp{align-items:center;color:var(--gold);display:inline-flex;font:10px/1.5 var(--mono);gap:9px;letter-spacing:.13em;margin-bottom:16px}.stamp:before{background:var(--gold);box-shadow:0 0 0 4px #c9d79e14;content:"";height:7px;width:7px}h1{font-family:var(--sans);font-size:clamp(32px,5vw,44px);font-weight:700;letter-spacing:-.055em;line-height:1.12;margin:0;overflow-wrap:anywhere}h2{font-size:20px;letter-spacing:-.035em;line-height:1.25;margin:0 0 10px}h3{font-size:16px;margin:0 0 8px}.tagline,p{line-height:1.65}.tagline{color:var(--muted);font-size:14px;margin:14px 0 0;max-width:52ch}.card{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:18px;padding:24px}.hint{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 18px}.card>p:last-child{margin-bottom:0}.eyebrow{display:block;margin-bottom:10px}.field{margin-bottom:20px}label{color:var(--muted);display:block;font:10px/1.6 var(--mono);letter-spacing:.065em;margin-bottom:8px}input[type=password],input[type=text],textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-size:16px;min-height:52px;min-width:0;padding:14px;resize:vertical;width:100%}input:focus,textarea:focus{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:2px}textarea{line-height:1.7;min-height:164px}input::-moz-placeholder,textarea::-moz-placeholder{color:#808779;opacity:1}input::placeholder,textarea::placeholder{color:#808779;opacity:1}input.code-input{font:24px var(--mono);letter-spacing:.35em;min-height:64px;text-align:center;text-transform:uppercase}.btn{align-items:center;background:var(--paper);border:1px solid transparent;border-radius:8px;color:var(--ink);display:inline-flex;font-size:13px;font-weight:700;gap:10px;justify-content:center;min-height:50px;padding:13px 20px;text-decoration:none;transition:background .15s,transform .15s}.btn:hover{background:#fff}.btn:active{transform:translateY(1px)}.btn.primary{background:#c63f31;color:#fff}.btn.primary:hover{background:#cc4234}.btn.ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn.ghost:hover{background:#c9d79e12}.btn.small{font-size:12px;min-height:44px;padding:10px 14px}.btn.danger{background:transparent;border-color:var(--red);color:#ff9c8e}.btn.danger:hover{background:#b23a2e1a}.btn.block{width:100%}.text-button{background:none;border:0;color:var(--muted);font-size:12px;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.card-top{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.card-top .eyebrow{margin:0}.status-line{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font:11px/1.6 var(--mono);gap:10px;margin-bottom:18px}.dot{background:var(--muted);border-radius:50%;display:inline-block;flex:0 0 auto;height:6px;width:6px}.dot.alive{background:var(--gold)}.dot.dead{background:var(--red-bright)}.dot.win{background:var(--gold)}.stats-strip{background:#1a1d19a6;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 0 24px}.stat{border-right:1px solid var(--border);padding:16px 14px}.stat:last-child{border:0}.stat strong{display:block;font:25px var(--mono);letter-spacing:-.06em}.stat span{color:var(--muted);display:block;font:9px/1.6 var(--mono);letter-spacing:.04em;margin-top:5px;text-transform:uppercase}.admin-tabs,.player-tabs{background:var(--bg);border-bottom:1px solid var(--border);display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;padding:10px 0;position:sticky;top:0;z-index:10}.admin-tab,.player-tab{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);display:flex;font-size:12px;font-weight:600;gap:8px;justify-content:center;min-height:50px;padding:10px 4px}.admin-tab svg,.player-tab svg{flex-shrink:0;height:20px;width:20px}.admin-tab[aria-selected=true],.player-tab[aria-selected=true]{background:#242920;border-color:#454d3a;color:var(--paper)}.admin-tab[aria-selected=true] svg,.player-tab[aria-selected=true] svg{color:var(--gold)}.admin-wrap{max-width:860px}.admin-panel{outline-offset:4px}.admin-wrap .method-row .remove-btn{height:44px;width:44px}.admin-wrap .method-row input[type=checkbox]{accent-color:var(--gold);flex-shrink:0;height:44px;width:24px}.game-list{display:grid;gap:10px;margin-top:20px}.game-choice{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);display:flex;flex-direction:column;gap:8px;padding:18px 42px 18px 18px;position:relative;text-align:left;width:100%}.game-choice:after{color:var(--muted);content:"↗";font-size:18px;position:absolute;right:16px;top:20px}.game-choice.selected{background:#c9d79e0e;border-color:var(--gold)}.game-choice-name{font-size:17px;font-weight:600;letter-spacing:-.03em;overflow-wrap:anywhere}.game-choice-meta{color:var(--muted);font:10px/1.7 var(--mono)}.game-actions{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:16px}.game-actions a{align-items:center;display:inline-flex;min-height:44px}input.share-link{font:12px var(--mono);letter-spacing:0}.codes-table{border-collapse:collapse;margin-top:20px;table-layout:fixed;width:100%}.codes-table th{border-bottom:1px solid var(--border-strong);color:var(--muted);font:9px var(--mono);padding:8px 6px;text-align:left;text-transform:uppercase}.codes-table td{border-bottom:1px solid var(--border);font-size:12px;overflow-wrap:anywhere;padding:14px 6px}.codes-table td.code{color:var(--gold);font:14px var(--mono);letter-spacing:.1em}.codes-table tr.dead td{color:var(--muted)}.method-row{align-items:center;display:flex;gap:8px;margin-bottom:10px}.method-row input[type=text]{flex:1;font-size:14px}.remove-btn{background:transparent;border:1px solid var(--border-strong);border-radius:8px;color:var(--muted);flex:0 0 auto;font-size:22px;height:44px;width:44px}.remove-btn:hover{border-color:var(--red);color:var(--red-bright)}.mission-file-input{color:var(--text);display:block;font-size:14px;min-height:48px;width:100%}.mission-file-input::file-selector-button{background:var(--bg);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);cursor:pointer;font:inherit;margin-right:10px;min-height:44px;padding:10px 12px}.alert,.success{background:#b23a2e1f;border:1px solid var(--red);border-radius:8px;color:#ffb3a8;font-size:13px;line-height:1.6;margin:0 0 16px;padding:14px}.success{background:#6b7a4f1f;border-color:#657347;color:#d4e4ad}.import-feedback{margin:16px 0 0;overflow-wrap:anywhere}.loading{color:var(--muted);font:12px/1.8 var(--mono)}.loading:before{animation:spin .8s linear infinite;border:2px solid var(--border-strong);border-radius:50%;border-top-color:var(--gold);content:"";display:inline-block;height:12px;margin-right:12px;vertical-align:-2px;width:12px}@keyframes spin{to{transform:rotate(1turn)}}.footer-note{color:var(--muted);font:11px/1.8 var(--sans);margin-top:30px;text-align:center}.mission{background:var(--paper);border-radius:var(--radius);box-shadow:0 12px 32px #0002;color:var(--ink);margin-bottom:20px;overflow:hidden;padding:28px;position:relative}.mission:after{background:repeating-linear-gradient(0deg,transparent,transparent 3px,#24261f03 0,#24261f03 4px);content:"";inset:0;pointer-events:none;position:absolute}.mission .label{color:#5f6455;font:10px/1.7 var(--mono);letter-spacing:.08em}.mission-top{align-items:center;border-bottom:1px solid #24261f30;display:flex;gap:10px;justify-content:space-between;margin-bottom:26px;padding-bottom:18px}.mission-classification{border:1px solid #a82f27;color:#a82f27;font:9px var(--mono);letter-spacing:.1em;padding:6px 8px;transform:rotate(-3deg)}.mission .target{font-family:var(--display);font-size:clamp(42px,9vw,68px);letter-spacing:-.02em;line-height:1.1;margin:8px 0 24px;overflow-wrap:anywhere;text-transform:uppercase}.mission .mission-text{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.45;margin:8px 0 24px}.mission-bottom{border-top:1px dashed #24261f40;color:#5f6455;display:flex;font:9px/1.6 var(--mono);gap:12px;justify-content:space-between;padding-top:16px}.barcode{background:repeating-linear-gradient(90deg,#24261f 0 2px,transparent 2px 4px,#24261f 4px 5px,transparent 5px 8px);display:inline-block;height:17px;opacity:.6;width:65px}.mission-hidden{padding:36px 20px;text-align:center}.mission-hidden svg{color:var(--gold);height:48px;margin:0 auto 20px;width:48px}.rules{color:var(--muted);font-size:12px;margin:20px 0}.rules summary{cursor:pointer;line-height:1.6;min-height:44px;padding:12px 0}.rules ol{line-height:1.8;padding-left:20px}.rules li{padding:6px 0}.action-card{overflow:hidden;padding:0}.action-card summary{align-items:center;cursor:pointer;display:flex;gap:14px;list-style:none;min-height:80px;padding:20px}.action-card summary::-webkit-details-marker{display:none}.action-card summary:after{color:var(--gold);content:"+";font-size:24px;margin-left:auto}.action-card[open] summary:after{content:"−"}.action-card summary strong{display:block;font-size:15px}.action-card summary span{color:var(--muted);display:block;font-size:11px;margin-top:6px}.action-card .action-body{padding:0 20px 20px}.elimination-action{border:1px solid #e26455;box-shadow:0 6px 20px #0003}.elimination-action summary{background:#c63f31;color:#fff;gap:14px;min-height:108px;padding:20px}.elimination-action summary:hover{background:#cc4234}.elimination-action summary strong{font-size:20px;font-weight:700;letter-spacing:-.04em;line-height:1.2}.elimination-action summary span{color:#fff;font-size:12px;line-height:1.5;margin-top:6px}.elimination-action summary .action-kicker{font:9px/1.5 var(--mono);letter-spacing:.12em;margin:0 0 6px}.elimination-action-icon{flex:0 0 auto;height:42px;width:42px}.elimination-action summary:after{color:#fff;flex:0 0 auto;font-size:28px}.elimination-action summary:focus-visible{outline:3px solid var(--paper);outline-offset:-5px}.elimination-action[open] .action-body{padding-top:22px}.personal-code-card{border-style:dashed;padding:36px 24px;position:relative;text-align:center}.personal-code{color:var(--gold);font:clamp(40px,12vw,64px) var(--mono);letter-spacing:.18em;margin:30px 0;text-indent:.18em;-webkit-user-select:all;-moz-user-select:all;user-select:all}.personal-code-card .hint{margin:0 auto 20px;max-width:35ch}.code-owner{border-top:1px dashed var(--border-strong);color:var(--muted);font:11px var(--mono);padding-top:20px}.winner-banner{background:radial-gradient(ellipse at 50% 0,#65734733,transparent 80%),var(--bg-alt);border:1px solid #596640;border-radius:var(--radius);margin-bottom:20px;padding:36px 24px;position:relative;text-align:center}.winner-banner .label{color:var(--gold);font:10px var(--mono);letter-spacing:.14em}.winner-banner .name{font-family:var(--display);font-size:48px;margin:16px 0;overflow-wrap:anywhere;text-transform:uppercase}.winner-seal{color:var(--gold);height:54px;margin:0 auto 24px;width:54px}.name-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.name-grid .name-btn{font-size:14px;min-height:56px;overflow-wrap:anywhere;text-align:center}.lb-row{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:14px;gap:10px;justify-content:space-between;padding:18px 0}.lb-row:last-child{border:0}.lb-name{align-items:center;display:flex;gap:12px;min-width:0;overflow-wrap:anywhere}.lb-rank{color:var(--muted);flex-shrink:0;width:24px}.lb-kills,.lb-rank{font:12px var(--mono)}.lb-kills{color:var(--gold);white-space:nowrap}.lb-state{color:var(--muted);display:block;font:10px var(--mono);margin-top:5px}.landing-wrap{max-width:1040px;padding-top:54px}.landing-hero{align-items:center;display:grid;gap:40px;grid-template-columns:1.2fr 1fr;margin-bottom:54px}.hero-title{font-family:var(--display);font-size:clamp(64px,7vw,88px);letter-spacing:-.015em;line-height:.94;text-transform:uppercase}.hero-title span{color:var(--red-bright)}.hero-intro{color:var(--muted);font-size:14px;line-height:1.8;margin:24px 0 30px;max-width:38ch}.hero-art{align-items:center;background:radial-gradient(circle,#5e6c3933 0,transparent 66%);display:flex;justify-content:center;min-height:340px;position:relative}.hero-orbit{border:1px solid var(--border-strong);border-radius:50%;height:290px;position:absolute;width:290px}.hero-orbit:after,.hero-orbit:before{background:var(--border-strong);content:"";position:absolute}.hero-orbit:before{height:1px;left:-20px;right:-20px;top:50%}.hero-orbit:after{bottom:-20px;left:50%;top:-20px;width:1px}.hero-dossier{background:var(--paper);box-shadow:8px 8px #2c3228,0 30px 60px #0006;color:var(--ink);padding:22px;position:relative;transform:rotate(-7deg);width:225px}.hero-dossier .eyebrow{color:#5f6455;font-size:8px}.hero-dossier svg{color:#a82f27;height:85px;margin:24px auto;width:85px}.hero-dossier strong{display:block;font:36px var(--display);line-height:1;text-transform:uppercase}.hero-dossier .redacted{background:var(--ink);height:8px;margin-top:12px;width:85%}.hero-dossier .redacted.short{width:60%}.hero-art-label{bottom:4px;color:var(--muted);font:9px var(--mono);letter-spacing:.08em;position:absolute;right:0}.landing-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr}.landing-grid .card{margin:0}.step-no{color:var(--gold);display:block;font:12px var(--mono);margin-bottom:24px}.rules-strip{border-top:1px solid var(--border);color:var(--muted);display:flex;font:9px/1.7 var(--mono);gap:16px;justify-content:space-between;letter-spacing:.04em;margin-top:30px;padding-top:24px}.login-wrap{max-width:520px;padding-top:52px}.login-wrap .card{margin-top:10px}@media(min-width:760px){.game-list{grid-template-columns:1fr 1fr}.admin-wrap .masthead{max-width:560px}}@media(max-width:640px){.wrap{padding-top:22px}.app-header,.wrap{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}.app-header{padding-bottom:18px}.admin-wrap,.player-wrap{padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))}.admin-tabs,.player-tabs{background:var(--paper);border-bottom:0;border-top:3px solid #c63f31;box-shadow:0 -8px 28px #0006;inset:auto 0 0;margin:0;padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));position:fixed}.admin-tab,.player-tab{color:#353b2e;flex-direction:column;font-size:12px;font-weight:700;gap:6px;min-height:64px}.admin-tab svg,.player-tab svg{height:24px;width:24px}.admin-tab:hover,.player-tab:hover{background:#ded8c9}.admin-tab[aria-selected=true],.player-tab[aria-selected=true]{background:#c63f31;border-color:#a82f27;box-shadow:0 2px 4px #24261f26;color:#fff}.admin-tab[aria-selected=true] svg,.player-tab[aria-selected=true] svg{color:#fff}.admin-tab:focus-visible,.player-tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.elimination-action summary{gap:10px;padding:18px 16px}.elimination-action-icon{height:30px;width:30px}.elimination-action summary strong{font-size:19px}.elimination-action summary span{font-size:11px}.card{padding:22px 20px}.action-card{padding:0}.mission{padding:24px}.landing-hero{gap:20px;grid-template-columns:1fr;margin-bottom:28px}.landing-wrap{padding-top:34px}.hero-title{font-size:clamp(64px,16vw,94px)}.hero-art{min-height:280px}.hero-orbit{height:240px;width:240px}.hero-dossier{padding:18px;width:205px}.hero-dossier svg{height:66px;margin:18px auto;width:66px}.hero-art-label{right:8px}.landing-grid{grid-template-columns:1fr}.rules-strip{flex-wrap:wrap}.login-wrap{padding-top:34px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important;transition:none!important}}.join-form{margin:28px 0 18px;max-width:420px}.join-fields{display:flex;gap:10px}.join-fields input{font:20px var(--mono);letter-spacing:.16em;min-width:0;text-transform:uppercase}.join-fields .btn{flex-shrink:0}.join-form .hint{font-size:11px;margin-top:10px}.organize-link{align-items:center;color:var(--muted);display:inline-flex;font-size:12px;gap:10px;min-height:44px}.party-access{border:1px dashed var(--border-strong);border-radius:8px;margin:20px 0;padding:18px}.party-access strong{color:var(--gold);display:block;font:30px var(--mono);letter-spacing:.18em;margin-bottom:10px}.party-access .hint{display:block;font-size:11px;margin:0}.player-wrap .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.player-wrap .stat{padding:12px 14px}.player-wrap .card-top{margin-bottom:8px}.player-wrap .masthead{padding-bottom:18px;padding-top:0}.player-wrap .status-line{margin-bottom:12px}.elimination-scene{aspect-ratio:3/2;border-radius:8px;display:block;height:auto;margin-bottom:22px;max-height:270px;-o-object-fit:cover;object-fit:cover;width:100%}.refresh-status{margin:0 0 14px}@media(max-width:640px){.player-wrap .mission-top{margin-bottom:18px;padding-bottom:14px}.player-wrap .mission .target{margin-bottom:18px}.player-wrap .mission .mission-text{font-size:20px;margin-bottom:18px}.player-wrap .card-top .text-button{min-height:36px}.player-wrap .tagline{margin-top:10px}.player-wrap .stamp{margin-bottom:12px}.player-wrap .stat strong{font-size:22px}}.section-scene{border-radius:8px;display:block;height:170px;margin-bottom:24px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}.personal-code-card .personal-code{margin:22px 0}.personal-code-card{padding-top:20px}.code-scene{border-bottom:1px solid var(--border-strong)}.leaderboard-scene{height:190px}@media(max-width:640px){.section-scene{height:145px}.leaderboard-scene{height:160px}}.import-mode{border:0;display:grid;gap:10px;margin:20px 0;min-width:0;padding:0}.import-mode legend{color:var(--muted);font-size:11px;letter-spacing:.08em;margin-bottom:12px;padding:0}.import-choice{align-items:flex-start;border:1px solid var(--border-strong);border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:14px}.import-choice.selected{background:#c2372917;border-color:var(--red)}.import-choice:focus-within{outline:2px solid var(--text);outline-offset:3px}.import-choice input[type=radio]{accent-color:var(--red);flex:0 0 20px;height:20px;margin:2px 0 0;width:20px}.import-choice strong{color:var(--text);display:block;font-size:14px;letter-spacing:normal;margin-bottom:5px}.import-choice span span{color:var(--muted);display:block;font-size:13px;font-weight:400;letter-spacing:normal;line-height:1.5}.import-mode:disabled .import-choice{cursor:wait;opacity:.6}
