/* ===================================================================
   AGI•GO  —  immersive retro desktop
   =================================================================== */

:root{
  --ag-blue:        #245edb;
  --ag-blue-dark:   #0a246a;
  --ag-blue-grad1:  #3a6ea5;
  --title-grad-1:   #0058ee;
  --title-grad-2:   #2f7bf6;
  --title-grad-3:   #1d5fe0;
  --face:           #ece9d8;   /* classic dialog face */
  --face-line:      #aca899;
  --green-task:     #3c8b3c;
  --taskbar-1:      #2580ea;
  --taskbar-2:      #1c5fdc;
  --sel:            #316ac5;
  --mono: "Lucida Console","Courier New",monospace;
  --ui: Tahoma, "Segoe UI", Verdana, Geneva, sans-serif;
}

*{ box-sizing:border-box; }
html,body{ height:100%; margin:0; }
body{
  font-family:var(--ui);
  font-size:13px;
  color:#000;
  overflow:hidden;
  background:#000;
  -webkit-user-select:none; user-select:none;
  -webkit-font-smoothing:antialiased;
}
.hidden{ display:none !important; }
img{ -webkit-user-drag:none; user-drag:none; }
button{ font-family:inherit; cursor:pointer; }

/* ============================ BOOT ============================ */
.boot{
  position:fixed; inset:0; background:#000; color:#cfcfcf;
  font-family:var(--mono); font-size:15px; line-height:1.5;
  padding:34px 40px; z-index:9999; cursor:pointer;
}
.boot__text{ white-space:pre-wrap; margin:0; }
.boot__text .cur{ background:#cfcfcf; animation:blink 1s steps(1) infinite; }
.boot__hint{
  position:absolute; bottom:24px; left:0; right:0; text-align:center;
  color:#555; font-size:12px; letter-spacing:.5px;
}
@keyframes blink{ 50%{ opacity:0; } }

/* boot → splash */
.boot--splash{
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  background:radial-gradient(circle at 50% 40%, #1a3a86, #050a2a 75%);
  font-family:var(--ui); color:#fff;
}
.splash__logo{ font-size:54px; font-weight:800; letter-spacing:-2px; text-shadow:0 3px 16px rgba(0,0,0,.6); }
.splash__logo .dot{ color:#ffd34d; }
.splash__sub{ margin-top:6px; font-size:13px; opacity:.85; letter-spacing:2px; text-transform:uppercase; }
.splash__bar{ margin-top:34px; width:240px; height:16px; border:1px solid #3a63c8; border-radius:9px; padding:2px; overflow:hidden; }
.splash__fill{
  height:100%; width:34%; border-radius:7px;
  background:linear-gradient(90deg,#7fa8ff,#2f7bf6,#7fa8ff);
  background-size:200% 100%;
  animation:loadbar 1.1s linear infinite, loadfill 2.6s ease forwards;
}
@keyframes loadbar{ from{ background-position:0 0;} to{ background-position:200% 0;} }
@keyframes loadfill{ from{ width:8%;} to{ width:100%; } }

/* ============================ DESKTOP ============================ */
.desktop{
  position:fixed; inset:0;
  background:
    radial-gradient(120% 90% at 50% 8%, #5aa0e8 0%, #2f6fc8 38%, #1e4f9e 60%, transparent 61%),
    linear-gradient(180deg,#3f8ddb 0%, #6fb1ec 30%, #79b84d 56%, #6aa83f 64%, #84c25a 100%);
  overflow:hidden;
}
/* the rolling green hill */
.desktop::before{
  content:""; position:absolute; left:-5%; right:-5%; bottom:0; height:46%;
  background:
    radial-gradient(120% 150% at 50% 120%, #9ed36a 0%, #6fae3e 40%, #4f8a2c 70%);
  border-radius:60% 60% 0 0/30% 30% 0 0;
  box-shadow:inset 0 30px 60px rgba(255,255,255,.25);
}
/* clouds */
.desktop::after{
  content:""; position:absolute; inset:0 0 50% 0; pointer-events:none;
  background:
    radial-gradient(40px 18px at 18% 22%, rgba(255,255,255,.9), transparent 70%),
    radial-gradient(60px 22px at 22% 26%, rgba(255,255,255,.8), transparent 70%),
    radial-gradient(50px 20px at 72% 16%, rgba(255,255,255,.85), transparent 70%),
    radial-gradient(80px 26px at 78% 20%, rgba(255,255,255,.7), transparent 70%),
    radial-gradient(40px 16px at 50% 12%, rgba(255,255,255,.75), transparent 70%);
  animation:drift 90s linear infinite;
}
@keyframes drift{ from{ transform:translateX(0);} to{ transform:translateX(40px);} }

/* CRT layers */
.crt-scanlines{
  position:fixed; inset:0; z-index:5000; pointer-events:none; opacity:.16;
  background:repeating-linear-gradient(0deg, rgba(0,0,0,.6) 0 1px, transparent 1px 3px);
  mix-blend-mode:multiply;
}
.crt-flicker{
  position:fixed; inset:0; z-index:5001; pointer-events:none;
  background:rgba(120,150,255,.04); animation:flick 7s steps(60) infinite;
}
@keyframes flick{ 0%,100%{opacity:.25;} 50%{opacity:.55;} 73%{opacity:.15;} }
.crt-vignette{
  position:fixed; inset:0; z-index:5002; pointer-events:none;
  box-shadow:inset 0 0 220px rgba(0,0,20,.45);
}

/* ============================ MENU BAR ============================ */
.menubar{
  position:absolute; top:0; left:0; right:0; height:30px; z-index:4000;
  display:flex; align-items:center; gap:2px; padding:0 8px;
  background-color:#e7e4d6;   /* непрозрачная подложка: если градиент-слой мигнёт при композитинге — бар не станет прозрачным */
  background-image:linear-gradient(180deg,#fdfdfd,#e7e4d6 55%,#d7d3c4);
  border-bottom:1px solid #9a9684;
  font-size:12px;
  transform:translateZ(0);    /* свой GPU-слой: чинит глитч первого кадра под mix-blend-mode CRT-слоями */
}
.menubar__logo{
  border:none; background:none; font-weight:800; font-size:15px; letter-spacing:-.5px;
  padding:2px 8px 2px 2px; color:#0a2a6a;
}
.menubar__logo .dot{ color:#e0a400; }
.menubar__menus{ display:flex; gap:1px; }
.menu-item{
  border:1px solid transparent; background:none; padding:3px 9px; border-radius:3px; color:#111;
}
.menu-item:hover,.menu-item.open{ background:var(--sel); color:#fff; }
.menu-item--cart{ position:relative; font-weight:bold; }
.cart-badge{
  display:inline-block; min-width:16px; padding:0 4px; margin-left:2px;
  background:#d8000c; color:#fff; border-radius:8px; font-size:10px; text-align:center;
}
.menubar__banner{
  flex:1; text-align:center; font-weight:bold; letter-spacing:.5px; color:#0a2a6a;
  text-transform:uppercase; font-size:11px;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  animation:bannerGlow 4s ease-in-out infinite;
}
@keyframes bannerGlow{ 50%{ color:#1f57c8; text-shadow:0 0 6px rgba(80,140,255,.6);} }
.menubar__clock{ font-variant-numeric:tabular-nums; padding-left:8px; color:#222; }

/* dropdowns */
.dropdown{ position:absolute; z-index:4500; }
.dropdown__menu{
  position:absolute; min-width:210px; background:var(--face);
  border:1px solid #888; border-top-color:#fff; border-left-color:#fff;
  box-shadow:3px 3px 9px rgba(0,0,0,.4); padding:3px;
}
.dropdown__item{
  display:flex; justify-content:space-between; gap:18px; align-items:center;
  padding:5px 10px; border-radius:2px; white-space:nowrap;
}
.dropdown__item:hover{ background:var(--sel); color:#fff; }
.dropdown__item.dim{ color:#888; }
.dropdown__sep{ height:1px; background:#aca899; margin:3px 2px; border-bottom:1px solid #fff; }
.dropdown__head{ padding:4px 10px; font-weight:bold; color:#0a2a6a; }

/* ============================ ICONS ============================ */
.icons{
  position:absolute; top:46px; left:14px; z-index:1000;
  display:flex; flex-direction:column; flex-wrap:wrap; gap:6px; max-height:calc(100% - 110px);
}
.icon{
  width:90px; padding:7px 4px 5px; border:1px solid transparent; border-radius:3px;
  display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center;
  background:none;
}
.icon:hover{ background:rgba(49,106,197,.25); border-color:rgba(255,255,255,.4); }
.icon.active{ background:rgba(49,106,197,.45); }
.icon__img{ width:46px; height:46px; display:flex; align-items:center; justify-content:center;
  font-size:38px; filter:drop-shadow(1px 2px 2px rgba(0,0,0,.5)); }
.icon__img img{ width:46px; height:46px; object-fit:contain; }
.icon__label{
  color:#fff; font-size:12px; line-height:1.15; text-shadow:0 1px 3px #000,0 0 2px #000;
  padding:0 2px;
}

/* ============================ SLOGAN ============================ */
.slogan{
  position:absolute; left:0; right:0; bottom:44px; z-index:900; text-align:center;
  color:#eafff0; font-size:12px; letter-spacing:.4px; pointer-events:none;
  text-shadow:0 1px 3px #000; padding:0 16px;
  text-transform:uppercase; opacity:.92;
}

/* ============================ WINDOWS ============================ */
.windows{ position:absolute; inset:30px 0 30px 0; z-index:2000; pointer-events:none; }
.win{
  position:absolute; pointer-events:auto; min-width:260px;
  background:var(--face); border:1px solid #0831d9;
  border-radius:8px 8px 0 0; box-shadow:4px 6px 22px rgba(0,0,0,.5);
  display:flex; flex-direction:column; overflow:hidden;
  animation:winOpen .14s ease-out;
}
@keyframes winOpen{ from{ transform:scale(.94); opacity:.3; } to{ transform:scale(1); opacity:1; } }
.win.closing{ animation:winClose .12s ease-in forwards; }
@keyframes winClose{ to{ transform:scale(.9); opacity:0; } }
.win.min{ display:none; }
.win.focused{ box-shadow:6px 10px 34px rgba(0,0,0,.6); }

.win__title{
  height:30px; display:flex; align-items:center; gap:7px; padding:0 5px 0 8px;
  background:linear-gradient(180deg,var(--title-grad-2),var(--title-grad-1) 8%,var(--title-grad-3) 92%);
  color:#fff; font-weight:bold; text-shadow:1px 1px 2px rgba(0,0,0,.5);
  cursor:default; border-radius:7px 7px 0 0; flex:0 0 auto;
}
.win:not(.focused) .win__title{ background:linear-gradient(180deg,#7f9fd6,#6f90c8); }
.win__title-ico{ font-size:14px; }
.win__title-txt{ flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; }
.win__btns{ display:flex; gap:2px; }
.win__btn{
  width:21px; height:20px; border:1px solid #fff; border-radius:3px; color:#fff; font-weight:bold;
  background:linear-gradient(180deg,#5a8fe0,#2f6bd6); font-size:11px; line-height:1;
  display:flex; align-items:center; justify-content:center;
}
.win__btn:hover{ filter:brightness(1.12); }
.win__btn--close{ background:linear-gradient(180deg,#f08a6c,#d24a26); }

.win__body{
  flex:1; overflow:auto; padding:14px 16px; background:#fff; color:#111; line-height:1.5;
  font-size:13px;
}
.win__body--pad0{ padding:0; }
.win__body h2{ margin:.1em 0 .4em; font-size:17px; color:#0a2a6a; }
.win__body h3{ margin:1em 0 .3em; font-size:14px; color:#13338a; }
.win__body p{ margin:.5em 0; }
.win__body ul{ margin:.4em 0; padding-left:20px; }
.win__body li{ margin:3px 0; }
.win__body hr{ border:none; border-top:1px dashed #c7c3b4; margin:14px 0; }
.win__body a{ color:#0a4ae0; }

/* resize handle */
.win__resize{ position:absolute; right:0; bottom:0; width:16px; height:16px; cursor:nwse-resize; z-index:3;
  background:linear-gradient(135deg,transparent 50%, #b9b5a6 50% 60%, transparent 60% 70%, #b9b5a6 70% 80%, transparent 80%); }

/* explorer-style folder grid */
.folder{ display:flex; flex-direction:column; height:100%; }
.folder__bar{
  display:flex; align-items:center; gap:8px; padding:6px 10px;
  background:linear-gradient(180deg,#fbfbfb,#ece9d8); border-bottom:1px solid #aca899; font-size:12px;
}
.folder__bar .path{ color:#444; }
.folder__grid{ flex:1; overflow:auto; display:grid; grid-template-columns:repeat(auto-fill,minmax(108px,1fr));
  gap:8px; padding:14px; background:#fff; align-content:start; }
.fitem{ border:1px solid transparent; border-radius:4px; padding:9px 4px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:6px; background:none; }
.fitem:hover{ background:#eaf1fb; border-color:#bcd3f0; }
.fitem__ico{ font-size:34px; filter:drop-shadow(1px 1px 1px rgba(0,0,0,.25)); }
.fitem__name{ font-size:12px; line-height:1.2; color:#13338a; }
.fitem__price{ font-size:11px; color:#157a2b; font-weight:bold; }

/* service detail layout */
.svc__stage{
  position:relative; height:210px; border-bottom:2px solid #0a2a6a; overflow:hidden;
  background:
    radial-gradient(120% 120% at 50% 0%, #6fa8e8 0%, #3a6fbf 45%, #1c3f86 100%);
  display:flex; align-items:flex-end; justify-content:center;
}
.svc__stage::after{ content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 2px, transparent 2px 4px); }
.svc__hero{ height:200px; object-fit:contain; display:block; position:relative; z-index:1;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.45)); }
.svc__pad{ padding:14px 16px; }
.svc__price-bar{
  position:sticky; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 16px; background:linear-gradient(180deg,#fffbe8,#f6efc8); border-top:1px solid #d9cf95;
}
.svc__price{ font-size:18px; font-weight:800; color:#0a2a6a; }
.svc__price small{ font-weight:normal; color:#666; font-size:11px; }

/* retro buttons */
.btn{
  border:1px solid #2e57b8; border-radius:4px; padding:7px 16px; font-size:13px; font-weight:bold;
  background:linear-gradient(180deg,#fdfefe,#dbe7fb 45%,#c2d6f6); color:#0a2a6a;
}
.btn:hover{ background:linear-gradient(180deg,#fff,#e6effd 45%,#cfe0fa); }
.btn:active{ background:linear-gradient(180deg,#c2d6f6,#dbe7fb); }
.btn--primary{ background:linear-gradient(180deg,#7fb46a,#3c8b3c 60%,#2f7a2f); color:#fff; border-color:#2a6a2a; text-shadow:0 1px 1px rgba(0,0,0,.4); }
.btn--primary:hover{ filter:brightness(1.07); }
.btn--lg{ padding:10px 22px; font-size:14px; }
.btn--tg{ background:linear-gradient(180deg,#36b3e8,#1e96d6 60%,#1380c0); color:#fff; border-color:#0f6ba0; }

/* cart */
.cart{ display:flex; flex-direction:column; height:100%; }
.cart__list{ flex:1; overflow:auto; }
.cart__row{ display:flex; align-items:center; gap:10px; padding:9px 14px; border-bottom:1px solid #eee; }
.cart__row .name{ flex:1; }
.cart__row .price{ font-weight:bold; color:#0a2a6a; white-space:nowrap; }
.cart__qty{ display:flex; align-items:center; gap:4px; }
.cart__qty button{ width:20px; height:20px; border:1px solid #9bb; border-radius:3px; background:#eef; font-weight:bold; }
.cart__del{ border:none; background:none; color:#d8000c; font-size:15px; }
.cart__empty{ padding:40px 16px; text-align:center; color:#888; }
.cart__foot{ border-top:2px solid #d9cf95; background:#fcfbf2; padding:12px 14px; }
.cart__line{ display:flex; justify-content:space-between; margin:4px 0; }
.cart__line.total{ font-size:17px; font-weight:800; color:#0a2a6a; border-top:1px dashed #c7c3b4; padding-top:6px; margin-top:6px; }
.cart__line .disc{ color:#157a2b; font-weight:bold; }
.cart__cta{ display:flex; gap:8px; margin-top:10px; }
.discount-pill{ display:inline-block; background:#157a2b; color:#fff; border-radius:10px; padding:1px 9px; font-size:11px; }

/* coin / surprise */
.surprise{ text-align:center; padding:18px 16px 24px; position:relative; overflow:hidden; min-height:100%; }
.coin-stage{ perspective:700px; height:170px; display:flex; align-items:center; justify-content:center; }
.coin{
  width:130px; height:130px; border-radius:50%; transform-style:preserve-3d; position:relative;
  cursor:pointer; transition:transform .1s;
}
.coin.flip{ animation:coinflip 2.4s cubic-bezier(.2,.7,.2,1) forwards; }
.coin__face{
  position:absolute; inset:0; border-radius:50%; backface-visibility:hidden;
  display:flex; align-items:center; justify-content:center; font-size:46px; font-weight:800;
  background:radial-gradient(circle at 35% 30%, #ffe98a, #e0a400 70%, #a87a00);
  color:#7a5600; box-shadow:inset 0 0 0 6px #c9920f, 0 6px 14px rgba(0,0,0,.4);
}
.coin__face--back{ transform:rotateY(180deg); font-size:22px; }
@keyframes coinflip{
  0%{ transform:rotateY(0) translateY(0);}
  35%{ transform:rotateY(900deg) translateY(-60px);}
  70%{ transform:rotateY(1980deg) translateY(0);}
  100%{ transform:rotateY(2160deg) translateY(0);}
}
.surprise__result{ min-height:40px; margin-top:12px; font-size:15px; font-weight:bold; color:#157a2b; }

/* about / credibility */
.stats{ display:flex; gap:8px; margin:12px 0; }
.stat{ flex:1; text-align:center; background:linear-gradient(180deg,#eef3fc,#dfe9fb); border:1px solid #c2d2ef; border-radius:8px; padding:9px 4px; }
.stat b{ display:block; font-size:21px; color:#0a2a6a; line-height:1; }
.stat span{ font-size:10px; color:#556; display:block; margin-top:3px; }
.caps{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:8px 0; }
.cap{ background:#fff; border:1px solid #e2e6ee; border-radius:6px; padding:7px 9px; font-size:12px; }
.cap b{ color:#13338a; }
.editnote{ font-size:10px; color:#b07000; background:#fff7d6; border:1px solid #e6d27a; border-radius:5px; padding:3px 7px; display:inline-block; }

/* socials */
.social-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.social-card{ border:1px solid #cdd6e6; border-radius:8px; padding:16px; text-align:center; text-decoration:none; color:#111;
  background:linear-gradient(180deg,#fff,#f1f5ff); }
.social-card:hover{ border-color:#5a8fe0; box-shadow:0 3px 10px rgba(40,90,200,.2); }
.social-card .ic{ font-size:40px; }
.social-card .nm{ font-weight:bold; margin-top:6px; color:#0a2a6a; }

/* games / special */
.minehead{ display:flex; justify-content:space-between; align-items:center; padding:6px 10px;
  background:#ece9d8; border:2px solid; border-color:#fff #808080 #808080 #fff; margin-bottom:8px; font-weight:bold; font-family:var(--mono); }
.mine{ display:grid; gap:0; border:3px solid; border-color:#808080 #fff #fff #808080; width:max-content; margin:0 auto; }
.mine__cell{ width:26px; height:26px; border:2px solid; border-color:#fff #808080 #808080 #fff; background:#bdbdbd;
  font-weight:bold; font-size:14px; display:flex; align-items:center; justify-content:center; font-family:var(--mono); }
.mine__cell.open{ border:1px solid #999; background:#cfcfcf; }
.mine__cell.boom{ background:#d8000c; }
.special-list{ display:flex; flex-direction:column; gap:8px; }
.special-list .btn{ text-align:left; }

/* taskbar */
.taskbar{
  position:absolute; left:0; right:0; bottom:0; height:30px; z-index:4000;
  display:flex; align-items:center; gap:6px; padding:0 6px;
  background-color:#2261d2;   /* непрозрачная подложка (см. .menubar) */
  background-image:linear-gradient(180deg,#3f8df0 0,#2a6ad8 9%,#2261d2 90%,#1c52bf 100%);
  border-top:1px solid #5a9bf0;
  transform:translateZ(0);
}
.start{
  display:flex; align-items:center; gap:6px; height:24px; padding:0 14px 0 8px; border:none;
  border-radius:0 9px 9px 0; color:#fff; font-style:italic; font-weight:bold; font-size:14px;
  background:linear-gradient(180deg,#5db95d,#3c8b3c 50%,#2f7a2f);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
.start:hover{ filter:brightness(1.08); }
.start__logo{ font-style:normal; background:#fff; color:#3c8b3c; border-radius:3px; padding:0 4px; font-size:11px; }
.taskbar__items{ flex:1; display:flex; gap:4px; overflow:hidden; }
.taskitem{
  height:23px; min-width:130px; max-width:170px; padding:0 8px; border:1px solid #1c52bf; border-radius:3px;
  background:linear-gradient(180deg,#4f95f0,#2f74e0); color:#fff; font-size:12px;
  display:flex; align-items:center; gap:6px; overflow:hidden; white-space:nowrap;
}
.taskitem.active{ background:linear-gradient(180deg,#1c52bf,#3f8df0); box-shadow:inset 1px 1px 4px rgba(0,0,0,.4); }
.taskitem .t{ overflow:hidden; text-overflow:ellipsis; }
.tray{ display:flex; align-items:center; gap:8px; padding:0 8px 0 10px; height:24px;
  border-left:1px solid #1c52bf; background:linear-gradient(180deg,#1d8bd0,#1573c0); border-radius:4px; }
.tray__btn{ background:none; border:none; font-size:13px; }
.tray__clock{ color:#fff; font-size:12px; font-variant-numeric:tabular-nums; }

/* falling kittens easter-egg */
.kitten{ position:fixed; top:-50px; font-size:32px; z-index:6000; pointer-events:none; animation:fall linear forwards; }
@keyframes fall{ to{ transform:translateY(110vh) rotate(540deg); opacity:.85; } }

/* toast */
.toast{
  position:fixed; bottom:46px; left:50%; transform:translateX(-50%) translateY(20px);
  background:#0a2a6a; color:#fff; padding:9px 18px; border-radius:6px; z-index:7000;
  box-shadow:0 6px 20px rgba(0,0,0,.5); opacity:0; transition:.25s; font-size:13px;
  pointer-events:none;   /* тост не должен перехватывать клики (невидимый div оставался кликbox'ом) */
}
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

.peeker{ position:absolute; width:150px; bottom:42%; left:60%; z-index:800; pointer-events:none;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.4)); opacity:0; transition:opacity .4s; }
.peeker.show{ opacity:.96; }

/* mascot companion */
.mascot{ position:absolute; right:26px; bottom:38px; z-index:1200; cursor:pointer;
  animation:bob 4s ease-in-out infinite; transform-origin:bottom center; }
.mascot img{ height:195px; display:block; filter:drop-shadow(0 10px 14px rgba(0,0,0,.45)); }
.mascot:hover img{ filter:drop-shadow(0 10px 18px rgba(0,0,0,.6)) brightness(1.05); }
.mascot:active{ animation:none; transform:scale(.98); }
@keyframes bob{ 0%,100%{ transform:translateY(0) rotate(-.4deg);} 50%{ transform:translateY(-8px) rotate(.4deg);} }
.mascot__bubble{
  position:absolute; bottom:100%; right:30px; margin-bottom:8px; max-width:240px; min-width:120px;
  background:#fffceb; border:1px solid #0a2a6a; border-radius:10px; padding:9px 12px; font-size:12px;
  color:#111; box-shadow:3px 4px 12px rgba(0,0,0,.4); opacity:0; transform:translateY(8px) scale(.96);
  transition:.18s; pointer-events:none; text-align:left; line-height:1.35;
}
.mascot__bubble.show{ opacity:1; transform:translateY(0) scale(1); }
.mascot__bubble::after{ content:""; position:absolute; top:100%; right:26px; border:8px solid transparent; border-top-color:#fffceb; }
@media (max-width:720px){ .mascot img{ height:150px; } .mascot{ right:6px; bottom:34px; } }

/* mobile */
@media (max-width:720px){
  .menubar__banner{ font-size:8px; }
  .icons{ flex-direction:row; max-height:none; width:calc(100% - 28px); }
  .win{ min-width:0 !important; }
  .slogan{ font-size:10px; bottom:40px; }
}

/* ===================================================================
   ✨ POLISH PASS — retro chrome gloss + animations (overrides above)
   =================================================================== */

/* ---- desktop: warm sun glow + softer hills ---- */
.desktop{
  background:
    radial-gradient(45% 35% at 78% 6%, rgba(255,247,214,.55), rgba(255,247,214,0) 60%),
    radial-gradient(120% 90% at 50% 8%, #5aa0e8 0%, #2f6fc8 38%, #1e4f9e 60%, transparent 61%),
    linear-gradient(180deg,#3f8ddb 0%, #6fb1ec 30%, #79b84d 56%, #6aa83f 64%, #84c25a 100%);
}
.desktop::before{ box-shadow:inset 0 30px 70px rgba(255,255,255,.30), inset 0 -40px 80px rgba(0,40,0,.18); }
.desktop::after{ animation:drift 120s linear infinite; }

/* ---- window: smoother open, premium shadow ---- */
.win{
  border:1px solid #0831d9; border-radius:8px 8px 2px 2px;
  box-shadow:0 12px 30px rgba(0,0,0,.42), 0 2px 6px rgba(0,0,0,.3);
  animation:winOpen .18s cubic-bezier(.2,.9,.25,1);
  will-change:transform;
}
@keyframes winOpen{ from{ transform:scale(.92) translateY(8px); opacity:0; } to{ transform:scale(1) translateY(0); opacity:1; } }
.win.focused{ box-shadow:0 18px 48px rgba(0,0,0,.5), 0 3px 10px rgba(0,0,0,.35); }

/* ---- title bar: glossy retro blue ---- */
.win__title{
  position:relative; overflow:hidden; height:29px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.05) 46%, rgba(255,255,255,0) 52%, rgba(255,255,255,.12) 100%),
    linear-gradient(180deg,#3f8cf3 0%, #1f66e0 47%, #0f56d8 54%, #2f78ef 100%);
  border-radius:7px 7px 0 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.15);
}
.win__title::after{   /* top gloss sweep */
  content:""; position:absolute; left:0; right:0; top:0; height:48%;
  background:linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0));
  border-radius:7px 7px 60% 60%/7px 7px 14px 14px; pointer-events:none;
}
.win:not(.focused) .win__title{
  background:
    linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,0) 55%),
    linear-gradient(180deg,#8aa6d8,#7390c4);
}
.win__title-txt{ position:relative; z-index:1; }
.win__btns{ position:relative; z-index:1; }

/* ---- window control buttons: glassy pills ---- */
.win__btn{
  width:22px; height:21px; border:1px solid rgba(255,255,255,.85); border-radius:3px;
  background:linear-gradient(180deg,#6fa3ec 0%,#3c74de 48%,#2a63d6 52%,#4d8aea 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 1px 2px rgba(0,0,0,.25);
  transition:filter .1s, transform .06s;
}
.win__btn:hover{ filter:brightness(1.15); }
.win__btn:active{ transform:translateY(1px); filter:brightness(.95); }
.win__btn--close{ background:linear-gradient(180deg,#f6a98f 0%,#e2603a 48%,#d24a26 52%,#ef7a55 100%); }

/* ---- minimize / restore flight (driven inline by os.js) ---- */
.win{ transition:box-shadow .15s; }

/* ---- desktop icons: smooth selection ---- */
.icon{ transition:background .12s, border-color .12s, transform .08s; border-radius:4px; }
.icon:hover{ background:rgba(60,120,210,.30); border-color:rgba(255,255,255,.35); }
.icon:active{ transform:scale(.95); }
.icon.active{ background:rgba(49,106,197,.55); border:1px dotted rgba(255,255,255,.75); }
.icon.active .icon__label{ background:var(--sel); border-radius:2px; }
.icon__img{ transition:transform .12s; }
.icon:hover .icon__img{ transform:scale(1.06); }

/* ---- dropdown menus: left rail + gradient hover ---- */
.dropdown__menu{
  border:1px solid #6f6f6f; border-top-color:#fff; border-left-color:#fff;
  box-shadow:4px 5px 14px rgba(0,0,0,.45); border-radius:0 0 3px 3px;
  padding:3px 3px 3px 0; overflow:hidden;
}
.dropdown__menu::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:26px;
  background:linear-gradient(180deg,#e9e6d6,#d9d5c4); border-right:1px solid #cfcabb;
}
.dropdown__item, .dropdown__head, .dropdown__sep{ position:relative; margin-left:26px; }
.dropdown__item{ border-radius:3px; transition:background .08s; }
.dropdown__item:hover{ background:linear-gradient(180deg,#3a7be8,#2257c8); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.3); }

/* ---- taskbar: pearl gloss + top highlight ---- */
.taskbar{
  background-color:#2261d2;   /* непрозрачная подложка против глитча композитинга */
  background-image:linear-gradient(180deg,#3f8df0 0,#2a6ad8 8%,#245fd4 46%,#1f5acb 54%,#2261d2 92%,#1c52bf 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), inset 0 2px 4px rgba(120,170,255,.4);
  border-top:1px solid #6aa6f4;
}
.taskitem{ transition:filter .1s, transform .06s; box-shadow:inset 0 1px 0 rgba(255,255,255,.25); }
.taskitem:hover{ filter:brightness(1.1); }
.taskitem:active{ transform:translateY(1px); }

/* ---- start button: glossy green orb ---- */
.start{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg,#7ed47e 0%,#4ba84b 45%,#3c8b3c 55%,#2f7a2f 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), inset 0 -2px 4px rgba(0,40,0,.35), 1px 0 3px rgba(0,0,0,.3);
  transition:filter .12s, transform .06s;
}
.start::after{ content:""; position:absolute; left:0; right:0; top:0; height:50%;
  background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,0)); pointer-events:none; }
.start:hover{ filter:brightness(1.1); }
.start:active{ transform:translateY(1px); }

/* ---- generic buttons: press feedback ---- */
.btn{ transition:filter .1s, transform .05s, background .12s; }
.btn:active{ transform:translateY(1px); }
.btn--primary:active, .btn--tg:active{ filter:brightness(.95); }

/* ---- menu bar: subtle depth ---- */
.menubar{ box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 1px 3px rgba(0,0,0,.15); }
.menu-item{ transition:background .1s; }
.menu-item:hover,.menu-item.open{ background:linear-gradient(180deg,#3a7be8,#2257c8); box-shadow:inset 0 1px 0 rgba(255,255,255,.3); }

/* respect reduced motion */
@media (prefers-reduced-motion:reduce){
  .desktop::after, .mascot, .crt-flicker, .banner, .menubar__banner{ animation:none !important; }
  .win{ animation:none !important; }
}

/* ---- gallery (Портфолио → Фото) ---- */
.gallery{ display:flex; flex-direction:column; height:100%; }
.gallery__hint{ padding:7px 12px; font-size:12px; color:#444;
  background:linear-gradient(180deg,#fbfbfb,#ece9d8); border-bottom:1px solid #aca899; }
.gallery__grid{ flex:1; overflow:auto; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px;
  background:#fff; align-content:start; align-items:start; }
.gphoto{ width:100%; height:auto; display:block; border-radius:6px; border:1px solid #cdd6e6;
  cursor:zoom-in; transition:border-color .12s, box-shadow .12s; }
.gphoto--wide{ grid-column:1 / -1; }   /* 16:9 — на всю ширину */
.gphoto:hover{ border-color:#5a8fe0; box-shadow:0 3px 12px rgba(40,90,200,.25); }

/* ---- lightbox viewer ---- */
.lightbox{ position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center;
  background:rgba(5,12,40,.88); animation:lbIn .15s ease-out; }
@keyframes lbIn{ from{ opacity:0; } to{ opacity:1; } }
.lightbox .lb-img{ max-width:88vw; max-height:84vh; border-radius:6px;
  box-shadow:0 14px 50px rgba(0,0,0,.7); background:#000; }
.lightbox .lb-nav{ position:fixed; top:50%; transform:translateY(-50%); width:54px; height:80px;
  border:none; background:rgba(255,255,255,.14); color:#fff; font-size:42px; line-height:1; border-radius:8px;
  display:flex; align-items:center; justify-content:center; transition:background .12s; }
.lightbox .lb-nav:hover{ background:rgba(255,255,255,.32); }
.lightbox .lb-prev{ left:18px; }
.lightbox .lb-next{ right:18px; }
.lightbox .lb-close{ position:fixed; top:16px; right:18px; width:42px; height:42px; border:none; border-radius:50%;
  background:rgba(255,255,255,.16); color:#fff; font-size:20px; transition:background .12s; }
.lightbox .lb-close:hover{ background:#d24a26; }
.lightbox .lb-count{ position:fixed; bottom:20px; left:50%; transform:translateX(-50%); color:#fff;
  font-size:13px; background:rgba(0,0,0,.45); padding:5px 14px; border-radius:14px; font-variant-numeric:tabular-nums; }
@media (max-width:720px){
  .lightbox .lb-nav{ width:40px; height:64px; font-size:32px; }
  .lightbox .lb-prev{ left:6px; } .lightbox .lb-next{ right:6px; }
}
.lightbox .lb-dl{ position:fixed; top:16px; right:70px; width:42px; height:42px; border:none; border-radius:50%;
  background:rgba(255,255,255,.16); color:#fff; font-size:18px; transition:background .12s; }
.lightbox .lb-dl:hover{ background:rgba(255,255,255,.34); }

/* ---- desktop icons: free placement + drag + rename ---- */
.icons{ position:absolute; inset:36px 0 32px 0; display:block; max-height:none; transition:opacity .13s; }
.icon{ position:absolute; width:88px; }
.icon.dragging{ opacity:.82; z-index:1600; }
.icon__rename{ width:84px; font:inherit; font-size:12px; text-align:center; color:#000;
  border:1px solid #316ac5; border-radius:2px; padding:1px 2px; outline:none; }

/* ---- retro context menu ---- */
.ctxmenu{ position:fixed; z-index:8000; min-width:212px; background:var(--face); color:#111; font-size:12px;
  border:1px solid #6f6f6f; border-top-color:#fff; border-left-color:#fff;
  box-shadow:3px 4px 13px rgba(0,0,0,.42); padding:3px; user-select:none; }
.ctxmenu--sub{ position:absolute; left:100%; top:-4px; display:none; }
.ctxmenu__item{ display:flex; align-items:center; gap:9px; padding:5px 24px 5px 8px; border-radius:2px;
  white-space:nowrap; position:relative; }
.ctxmenu__item:hover:not(.disabled){ background:linear-gradient(180deg,#3a7be8,#2257c8); color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3); }
.ctxmenu__item.disabled{ color:#9a978c; }
.ctxmenu__item.has-sub:hover > .ctxmenu--sub{ display:block; }
.ctxmenu__ico{ width:16px; flex:0 0 16px; text-align:center; }
.ctxmenu__lbl{ flex:1; }
.ctxmenu__arr{ position:absolute; right:7px; font-size:10px; }
.ctxmenu__sep{ height:1px; background:#aca899; border-bottom:1px solid #fff; margin:3px 4px; }

/* ---- properties tables ---- */
.proptab{ width:100%; font-size:12px; border-collapse:collapse; }
.proptab td{ padding:3px 6px; vertical-align:top; }
.proptab td:first-child{ color:#555; width:44%; }

/* ---- wallpapers ---- */
#desktop:not(.wall-bliss)::before, #desktop:not(.wall-bliss)::after{ display:none; }
#desktop.wall-sunset{ background:linear-gradient(180deg,#241a48 0%,#6e3a7e 38%,#e07b46 74%,#ffd682 100%); }
#desktop.wall-matrix{ background:radial-gradient(circle at 50% 0%,#03240a,#000 78%); }
#desktop.wall-royale{ background:linear-gradient(180deg,#6aa0e0 0%,#356bbf 55%,#21509c 100%); }
#desktop.wall-night{ background:linear-gradient(180deg,#0a1430 0%,#182a5c 60%,#274484 100%); }

/* ---- Start menu ---- */
.start.on{ filter:brightness(1.15); box-shadow:inset 0 2px 6px rgba(0,0,0,.45); }
.startmenu{ position:fixed; left:4px; bottom:31px; z-index:7500; width:386px; background:#fff;
  border:1px solid #0a2a6a; border-radius:8px 8px 0 0; overflow:hidden; font-size:13px;
  box-shadow:0 -3px 26px rgba(0,0,0,.5); animation:smIn .14s ease-out; }
@keyframes smIn{ from{ transform:translateY(12px); opacity:.4; } to{ transform:translateY(0); opacity:1; } }
.sm-head{ background:linear-gradient(180deg,#3f8cf3,#1c52bf); color:#fff; display:flex; align-items:center;
  gap:10px; padding:9px 14px; font-weight:bold; font-size:15px; text-shadow:1px 1px 2px rgba(0,0,0,.4); }
.sm-ava{ width:34px; height:34px; background:#fff; border-radius:6px; display:flex; align-items:center;
  justify-content:center; font-size:21px; box-shadow:inset 0 0 0 2px #ffd34d; }
.sm-body{ display:flex; }
.sm-col{ flex:1; padding:6px; }
.sm-col--right{ background:#dce6f6; }
.sm-item{ display:flex; align-items:center; gap:9px; width:100%; text-align:left; border:none; background:none;
  padding:7px 8px; border-radius:4px; font-size:13px; color:#111; }
.sm-item:hover{ background:linear-gradient(180deg,#3a7be8,#2257c8); color:#fff; }
.sm-ico{ width:20px; text-align:center; font-size:16px; flex:0 0 20px; }
.sm-sep{ height:1px; background:#c3cee0; margin:5px 6px; }
.sm-foot{ display:flex; justify-content:flex-end; gap:8px; padding:8px 12px;
  background:linear-gradient(180deg,#2f6bd6,#1c52bf); }
.sm-foot-btn{ display:flex; align-items:center; gap:6px; border:none; background:rgba(255,255,255,.16);
  color:#fff; padding:6px 12px; border-radius:5px; font-size:12px; }
.sm-foot-btn:hover{ background:rgba(255,255,255,.32); }

/* ---- shutdown screen ---- */
.shutdown{ position:fixed; inset:0; z-index:9500; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 40%,#1a3a86,#050a2a 75%); animation:lbIn .3s ease-out; }
.shutdown__box{ text-align:center; color:#fff; }
.shutdown__logo{ font-size:46px; font-weight:800; letter-spacing:-2px; }
.shutdown__logo span{ color:#ffd34d; }
.shutdown__msg{ margin-top:14px; font-size:15px; opacity:.92; }
.shutdown__bar{ margin:22px auto 0; width:200px; height:12px; border:1px solid #3a63c8; border-radius:7px; overflow:hidden; padding:2px; }
.shutdown__bar i{ display:block; height:100%; width:40%; border-radius:6px;
  background:linear-gradient(90deg,#7fa8ff,#2f7bf6,#7fa8ff); background-size:200% 100%;
  animation:loadbar 1s linear infinite, sdfill 2s ease forwards; }
@keyframes sdfill{ from{ width:5%; } to{ width:100%; } }

/* ---- tray popups (volume / calendar) ---- */
.traypop{ position:fixed; z-index:7600; background:var(--face); padding:10px 12px; font-size:12px;
  border:1px solid #6f6f6f; border-top-color:#fff; border-left-color:#fff;
  box-shadow:3px 4px 14px rgba(0,0,0,.45); animation:smIn .12s ease-out; }
.traypop__t{ font-weight:bold; color:#0a2a6a; margin-bottom:6px; }
.traypop--vol{ width:184px; }
.traypop--vol input[type=range]{ width:100%; accent-color:#2257c8; }
.traypop__v{ text-align:center; margin-top:5px; font-variant-numeric:tabular-nums; }
.traypop--cal{ width:234px; }
.cal-time{ text-align:center; color:#444; margin-bottom:6px; font-variant-numeric:tabular-nums; }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; text-align:center; }
.cal-wd{ font-size:10px; color:#888; font-weight:bold; padding:2px 0; }
.cal-day{ padding:3px 0; border-radius:3px; }
.cal-day:hover{ background:#dbe7fb; }
.cal-today{ background:var(--sel); color:#fff; font-weight:bold; }

/* ---- show desktop button ---- */
.showdesk{ width:11px; height:24px; margin-left:3px; border:1px solid #1c52bf; border-left-color:#6aa6f4;
  border-radius:0 3px 3px 0; background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.05)); }
.showdesk:hover{ background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.2)); }
.recycle{ display:flex; flex-direction:column; height:100%; }
.slogan__legal{ display:block; margin-top:3px; font-size:9px; opacity:.8; text-transform:none; letter-spacing:0; }

/* ---- privacy / localStorage notice ---- */
.privacy-bar{ position:fixed; left:50%; bottom:38px; transform:translateX(-50%); z-index:6500;
  max-width:min(560px,92vw); display:flex; gap:10px; align-items:center; padding:9px 12px;
  background:var(--face); border:1px solid #6f6f6f; border-top-color:#fff; border-left-color:#fff;
  box-shadow:3px 4px 14px rgba(0,0,0,.4); font-size:12px; color:#111; }
.privacy-bar a{ color:#0a4ae0; cursor:pointer; }
.privacy-bar .btn{ padding:5px 14px; white-space:nowrap; }

/* ---- AGI·GO FM radio widget ---- */
.radio{ position:absolute; left:14px; bottom:44px; z-index:1300; width:248px;
  background:linear-gradient(180deg,#e9e6d8,#cfcabb); border:1px solid #6f6f6f; border-top-color:#fff;
  border-left-color:#fff; border-radius:7px; box-shadow:0 9px 24px rgba(0,0,0,.42); font-size:12px; user-select:none; }
.radio__top{ display:flex; align-items:center; gap:6px; padding:5px 6px 5px 9px; cursor:move; font-weight:bold;
  color:#fff; background:linear-gradient(180deg,#3f8cf3,#1c52bf); border-radius:6px 6px 0 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }
.radio__logo{ flex:1; text-shadow:1px 1px 1px rgba(0,0,0,.4); }
.radio__live{ font-size:9px; color:#9affb0; letter-spacing:.5px; }
.radio.playing .radio__live{ animation:radioLive 1.2s steps(2) infinite; }
@keyframes radioLive{ 50%{ opacity:.25; } }
.radio__min, .radio__close{ width:19px; height:17px; flex:0 0 auto; padding:0; display:flex;
  align-items:center; justify-content:center; border:1px solid #fff; border-radius:3px; color:#fff;
  font-weight:bold; line-height:1; font-size:12px; background:linear-gradient(180deg,#5a8fe0,#2f6bd6); }
.radio__min{ font-size:14px; padding-bottom:3px; }   /* «–» визуально центрируем по высоте */
.radio__min:hover{ filter:brightness(1.12); }
.radio__close{ background:linear-gradient(180deg,#f08a6c,#d24a26); }
.radio__close:hover{ filter:brightness(1.12); }
.radio__disp{ display:flex; align-items:center; gap:8px; margin:7px; padding:6px 8px; border-radius:4px;
  background:#06210a; border:1px solid #0a3a14; box-shadow:inset 0 0 8px rgba(0,255,80,.18); }
.radio__eq{ display:flex; align-items:flex-end; gap:2px; height:20px; }
.radio__eq i{ width:3px; height:4px; background:#39ff86; border-radius:1px; }
.radio.playing .radio__eq i{ animation:eq .8s ease-in-out infinite; }
.radio.playing .radio__eq i:nth-child(2){ animation-duration:.6s; }
.radio.playing .radio__eq i:nth-child(3){ animation-duration:1s; }
.radio.playing .radio__eq i:nth-child(4){ animation-duration:.5s; }
.radio.playing .radio__eq i:nth-child(5){ animation-duration:.7s; }
@keyframes eq{ 0%,100%{ height:4px; } 50%{ height:18px; } }
.radio__track{ flex:1; color:#39ff86; font-family:var(--mono); font-size:11px; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; text-shadow:0 0 6px rgba(57,255,134,.6); }
.radio__ctrl{ display:flex; align-items:center; gap:6px; padding:0 12px 10px; }
.radio__btn{ width:26px; height:22px; flex:0 0 auto; border:1px solid #2e57b8; border-radius:4px; font-size:12px;
  background:linear-gradient(180deg,#fdfefe,#cfe0fa); color:#0a2a6a; }
.radio__btn:hover{ filter:brightness(1.06); } .radio__btn:active{ transform:translateY(1px); }
.radio__play{ font-weight:bold; }
.radio__vol{ flex:1 1 0; min-width:0; accent-color:#2257c8; }
.radio.collapsed{ width:178px; }
.radio.collapsed .radio__disp, .radio.collapsed .radio__ctrl{ display:none; }
.radio.collapsed .radio__live{ display:none; }
.radio.collapsed .radio__top{ border-radius:6px; }
.radio.collapsed .radio__logo{ cursor:pointer; }
@media (max-width:720px){ .radio{ left:6px; bottom:40px; width:184px; } }

/* ============ ✨ XP-ДЕТАЛИ (балун, рамка выделения, крэш-диалог) ============ */
.balloon{
  position:fixed; right:10px; bottom:42px; z-index:7500; max-width:300px;
  background:#FFFFE1; border:1px solid #000; border-radius:9px; padding:9px 26px 10px 12px;
  font-size:12px; color:#000; box-shadow:3px 4px 12px rgba(0,0,0,.35);
  animation:balloonIn .25s ease-out; transition:opacity .4s, transform .4s;
}
.balloon::after{ /* хвостик к трею */
  content:""; position:absolute; right:26px; bottom:-11px; border:11px solid transparent;
  border-top-color:#FFFFE1; border-right-width:4px; border-left-width:14px;
  filter:drop-shadow(0 1px 0 #000);
}
.balloon.hide{ opacity:0; transform:translateY(8px); }
@keyframes balloonIn{ from{ opacity:0; transform:translateY(12px); } }
.balloon__t{ font-weight:bold; margin-bottom:3px; }
.balloon__b{ line-height:1.45; }
.balloon__x{ position:absolute; top:5px; right:5px; width:15px; height:15px; border:1px solid transparent;
  background:none; font-size:9px; line-height:1; padding:0; color:#000; border-radius:2px; }
.balloon__x:hover{ border-color:#8a8a6a; background:#f0f0c8; }

.rubber{
  position:fixed; z-index:950; pointer-events:none;
  background:rgba(49,106,197,.28); border:1px solid #316AC5;
}
.icon.sel{ background:rgba(49,106,197,.35); box-shadow:inset 0 0 0 1px rgba(120,170,255,.7); border-radius:4px; }

.crashdlg{
  position:fixed; inset:0; z-index:9600; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,20,.25);
}
.crashdlg__box{
  width:380px; max-width:92vw; background:var(--face); border:1px solid #0831d9; border-radius:8px 8px 3px 3px;
  box-shadow:4px 6px 22px rgba(0,0,0,.5); overflow:hidden;
}
.crashdlg__title{
  padding:6px 12px; color:#fff; font-weight:bold; font-size:13px;
  background:linear-gradient(180deg,#4a90f2 0%,#2f6bd6 48%,#1c52bf 100%);
}
.crashdlg__body{ padding:14px 16px; font-size:12.5px; line-height:1.5; background:#fff; }
.crashdlg__body small{ color:#777; }
.crashdlg__btns{ display:flex; gap:8px; justify-content:flex-end; padding:10px 12px; }

/* радио: кнопки ⏮ ▶ ⏭ строго по центру (флекс вместо «на глаз») */
.radio__btn{ display:flex; align-items:center; justify-content:center; padding:0; line-height:1; }

/* ============ Форма «Оставить заявку» ============ */
.lead{ display:flex; flex-direction:column; gap:6px; }
.lead__sub{ margin:0 0 4px; color:#555; font-size:12.5px; }
.lead__l{ font-size:11.5px; font-weight:bold; color:#0a2a6a; margin-top:6px; }
.lead__opt{ font-weight:normal; color:#999; }
.lead__in{ padding:9px 11px; border:1px solid #9fb0c8; border-radius:5px; font-size:14px;
  font-family:inherit; background:#fff; color:#111; outline:none; }
.lead__in:focus{ border-color:#2e57b8; box-shadow:0 0 0 2px rgba(46,87,184,.18); }
.lead__ta{ min-height:64px; resize:vertical; }
.lead__hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }   /* ловушка для ботов */
.lead__cart{ margin-top:6px; font-size:12px; color:#157a2b; background:#eef8ee;
  border:1px solid #bfe3bf; border-radius:6px; padding:7px 10px; }
.lead__agree{ display:flex; gap:8px; align-items:flex-start; margin-top:8px; font-size:11.5px;
  color:#555; line-height:1.45; cursor:pointer; }
.lead__agree input{ margin-top:2px; }
.lead__send{ margin-top:10px; padding:11px 16px; font-size:14px; }
.lead__note{ font-size:10.5px; color:#999; text-align:center; margin-top:4px; }
.lead__done{ text-align:center; font-size:15px; line-height:1.7; padding:60px 16px; }
