| 1 |
<!DOCTYPE html> |
| 2 |
class="tok-tag"><htmlclass="tok-attr"> lang="es"class="tok-tag">> |
| 3 |
class="tok-tag"><headclass="tok-attr">class="tok-tag">> |
| 4 |
class="tok-tag"><metaclass="tok-attr"> charset="UTF-8"class="tok-tag">> |
| 5 |
class="tok-tag"><metaclass="tok-attr"> name="viewport" content="width=device-width, initial-scale=1.0"class="tok-tag">> |
| 6 |
class="tok-tag"><titleclass="tok-attr">class="tok-tag">>Sasha — Misión Moscúclass="tok-tag"></titleclass="tok-attr">class="tok-tag">> |
| 7 |
class="tok-tag"><linkclass="tok-attr"> href="class="tok-prop">https:class="tok-val">;family=class="tok-prop">Oswald:class="tok-val">wght@300;400;600&family=Noto+class="tok-prop">Sans:class="tok-val">ital,wght@0,300;0,400;1,300&display=swap" rel="stylesheet"class="tok-tag">> |
| 8 |
class="tok-tag"><styleclass="tok-attr">class="tok-tag">> |
| 9 |
:root { |
| 10 |
class="tok-prop">--bg: class="tok-val">#080a08; |
| 11 |
class="tok-prop">--surface: class="tok-val">#0d100d; |
| 12 |
class="tok-prop">--panel: class="tok-val">#101410; |
| 13 |
class="tok-prop">--red: class="tok-val">#cc1a1a; |
| 14 |
class="tok-prop">--red-dim: class="tok-val">#7a1010; |
| 15 |
class="tok-prop">--green: class="tok-val">#1aaa4a; |
| 16 |
class="tok-prop">--green-dim: class="tok-val">#0d5525; |
| 17 |
class="tok-prop">--amber: class="tok-val">#d4820a; |
| 18 |
class="tok-prop">--text: class="tok-val">#c8cfc8; |
| 19 |
class="tok-prop">--text-dim: class="tok-val">#556055; |
| 20 |
class="tok-prop">--text-bright: class="tok-val">#e8f0e8; |
| 21 |
class="tok-prop">--mono: class="tok-val">';Share Tech Mono', monospace; |
| 22 |
class="tok-prop">--head: class="tok-val">';Oswald', sans-serif; |
| 23 |
class="tok-prop">--body: class="tok-val">';Noto Sans', sans-serif; |
| 24 |
class="tok-prop">--scanline: class="tok-val">rgba(0,255,60,0.03); |
| 25 |
} |
| 26 |
|
| 27 |
* { class="tok-prop">margin:class="tok-val">0; class="tok-prop">padding:class="tok-val">0; class="tok-prop">box-sizing:class="tok-val">border-box; } |
| 28 |
|
| 29 |
body { |
| 30 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--bg); |
| 31 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text); |
| 32 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--body); |
| 33 |
class="tok-prop">min-height: class="tok-val">100vh; |
| 34 |
class="tok-prop">display: class="tok-val">flex; |
| 35 |
class="tok-prop">align-items: class="tok-val">center; |
| 36 |
class="tok-prop">justify-content: class="tok-val">center; |
| 37 |
class="tok-prop">overflow-x: class="tok-val">hidden; |
| 38 |
class="tok-prop">cursor: class="tok-val">crosshair; |
| 39 |
class="tok-prop">position: class="tok-val">relative; |
| 40 |
} |
| 41 |
|
| 42 |
/* CRT scanlines */ |
| 43 |
class="tok-prop">body:class="tok-val">:before { |
| 44 |
class="tok-prop">content: class="tok-val">';'; |
| 45 |
class="tok-prop">position: class="tok-val">fixed; class="tok-prop">inset: class="tok-val">0; |
| 46 |
class="tok-prop">background: class="tok-val">repeating-linear-gradient( |
| 47 |
0deg, |
| 48 |
transparent, |
| 49 |
transparent 2px, |
| 50 |
class="tok-kw">var(--scanline) 2px, |
| 51 |
class="tok-kw">var(--scanline) 4px |
| 52 |
); |
| 53 |
class="tok-prop">pointer-events: class="tok-val">none; |
| 54 |
class="tok-prop">z-index: class="tok-val">999; |
| 55 |
} |
| 56 |
|
| 57 |
/* Vignette */ |
| 58 |
class="tok-prop">body:class="tok-val">:after { |
| 59 |
class="tok-prop">content: class="tok-val">';'; |
| 60 |
class="tok-prop">position: class="tok-val">fixed; class="tok-prop">inset: class="tok-val">0; |
| 61 |
class="tok-prop">background: class="tok-val">radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.8) 100%); |
| 62 |
class="tok-prop">pointer-events: class="tok-val">none; |
| 63 |
class="tok-prop">z-index: class="tok-val">998; |
| 64 |
} |
| 65 |
|
| 66 |
/* Noise texture */ |
| 67 |
.noise { |
| 68 |
class="tok-prop">position: class="tok-val">fixed; class="tok-prop">inset: class="tok-val">0; |
| 69 |
class="tok-prop">opacity: class="tok-val">0.03; |
| 70 |
class="tok-prop">pointer-events: class="tok-val">none; |
| 71 |
class="tok-prop">z-index: class="tok-val">997; |
| 72 |
class="tok-prop">background-image: class="tok-val">url("class="tok-prop">data:class="tok-val">image/svg+xml,%3Csvg viewBox=';0 0 256 256' xmlns='class="tok-prop">http:class="tok-val">;%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"); |
| 73 |
} |
| 74 |
|
| 75 |
.wrapper { |
| 76 |
class="tok-prop">width: class="tok-val">100%; |
| 77 |
class="tok-prop">max-width: class="tok-val">700px; |
| 78 |
class="tok-prop">min-height: class="tok-val">100vh; |
| 79 |
class="tok-prop">display: class="tok-val">flex; |
| 80 |
class="tok-prop">flex-direction: class="tok-val">column; |
| 81 |
class="tok-prop">align-items: class="tok-val">center; |
| 82 |
class="tok-prop">justify-content: class="tok-val">center; |
| 83 |
class="tok-prop">padding: class="tok-val">40px 20px; |
| 84 |
class="tok-prop">position: class="tok-val">relative; |
| 85 |
class="tok-prop">z-index: class="tok-val">1; |
| 86 |
} |
| 87 |
|
| 88 |
/* ── SCREENS ── */ |
| 89 |
.screen { class="tok-prop">display: class="tok-val">none; class="tok-prop">width: class="tok-val">100%; class="tok-prop">flex-direction: class="tok-val">column; class="tok-prop">align-items: class="tok-val">center; } |
| 90 |
.screen.active { class="tok-prop">display: class="tok-val">flex; class="tok-prop">animation: class="tok-val">flicker 0.4s ease both; } |
| 91 |
|
| 92 |
@keyframes flicker { |
| 93 |
0% { class="tok-prop">opacity: class="tok-val">0; } |
| 94 |
20% { class="tok-prop">opacity: class="tok-val">0.8; } |
| 95 |
40% { class="tok-prop">opacity: class="tok-val">0.3; } |
| 96 |
60% { class="tok-prop">opacity: class="tok-val">0.9; } |
| 97 |
80% { class="tok-prop">opacity: class="tok-val">0.5; } |
| 98 |
100%{ class="tok-prop">opacity: class="tok-val">1; } |
| 99 |
} |
| 100 |
|
| 101 |
/* ── HEADER DECO ── */ |
| 102 |
.top-bar { |
| 103 |
class="tok-prop">width: class="tok-val">100%; |
| 104 |
class="tok-prop">display: class="tok-val">flex; |
| 105 |
class="tok-prop">justify-content: class="tok-val">space-between; |
| 106 |
class="tok-prop">align-items: class="tok-val">center; |
| 107 |
class="tok-prop">border-bottom: class="tok-val">1px solid rgba(204,26,26,0.3); |
| 108 |
class="tok-prop">padding-bottom: class="tok-val">10px; |
| 109 |
class="tok-prop">margin-bottom: class="tok-val">32px; |
| 110 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 111 |
class="tok-prop">font-size: class="tok-val">10px; |
| 112 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 113 |
class="tok-prop">letter-spacing: class="tok-val">2px; |
| 114 |
} |
| 115 |
|
| 116 |
.top-bar .red { class="tok-prop">color: class="tok-val">class="tok-kw">var(--red); } |
| 117 |
.top-bar .blink { |
| 118 |
class="tok-prop">animation: class="tok-val">blink 1.2s step-end infinite; |
| 119 |
} |
| 120 |
@keyframes blink { 50% { class="tok-prop">opacity: class="tok-val">0; } } |
| 121 |
|
| 122 |
/* ── INTRO ── */ |
| 123 |
.classified-stamp { |
| 124 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--head); |
| 125 |
class="tok-prop">font-size: class="tok-val">11px; |
| 126 |
class="tok-prop">font-weight: class="tok-val">600; |
| 127 |
class="tok-prop">letter-spacing: class="tok-val">8px; |
| 128 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--red); |
| 129 |
class="tok-prop">border: class="tok-val">2px solid class="tok-kw">var(--red); |
| 130 |
class="tok-prop">padding: class="tok-val">4px 16px; |
| 131 |
class="tok-prop">margin-bottom: class="tok-val">28px; |
| 132 |
class="tok-prop">opacity: class="tok-val">0.8; |
| 133 |
class="tok-prop">transform: class="tok-val">rotate(-2deg); |
| 134 |
class="tok-prop">display: class="tok-val">inline-block; |
| 135 |
} |
| 136 |
|
| 137 |
.intro-title { |
| 138 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--head); |
| 139 |
class="tok-prop">font-size: class="tok-val">clamp(2rem, 7vw, 3.8rem); |
| 140 |
class="tok-prop">font-weight: class="tok-val">600; |
| 141 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-bright); |
| 142 |
class="tok-prop">letter-spacing: class="tok-val">4px; |
| 143 |
class="tok-prop">text-align: class="tok-val">center; |
| 144 |
class="tok-prop">line-height: class="tok-val">1.1; |
| 145 |
class="tok-prop">margin-bottom: class="tok-val">4px; |
| 146 |
class="tok-prop">text-shadow: class="tok-val">0 0 40px rgba(204,26,26,0.3); |
| 147 |
} |
| 148 |
|
| 149 |
.intro-cyrillic { |
| 150 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 151 |
class="tok-prop">font-size: class="tok-val">13px; |
| 152 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 153 |
class="tok-prop">letter-spacing: class="tok-val">6px; |
| 154 |
class="tok-prop">margin-bottom: class="tok-val">40px; |
| 155 |
class="tok-prop">text-align: class="tok-val">center; |
| 156 |
} |
| 157 |
|
| 158 |
/* Terminal box */ |
| 159 |
.terminal { |
| 160 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--panel); |
| 161 |
class="tok-prop">border: class="tok-val">1px solid rgba(26,170,74,0.2); |
| 162 |
class="tok-prop">border-left: class="tok-val">3px solid class="tok-kw">var(--green); |
| 163 |
class="tok-prop">padding: class="tok-val">28px 32px; |
| 164 |
class="tok-prop">width: class="tok-val">100%; |
| 165 |
class="tok-prop">max-width: class="tok-val">580px; |
| 166 |
class="tok-prop">margin-bottom: class="tok-val">32px; |
| 167 |
class="tok-prop">position: class="tok-val">relative; |
| 168 |
class="tok-prop">box-shadow: class="tok-val">0 0 40px rgba(26,170,74,0.05), inset 0 0 60px rgba(0,0,0,0.5); |
| 169 |
} |
| 170 |
|
| 171 |
.terminal-header { |
| 172 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 173 |
class="tok-prop">font-size: class="tok-val">10px; |
| 174 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--green); |
| 175 |
class="tok-prop">letter-spacing: class="tok-val">3px; |
| 176 |
class="tok-prop">margin-bottom: class="tok-val">18px; |
| 177 |
class="tok-prop">display: class="tok-val">flex; |
| 178 |
class="tok-prop">align-items: class="tok-val">center; |
| 179 |
class="tok-prop">gap: class="tok-val">8px; |
| 180 |
} |
| 181 |
|
| 182 |
.terminal-dot { |
| 183 |
class="tok-prop">width: class="tok-val">6px; class="tok-prop">height: class="tok-val">6px; |
| 184 |
class="tok-prop">border-radius: class="tok-val">50%; |
| 185 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--green); |
| 186 |
class="tok-prop">box-shadow: class="tok-val">0 0 8px class="tok-kw">var(--green); |
| 187 |
class="tok-prop">animation: class="tok-val">blink 1.4s step-end infinite; |
| 188 |
} |
| 189 |
|
| 190 |
.terminal-text { |
| 191 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 192 |
class="tok-prop">font-size: class="tok-val">13px; |
| 193 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text); |
| 194 |
class="tok-prop">line-height: class="tok-val">2; |
| 195 |
} |
| 196 |
|
| 197 |
.terminal-text .highlight { class="tok-prop">color: class="tok-val">class="tok-kw">var(--amber); } |
| 198 |
.terminal-text .danger { class="tok-prop">color: class="tok-val">class="tok-kw">var(--red); } |
| 199 |
.terminal-text .name { class="tok-prop">color: class="tok-val">class="tok-kw">var(--green); class="tok-prop">font-weight: class="tok-val">bold; } |
| 200 |
|
| 201 |
.class="tok-prop">cursor-blink:class="tok-val">:after { |
| 202 |
class="tok-prop">content: class="tok-val">';█'; |
| 203 |
class="tok-prop">animation: class="tok-val">blink 0.8s step-end infinite; |
| 204 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--green); |
| 205 |
class="tok-prop">font-size: class="tok-val">12px; |
| 206 |
} |
| 207 |
|
| 208 |
/* Buttons */ |
| 209 |
.btn-mission { |
| 210 |
class="tok-prop">background: class="tok-val">transparent; |
| 211 |
class="tok-prop">border: class="tok-val">1px solid class="tok-kw">var(--red); |
| 212 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--red); |
| 213 |
class="tok-prop">padding: class="tok-val">14px 48px; |
| 214 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--head); |
| 215 |
class="tok-prop">font-size: class="tok-val">14px; |
| 216 |
class="tok-prop">font-weight: class="tok-val">600; |
| 217 |
class="tok-prop">letter-spacing: class="tok-val">6px; |
| 218 |
class="tok-prop">text-transform: class="tok-val">uppercase; |
| 219 |
class="tok-prop">cursor: class="tok-val">crosshair; |
| 220 |
class="tok-prop">transition: class="tok-val">all 0.2s ease; |
| 221 |
class="tok-prop">position: class="tok-val">relative; |
| 222 |
class="tok-prop">overflow: class="tok-val">hidden; |
| 223 |
} |
| 224 |
|
| 225 |
.class="tok-prop">btn-mission:class="tok-val">:before { |
| 226 |
class="tok-prop">content: class="tok-val">';'; |
| 227 |
class="tok-prop">position: class="tok-val">absolute; |
| 228 |
class="tok-prop">inset: class="tok-val">0; |
| 229 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--red); |
| 230 |
class="tok-prop">transform: class="tok-val">translateX(-101%); |
| 231 |
class="tok-prop">transition: class="tok-val">transform 0.25s ease; |
| 232 |
} |
| 233 |
|
| 234 |
.class="tok-prop">btn-mission:class="tok-val">hover::before { class="tok-prop">transform: class="tok-val">translateX(0); } |
| 235 |
.class="tok-prop">btn-mission:class="tok-val">hover { class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-bright); } |
| 236 |
.btn-mission span { class="tok-prop">position: class="tok-val">relative; class="tok-prop">z-index: class="tok-val">1; } |
| 237 |
|
| 238 |
/* ── LESSON ── */ |
| 239 |
.mission-header { |
| 240 |
class="tok-prop">width: class="tok-val">100%; |
| 241 |
class="tok-prop">display: class="tok-val">flex; |
| 242 |
class="tok-prop">justify-content: class="tok-val">space-between; |
| 243 |
class="tok-prop">align-items: class="tok-val">flex-start; |
| 244 |
class="tok-prop">margin-bottom: class="tok-val">24px; |
| 245 |
class="tok-prop">gap: class="tok-val">20px; |
| 246 |
} |
| 247 |
|
| 248 |
.mission-status { |
| 249 |
class="tok-prop">flex: class="tok-val">1; |
| 250 |
} |
| 251 |
|
| 252 |
.status-label { |
| 253 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 254 |
class="tok-prop">font-size: class="tok-val">9px; |
| 255 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 256 |
class="tok-prop">letter-spacing: class="tok-val">3px; |
| 257 |
class="tok-prop">margin-bottom: class="tok-val">4px; |
| 258 |
} |
| 259 |
|
| 260 |
.status-val { |
| 261 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--head); |
| 262 |
class="tok-prop">font-size: class="tok-val">18px; |
| 263 |
class="tok-prop">font-weight: class="tok-val">400; |
| 264 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-bright); |
| 265 |
class="tok-prop">letter-spacing: class="tok-val">2px; |
| 266 |
} |
| 267 |
|
| 268 |
/* Timer */ |
| 269 |
.timer-wrap { |
| 270 |
class="tok-prop">text-align: class="tok-val">right; |
| 271 |
} |
| 272 |
|
| 273 |
.timer-display { |
| 274 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 275 |
class="tok-prop">font-size: class="tok-val">28px; |
| 276 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--amber); |
| 277 |
class="tok-prop">text-shadow: class="tok-val">0 0 20px rgba(212,130,10,0.5); |
| 278 |
class="tok-prop">line-height: class="tok-val">1; |
| 279 |
} |
| 280 |
|
| 281 |
.timer-display.danger-time { |
| 282 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--red); |
| 283 |
class="tok-prop">text-shadow: class="tok-val">0 0 20px rgba(204,26,26,0.6); |
| 284 |
class="tok-prop">animation: class="tok-val">pulse-red 0.5s ease infinite; |
| 285 |
} |
| 286 |
|
| 287 |
@keyframes pulse-red { |
| 288 |
0%,100% { class="tok-prop">opacity: class="tok-val">1; } |
| 289 |
50% { class="tok-prop">opacity: class="tok-val">0.6; } |
| 290 |
} |
| 291 |
|
| 292 |
/* Transmission / bubble */ |
| 293 |
.transmission { |
| 294 |
class="tok-prop">width: class="tok-val">100%; |
| 295 |
class="tok-prop">max-width: class="tok-val">580px; |
| 296 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--panel); |
| 297 |
class="tok-prop">border: class="tok-val">1px solid rgba(204,26,26,0.15); |
| 298 |
class="tok-prop">border-left: class="tok-val">3px solid class="tok-kw">var(--red-dim); |
| 299 |
class="tok-prop">padding: class="tok-val">20px 24px; |
| 300 |
class="tok-prop">margin-bottom: class="tok-val">24px; |
| 301 |
class="tok-prop">position: class="tok-val">relative; |
| 302 |
} |
| 303 |
|
| 304 |
.trans-header { |
| 305 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 306 |
class="tok-prop">font-size: class="tok-val">9px; |
| 307 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--red); |
| 308 |
class="tok-prop">letter-spacing: class="tok-val">3px; |
| 309 |
class="tok-prop">margin-bottom: class="tok-val">10px; |
| 310 |
class="tok-prop">display: class="tok-val">flex; |
| 311 |
class="tok-prop">align-items: class="tok-val">center; |
| 312 |
class="tok-prop">gap: class="tok-val">8px; |
| 313 |
} |
| 314 |
|
| 315 |
.trans-dot { |
| 316 |
class="tok-prop">width: class="tok-val">5px; class="tok-prop">height: class="tok-val">5px; |
| 317 |
class="tok-prop">border-radius: class="tok-val">50%; |
| 318 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--red); |
| 319 |
class="tok-prop">box-shadow: class="tok-val">0 0 6px class="tok-kw">var(--red); |
| 320 |
class="tok-prop">animation: class="tok-val">blink 0.9s step-end infinite; |
| 321 |
} |
| 322 |
|
| 323 |
.trans-text { |
| 324 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--body); |
| 325 |
class="tok-prop">font-size: class="tok-val">14px; |
| 326 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text); |
| 327 |
class="tok-prop">line-height: class="tok-val">1.8; |
| 328 |
class="tok-prop">font-style: class="tok-val">italic; |
| 329 |
} |
| 330 |
|
| 331 |
.trans-text em { |
| 332 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--amber); |
| 333 |
class="tok-prop">font-style: class="tok-val">normal; |
| 334 |
class="tok-prop">font-weight: class="tok-val">bold; |
| 335 |
} |
| 336 |
|
| 337 |
/* FLIP CARD */ |
| 338 |
.flip-area { |
| 339 |
class="tok-prop">perspective: class="tok-val">1200px; |
| 340 |
class="tok-prop">width: class="tok-val">300px; |
| 341 |
class="tok-prop">height: class="tok-val">320px; |
| 342 |
class="tok-prop">margin: class="tok-val">0 auto 24px; |
| 343 |
class="tok-prop">cursor: class="tok-val">crosshair; |
| 344 |
} |
| 345 |
|
| 346 |
.flip-inner { |
| 347 |
class="tok-prop">width: class="tok-val">100%; class="tok-prop">height: class="tok-val">100%; |
| 348 |
class="tok-prop">position: class="tok-val">relative; |
| 349 |
class="tok-prop">transform-style: class="tok-val">preserve-3d; |
| 350 |
class="tok-prop">transition: class="tok-val">transform 0.55s cubic-bezier(0.4,0,0.2,1); |
| 351 |
} |
| 352 |
|
| 353 |
.flip-inner.flipped { class="tok-prop">transform: class="tok-val">rotateY(180deg); } |
| 354 |
|
| 355 |
.flip-face { |
| 356 |
class="tok-prop">position: class="tok-val">absolute; class="tok-prop">inset: class="tok-val">0; |
| 357 |
class="tok-prop">backface-visibility: class="tok-val">hidden; |
| 358 |
class="tok-prop">display: class="tok-val">flex; |
| 359 |
class="tok-prop">flex-direction: class="tok-val">column; |
| 360 |
class="tok-prop">align-items: class="tok-val">center; |
| 361 |
class="tok-prop">justify-content: class="tok-val">center; |
| 362 |
class="tok-prop">padding: class="tok-val">28px 24px; |
| 363 |
} |
| 364 |
|
| 365 |
.flip-front { |
| 366 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--panel); |
| 367 |
class="tok-prop">border: class="tok-val">1px solid rgba(26,170,74,0.15); |
| 368 |
class="tok-prop">box-shadow: class="tok-val">0 0 60px rgba(0,0,0,0.8), 0 0 0 1px rgba(26,170,74,0.05); |
| 369 |
} |
| 370 |
|
| 371 |
.flip-back { |
| 372 |
class="tok-prop">background: class="tok-val">#0a0c0a; |
| 373 |
class="tok-prop">border: class="tok-val">1px solid rgba(204,26,26,0.3); |
| 374 |
class="tok-prop">box-shadow: class="tok-val">0 0 60px rgba(204,26,26,0.1), inset 0 0 40px rgba(0,0,0,0.5); |
| 375 |
class="tok-prop">transform: class="tok-val">rotateY(180deg); |
| 376 |
} |
| 377 |
|
| 378 |
.card-code { |
| 379 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 380 |
class="tok-prop">font-size: class="tok-val">9px; |
| 381 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 382 |
class="tok-prop">letter-spacing: class="tok-val">3px; |
| 383 |
class="tok-prop">position: class="tok-val">absolute; |
| 384 |
class="tok-prop">top: class="tok-val">14px; class="tok-prop">left: class="tok-val">16px; |
| 385 |
} |
| 386 |
|
| 387 |
.hint-emoji { class="tok-prop">font-size: class="tok-val">52px; class="tok-prop">margin-bottom: class="tok-val">14px; class="tok-prop">filter: class="tok-val">grayscale(0.3); } |
| 388 |
|
| 389 |
.hint-text { |
| 390 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 391 |
class="tok-prop">font-size: class="tok-val">12px; |
| 392 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 393 |
class="tok-prop">text-align: class="tok-val">center; |
| 394 |
class="tok-prop">line-height: class="tok-val">1.8; |
| 395 |
class="tok-prop">max-width: class="tok-val">200px; |
| 396 |
} |
| 397 |
|
| 398 |
.tap-hint { |
| 399 |
class="tok-prop">position: class="tok-val">absolute; class="tok-prop">bottom: class="tok-val">14px; |
| 400 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 401 |
class="tok-prop">font-size: class="tok-val">9px; |
| 402 |
class="tok-prop">color: class="tok-val">rgba(200,207,200,0.2); |
| 403 |
class="tok-prop">letter-spacing: class="tok-val">2px; |
| 404 |
} |
| 405 |
|
| 406 |
/* Back */ |
| 407 |
.cyrillic-main { |
| 408 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 409 |
class="tok-prop">font-size: class="tok-val">72px; |
| 410 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-bright); |
| 411 |
class="tok-prop">line-height: class="tok-val">1; |
| 412 |
class="tok-prop">margin-bottom: class="tok-val">8px; |
| 413 |
class="tok-prop">text-shadow: class="tok-val">0 0 30px rgba(204,26,26,0.4); |
| 414 |
class="tok-prop">letter-spacing: class="tok-val">-2px; |
| 415 |
} |
| 416 |
|
| 417 |
.transliteration { |
| 418 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 419 |
class="tok-prop">font-size: class="tok-val">14px; |
| 420 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--amber); |
| 421 |
class="tok-prop">letter-spacing: class="tok-val">4px; |
| 422 |
class="tok-prop">margin-bottom: class="tok-val">8px; |
| 423 |
} |
| 424 |
|
| 425 |
.meaning-ru { |
| 426 |
class="tok-prop">font-size: class="tok-val">16px; |
| 427 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-bright); |
| 428 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--head); |
| 429 |
class="tok-prop">font-weight: class="tok-val">300; |
| 430 |
class="tok-prop">letter-spacing: class="tok-val">2px; |
| 431 |
class="tok-prop">margin-bottom: class="tok-val">10px; |
| 432 |
} |
| 433 |
|
| 434 |
.example-ru { |
| 435 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 436 |
class="tok-prop">font-size: class="tok-val">10px; |
| 437 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 438 |
class="tok-prop">text-align: class="tok-val">center; |
| 439 |
class="tok-prop">line-height: class="tok-val">1.9; |
| 440 |
} |
| 441 |
|
| 442 |
/* Answer row */ |
| 443 |
.answer-row { |
| 444 |
class="tok-prop">display: class="tok-val">flex; |
| 445 |
class="tok-prop">gap: class="tok-val">12px; |
| 446 |
class="tok-prop">justify-content: class="tok-val">center; |
| 447 |
class="tok-prop">margin-bottom: class="tok-val">8px; |
| 448 |
} |
| 449 |
|
| 450 |
.btn-ans { |
| 451 |
class="tok-prop">padding: class="tok-val">11px 24px; |
| 452 |
class="tok-prop">border: class="tok-val">1px solid; |
| 453 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--head); |
| 454 |
class="tok-prop">font-size: class="tok-val">12px; |
| 455 |
class="tok-prop">font-weight: class="tok-val">600; |
| 456 |
class="tok-prop">letter-spacing: class="tok-val">3px; |
| 457 |
class="tok-prop">text-transform: class="tok-val">uppercase; |
| 458 |
class="tok-prop">cursor: class="tok-val">crosshair; |
| 459 |
class="tok-prop">transition: class="tok-val">all 0.2s ease; |
| 460 |
class="tok-prop">background: class="tok-val">transparent; |
| 461 |
} |
| 462 |
|
| 463 |
.class="tok-prop">btn-ans:class="tok-val">disabled { class="tok-prop">opacity: class="tok-val">0.2; class="tok-prop">cursor: class="tok-val">not-allowed; } |
| 464 |
|
| 465 |
.btn-success { |
| 466 |
class="tok-prop">border-color: class="tok-val">class="tok-kw">var(--green); |
| 467 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--green); |
| 468 |
} |
| 469 |
.class="tok-prop">btn-success:class="tok-val">not(:disabled):hover { |
| 470 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--green-dim); |
| 471 |
} |
| 472 |
|
| 473 |
.btn-fail { |
| 474 |
class="tok-prop">border-color: class="tok-val">class="tok-kw">var(--red-dim); |
| 475 |
class="tok-prop">color: class="tok-val">#aa5555; |
| 476 |
} |
| 477 |
.class="tok-prop">btn-fail:class="tok-val">not(:disabled):hover { |
| 478 |
class="tok-prop">background: class="tok-val">rgba(204,26,26,0.1); |
| 479 |
} |
| 480 |
|
| 481 |
.btn-flip-sm { |
| 482 |
class="tok-prop">background: class="tok-val">transparent; |
| 483 |
class="tok-prop">border: class="tok-val">1px solid rgba(200,207,200,0.1); |
| 484 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 485 |
class="tok-prop">padding: class="tok-val">10px 18px; |
| 486 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 487 |
class="tok-prop">font-size: class="tok-val">10px; |
| 488 |
class="tok-prop">letter-spacing: class="tok-val">2px; |
| 489 |
class="tok-prop">cursor: class="tok-val">crosshair; |
| 490 |
class="tok-prop">transition: class="tok-val">all 0.2s; |
| 491 |
} |
| 492 |
.class="tok-prop">btn-flip-sm:class="tok-val">hover { class="tok-prop">border-color: class="tok-val">rgba(200,207,200,0.3); class="tok-prop">color: class="tok-val">class="tok-kw">var(--text); } |
| 493 |
|
| 494 |
/* Progress bar */ |
| 495 |
.prog-wrap { |
| 496 |
class="tok-prop">width: class="tok-val">100%; |
| 497 |
class="tok-prop">max-width: class="tok-val">580px; |
| 498 |
class="tok-prop">margin-top: class="tok-val">20px; |
| 499 |
} |
| 500 |
|
| 501 |
.prog-info { |
| 502 |
class="tok-prop">display: class="tok-val">flex; |
| 503 |
class="tok-prop">justify-content: class="tok-val">space-between; |
| 504 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 505 |
class="tok-prop">font-size: class="tok-val">9px; |
| 506 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 507 |
class="tok-prop">letter-spacing: class="tok-val">2px; |
| 508 |
class="tok-prop">margin-bottom: class="tok-val">6px; |
| 509 |
} |
| 510 |
|
| 511 |
.prog-bar { |
| 512 |
class="tok-prop">height: class="tok-val">2px; |
| 513 |
class="tok-prop">background: class="tok-val">rgba(200,207,200,0.08); |
| 514 |
} |
| 515 |
|
| 516 |
.prog-fill { |
| 517 |
class="tok-prop">height: class="tok-val">100%; |
| 518 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--red); |
| 519 |
class="tok-prop">box-shadow: class="tok-val">0 0 8px class="tok-kw">var(--red); |
| 520 |
class="tok-prop">transition: class="tok-val">width 0.4s ease; |
| 521 |
} |
| 522 |
|
| 523 |
/* ── RESULT ── */ |
| 524 |
.result-terminal { |
| 525 |
class="tok-prop">background: class="tok-val">class="tok-kw">var(--panel); |
| 526 |
class="tok-prop">border: class="tok-val">1px solid rgba(26,170,74,0.2); |
| 527 |
class="tok-prop">border-left: class="tok-val">3px solid class="tok-kw">var(--green); |
| 528 |
class="tok-prop">padding: class="tok-val">36px 40px; |
| 529 |
class="tok-prop">width: class="tok-val">100%; |
| 530 |
class="tok-prop">max-width: class="tok-val">580px; |
| 531 |
class="tok-prop">margin-bottom: class="tok-val">28px; |
| 532 |
class="tok-prop">box-shadow: class="tok-val">0 0 60px rgba(26,170,74,0.05); |
| 533 |
} |
| 534 |
|
| 535 |
.result-terminal.failed { |
| 536 |
class="tok-prop">border-left-color: class="tok-val">class="tok-kw">var(--red); |
| 537 |
class="tok-prop">box-shadow: class="tok-val">0 0 60px rgba(204,26,26,0.08); |
| 538 |
} |
| 539 |
|
| 540 |
.result-code { |
| 541 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 542 |
class="tok-prop">font-size: class="tok-val">9px; |
| 543 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--green); |
| 544 |
class="tok-prop">letter-spacing: class="tok-val">3px; |
| 545 |
class="tok-prop">margin-bottom: class="tok-val">20px; |
| 546 |
} |
| 547 |
|
| 548 |
.result-terminal.failed .result-code { class="tok-prop">color: class="tok-val">class="tok-kw">var(--red); } |
| 549 |
|
| 550 |
.result-big { |
| 551 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--head); |
| 552 |
class="tok-prop">font-size: class="tok-val">clamp(1.4rem, 4vw, 2rem); |
| 553 |
class="tok-prop">font-weight: class="tok-val">600; |
| 554 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-bright); |
| 555 |
class="tok-prop">letter-spacing: class="tok-val">3px; |
| 556 |
class="tok-prop">margin-bottom: class="tok-val">10px; |
| 557 |
class="tok-prop">line-height: class="tok-val">1.2; |
| 558 |
} |
| 559 |
|
| 560 |
.result-sub { |
| 561 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--body); |
| 562 |
class="tok-prop">font-size: class="tok-val">13px; |
| 563 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 564 |
class="tok-prop">line-height: class="tok-val">1.9; |
| 565 |
class="tok-prop">font-style: class="tok-val">italic; |
| 566 |
class="tok-prop">margin-bottom: class="tok-val">24px; |
| 567 |
} |
| 568 |
|
| 569 |
.result-stats { |
| 570 |
class="tok-prop">display: class="tok-val">flex; |
| 571 |
class="tok-prop">gap: class="tok-val">32px; |
| 572 |
class="tok-prop">border-top: class="tok-val">1px solid rgba(200,207,200,0.08); |
| 573 |
class="tok-prop">padding-top: class="tok-val">20px; |
| 574 |
} |
| 575 |
|
| 576 |
.stat-item { class="tok-prop">display: class="tok-val">flex; class="tok-prop">flex-direction: class="tok-val">column; class="tok-prop">gap: class="tok-val">4px; } |
| 577 |
.stat-num { |
| 578 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 579 |
class="tok-prop">font-size: class="tok-val">28px; |
| 580 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-bright); |
| 581 |
class="tok-prop">line-height: class="tok-val">1; |
| 582 |
} |
| 583 |
.stat-label { |
| 584 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 585 |
class="tok-prop">font-size: class="tok-val">9px; |
| 586 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 587 |
class="tok-prop">letter-spacing: class="tok-val">2px; |
| 588 |
} |
| 589 |
|
| 590 |
/* Decode lines in result */ |
| 591 |
.decode-line { |
| 592 |
class="tok-prop">display: class="tok-val">flex; |
| 593 |
class="tok-prop">align-items: class="tok-val">center; |
| 594 |
class="tok-prop">gap: class="tok-val">16px; |
| 595 |
class="tok-prop">padding: class="tok-val">10px 0; |
| 596 |
class="tok-prop">border-bottom: class="tok-val">1px solid rgba(200,207,200,0.05); |
| 597 |
class="tok-prop">opacity: class="tok-val">0; |
| 598 |
class="tok-prop">animation: class="tok-val">lineIn 0.4s ease forwards; |
| 599 |
} |
| 600 |
|
| 601 |
@keyframes lineIn { |
| 602 |
from { class="tok-prop">opacity: class="tok-val">0; class="tok-prop">transform: class="tok-val">translateX(-10px); } |
| 603 |
to { class="tok-prop">opacity: class="tok-val">1; class="tok-prop">transform: class="tok-val">translateX(0); } |
| 604 |
} |
| 605 |
|
| 606 |
.decode-ru { |
| 607 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 608 |
class="tok-prop">font-size: class="tok-val">18px; |
| 609 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-bright); |
| 610 |
class="tok-prop">min-width: class="tok-val">80px; |
| 611 |
} |
| 612 |
|
| 613 |
.decode-arrow { |
| 614 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 615 |
class="tok-prop">font-size: class="tok-val">10px; |
| 616 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 617 |
} |
| 618 |
|
| 619 |
.decode-es { |
| 620 |
class="tok-prop">font-size: class="tok-val">13px; |
| 621 |
class="tok-prop">color: class="tok-val">class="tok-kw">var(--text-dim); |
| 622 |
class="tok-prop">font-style: class="tok-val">italic; |
| 623 |
class="tok-prop">flex: class="tok-val">1; |
| 624 |
} |
| 625 |
|
| 626 |
.decode-status { |
| 627 |
class="tok-prop">font-family: class="tok-val">class="tok-kw">var(--mono); |
| 628 |
class="tok-prop">font-size: class="tok-val">10px; |
| 629 |
class="tok-prop">letter-spacing: class="tok-val">1px; |
| 630 |
} |
| 631 |
|
| 632 |
/* Animations */ |
| 633 |
@keyframes shake { |
| 634 |
0%,100% { class="tok-prop">transform: class="tok-val">translateX(0); } |
| 635 |
20% { class="tok-prop">transform: class="tok-val">translateX(-10px); } |
| 636 |
40% { class="tok-prop">transform: class="tok-val">translateX(10px); } |
| 637 |
60% { class="tok-prop">transform: class="tok-val">translateX(-7px); } |
| 638 |
80% { class="tok-prop">transform: class="tok-val">translateX(7px); } |
| 639 |
} |
| 640 |
.shake { class="tok-prop">animation: class="tok-val">shake 0.4s ease; } |
| 641 |
class="tok-tag"></styleclass="tok-attr">class="tok-tag">> |
| 642 |
class="tok-tag"></headclass="tok-attr">class="tok-tag">> |
| 643 |
class="tok-tag"><bodyclass="tok-attr">class="tok-tag">> |
| 644 |
class="tok-tag"><divclass="tok-attr"> class="noise"class="tok-tag">>class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 645 |
|
| 646 |
class="tok-tag"><divclass="tok-attr"> class="wrapper"class="tok-tag">> |
| 647 |
|
| 648 |
|
| 649 |
class="tok-tag"><divclass="tok-attr"> class="screen active" id="screen-intro"class="tok-tag">> |
| 650 |
class="tok-tag"><divclass="tok-attr"> class="top-bar"class="tok-tag">> |
| 651 |
class="tok-tag"><spanclass="tok-attr"> class="red"class="tok-tag">>● TRANSMISIÓN ACTIVAclass="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 652 |
class="tok-tag"><spanclass="tok-attr">class="tok-tag">>МОСКОВСКОЕ ВРЕМЯ class="tok-tag"><spanclass="tok-attr"> class="blink"class="tok-tag">>23:47class="tok-tag"></spanclass="tok-attr">class="tok-tag">>class="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 653 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 654 |
|
| 655 |
class="tok-tag"><divclass="tok-attr"> class="classified-stamp"class="tok-tag">>CLASIFICADOclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 656 |
|
| 657 |
class="tok-tag"><h1class="tok-attr"> class="intro-title"class="tok-tag">>MISIÓNclass="tok-tag"><brclass="tok-attr">class="tok-tag">>MOSCÚclass="tok-tag"></h1class="tok-attr">class="tok-tag">> |
| 658 |
class="tok-tag"><divclass="tok-attr"> class="intro-cyrillic"class="tok-tag">>МИССИЯ МОСКВА · 1973class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 659 |
|
| 660 |
class="tok-tag"><divclass="tok-attr"> class="terminal" style="class="tok-prop">max-width:class="tok-val">580px"class="tok-tag">> |
| 661 |
class="tok-tag"><divclass="tok-attr"> class="terminal-header"class="tok-tag">> |
| 662 |
class="tok-tag"><divclass="tok-attr"> class="terminal-dot"class="tok-tag">>class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 663 |
TRANSMISIÓN ENTRANTE · CANAL SEGURO |
| 664 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 665 |
class="tok-tag"><divclass="tok-attr"> class="terminal-text"class="tok-tag">> |
| 666 |
> class="tok-prop">AGENTE: class="tok-val">class="tok-tag"><spanclass="tok-attr"> class="name"class="tok-tag">>SASHAclass="tok-tag"></spanclass="tok-attr">class="tok-tag">>class="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 667 |
> UBICACIÓclass="tok-prop">N: class="tok-val">class="tok-tag"><spanclass="tok-attr"> class="highlight"class="tok-tag">>Moscú, sector norteclass="tok-tag"></spanclass="tok-attr">class="tok-tag">>class="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 668 |
> MISIÓclass="tok-prop">N: class="tok-val">Infiltración edificio K-7class="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 669 |
> class="tok-prop">ESTADO: class="tok-val">class="tok-tag"><spanclass="tok-attr"> class="danger"class="tok-tag">>CRÍTICOclass="tok-tag"></spanclass="tok-attr">class="tok-tag">>class="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 670 |
class="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 671 |
> "Necesito las palabras correctas antesclass="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 672 |
de entrar. class="tok-tag"><spanclass="tok-attr"> class="danger"class="tok-tag">>Una sola equivocaciónclass="tok-tag"></spanclass="tok-attr">class="tok-tag">> yclass="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 673 |
todo se derrumba."class="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 674 |
class="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 675 |
> TU class="tok-prop">ROL: class="tok-val">class="tok-tag"><spanclass="tok-attr"> class="name"class="tok-tag">>CONTACTO DE CAMPOclass="tok-tag"></spanclass="tok-attr">class="tok-tag">>class="tok-tag"><brclass="tok-attr">class="tok-tag">> |
| 676 |
> Pásale las palabras. No falles. class="tok-tag"><spanclass="tok-attr"> class="cursor-blink"class="tok-tag">>class="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 677 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 678 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 679 |
|
| 680 |
class="tok-tag"><buttonclass="tok-attr"> class="btn-mission" onclick="startMission()"class="tok-tag">> |
| 681 |
class="tok-tag"><spanclass="tok-attr">class="tok-tag">>▶ INICIAR MISIÓNclass="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 682 |
class="tok-tag"></buttonclass="tok-attr">class="tok-tag">> |
| 683 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 684 |
|
| 685 |
|
| 686 |
class="tok-tag"><divclass="tok-attr"> class="screen" id="screen-lesson"class="tok-tag">> |
| 687 |
class="tok-tag"><divclass="tok-attr"> class="top-bar"class="tok-tag">> |
| 688 |
class="tok-tag"><spanclass="tok-attr"> class="red blink"class="tok-tag">>● EN CAMPOclass="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 689 |
class="tok-tag"><spanclass="tok-attr"> id="time-label"class="tok-tag">>МОСКОВСКОЕ ВРЕМЯ 23:47class="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 690 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 691 |
|
| 692 |
class="tok-tag"><divclass="tok-attr"> class="mission-header" style="class="tok-prop">max-width:class="tok-val">580px;class="tok-prop">width:class="tok-val">100%"class="tok-tag">> |
| 693 |
class="tok-tag"><divclass="tok-attr"> class="mission-status"class="tok-tag">> |
| 694 |
class="tok-tag"><divclass="tok-attr"> class="status-label"class="tok-tag">>PALABRA CLAVEclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 695 |
class="tok-tag"><divclass="tok-attr"> class="status-val" id="step-val"class="tok-tag">>1 / 5class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 696 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 697 |
class="tok-tag"><divclass="tok-attr"> class="timer-wrap"class="tok-tag">> |
| 698 |
class="tok-tag"><divclass="tok-attr"> class="status-label" style="class="tok-prop">text-align:class="tok-val">right"class="tok-tag">>TIEMPOclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 699 |
class="tok-tag"><divclass="tok-attr"> class="timer-display" id="timer-display"class="tok-tag">>00:30class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 700 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 701 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 702 |
|
| 703 |
class="tok-tag"><divclass="tok-attr"> class="transmission" style="class="tok-prop">max-width:class="tok-val">580px;class="tok-prop">width:class="tok-val">100%"class="tok-tag">> |
| 704 |
class="tok-tag"><divclass="tok-attr"> class="trans-header"class="tok-tag">> |
| 705 |
class="tok-tag"><divclass="tok-attr"> class="trans-dot"class="tok-tag">>class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 706 |
SASHA · VOZ CODIFICADA |
| 707 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 708 |
class="tok-tag"><divclass="tok-attr"> class="trans-text" id="trans-text"class="tok-tag">>...class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 709 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 710 |
|
| 711 |
class="tok-tag"><divclass="tok-attr"> class="flip-area" onclick="revealCard()"class="tok-tag">> |
| 712 |
class="tok-tag"><divclass="tok-attr"> class="flip-inner" id="flip-inner"class="tok-tag">> |
| 713 |
class="tok-tag"><divclass="tok-attr"> class="flip-face flip-front"class="tok-tag">> |
| 714 |
class="tok-tag"><divclass="tok-attr"> class="card-code" id="card-code"class="tok-tag">>CÓDIGO-01class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 715 |
class="tok-tag"><divclass="tok-attr"> class="hint-emoji" id="hint-emoji"class="tok-tag">>🔍class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 716 |
class="tok-tag"><divclass="tok-attr"> class="hint-text" id="hint-text"class="tok-tag">>...class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 717 |
class="tok-tag"><divclass="tok-attr"> class="tap-hint"class="tok-tag">>[ TOCA PARA DESCIFRAR ]class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 718 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 719 |
class="tok-tag"><divclass="tok-attr"> class="flip-face flip-back"class="tok-tag">> |
| 720 |
class="tok-tag"><divclass="tok-attr"> class="card-code" id="card-code-back"class="tok-tag">>DESCIFRADOclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 721 |
class="tok-tag"><divclass="tok-attr"> class="cyrillic-main" id="cyrillic-main"class="tok-tag">>словоclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 722 |
class="tok-tag"><divclass="tok-attr"> class="transliteration" id="transliteration"class="tok-tag">>slovoclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 723 |
class="tok-tag"><divclass="tok-attr"> class="meaning-ru" id="meaning-ru"class="tok-tag">>palabraclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 724 |
class="tok-tag"><divclass="tok-attr"> class="example-ru" id="example-ru"class="tok-tag">>class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 725 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 726 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 727 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 728 |
|
| 729 |
class="tok-tag"><divclass="tok-attr"> class="answer-row"class="tok-tag">> |
| 730 |
class="tok-tag"><buttonclass="tok-attr"> class="btn-ans btn-fail" id="btn-fail" onclick="answer(false)" disabledclass="tok-tag">>✗ FALLÉclass="tok-tag"></buttonclass="tok-attr">class="tok-tag">> |
| 731 |
class="tok-tag"><buttonclass="tok-attr"> class="btn-flip-sm" onclick="revealCard()"class="tok-tag">>↺ descifrarclass="tok-tag"></buttonclass="tok-attr">class="tok-tag">> |
| 732 |
class="tok-tag"><buttonclass="tok-attr"> class="btn-ans btn-success" id="btn-success" onclick="answer(true)" disabledclass="tok-tag">>✓ LO SÉclass="tok-tag"></buttonclass="tok-attr">class="tok-tag">> |
| 733 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 734 |
|
| 735 |
class="tok-tag"><divclass="tok-attr"> class="prog-wrap"class="tok-tag">> |
| 736 |
class="tok-tag"><divclass="tok-attr"> class="prog-info"class="tok-tag">> |
| 737 |
class="tok-tag"><spanclass="tok-attr">class="tok-tag">>PROGRESO DE MISIÓNclass="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 738 |
class="tok-tag"><spanclass="tok-attr"> id="prog-pct"class="tok-tag">>0%class="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 739 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 740 |
class="tok-tag"><divclass="tok-attr"> class="prog-bar"class="tok-tag">> |
| 741 |
class="tok-tag"><divclass="tok-attr"> class="prog-fill" id="prog-fill" style="class="tok-prop">width:class="tok-val">0%"class="tok-tag">>class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 742 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 743 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 744 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 745 |
|
| 746 |
|
| 747 |
class="tok-tag"><divclass="tok-attr"> class="screen" id="screen-result"class="tok-tag">> |
| 748 |
class="tok-tag"><divclass="tok-attr"> class="top-bar"class="tok-tag">> |
| 749 |
class="tok-tag"><spanclass="tok-attr"> id="res-status-top"class="tok-tag">>● MISIÓN COMPLETADAclass="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 750 |
class="tok-tag"><spanclass="tok-attr">class="tok-tag">>МОСКОВСКОЕ ВРЕМЯ 23:52class="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 751 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 752 |
|
| 753 |
class="tok-tag"><divclass="tok-attr"> class="result-terminal" id="result-terminal"class="tok-tag">> |
| 754 |
class="tok-tag"><divclass="tok-attr"> class="result-code" id="res-code"class="tok-tag">>class="tok-attr">class="tok-tag">> |
| 755 |
class="tok-tag"><divclass="tok-attr"> class="result-big" id="res-title"class="tok-tag">>SASHA CRUZÓclass="tok-tag"><brclass="tok-attr">class="tok-tag">>LA FRONTERAclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 756 |
class="tok-tag"><divclass="tok-attr"> class="result-sub" id="res-sub"class="tok-tag">>Las palabras correctas abrieron cada puerta. Esta vez.class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 757 |
|
| 758 |
class="tok-tag"><divclass="tok-attr"> class="result-stats"class="tok-tag">> |
| 759 |
class="tok-tag"><divclass="tok-attr"> class="stat-item"class="tok-tag">> |
| 760 |
class="tok-tag"><divclass="tok-attr"> class="stat-num" id="res-ok" style="class="tok-prop">color:class="tok-val">class="tok-kw">var(--green)"class="tok-tag">>0class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 761 |
class="tok-tag"><divclass="tok-attr"> class="stat-label"class="tok-tag">>CORRECTASclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 762 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 763 |
class="tok-tag"><divclass="tok-attr"> class="stat-item"class="tok-tag">> |
| 764 |
class="tok-tag"><divclass="tok-attr"> class="stat-num" id="res-fail" style="class="tok-prop">color:class="tok-val">class="tok-kw">var(--red)"class="tok-tag">>0class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 765 |
class="tok-tag"><divclass="tok-attr"> class="stat-label"class="tok-tag">>FALLADASclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 766 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 767 |
class="tok-tag"><divclass="tok-attr"> class="stat-item"class="tok-tag">> |
| 768 |
class="tok-tag"><divclass="tok-attr"> class="stat-num" id="res-pct"class="tok-tag">>0%class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 769 |
class="tok-tag"><divclass="tok-attr"> class="stat-label"class="tok-tag">>EFECTIVIDADclass="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 770 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 771 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 772 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 773 |
|
| 774 |
class="tok-tag"><divclass="tok-attr"> style="class="tok-prop">width:class="tok-val">100%;class="tok-prop">max-width:class="tok-val">580px;class="tok-prop">margin-bottom:class="tok-val">28px;"class="tok-tag">> |
| 775 |
class="tok-tag"><divclass="tok-attr"> style="class="tok-prop">font-family:class="tok-val">class="tok-kw">var(--mono);class="tok-prop">font-size:class="tok-val">9px;class="tok-prop">color:class="tok-val">class="tok-kw">var(--text-dim);class="tok-prop">letter-spacing:class="tok-val">3px;class="tok-prop">margin-bottom:class="tok-val">16px;"class="tok-tag">> |
| 776 |
|
| 777 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 778 |
class="tok-tag"><divclass="tok-attr"> id="decode-list"class="tok-tag">>class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 779 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 780 |
|
| 781 |
class="tok-tag"><buttonclass="tok-attr"> class="btn-mission" onclick="restartGame()"class="tok-tag">> |
| 782 |
class="tok-tag"><spanclass="tok-attr">class="tok-tag">>↺ NUEVA MISIÓNclass="tok-tag"></spanclass="tok-attr">class="tok-tag">> |
| 783 |
class="tok-tag"></buttonclass="tok-attr">class="tok-tag">> |
| 784 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 785 |
|
| 786 |
class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 787 |
|
| 788 |
class="tok-tag"><scriptclass="tok-attr">class="tok-tag">> |
| 789 |
class="tok-kw">const words = [ |
| 790 |
{ |
| 791 |
class="tok-prop">trans: class="tok-val">';"Necesito decirles quién soy... dame la palabra para class="tok-tag"><emclass="tok-attr">class="tok-tag">>nombreclass="tok-tag"></emclass="tok-attr">class="tok-tag">>."', |
| 792 |
class="tok-prop">emoji: class="tok-val">';🪪', |
| 793 |
class="tok-prop">hint: class="tok-val">';Lo que te distingue,\nlo que eres ante el mundo', |
| 794 |
class="tok-prop">code: class="tok-val">';CÓDIGO-01', |
| 795 |
class="tok-prop">cyrillic: class="tok-val">';имя', |
| 796 |
class="tok-prop">roman: class="tok-val">';imya', |
| 797 |
class="tok-prop">meaning: class="tok-val">';nombre', |
| 798 |
class="tok-prop">example: class="tok-val">';Моё имя Саша. = Mi nombre es Sasha.', |
| 799 |
decode_class="tok-prop">es: class="tok-val">';nombre / identidad' |
| 800 |
}, |
| 801 |
{ |
| 802 |
class="tok-prop">trans: class="tok-val">';"Debo decirles que class="tok-tag"><emclass="tok-attr">class="tok-tag">>no habloclass="tok-tag"></emclass="tok-attr">class="tok-tag">> bien el idioma... ¿cómo lo digo sin levantar sospechas?"', |
| 803 |
class="tok-prop">emoji: class="tok-val">';🤫', |
| 804 |
class="tok-prop">hint: class="tok-val">';Silencio, cautela,\nno revelar demasiado', |
| 805 |
class="tok-prop">code: class="tok-val">';CÓDIGO-02', |
| 806 |
class="tok-prop">cyrillic: class="tok-val">';нет', |
| 807 |
class="tok-prop">roman: class="tok-val">';nyet', |
| 808 |
class="tok-prop">meaning: class="tok-val">';no', |
| 809 |
class="tok-prop">example: class="tok-val">';Нет, спасибо. = No, gracias.', |
| 810 |
decode_class="tok-prop">es: class="tok-val">';no / negación' |
| 811 |
}, |
| 812 |
{ |
| 813 |
class="tok-prop">trans: class="tok-val">';"Necesito pedir class="tok-tag"><emclass="tok-attr">class="tok-tag">>ayudaclass="tok-tag"></emclass="tok-attr">class="tok-tag">> sin que sepan que soy agente... ¿cómo?"', |
| 814 |
class="tok-prop">emoji: class="tok-val">';🤝', |
| 815 |
class="tok-prop">hint: class="tok-val">';Extender la mano,\npedir sin revelar nada', |
| 816 |
class="tok-prop">code: class="tok-val">';CÓDIGO-03', |
| 817 |
class="tok-prop">cyrillic: class="tok-val">';помощь', |
| 818 |
class="tok-prop">roman: class="tok-val">';pomoshch', |
| 819 |
class="tok-prop">meaning: class="tok-val">';ayuda', |
| 820 |
class="tok-prop">example: class="tok-val">';Мне нужна помощь. = Necesito ayuda.', |
| 821 |
decode_class="tok-prop">es: class="tok-val">';ayuda / asistencia' |
| 822 |
}, |
| 823 |
{ |
| 824 |
class="tok-prop">trans: class="tok-val">';"Si me preguntan adónde voy... necesito decir class="tok-tag"><emclass="tok-attr">class="tok-tag">>salidaclass="tok-tag"></emclass="tok-attr">class="tok-tag">> con calma."', |
| 825 |
class="tok-prop">emoji: class="tok-val">';🚪', |
| 826 |
class="tok-prop">hint: class="tok-val">';La puerta al otro lado,\nel camino de escape', |
| 827 |
class="tok-prop">code: class="tok-val">';CÓDIGO-04', |
| 828 |
class="tok-prop">cyrillic: class="tok-val">';выход', |
| 829 |
class="tok-prop">roman: class="tok-val">';vykhod', |
| 830 |
class="tok-prop">meaning: class="tok-val">';salida', |
| 831 |
class="tok-prop">example: class="tok-val">';Где выход? = ¿Dónde está la salida?', |
| 832 |
decode_class="tok-prop">es: class="tok-val">';salida / escape' |
| 833 |
}, |
| 834 |
{ |
| 835 |
class="tok-prop">trans: class="tok-val">';"Una última palabra... si algo sale mal necesito decir class="tok-tag"><emclass="tok-attr">class="tok-tag">>peligroclass="tok-tag"></emclass="tok-attr">class="tok-tag">>."', |
| 836 |
class="tok-prop">emoji: class="tok-val">';⚠️', |
| 837 |
class="tok-prop">hint: class="tok-val">';Señal de alarma,\ncuando todo puede fallar', |
| 838 |
class="tok-prop">code: class="tok-val">';CÓDIGO-05', |
| 839 |
class="tok-prop">cyrillic: class="tok-val">';опасно', |
| 840 |
class="tok-prop">roman: class="tok-val">';opasno', |
| 841 |
class="tok-prop">meaning: class="tok-val">';peligro / peligroso', |
| 842 |
class="tok-prop">example: class="tok-val">';Это опасно! = ¡Esto es peligroso!', |
| 843 |
decode_class="tok-prop">es: class="tok-val">';peligro / alerta' |
| 844 |
} |
| 845 |
]; |
| 846 |
|
| 847 |
class="tok-kw">let current = 0; |
| 848 |
class="tok-kw">let revealed = false; |
| 849 |
class="tok-kw">let score = 0; |
| 850 |
class="tok-kw">let timerInterval = null; |
| 851 |
class="tok-kw">let timeLeft = 30; |
| 852 |
class="tok-kw">let results = []; |
| 853 |
|
| 854 |
class="tok-kw">function startMission() { |
| 855 |
current = 0; score = 0; revealed = false; results = []; |
| 856 |
loadWord(0); |
| 857 |
showScreen('screen-lesson'); |
| 858 |
} |
| 859 |
|
| 860 |
class="tok-kw">function showScreen(id) { |
| 861 |
document.querySelectorAll('.screen').forEach(s => s.classList.remove('active')); |
| 862 |
document.getElementById(id).classList.add('active'); |
| 863 |
} |
| 864 |
|
| 865 |
class="tok-kw">function loadWord(idx) { |
| 866 |
class="tok-kw">const w = words[idx]; |
| 867 |
revealed = false; |
| 868 |
|
| 869 |
document.getElementById('trans-text').innerHTML = w.trans; |
| 870 |
document.getElementById('hint-emoji').textContent = w.emoji; |
| 871 |
document.getElementById('hint-text').textContent = w.hint; |
| 872 |
document.getElementById('card-code').textContent = w.code; |
| 873 |
document.getElementById('card-code-back').textContent = '; |
| 874 |
document.getElementById('cyrillic-main').textContent = w.cyrillic; |
| 875 |
document.getElementById('transliteration').textContent = w.roman; |
| 876 |
document.getElementById('meaning-ru').textContent = w.meaning; |
| 877 |
document.getElementById('example-ru').textContent = w.example; |
| 878 |
document.getElementById('step-val').textContent = `${idx+1} / ${words.length}`; |
| 879 |
|
| 880 |
document.getElementById('flip-inner').classList.remove('flipped'); |
| 881 |
document.getElementById('btn-success').disabled = true; |
| 882 |
document.getElementById('btn-fail').disabled = true; |
| 883 |
|
| 884 |
class="tok-kw">const pct = Math.round((idx / words.length) * 100); |
| 885 |
document.getElementById('prog-fill').style.width = pct + '%'; |
| 886 |
document.getElementById('prog-pct').textContent = pct + '%'; |
| 887 |
|
| 888 |
|
| 889 |
clearInterval(timerInterval); |
| 890 |
timeLeft = 30; |
| 891 |
updateTimerDisplay(); |
| 892 |
timerInterval = setInterval(() => { |
| 893 |
timeLeft--; |
| 894 |
updateTimerDisplay(); |
| 895 |
class="tok-kw">if (timeLeft <= 0) { |
| 896 |
clearInterval(timerInterval); |
| 897 |
class="tok-kw">if (!revealed) revealCard(); |
| 898 |
} |
| 899 |
}, 1000); |
| 900 |
} |
| 901 |
|
| 902 |
class="tok-kw">function updateTimerDisplay() { |
| 903 |
class="tok-kw">const el = document.getElementById('timer-display'); |
| 904 |
class="tok-kw">const s = String(timeLeft).padStart(2, '0'); |
| 905 |
el.textContent = `00:${s}`; |
| 906 |
el.classList.toggle('danger-time', timeLeft <= 10); |
| 907 |
} |
| 908 |
|
| 909 |
class="tok-kw">function revealCard() { |
| 910 |
class="tok-kw">if (revealed) class="tok-kw">return; |
| 911 |
revealed = true; |
| 912 |
clearInterval(timerInterval); |
| 913 |
document.getElementById('flip-inner').classList.add('flipped'); |
| 914 |
document.getElementById('btn-success').disabled = false; |
| 915 |
document.getElementById('btn-fail').disabled = false; |
| 916 |
} |
| 917 |
|
| 918 |
class="tok-kw">function answer(knew) { |
| 919 |
class="tok-kw">if (!revealed) class="tok-kw">return; |
| 920 |
clearInterval(timerInterval); |
| 921 |
|
| 922 |
class="tok-kw">const w = words[current]; |
| 923 |
results.push({ class="tok-prop">word: class="tok-val">w, knew }); |
| 924 |
|
| 925 |
class="tok-kw">if (knew) { |
| 926 |
score++; |
| 927 |
} class="tok-kw">else { |
| 928 |
document.querySelector('.flip-area').classList.add('shake'); |
| 929 |
setTimeout(() => document.querySelector('.flip-area').classList.remove('shake'), 450); |
| 930 |
} |
| 931 |
|
| 932 |
current++; |
| 933 |
class="tok-kw">if (current >= words.length) { |
| 934 |
setTimeout(showResult, 400); |
| 935 |
} class="tok-kw">else { |
| 936 |
setTimeout(() => loadWord(current), 350); |
| 937 |
} |
| 938 |
} |
| 939 |
|
| 940 |
class="tok-kw">function showResult() { |
| 941 |
clearInterval(timerInterval); |
| 942 |
class="tok-kw">const pct = Math.round((score / words.length) * 100); |
| 943 |
class="tok-kw">const failed = words.length - score; |
| 944 |
|
| 945 |
document.getElementById('res-ok').textContent = score; |
| 946 |
document.getElementById('res-fail').textContent = failed; |
| 947 |
document.getElementById('res-pct').textContent = pct + '%'; |
| 948 |
|
| 949 |
class="tok-kw">const terminal = document.getElementById('result-terminal'); |
| 950 |
class="tok-kw">let title, sub, code, statusTop; |
| 951 |
|
| 952 |
class="tok-kw">if (pct === 100) { |
| 953 |
title = 'SASHA CRUZÓclass="tok-tag"><brclass="tok-attr">class="tok-tag">>LA FRONTERA'; |
| 954 |
sub = 'Cada palabra fue perfecta. La misión fue un éxito. Sasha regresa mañana.'; |
| 955 |
code = '; |
| 956 |
statusTop = '● MISIÓN EXITOSA'; |
| 957 |
terminal.classList.remove('failed'); |
| 958 |
document.getElementById('res-status-top').style.color = 'class="tok-kw">var(--green)'; |
| 959 |
} class="tok-kw">else class="tok-kw">if (pct >= 60) { |
| 960 |
title = 'SASHA ESCAPÓclass="tok-tag"><brclass="tok-attr">class="tok-tag">>POR POCO'; |
| 961 |
sub = 'Hubo errores. Sasha salió, pero dejó rastros. La próxima vez debe ser mejor.'; |
| 962 |
code = '; |
| 963 |
statusTop = '● REGRESO COMPLICADO'; |
| 964 |
terminal.classList.remove('failed'); |
| 965 |
document.getElementById('res-status-top').style.color = 'class="tok-kw">var(--amber)'; |
| 966 |
document.getElementById('res-status-top').textContent = statusTop; |
| 967 |
} class="tok-kw">else { |
| 968 |
title = 'LA MISIÓNclass="tok-tag"><brclass="tok-attr">class="tok-tag">>FUE ABORTADA'; |
| 969 |
sub = 'Las palabras fallaron. Sasha tuvo que retirarse. Habrá que intentarlo de nuevo.'; |
| 970 |
code = '; |
| 971 |
statusTop = '● MISIÓN ABORTADA'; |
| 972 |
terminal.classList.add('failed'); |
| 973 |
document.getElementById('res-status-top').style.color = 'class="tok-kw">var(--red)'; |
| 974 |
document.getElementById('res-status-top').textContent = statusTop; |
| 975 |
} |
| 976 |
|
| 977 |
document.getElementById('res-code').textContent = code; |
| 978 |
document.getElementById('res-title').innerHTML = title; |
| 979 |
document.getElementById('res-sub').textContent = sub; |
| 980 |
document.getElementById('prog-fill').style.width = '100%'; |
| 981 |
document.getElementById('prog-pct').textContent = '100%'; |
| 982 |
|
| 983 |
|
| 984 |
class="tok-kw">const list = document.getElementById('decode-list'); |
| 985 |
list.innerHTML = ''; |
| 986 |
results.forEach((r, i) => { |
| 987 |
class="tok-kw">const line = document.createElement('div'); |
| 988 |
line.className = 'decode-line'; |
| 989 |
line.style.animationDelay = (i * 0.15) + 's'; |
| 990 |
line.innerHTML = ` |
| 991 |
class="tok-tag"><divclass="tok-attr"> class="decode-ru"class="tok-tag">>${r.word.cyrillic}class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 992 |
class="tok-tag"><divclass="tok-attr"> class="decode-arrow"class="tok-tag">>──►class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 993 |
class="tok-tag"><divclass="tok-attr"> class="decode-es"class="tok-tag">>${r.word.decode_es}class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 994 |
class="tok-tag"><divclass="tok-attr"> class="decode-status" style="class="tok-prop">color:class="tok-val">${r.knew ? 'class="tok-kw">var(--green)' : 'class="tok-kw">var(--red)'}"class="tok-tag">>${r.knew ? '✓ OK' : '✗ FALLO'}class="tok-tag"></divclass="tok-attr">class="tok-tag">> |
| 995 |
`; |
| 996 |
list.appendChild(line); |
| 997 |
}); |
| 998 |
|
| 999 |
showScreen('screen-result'); |
| 1000 |
} |
| 1001 |
|
| 1002 |
class="tok-kw">function restartGame() { |
| 1003 |
showScreen('screen-intro'); |
| 1004 |
} |
| 1005 |
class="tok-tag"></scriptclass="tok-attr">class="tok-tag">> |
| 1006 |
class="tok-tag"></bodyclass="tok-attr">class="tok-tag">> |
| 1007 |
class="tok-tag"></htmlclass="tok-attr">class="tok-tag">> |
| 1008 |
|