
:root{
  --brand:#5b8def; --brand-700:#4a78d8; --brand-50:rgba(91,141,239,0.12); --brand-ring:rgba(91,141,239,0.30);
  --accent:#f97316; --accent-700:#ea7313; --accent-50:rgba(249,115,22,0.12);
  --amber:#fbbf24;
  --indigo:#818cf8; --indigo-50:rgba(129,140,248,0.14);
  --bg:#0b0d12; --surface:#14171f; --surface-2:#1b1f29; --border:rgba(255,255,255,0.09); --border-strong:rgba(255,255,255,0.16);
  --text:#e7e9ee; --text-2:#a6adba; --text-3:#6b7280;
  --r-sm:8px; --r:12px; --r-lg:16px; --r-pill:999px;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:28px; --s-7:40px;
  --sh-1:0 1px 2px rgba(0,0,0,.4); --sh-2:0 6px 20px rgba(0,0,0,.5); --sh-3:0 12px 32px rgba(0,0,0,.6);
  --fs-hero:30px; --fs-h1:26px; --fs-h2:18px; --fs-card:16px; --fs-body:14px; --fs-sm:13px; --fs-xs:12px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; color:var(--text); background:var(--bg); line-height:1.6; font-size:var(--fs-body); -webkit-font-smoothing:antialiased; overflow-wrap:break-word; word-break:break-word; }
a { color:var(--brand); }
.wrap { max-width:1080px; margin:0 auto; padding:0 20px; }

/* ===== Header ===== */
header.site { background:linear-gradient(180deg,#0e1118,#0b0d12); color:#fff; padding:18px 0; border-bottom:1px solid var(--border); box-shadow:var(--sh-2); }
header.site .wrap.site-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
header.site .logo { color:#fff; font-size:20px; font-weight:700; text-decoration:none; letter-spacing:.2px; }
header.site .logo span { font-weight:400; opacity:.85; font-size:15px; }
header.site .tag { margin:6px 0 0; opacity:.9; font-size:13px; }
header.site .tool-link { color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.18); padding:8px 16px; border-radius:var(--r-pill); font-size:14px; font-weight:500; transition:.18s; }
header.site .tool-link:hover, header.site .tool-link.active { background:var(--surface); color:var(--brand); }

/* ===== Nav ===== */
nav.cats { background:rgba(11,13,18,.82); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:20; }
nav.cats .wrap { display:flex; gap:8px; flex-wrap:wrap; padding:10px 20px; align-items:center; }
.navlink { font-family:inherit; cursor:pointer; background:var(--surface); color:var(--text-2); text-decoration:none; padding:7px 14px; border-radius:var(--r-pill); font-size:13px; border:1px solid var(--border); transition:.18s; }
.navlink:hover { border-color:var(--brand); color:var(--brand); }
.navlink.active { background:var(--brand-50); color:var(--brand); border-color:transparent; font-weight:600; }
.navlink.pick-btn { border-color:var(--accent); color:var(--accent); font-weight:600; }
.navlink.pick-btn:hover { background:var(--accent-50); border-color:var(--accent); color:var(--accent); }
.navlink.pick-btn.active { background:var(--accent); color:#fff; border-color:var(--accent); }
.navlink .count { opacity:.7; font-size:12px; margin-left:5px; }

/* ===== Hero / 首页首屏 ===== */
.hero { padding:var(--s-6) 0 var(--s-4); }
.hero h1 { margin:0 0 8px; font-size:var(--fs-hero); font-weight:700; letter-spacing:-.2px; line-height:1.3; }
.hero-sub { margin:0 0 16px; color:var(--text-2); font-size:15px; max-width:700px; }
.search-wrap { position:relative; }
.search-wrap::before { content:"🔍"; position:absolute; left:15px; top:50%; transform:translateY(-50%); font-size:15px; opacity:.55; pointer-events:none; }
#search { width:100%; padding:14px 120px 14px 44px; font-size:15px; border:1px solid var(--border-strong); border-radius:var(--r); outline:none; background:var(--surface); transition:.18s; box-shadow:var(--sh-1); color:var(--text); }
#search:focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-ring); }
.pick-toggle { position:absolute; right:8px; top:50%; transform:translateY(-50%); background:none; border:1px solid var(--accent); color:var(--accent); padding:5px 12px; border-radius:var(--r-pill); font-size:12px; cursor:pointer; font-weight:600; font-family:inherit; transition:.18s; white-space:nowrap; }
.pick-toggle:hover { background:var(--accent-50); }
.pick-toggle.active { background:var(--accent); color:#fff; }
.cat-quick { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0 4px; }
.cat-card { display:flex; align-items:center; justify-content:space-between; gap:8px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:14px 16px; text-decoration:none; color:var(--text); font-weight:600; font-size:15px; transition:.18s; box-shadow:var(--sh-1); min-width:0; overflow:hidden; }
.cat-card .em { color:var(--brand); font-style:normal; font-weight:700; font-size:14px; }
.cat-card:hover { border-color:var(--brand); box-shadow:var(--sh-3); transform:translateY(-2px); }
.cta-tool { display:flex; align-items:center; gap:8px; background:var(--accent-50); color:var(--accent); border:1px solid rgba(249,115,22,.35); border-radius:var(--r); padding:13px 16px; margin:18px 0 4px; font-weight:600; text-decoration:none; transition:.18s; box-shadow:var(--sh-1); }
.cta-tool:hover { box-shadow:var(--sh-2); border-color:var(--accent); transform:translateY(-1px); }
.cta-tool .arrow { margin-left:auto; font-weight:700; }

/* ===== AI 对话框（首页 hero 下方居中） ===== */
.ai-chat { padding:var(--s-6) 0 var(--s-5); background:radial-gradient(1200px 520px at 50% -120px, rgba(91,141,239,0.12), transparent 70%), #0b0d12; }
.ai-chat-inner { max-width:920px; margin:0 auto; padding:0 20px; }
.ai-hd { text-align:center; margin-bottom:32px; transition:opacity .25s, transform .25s; }
.ai-chat-inner.active .ai-hd { opacity:0; transform:translateY(-12px); pointer-events:none; height:0; margin:0; overflow:hidden; }
.ai-badge { display:inline-flex; align-items:center; gap:6px; background:var(--brand-50); color:var(--brand); border:1px solid var(--border); border-radius:var(--r-pill); padding:5px 12px; font-size:12px; font-weight:600; }
.ai-title { text-align:center; font-size:28px; font-weight:700; margin:14px 0 6px; letter-spacing:-.3px; line-height:1.25; }
.ai-sub { text-align:center; color:var(--text-2); font-size:16px; margin:0; }
.ai-msgs { display:flex; flex-direction:column; gap:14px; min-height:0; max-height:min(50vh,420px); overflow-y:auto; padding-right:8px; margin-bottom:16px; scroll-behavior:smooth; }
.ai-msgs:empty { display:none; }
.ai-chat-inner.active .ai-msgs { display:flex; max-height:min(58vh,520px); margin-top:0; }
.ai-msgs::-webkit-scrollbar { width:6px; }
.ai-msgs::-webkit-scrollbar-track { background:transparent; }
.ai-msgs::-webkit-scrollbar-thumb { background:var(--border-strong); border-radius:var(--r-pill); }
.ai-msg { display:flex; gap:10px; align-items:flex-start; }
.ai-msg.user { justify-content:flex-end; }
.ai-avatar { width:30px; height:30px; border-radius:50%; background:var(--brand-50); color:var(--brand); display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; border:1px solid var(--border); }
.ai-bubble { max-width:82%; padding:12px 14px; font-size:14px; line-height:1.65; border-radius:var(--r-lg); overflow-wrap:anywhere; }
.ai-msg.ai .ai-bubble { background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 4px; color:var(--text); }
.ai-msg.user .ai-bubble { background:var(--brand); color:#fff; border-radius:var(--r-lg) var(--r-lg) 4px var(--r-lg); }
.ai-prompt { display:block; background:#08090c; border:1px dashed var(--border-strong); border-radius:var(--r-sm); padding:10px 12px; margin-top:8px; color:var(--text-2); white-space:pre-wrap; font-size:13px; line-height:1.6; overflow-wrap:anywhere; word-break:break-word; }
.ai-copy { display:inline-block; margin-top:10px; background:var(--brand-50); color:var(--brand); border:1px solid var(--border); border-radius:var(--r-pill); padding:5px 14px; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; }
.ai-copy:hover { background:rgba(91,141,239,0.22); }
.ai-input-row { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:24px; padding:18px 18px 14px; box-shadow:var(--sh-1); transition:.18s; min-height:120px; }
.ai-input-row:focus-within { border-color:var(--border-strong); box-shadow:0 4px 24px rgba(0,0,0,0.4); }
.ai-input { flex:1; width:100%; border:none; outline:none; resize:none; font-size:16px; line-height:1.6; color:var(--text); background:transparent; font-family:inherit; min-height:54px; overflow-y:auto; scrollbar-width:none; -ms-overflow-style:none; }
.ai-input::-webkit-scrollbar { display:none; }
.ai-input:focus-visible { outline:none; }
.ai-input::placeholder { color:var(--text-3); }
.ai-input-bar { display:flex; justify-content:space-between; align-items:center; margin-top:12px; gap:12px; }
.ai-input-left { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-2); }
.ai-input-left .ai-model { display:inline-flex; align-items:center; gap:4px; background:rgba(255,255,255,0.06); border:1px solid var(--border); border-radius:var(--r-pill); padding:4px 10px; font-weight:600; color:var(--text-2); }
.ai-send { width:44px; height:44px; border-radius:50%; background:var(--brand); color:#fff; border:none; cursor:pointer; font-family:inherit; font-size:18px; display:flex; align-items:center; justify-content:center; transition:.18s; flex-shrink:0; }
.ai-send:hover { background:var(--brand-700); }
.ai-send:disabled { background:var(--text-3); cursor:not-allowed; }
.ai-chips { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; justify-content:center; align-items:center; }
.ai-chip-label { font-size:13px; color:var(--text-3); }
.ai-chip { display:inline-flex; align-items:center; gap:6px; background:var(--surface); color:var(--text-2); border:1px solid var(--border); border-radius:var(--r-pill); padding:7px 15px; font-size:13px; cursor:pointer; font-family:inherit; transition:.18s; }
.ai-chip:hover { border-color:var(--brand); color:var(--brand); background:var(--brand-50); }
.ai-note { text-align:center; color:var(--text-3); font-size:12px; margin:16px 0 0; }
.ai-set-row { text-align:center; margin-top:10px; }
.ai-set-link { background:none; border:none; color:var(--text-3); font-size:12px; cursor:pointer; font-family:inherit; text-decoration:underline; padding:0; }
.ai-set-link:hover { color:var(--brand); }
.ai-settings { margin:14px auto 0; display:flex; flex-direction:column; gap:8px; max-width:420px; }
.ai-key-input { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--border-strong); border-radius:var(--r-sm); font-size:14px; font-family:inherit; background:var(--surface); color:var(--text); outline:none; }
.ai-key-input:focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-ring); }
.ai-set-actions { display:flex; gap:8px; }
.ai-set-btn { flex:1; padding:9px; border-radius:var(--r-sm); font-size:13px; cursor:pointer; font-family:inherit; border:1px solid var(--border); background:var(--surface); color:var(--text); transition:.18s; }
.ai-set-btn.save { background:var(--brand); border-color:var(--brand); color:#fff; }
.ai-set-btn.save:hover { background:var(--brand-700); }
.ai-set-btn.clear:hover { border-color:var(--accent); color:var(--accent); }
.ai-set-hint { font-size:11px; color:var(--text-3); margin:0; text-align:center; line-height:1.5; }

/* ===== 卡片网格 ===== */
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:18px; padding:22px 0 44px; }
.card { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:18px; text-decoration:none; color:inherit; transition:.18s; box-shadow:var(--sh-1); }
.card:hover { border-color:var(--brand); box-shadow:var(--sh-3); transform:translateY(-3px); }
.badges { display:flex; gap:6px; margin-bottom:10px; flex-wrap:wrap; }
.badge { font-size:12px; padding:3px 9px; border-radius:var(--r-pill); background:rgba(255,255,255,0.06); color:var(--text-2); font-weight:500; }
.badge.cat { background:var(--brand-50); color:var(--brand); }
.badge.k { background:rgba(255,255,255,0.06); color:var(--text-2); }
.badge.sample { background:rgba(251,191,36,0.12); color:var(--amber); }
.badge.g { background:var(--indigo-50); color:var(--indigo); }
.badge.pick { background:var(--accent-50); color:var(--accent); font-weight:600; }
.badge.diff { background:rgba(255,255,255,0.06); color:var(--text-2); }
.stars { color:var(--amber); font-size:13px; letter-spacing:1px; }
.stars .empty { color:#4b5563; }
.usecase { background:var(--brand-50); border:1px solid var(--border); border-radius:var(--r-sm); padding:10px 12px; font-size:13px; color:var(--text-2); margin:12px 0; }
.usecase b { color:var(--brand); }
.related { margin-top:28px; padding-top:20px; border-top:1px solid var(--border); }
.related h2 { font-size:18px; margin:0 0 14px; }
.card h3 { margin:0 0 8px; font-size:var(--fs-card); font-weight:600; line-height:1.4; }
.card p { margin:0 0 12px; color:var(--text-2); font-size:var(--fs-sm); line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.card .meta { margin-top:auto; font-size:12px; color:var(--text-3); }

/* ===== 空状态 ===== */
.empty { text-align:center; color:var(--text-3); padding:48px 0; font-size:15px; }
.empty a { color:var(--brand); font-weight:600; }
.home-viewall { display:block; width:fit-content; margin:22px auto 0; padding:10px 22px; background:var(--surface); border:1px solid var(--brand); color:var(--brand); border-radius:var(--r-pill); font-size:14px; font-weight:600; cursor:pointer; transition:.18s; font-family:inherit; }
.home-viewall:hover { background:var(--brand); color:#fff; }

/* ===== 详情页 ===== */
main.wrap { padding-bottom:40px; }
.detail { padding:14px 0 40px; max-width:780px; margin:0 auto; }
.breadcrumb { display:flex; align-items:center; gap:12px; margin-bottom:20px; flex-wrap:wrap; }
.back-btn { display:inline-flex; align-items:center; gap:4px; background:var(--brand); color:#fff; text-decoration:none; padding:8px 16px; border-radius:var(--r-sm); font-size:14px; font-weight:600; transition:.18s; white-space:nowrap; }
.back-btn:hover { background:var(--brand-700); }
.crumb { font-size:13px; color:var(--text-3); }
.crumb a { color:var(--brand); text-decoration:none; }
.crumb a:hover { text-decoration:underline; }
.detail h1 { font-size:var(--fs-h1); margin:14px 0 10px; line-height:1.35; }
.detail .desc { color:var(--text-2); margin:8px 0; }
.detail .meta { font-size:13px; color:var(--text-3); margin-bottom:16px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.detail h2 { font-size:var(--fs-h2); margin:18px 0 8px; }
.copy-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--brand-50); border:1px solid var(--border); border-radius:var(--r); padding:12px 16px; margin:14px 0; }
.copy-bar .msg { font-size:13px; color:var(--brand); font-weight:600; display:flex; align-items:center; gap:6px; }
.copy-bar .msg .ok { color:#4ade80; }
.copy-btn { background:var(--brand); color:#fff; border:none; padding:9px 18px; border-radius:var(--r-sm); font-size:14px; cursor:pointer; font-weight:600; transition:.18s; white-space:nowrap; font-family:inherit; }
.copy-btn:hover { background:var(--brand-700); }
.code-card { border:1px solid var(--border); border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-1); }
.code-head { display:flex; align-items:center; justify-content:space-between; background:#161a22; color:#a6adba; padding:9px 14px; font-size:12px; }
.code-head .lang { letter-spacing:.5px; }
.code-head .copy-btn { background:#2a3140; padding:5px 12px; font-size:12px; }
.code-head .copy-btn:hover { background:#38415a; }
#prompt-content { background:#08090c; color:#e2e8f0; padding:16px; white-space:pre-wrap; word-break:break-word; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; overflow:auto; max-height:520px; margin:0; border:1px solid var(--border); }
.src { font-size:13px; color:var(--text-3); margin-top:16px; word-break:break-all; }
.src a { color:var(--brand); }
footer.site { background:var(--surface); border-top:1px solid var(--border); color:var(--text-3); font-size:12px; padding:22px 0; margin-top:24px; }
footer.site .foot-contact { margin-top:10px; }
footer.site .foot-contact a { color:var(--brand); text-decoration:none; }
footer.site .foot-contact a:hover { text-decoration:underline; }

/* ===== 搭子陪写工具页 ===== */
.tool-hero { padding:var(--s-6) 0 var(--s-4); }
.tool-hero h1 { margin:0 0 8px; font-size:var(--fs-hero); font-weight:700; }
.tool-sub { color:var(--text-2); margin:0 0 18px; font-size:15px; max-width:720px; }
.wizard { display:grid; grid-template-columns:260px 1fr; gap:22px; align-items:start; }
.scenarios h2, .workspace h2 { font-size:15px; color:var(--brand); margin:0 0 12px; }
.scn-list { display:flex; flex-direction:column; gap:8px; }
.scn { text-align:left; background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:11px 13px; cursor:pointer; transition:.18s; width:100%; font-family:inherit; box-shadow:var(--sh-1); }
.scn:hover { border-color:var(--brand); }
.scn.active { border-color:var(--brand); background:var(--brand-50); }
.scn .name { font-size:14px; font-weight:600; color:var(--text); }
.scn .cat { font-size:11px; color:var(--brand); margin-left:6px; }
.scn .blurb { font-size:12px; color:var(--text-2); margin-top:3px; }
.workspace { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); padding:22px; box-shadow:var(--sh-1); }
.fields { display:grid; gap:14px; margin-bottom:20px; }
.field label { display:block; font-size:13px; color:var(--text-2); margin-bottom:6px; font-weight:600; }
.field input, .field textarea { width:100%; padding:10px 12px; border:1px solid var(--border-strong); border-radius:var(--r-sm); font-size:14px; font-family:inherit; outline:none; transition:.18s; background:var(--surface); color:var(--text); }
.field input:focus, .field textarea:focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-ring); }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.chip { background:rgba(255,255,255,0.06); border:1px solid var(--border); color:var(--text-2); padding:7px 13px; border-radius:var(--r-pill); font-size:13px; cursor:pointer; transition:.18s; font-family:inherit; }
.chip:hover { border-color:var(--brand); color:var(--brand); }
.chip.on { background:var(--brand); border-color:var(--brand); color:#fff; }
.field .custom { background:var(--surface); }
.field .custom::placeholder { color:var(--text-3); font-size:13px; }
.preview-box { border-top:1px solid var(--border); padding-top:18px; }
.preview-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.preview-head span { font-size:13px; color:var(--text-2); font-weight:600; }
#resetBtn { background:none; border:1px solid var(--border-strong); color:var(--text-2); padding:5px 12px; border-radius:var(--r-sm); font-size:12px; cursor:pointer; transition:.18s; font-family:inherit; }
#resetBtn:hover { border-color:var(--brand); color:var(--brand); }
#out { background:#08090c; color:#e2e8f0; padding:16px; border-radius:var(--r); white-space:pre-wrap; word-break:break-word; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; min-height:140px; max-height:460px; overflow:auto; border:1px solid var(--border); }
#copyTool { margin-top:12px; background:var(--brand); color:#fff; border:none; padding:10px 18px; border-radius:var(--r-sm); font-size:14px; cursor:pointer; font-weight:600; transition:.18s; font-family:inherit; }
#copyTool:hover { background:var(--brand-700); }
.tool-tip { background:var(--brand-50); border:1px solid var(--border); border-radius:var(--r); padding:14px 16px; margin-top:22px; font-size:13px; color:var(--text-2); }
.tool-tip b { color:var(--brand); }

/* ===== Toast / 无障碍 ===== */
.toast { position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(10px); background:#1f242e; color:var(--text); padding:10px 18px; border-radius:var(--r-pill); font-size:13px; opacity:0; pointer-events:none; transition:.22s; z-index:50; box-shadow:var(--sh-3); }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:focus-visible { outline:2px solid var(--brand); outline-offset:2px; border-radius:6px; }
@media (prefers-reduced-motion: reduce){ *{ transition:none!important; animation:none!important; } .card:hover, .cat-card:hover, .cta-tool:hover { transform:none; } }
@media(max-width:720px){
  html, body { overflow-x:hidden; }
  .wrap { padding:0 16px; }
  .ai-chat-inner { padding:0 16px; }
  header.site .wrap.site-head { gap:10px; }
  header.site .logo { font-size:18px; }
  header.site .logo span { font-size:13px; }
  header.site .tool-link { padding:6px 13px; font-size:13px; }
  header.site .tag { font-size:12px; }
  .wizard { grid-template-columns:1fr; }
  .scn-list { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; overflow:visible; padding-bottom:0; }
  .scn { min-width:0; width:100%; }
  .cat-quick { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .cat-card { font-size:14px; padding:12px 14px; }
  .hero h1 { font-size:22px; }
  .hero-sub { font-size:14px; }
  #search { padding:13px 92px 13px 40px; font-size:15px; }
  .pick-toggle { padding:4px 9px; font-size:11px; }
  .ai-title { font-size:22px; }
  .ai-sub { font-size:14px; }
  .ai-hd { margin-bottom:22px; }
  .ai-input-row { padding:14px 14px 12px; border-radius:18px; }
  .ai-input-bar { gap:8px; }
  .ai-input-left { font-size:12px; }
  .ai-chips { margin-top:18px; gap:8px; }
  .ai-chip { font-size:12px; padding:6px 12px; }
  .grid { grid-template-columns:1fr; gap:14px; }
  .detail h1, .tool-hero h1 { font-size:21px; }
  .copy-bar { flex-wrap:wrap; }
  .copy-bar .copy-btn { width:100%; }
  .related .grid { grid-template-columns:1fr; }
}
@media(max-width:480px){
  .wrap { padding:0 14px; }
  .ai-chat-inner { padding:0 14px; }
  .hero h1 { font-size:20px; }
  .ai-title { font-size:20px; }
  .cat-quick { gap:8px; }
  .cat-card { font-size:13px; padding:11px 12px; }
  .ai-bubble { max-width:90%; }
}
