/* Ламплей: шрифты лежат локально, без Google Fonts */
@font-face{font-family:'Dela Gothic One';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dela-gothic-one-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Dela Gothic One';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dela-gothic-one-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/golos-text-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/golos-text-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/golos-text-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/golos-text-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/golos-text-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/golos-text-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/golos-text-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/golos-text-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/golos-text-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Стили страницы */
:root{--sil:#0A0C1A;--facade:#262B48;--frame:#3A4066;--slab:#343A5C;--band:#141A2E;--tree:#0A0D1C;--ground:#0D1122;--sky:#10142B;--fg:#F5EEDF;--sign:#FFC65A;--signGlow:none;--cream:#F5EEDF;--lamp:#FFC65A;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:#10142B;color-scheme:dark}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--sky:#10142B;--cream:#F5EEDF;--lamp:#FFC65A}}
:root[data-theme="dark"]{--sky:#10142B;--cream:#F5EEDF;--lamp:#FFC65A}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{background:#10142B}
img,svg{max-width:100%}
@media (max-width:1679px){.lift{display:flex!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom,0px));right:50%!important;transform:translateX(50%)!important;flex-direction:row!important;gap:6px!important;padding:8px!important}#root{padding-bottom:84px}}
@media (max-width:440px){.lift [aria-live]{display:none!important}.lift a,.lift button{width:40px!important;height:40px!important}}

body{margin:0}
a{color:inherit}
.lighton{animation:lighton .45s ease both}
@keyframes lighton{from{fill:#2E3458}to{fill:#FFC65A}}
.winbtn{position:relative;transition:background-color .25s ease,color .25s ease,box-shadow .25s ease,transform .08s ease}
.winbtn-off:hover,.winbtn-off:focus-visible{background:#FFC65A!important;color:#141414!important;box-shadow:0 0 28px rgba(255,198,90,0.45)}
.winbtn:active{transform:translateY(2px)}
.levelshelf{transform-origin:50% 50%;animation:levelshelf 5s ease-in-out infinite}
@keyframes levelshelf{0%,8%{transform:rotate(-5deg)}22%{transform:rotate(2deg)}34%{transform:rotate(-1deg)}44%,90%{transform:rotate(0)}100%{transform:rotate(-5deg)}}
.bubble{animation:bubble 5s ease-in-out infinite}
@keyframes bubble{0%,8%{left:6%}22%{left:52%}34%{left:30%}44%,90%{left:41%}100%{left:6%}}
.boxslide{animation:boxslide 6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes boxslide{0%{transform:translateX(-170%);opacity:0}8%{opacity:1}35%{transform:translateX(0)}39%{transform:translateX(-4%)}43%,85%{transform:translateX(0);opacity:1}100%{transform:translateX(0);opacity:0}}
.drill{animation:drill .12s linear infinite}
@keyframes drill{0%{transform:translate(0,0)}50%{transform:translate(-1px,1px)}100%{transform:translate(0,0)}}
.screen{animation:screen 4s steps(1) infinite}
@keyframes screen{0%{opacity:.75}30%{opacity:.6}55%{opacity:.8}80%{opacity:.65}}
.tvglow{animation:tv 3.2s steps(1) infinite;opacity:.3;will-change:opacity}
@keyframes tv{0%{opacity:.25}12%{opacity:.5}20%{opacity:.18}33%{opacity:.45}50%{opacity:.3}61%{opacity:.55}74%{opacity:.2}88%{opacity:.4}}
.sketch{stroke-dasharray:100;animation:sketch 5s ease-in-out infinite}
@keyframes sketch{0%{stroke-dashoffset:100}60%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
.boxdrop{animation:boxdrop 4.5s cubic-bezier(.5,0,.5,1) infinite}
@keyframes boxdrop{0%,10%{transform:translateY(-260%);opacity:0}12%{opacity:1}30%{transform:translateY(0)}36%{transform:translateY(-8%)}42%,85%{transform:translateY(0);opacity:1}100%{transform:translateY(0);opacity:0}}
.arc{animation:arc 2.2s steps(1) infinite}
@keyframes arc{0%,40%,100%{opacity:0}42%,48%,56%,62%{opacity:1}45%,52%,59%{opacity:.2}}
.spark{opacity:0;animation:spark 2.2s ease-out infinite}
.spark1{--x:-30px;--y:26px}.spark2{--x:-14px;--y:34px;animation-delay:.05s}.spark3{--x:10px;--y:30px;animation-delay:.1s}.spark4{--x:24px;--y:18px;animation-delay:.07s}.spark5{--x:-22px;--y:8px;animation-delay:.12s}
@keyframes spark{0%,40%{opacity:0;transform:translate(0,0)}42%{opacity:1}70%{opacity:0;transform:translate(var(--x),var(--y))}100%{opacity:0}}
.paintwall{animation:paintwall 8s ease-in-out infinite}
@keyframes paintwall{0%{width:6%;opacity:.8}85%{width:74%;opacity:.8}95%{width:74%;opacity:0}100%{width:6%;opacity:0}}
.roller{animation:roller .8s ease-in-out infinite alternate}
@keyframes roller{from{transform:translateY(-22px)}to{transform:translateY(22px)}}
.bulb{transform-origin:50% 0;animation:bulb 2.6s ease-in-out infinite alternate}
@keyframes bulb{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
.weld{animation:weld 5.5s steps(1) infinite}
@keyframes weld{0%,76%,100%{opacity:0}78%{opacity:.5}80%{opacity:.08}82%{opacity:.6}84%{opacity:.15}86%{opacity:0}}
.workdim{transition:opacity .5s ease}
.gcard:hover .workdim,.gcard:focus-within .workdim{opacity:.1}
.paint{transition:background-color .8s ease,color .8s ease}
.win{transition:background-color 1.6s ease,box-shadow 1.6s ease}
.letter{transition:color .25s ease,text-shadow .25s ease}
.flick{animation:flick 6s steps(1) infinite}
@keyframes flick{0%,88%,100%{opacity:1}89%{opacity:.25}91%{opacity:1}93%{opacity:.4}95%{opacity:1}}
.curtain{transition:transform .7s cubic-bezier(.7,0,.2,1)}
.gcard:hover .curtain-l,.gcard:focus-within .curtain-l{transform:translateX(-92%)}
.gcard:hover .curtain-r,.gcard:focus-within .curtain-r{transform:translateX(92%)}
.frame{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.frame:hover{transform:translateY(-6px)}
.press{transition:transform .08s ease,box-shadow .08s ease}
.press:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(0,0,0,.4)!important}
.roll{display:inline-block;animation:roll 1.6s cubic-bezier(.2,.8,.2,1) both}
@keyframes roll{0%{transform:translateY(-120%);opacity:0}60%{opacity:1}100%{transform:none}}
.stub{transform-origin:50% 0;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.stub:hover,.stub:focus-visible{transform:rotate(9deg) translateY(4px)}
.key{transition:transform .06s ease,box-shadow .06s ease}
.key:active{transform:translateY(3px);box-shadow:0 0 0 rgba(0,0,0,0)!important}
.lift{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:5}
@media (max-width: 900px){.lift{display:none}}
@media (prefers-reduced-motion: reduce){.levelshelf,.bubble,.boxslide,.drill,.screen,.tvglow,.sketch,.boxdrop,.arc,.spark,.paintwall,.roller,.bulb,.weld{animation:none}.winbtn{transition:none}.flick,.roll,.lighton{animation:none}.curtain,.frame,.stub,.paint,.win,.letter{transition:none}}
