.adventure-page{color:#f6f1ff;background:#0b0d1c;min-height:100vh;font-family:Arial,sans-serif}.adventure-header{background:#0e1021;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;height:62px;padding:0 30px;display:flex}.adventure-header .brand{color:#f5f0ff}.adventure-header .brand-mark{background:#7857ef}.adventure-location{letter-spacing:.14em;color:#aaa6c2;font-size:12px}.adventure-location i{color:#d9c6ff;margin-left:12px;font-style:normal}.adventure-home{color:#c5bed8;align-items:center;gap:8px;font-size:14px;text-decoration:none;display:flex}.adventure-shell{width:min(1240px,100% - 48px);margin:20px auto 24px}.adventure-top{align-items:center;gap:22px;margin-bottom:15px;display:flex}.adventure-title{flex:1}.adventure-title>span{color:#a29ab8;letter-spacing:.1em;font-size:11px}.adventure-title h1{letter-spacing:-.025em;margin:6px 0 0;font-size:24px}.adventure-hud{gap:28px;display:flex}.adventure-hud>div{min-width:64px}.adventure-hud span{color:#a7a0b8;margin-bottom:5px;font-size:12px;display:block}.adventure-hud b{font:700 23px ui-monospace,SFMono-Regular,Consolas,monospace}.adventure-hud .gold{color:#ffe293}.adventure-controls{gap:8px;display:flex}.icon-control{color:#d7cceb;cursor:pointer;background:#1b1d34;border:1px solid #ffffff20;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.icon-control:hover{background:#302847}.icon-control:disabled{opacity:.4;cursor:default}.adventure-lessons{gap:8px;margin-bottom:12px;display:flex}.adventure-lessons button{color:#aaa3bd;cursor:pointer;background:#121529;border:1px solid #ffffff13;border-radius:9px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;display:flex}.adventure-lessons button.selected{color:#e1d2ff;background:#251f3c;border-color:#8f6ceb85}.adventure-lessons button:disabled:not(.selected){opacity:.48;cursor:default}.adventure-lessons button small{opacity:.65;margin-left:18px;font-size:11px}.adventure-stage{isolation:isolate;aspect-ratio:1280/500;background:#11132b url(/printing-house-stage.png) 50% 60%/cover;border:1px solid #73669b70;border-radius:16px;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 65px #0005}.adventure-stage.danger{border-color:#d5788d}.course-map{background:#17182e;border:1px solid #73669b55;border-radius:10px;margin-bottom:10px}.course-map summary{cursor:pointer;color:#d2c7e7;align-items:center;gap:20px;padding:12px 16px;font-size:14px;list-style:none;display:flex}.course-map summary::-webkit-details-marker{display:none}.course-map summary b{color:#ffe293;margin-left:12px}.course-map summary>span:nth-child(2){color:#aaa0bb}.course-map-action{color:#bca4ff;margin-left:auto}.course-map[open]{border-color:#a086e2}.course-map-content{padding:0 16px 18px}.course-map-content>p{color:#c1b8d2;font-size:14px;line-height:1.5}.course-group h2{color:#eee4ff;margin:20px 0 10px;font-size:16px}.course-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.course-grid button{text-align:left;color:#e0d4f2;cursor:pointer;background:#232139;border:1px solid #73669b55;border-radius:9px;gap:10px;padding:13px 10px;display:flex}.course-grid button.selected{background:#332846;border-color:#b296ff}.course-grid button:disabled{cursor:default}.course-grid button:disabled:not(.selected){color:#aaa1ba;background:#1c1c2e}.course-grid b{font-size:14px;font-weight:500;line-height:1.3;display:block}.course-grid small{overflow-wrap:anywhere;margin-top:7px;font-size:12px;line-height:1.4;display:block}.course-grid em{color:#b7a0d9;margin-top:10px;font-size:12px;font-style:normal;display:block}.course-number{color:#ffe293;font:14px ui-monospace,monospace}.secret-course{background:linear-gradient(120deg,#332742,#1d1b35);border:1px solid #e5c57480;border-radius:11px;margin-top:18px;padding:14px}.secret-course h2{color:#ffe293;margin:0 0 10px}.secret-course button{text-align:left;color:#f8edff;cursor:pointer;background:#352b48;border:1px solid #e5c57466;border-radius:9px;gap:12px;width:100%;padding:14px;display:flex}.secret-course button.selected{border-color:#ffe293;box-shadow:0 0 24px #e5c57420}.secret-course button:disabled{cursor:default;opacity:.65}.secret-course b,.secret-course small,.secret-course em{display:block}.secret-course small{color:#cbbddd;margin-top:5px}.secret-course em{color:#e5c574;margin-top:8px;font-size:12px;font-style:normal}.secret-button{background:linear-gradient(120deg,#7254de,#a0793c)}.lesson-focus{color:#b4a7c9;justify-content:space-between;gap:15px;margin:9px 2px;font-size:12px;display:flex}.symbol-hint{text-align:center;color:#c2b4d7;min-height:22px;padding-top:7px;font-size:12px;line-height:1.4}.adventure-keyboard .shift-key{width:70px}@media (max-width:999px){.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.race-canvas{width:100%;height:100%;position:absolute;inset:0}.race-canvas canvas{display:block}.race-topline{z-index:2;color:#d6cfe3;pointer-events:none;align-items:center;gap:20px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;display:flex;position:absolute;top:17px;left:22px;right:22px}.race-topline b{margin-left:15px;font:500 14px Arial,sans-serif}.race-topline>span:last-child{margin-left:auto}.race-progress{background:#ffffff27;border-radius:3px;width:180px;height:4px;overflow:hidden}.race-progress i{background:#a6e5cf;height:100%;transition:width .2s;display:block}.race-bottom{z-index:2;pointer-events:none;align-items:center;gap:30px;display:flex;position:absolute;bottom:14px;left:22px;right:22px}.shadow-warning{color:#d2c8df;align-items:center;gap:10px;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.shadow-warning i{background:#ffffff28;border-radius:5px;width:80px;height:5px;overflow:hidden}.shadow-warning b{background:#c29fff;height:100%;transition:width .15s;display:block}.shadow-warning.close{color:#ffabb9}.shadow-warning.close b{background:#ff7f9b}.shadow-warning.epilogue-companion{color:#ffe293}.shield-status{color:#9d96b4;align-items:center;gap:7px;font-size:11px;display:flex}.shield-status.charged{color:#a6ffe1}.race-objective{color:#dcd0e9;text-align:right;margin-left:auto;font-size:12px}.race-overlay{z-index:5;background:linear-gradient(90deg,#0d1124f5,#101327e8 83%,#131630ce);border-right:1px solid #c6a1ff30;flex-direction:column;justify-content:center;align-items:flex-start;width:48%;padding:28px 34px;display:flex;position:absolute;top:0;bottom:0;left:0}.race-kicker{letter-spacing:.09em;color:#cfbbff;align-items:center;gap:8px;font-size:11px;display:flex}.race-overlay h2{letter-spacing:-.04em;margin:16px 0 12px;font-size:clamp(28px,3vw,42px);line-height:1.08}.race-overlay p{color:#cbc4d8;max-width:460px;margin:0 0 16px;font-size:15px;line-height:1.55}.race-overlay small{color:#a79ebc;margin-top:13px;font-size:12px;line-height:1.5;display:block}.race-overlay .button{gap:8px;min-height:44px;padding:12px 24px;font-size:15px}.race-overlay .button:disabled{opacity:.55;cursor:wait}.race-rules{color:#e9dff5;gap:7px;margin:0 0 20px;font-size:13px;display:grid}.race-rules span:before{content:"✦";color:#e5c574;width:19px;display:inline-block}.race-overlay.centered{background:#15172eef;border:1px solid #8874b5;border-radius:16px;width:460px;max-width:calc(100% - 50px);padding:32px;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #080c2180,0 20px 80px #0007}.race-overlay.results{background:linear-gradient(90deg,#101327e8,#0d1124f8);border-left:1px solid #c6a1ff30;border-right:0;width:49%;left:auto;right:0}.adventure-result{gap:25px;margin:7px 0 19px;display:flex}.adventure-result b{color:#ffe298;font:700 28px ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.adventure-result span{color:#aaa0ba;margin-top:5px;font-size:12px;display:block}.adventure-result-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.registration-offer{background:#211d3be8;border:1px solid #b99cff55;border-radius:13px;width:100%;max-width:520px;padding:16px}.registration-offer p{color:#eee7f8;margin:0 0 14px}.registration-offer a{text-decoration:none}.registration-later{color:#b9afc9;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:10px 3px;font-size:12px;text-decoration:underline}.race-secondary{color:#e0d6ef;cursor:pointer;background:#25243c;border:1px solid #ffffff25;border-radius:10px;align-items:center;gap:7px;padding:12px 14px;font-size:13px;display:flex}.phase-ready .race-topline,.phase-ready .race-bottom,.phase-won .race-bottom,.phase-caught .race-bottom{visibility:hidden}.race-caption{color:#aaa0bd;text-align:center;justify-content:center;align-items:center;min-height:38px;padding:8px 10px;font-size:13px;line-height:1.4;display:flex}.race-caption.warning{color:#ffe18c}.adventure-keyboard{background:#14172a;border:1px solid #ffffff10;border-radius:13px;padding:12px 18px 10px}.adventure-keyboard-heading{letter-spacing:.06em;color:#8f86a8;justify-content:space-between;margin-bottom:10px;font-size:11px;display:flex}.adventure-keyboard-heading b{color:#f3df9f}.adventure-keyboard .key{border-radius:5px;width:42px;height:28px;font-size:12px}.adventure-keyboard .space-key{width:264px;font-size:20px}.adventure-keyboard .keyboard,.adventure-keyboard .key-row{gap:4px}.adventure-keyboard-footer{color:#8f86a3;justify-content:space-between;margin-top:8px;font-size:11px;display:flex}.adventure-keyboard-footer b{color:#cfc1e0}:is(.adventure-page button:focus-visible,.adventure-page a:focus-visible){outline-offset:4px;outline:2px solid #ffe097}.adventure-page .sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-height:820px) and (min-width:1000px){.adventure-header{height:48px}.adventure-shell{width:min(1140px,100% - 40px,256vh - 768px);min-width:950px;margin:12px auto}.adventure-top{margin-bottom:10px}.adventure-title h1{font-size:21px}.adventure-lessons{margin-bottom:9px}.adventure-lessons button{padding-block:7px}.race-overlay{padding:20px 25px}.race-overlay h2{margin:10px 0;font-size:31px}.race-overlay p{margin-bottom:11px;font-size:14px}.race-rules{gap:5px;margin-bottom:13px;font-size:12px}.race-overlay small{margin-top:8px;font-size:11px}.adventure-keyboard{padding-block:9px}.adventure-keyboard-heading{margin-bottom:7px}.adventure-keyboard .key{height:24px}.race-caption{min-height:32px;font-size:12px}}@media (min-width:761px) and (max-width:999px){.adventure-stage{min-height:360px}.adventure-location{display:none}.adventure-hud{gap:14px}.adventure-controls{gap:5px}.adventure-title>span{display:none}.adventure-title h1{font-size:20px}.race-overlay{width:56%;padding:16px 22px}.race-overlay h2{margin:8px 0;font-size:27px}.race-overlay p{margin-bottom:10px;font-size:13px}.race-rules{gap:4px;margin-bottom:10px;font-size:12px}.race-overlay small{margin-top:8px;font-size:11px}.race-progress{width:90px}.race-bottom{gap:15px}.race-objective{font-size:11px}}@media (max-width:760px){.adventure-page:before{content:"Для игры нужен компьютер с физической клавиатурой.";z-index:50;text-align:center;background:#0d1023;place-items:center;padding:35px;font-size:24px;display:grid;position:fixed;inset:0}.adventure-header,.adventure-shell{display:none}}.course-language{color:#a7adc9;align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.course-language button{color:#c7cbe0;cursor:pointer;background:#171c34;border:1px solid #383e60;border-radius:8px;padding:9px 15px}.course-language button[aria-pressed=true]{color:#fff;background:#383256;border-color:#baa1ee}.course-language button:focus-visible{outline-offset:3px;outline:2px solid #e6c889}.course-language small{margin-left:auto}@media (prefers-reduced-motion:reduce){.race-progress i,.shadow-warning b{transition:none}}@media (min-width:761px){.viewport-game{flex-direction:column;height:100dvh;min-height:560px;display:flex;overflow:hidden}.viewport-game .adventure-header{flex:0 0 40px;height:40px;padding-inline:22px}.viewport-game .adventure-header .brand-mark{width:26px;height:26px;font-size:18px}.viewport-game .adventure-shell{flex:1;grid-template-rows:40px minmax(0,1fr) 30px auto;gap:0;width:min(1240px,100% - 32px);min-width:0;min-height:0;margin:8px auto;display:grid;position:relative}.viewport-game .adventure-top{gap:12px;margin:0 0 6px}.viewport-game .adventure-title>span{display:none}.viewport-game .adventure-title h1{white-space:nowrap;margin:0;font-size:18px}.viewport-game .adventure-hud{gap:12px}.viewport-game .adventure-hud>div{min-width:45px}.viewport-game .adventure-hud span{margin:0;font-size:12px}.viewport-game .adventure-hud b{font-size:16px}.viewport-game.is-playing .adventure-hud{display:none}.viewport-game .adventure-controls{align-items:center}.viewport-game .icon-control{border-radius:7px;width:32px;height:32px}.course-toggle,.fullscreen-toggle{color:#dfd2f6;cursor:pointer;white-space:nowrap;background:#211d37;border:1px solid #73669b70;border-radius:7px;padding:7px 10px;font-size:14px}.viewport-game .adventure-stage{aspect-ratio:auto;grid-row:2;height:100%;min-height:0}.viewport-game .race-caption{grid-row:3;height:30px;min-height:0;padding:2px 8px;font-size:12px;overflow:hidden}.viewport-game .adventure-keyboard{grid-row:4;padding:8px 14px}.viewport-game .adventure-keyboard-heading{margin-bottom:5px;font-size:12px}.viewport-game .adventure-keyboard .key{height:26px;font-size:14px}.viewport-game .adventure-keyboard .space-key{font-size:20px}.viewport-game .symbol-hint{min-height:22px;padding-top:5px}.viewport-game .adventure-keyboard-footer{margin-top:3px}.viewport-game.is-playing .adventure-keyboard-footer{visibility:hidden}.viewport-game .course-settings{z-index:12;background:#12152bf5;border:1px solid #9279bf;border-radius:12px;max-height:calc(100% - 48px);padding:16px;position:absolute;top:42px;left:0;right:0;overflow:auto;box-shadow:0 16px 60px #0009}.course-settings[hidden]{display:none}.settings-close{margin-left:auto;display:block}.viewport-game .race-overlay{justify-content:safe center;width:55%;padding:12px 20px;overflow:auto}.viewport-game .race-overlay.centered{width:460px;max-height:calc(100% - 16px)}.viewport-game .race-overlay h2{margin:8px 0;font-size:26px}.viewport-game .race-overlay p{flex-shrink:0;margin-bottom:10px;font-size:14px;line-height:1.4}.viewport-game .race-overlay>*{flex-shrink:0}.viewport-game .race-rules{display:none}.viewport-game .race-overlay small{margin-top:7px;font-size:12px}.viewport-game .adventure-result{margin:4px 0 8px}.viewport-game .race-topline{top:10px}.viewport-game .race-bottom{bottom:9px}.small-window-notice{display:none}}@media (min-width:761px) and (max-width:1100px){.viewport-game:not(.is-playing) .adventure-title{display:none}.viewport-game .adventure-controls{margin-left:auto}}@media (min-width:761px) and (max-height:559px){.viewport-game{overflow:visible}.viewport-game .small-window-notice{z-index:20;text-align:center;color:#ffe5a5;background:#201b35;padding:8px;font-size:14px;display:block;position:fixed;bottom:0;left:0;right:0}}
