.scene-launch{position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%);display:grid;place-items:center;box-sizing:border-box;width:100%;height:auto;aspect-ratio:1;padding:0;border:1px solid var(--switch-line);border-radius:50%;color:var(--switch-text);background:var(--switch-bg);font:900 20px/1 ui-monospace,monospace;cursor:pointer;isolation:isolate;box-shadow:0 14px 38px var(--switch-shadow),inset 0 0 0 5px rgba(255,255,255,.035)}
.scene-launch::before{content:'';position:absolute;inset:-6px;border:1px dashed var(--switch-accent);border-radius:50%;opacity:.62;pointer-events:none}
.scene-launch::after{content:'';position:absolute;inset:8px;z-index:-1;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 30% 25%,#ffffff66,transparent 45%),linear-gradient(125deg,#55e2ffbf,#9e74ffa6 38%,#ff98ca99 64%,#83ffc3b3);opacity:.3}
.scene-launch:hover{color:var(--switch-active-text);border-color:var(--switch-accent);box-shadow:0 17px 44px var(--switch-shadow),0 0 28px var(--switch-glow)}
.scene-launch:focus-visible{outline:3px solid var(--switch-accent);outline-offset:4px}.design-switcher.is-open .scene-launch{visibility:hidden}
.brief-game-launch.design-price-link{top:64px;transform:none;border-radius:50%;font-size:14px;cursor:pointer}.brief-game-launch.design-price-link::after{border-radius:50%}.brief-game-launch:disabled{opacity:.65}@media(max-width:720px){.brief-game-launch.design-price-link{top:56px;font-size:12px}}
.rostov-page .design-switcher.has-action-dock{top:calc(100svh - 64px - env(safe-area-inset-bottom,0px))}
.action-dock{--dock-size:64px;position:absolute;left:50%;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--switch-line);border-radius:22px;background:var(--switch-bg);box-shadow:0 8px 28px #0004;pointer-events:auto}
.rostov-page .action-dock .design-switcher-inner{position:relative;inset:auto;transform:none;width:var(--dock-size);height:var(--dock-size);flex:0 0 var(--dock-size)}
.rostov-page .action-dock :is(.design-switcher-trigger,.design-price-link,.scene-launch){position:relative;inset:auto;transform:none;box-sizing:border-box;width:var(--dock-size);height:var(--dock-size);min-height:var(--dock-size);flex:0 0 var(--dock-size);margin:0}
.rostov-page .action-dock .design-switcher-trigger{font-size:7px}.rostov-page .action-dock .design-price-link{font-size:10px;gap:3px}.rostov-page .action-dock .scene-launch{font-size:18px;border-radius:15px;border:2px solid var(--switch-accent);box-shadow:4px 4px 0 var(--switch-line),inset 0 0 12px var(--switch-glow)}
.rostov-page .action-dock .scene-launch::before{inset:6px;border-radius:9px;border:1px solid var(--switch-accent);transform:skewY(-8deg);animation:none;opacity:.65}.rostov-page .action-dock .scene-launch::after{border-radius:10px}
.rostov-page .action-dock .brief-game-launch{font-size:12px}.rostov-page .action-dock .design-switcher-menu{top:auto;bottom:calc(100% + 22px);left:-6px;right:auto;transform:none;width:min(270px,calc(100vw - 44px));max-height:calc(100svh - 220px);z-index:5}
.rostov-page .has-action-dock.is-open .scene-launch{visibility:visible}
@media(prefers-reduced-motion:no-preference){.action-dock>.brief-game-launch{animation:dock-breathe 6s ease-in-out infinite}.action-dock>.scene-launch{animation:dock-breathe 6s ease-in-out 2s infinite}@keyframes dock-breathe{50%{translate:0 -2px}}.action-dock>:is(:hover,:focus-visible){animation-play-state:paused}}
@media(max-width:600px){.action-dock{--dock-size:54px;gap:10px;padding:10px;border-radius:18px}.rostov-page .action-dock .design-switcher-label{max-width:46px}.rostov-page .action-dock .design-price-link{font-size:9px}.rostov-page .action-dock .design-price-link small{font-size:7px}.rostov-page .action-dock .brief-game-launch{font-size:11px}}
@media(prefers-reduced-motion:no-preference){.scene-launch::before{animation:design-switcher-orbit 11s linear infinite}.scene-launch::after{animation:design-switcher-sheen 8s ease-in-out infinite}.scene-launch:is(:hover,:focus-visible)::after{animation-play-state:paused}}
html.scene-open{overflow:hidden}.workplace-scene{width:min(1050px,calc(100% - 24px));max-height:92vh;max-height:92svh;box-sizing:border-box;padding:0;border:1px solid #6c75a1;border-radius:20px;background:#101626;color:#eef3ff;overflow:auto;overscroll-behavior:contain}.workplace-scene::backdrop{background:#020611e8}
.workplace-scene header,.workplace-scene footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px}.workplace-scene h2{font:700 clamp(18px,3vw,26px)/1.2 system-ui;color:#f3f6ff;margin:0 0 8px}.workplace-scene p,.workplace-scene footer span{font:13px/1.5 system-ui;color:#b7c5de;margin:0}.workplace-scene button{min-height:44px;padding:10px 16px;border:1px solid #7585b2;border-radius:10px;background:#253153;color:#fff;cursor:pointer}.workplace-scene [data-scene-close]{font-size:26px;flex-shrink:0}.workplace-scene :focus-visible{outline:3px solid #84e9ff;outline-offset:3px}
.scene-stage{display:grid;place-items:center;padding:7% 6%;perspective:1000px;touch-action:pan-y;cursor:grab;background:radial-gradient(ellipse at center,#344461,#101626 72%);overflow:hidden}.scene-stage:active{cursor:grabbing}.scene-plane{position:relative;width:100%;transform-style:preserve-3d;pointer-events:none;box-shadow:0 24px 44px #0009}.scene-plane img{display:block;width:100%;height:auto;border-radius:8px;user-select:none}.scene-frame{position:absolute;inset:-6px;border:1px solid #a6b9d577;border-radius:12px;transform:translateZ(14px);box-shadow:0 0 14px #76deff22}
@media(max-width:600px){.workplace-scene header,.workplace-scene footer{padding:14px}.workplace-scene footer{flex-wrap:wrap}.scene-launch{font-size:18px}}
.rostov-page .action-dock :is(.design-switcher-trigger,.design-price-link,.scene-launch){border:2px solid var(--switch-accent);box-shadow:var(--dock-depth,0 0 0 transparent),0 0 16px var(--switch-glow),inset 0 0 12px var(--switch-glow)}
.rostov-page .action-dock .scene-launch{--dock-depth:4px 4px 0 var(--switch-line)}
.rostov-page .action-dock :is(.design-switcher-trigger,.design-price-link,.scene-launch)::after{opacity:.32}
.rostov-page .action-dock :is(.design-switcher-trigger,.design-price-link,.scene-launch):is(:hover,:focus-visible){box-shadow:var(--dock-depth,0 0 0 transparent),0 0 26px var(--switch-glow),inset 0 0 16px var(--switch-glow)}
.rostov-page .action-dock :is(.design-switcher-trigger,.design-price-link,.scene-launch):focus-visible{outline:3px solid var(--switch-accent);outline-offset:4px}
@media(prefers-reduced-motion:no-preference){.rostov-page .action-dock :is(.design-switcher-trigger,.design-price-link,.scene-launch)::after{animation:dock-shared-glow 7s ease-in-out infinite}.rostov-page .action-dock>.design-price-link::after{animation-delay:-1.75s}.rostov-page .action-dock>.scene-launch::after{animation-delay:-3.5s}.rostov-page .action-dock>.brief-game-launch::after{animation-delay:-5.25s}.rostov-page .action-dock :is(.design-switcher-trigger,.design-price-link,.scene-launch):is(:hover,:focus-visible)::after{animation-play-state:paused}@keyframes dock-shared-glow{0%,100%{opacity:.28}50%{opacity:.48}}}
.scene-launch-label{display:inline-block;pointer-events:none;transform-style:preserve-3d;text-shadow:1px 1px 0 var(--switch-line),2px 2px 0 var(--switch-line),0 0 9px var(--switch-glow)}
.rostov-page .action-dock .game-launch-label{position:relative;z-index:2;pointer-events:none}
.rostov-page .action-dock .game-launch-shots{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;overflow:hidden}
.game-launch-shots i{--shot-angle:0deg;position:absolute;left:50%;top:50%;width:7px;height:2px;margin:-1px 0 0 -3.5px;border-radius:2px;background:var(--switch-accent);box-shadow:0 0 5px var(--switch-accent);opacity:0;transform:rotate(var(--shot-angle)) translateX(5px)}
.game-launch-shots i:nth-child(2){--shot-angle:60deg}.game-launch-shots i:nth-child(3){--shot-angle:120deg}.game-launch-shots i:nth-child(4){--shot-angle:180deg}.game-launch-shots i:nth-child(5){--shot-angle:240deg}.game-launch-shots i:nth-child(6){--shot-angle:300deg}
@media(prefers-reduced-motion:no-preference){.scene-launch-label{animation:dock-label-turn 4s ease-in-out infinite}.game-launch-shots i{animation:dock-word-shot 3s ease-out infinite}.scene-launch:is(:hover,:focus-visible) .scene-launch-label{animation-play-state:paused}.brief-game-launch:disabled .game-launch-shots i{animation:none}@keyframes dock-label-turn{0%,55%{transform:perspective(180px) rotateY(0deg)}90%,100%{transform:perspective(180px) rotateY(360deg)}}@keyframes dock-word-shot{0%,78%{opacity:0;transform:rotate(var(--shot-angle)) translateX(5px) scaleX(.5)}80%{opacity:.9}92%,100%{opacity:0;transform:rotate(var(--shot-angle)) translateX(29px) scaleX(1.2)}}}
.contact-dock-slot{position:relative;flex:0 0 var(--dock-size);width:var(--dock-size);height:var(--dock-size)}.rostov-page .action-dock .contact-launch{border-radius:50%;padding:0;cursor:pointer}.contact-launch svg{position:relative;z-index:1;width:25px;height:25px}.contact-dock-panel{position:absolute;right:0;bottom:calc(100% + 20px);display:grid;grid-template-columns:repeat(5,44px);gap:8px;padding:12px;border:1px solid var(--switch-line);border-radius:16px;background:var(--switch-panel);box-shadow:0 12px 36px #0006;z-index:8}.contact-dock-panel[hidden]{display:none}.contact-dock-panel a{display:grid;place-items:center;width:44px;height:44px;box-sizing:border-box;border:1px solid #dae0e8;border-radius:11px;background:#fff;color:#16334b;text-decoration:none}.contact-dock-panel img{width:30px;height:30px;object-fit:contain;filter:none!important;transform:none!important}.contact-dock-panel svg{width:25px;height:25px}.contact-dock-panel a:hover{box-shadow:0 0 12px var(--switch-glow)}.contact-dock-panel a:focus-visible{outline:3px solid var(--switch-accent);outline-offset:3px}@media(max-width:600px){.rostov-page .action-dock{--dock-size:clamp(44px,calc((100vw - 76px)/5),54px);gap:8px;padding:8px}.contact-dock-panel{gap:6px;padding:10px}}@media(prefers-reduced-motion:no-preference){.contact-dock-panel:not([hidden]){animation:contact-reveal .18s ease-out}@keyframes contact-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
.rostov-page .action-dock .contact-launch::after{border-radius:50%}
.rostov-page .contact-launch .contact-cycle{position:relative;display:block;z-index:1;width:34px;height:34px;pointer-events:none}.contact-cycle-icon{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;background:#fff;color:#16334b;opacity:0}.contact-cycle-icon:first-child{opacity:1}.contact-cycle-icon img,.contact-cycle-icon svg{display:block;width:26px;height:26px;object-fit:contain;filter:none!important;transform:none!important}
@media(prefers-reduced-motion:no-preference){.contact-cycle-icon{animation:contact-icon-cycle 15s linear infinite}.contact-cycle-icon:nth-child(2){animation-delay:-12s}.contact-cycle-icon:nth-child(3){animation-delay:-9s}.contact-cycle-icon:nth-child(4){animation-delay:-6s}.contact-cycle-icon:nth-child(5){animation-delay:-3s}.contact-launch:is(:hover,:focus-visible,[aria-expanded='true']) .contact-cycle-icon{animation-play-state:paused}@keyframes contact-icon-cycle{0%,16%{opacity:1}20%,96%{opacity:0}100%{opacity:1}}}

@media(prefers-reduced-motion:no-preference){.action-dock>.design-price-link:not(.brief-game-launch)>span{animation:price-label-reappear 6s linear infinite}.action-dock>.design-price-link:not(.brief-game-launch):is(:hover,:focus-visible)>span{animation:none;opacity:1}@keyframes price-label-reappear{0%,80%,90.01%,100%{opacity:1}85%,90%{opacity:0}}}
