/* Minimal futuristic dark UI (no build step) */
:root{
  --bg:#070A12;
  --card:rgba(255,255,255,.06);
  --card2:rgba(255,255,255,.08);
  --text:#EAF0FF;
  --muted:rgba(234,240,255,.72);
  --line:rgba(255,255,255,.12);
  --accent:#7C3AED;
  --accent2:#22D3EE;
  --danger:#FB7185;
  --gold:#c9a227;
  --gold2:#f3d27b;
  --glow-cyan: rgba(34,211,238,.18);
  --glow-purple: rgba(124,58,237,.20);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:radial-gradient(1200px 800px at 20% 10%, rgba(124,58,237,.18), transparent 55%),
             radial-gradient(900px 600px at 80% 30%, rgba(34,211,238,.14), transparent 55%),
             var(--bg);
  color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans";
  position:relative;
  isolation:isolate; /* 防止 blend-mode 影响内容层 */
  overflow-x:hidden;
}
/* 仅保留极轻顶部柔光，不在视口底部叠暗角（避免压住卡片/图表/按钮） */
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(1200px 520px at 50% -8%, rgba(255,255,255,.045), transparent 62%);
  opacity:.65;
}

/* 全局动效基础 */
@keyframes sheen{0%{transform:translateX(-120%) rotate(12deg)}100%{transform:translateX(120%) rotate(12deg)}}
@keyframes aurora{0%{transform:translate3d(-2%,0,0)}50%{transform:translate3d(2%,0,0)}100%{transform:translate3d(-2%,0,0)}}
@keyframes pulseGlow{0%,100%{opacity:.35}50%{opacity:.65}}
*{scrollbar-color: rgba(245,230,184,.25) rgba(255,255,255,.04)}
*::-webkit-scrollbar{height:10px;width:10px}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg, rgba(201,162,39,.35), rgba(34,211,238,.25));border-radius:999px;border:2px solid rgba(7,10,18,.75)}
*::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
}
.bg-orb{
  position:fixed; inset:-20%;
  background:
    radial-gradient(circle at 20% 30%, rgba(34,211,238,.20), transparent 40%),
    radial-gradient(circle at 70% 40%, rgba(124,58,237,.22), transparent 45%),
    radial-gradient(circle at 50% 75%, rgba(255,255,255,.06), transparent 55%);
  filter: blur(10px);
  animation: floaty 10s ease-in-out infinite;
  pointer-events:none;
  z-index:-1;
}
.noise{
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  opacity:.08;
  mix-blend-mode: overlay;
  pointer-events:none;
  z-index:-1;
}
@keyframes floaty{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(1.2%, -1.0%, 0) scale(1.02)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
.bg-grid{
  position:fixed; inset:0;
  background:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity:.14;
  /* 不再用遮罩裁切，避免与长页面内容区产生“渐变压层”错觉 */
  mask-image:none;
  pointer-events:none;
  z-index:-1;
}
.container{max-width:1280px;margin:0 auto;padding:28px;position:relative;z-index:1}
.site{min-height:100vh;display:flex;flex-direction:column}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid var(--line);background:linear-gradient(180deg,var(--card2),var(--card));border-radius:16px;backdrop-filter: blur(10px)}
.topbar{box-shadow: 0 10px 30px rgba(0,0,0,.35), 0 0 0 1px rgba(34,211,238,.06) inset}
.topbar{position:relative;overflow:hidden}
.topbar:after{
  content:"";
  position:absolute; inset:-2px;
  background:radial-gradient(900px 280px at 30% 0%, rgba(201,162,39,.10), transparent 60%),
             radial-gradient(700px 240px at 80% 0%, rgba(34,211,238,.12), transparent 62%);
  opacity:.9;
  pointer-events:none;
}
.topbar > *{position:relative}
.brand{font-weight:800;letter-spacing:.5px}
.brand-accent{color:var(--accent2)}
.nav{display:flex;gap:14px;align-items:center}
.nav-link{color:var(--muted);text-decoration:none}
.nav-link:hover{color:var(--text)}
.user-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  text-decoration:none;
  color:var(--text);
  max-width:320px;
}
.user-chip:hover{border-color:rgba(34,211,238,.35);background:rgba(255,255,255,.08)}
.avatar-sm{
  width:26px;height:26px;border-radius:999px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
.avatar-sm img{width:100%;height:100%;object-fit:cover;display:block}
.avatar-initial{font-size:12px;color:rgba(234,240,255,.9);font-weight:700}
.user-name{
  font-size:13px;
  color:rgba(234,240,255,.88);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.inline{display:inline}
.main{padding:28px 0;flex:1}
/* 常规网站脚感：页脚默认贴底居中（短页面也不会上移） */
.footer{
  text-align:center;
  color:rgba(234,240,255,.45);
  font-size:12px;
  margin-top:auto;
  padding:26px 0 16px;
  line-height:1.7;
}
.footer-line{margin:0}
.hero{display:flex;justify-content:center}
.hero-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--card2),var(--card));border-radius:18px;padding:26px;max-width:720px;width:100%;backdrop-filter: blur(12px)}
.hero-card{position:relative;overflow:hidden}
.hero-card:before{
  content:"";
  position:absolute; inset:-2px;
  background:conic-gradient(from 180deg, rgba(34,211,238,.0), rgba(34,211,238,.20), rgba(124,58,237,.22), rgba(34,211,238,.0));
  filter: blur(16px);
  opacity:.9;
  pointer-events:none;
}
.hero-card > *{position:relative}
.h1{margin:0 0 10px;font-size:30px}
.h2{margin:0 0 12px;font-size:20px}
.muted{color:var(--muted);margin:0 0 16px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.card{border:1px solid var(--line);background:linear-gradient(180deg,var(--card2),var(--card));border-radius:18px;padding:22px;max-width:520px;margin:0 auto;backdrop-filter: blur(12px)}
.card{box-shadow: 0 18px 60px rgba(0,0,0,.45)}
.card{position:relative;overflow:hidden;transform:translateZ(0)}
.card:before{
  content:"";
  position:absolute; inset:-2px;
  background:radial-gradient(600px 220px at 20% 0%, var(--glow-purple), transparent 60%),
             radial-gradient(520px 220px at 85% 10%, var(--glow-cyan), transparent 55%);
  opacity:.0;
  transition:opacity .25s ease;
  pointer-events:none;
}
.card:hover:before{opacity:.9}
.card:hover{border-color:rgba(34,211,238,.22);box-shadow:0 20px 72px rgba(0,0,0,.55), 0 0 0 1px rgba(34,211,238,.10) inset;transform:translateY(-1px)}
/* 结果页大卡片：实底 + 禁用悬停光晕层，避免渐变与图表/表格叠色 */
.card-result{
  max-width:1100px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045)),
    rgba(8,11,20,.94);
  isolation:isolate;
}
.card-result:before{display:none !important}
.card-result:hover:before{opacity:0 !important}
.card-result:hover{
  border-color:rgba(255,255,255,.14);
  box-shadow:0 18px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(34,211,238,.08) inset;
  transform:none;
}
.form{display:flex;flex-direction:column;gap:12px}
.form-actions{
  margin-top:6px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.btn-full{width:100%}
.label span{display:block;color:rgba(234,240,255,.8);font-size:13px;margin-bottom:6px}
.input{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.25);
  color:var(--text);
  outline:none;
}
.input:focus{
  border-color:rgba(34,211,238,.60);
  box-shadow:0 0 0 3px rgba(34,211,238,.16), 0 0 26px rgba(34,211,238,.10);
}
.btn{
  border-radius:12px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--text);
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  position:relative;
  overflow:hidden;
  transition:transform .12s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.btn:active{transform:translateY(1px) scale(.99)}
.btn:before{
  content:"";
  position:absolute;
  width:120px; height:220%;
  left:-30%;
  top:-60%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform:translateX(-120%) rotate(12deg);
  opacity:.0;
  pointer-events:none;
}
.btn:hover:before{opacity:1;animation:sheen .85s ease}
.btn:hover{box-shadow:0 14px 38px rgba(0,0,0,.35)}
.btn-primary{
  background:linear-gradient(135deg, rgba(124,58,237,.95), rgba(34,211,238,.65));
  border-color:rgba(34,211,238,.35);
}
.btn-primary{
  box-shadow:0 10px 28px rgba(124,58,237,.25), 0 10px 28px rgba(34,211,238,.16);
}
.btn-primary{
  /* 避免渐变分界线与卡片边框“贴边重叠”造成割裂感 */
  border-radius:14px;
  background-clip: padding-box;
}
.btn-primary:hover{
  border-color:rgba(245,210,123,.45);
  box-shadow:0 14px 44px rgba(124,58,237,.34), 0 16px 46px rgba(34,211,238,.22), 0 0 0 1px rgba(201,162,39,.18) inset;
}
.btn-ghost:hover{background:rgba(255,255,255,.10)}
.btn-danger{
  border-color:rgba(251,113,133,.45);
  color:#ffd7df;
  background:rgba(251,113,133,.12);
}
.btn-danger:hover{background:rgba(251,113,133,.22);color:#fff}
.link{color:var(--accent2);text-decoration:none}
.link:hover{text-decoration:underline}
.toast-wrap{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.toast{border:1px solid var(--line);background:rgba(0,0,0,.35);padding:10px 12px;border-radius:12px;color:var(--muted)}
.toast-error{border-color:rgba(251,113,133,.5);color:#ffd7df}
.toast-warning{border-color:rgba(250,204,21,.45);color:#fef3c7}
.table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.10);border-radius:14px}
.table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}
.table th,.table td{padding:10px 10px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;white-space:nowrap}
.table th{position:sticky;top:0;background:rgba(7,10,18,.92);backdrop-filter: blur(10px);text-align:left}
.table tr:hover td{background:rgba(255,255,255,.03)}
.personal-right .table th:last-child,
.personal-right .table td:last-child{
  position:sticky;
  right:0;
  z-index:2;
  /* 与全站玻璃拟态一致，避免纯黑条 */
  background:
    linear-gradient(180deg, rgba(124,58,237,.14), rgba(34,211,238,.06)),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)),
    rgba(10,14,26,.45);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-left:1px solid rgba(255,255,255,.12);
  box-shadow:
    -10px 0 32px rgba(0,0,0,.18),
    inset 1px 0 0 rgba(34,211,238,.12);
}
.personal-right .table th:last-child{
  z-index:3;
  background:
    linear-gradient(180deg, rgba(124,58,237,.18), rgba(34,211,238,.08)),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
    rgba(10,14,26,.55);
}
.personal-right .table tr:hover td:last-child{
  background:
    linear-gradient(180deg, rgba(124,58,237,.18), rgba(34,211,238,.09)),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05)),
    rgba(10,14,26,.52);
}
.progress{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px;border:1px solid rgba(255,255,255,.10)}
.progress-bar{height:100%;width:12%;background:linear-gradient(90deg, rgba(34,211,238,.7), rgba(124,58,237,.9));box-shadow:0 0 18px rgba(34,211,238,.25);transition:width .4s ease}
.plot-wrap{
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  overflow:hidden;
  background:#070a12;
  position:relative;
  z-index:1;
  box-shadow:0 0 0 1px rgba(0,0,0,.35) inset;
}
.card-result .plot-wrap{background:#05070e}

/* 交互式 ROAS 曲线 */
.roas-curve-layout{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap:16px;
  align-items:start;
}
.roas-curve-left{min-width:0}
.roas-curve-right{position:sticky;top:16px}
.roas-curve-toolbar{
  display:flex;flex-direction:column;gap:12px;
  padding:14px 14px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
}
.roas-curve-tip{margin:0;font-size:13px}
.roas-curve-field{display:flex;flex-direction:column;gap:6px;min-width:140px}
.roas-curve-field-grow{flex:1;min-width:220px}
.roas-curve-label{font-size:12px;color:var(--muted)}
.roas-curve-multiselect{min-height:200px;font-size:13px;padding:8px}
.roas-curve-actions{display:flex;align-items:flex-end;padding-bottom:2px}
.roas-interactive-plot-host{min-height:420px}
@media (max-width: 980px){
  .roas-curve-layout{grid-template-columns:1fr}
  .roas-curve-right{position:static}
}

/* 品牌 / 导航 */
.brand-link{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--text)}
.brand-link:hover .brand-text{opacity:.95}
.brand-mark{
  width:46px;height:46px;border-radius:14px;
  flex-shrink:0;
  display:block;
  object-fit:contain;
  background:#000;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.14),
    0 0 0 2px rgba(201,162,39,.35),
    0 8px 22px rgba(0,0,0,.5);
}
.brand-text{font-weight:800;letter-spacing:.2px;font-size:17px}
.brand-accent{color:#e8d48b;text-shadow:0 0 24px rgba(201,162,39,.25)}

@media (max-width: 560px){
  .brand-mark{width:40px;height:40px;border-radius:13px}
  .brand-text{font-size:15px}
}
.nav-pill{
  padding:8px 14px;border-radius:999px;
  border:1px solid rgba(201,162,39,.35);
  background:rgba(201,162,39,.08);
  color:#f5e6b8 !important;
}
.nav-pill{
  position:relative;
  box-shadow:0 0 0 1px rgba(201,162,39,.12) inset;
}
.nav-pill:hover{background:rgba(201,162,39,.14);color:#fff !important;box-shadow:0 0 0 1px rgba(201,162,39,.22) inset, 0 10px 30px rgba(201,162,39,.10)}

/* 链接 hover 光感 */
.nav-link{position:relative}
.nav-link:after{
  content:"";
  position:absolute;
  left:10%; right:10%; bottom:-6px;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(34,211,238,.55), rgba(201,162,39,.55), transparent);
  opacity:0;
  transform:translateY(2px);
  transition:opacity .18s ease, transform .18s ease;
}
.nav-link:hover:after{opacity:1;transform:translateY(0)}

/* 个人中心 */
.profile-layout{display:flex;flex-direction:column;gap:20px;max-width:980px;margin:0 auto}
.profile-card{max-width:100%}
.profile-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px}
.profile-meta{flex:1;min-width:200px}
.avatar-lg{
  width:96px;height:96px;border-radius:20px;overflow:hidden;
  border:1px solid rgba(201,162,39,.4);
  background:rgba(0,0,0,.35);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 40px rgba(0,0,0,.4);
}
.avatar-lg img{width:100%;height:100%;object-fit:cover}
.avatar-placeholder{font-size:36px;font-weight:800;color:#e8d48b}
.h3{margin:0 0 8px;font-size:15px;color:rgba(245,230,184,.95);font-weight:700}
.profile-block{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.bio-text{margin:0;line-height:1.6;color:rgba(234,240,255,.88);font-size:14px}
.textarea{resize:vertical;min-height:88px;font-family:inherit}
.toast-success{border-color:rgba(74,222,128,.45);color:#d1fae5}

/* 个人中心：左右两栏 */
.personal-grid{
  display:grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap:22px;
  max-width:1480px;
  margin:0 auto;
  align-items:start;
}
.personal-left{position:sticky;top:18px}
.personal-profile{padding-bottom:14px}
.personal-profile-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.personal-profile-actions .btn{padding:9px 12px;font-size:13px}
.personal-right{
  min-width:0;
  width:100%;
  max-width:none;
  margin:0;
}
/* 历史表：参数摘要强制换行，操作列留足宽度，避免与摘要叠在一起 */
.personal-right .table{min-width:920px}
.personal-right .table th:nth-child(3),
.personal-right .table td:nth-child(3){
  max-width:min(420px, 38vw);
  white-space:normal;
  word-break:break-word;
  line-height:1.45;
}
.personal-right .table th:nth-child(5),
.personal-right .table td:nth-child(5){
  min-width:200px;
  white-space:normal;
  vertical-align:top;
}
.personal-history-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:12px;
}
@media (max-width: 980px){
  .personal-grid{grid-template-columns:1fr}
  .personal-left{position:static}
}

/* 历史记录：网格平铺 */
.history-section{margin-top:16px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}
.history-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
  gap:14px;
  align-items:stretch;
}
.history-tile{
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:14px 14px 12px;
  background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(255,255,255,.028));
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:100%;
  box-shadow:0 6px 24px rgba(0,0,0,.22);
}
.history-tile-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.history-tile-id{font-weight:800;font-size:15px;letter-spacing:.02em}
.history-tile-status{
  font-size:11px;
  letter-spacing:.03em;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(34,211,238,.12);
  color:var(--accent2);
  border:1px solid rgba(34,211,238,.25);
  max-width:100%;
  text-align:center;
}
.history-tile-status.is-failed{background:rgba(251,113,133,.12);color:#ffd7df;border-color:rgba(251,113,133,.35)}
.history-tile-status.is-running{background:rgba(250,204,21,.10);color:#fef3c7;border-color:rgba(250,204,21,.3)}
.history-tile-meta{
  margin:0;padding:0;list-style:none;font-size:12px;color:var(--muted);line-height:1.45;
  display:flex;flex-direction:column;gap:5px;flex:1;
}
.history-tile-meta li{word-break:break-word}
.history-tile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}
.history-tile-actions .btn{padding:8px 12px;font-size:13px}

/* 分享 */
.share-public-banner{
  margin-bottom:16px;padding:16px 18px;border-radius:16px;
  border:1px solid rgba(34,211,238,.22);
  background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(34,211,238,.08));
  box-shadow:0 8px 28px rgba(0,0,0,.2);
}
.share-public-banner-title{margin:0 0 6px;font-size:15px;font-weight:700;color:rgba(234,240,255,.95)}
.share-public-banner-text{margin:0 0 12px;font-size:13px;line-height:1.55}
.share-public-actions{display:flex;gap:10px;flex-wrap:wrap}
.share-save-form{margin:0}
.share-landing-card{max-width:720px;margin:0 auto}
.share-url-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin-top:6px}
.share-url-input{flex:1;min-width:200px;font-size:13px}
.share-landing-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

/* 任务结果页：Tab + 指北书 */
.result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.result-tabs{margin-top:18px}
.result-tablist{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.result-tab{
  appearance:none;-webkit-appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--muted);
  padding:10px 16px;border-radius:999px;font-size:13px;cursor:pointer;
  font-family:inherit;
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.result-tab:hover{color:var(--text);background:rgba(255,255,255,.10)}
.result-tab.is-active{
  color:var(--text);
  background:linear-gradient(135deg,rgba(124,58,237,.4),rgba(34,211,238,.22));
  border-color:rgba(34,211,238,.4);
  box-shadow:0 0 24px rgba(34,211,238,.14);
}
.result-tabpanel{display:none}
.result-tabpanel.is-active{display:block;animation:guideFade .25s ease}
@keyframes guideFade{from{opacity:.88}to{opacity:1}}
.result-tabpanel-title{margin:0 0 12px;font-size:16px;font-weight:700;color:rgba(234,240,255,.95)}

/* 指北书 */
.guidebook{display:flex;flex-direction:column;gap:20px}
.guide-hero{
  padding:20px 22px;border-radius:16px;
  border:1px solid rgba(201,162,39,.35);
  background:linear-gradient(135deg,rgba(201,162,39,.12),rgba(124,58,237,.12),rgba(34,211,238,.08));
  box-shadow:0 8px 32px rgba(0,0,0,.25);
}
.guide-hero-title{margin:0 0 10px;font-size:20px;font-weight:800;letter-spacing:.02em;color:#f5e6b8}
.guide-hero-lead{margin:0;font-size:14px;line-height:1.65;color:rgba(234,240,255,.88)}
.guide-section{
  padding:18px 20px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
}
.guide-h{
  margin:0 0 14px;font-size:15px;font-weight:700;color:var(--accent2);
  display:flex;align-items:center;gap:10px;
}
.guide-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:8px;
  background:linear-gradient(135deg,rgba(124,58,237,.5),rgba(34,211,238,.35));
  color:#fff;font-size:13px;font-weight:800;
}
.guide-flow{
  display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-bottom:12px;
}
.guide-flow-node{
  flex:1;min-width:200px;padding:14px;border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}
.guide-flow-node strong{display:block;margin-bottom:6px;color:rgba(245,230,184,.95);font-size:13px}
.guide-flow-node p{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}
.guide-flow-arrow{
  align-self:center;color:rgba(34,211,238,.5);font-size:20px;font-weight:300;
  flex:0 0 auto;padding:0 4px;
}
@media (max-width:640px){.guide-flow-arrow{display:none}}
.guide-tip{
  margin:0;font-size:12px;line-height:1.5;color:rgba(234,240,255,.55);
  padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04);
  border-left:3px solid rgba(34,211,238,.4);
}
.guide-list{margin:0;padding-left:1.15rem;font-size:13px;line-height:1.65;color:var(--muted)}
.guide-list li{margin-bottom:8px}
.guide-list li strong{color:rgba(234,240,255,.9)}
.guide-list code{font-size:12px;background:rgba(0,0,0,.35);padding:2px 6px;border-radius:6px;color:var(--accent2)}
.guide-callout{
  margin-top:14px;padding:12px 14px;border-radius:12px;
  border:1px solid rgba(124,58,237,.35);
  background:rgba(124,58,237,.1);
  font-size:13px;line-height:1.55;color:rgba(234,240,255,.85);
}
.guide-kv{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.guide-kv-row{
  display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:12px;align-items:start;
  padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04);
  font-size:13px;
}
@media (max-width:560px){.guide-kv-row{grid-template-columns:1fr}}
.guide-kv-k{color:rgba(245,230,184,.9);font-weight:600}
.guide-kv-v{color:var(--muted);line-height:1.5}

/* 结果页预览表：搜索 + 列筛选 + 排序 */
.preview-table-panel{margin-top:8px}
.preview-table-toolbar{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;
  margin-bottom:12px;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
}
.preview-search-wrap{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;flex:1;min-width:220px}
.preview-search-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);flex:1;min-width:200px}
.preview-search-input{padding:10px 12px;font-size:13px}
.preview-reset-btn{padding:9px 12px;font-size:13px}
.card-result .table th{
  white-space:normal;vertical-align:top;text-align:left;min-width:108px;
  padding:10px 8px;line-height:1.35;
}
.card-result .preview-table-panel .table th:nth-child(3),
.card-result .preview-table-panel .table td:nth-child(3),
.card-result .preview-table-panel .table th:nth-child(4),
.card-result .preview-table-panel .table td:nth-child(4){
  text-align:right;
}
.card-result .preview-table-panel .table th:nth-child(3) .th-enhanced,
.card-result .preview-table-panel .table th:nth-child(4) .th-enhanced{
  align-items:flex-end;
}
.th-enhanced{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.th-title{font-weight:700;font-size:11px;color:rgba(234,240,255,.9);letter-spacing:.02em}
.th-sort-row{display:flex;gap:4px}
.th-sort-btn{
  flex:1;min-width:0;
  padding:4px 6px;border-radius:8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--muted);
  font-size:12px;line-height:1;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.th-sort-btn:hover{color:var(--text);background:rgba(255,255,255,.10)}
.th-sort-btn.is-active{
  color:var(--text);
  border-color:rgba(34,211,238,.45);
  background:rgba(34,211,238,.12);
  box-shadow:0 0 14px rgba(34,211,238,.12);
}
.th-filter-select{
  width:100%;padding:6px 8px;font-size:11px;border-radius:10px;
  background:rgba(7,10,18,.75);
  cursor:pointer;
}
.th-filter-select:focus{border-color:rgba(201,162,39,.45);box-shadow:0 0 0 2px rgba(201,162,39,.12)}

/* Sheet2（达标反推）列很多：压缩表头/单元格，保持观感 */
.sheet2-wide .table th{min-width:96px}
.sheet2-wide .table td{padding:10px 8px;font-size:12px}
.sheet2-wide .th-title{font-size:10.5px}
.sheet2-wide .th-filter-select{font-size:10.5px}

/* Sheet2 子 Tab（180/365） */
.sheet2-subtabs{margin-top:10px}
.sheet2-subtablist{
  display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px;
  border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:10px;
}
.sheet2-subtab{
  appearance:none;-webkit-appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--muted);
  padding:9px 14px;border-radius:999px;font-size:12.5px;cursor:pointer;
  font-family:inherit;
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.sheet2-subtab:hover{color:var(--text);background:rgba(255,255,255,.10)}
.sheet2-subtab.is-active{
  color:var(--text);
  background:linear-gradient(135deg,rgba(124,58,237,.36),rgba(34,211,238,.18));
  border-color:rgba(34,211,238,.36);
  box-shadow:0 0 18px rgba(34,211,238,.12);
}
.sheet2-subpanel{display:none}
.sheet2-subpanel.is-active{display:block;animation:guideFade .22s ease}

/* Sheet2：冻结「平台/渠道」两列，横向滚动更易读 */
.sheet2-wide .table{border-collapse:separate;border-spacing:0}
.sheet2-wide .table th:nth-child(1),
.sheet2-wide .table td:nth-child(1){
  position:sticky;left:0;z-index:3;
  min-width:110px;max-width:110px;
  background:linear-gradient(180deg,rgba(10,14,26,.92),rgba(8,10,18,.86));
  box-shadow: 10px 0 18px rgba(0,0,0,.22);
}
.sheet2-wide .table th:nth-child(2),
.sheet2-wide .table td:nth-child(2){
  position:sticky;left:110px;z-index:3;
  min-width:170px;max-width:240px;
  background:linear-gradient(180deg,rgba(10,14,26,.92),rgba(8,10,18,.86));
  box-shadow: 10px 0 18px rgba(0,0,0,.18);
}
.sheet2-wide .table th:nth-child(1),
.sheet2-wide .table th:nth-child(2){z-index:5}
