@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#f5f7ff;background:#080b14;font-family:Space Grotesk,sans-serif;font-synthesis:none;--ink: #f5f7ff;--muted: #9299aa;--line: rgba(255, 255, 255, .12);--panel: rgba(18, 23, 39, .82);--acid: #c6ff3d;--violet: #8c67ff;--danger: #ff6b7a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.25;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 80%);mask-image:linear-gradient(to bottom,black,transparent 80%)}.landing-shell,.participant-shell,.admin-shell{min-height:100vh;position:relative}.landing-shell{overflow:hidden}.participant-shell,.admin-shell{overflow-x:hidden}nav{height:76px;padding:0 clamp(24px,6vw,90px);display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);font-family:IBM Plex Mono,monospace;letter-spacing:.08em}nav a{margin-left:auto;color:var(--muted)}.brand-mark{color:var(--acid);font-size:26px}.landing-copy{width:min(720px,calc(100% - 48px));margin:clamp(70px,12vh,150px) auto 0;position:relative;z-index:2}.eyebrow{color:var(--acid);font:600 12px/1.4 IBM Plex Mono,monospace;letter-spacing:.15em}h1{font-size:clamp(44px,8vw,88px);line-height:.96;margin:24px 0;letter-spacing:-.055em}h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1px var(--acid)}.landing-copy>p,.lead{max-width:570px;color:#c1c6d3;font-size:18px;line-height:1.7}.code-form{display:flex;gap:12px;margin:36px 0 14px;max-width:580px}.code-form input{flex:1;min-width:0;padding:16px 18px;color:var(--ink);background:#ffffff0d;border:1px solid var(--line);font-family:IBM Plex Mono,monospace;letter-spacing:.12em}.landing-copy small{color:var(--muted)}.orb{position:absolute;width:430px;height:430px;right:-100px;top:180px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--acid),var(--violet) 40%,transparent 68%);filter:blur(30px);opacity:.28}.primary-button,.ghost-button{border:1px solid transparent;border-radius:4px;padding:13px 18px;cursor:pointer;font-weight:700;display:inline-flex;justify-content:center;align-items:center}.primary-button{background:var(--acid);color:#101408}.primary-button:hover{box-shadow:0 0 28px #c6ff3d3d}.primary-button.small{padding:9px 13px}.ghost-button{color:var(--ink);background:transparent;border-color:var(--line)}.ghost-button:hover{border-color:var(--acid)}.page-header{padding:54px clamp(22px,5vw,72px) 32px;display:flex;align-items:end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.page-header h1{font-size:clamp(36px,5vw,62px);margin:12px 0}.page-header p{color:var(--muted);margin:0}.admin-grid{max-width:1280px;margin:0 auto;padding:42px 24px 80px;display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:28px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:0 20px 60px #00000038;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.form-panel{padding:26px}.section-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.section-heading h2{margin:0 0 6px}.section-heading p{color:var(--muted);margin:0}.step{color:var(--acid);font:600 13px IBM Plex Mono,monospace;border:1px solid var(--line);padding:7px}label{display:grid;gap:8px;margin:17px 0;color:#cbd0dc;font-size:14px}input,textarea,select{width:100%;color:var(--ink);background:#0b0f1b;border:1px solid var(--line);border-radius:3px;padding:12px 13px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--acid)}textarea{min-height:84px;resize:vertical}.form-actions,.card-actions{display:flex;gap:10px;flex-wrap:wrap}.form-actions{margin-top:22px}.error-message{color:var(--danger)}.success-message{color:var(--acid)}.muted{color:var(--muted)}.experience-list{min-width:0}.experience-card{padding:24px;display:grid;grid-template-columns:1fr auto;gap:28px;margin-bottom:16px}.experience-card h3{font-size:24px;margin:16px 0 8px}.experience-card p{color:var(--muted);line-height:1.55}.status-row{display:flex;gap:12px;align-items:center}.badge{color:var(--muted);border:1px solid var(--line);padding:5px 8px;font:600 11px IBM Plex Mono}.badge.active{color:var(--acid);border-color:var(--acid)}.code{color:var(--muted);font:12px IBM Plex Mono}.duration{display:block;color:var(--acid);margin:14px 0;font-family:IBM Plex Mono}.qr-box{background:#fff;color:#111;padding:12px;display:grid;place-items:center;gap:8px;height:fit-content}.qr-box a{font:600 12px IBM Plex Mono;text-decoration:underline}.empty-state{padding:60px;text-align:center;color:var(--muted)}.empty-state span{color:var(--acid);font-size:40px}.participant-shell{width:min(760px,100%);margin:auto;padding:36px 24px 80px}.mission-progress{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;color:var(--muted);font:11px IBM Plex Mono}.mission-progress div{height:2px;background:var(--line)}.mission-progress i{display:block;width:18%;height:100%;background:var(--acid)}.mission-hero{padding:70px 0 36px}.mission-hero h1{font-size:clamp(46px,9vw,82px)}.mission-meta{display:flex;gap:22px;color:var(--muted);font:13px IBM Plex Mono;margin-top:26px}.instruction-panel{padding:24px;display:flex;gap:18px}.instruction-panel h2{margin:0 0 8px}.instruction-panel p{color:var(--muted);line-height:1.6;margin:0}.mission-card{margin-top:18px;padding:30px;border:1px solid var(--acid);background:linear-gradient(135deg,rgba(198,255,61,.08),transparent)}.mission-card h2{font-size:clamp(26px,5vw,42px);line-height:1.15;margin:18px 0 30px}.game-card h2{margin-bottom:12px}.challenge-meta{display:flex;justify-content:space-between;gap:18px;color:var(--muted)}.challenge-prompt{color:#cbd0dc;font-size:18px;line-height:1.6}.answer-form{margin-top:26px}.scan-button{width:100%;margin-top:14px}.manual-alternative,.scanner-help{color:var(--muted);font-size:13px}.scanner-panel{margin-top:18px;padding:18px;border:1px solid var(--line);background:#080b14}.scanner-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.scanner-heading h2,.scanner-heading h3{margin:6px 0 16px}.camera-frame{position:relative;min-height:260px;display:grid;place-items:center;overflow:hidden;background:#000}.camera-frame video{width:100%;max-height:420px;display:block;object-fit:cover}.camera-frame>p{position:absolute;color:#fff}.scan-target{position:absolute;width:min(65vw,230px);aspect-ratio:1;border:3px solid var(--acid);box-shadow:0 0 0 999px #00000052}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#000000c7}.qr-dialog{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:26px}.printable-qr{width:fit-content;margin:10px auto 24px;padding:20px;display:grid;place-items:center;gap:12px;color:#111;background:#fff;font:700 18px IBM Plex Mono}.feedback,.hint{margin-top:20px;padding:16px;border:1px solid var(--line)}.hint{background:#c6ff3d0f}.hint p{margin-bottom:0}.result-card{text-align:center}.result-card strong{display:block;color:var(--acid);font:600 42px IBM Plex Mono}.result-card p{color:var(--muted);margin:18px 0 28px}.config-band{border-top:1px solid var(--line);padding:42px max(24px,calc((100% - 1280px)/2)) 80px}.config-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.config-header h2{font-size:32px;margin:8px 0 0}.config-toolbar{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.config-toolbar label{margin:0;min-width:150px}.config-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:28px;align-items:start}.physical-grid{margin-top:40px;padding-top:40px;border-top:1px solid var(--line)}.field-row{display:grid;grid-template-columns:90px 1fr 110px;gap:12px}.field-row label{min-width:0}.check-label{grid-template-columns:auto 1fr;align-items:center}.check-label input{width:18px;height:18px}.challenge-list h3,.form-panel>h3{margin-top:0}.compact-card,.physical-card{padding:18px;margin-bottom:12px}.compact-card{display:grid;grid-template-columns:1fr auto;gap:18px}.compact-card h4,.physical-card h4{font-size:18px;margin:7px 0}.compact-card p,.physical-card p{color:var(--muted);margin:4px 0 10px}.icon-actions{display:flex;gap:6px;align-items:start}.icon-actions button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px;cursor:pointer}.icon-actions button:disabled{opacity:.35;cursor:default}.physical-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.physical-card svg{background:#fff;padding:5px}.center-state{display:grid;place-content:center;text-align:center;min-height:100vh}.center-state h1{font-size:48px}.signal{color:var(--danger);font-size:64px}.loader{width:36px;height:36px;margin:auto;border:2px solid var(--line);border-top-color:var(--acid);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.admin-grid,.config-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.experience-card{grid-template-columns:1fr}.qr-box{width:fit-content}.config-header{align-items:flex-start;flex-direction:column}.config-toolbar{justify-content:flex-start;width:100%}}@media(max-width:520px){.code-form{flex-direction:column}.mission-meta{flex-direction:column;gap:8px}.form-actions,.card-actions{flex-wrap:wrap}.field-row{grid-template-columns:1fr}.physical-card{grid-template-columns:auto 1fr}.physical-card .ghost-button{grid-column:1 / -1}.scanner-heading{flex-direction:column}.scanner-heading .ghost-button{width:100%}}
