:root{--bg:#efece0;--paper:#faf7ee;--ink:#303e33;--muted:#818878;--line:#d6d9c9;--accent:#b54e36;--green:#4c7155;--soft:#e8ebde;--shadow:#35453212}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;background-image:radial-gradient(#64705c12 .7px,transparent .7px);background-size:5px 5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}header{max-width:1180px;height:84px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:700 25px Georgia,serif;letter-spacing:-1px;display:flex;gap:10px;align-items:center}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--bg);font:21px Georgia,serif}.brand small{font:9px system-ui;letter-spacing:2px;display:block;color:var(--muted);margin-top:2px}.network{display:flex;gap:20px;font-size:10px;color:var(--muted)}.network a:hover{color:var(--accent)}main{max-width:1030px;margin:auto;padding:0 28px}.intro{text-align:center;padding:34px 0 27px}.eyebrow{font-size:9px;letter-spacing:2.7px;color:var(--accent);font-weight:650}h1{font:400 clamp(35px,5vw,57px)/1.12 Georgia,serif;letter-spacing:-2px;margin:13px 0}h1 em{color:var(--accent)}.intro p{font-size:12px;color:var(--muted);margin:12px 0 0}.game{border:1px solid var(--line);border-radius:17px;background:var(--paper);overflow:hidden;position:relative;box-shadow:0 18px 45px var(--shadow)}.bar{height:76px;padding:0 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.status{font-size:8px;letter-spacing:1.5px;color:var(--muted);display:flex;align-items:center;gap:7px}.status:before{content:"";display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%}.stats{display:flex;gap:35px;text-align:center}.stats>div{min-width:60px}.stats small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.7px;margin-bottom:2px}.stats strong{font:24px Georgia,serif;font-variant-numeric:tabular-nums}.pause{width:33px;height:33px;background:transparent;border:1px solid var(--line);border-radius:7px;color:var(--ink)}.layout{display:grid;grid-template-columns:54% 46%;min-height:420px}.scene{position:relative;background:var(--soft);border-right:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}.side{padding:25px 27px;display:flex;flex-direction:column;gap:18px}.label{font-size:8px;letter-spacing:1.8px;color:var(--muted);font-weight:600}.card{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:20px}h2{font:400 28px/1.2 Georgia,serif;letter-spacing:-.6px;margin:10px 0}.card p{font-size:12px;color:var(--muted);line-height:1.7}.primary{background:var(--accent);color:#fff6e4;border:0;padding:14px 17px;border-radius:8px;font-size:12px;display:flex;justify-content:space-between;gap:20px;width:100%;align-items:center}.primary:hover{filter:brightness(.94)}.primary b{font-size:20px;font-weight:400}.start-card{position:absolute;inset:25px;z-index:4;display:flex;align-items:center;justify-content:center;pointer-events:none}.start-card>.card{max-width:310px;box-shadow:0 12px 35px #0002;pointer-events:auto}.start-card .card p{margin:13px 0 20px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 25px;border-top:1px solid var(--line)}.controls button{padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:15px;transition:transform .12s}.controls button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(.97)}.controls button:not(:disabled):active{transform:translateY(1px)}.controls strong{font-size:12px;font-weight:650}.controls kbd{font:9px system-ui;border:1px solid currentColor;border-radius:3px;padding:1px 5px;opacity:.55}.controls .allow{background:var(--green);color:#f7f6e6;border-color:var(--green)}.controls .deny{background:var(--accent);color:#fff5df;border-color:var(--accent)}.message{font-size:10px;color:var(--muted);padding:10px 18px;min-height:37px;text-align:center;background:var(--soft);border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:26px 20px}.steps>div{display:flex;gap:13px;align-items:center}.steps i{font:italic 27px Georgia,serif;color:var(--muted);opacity:.5}.steps p{font-size:10px;color:var(--muted);margin:0}.steps strong{color:var(--ink);font-weight:500}footer{max-width:1116px;margin:auto;border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:.6px}.overlay{position:absolute;inset:0;background:#efece0ed;backdrop-filter:blur(6px);z-index:9;display:grid;place-items:center;text-align:center;padding:30px}.overlay>div{width:min(320px,100%)}.overlay h2{font-size:39px}.overlay p{font-size:12px;color:var(--muted)}.overlay .primary{margin-top:25px}.result-number{font:60px Georgia,serif;color:var(--accent);margin:15px 0}.low{color:var(--accent)}[hidden]{display:none!important}.signal{font-size:11px;line-height:1.7;color:var(--muted)}
/* ComradeMajor */
.major .scene{background:#e2e7d6}.desk-art{width:100%;height:240px;display:block;margin-top:auto}.wall-label{position:absolute;top:26px;left:28px;font-size:8px;letter-spacing:2px;color:#6c7d63}.wall-label strong{display:block;font:27px Georgia,serif;letter-spacing:-.5px;margin-top:5px}.visitor{position:absolute;top:67px;left:50%;transform:translateX(-50%);text-align:center}.visitor-face{font-size:80px;width:123px;height:123px;background:#f0eddb;border-radius:50%;display:grid;place-items:center;border:5px solid #d1d8bf;box-shadow:0 7px 0 #c3cdb4}.visitor-name{font:20px Georgia,serif;margin-top:10px}.visitor-quote{font:italic 12px Georgia,serif;color:#6e7c62;max-width:220px;margin:8px auto}.passport{background:#f6f0dc;transform:rotate(-1.5deg);box-shadow:3px 5px 0 #d5d3b580;border:1px solid #c9c6ad;padding:17px;position:relative;min-height:222px}.passport-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #cdc9ae;padding-bottom:10px;font-size:8px;letter-spacing:2px;color:#7a8068}.passport-head b{font:21px Georgia,serif}.document-row{display:flex;gap:17px;margin-top:17px}.photo{font-size:48px;width:83px;height:98px;display:grid;place-items:center;background:#d8ddc6;border:4px solid #fcf8e9;box-shadow:0 0 0 1px #c2c9b0}.document-data{flex:1}.document-data small{display:block;font-size:7px;letter-spacing:1px;color:#8b8d75}.document-data strong{display:block;font:18px Georgia,serif;margin:4px 0 12px}.document-bottom{display:flex;justify-content:space-between;align-items:center;font-size:7px;color:#95917b;letter-spacing:1px;margin-top:14px}.stamp{display:grid;place-items:center;border:2px double #69826c;width:44px;height:44px;border-radius:50%;font-size:25px;color:#69826c;transform:rotate(-13deg)}.stamp.invalid{border-color:#b59473;color:#b59473}.rules{border-top:1px solid var(--line);padding-top:16px}.rules h3{font-size:10px;margin:0 0 11px;letter-spacing:.5px}.rules p{font-size:10px;line-height:1.8;color:var(--muted);margin:5px 0}.rules b{display:inline-block;width:19px;color:var(--green)}.lives{font-size:15px;letter-spacing:4px;color:var(--accent)}.scene-caption{padding:8px 18px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;color:#879375;background:#d4ddc7}.major .scene-caption{position:absolute;bottom:0;left:0;right:0}.major .card .label{color:var(--accent)}
/* Vostok */
.vostok{--bg:#101c2a;--paper:#18293b;--ink:#f0e8d5;--muted:#8c9dac;--line:#314253;--accent:#f09e61;--green:#78b6ad;--soft:#1e3245;--shadow:#0003;background-image:radial-gradient(#91a3b914 .7px,transparent .7px);background-size:8px 8px}.vostok .brand{font-family:system-ui;font-size:23px;letter-spacing:3px;font-weight:650}.vostok .brand-mark{color:#192b3b;background:var(--accent)}.vostok .intro h1{font-family:Georgia,serif}.vostok .scene{background:#0b1728}.spacefield{width:100%;height:430px;display:block;touch-action:pan-y}.vostok .layout{min-height:430px}.vostok .side{justify-content:space-between}.vostok .start-card .card{background:#1b3046f5;border-color:#52687b}.vostok .primary{color:#213346;font-weight:650}.vostok .controls{grid-template-columns:1fr 1.15fr 1fr}.vostok .controls .shield-button{background:#26494e;border-color:#427477;color:#c8e9dc}.vostok .overlay{background:#101c2aee}.vostok .result-number{color:var(--accent)}.mission-heading{display:flex;justify-content:space-between;align-items:center}.flight-badge{border:1px solid #4d6174;border-radius:50%;width:53px;height:53px;display:grid;place-items:center;color:var(--accent);font-size:24px}.mission-stats{display:flex;justify-content:space-between;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.mission-stats small{display:block;color:var(--muted);font-size:8px;letter-spacing:1px}.mission-stats strong{display:block;font-size:22px;font-weight:400;margin-top:4px}.legend{display:flex;flex-direction:column;gap:13px}.legend>div{display:flex;gap:14px;align-items:center}.legend-icon{width:34px;height:34px;display:grid;place-items:center;font-size:22px;color:var(--accent);border:1px solid var(--line);border-radius:8px}.legend strong{font-size:11px;font-weight:500}.legend p{font-size:9px;color:var(--muted);margin:3px 0 0}.progress{height:5px;background:#324251;border-radius:5px;overflow:hidden;margin:12px 0 0}.progress>div{height:100%;background:var(--accent);width:0%}.signal-label{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);letter-spacing:1.2px}.shield-ring{fill:none;stroke:#9ce8d0;stroke-width:3;stroke-dasharray:8 5}.vostok .scene-caption{background:#102234;color:#7890a2}.combo-note{font-size:10px;color:var(--accent)}
@media(max-width:800px){header{height:72px;padding:0 24px}.brand{font-size:22px}.network{gap:14px;font-size:9px}main{padding:0 22px}.intro{padding:27px 0}.stats{gap:20px}.bar{padding:0 18px;height:68px}.stats strong{font-size:22px}.side{padding:22px 19px}.passport{padding:14px}.document-row{gap:12px}.photo{width:67px}.document-data strong{font-size:15px}.wall-label{left:18px}.wall-label strong{font-size:22px}.visitor{top:80px}.visitor-face{width:108px;height:108px;font-size:68px}.controls{padding:15px}.controls kbd{display:none}footer{margin:0 24px}.spacefield{height:430px}}@media(max-width:560px){header{height:auto;min-height:72px;gap:14px;padding:16px 18px;flex-wrap:wrap}.brand{font-size:22px}.network{gap:12px}.network a{font-size:8px}.brand-mark{width:31px;height:31px;font-size:19px}main{padding:0 13px}.intro h1{font-size:39px;letter-spacing:-1.8px}.intro p{font-size:10px;max-width:270px;margin:12px auto 0}.bar{padding:0 14px;height:62px}.bar .status{display:none}.stats{gap:25px}.stats small{font-size:7px}.stats>div{min-width:48px}.layout{grid-template-columns:1fr;min-height:0}.major .scene{height:239px;border-right:0;border-bottom:1px solid var(--line)}.visitor{top:30px;left:65%;width:60%}.visitor-face{width:78px;height:78px;font-size:48px;margin:auto}.visitor-name{font-size:19px;margin-top:7px}.visitor-quote{font-size:10px;margin:5px auto;max-width:170px}.wall-label{top:30px;font-size:7px}.wall-label strong{font-size:23px}.desk-art{height:125px;position:absolute;bottom:0;left:0}.major .side{padding:18px;gap:15px}.passport{min-height:187px;transform:rotate(-1deg);padding:13px 16px}.photo{height:81px;width:70px;font-size:45px}.document-row{margin-top:10px;gap:23px}.document-data{display:grid;grid-template-columns:1fr 1fr;gap:10px}.document-data strong{font-size:19px;margin:5px 0}.document-bottom{margin-top:9px}.stamp{width:33px;height:33px;font-size:21px}.rules{padding-top:12px}.rules h3{font-size:10px;margin-bottom:8px}.rules p{font-size:10px;margin:3px 0}.controls{padding:12px;gap:9px}.controls strong{font-size:11px}.controls button{padding:13px 8px}.steps{gap:13px;padding:22px 8px}.steps>div{align-items:flex-start;flex-direction:column;gap:4px}.steps p{font-size:8px;line-height:1.8}.steps i{font-size:23px}.start-card{inset:13px}.start-card>.card{padding:17px;max-width:320px}.start-card h2{font-size:24px}.start-card .card p{font-size:10px;margin:10px 0 15px}.major .start-card{inset:12px 17px}.major .start-card .card{max-width:330px;width:100%;padding:15px 18px}.major .start-card h2{font-size:24px;margin:7px 0}.major .start-card p{margin:8px 0 10px}.primary{padding:12px 14px;font-size:11px}.vostok .layout{display:flex;flex-direction:column}.spacefield{height:360px}.vostok .scene{border-right:0;border-bottom:1px solid var(--line)}.vostok .side{padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.mission-heading h2{font-size:22px}.flight-badge{display:none}.mission-stats{margin-top:12px;padding-top:12px}.mission-stats strong{font-size:18px}.legend{gap:9px}.legend-icon{width:25px;height:25px;font-size:17px;flex-shrink:0}.legend>div{gap:8px}.legend p{font-size:8px}.legend strong{font-size:9px}.vostok .side .signal-panel{grid-column:1/-1}.signal{font-size:10px}.vostok .controls strong{font-size:10px}.vostok .controls button{gap:6px}.steps strong{font-size:8px}footer{font-size:7px;margin:0 20px;gap:20px}.overlay h2{font-size:33px}.message{font-size:9px;min-height:44px}.major .layout>.scene .scene-caption{padding:6px 14px}}
@media(max-width:560px){.vostok .game{display:flex;flex-direction:column}.vostok .layout{display:contents}.vostok .bar{order:0}.vostok .scene{order:1}.vostok .controls{order:2}.vostok .side{order:3}.vostok .message{order:4}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
