/* ===== base.css — общее для ВСЕХ страниц: цвета, фон с кодом, кнопки, нижнее меню (dock)
   Цвета менять здесь, в :root ===== */
:root{--bg:#0c0a06;--text:#f1f3f8;--muted:#b3aa8f;--line:rgba(255,255,255,.1);--tint:255,201,51;
--r:8px;--accent:#FFC933;--orange:#FF8A2B;--panel:#1D1A10;
--mono:'JetBrains Mono',ui-monospace,monospace;--sans:'Onest',system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 var(--sans);min-height:100vh}


/* --- Фон: размытый светящийся код --- */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg)}
.bg-code{position:absolute;inset:2%;margin:0;font:12.5px/1.55 var(--mono);white-space:pre-wrap;word-break:break-word;
transform:scale(1.03);filter:blur(1.6px);transition:color 1s,text-shadow 1s;
color:rgba(var(--tint),.6);text-shadow:0 0 6px rgba(var(--tint),.85),0 0 22px rgba(var(--tint),.5),0 0 60px rgba(var(--tint),.3)}
.bg-tint{position:absolute;inset:0;background:radial-gradient(900px 620px at 50% 30%,rgba(var(--tint),.16),transparent 68%);transition:background 1s}
.bg-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,6,.7),rgba(12,10,6,.55) 35%,rgba(12,10,6,.88))}



/* --- Кнопки --- */
.btn{display:inline-block;padding:12px 22px;border-radius:12px;text-decoration:none;font-weight:600;border:1px solid var(--line);color:var(--text);background:rgba(255,255,255,.05);backdrop-filter:blur(10px);transition:background .2s,border-color .2s}
.btn.main{background:rgb(var(--tint));border-color:transparent;color:#0a0c12;transition:background 1s}
.btn:hover{background:rgba(255,255,255,.12)}.btn.main:hover{filter:brightness(1.1);background:rgb(var(--tint))}
.btn:focus-visible,.dock a:focus-visible,.mod:focus-visible{outline:2px solid #fff;outline-offset:3px}


/* --- Нижнее меню --- */
.dock{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom,0px) + 14px);transform:translateX(-50%);display:flex;gap:4px;padding:8px;
background:rgba(28,24,14,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 32px rgba(0,0,0,.4);max-width:calc(100vw - 24px)}
.dock a{padding:10px 14px;border-radius:12px;color:rgba(255,255,255,.65);text-decoration:none;font-size:15px;white-space:nowrap;transition:background .15s,color .15s}
.dock a:hover{background:rgba(255,255,255,.08);color:#fff}
.dock a.on{background:rgba(var(--tint),.2);color:#fff}
/* --- Переключатель языка в меню --- */
.dock-lang{display:flex;margin-left:4px;padding-left:8px;border-left:1px solid var(--line)}
.dock-lang button{background:none;border:0;color:rgba(255,255,255,.65);padding:10px 12px;border-radius:12px;font:inherit;font-size:15px;cursor:pointer;transition:background .15s,color .15s}
.dock-lang button:hover{background:rgba(255,255,255,.08);color:#fff}
.dock-lang button[aria-pressed=true]{background:rgba(var(--tint),.2);color:#fff}
.dock-lang button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:520px){.dock a{padding:10px 9px;font-size:14px}.dock a.hide-sm{display:none}.dock-lang button{padding:10px 8px;font-size:14px}}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
