.ts-app-card{background:#fff;border:1px solid #bfdbfe;border-radius:14px;padding:12px 14px;margin:12px 0;box-shadow:0 6px 18px -12px rgba(29,78,216,.45);color:#0f172a}.ts-app-head{display:flex;gap:12px;align-items:center}.ts-app-head img{width:44px;height:44px;border-radius:10px;flex:none;border:1px solid #e2e8f0}.ts-app-head>div{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px}.ts-app-head b{font-size:.98rem}.ts-app-head small{color:#475569;font-size:.82rem;line-height:1.35}.ts-app-close{background:none;border:none;color:#64748b;font-weight:700;cursor:pointer;padding:4px 6px;align-self:flex-start}.ts-app-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ts-app-actions button{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:10px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer}.ts-app-actions button.primary{background:#1d4ed8;border-color:transparent;color:#fff}.ts-app-actions button:disabled{opacity:.6;cursor:default}.ts-app-hint{margin:8px 0 0;font-size:.83rem;color:#475569;line-height:1.45}.ts-app-msg{margin:8px 0 0;font-size:.86rem;font-weight:600;color:#15803d}.ts-app-msg.err{color:#b91c1c}.ip-shell .ts-app-card{max-width:1680px;margin:14px auto 0;width:calc(100% - 48px)}@media (max-width:640px){.ip-shell .ts-app-card{width:calc(100% - 32px)}}.ts-install-btn{border:1.5px solid #1843a1;background:#fff;color:#1843a1;border-radius:8px;padding:9px 14px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}.ts-install-btn:hover{background:#1843a1;color:#fff}.ts-install-overlay{position:fixed;inset:0;background:rgba(15,23,42,.6);display:grid;place-items:center;z-index:2000;padding:16px}.ts-install-modal{background:#fff;color:#0f172a;border-radius:16px;padding:18px;width:min(440px,100%);box-shadow:0 24px 60px -20px rgba(15,23,42,.6);text-align:left}.ts-install-modal ol{margin:14px 0;padding-left:20px;display:grid;grid-gap:8px;gap:8px;font-size:.92rem;line-height:1.45}.ts-install-modal button.primary{width:100%;text-align:center;border:none;border-radius:10px;padding:11px;background:#1d4ed8;color:#fff;font:inherit;font-weight:700;cursor:pointer}.ts-install-bar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:1500;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #bfdbfe;border-radius:18px;padding:10px 10px 10px 12px;box-shadow:0 14px 40px -12px rgba(15,23,42,.45);color:#0f172a;animation:ts-bar-in .35s ease-out}.ts-install-bar img{width:46px;height:46px;border-radius:12px;border:1px solid #e2e8f0;flex:none}.ts-install-bar>div{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px}.ts-install-bar b{font-size:1rem}.ts-install-bar small{font-size:.78rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-install-bar-go{border:none;border-radius:12px;padding:13px 18px;background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff;font:inherit;font-weight:800;box-shadow:0 6px 16px -6px rgba(29,78,216,.8);animation:ts-bar-pulse 2.2s ease-in-out 1s infinite}.ts-install-bar-go,.ts-install-bar-x{flex:none;font-size:1rem;cursor:pointer}.ts-install-bar-x{border:none;background:none;color:#94a3b8;font-weight:700;padding:8px 4px}@keyframes ts-bar-in{0%{transform:translateY(120%);opacity:0}to{transform:none;opacity:1}}@keyframes ts-bar-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.ts-install-bar,.ts-install-bar-go{animation:none}}html.ts-install-bar-on .fab-wrap,html.ts-install-bar-on .seasonal-notice{bottom:calc(92px + env(safe-area-inset-bottom))!important}html.ts-install-bar-on body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.ts-ios-arrow{position:fixed;left:50%;bottom:calc(6px + env(safe-area-inset-bottom));transform:translateX(-50%);font-size:64px;line-height:1;color:#ef4444;text-shadow:0 2px 8px rgba(0,0,0,.4);animation:ts-arrow 1s ease-in-out infinite;pointer-events:none}@keyframes ts-arrow{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,10px)}}.ts-share-ico{display:inline-grid;place-items:center;width:22px;height:22px;border:1.5px solid #1d4ed8;border-radius:6px;color:#1d4ed8;font-size:13px;vertical-align:-4px}.ts-install-modal ol b{color:#1d4ed8}.ts-install-modal button+button{margin-top:8px}.ts-install-secondary{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:11px;background:#fff;color:#334155;font:inherit;font-weight:700;cursor:pointer}.ts-install-btn.big{background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:14px;padding:15px 22px;font-size:1.05rem;font-weight:800;box-shadow:0 10px 24px -10px rgba(29,78,216,.9)}.ts-install-btn.big:hover{background:#1e40af;color:#fff}