/* Место для персонажа резервируется заранее: заголовок не прыгает при загрузке. */
.mascot-heading{position:relative;padding-left:120px;min-height:140px;padding-top:15px}
.bot-mascot{position:absolute;left:0;bottom:-4px;width:105px;height:140px;pointer-events:none}
.marine-sprite{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 4px #0008)}
.barrel-smoke{position:absolute;left:97%;top:25%;display:none}
.has-fired .barrel-smoke{display:block}
.barrel-smoke i{position:absolute;width:10px;height:13px;border-radius:50%;background:radial-gradient(ellipse,#d1dce066,transparent 70%);filter:blur(1.4px);animation:barrel-vapor 3.8s linear infinite}
.barrel-smoke i:nth-child(2){animation-delay:-.7s}.barrel-smoke i:nth-child(3){animation-delay:-1.4s}.barrel-smoke i:nth-child(4){animation-delay:-2.1s}.barrel-smoke i:nth-child(5){animation-delay:-2.8s}.barrel-smoke i:nth-child(6){animation-delay:-3.5s}
@keyframes barrel-vapor{0%{transform:translate(0,0) rotate(-10deg) scale(.35);opacity:0}18%{opacity:.55}55%{transform:translate(8px,-23px) rotate(20deg) scale(1.5);opacity:.25}100%{transform:translate(-5px,-48px) rotate(-18deg) scale(3);opacity:0}}
/* Полёт без изменения layout. Рассеивающиеся частицы создаются отдельно в JS. */
.mascot-rocket{position:fixed;width:25px;height:8px;border:1px solid #b8c9d0;border-radius:2px 70% 70% 2px;background:linear-gradient(#f2f8ff,#8c98a1 40%,#35414e 70%,#a3abb2);box-shadow:-7px 0 5px #ffb66688;z-index:90;pointer-events:none}
.mascot-rocket::before{content:'';position:absolute;right:100%;top:1px;width:17px;height:4px;background:linear-gradient(90deg,transparent,#fb9e44,#fff4cf);filter:blur(.6px)}
.rocket-smoke-puff{position:fixed;border-radius:50%;pointer-events:none;z-index:89;background:radial-gradient(ellipse,#bac6d0aa,#83909c55 38%,transparent 72%);filter:blur(1.4px)}
.mascot-impact{position:fixed;width:65px;height:65px;border-radius:50%;background:radial-gradient(circle,#fff,#b7efff 15%,#48baff99 35%,#b18aff33 55%,transparent 70%);z-index:91;pointer-events:none}
.sigil.eye-mark{width:40px;height:40px;margin-right:5px;flex:none}.eye-mark img{display:block;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 5px #42e8dc33)}
@media(max-width:850px){.mascot-heading{padding-left:95px;min-height:115px}.bot-mascot{width:84px;height:112px}}
@media(prefers-reduced-motion:reduce){.barrel-smoke,.mascot-rocket,.mascot-impact,.rocket-smoke-puff{display:none!important}}
@media print{.bot-mascot,.mascot-rocket,.mascot-impact,.rocket-smoke-puff{display:none}.mascot-heading{padding-left:0;min-height:0;padding-top:0}}
/* Меню: 240–390 px, ширина сохраняется в этом браузере. */
:root{--rail-width:300px}
.sidebar-resizer{position:fixed;left:calc(var(--rail-width) - 5px);top:0;bottom:0;width:10px;z-index:20;cursor:col-resize;touch-action:none;display:flex;align-items:center;justify-content:center;color:#7694ab;outline:none}
.sidebar-resizer span{padding:12px 2px;border-radius:5px;background:#19263a;opacity:.65}
.sidebar-resizer:hover,.sidebar-resizer:focus-visible{background:#42e8dc33;color:#b8ffff}
.resizing-sidebar{cursor:col-resize;user-select:none}
@media(min-width:851px){.rail{width:var(--rail-width);overflow-y:auto;scrollbar-width:thin}.rail .brand{gap:12px;align-items:center;min-height:88px}.rail .brand>span:last-child{min-width:0;font-size:clamp(18px,1.6vw,22px);letter-spacing:.3px}main{margin-left:var(--rail-width)}}
/* Увеличенный орб сохранён в исходном качестве. */
.sigil.eye-mark{width:80px;height:80px;margin-right:0;padding:0}.eye-mark img{width:80px;height:80px}
.mascot-heading{display:flex;align-items:center;min-height:164px;padding-top:28px;padding-bottom:10px}
.mascot-title{display:block;color:inherit;transform:translateY(8px)}
.bot-mascot{top:50%;bottom:auto;margin-top:-70px}
/* Подсвечиваем всю строку, включая ячейки Tabler со своим фоном. */
.table tbody tr>td{transition:background-color .14s ease,box-shadow .14s ease}
.table tbody tr:hover>td,.table tbody tr:focus-within>td{background-color:#16363e!important;--tblr-table-bg:#16363e;--tblr-table-accent-bg:#16363e;box-shadow:inset 0 1px #42e8dc33,inset 0 -1px #b18aff33}
.table tbody tr:hover>td:first-child{box-shadow:inset 3px 0 #42e8dc,inset 0 1px #42e8dc33,inset 0 -1px #b18aff33}
.explosion-ring{position:fixed;width:56px;height:56px;border:2px solid #ffdba1;border-radius:50%;box-shadow:0 0 14px #ffab4b88;z-index:92;pointer-events:none}
.explosion-shard{position:fixed;border-radius:1px;background:#ffe4b2;box-shadow:0 0 6px #ff9d3d;z-index:93;pointer-events:none}
.mascot-impact{width:100px;height:100px;background:radial-gradient(circle,#fff 0%,#fff0c2 12%,#ffac48dd 28%,#e6613655 48%,#b18aff22 64%,transparent 72%)}
@media(max-width:850px){.sidebar-resizer{display:none}.rail .brand{gap:14px;align-items:center}.mascot-heading{min-height:132px;padding-top:18px}.bot-mascot{margin-top:-56px}main{margin-left:0}}
@media(prefers-reduced-motion:reduce){.table tbody tr>td{transition:none}.explosion-ring,.explosion-shard{display:none!important}}
@media print{.sidebar-resizer,.explosion-ring,.explosion-shard{display:none}.mascot-title{transform:none}.mascot-heading{min-height:0;padding:0}main{margin:0}}
/* Персонаж — настоящая кнопка: одинаково работает мышь, Enter и пробел. */
button.bot-mascot{padding:0;border:0;border-radius:0;background:none;color:var(--cyan);pointer-events:auto;cursor:pointer;appearance:none;overflow:visible;box-sizing:border-box;box-shadow:none}
button.bot-mascot:hover:not(:disabled){border:0;background:none;box-shadow:none}
button.bot-mascot canvas,button.bot-mascot .barrel-smoke{pointer-events:none}
button.bot-mascot:disabled{cursor:default;opacity:1}
button.bot-mascot:focus-visible{outline:2px solid var(--cyan);outline-offset:5px;border-radius:8px}
/* Без видимых подсказок: действие доступно по клику и клавиатуре. */
.eye-mark{position:relative}
.eye-shutter{position:absolute;inset:20%;border-radius:50%;overflow:hidden;pointer-events:none;transform:rotate(-3deg)}
.eye-shutter i{position:absolute;left:0;right:0;height:51%;background:linear-gradient(110deg,#202838,#71808b 40%,#25313d 65%,#0b1720);box-shadow:inset 0 -1px #42e8dc88}
.upper-lid{top:0;transform:translateY(-100%);border-bottom:1px solid #a6d8dd}
.lower-lid{bottom:0;transform:translateY(100%);border-top:1px solid #a6d8dd}
@media(prefers-reduced-motion:reduce){.eye-shutter{display:none}}
@media print{.eye-shutter{display:none}}
/* Сильный реактивный факел с отдельным свечением и плотным сохраняющимся следом. */
.mascot-rocket{box-shadow:0 0 7px #fff3cecc,-10px 0 16px #ffad4aaa,-22px 0 28px #ff653344}
.mascot-rocket::before{width:43px;height:10px;top:-2px;clip-path:polygon(0 50%,30% 15%,100% 30%,100% 70%,25% 85%);background:linear-gradient(90deg,transparent,#ff6d2b 30%,#ffd775 70%,#fff9e5);filter:blur(.7px)}
.mascot-rocket::after{content:'';position:absolute;right:20%;top:-12px;width:70px;height:30px;border-radius:50%;background:radial-gradient(ellipse,#ffc36655,transparent 70%);z-index:-1}
.rocket-smoke-puff{background:radial-gradient(ellipse,#d5d4c599,#737e8b77 40%,#424b5c33 60%,transparent 74%)}
.explosion-lobe{position:fixed;pointer-events:none;z-index:91;border-radius:43% 57% 61% 39%;background:radial-gradient(ellipse at 40% 35%,#fffde3,#ffd76b 22%,#ff922fbb 45%,#b8422c44 65%,transparent 75%);filter:blur(.8px)}
.explosion-shard{box-shadow:0 0 6px #ffb25788}
.eye-glint{position:absolute;left:39%;top:29%;width:17%;height:11%;border-radius:50%;background:radial-gradient(ellipse,#fff9,#c4ffff33 45%,transparent 75%);pointer-events:none;transform:rotate(-27deg);animation:eye-reflection 7s ease-in-out infinite}
@keyframes eye-reflection{0%,100%{opacity:.45;transform:rotate(-27deg) scale(.9)}50%{opacity:.9;transform:translate(1px,1px) rotate(-20deg) scale(1.08)}}
.eye-shutter i{background:linear-gradient(110deg,#18212c,#7c8d95 40%,#25313d 65%,#0b1720);box-shadow:inset 0 -1px #42e8dc88,inset 0 2px #cbd8de33}
@media(prefers-reduced-motion:reduce){.eye-glint{animation:none}.explosion-lobe{display:none!important}}
@media print{.eye-glint,.explosion-lobe{display:none}}
/* Большой анимированный огонь, а не маленький фитиль: форма колеблется, свет постоянный. */
.mascot-rocket{box-shadow:0 0 9px 4px #fff4cddd,0 0 25px 10px #ffb43cbb,0 0 52px 20px #ff6d2d66}
.mascot-rocket::before{width:85px;height:25px;top:-9px;clip-path:polygon(0 50%,24% 20%,46% 32%,70% 6%,100% 28%,100% 75%,68% 94%,42% 65%,20% 82%);background:radial-gradient(ellipse at 92% 50%,#fffde9 0%,#fff19c 22%,#ffbc36 43%,#ff6a25cc 67%,transparent 85%);filter:blur(.7px);transform-origin:right center;animation:rocket-flame-shape .16s ease-in-out infinite alternate}
.mascot-rocket::after{right:-30px;top:-34px;width:135px;height:75px;background:radial-gradient(ellipse,#fff6b966,#ffad3a66 30%,#ff682a22 55%,transparent 73%);filter:blur(3px)}
@keyframes rocket-flame-shape{0%{transform:scaleX(.9) scaleY(.9) skewY(-4deg)}50%{transform:scaleX(1.14) scaleY(1.05) skewY(3deg)}100%{transform:scaleX(1) scaleY(1.18) skewY(-2deg)}}
.rocket-path-light{position:fixed;pointer-events:none;z-index:8;width:240px;height:160px;border-radius:50%;mix-blend-mode:screen;background:radial-gradient(ellipse,#ffdc713b,#ff9b3726 28%,#ff682511 48%,transparent 72%)}
@media(prefers-reduced-motion:reduce){.rocket-path-light{display:none!important}.mascot-rocket::before{animation:none}}
@media print{.rocket-path-light{display:none}}
/* Короткая сопловая струя: небольшая турбулентность, синее ядро у основания. */
.mascot-rocket::before{width:44px;height:17px;top:-5px;clip-path:polygon(0 50%,25% 28%,55% 16%,100% 30%,100% 72%,55% 84%,23% 70%);background:linear-gradient(90deg,transparent,#ff762dc7 22%,#ffd276ed 55%,#eef8ff 79%,#67cfff 96%);filter:blur(.55px);animation:rocket-flame-shape .19s ease-in-out infinite alternate}
@keyframes rocket-flame-shape{0%{transform:scaleX(.96) scaleY(.94) skewY(-1deg)}50%{transform:scaleX(1.04) scaleY(1.03) skewY(1.5deg)}100%{transform:scaleX(1) scaleY(1.06) skewY(-1deg)}}
.mascot-rocket::after{right:-3px;top:-32px;width:120px;height:70px;background:radial-gradient(ellipse at 65% 50%,#daf6ff55,#ffcb6955 27%,#ff862a22 50%,transparent 73%)}
.rocket-blue-core{position:absolute;right:100%;top:-1px;width:13px;height:8px;border-radius:60% 15% 15% 60%;background:radial-gradient(ellipse at right,#fff,#b1ecff 35%,#408bff88 65%,transparent 85%);filter:blur(.5px);box-shadow:0 0 7px #66c8ff99}
/* Коннект виден сразу в правой части шапки, команда выделяется целиком. */
.headline>div:first-child{min-width:0;flex:1}
.headline .release{width:370px;min-width:0;max-width:100%;flex-shrink:0}
.server-connect{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #42e8dc44}
.connect-topline{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.3px;font-weight:800;color:var(--cyan)}
.server-connect code{display:block;font:700 clamp(14px,1.35vw,20px)/1.6 Consolas,monospace;color:#e8ffff;background:#112b37;padding:10px 8px;margin:14px 0;border:1px solid #42e8dc66;border-radius:5px;white-space:nowrap;user-select:all}
.server-connect .btn{width:100%;font-weight:700}
.server-connect p{margin:10px 0 0;font-size:12px;line-height:1.6}
.server-connect .connect-note{color:#9fb9c9}
@media(max-width:850px){.headline .release{width:100%}.server-connect code{font-size:clamp(13px,3.6vw,20px)}}
/* Раздельные действия бренда: никаких вложенных кнопок и ссылок. */
button.eye-mark{padding:0;border:0;background:none;appearance:none;cursor:pointer;display:block;position:relative;overflow:visible}
button.eye-mark:focus-visible,.brand-home:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:5px}
.brand-home{color:inherit;text-decoration:none;min-width:0;line-height:1.3;font-size:clamp(18px,1.6vw,22px);letter-spacing:.3px}
.brand-home:hover{color:#fff;text-decoration:none}
/* Выпуклая механическая поверхность: отражение сверху, тёмный низ, фаска и толщина кромки. */
.eye-shutter i{background:radial-gradient(ellipse at 35% 12%,#f1f8f899 0%,#a7bdc055 16%,transparent 48%),linear-gradient(155deg,#aebfc4 0%,#53666f 20%,#293a46 45%,#172730 70%,#0a121c 100%);box-shadow:inset 0 2px 2px #efffff88,inset 2px 0 5px #c2e1e133,inset -3px -5px 8px #000b,0 3px 5px #000a}
.eye-shutter .upper-lid{border-radius:42% 42% 18% 18%;border-bottom:2px solid #91afb9}
.eye-shutter .lower-lid{border-radius:18% 18% 42% 42%;border-top:2px solid #c7dce0;background:radial-gradient(ellipse at 66% 6%,#eaf9ff99,transparent 40%),linear-gradient(150deg,#879fa8,#344a56 40%,#12232d 85%)}
.eye-shutter i::after{content:'';position:absolute;left:8%;right:9%;top:12%;height:22%;border-radius:50%;background:linear-gradient(90deg,transparent,#efffff66 40%,#b7e3ef22 70%,transparent);filter:blur(.5px);transform:rotate(-9deg)}
/* Один элемент, две подписи в одной ячейке: размеры и центр не меняются при hover. */
.connect-copy-control{width:100%;min-height:58px;display:grid;place-items:center;position:relative;padding:10px 8px;margin:14px 0;border:1px solid #42e8dc88;border-radius:5px;background:#112b37;color:#e8ffff;cursor:pointer}
.server-connect .connect-copy-control code{grid-area:1/1;margin:0;padding:0;border:0;background:none;text-align:center;pointer-events:none;transition:opacity .15s ease}
.connect-copy-label{grid-area:1/1;text-align:center;font-size:17px;font-weight:750;color:var(--cyan);opacity:0;pointer-events:none;transition:opacity .15s ease}
.connect-copy-control:hover code,.connect-copy-control:focus-visible code{opacity:0}
.connect-copy-control:hover .connect-copy-label,.connect-copy-control:focus-visible .connect-copy-label{opacity:1}
.connect-copy-control:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.connect-copy-label,.server-connect .connect-copy-control code{transition:none}}

/* 0.8.0: тонкие веки перекрывают шов при полном смыкании. */
.eye-shutter i{height:54%;background:linear-gradient(155deg,#71848d,#30434f 48%,#18252e);box-shadow:inset 0 1px 1px #d5edf044,inset 0 -1px 2px #07131b88}
.eye-shutter .upper-lid{border-radius:45% 45% 0 0;border-bottom:1px solid #6f8e98}
.eye-shutter .lower-lid{border-radius:0 0 45% 45%;border-top:1px solid #6f8e98;background:linear-gradient(155deg,#607985,#2a414d 50%,#172731)}
.eye-shutter i::after{height:9%;opacity:.35}
/* Левый заголовок не центрируется по высоте высокой карточки Connect. */
.headline{align-items:flex-start}
.headline>div:first-child{align-self:flex-start}
.mascot-heading{min-height:134px;padding-top:0;padding-bottom:0;margin-top:6px;margin-bottom:16px;user-select:none;-webkit-user-select:none}
.mascot-title,.mascot-heading .bot-word{user-select:none;-webkit-user-select:none}
@media(max-width:850px){.mascot-heading{min-height:116px;margin-top:6px;padding-top:0}}

/* Keep the sprite below the eyebrow: it remains aligned with the title, but clears DEVELOPMENT CONTROL. */
@media(min-width:851px){.mascot-heading .bot-mascot{margin-top:-50px}}
