/* Академия внутри игры: полоса под комнатой, тренажёры, баллы, значки. */
.world-col{min-width:0;display:flex;flex-direction:column}
.world-col>.world-wrap{width:100%;align-self:stretch}
.academy-strip{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;padding:16px;background:#f3eff8;border-top:1px solid var(--line);flex:1}
.academy-strip:empty{display:none}
.strip-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 15px;min-width:0}
.strip-card .eyebrow{display:block;margin-bottom:9px}
.strip-card p{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}
.strip-card a{color:var(--purple);font-weight:700}
.quests ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.quests li{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.3}
.quests li>span:nth-child(2){flex:1}
.quests li small{color:var(--muted);font-weight:700;white-space:nowrap}
.quests .tick{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #d8cfe6;display:grid;place-items:center;font-size:11px;color:#fff;font-weight:800}
.quests li.done .tick{background:#3aa17e;border-color:#3aa17e}
.quests li.done>span:nth-child(2){color:var(--muted);text-decoration:line-through}
.mini{border:0;background:#eee7fb;color:#5c3fb8;font:inherit;font-size:12px;font-weight:800;padding:6px 10px;border-radius:9px;cursor:pointer;white-space:nowrap}
.mini:hover{background:#e1d6fa}
.mini.wide{width:100%;margin-top:10px}
.rating ol{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.rating li{display:flex;align-items:center;gap:8px;font-size:13px;padding:5px 7px;border-radius:9px}
.rating li b{width:18px;color:var(--muted)}
.rating li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rating li strong{color:var(--purple)}
.rating li.me{background:#efe8fd}
.streak-row{display:flex;align-items:baseline;gap:8px}
.streak-row strong{font-size:30px;color:var(--purple);line-height:1}
.streak-row span{font-size:13px;color:var(--muted)}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.badge{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0edf4;color:#c4bccd;font-size:15px}
.badge.owned{background:linear-gradient(135deg,#8a64e6,#6c47d4);color:#fff;box-shadow:0 4px 12px #7854df40}
.academy-stat{color:inherit;text-decoration:none;margin-left:auto;background:#3a3460;border-radius:12px;padding:8px 13px}
.academy-stat:hover{background:#4a4274}
.academy-stat strong{color:#ffd88a}
/* Рабочий стол ноутбука с ярлыками тренажёров */
.desktop{border-radius:18px;overflow:hidden;background:#29243f;box-shadow:inset 0 0 0 6px #3a3458;color:#fff}
.desktop-bar{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#3a3458;font-size:13px}
.desktop-bar .dots{display:flex;gap:5px}.desktop-bar .dots i{width:9px;height:9px;border-radius:50%;background:#ff7a6e}.desktop-bar .dots i:nth-child(2){background:#ffc75a}.desktop-bar .dots i:nth-child(3){background:#5fd08e}
.desktop-bar b{flex:1;text-align:center;font-weight:700;letter-spacing:.02em;color:#d9d0f0}
.desktop-bar .chip{background:#ffd88a;color:#3b2c12;font-weight:800;border-radius:99px;padding:3px 10px;font-size:12px}
.desktop-body{position:relative;display:flex;gap:18px;padding:26px 24px 30px;min-height:300px;background:radial-gradient(circle at 80% 10%,#6b4fc9 0,#3d3375 45%,#2c2750 100%)}
.desktop-body::before{content:'';position:absolute;inset:auto -10% -40% 30%;height:220px;border-radius:50%;background:#8a6fe022;filter:blur(10px)}
.apps{position:relative;flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:18px 10px;align-content:start}
.app{border:0;background:none;color:#fff;font:inherit;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:6px 2px;border-radius:14px}
.app:hover{background:#ffffff14}.app:focus-visible{outline:2px solid #ffd88a}
.app-icon{position:relative;width:58px;height:58px;border-radius:16px;background:var(--app);display:grid;place-items:center;box-shadow:0 8px 18px #0004,inset 0 -3px 0 #0002}
.app-icon svg{width:32px;height:32px}
.app-icon em{position:absolute;right:-8px;top:-7px;font-style:normal;font-size:10px;font-weight:800;background:#ffd88a;color:#3b2c12;border-radius:99px;padding:2px 6px;box-shadow:0 2px 6px #0003}
.app-name{font-size:12.5px;font-weight:700;text-align:center;line-height:1.2;text-shadow:0 1px 3px #0006}
.sticky-note{position:relative;flex:none;align-self:flex-start;width:180px;background:#fff1a8;color:#4a3d16;padding:14px 14px 16px;border-radius:3px 3px 12px 3px;transform:rotate(2.5deg);box-shadow:0 10px 22px #0005;font-size:13px;line-height:1.4}
.sticky-note::before{content:'';position:absolute;top:-8px;left:50%;width:46px;height:16px;margin-left:-23px;background:#ffffff8c;transform:rotate(-3deg)}
.sticky-note b{display:block;margin-bottom:4px}.sticky-note p{margin:0}.sticky-note a{color:#6a48cf;font-weight:700}
.sticky-note.done{background:#c9f0d8;color:#1f4a36}
.desktop-dock{padding:9px 14px;background:#221e38;color:#b7add6;font-size:12px;text-align:center}
.app-window{flex:1;display:flex;flex-direction:column;min-height:0;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 5px #3a3458;background:#3a3458}
.app-titlebar{display:flex;align-items:center;gap:10px;padding:7px 10px;color:#fff;font-size:13px}
.app-titlebar b{flex:1;text-align:center}
.app-titlebar a{color:#ffd88a;text-decoration:none;font-weight:800;padding:2px 8px}
.app-back{border:0;background:#ffd88a;color:#3b2c12;font:inherit;font-weight:800;font-size:13px;border-radius:9px;padding:7px 14px;cursor:pointer;box-shadow:0 2px 8px #0003}
.app-back:hover{background:#ffe7b0}
dialog[data-kind="trainer"]{width:min(1200px,calc(100% - 20px));height:92dvh;max-height:92dvh;padding:14px;display:flex;flex-direction:column;overflow:hidden}
dialog[data-kind="trainer"] #panelBody{flex:1;display:flex;flex-direction:column;min-height:0}
.trainer-frame{flex:1;width:100%;min-height:0;border:0;background:#fff}
/* Shop groups */
.shop-group{margin:18px 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
/* Profile */
.badge-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.badge-list article{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;opacity:.55}
.badge-list article.owned{opacity:1;border-color:#c9b6f3;background:#f7f2ff}
.badge-list article>span{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;background:#eee7fb;color:#6a48cf;font-size:16px}
.badge-list article.owned>span{background:#7854df;color:#fff}
.badge-list small{display:block;color:var(--muted);font-size:12px}
.ledger{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.ledger li{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-bottom:1px solid var(--line);padding:6px 0}
.ledger b{color:#3a9f7c;white-space:nowrap}
.ledger b.minus{color:#c0584f}
.field{display:grid;gap:6px;font-size:13px;color:var(--muted);margin:10px 0}
.field textarea{font:inherit;border:1px solid var(--line);border-radius:12px;padding:10px;resize:vertical}
/* Путь стажёра и работа над ошибками */
.academy-strip .weak{grid-column:2/4}
.strip-card h4{margin:0 0 4px;font-size:15px}
.chapters small{display:block;margin-top:7px;color:var(--muted);font-size:12px}
.chapter-bar{height:7px;border-radius:9px;background:#ece6f4;margin:9px 0 0;overflow:hidden}.chapter-bar span{display:block;height:100%;background:linear-gradient(90deg,#8a64e6,#6c47d4);border-radius:9px}
.chapter-dots{display:flex;gap:6px;margin-top:10px}.chapter-dots span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:#f0edf4;color:#b3a9c2}.chapter-dots span.done{background:#3aa17e;color:#fff}
.weak-body{display:flex;gap:14px;align-items:stretch}.weak-body>div:last-child{flex:1;min-width:0}
.skillbars{display:flex;align-items:flex-end;gap:4px;height:64px;flex:none;padding-top:4px}.skillbars span{display:flex;align-items:flex-end;width:13px;height:100%;border-radius:5px;background:#f0edf4}.skillbars i{display:block;width:100%;border-radius:5px;background:#9d83e8}.skillbars span.weak i{background:#e0704f}
@media(max-width:1050px){.academy-strip{grid-template-columns:1fr 1fr}.academy-strip .quests{grid-column:1/3}.academy-strip .weak{grid-column:auto}}
@media(max-width:760px){
  .academy-strip{grid-template-columns:1fr;padding:12px;gap:10px}.academy-strip .quests{grid-column:auto}.academy-strip .weak{grid-column:auto}
  .academy-stat{padding:6px 8px;margin-left:0}
  .desktop-body{flex-direction:column;padding:18px 14px}.sticky-note{width:auto;transform:rotate(1deg)}.apps{grid-template-columns:repeat(3,1fr)}
  .badge-list{grid-template-columns:1fr}
  dialog[data-kind="trainer"]{width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:8px}
}
.ledger b.zero{color:var(--muted);font-weight:600}
.shop-group+.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.shop-group+.shop-grid .shop-item{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto 1fr auto;column-gap:12px;padding:14px;border-radius:16px}
.shop-group+.shop-grid .shop-icon{grid-row:1/3;width:44px;height:44px;border-radius:12px;background:#eee7fb;color:#6a48cf;display:grid;place-items:center;font-size:21px;margin:0}
.shop-group+.shop-grid .shop-item h3{margin:2px 0 4px;font-size:15px}
.shop-group+.shop-grid .shop-item p{margin:0;font-size:12.5px;line-height:1.4;color:var(--muted)}
.shop-group+.shop-grid .shop-item button{grid-column:1/3;margin-top:12px;min-height:38px;padding:8px}
@media(max-width:900px){.shop-group+.shop-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.shop-group+.shop-grid{grid-template-columns:1fr}}

.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

/* Задание дня и серия */
.quests li.featured{background:linear-gradient(90deg,#f3ecff,#fff7e6);border-radius:11px;padding:8px 9px;margin:0 -2px 3px;font-weight:700}
.quests li.featured.done{background:#e8f6ef}
.quests .bonus{font-style:normal;font-size:11px;font-weight:800;color:#a8620c;background:#ffe9c4;border-radius:7px;padding:3px 6px;white-space:nowrap}
.quests li.done .bonus{background:#d3efe2;color:#2d7a5c}
.streak-note{margin-top:8px!important;font-size:12px!important}
.streak-note.warn{color:#b4531f!important;font-weight:700}
.streak-note.ok{color:#2d7a5c!important}
/* Шкала доверия клиента в звонке */
.trust{display:flex;align-items:center;gap:12px;margin:14px 0 8px;padding:10px 13px;border-radius:14px;background:#f4f1f9;border:1px solid var(--line)}
.trust-face{font-size:30px;line-height:1;flex:none;transition:transform .3s}
.trust.rose .trust-face{animation:trustHop .5s}
.trust.fell .trust-face{animation:trustShake .5s}
.trust-main{flex:1;min-width:0}
.trust-top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.trust-top b{font-size:10px;letter-spacing:1.3px;color:var(--muted);text-transform:uppercase}
.trust-top em{font-style:normal;font-size:13px;font-weight:800}
.trust-delta{margin-left:auto;font-size:12px;border-radius:8px;padding:2px 8px;animation:trustPop .5s}
.trust-delta.up{background:#d3efe2;color:#22704f}
.trust-delta.down{background:#fbdcd5;color:#a3361d}
.trust-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.trust-bar i{height:9px;border-radius:5px;background:#e2dcec;transition:background .3s}
.trust.low .trust-bar i.on{background:#e0584a}
.trust.mid .trust-bar i.on{background:#e9a53a}
.trust.good .trust-bar i.on{background:#3aa17e}
.trust-bar i.moved{animation:trustSeg .6s}
.trust.low{background:#fdf1ee}
.trust.good{background:#eef8f3}
@keyframes trustHop{40%{transform:translateY(-7px) scale(1.15)}}
@keyframes trustShake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
@keyframes trustPop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15)}}
@keyframes trustSeg{0%{transform:scaleY(2.2)}100%{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.trust *{animation:none!important}}
/* Обучение */
.tour{display:flex;gap:20px;align-items:center;margin:6px 0 14px}
.tour-yasha{position:relative;flex:none;width:120px}
.tour-yasha img{width:100%;display:block}
.tour-icon{position:absolute;right:-6px;top:-4px;width:42px;height:42px;border-radius:50%;background:#7854df;color:#fff;font-size:21px;display:grid;place-items:center;box-shadow:0 5px 14px #7854df55}
.tour-text h2{margin:0 0 8px;font-size:24px;letter-spacing:-.5px}
.tour-text p{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}
.tour-dots{display:flex;gap:7px;justify-content:center;margin:4px 0 14px}
.tour-dots i{width:9px;height:9px;border-radius:50%;background:#ddd5ea}
.tour-dots i.done{background:#b9a3f0}
.tour-dots i.on{background:#7854df;width:24px;border-radius:5px}
@media (max-width:560px){.tour{flex-direction:column;text-align:center}.tour-yasha{width:100px}}
/* Музыка в игре */
.music-control{display:inline-flex;align-items:center;gap:10px}
.music-control input[type=range]{width:92px;accent-color:#7854df;cursor:pointer}
.music-control input[hidden]{display:none}
@media (max-width:560px){.music-control input[type=range]{width:70px}}
