/* apps-catalog/_core/shell.css — стили общей оболочки страниц приложений.
 * Токены и вид шапки/подвала повторяют apps-module/assets/apps.css,
 * но не подключают его целиком: у иммерсивных страниц свой фон и свои правила body. */
:root{
  --fa-bg:#F6F7FB; --fa-surface:#fff; --fa-ink:#14151A; --fa-ink-soft:#5B5F6B;
  --fa-border:#E7E8F0; --fa-border-soft:#F0F1F7; --fa-coral:#FF4D6D;
  --fa-header-h:64px;
  --fa-ease:cubic-bezier(.16,1,.3,1);
}
.fa-logo{display:flex;flex-direction:column;line-height:.78;cursor:pointer;user-select:none;text-decoration:none;color:inherit}
.fa-logo .flip{font-family:'Unbounded',sans-serif;font-weight:900;font-size:22px;transform:rotate(180deg) scaleX(-1);transition:transform .5s var(--fa-ease),color .3s ease}
.fa-logo:hover .flip{transform:rotate(0) scaleX(1);color:var(--fa-coral)}
.fa-logo .app{font-family:'Unbounded',sans-serif;font-weight:400;font-size:11px;letter-spacing:.18em;margin-top:8px;opacity:.75}
.fa-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex:none;cursor:pointer;text-decoration:none;padding:0;font:inherit;transition:all .2s ease}
.fa-icon-btn svg{width:16px;height:16px;display:block}
.fa-lang{display:flex;gap:4px;border-radius:999px;padding:4px}
.fa-lang-btn{padding:6px 13px;border-radius:999px;font:600 12.5px 'Inter',sans-serif;text-decoration:none;transition:background .2s ease,color .2s ease}

/* ---------- standard ---------- */
html.fa-standard-html body.fa-standard{margin:0;background:var(--fa-bg);color:var(--fa-ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
.fa-standard .fa-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,4vw,56px);background:rgba(246,247,251,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--fa-border);flex-wrap:wrap;gap:12px;padding-top:calc(20px + env(safe-area-inset-top,0px))}
.fa-standard .fa-logo{color:var(--fa-ink)}
.fa-nav-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.fa-nav-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.fa-nav-link{position:relative;font-size:13.5px;font-weight:600;color:var(--fa-ink-soft);text-decoration:none;padding:4px 0}
.fa-nav-link:hover,.fa-nav-link.active{color:var(--fa-ink)}
.fa-nav-link.active{border-bottom:2px solid var(--fa-coral)}
.fa-standard .fa-icon-btn{border:1.5px solid var(--fa-border);background:var(--fa-surface);color:var(--fa-ink-soft)}
.fa-standard .fa-icon-btn:hover{border-color:var(--fa-coral);color:var(--fa-coral)}
.fa-standard .fa-lang{background:var(--fa-surface);border:1px solid var(--fa-border)}
.fa-standard .fa-lang-btn{color:var(--fa-ink-soft)}
.fa-standard .fa-lang-btn.active{background:var(--fa-ink);color:#fff}
.fa-standard .fa-lang-btn:hover:not(.active){background:var(--fa-border-soft)}
footer{margin-top:auto}
@media(max-width:760px){.fa-nav-links{display:none}}

/* ---------- immersive: прозрачная шапка поверх страницы ---------- */
.fa-imm-header{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  padding:10px clamp(14px,3vw,28px);padding-top:calc(10px + env(safe-area-inset-top,0px));padding-left:calc(clamp(14px,3vw,28px) + env(safe-area-inset-left,0px));padding-right:calc(clamp(14px,3vw,28px) + env(safe-area-inset-right,0px));
  background:transparent;pointer-events:none;color:#fff}
.fa-imm-header>*{pointer-events:auto}
.fa-imm-header .fa-logo{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.fa-imm-header{flex-wrap:wrap;gap:8px 12px}
.fa-imm-right{display:flex;align-items:center;gap:10px;margin-left:auto}
.fa-imm-tools{display:flex;align-items:center;gap:10px;margin-left:18px}
@media(max-width:760px){.fa-imm-tools{order:3;width:100%;margin-left:0}}
.fa-icon-btn .fa-lock-badge{position:absolute;right:-4px;bottom:-4px;width:15px;height:15px;border-radius:50%;background:var(--fa-coral);color:#fff;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(20,21,26,.9)}
.fa-icon-btn .fa-lock-badge svg{width:8px;height:8px}
.fa-icon-btn .fa-chat-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--fa-coral);color:#fff;font:700 10px/17px 'Inter',sans-serif;text-align:center;border:1.5px solid rgba(20,21,26,.9)}
.fa-icon-btn .fa-chat-badge[hidden]{display:none}
.fa-imm-header .fa-icon-btn{border:1.5px solid rgba(255,255,255,.55);background:rgba(20,21,26,.5);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fa-imm-header .fa-icon-btn:hover{background:var(--fa-coral);border-color:var(--fa-coral)}
.fa-imm-header .fa-lang{background:rgba(20,21,26,.5);border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fa-imm-header .fa-lang-btn{color:rgba(255,255,255,.85)}
.fa-imm-header .fa-lang-btn.active{background:#fff;color:var(--fa-ink)}
.fa-menu{position:absolute;right:clamp(14px,3vw,28px);top:calc(100% + 4px);min-width:220px;max-width:calc(100vw - 28px);background:var(--fa-surface);color:var(--fa-ink);border-radius:18px;box-shadow:0 24px 60px -20px rgba(20,21,26,.5);padding:8px;display:flex;flex-direction:column;font-family:'Inter',sans-serif}
.fa-menu[hidden]{display:none}
.fa-menu a,.fa-menu button{display:block;text-align:left;padding:10px 14px;border-radius:12px;border:0;background:none;font:600 14px 'Inter',sans-serif;color:var(--fa-ink);text-decoration:none;cursor:pointer}
.fa-menu a:hover,.fa-menu button:hover{background:var(--fa-border-soft)}
.fa-menu a.active{color:var(--fa-coral)}
.fa-menu-sub{border-top:1px solid var(--fa-border);margin-top:6px;padding-top:6px}
.fa-menu-sub a{font-weight:500;font-size:13px;color:var(--fa-ink-soft)}

/* ---------- служебные экраны ---------- */
.fa-message{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 20px}
.fa-message-card{max-width:520px;width:100%;background:var(--fa-surface);border:1px solid var(--fa-border);border-radius:28px;padding:36px 32px;text-align:center;box-shadow:0 30px 70px -30px rgba(20,21,26,.32)}
.fa-message-card h1{font-family:'Unbounded',sans-serif;font-size:clamp(20px,3.4vw,26px);margin:0 0 12px;letter-spacing:-.01em}
.fa-message-card p{color:var(--fa-ink-soft);font-size:15px;margin:0 0 22px}
.fa-message-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.fa-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:999px;border:1.5px solid var(--fa-ink);color:var(--fa-ink);font:700 13.5px 'Inter',sans-serif;text-decoration:none;transition:all .2s ease}
.fa-btn.primary{background:var(--fa-ink);color:#fff}
.fa-btn:hover{background:var(--fa-coral);border-color:var(--fa-coral);color:#fff}

/* ---------- экран загрузки демо (demo-kit.php) ---------- */
.fa-demo-loading{position:fixed;inset:0;z-index:150;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;font:800 22px/1.3 'Inter',Arial,sans-serif;letter-spacing:.02em;text-align:center;padding:20px}