:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7f7f2;background:#08111c;font-synthesis:none}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(224,164,56,.12),transparent 28%),radial-gradient(circle at 85% 20%,rgba(69,124,154,.18),transparent 32%),linear-gradient(180deg,#08111c,#0d1825)}button{font:inherit}.app-shell{width:min(1460px,calc(100% - 28px));height:100vh;margin:0 auto;padding:16px 0;overflow:hidden}.topbar{height:72px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,360px) auto;gap:18px;align-items:center;padding:12px 16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-identity{display:grid;gap:2px;min-width:0}.topbar-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow,.mission-label{font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#e3b95d}.topbar-progress{display:grid;gap:7px}.progress-track{height:7px;border-radius:999px;overflow:hidden;background:#ffffff14}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#e3b95d,#f3d08a)}.screen{height:100%;display:grid;place-items:center;align-content:center;text-align:center;padding:24px}.compact-center{min-height:calc(100vh - 32px)}.screen h1,.final-primary h1{margin:8px 0;max-width:900px;font-size:clamp(48px,7vw,88px);line-height:.92;letter-spacing:-.055em}.screen h2,.scene-content h2{margin:6px 0 12px;max-width:900px;font-size:clamp(34px,4.8vw,62px);line-height:.98;letter-spacing:-.045em}.lead,.challenge-context,.event-message,.compact-copy{max-width:760px;margin:8px auto 18px;color:#b8c6d0;font-size:clamp(16px,1.4vw,21px);line-height:1.45}.compact-lead{margin-bottom:14px}.brand-chip,.challenge-meta span{display:inline-flex;align-items:center;border:1px solid rgba(227,185,93,.35);border-radius:999px;padding:8px 13px;color:#f0ce86;background:#e3b95d14;font-weight:800;letter-spacing:.08em;font-size:11px}.mission-card{width:min(820px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 24px}.mission-card>div,.final-metrics>div,.impact,.side-metric{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff0b}.mission-card span,.final-metrics span,.impact span,.side-metric span{display:block;color:#92a3b1;font-size:12px}.mission-card strong,.final-metrics strong,.impact strong,.side-metric strong{display:block;margin-top:5px;font-size:21px}.primary-action{border:0;border-radius:14px;padding:14px 24px;min-width:220px;color:#10202f;background:linear-gradient(135deg,#e3b95d,#f2d38d);font-weight:900;cursor:pointer;box-shadow:0 18px 60px #e3b95d33}.primary-action:disabled{opacity:.4;cursor:not-allowed}.scene-grid{height:calc(100vh - 104px);display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;padding-top:14px}.scene-main,.side-panel{min-height:0;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#ffffff09;overflow:hidden}.scene-content{height:100%;padding:22px 26px}.centered{display:grid;place-items:center;align-content:center;text-align:center}.side-panel{padding:18px;display:grid;align-content:start;gap:14px}.side-header h3{margin:4px 0 0;font-size:24px}.side-metrics{display:grid;gap:10px}.side-metric{padding:14px}.side-metric strong{font-size:24px}.mini-track{height:7px;margin-top:10px;overflow:hidden;border-radius:999px;background:#ffffff14}.mini-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e3b95d,#f1cf86)}.waiting-symbol{width:92px;height:92px;display:grid;place-items:center;margin-bottom:18px;border-radius:24px;font-size:48px;color:#e3b95d;background:#e3b95d14;border:1px solid rgba(227,185,93,.2)}.code-panel{min-width:min(420px,100%);margin:14px 0 18px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.code-panel span{font-size:clamp(38px,5vw,62px);font-weight:950;letter-spacing:.08em}.challenge{display:grid;align-content:center;text-align:center}.challenge-meta{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.challenge h3{margin:6px 0 10px;font-size:clamp(21px,2.2vw,31px)}.choice-grid{width:min(860px,100%);display:grid;gap:8px;margin:10px auto 14px}.choice{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:12px 14px;text-align:left;color:#edf1f3;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#ffffff0a;cursor:pointer}.choice strong{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#ffffff12}.choice.selected{border-color:#e3b95db3;background:#e3b95d1a;box-shadow:inset 0 0 0 1px #e3b95d40}.pulse-ring{width:100px;height:100px;display:grid;place-items:center;margin-bottom:14px;border-radius:50%;border:1px solid rgba(227,185,93,.35);animation:pulse 1.4s infinite}.pulse-ring span{width:36px;height:36px;border-radius:50%;background:#e3b95d}@keyframes pulse{0%{transform:scale(.94);box-shadow:0 0 #e3b95d40}70%{transform:scale(1);box-shadow:0 0 0 24px #e3b95d00}to{transform:scale(.94)}}.event-screen{display:grid;place-items:center;align-content:center;text-align:center;background:radial-gradient(circle at center,rgba(128,55,41,.2),transparent 42%)}.event-icon{width:88px;height:88px;display:grid;place-items:center;margin-bottom:12px;border-radius:24px;font-size:42px;background:#ffffff0f}.impact-grid{width:min(820px,100%);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0 18px}.impact{padding:13px}.impact strong{color:#ffb9a8;font-size:19px}.impact.positive strong{color:#9be1b2}.final-layout{height:calc(100vh - 32px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:16px}.final-primary,.final-secondary{border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#ffffff09}.final-primary{display:grid;place-items:center;align-content:center;text-align:center;padding:24px}.final-secondary{display:grid;align-content:center;gap:14px;padding:22px}.score-ring{width:150px;height:150px;display:grid;place-items:center;align-content:center;margin:14px auto 18px;border-radius:50%;border:10px solid rgba(227,185,93,.2);box-shadow:inset 0 0 0 3px #e3b95d}.score-ring strong{font-size:36px}.score-ring span{color:#9eb0bc}.final-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.final-metrics>div{padding:14px}.debrief-card{padding:18px;text-align:left;border-radius:18px;background:#ffffff0b;border:1px solid rgba(255,255,255,.08)}.debrief-card h3{margin-top:0;color:#e3b95d}.debrief-card p{margin:8px 0;color:#c1ccd4}@media(max-width:1100px){body{overflow:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.scene-grid,.final-layout{height:auto;grid-template-columns:1fr}.side-panel{grid-template-columns:repeat(2,1fr)}.side-header{grid-column:1 / -1}}.file-action{display:inline-flex;align-items:center;justify-content:center}.file-action input{display:none}.button-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.secondary-action{border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px 22px;min-width:180px;color:#e8eef2;background:#ffffff0f;font-weight:800;cursor:pointer}.error-box{max-width:720px;padding:12px 16px;border:1px solid rgba(255,140,120,.35);border-radius:12px;color:#ffc1b4;background:#9130242e}.compact-error{margin:0 0 12px}.code-entry{width:min(520px,100%);margin:14px 0 18px}.code-entry input{width:100%;padding:18px 22px;border:1px solid rgba(255,255,255,.13);border-radius:18px;color:#f7f7f2;background:#ffffff0d;outline:none;text-align:center;text-transform:uppercase;font:inherit;font-size:clamp(32px,5vw,58px);font-weight:950;letter-spacing:.08em}.code-entry input:focus{border-color:#e3b95da6;box-shadow:0 0 0 4px #e3b95d14}.image-note{width:min(720px,100%);margin:4px auto 8px;padding:8px 12px;border-radius:10px;color:#f0ce86;background:#e3b95d14}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.topbar-action{width:58px;min-width:58px;height:48px;display:grid;place-items:center;align-content:center;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.12);border-radius:13px;color:#dfe8ee;background:#ffffff0b;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.topbar-action:hover{transform:translateY(-1px);border-color:#e3b95d6b;background:#e3b95d17}.topbar-action>span{display:block;font-size:19px;line-height:1}.topbar-action small{display:block;font-size:9px;font-weight:800;letter-spacing:.02em;color:#9fb0bb}.topbar-action-danger:hover{border-color:#ff8c7873;background:#91302429}.challenge-meta{align-items:stretch}.challenge-chip{display:grid!important;gap:2px;min-width:120px;text-align:left;letter-spacing:.03em!important;text-transform:none}.challenge-chip small{display:block;font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#8ea0ad}.challenge-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:2px}.challenge-confirm{min-width:240px}.challenge-cancel{border:0;padding:8px 10px;color:#7f919d;background:transparent;font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-color:#7f919d59;text-underline-offset:4px}.challenge-cancel:hover{color:#b9c7cf;text-decoration-color:#b9c7cfb3}.timer{min-width:90px;text-align:center}.timer.warning{background:#e3b95d2e;color:#f3d08a;border-color:#e3b95da6}.timer.danger{background:#b000202e;color:#ff9aab;border-color:#ff6478b3;animation:pulseTimer .8s infinite}@keyframes pulseTimer{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media(max-width:1250px){.topbar{grid-template-columns:minmax(180px,1fr) minmax(190px,280px) auto;gap:12px}.topbar-action{width:52px;min-width:52px}}@media(max-width:1100px){.topbar{height:auto;grid-template-columns:1fr}.topbar-actions{justify-content:flex-start;flex-wrap:wrap}.challenge-actions{flex-direction:column}}.deck-screen{min-height:100vh;padding:28px clamp(18px,4vw,56px) 56px;color:#edf2f5;background:radial-gradient(circle at 12% 0%,rgba(227,185,93,.09),transparent 32%),#0b1115}.deck-toolbar{max-width:1500px;margin:0 auto 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.deck-toolbar h1{margin:4px 0 3px;font-size:clamp(28px,4vw,48px)}.deck-toolbar p{margin:0;color:#96a8b4}.deck-eyebrow{color:#e3b95d;font-size:12px;font-weight:950;letter-spacing:.16em}.deck-toolbar-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.deck-toolbar-actions .secondary-action,.deck-toolbar-actions .primary-action{min-width:0;padding:12px 16px}.deck-view-switch{width:max-content;margin:0 auto 22px;padding:5px;display:flex;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#ffffff0a}.deck-view-switch button{min-width:110px;padding:10px 18px;border:0;border-radius:10px;color:#9fb0bb;background:transparent;font-weight:850;cursor:pointer}.deck-view-switch button.active{color:#10171c;background:#e3b95d}.deck-preview{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,70mm);justify-content:center;gap:22px}.print-card{width:70mm;height:120mm;box-sizing:border-box;overflow:hidden;position:relative;border-radius:5mm;break-inside:avoid;page-break-inside:avoid}.print-card-front{color:#17222b;background:#fffdf8;border:.45mm solid #12283d;box-shadow:0 16px 38px #00000047}.print-card-inner{height:100%;padding:6mm 5.5mm 5mm;display:flex;flex-direction:column;border:.25mm solid rgba(18,40,61,.28);border-radius:4.1mm;margin:1.4mm}.print-card-header{min-height:7mm;display:flex;align-items:flex-start}.print-card-code{display:inline-flex;align-items:center;min-height:6mm;padding:1mm 2.4mm;border-radius:2mm;color:#fffdf8;background:#12283d;font-size:8.5pt;font-weight:950;letter-spacing:.08em}.print-card-image{width:100%;height:30mm;margin:2.5mm 0 3mm;display:grid;place-items:center;overflow:hidden;border-radius:2.8mm;background:#edf0f1}.print-card-image img{width:100%;height:100%;object-fit:contain}.print-card-image-placeholder{width:100%;height:100%;padding:3mm;display:grid;place-items:center;align-content:center;gap:1.5mm;border:.35mm dashed #9aa6ae;border-radius:2.8mm;color:#66747d;text-align:center}.print-card-image-placeholder span{font-size:9pt;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.print-card-image-placeholder small{max-width:100%;font-size:7pt;overflow-wrap:anywhere}.print-card-title{margin:2.5mm 0 2.8mm;color:#12283d;font-size:14pt;line-height:1.05;font-weight:950;letter-spacing:.015em;text-transform:uppercase}.print-card.has-image .print-card-title{margin-top:0;font-size:12.5pt}.print-card-rule{width:100%;height:.45mm;flex:0 0 auto;background:#d0a84f}.print-card-content{min-height:0;padding-top:3.2mm;display:flex;flex:1;flex-direction:column;gap:4mm}.print-card-block h3{margin:0 0 1.4mm;color:#a77b1f;font-size:8.5pt;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.print-card-block p{margin:0;color:#26343d;font-size:9.5pt;line-height:1.32;font-weight:570;-webkit-hyphens:auto;hyphens:auto}.print-card-question{margin-top:auto;padding:3mm;border-radius:2.5mm;background:#eef1f2}.print-card-question p{color:#12283d;font-weight:800}.print-card-footer{min-height:9mm;margin-top:4mm;padding-top:3mm;display:grid;place-items:center;border-top:.3mm solid rgba(18,40,61,.28);color:#12283d;font-size:8pt;font-weight:950;letter-spacing:.1em;text-align:center;text-transform:uppercase}.print-card-back{display:grid;place-items:center;color:#fff;background:#10283f;border:.45mm solid #d0a84f;box-shadow:0 16px 38px #00000047}.print-card-back-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.16;background-image:linear-gradient(30deg,transparent 12%,rgba(255,255,255,.3) 12.5%,transparent 13%),linear-gradient(150deg,transparent 12%,rgba(255,255,255,.3) 12.5%,transparent 13%);background-size:13mm 13mm}.print-card-back-frame{position:relative;width:calc(100% - 8mm);height:calc(100% - 8mm);padding:9mm 7mm;display:grid;place-items:center;align-content:center;gap:6mm;border:.45mm solid rgba(227,185,93,.85);border-radius:3.7mm;background:#07131f57}.print-card-back-logo{width:49mm;max-height:42mm;object-fit:contain}.print-card-back-divider{width:28mm;height:.4mm;background:#d0a84f}.print-card-back p{max-width:44mm;margin:0;color:#f1dfb8;font-size:9pt;font-weight:800;line-height:1.35;letter-spacing:.07em;text-align:center;text-transform:uppercase}.print-document{display:none}@media(max-width:900px){.deck-toolbar{align-items:flex-start;flex-direction:column}.deck-toolbar-actions{justify-content:flex-start}}@page{size:A4 portrait;margin:0}@media print{html,body,#root,.app-shell,.deck-screen{width:210mm!important;min-width:210mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}.no-print{display:none!important}.print-document{display:block!important}.print-sheet{width:210mm;height:297mm;box-sizing:border-box;display:grid;place-items:center;break-after:page;page-break-after:always;background:#fff}.print-sheet-grid{width:210mm;height:240mm;display:grid;grid-template-columns:repeat(3,70mm);grid-template-rows:repeat(2,120mm);gap:0}.print-card{margin:0;border-radius:5mm;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}body[data-print-mode=fronts] .print-sheet-back,body[data-print-mode=backs] .print-sheet-front{display:none!important}body[data-print-mode=fronts] .print-sheet-front:last-child,body[data-print-mode=backs] .print-sheet-back:last-child,body[data-print-mode=duplex] .print-sheet:last-child{break-after:auto;page-break-after:auto}}
