*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#f7f7f4;color:#20211e}body{font-family:"Courier New",Courier,monospace}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px dashed currentColor;outline-offset:4px}[hidden]{display:none!important}
.identity{position:fixed;top:30px;left:38px;z-index:6}.identity a{text-decoration:none;color:inherit;display:flex;gap:21px;font-size:16px;letter-spacing:-.06em;font-weight:700}.identity span{font-weight:400;letter-spacing:-.04em;color:#74756e}
#experience{position:relative;width:100%;height:100%;isolation:isolate}#computer-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;outline:none;touch-action:none}
.screen-anchor{position:absolute;left:0;top:0;transform-origin:0 0;width:800px;height:654px;opacity:0;z-index:2;overflow:hidden;border-radius:1.1%;background:#090a09}.screen-anchor.is-ready{opacity:1}.screen-inner{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#090a09}.screen-inner:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:6;box-shadow:inset 0 0 15px #0004;background:repeating-linear-gradient(0deg,#00000005 0 1px,transparent 1px 3px);mix-blend-mode:multiply}#os-root{position:absolute;inset:0}.screen-anchor:not(.is-ready){pointer-events:none}.is-inspecting .screen-anchor{pointer-events:none}.is-tv .screen-anchor,.is-radio .screen-anchor{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.boot-screen{position:absolute;inset:0;background:#090a09}.boot-screen canvas{width:100%;height:100%;display:block}#skip-boot{position:absolute;right:5.4%;bottom:4%;border:1px solid #73756c;background:#090a09;color:#ebeee5;font-size:15px;padding:7px 12px}#skip-boot:hover{background:#ebeee5;color:#090a09}
.loading-cover{position:absolute;inset:0;z-index:9;background:#f7f7f4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.loading-cover pre{font-size:15px;line-height:1.25;letter-spacing:-.05em;margin:0;color:#5b5d55}.loading-cover p{font-size:14px;color:#76786d}.loading-cover.is-loaded{display:none}.loading-dots{animation:blink .9s steps(2,end) infinite}@keyframes blink{50%{opacity:0}}
.view-controls{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:10;display:flex;gap:8px;align-items:center;max-width:calc(100vw - 24px)}.view-switch{display:flex;border:1px solid #bcbeb4;padding:4px;background:#f7f7f4;gap:3px}.view-switch button{border:0;background:none;font-size:14px;min-height:38px;padding:8px 14px;white-space:nowrap}.view-switch button[aria-pressed=true]{background:#272923;color:#f7f7f4}.view-switch button:not([aria-pressed=true]):hover{background:#e5e6df}.view-switch button span{margin-left:7px}.view-switch #radio-view.has-sound:after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#a2693a;vertical-align:middle;margin-left:6px}
.expand-button{display:flex;gap:9px;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 13px;border:1px solid #a8aba1;background:#f7f7f4;white-space:nowrap}.expand-button svg{width:20px;height:20px;flex-shrink:0}.expand-button span{font-size:12px}.expand-button:hover{background:#e5e6df}.expand-button[aria-pressed=true]{background:#272923;color:#f7f7f4}
.orbit-hint{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);font-size:12px;color:#686b60;text-align:center;white-space:nowrap;z-index:4;margin:0;background:#f7f7f4;padding:5px 10px}.no-script{position:fixed;inset:0;z-index:20;background:#f7f7f4;display:grid;place-content:center;text-align:center;line-height:1.8}.no-script a{color:inherit}
.tv-anchor:not(.is-active){pointer-events:none}.is-radio .tv-anchor,.device-pending .tv-anchor{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.radio-anchor{position:fixed;top:50%;right:max(5vw,30px);transform:translateY(-50%);width:370px;max-height:calc(100svh - 170px);z-index:6}.radio-anchor #radio-root{max-height:inherit}.radio-anchor .radio-system{max-height:inherit}
/* A complete, persistent site mode. The WebGL canvas is hidden and its controller suspended. */
.flat-mode #computer-canvas{display:none}.flat-mode #object-view{display:none}.flat-mode .identity{top:24px}.flat-mode #experience{position:fixed;inset:76px max(24px,calc((100vw - 1180px)/2)) 100px;width:auto;height:auto;isolation:auto}.flat-mode .screen-anchor{position:absolute;inset:0!important;left:0!important;top:0!important;transform:none!important;width:100%!important;height:100%!important;opacity:1;visibility:visible!important;border-radius:0;box-shadow:none;border:2px solid #50574d;pointer-events:auto}.flat-mode .screen-inner{border-radius:0}.flat-mode .screen-inner:after{display:none}.flat-mode.is-tv .screen-anchor,.flat-mode.is-radio .screen-anchor{display:none}.flat-mode .tv-anchor{inset:0!important;transform:none!important;width:100%!important;height:100%!important;border-radius:0;box-shadow:4px 4px 0 #545950}.flat-mode .tv-anchor:after{display:none}.flat-mode .tv-bottom [data-tv-action=expand],.flat-mode .os-window-controls [aria-label="Развернуть экран"]{display:none}.flat-mode .radio-anchor{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(580px,calc(100vw - 48px));max-height:calc(100svh - 180px)}.flat-mode .radio-anchor .radio-heading{padding:22px 30px 14px}.flat-mode .radio-anchor .radio-body{padding:10px 30px 28px}.flat-mode .radio-anchor .radio-heading h1{font-size:36px}.flat-mode .radio-anchor .radio-dial{padding:20px}.flat-mode .radio-anchor .radio-stations button{min-height:52px}.flat-mode .radio-anchor .radio-stations button>span{font-size:15px}.flat-mode .radio-anchor .radio-volume label{font-size:13px}.flat-mode .radio-anchor .radio-power{font-size:12px}.flat-mode .radio-anchor .radio-footer{padding:0 30px;min-height:56px}
.crt-off .screen-inner:after,.crt-off .tv-anchor:after{background:none;box-shadow:none}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1000px){.radio-anchor{left:50%;right:auto;top:auto;bottom:110px;transform:translateX(-50%);width:min(410px,calc(100vw - 40px));max-height:min(440px,calc(100svh - 285px))}}
@media(max-width:680px){.identity,.flat-mode .identity{top:20px;left:22px}.identity a{gap:14px;font-size:14px}.view-controls{bottom:max(22px,env(safe-area-inset-bottom));gap:5px}.view-switch{padding:3px;gap:0}.view-switch button{font-size:11px;min-height:36px;padding:7px 7px}.view-switch button span{display:none}.expand-button{width:42px;min-width:42px;height:44px;padding:0}.expand-button span{display:none}.orbit-hint{font-size:12px;white-space:normal;width:85vw;bottom:83px;line-height:1.5}.loading-cover pre,.loading-cover p{font-size:13px}#skip-boot{font-size:14px;padding:5px 9px}.radio-anchor{bottom:max(92px,calc(env(safe-area-inset-bottom) + 80px));width:calc(100vw - 36px);max-height:calc(100svh - 330px)}body:not(.flat-mode) .radio-anchor .radio-dial{display:none}.radio-anchor .radio-heading{padding:13px 18px 9px}.radio-anchor .radio-body{padding:7px 18px 18px}.radio-anchor .radio-heading h1{font-size:26px}.radio-anchor .radio-stations button>span{font-size:12px}.radio-anchor .radio-footer{padding:0 18px}.flat-mode #experience{inset:62px 14px 86px}.flat-mode .screen-anchor{box-shadow:none}.flat-mode .tv-anchor{box-shadow:3px 3px 0 #353832}.flat-mode .radio-anchor{width:calc(100vw - 32px);max-height:calc(100svh - 165px)}.flat-mode .radio-anchor .radio-heading{padding:18px 20px 10px}.flat-mode .radio-anchor .radio-body{padding:8px 20px 22px}.flat-mode .radio-anchor .radio-heading h1{font-size:29px}.flat-mode .radio-anchor .radio-dial{padding:13px}.flat-mode .radio-anchor .radio-stations button{min-height:48px}.flat-mode .radio-anchor .radio-stations button>span{font-size:12px}.flat-mode .radio-anchor .radio-footer{padding:0 20px}.flat-mode .radio-anchor .radio-controls{gap:16px}.flat-mode .radio-anchor .radio-volume label{font-size:11px}.flat-mode .radio-anchor .radio-power{font-size:10px}}
@media(max-width:350px){.view-switch button{font-size:10px;padding-left:5px;padding-right:5px}.expand-button{width:36px;min-width:36px}.identity span{font-size:12px}.radio-anchor{width:calc(100vw - 28px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* The intro lives in ordinary 2D; orbiting never transforms a full HTML desktop. */
.loading-cover{position:fixed;inset:0;overflow:hidden;z-index:40;opacity:1;transition:opacity .72s cubic-bezier(.22,.61,.36,1)}
.loading-cover.is-loaded{display:flex;opacity:0;visibility:hidden;pointer-events:none}
#loading-eye{width:min(720px,90vw);height:auto;aspect-ratio:720/344;display:block}
.loading-a11y{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.identity{z-index:12}
.is-loading .screen-anchor,.is-loading .tv-anchor,.is-loading .radio-anchor{visibility:hidden!important;pointer-events:none!important}
.is-inspecting .screen-anchor{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
/* Keep the paper clean: the LCD itself supplies the very subtle scan-line layer. */
.retro-os.os-crt:after{display:none!important}
.screen-inner:after{background:repeating-linear-gradient(0deg,#00000002 0 1px,transparent 1px 5px);box-shadow:inset 0 0 10px #00000015;mix-blend-mode:normal}
/* One opaque cover fades off the fully prepared scene. No competing fades. */
#loading-eye{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.intro-revealing .loading-cover{opacity:0;pointer-events:none}
.login-screen{position:absolute;inset:0;display:flex;flex-direction:column;container-type:size;background:#f6f5ef;color:#161714;font-family:"Courier New",Courier,monospace}
.login-screen>header{display:flex;align-items:center;padding:0 20px;min-height:42px;height:6.1cqh;border-bottom:2px solid;font-size:clamp(12px,2.5cqw,18px);font-weight:700;letter-spacing:-.03em}
.login-center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding-bottom:40px}
.login-center h1{margin:0;font-size:clamp(28px,7cqw,49px);font-weight:700;letter-spacing:-.065em;line-height:1}
#enter-desktop{display:flex;align-items:center;justify-content:space-between;gap:32px;min-width:170px;min-height:52px;padding:10px 20px;font-size:clamp(17px,3cqw,22px);font-weight:700;border:2px solid;background:#f6f5ef;box-shadow:3px 3px 0 #161714}
#enter-desktop:hover{background:#161714;color:#f6f5ef;box-shadow:3px 3px 0 #777a70}
#enter-desktop:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #161714}
@container (max-width:400px){.login-screen>header{padding:0 14px;min-height:32px}.login-center{gap:24px;padding-bottom:30px}#enter-desktop{min-width:146px;min-height:48px;padding:8px 16px}}
