/* AI Notebook Web Rescue Layer — shared, restrained, production UI */
:root {
  --rescue-ink: var(--text);
  --rescue-muted: var(--text-dim);
  --rescue-subtle: var(--text-muted);
  --rescue-surface: var(--surface);
  --rescue-surface-2: var(--surface-raised);
  --rescue-line: var(--border);
  --rescue-line-strong: var(--border-strong);
  --rescue-accent: var(--accent);
  --rescue-accent-2: var(--accent-2);
  --rescue-radius: var(--radius-lg);
  --rescue-shadow: var(--shadow-lg);
}
* { box-sizing: border-box; }
body { background: var(--page-bg); color: var(--rescue-ink); }
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background: var(--grad-mesh); }
/* branded boot transition */
.ainb-boot { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; background:var(--bg-0); transition:opacity var(--dur-base) var(--ease-smooth), visibility var(--dur-base) var(--ease-smooth); }
.ainb-boot.is-out { opacity:0; visibility:hidden; pointer-events:none; }
.ainb-boot-card { display:flex; align-items:center; gap:13px; color:var(--text); font:700 1rem Inter,system-ui,sans-serif; letter-spacing:-.02em; }
.ainb-boot-card img { width:42px; height:42px; object-fit:contain; border-radius:var(--radius-md); filter:drop-shadow(0 8px 18px var(--accent-ring)); }
.ainb-boot-card span { display:grid; gap:4px; }
.ainb-boot-card small { color:var(--text-muted); font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
/* shared shell */
.app-shell { min-height:100dvh; }
.sidebar { background:var(--surface-glass) !important; border-right:1px solid var(--rescue-line) !important; box-shadow:10px 0 40px rgba(0,0,0,.12); backdrop-filter:blur(22px); }
.content { max-width:1500px; }
.topbar { padding-top:clamp(1.2rem,3vw,2.8rem) !important; }
.topbar h1 { color:var(--rescue-ink) !important; font-size:clamp(1.55rem,2.2vw,2.3rem) !important; letter-spacing:-.055em; }
.eyebrow { color:var(--rescue-accent) !important; letter-spacing:.15em !important; font-size:.64rem !important; font-weight:800 !important; }
.sub, .panel-head span, .section-title p { color:var(--rescue-muted) !important; }
.glass, .panel, .stat-card, .workspace-card, .ws-card, .trend-card, .ach-card { background:var(--rescue-surface) !important; border:1px solid var(--rescue-line) !important; border-radius:var(--rescue-radius) !important; box-shadow:none !important; backdrop-filter:blur(18px); }
.glass:hover, .panel:hover, .ws-card:hover, .trend-card:hover { border-color:var(--rescue-line-strong) !important; }
.btn { border-radius:var(--radius-md) !important; border:1px solid var(--rescue-line-strong) !important; font-weight:750 !important; transition:transform var(--dur-fast) var(--ease-smooth), border-color var(--dur-fast) var(--ease-smooth), background var(--dur-fast) var(--ease-smooth) !important; }
.btn:hover { transform:translateY(-1px); border-color:var(--accent-ring) !important; }
.btn.primary, .btn:not(.ghost):not(.small) { background:var(--grad-primary) !important; color:#fff !important; border-color:transparent !important; }
input, textarea, select { background:var(--glass) !important; border-color:var(--rescue-line) !important; color:var(--rescue-ink) !important; border-radius:var(--radius-md) !important; }
input:focus, textarea:focus, select:focus { border-color:var(--rescue-accent) !important; box-shadow:0 0 0 3px var(--accent-ring) !important; outline:none; }
/* dashboard */
.learn-launcher { padding:clamp(1.1rem,2.2vw,1.6rem) !important; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,var(--surface)),var(--surface)) !important; border-color:var(--accent-ring) !important; }
.learn-launcher h2 { color:var(--text) !important; letter-spacing:-.035em; }
.learn-launcher p { color:var(--text-dim) !important; max-width:650px; }
.ll-form { background:color-mix(in srgb,var(--bg-0) 75%,transparent) !important; border:1px solid var(--rescue-line-strong) !important; border-radius:var(--radius-md) !important; padding:6px !important; }
.ll-form input { background:transparent !important; border:0 !important; box-shadow:none !important; }
.stats-grid { gap:12px !important; }
.stat-card { min-height:126px; padding:18px !important; }
.stat-card .ic { background:var(--accent-soft) !important; color:var(--rescue-accent) !important; border-radius:var(--radius-md) !important; }
.stat-card b { color:var(--rescue-ink) !important; font-size:1.7rem !important; }
.stat-card span { color:var(--rescue-muted) !important; }
.section-title { margin-top:2.2rem !important; }
.section-title h2, .panel-head h3 { color:var(--rescue-ink) !important; letter-spacing:-.035em; }
.workspace-grid, .trending-grid, .achievements { gap:12px !important; }
.ws-card { min-height:150px !important; padding:18px !important; text-align:left; }
.ws-card .ws-ic { background:var(--accent-soft) !important; color:var(--rescue-accent) !important; border-radius:var(--radius-md) !important; }
.ws-card b { color:var(--rescue-ink) !important; }
.ws-card p { color:var(--rescue-muted) !important; line-height:1.5 !important; }
.trend-card { min-height:104px !important; border:0 !important; box-shadow:inset 0 -45px 70px rgba(0,0,0,.3) !important; }
.panel-head { border-bottom:1px solid var(--rescue-line); padding-bottom:12px; }
.recent-item { border-color:var(--rescue-line) !important; }
/* auth surfaces */
.auth-page, .auth-shell { background:transparent !important; }
.auth-card, .auth-panel, .auth-visual { border-color:var(--rescue-line) !important; border-radius:24px !important; box-shadow:var(--rescue-shadow) !important; }
.auth-card { background:var(--rescue-surface) !important; }
.auth-visual { background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 28%,var(--surface)),var(--surface) 80%) !important; }
.auth-card h1, .auth-card h2 { letter-spacing:-.05em; color:var(--rescue-ink) !important; }
/* chat */
.chat-app { background:var(--bg-0) !important; }
.chat-side { background:var(--surface-glass) !important; border-right:1px solid var(--rescue-line) !important; }
.chat-top { background:var(--nav-bg) !important; border-bottom:1px solid var(--rescue-line) !important; backdrop-filter:blur(18px); }
.chat-top h1, .chat-top .title { color:var(--rescue-ink) !important; }
.chat-list-item { border-radius:11px !important; color:var(--rescue-muted) !important; }
.chat-list-item.active, .chat-list-item:hover { background:var(--accent-soft) !important; color:var(--text) !important; }
.messages { padding-top:clamp(28px,5vw,58px) !important; }
.msg.user .bubble { background:var(--accent-soft) !important; border-color:var(--accent-ring) !important; }
.msg.assistant .body { color:#dfe2ef !important; }
.composer { background:var(--page-bg) !important; border-top:1px solid var(--rescue-line) !important; }
.composer-form { border-color:var(--rescue-line-strong) !important; background:var(--surface-raised) !important; border-radius:var(--radius-lg) !important; }
/* tools/topics/profile */
.tools-nav, .topic-tabs, .settings-card, .profile-card, .tool-card, .topic-panel { background:var(--rescue-surface) !important; border-color:var(--rescue-line) !important; border-radius:var(--rescue-radius) !important; }
.tool-card:hover, .topic-tab:hover, .topic-tab.active { border-color:var(--accent-ring) !important; }
.tool-card h3, .topic-panel h2, .settings-card h3 { color:var(--rescue-ink) !important; }
.tool-card p, .topic-panel p { color:var(--rescue-muted) !important; }
/* mobile */
@media (max-width:900px) { .content { padding-inline:clamp(14px,4vw,28px) !important; } .topbar { gap:16px; } .ll-form { flex-wrap:wrap; } .ll-form input { min-width:0; flex:1 1 210px; } }
@media (max-width:600px) { .topbar h1 { font-size:1.55rem !important; } .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .stat-card { min-height:110px; padding:13px !important; } .workspace-grid { grid-template-columns:1fr !important; } .learn-launcher { border-radius:16px !important; } .ll-form .btn { width:100%; } .chat-empty { padding-top:42px !important; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.001ms !important; transition-duration:.001ms !important; } }
