/* ============================================================
   InsightReview — Design System v2
   แนวทาง: Calm analytics workspace — สบายตาและใช้สีตามลำดับความสำคัญ
   - warm neutral base + sage accent + muted semantic sentiment palette
   - Noto Sans Thai ทั้ง UI และตัวเลข เพื่อความสม่ำเสมอและอ่านง่าย
   - spacing scale 4px, radius นุ่ม, เงาบางมาก เน้นเส้นขอบ
   ============================================================ */

:root{
  /* Forest & Cream: original identity with a lighter, lower-green balance */
  /* ---- neutrals ---- */
  --bg:#fff8e8;
  --surface:#fffdf8;
  --surface-hover:#fff7e5;
  --surface-2:#fff0d1;
  --border:#e8d7b5;
  --border-strong:#d9c191;

  /* ---- text ---- */
  --ink:#1e2a1f;
  --ink-2:#5d6254;
  --ink-3:#6c705f;
  --ink-4:#858775;

  /* ---- accent (desaturated forest green) ---- */
  --accent:#3f6245;
  --accent-hover:#36543b;
  --accent-press:#2a4430;
  --accent-dark:#2a4430;
  --accent-soft:#edf0e7;
  --accent-ink:#2c392f;

  /* ---- sentiment ---- */
  --pos:#3f6245;  --pos-soft:#edf3e5;  --pos-ink:#36543b;
  --neg:#a61707;  --neg-soft:#fbe7df;  --neg-ink:#7f1308;
  --neu:#ffaf03;  --neu-soft:#fff0d1;  --neu-ink:#805500;

  /* ---- radius ---- */
  --r-xs:10px; --r-sm:14px; --r-md:18px; --r-lg:24px; --r-pill:999px;

  /* ---- shadow (subtle) ---- */
  --sh-sm:0 1px 2px rgba(47,75,48,.05),0 6px 18px rgba(47,75,48,.035);
  --sh-md:0 8px 26px rgba(47,75,48,.09);
  --sh-lg:0 18px 48px rgba(47,75,48,.16);

  /* ---- motion ---- */
  --ease:cubic-bezier(.4,0,.2,1);
  --t:.18s var(--ease);

  --sidebar-w:228px;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:'Noto Sans Thai','Noto Sans',Tahoma,-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg);
  color:var(--ink);
  font-size:15px;
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.mono{font-family:inherit;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
::selection{background:var(--accent-soft)}
[hidden]{display:none!important}
:focus-visible{outline:3px solid rgba(63,98,69,.3);outline-offset:2px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:14px;top:10px;z-index:500;background:var(--ink);color:#fff;padding:9px 14px;border-radius:var(--r-sm);transform:translateY(-160%);transition:transform var(--t)}
.skip-link:focus{transform:none}

/* ===================== Layout ===================== */
.layout{display:flex;min-height:100vh}

.sidebar{
  width:var(--sidebar-w);flex-shrink:0;
  background:#fffdfa;
  border-right:1px solid #fff0d1;
  display:flex;flex-direction:column;
  padding:18px 13px;
  position:sticky;top:0;height:100vh;z-index:60;
  overflow:hidden;transition:transform .24s var(--ease),box-shadow var(--t);
}
.sidebar-head{display:flex;align-items:center;gap:8px;min-height:38px;margin-bottom:28px;padding:0 10px}
.brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1;border-radius:11px}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px}
.brand .logo{display:block;width:32px;height:32px}
.brand-copy{display:flex;min-width:0;align-items:center;line-height:1}
.brand-copy strong{font-size:15px;font-weight:700;letter-spacing:-.35px;color:var(--ink)}
.brand-copy strong span{color:var(--accent-ink);font-weight:700}
.sidebar-close{display:none;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink-2);cursor:pointer}
.sidebar-close:hover{background:#fff;color:var(--ink)}.sidebar-close svg{width:18px;height:18px;stroke-width:1.8}

.nav{flex:1;display:flex;flex-direction:column;gap:18px;min-height:0}
.nav-group{display:flex;flex-direction:column;gap:5px}
.nav-label{font-size:10.5px;font-weight:600;letter-spacing:.05em;color:var(--ink-3);padding:0 11px 7px}
.nav-group>a{
  display:grid;grid-template-columns:34px minmax(0,1fr) 6px;align-items:center;gap:9px;
  min-height:50px;padding:7px 10px;border:1px solid transparent;border-radius:13px;
  color:var(--ink-2);position:relative;
  transition:background var(--t),color var(--t),border-color var(--t),box-shadow var(--t),transform var(--t);
}
.nav-group>a:hover{background:#fff;border-color:#fff8e8;color:var(--ink)}
.nav-group>a.active{background:#fff;border-color:#fff0d1;box-shadow:0 4px 14px rgba(47,75,48,.06);color:var(--accent-ink)}
.nav-group>a.active::before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:0 4px 4px 0;background:var(--accent)}
.nav-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:transparent;color:var(--ink-3)}
.nav-icon svg{width:18px;height:18px;stroke-width:1.75}
.nav-group>a.active .nav-icon{background:var(--accent-soft);color:var(--accent)}
.nav-copy{display:flex;min-width:0;align-items:center;line-height:1.3}
.nav-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;color:currentColor}
.nav-group>a.active .nav-copy strong{font-weight:650}
.nav-active-mark{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:0;transform:scale(.5);transition:opacity var(--t),transform var(--t)}
.nav-group>a.active .nav-active-mark{opacity:1;transform:scale(1)}

.sidebar-recent{margin:auto 8px 0;padding-top:17px;border-top:1px solid #fff8e8}
.sidebar-recent-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;padding:0 3px}
.sidebar-recent-head>span{font-size:10.5px;font-weight:600;color:var(--ink-3)}
.sidebar-recent-head>a{font-size:9.5px;font-weight:500;color:var(--accent);transition:color var(--t)}
.sidebar-recent-head>a:hover{color:var(--accent-hover)}
.sidebar-recent-list{display:flex;flex-direction:column}
.sidebar-recent-item{display:grid;grid-template-columns:7px minmax(0,1fr);align-items:center;gap:8px;padding:8px 3px;border-radius:9px;color:var(--ink-2);transition:background var(--t),color var(--t)}
.sidebar-recent-item:hover{background:rgba(255,255,255,.8);color:var(--ink)}
.sidebar-recent-item.is-current{color:var(--accent-ink)}
.sidebar-recent-dot{width:5px;height:5px;border-radius:50%;background:#d9c191;box-shadow:0 0 0 3px rgba(205,194,179,.18)}
.sidebar-recent-item:hover .sidebar-recent-dot,.sidebar-recent-item.is-current .sidebar-recent-dot{background:var(--accent);box-shadow:0 0 0 3px rgba(63,98,69,.1)}
.sidebar-recent-copy{display:flex;min-width:0;flex-direction:column;line-height:1.35}
.sidebar-recent-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:500;color:currentColor}
.sidebar-recent-copy small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;color:var(--ink-3)}
.sidebar-recent-copy small b{font-weight:600;color:var(--accent-ink)}

/* demo pill in sidebar */
.demo-pill{
  margin:12px 4px 0;display:flex;align-items:center;gap:8px;
  background:var(--accent-soft);color:var(--accent-ink);
  border-radius:var(--r-sm);padding:9px 12px;font-size:12px;line-height:1.4;
}
.demo-pill svg{width:16px;height:16px;flex-shrink:0}

.main{flex:1;display:flex;flex-direction:column;min-width:0}

/* ===================== Topbar ===================== */
.topbar{
  display:flex;align-items:center;gap:14px;
  padding:14px 28px;background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:40;min-height:65px;
}
.topbar-title{font-weight:600;font-size:16px;letter-spacing:-.2px}
.hamburger{display:none;width:38px;height:38px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;align-items:center;justify-content:center;color:var(--ink-2)}
.hamburger svg{width:20px;height:20px}

.search-box{
  flex:1;min-width:0;display:flex;align-items:center;gap:10px;
  background:var(--surface);border:1px solid var(--border-strong);
  border-radius:var(--r-pill);padding:8px 8px 8px 16px;max-width:720px;
  transition:border-color var(--t),box-shadow var(--t);
}
.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.search-box svg{width:17px;height:17px;color:var(--ink-3);flex-shrink:0}
.search-leading{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:10px;
  background:var(--surface-2);color:var(--ink-3);transition:background var(--t),color var(--t),transform var(--t)}
.search-leading svg{color:currentColor}
.search-box:focus-within .search-leading{background:var(--accent-soft);color:var(--accent);transform:scale(1.03)}
.search-box input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:inherit;font-size:14px;color:var(--ink)}
.search-box input::placeholder{color:var(--ink-3)}
.search-box .btn{flex-shrink:0}

/* ChatGPT-like model selection: choices read as part of the prompt sentence */
.analysis-composer{width:100%;max-width:720px;position:relative}
.analysis-composer.compact{flex:1;min-width:0;max-width:820px}
.analysis-composer.compact .search-box{max-width:none}
.topbar .analysis-composer.compact .search-box{padding:6px 7px 6px 8px;border-color:rgba(63,98,69,.18);border-radius:17px;
  background:linear-gradient(120deg,#fff,var(--surface-hover));box-shadow:0 5px 18px rgba(47,75,48,.06)}
.topbar .analysis-composer.compact .search-box:hover{border-color:rgba(63,98,69,.34);box-shadow:0 7px 22px rgba(47,75,48,.09)}
.topbar .analysis-composer.compact .search-box:focus-within{border-color:var(--accent);box-shadow:0 8px 24px rgba(47,75,48,.1),0 0 0 4px rgba(63,98,69,.09)}
.topbar .analysis-composer.compact .search-leading{width:36px;height:36px;flex-basis:36px;border-radius:11px;background:var(--accent-soft);color:var(--accent)}
.topbar .analysis-composer.compact .search-box input{font-size:14.5px;font-weight:500}.topbar .analysis-composer.compact .search-box input::placeholder{font-weight:400}
.topbar .analysis-composer.compact .search-box>.analyze-btn{min-height:38px;padding:6px 7px 6px 14px;border-radius:var(--r-pill)}
.analysis-sentence{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;color:var(--ink-2);font-size:13px;line-height:1.55;margin:4px 4px 0;padding:12px 8px 4px;border-top:1px solid var(--border)}
.text-select{position:relative;display:inline-flex;align-items:center;border-radius:9px;transition:background var(--t)}
.text-select:hover{background:var(--accent-soft)}
.text-select::after{content:"⌄";position:absolute;right:6px;top:50%;transform:translateY(-58%);font-size:12px;color:var(--accent-ink);pointer-events:none}
.text-select select{appearance:none;border:0;background:transparent;color:var(--accent-ink);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;outline:0;padding:4px 19px 4px 7px;border-radius:9px}
.engine-select select{width:136px}.extract-select select{width:92px}.count-select select{width:55px}
.text-select select:focus-visible{box-shadow:0 0 0 3px rgba(63,98,69,.22)}
.analysis-privacy{font-size:11.5px;color:var(--ink-2);line-height:1.6;margin:9px auto 0;max-width:600px;text-align:center}
.model-menu{position:relative;flex-shrink:0}
.model-menu summary{list-style:none;display:flex;align-items:center;gap:4px;max-width:220px;padding:8px 11px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);cursor:pointer;font-size:12.5px;font-weight:500;transition:background var(--t),color var(--t)}
.model-menu summary::-webkit-details-marker{display:none}.model-menu summary:hover,.model-menu[open] summary{background:var(--accent-soft);color:var(--accent-ink)}
.model-menu summary svg{width:14px;height:14px;flex-shrink:0;transition:transform var(--t)}.model-menu[open] summary svg{transform:rotate(180deg)}
.model-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-menu-popover{position:absolute;right:0;top:42px;z-index:90;width:min(300px,calc(100vw - 32px));padding:12px;background:rgba(255,255,255,.98);border:1px solid var(--border-strong);box-shadow:0 18px 45px rgba(47,75,48,.16);border-radius:16px;display:grid;gap:11px}
.model-menu-popover fieldset{border:1px solid rgba(47,75,48,.07);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px;border-radius:13px;background:linear-gradient(135deg,rgba(255,253,250,.92),rgba(255,253,250,.78))}
.model-menu-popover legend{grid-column:1/-1;display:flex;align-items:center;gap:7px;width:100%;padding:0 1px 6px;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--ink-2)}
.model-group-icon{display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(63,98,69,.08)}
.model-group-icon svg{width:14px;height:14px;stroke-width:1.8}.extract-group .model-group-icon{background:#edf0e7;color:#7f1308;box-shadow:inset 0 0 0 1px rgba(47,75,48,.08)}
.model-choice{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:7px 5px;border:1px solid transparent;border-radius:11px;background:var(--surface-2);cursor:pointer;transition:background var(--t),border-color var(--t),box-shadow var(--t),transform var(--t)}.model-choice:hover{border-color:var(--border-strong);background:var(--surface)}.model-choice:active{transform:scale(.98)}.model-choice:has(input:checked){border-color:rgba(63,98,69,.22);background:var(--accent-soft);box-shadow:inset 0 0 0 1px rgba(63,98,69,.08)}
.model-choice input{width:14px;height:14px;accent-color:var(--accent);margin:0;flex:0 0 auto}.model-choice span{display:block;min-width:0}.model-choice b{display:block;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;color:var(--ink);font-weight:650;white-space:nowrap}
.model-count{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--ink-2);padding-top:10px;border-top:1px solid var(--border)}.model-count select{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:9px;padding:6px 28px 6px 9px;font:inherit;font-weight:600;outline:0}.model-count select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(63,98,69,.12)}

/* ===================== Buttons ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid transparent;cursor:pointer;
  padding:9px 16px;border-radius:var(--r-sm);
  font-size:13.5px;font-weight:500;transition:all var(--t);white-space:nowrap;
}
.btn svg{width:16px;height:16px;stroke-width:2}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover)}
.btn-primary:active{background:var(--accent-press);transform:translateY(1px)}
.analyze-btn{position:relative;isolation:isolate;overflow:hidden;min-height:38px;padding:6px 7px 6px 14px;border-color:rgba(255,255,255,.16);
  border-radius:var(--r-pill);background:linear-gradient(135deg,#5d6254 0%,#36543b 58%,#7f1308 100%);color:#fff;
  box-shadow:0 8px 20px rgba(63,98,69,.24),inset 0 1px 0 rgba(255,255,255,.22);font-weight:700;letter-spacing:.01em;
  transition:transform var(--t),box-shadow var(--t),filter var(--t)}
.analyze-btn::before{content:"";position:absolute;z-index:-1;inset:-1px;transform:translateX(-112%) skewX(-18deg);width:62%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:transform .48s var(--ease)}
.analyze-btn span{position:relative;z-index:1}
.analyze-btn svg{position:relative;z-index:1;width:26px;height:26px;margin-left:1px;padding:5px;border-radius:50%;
  background:rgba(255,255,255,.13);color:#fff;stroke:currentColor;transition:transform var(--t),background var(--t)}
.analyze-btn:hover{background:linear-gradient(135deg,#5d6254 0%,#36543b 58%,#36543b 100%);box-shadow:0 11px 26px rgba(63,98,69,.3),inset 0 1px 0 rgba(255,255,255,.25);transform:translateY(-1px)}
.analyze-btn:hover::before{transform:translateX(210%) skewX(-18deg)}.analyze-btn:hover svg{background:rgba(255,255,255,.2);transform:translateX(2px)}
.analyze-btn:active{transform:translateY(1px);box-shadow:0 5px 12px rgba(63,98,69,.22)}
.analyze-btn:focus-visible{outline:3px solid rgba(63,98,69,.25);outline-offset:3px}.analyze-btn:disabled{filter:saturate(.65);cursor:wait;opacity:.78;transform:none}
.btn-ghost{background:transparent;color:var(--ink-2);border-color:var(--border-strong)}
.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}
.btn-danger{background:var(--neg);color:#fff}
.btn-danger:hover{filter:brightness(.95)}
.btn-pill{border-radius:var(--r-pill)}

.icon-btn{
  width:38px;height:38px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border-strong);border-radius:var(--r-sm);
  background:var(--surface);cursor:pointer;color:var(--ink-2);transition:all var(--t);
}
.icon-btn:hover{background:var(--surface-2);color:var(--ink)}
.icon-btn svg{width:18px;height:18px;stroke-width:1.85}
.icon-btn.active{color:var(--neu);border-color:var(--neu);background:var(--neu-soft)}
.icon-btn.active svg{fill:var(--neu);stroke:var(--neu)}
.icon-btn.danger:hover{color:var(--neg);border-color:var(--neg);background:var(--neg-soft)}

/* ===================== Content ===================== */
.content{padding:32px;flex:1;width:100%;max-width:1260px;margin:0 auto;animation:fadeUp .35s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ===================== Landing ===================== */
.landing{position:relative;isolation:isolate;display:flex;width:calc(100% + 64px);min-height:calc(100vh - 65px);margin:-32px;
  flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden;padding:62px 32px 54px;text-align:center;
  background:radial-gradient(circle at 50% 42%,rgba(255,248,232,.78),transparent 31%),radial-gradient(circle at 14% 18%,rgba(255,248,232,.8),transparent 23%),linear-gradient(160deg,#fffdfa 0%,#fff7e5 54%,#fffdfa 100%)}
.landing::before{content:"";position:absolute;z-index:-2;inset:0;opacity:.32;pointer-events:none;
  background-image:linear-gradient(rgba(63,98,69,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(63,98,69,.055) 1px,transparent 1px);background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 72%)}
.landing::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;left:50%;top:235px;transform:translateX(-50%);border-radius:50%;
  border:1px solid rgba(63,98,69,.08);box-shadow:0 0 0 70px rgba(255,255,255,.13),0 0 0 140px rgba(255,255,255,.08);pointer-events:none}
.landing-copy{display:flex;flex-direction:column;align-items:center;animation:fadeUp .45s var(--ease)}
.landing .eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;padding:8px 14px;border:1px solid rgba(63,98,69,.17);border-radius:var(--r-pill);
  background:rgba(255,255,255,.78);color:var(--accent-ink);box-shadow:0 6px 18px rgba(47,75,48,.07),inset 0 1px 0 #fff;font-size:12.5px;font-weight:600;backdrop-filter:blur(10px)}
.landing .eyebrow svg{width:15px;height:15px}.landing h1{max-width:760px;margin-bottom:15px;color:var(--ink);font-size:46px;font-weight:650;line-height:1.16;letter-spacing:-1.8px}
.landing h1 span{color:var(--accent-ink)}.landing .sub{width:100%;max-width:630px;margin-bottom:27px;color:var(--ink-2);font-size:15.5px;line-height:1.75}
.landing .analysis-composer{position:relative;z-index:20;width:100%;max-width:760px;overflow:visible;padding:12px;border:1px solid rgba(63,98,69,.17);border-radius:24px;background:rgba(255,255,255,.9);
  box-shadow:0 24px 65px rgba(47,75,48,.13),inset 0 1px 0 #fff;backdrop-filter:blur(16px);transition:border-color var(--t),box-shadow var(--t);animation:fadeUp .5s .05s both var(--ease)}
.landing .analysis-composer:focus-within{border-color:rgba(63,98,69,.44);box-shadow:0 26px 70px rgba(47,75,48,.16),0 0 0 4px rgba(63,98,69,.07)}
.landing .search-box{flex:none;width:100%;max-width:none;padding:7px 7px 7px 9px;border:1px solid rgba(47,75,48,.1);border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(47,75,48,.055)}
.landing .search-box:focus-within{border-color:rgba(63,98,69,.42);box-shadow:0 7px 20px rgba(47,75,48,.08),0 0 0 3px rgba(63,98,69,.07)}
.landing .search-box input{font-size:14.5px;font-weight:500}.landing .search-box input::placeholder{font-weight:400}.landing .search-leading{width:36px;height:36px;flex-basis:36px;background:var(--surface-2)}
.landing .search-box .analyze-btn{min-height:40px;border-radius:var(--r-pill);padding:7px 8px 7px 16px}
.landing-options{display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:8px;margin-top:10px}
.landing-picker{position:relative;min-width:0}.landing-picker summary::-webkit-details-marker{display:none}.landing-picker summary{list-style:none}
.landing-option{position:relative;display:flex;width:100%;align-items:center;gap:9px;min-width:0;padding:9px 10px 9px 9px;border:1px solid rgba(47,75,48,.075);border-radius:13px;
  background:linear-gradient(135deg,#fffdfa,#fff7e5);text-align:left;cursor:pointer;transition:border-color var(--t),background var(--t),transform var(--t)}
.landing-option:hover{border-color:rgba(63,98,69,.23);background:#fff;transform:translateY(-1px)}.landing-picker[open] .landing-option{border-color:rgba(63,98,69,.34);background:#fff;box-shadow:0 0 0 3px rgba(63,98,69,.07);transform:none}
.landing-option-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}
.landing-option-icon.extract{background:#edf0e7;color:#7f1308}.landing-option-icon.count{background:var(--neu-soft);color:var(--neu-ink)}.landing-option-icon svg{width:17px;height:17px;stroke-width:1.75}
.landing-option-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:1px;pointer-events:none}.landing-option-copy small{color:var(--ink-3);font-size:9.5px;line-height:1.2}
.landing-option-copy strong{overflow:hidden;color:var(--ink);font-size:11.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.landing-picker-chevron{width:16px;height:16px;flex:0 0 16px;color:var(--ink-3);transition:transform var(--t),color var(--t)}.landing-picker[open] .landing-picker-chevron{transform:rotate(180deg);color:var(--accent)}
.landing-picker-menu{position:absolute;z-index:110;top:calc(100% + 7px);left:0;width:max(100%,190px);padding:8px;border:1px solid var(--border-strong);border-radius:14px;
  background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(47,75,48,.18);text-align:left;animation:pickerIn .16s var(--ease)}
.landing-picker.compact .landing-picker-menu{right:0;left:auto;width:220px}@keyframes pickerIn{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.landing-picker-title{display:block;padding:3px 5px 7px;color:var(--ink-3);font-size:9.5px;font-weight:700;letter-spacing:.02em}
.landing-picker-choice{position:relative;display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 9px;border:1px solid transparent;border-radius:10px;color:var(--ink-2);font-size:11.5px;font-weight:600;cursor:pointer;transition:background var(--t),border-color var(--t),color var(--t)}
.landing-picker-choice:hover{background:var(--surface-2);color:var(--ink)}.landing-picker-choice:has(input:checked){border-color:rgba(63,98,69,.16);background:var(--accent-soft);color:var(--accent-ink)}
.landing-picker-choice input{position:absolute;opacity:0;pointer-events:none}.landing-picker-choice i{width:15px;height:15px;margin-left:auto;border:1.5px solid var(--border-strong);border-radius:50%;background:#fff}
.landing-picker-choice:has(input:checked) i{border:4px solid var(--accent)}.landing-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.analysis-privacy{display:flex;align-items:flex-start;justify-content:center;gap:6px;max-width:680px;margin:10px auto 0;color:var(--ink-3);font-size:10.5px;line-height:1.5;text-align:left}
.analysis-privacy svg{width:14px;height:14px;flex:0 0 14px;margin-top:1px;color:var(--accent);stroke-width:1.7}
.landing-benefits{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;flex-wrap:wrap;animation:fadeUp .5s .1s both var(--ease)}
.landing-benefits>span{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(47,75,48,.08);border-radius:var(--r-pill);background:rgba(255,255,255,.62);color:var(--ink-2);font-size:10.5px;backdrop-filter:blur(8px)}
.landing-benefits b{font-weight:600}.benefit-icon{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;font:800 10px/1 inherit}.benefit-icon.positive{background:var(--pos-soft);color:var(--pos-ink)}.benefit-icon.caution{background:var(--neu-soft);color:var(--neu-ink)}.benefit-icon.evidence{background:#edf0e7;color:#7f1308}
.landing .demo-hint{margin-top:12px;font-size:11.5px;color:var(--ink-2);max-width:620px;line-height:1.6}.landing .examples{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.landing .ex-chip{font-size:11.5px;color:var(--accent-ink);background:rgba(255,255,255,.75);border:1px solid rgba(63,98,69,.16);padding:7px 13px;border-radius:var(--r-pill);cursor:pointer;transition:all var(--t)}
.landing .ex-chip:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}

/* ===================== Dashboard header ===================== */
.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.eyebrow-label{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--accent-ink);margin-bottom:7px}
.store-name{font-size:29px;font-weight:600;letter-spacing:-.5px;line-height:1.15;margin-bottom:9px}
.meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--ink-2);font-size:13.5px}
.meta-row .meta-item{display:inline-flex;align-items:center;gap:6px}
.meta-row svg{width:15px;height:15px;color:var(--ink-3)}
.chip-soft{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--ink-2);padding:4px 10px;border-radius:var(--r-pill);font-size:12.5px}
.chip-soft .live-dot{width:6px;height:6px;border-radius:50%;background:var(--pos)}
.chip-soft.engine-fallback{border:1px solid #c6d2bc;background:#fff8e8;color:#805500;font-weight:600}
.chip-soft.gemini-verified{border:1px solid #fff0d1;background:#fff7e5;color:var(--accent-ink);font-weight:600}
.dash-head .actions{display:flex;gap:9px;align-items:center}
.gemini-summary-label{display:inline-flex;align-items:center;gap:6px;margin:8px 0 4px;padding:5px 10px;border:1px solid #fff0d1;border-radius:var(--r-pill);background:#fff7e5;color:var(--accent-ink);font-size:11.5px;font-weight:600}
.gemini-summary-label span{font-size:13px}
.gemini-insight-pill{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #fff0d1;border-radius:var(--r-pill);background:#fff7e5;color:var(--accent-ink);font-size:10.5px;font-weight:600}

/* ===================== Audience views ===================== */
.persona-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:min(780px,100%);padding:7px;margin:0 auto 20px 0;
  border:1px solid #d9c191;border-radius:16px;background:#fff8e8;
  box-shadow:0 8px 28px rgba(77,58,46,.07)}
.persona-tab{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;
  padding:11px 13px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ink-2);
  font:inherit;text-align:left;cursor:pointer;transition:color var(--t),background var(--t),border-color var(--t),box-shadow var(--t),transform var(--t)}
.persona-tab:hover:not(.active){border-color:#d9c191;background:#fff;box-shadow:var(--sh-sm);transform:translateY(-1px)}
.persona-tab:focus-visible{outline:3px solid rgba(63,98,69,.22);outline-offset:3px}
.persona-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--border);border-radius:12px;
  background:var(--surface);color:var(--ink-2);box-shadow:var(--sh-sm);transition:all var(--t)}
.persona-icon svg{width:21px;height:21px;stroke-width:1.7}
.persona-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.persona-copy strong{font-size:14.5px;line-height:1.35;color:var(--ink)}
.persona-copy small{font-size:12px;line-height:1.45;color:#6c705f}
.persona-state{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid transparent;border-radius:var(--r-pill);
  font-size:10px;font-weight:700;white-space:nowrap;color:transparent;opacity:0;transform:translateX(4px);transition:all var(--t)}
.persona-state i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.persona-tab.active{border-color:#2a4430;background:linear-gradient(135deg,#a61707,#7f1308);color:#fff;
  box-shadow:0 9px 22px rgba(63,98,69,.24),inset 0 1px 0 rgba(255,255,255,.2)}
.persona-tab.active .persona-icon{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.16);color:#fff;box-shadow:none}
.persona-tab.active .persona-copy strong{color:#fff;font-weight:750}.persona-tab.active .persona-copy small{color:rgba(255,255,255,.92)}
.persona-tab.active .persona-state{border-color:rgba(255,255,255,.55);background:#fff;color:#36543b;opacity:1;transform:none}
.persona-tab.active .persona-state i{box-shadow:0 0 0 3px rgba(135,71,58,.1)}
.persona-view{animation:fadeUp .24s var(--ease)}
#consumerView{display:flex;flex-direction:column}
#consumerView>.consumer-grid.single{order:1}#consumerView>.aspect-summary-section{order:2}#consumerView>.consumer-hero{order:3}
#consumerView>.aspect-modal-shell{order:4}#consumerView>.caution-section{order:5}#consumerView>.consumer-reviews{order:6}
.consumer-hero{position:relative;overflow:hidden;padding:32px;background:linear-gradient(135deg,#fff 42%,#fff7e5);margin-bottom:16px}
.consumer-hero::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-60px;top:-80px;background:rgba(63,98,69,.07)}
.consumer-kicker{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--accent-ink);margin-bottom:9px}
.consumer-hero h2{font-size:25px;letter-spacing:-.4px;margin-bottom:6px;max-width:720px}
.consumer-hero>p{color:var(--ink-2);font-size:15px;max-width:760px;line-height:1.75}
.consumer-score{display:flex;align-items:baseline;gap:9px;margin-top:20px;color:var(--ink-2);font-size:13.5px}
.consumer-score strong{font-size:24px;color:var(--pos-ink)}
.consumer-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}
.consumer-grid.single{grid-template-columns:1fr}.consumer-grid.single .know-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.consumer-section{position:relative}
.section-number{position:absolute;right:18px;top:14px;font-family:inherit;font-size:28px;font-weight:600;line-height:1;color:var(--border-strong);font-variant-numeric:tabular-nums}
.aspect-summary-section{margin-bottom:16px}
.asp-chart{display:grid;gap:9px;margin-top:4px}
.asp-card{width:100%;border:1px solid rgba(47,75,48,.09);border-radius:16px;background:linear-gradient(135deg,#fff 38%,#fffdfa);overflow:hidden;
  color:var(--ink);font:inherit;text-align:left;box-shadow:0 3px 10px rgba(47,75,48,.035);transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
.asp-card:hover{border-color:rgba(63,98,69,.28);box-shadow:0 10px 24px rgba(47,75,48,.09);transform:translateY(-2px)}
.asp-card.active{border-color:rgba(63,98,69,.42);background:var(--accent-soft);box-shadow:0 0 0 3px rgba(63,98,69,.08);transform:none}
.asp-row{display:grid;grid-template-columns:170px minmax(220px,1fr) 54px 30px;align-items:center;gap:14px;
  padding:13px 14px 13px 16px;cursor:pointer;transition:background var(--t)}
.asp-row:hover{background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(255,248,232,.55))}
.asp-label{display:flex;min-width:0;flex-direction:column;gap:2px}
.asp-label-head{display:flex;align-items:center;gap:7px;min-width:0}
.asp-name{font-size:14px;font-weight:700;color:var(--ink)}
.asp-signal{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:var(--r-pill);font-size:9.5px;font-weight:800;white-space:nowrap}
.asp-signal.positive{background:var(--pos-soft);color:var(--pos-ink)}.asp-signal.neutral{background:var(--neu-soft);color:var(--neu-ink)}.asp-signal.negative{background:var(--neg-soft);color:var(--neg-ink)}
.asp-label small{font-size:10.5px;color:var(--ink-3)}
.asp-bar{display:flex;gap:3px;height:36px;padding:4px;border:1px solid rgba(47,75,48,.07);border-radius:12px;overflow:hidden;
  background:#fff0d1;box-shadow:inset 0 1px 3px rgba(47,75,48,.06)}
.asp-bar .seg{display:flex;align-items:center;justify-content:center;padding:0;font-size:11.5px;
  font-weight:800;color:#fff;cursor:default;white-space:nowrap;overflow:hidden;border-radius:8px;text-shadow:0 1px 2px rgba(0,0,0,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);transition:filter var(--t),transform var(--t)}
.asp-bar .seg:hover{filter:brightness(1.07);transform:scaleY(1.05)}
.asp-bar .seg.pos{background:linear-gradient(135deg,#b9cfad,#3f6245)}
.asp-bar .seg.neu{background:linear-gradient(135deg,#a99d92,#b9cfad)}
.asp-bar .seg.neg{background:linear-gradient(135deg,#36543b,#7f1308)}
.asp-total{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:42px;padding:5px 6px;border:1px solid var(--border);
  border-radius:11px;background:rgba(255,255,255,.72);line-height:1.1;color:var(--ink-2)}
.asp-total strong{font-size:14px}.asp-total small{font-size:9.5px;color:var(--ink-3);margin-top:2px}
.asp-chevron{width:28px;height:28px;padding:7px;border-radius:9px;background:var(--surface-2);color:var(--ink-3);transition:transform var(--t),color var(--t),background var(--t)}
.asp-card:hover .asp-chevron{transform:translateX(2px);background:var(--accent-soft);color:var(--accent)}
.asp-card:focus-visible{outline:3px solid rgba(63,98,69,.22);outline-offset:3px}
.aspect-modal-shell{position:fixed;inset:0;z-index:240;display:grid;place-items:center;padding:28px;overflow:hidden}
.aspect-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(20,23,33,.48);backdrop-filter:blur(4px);cursor:pointer}
.aspect-modal{position:relative;display:flex;flex-direction:column;width:min(1040px,calc(100vw - 56px));max-height:min(82vh,760px);
  max-height:min(82dvh,760px);overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:18px;background:var(--surface);
  box-shadow:0 28px 90px rgba(20,23,33,.28);animation:aspectModalIn .2s var(--ease)}
@keyframes aspectModalIn{from{opacity:.25;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
body.aspect-modal-open{overflow:hidden}
.aspect-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 17px;
  border-bottom:1px solid var(--border);background:linear-gradient(125deg,var(--accent-soft),var(--surface) 62%)}
.aspect-modal-kicker{display:block;margin-bottom:4px;font-size:10.5px;font-weight:700;letter-spacing:.055em;color:var(--accent-ink)}
.aspect-modal-head h3{font-size:21px;letter-spacing:-.3px}.aspect-modal-head p{margin-top:4px;font-size:12.5px;color:var(--ink-2)}
.aspect-modal-close{display:inline-flex;align-items:center;gap:7px;flex:none;padding:8px 11px;border:1px solid var(--border-strong);
  border-radius:var(--r-pill);background:rgba(255,255,255,.8);color:var(--ink-2);font:600 12px/1.2 inherit;cursor:pointer;transition:all var(--t)}
.aspect-modal-close:hover{border-color:var(--accent);background:var(--surface);color:var(--accent-ink)}
.aspect-modal-close svg{width:17px;height:17px}.aspect-modal-close:hover svg{transform:translateY(2px)}
.aspect-modal-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 22px;scrollbar-gutter:stable}
.aspect-modal-scroll::-webkit-scrollbar{width:8px}.aspect-modal-scroll::-webkit-scrollbar-track{background:var(--surface-2);border-radius:var(--r-pill)}
.aspect-modal-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}
.aspect-modal-panel{min-width:0}
.asp-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:15px 1px 12px}
.asp-detail-head>div{display:flex;flex-direction:column;gap:3px}.asp-detail-head strong{font-size:13.5px}
.asp-detail-head span{font-size:11.5px;color:var(--ink-3)}.asp-detail-count{white-space:nowrap;padding-top:2px}
.asp-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.asp-review-group{min-width:0;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.asp-review-group.positive{border-color:#fff0d1;background:linear-gradient(180deg,var(--pos-soft),var(--surface) 72px)}
.asp-review-group.neutral{border-color:#fff0d1;background:linear-gradient(180deg,var(--neu-soft),var(--surface) 72px)}
.asp-review-group.negative{border-color:#dfb0a2;background:linear-gradient(180deg,var(--neg-soft),var(--surface) 72px)}
.asp-review-group>header{display:flex;align-items:center;gap:7px;padding:1px 1px 10px;font-size:12px}
.asp-review-group>header b:last-child{margin-left:auto;color:var(--ink-2)}
.asp-sentiment-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-4)}
.positive .asp-sentiment-dot{background:var(--pos)}.neutral .asp-sentiment-dot{background:var(--neu)}.negative .asp-sentiment-dot{background:var(--neg)}
.asp-review-list{display:grid;gap:7px}
.asp-review-snippet{display:flex;min-width:0;width:100%;flex-direction:column;gap:7px;padding:10px;border:1px solid var(--border);
  border-radius:8px;background:rgba(255,255,255,.88);font:inherit;text-align:left;color:var(--ink);cursor:pointer;
  transition:border-color var(--t),box-shadow var(--t),transform var(--t),background var(--t)}
.asp-review-snippet:hover{border-color:var(--accent);background:var(--surface);box-shadow:var(--sh-sm);transform:translateY(-1px)}
.asp-review-snippet:focus-visible{outline:3px solid rgba(63,98,69,.22);outline-offset:2px}
.asp-review-snippet:disabled{cursor:default;opacity:.7;transform:none}
.asp-review-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--ink-3)}
.asp-review-meta b{color:var(--accent-ink)}.asp-review-meta span{color:var(--neu-ink)}
.asp-review-text{display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical;
  font-size:12px;line-height:1.55;color:var(--ink-2);overflow-wrap:anywhere}
.asp-review-open{display:flex;justify-content:flex-end;gap:5px;font-size:10.5px;font-weight:600;color:var(--accent-ink)}
.asp-review-empty{padding:16px 8px;text-align:center;font-size:11.5px;color:var(--ink-3)}
.asp-legend{display:flex;align-items:center;gap:16px;margin-top:14px;padding-top:12px;
  border-top:1px dashed var(--border);font-size:12px;color:var(--ink-2);flex-wrap:wrap}
.asp-legend .dot{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}
.asp-legend .dot.positive{background:var(--pos)}
.asp-legend .dot.neutral{background:var(--neu)}
.asp-legend .dot.negative{background:var(--neg)}
.asp-legend .asp-hint{margin-left:auto;color:var(--ink-3);font-size:11.5px}
.critical-why,.strategy-box p,.insight-reason,.insight-strategy p{overflow-wrap:anywhere}
.rule-before-head{align-items:center}
.know-grid{display:grid;gap:9px}.consumer-grid.single .know-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.know-item{display:flex;flex-direction:column;gap:0;min-width:0;padding:0;border:1px solid rgba(47,75,48,.1);border-radius:14px;overflow:hidden;background:#fff;color:var(--ink);font:inherit;text-align:left;width:100%;box-shadow:0 3px 10px rgba(47,75,48,.03)}
.know-item.evidence-trigger{cursor:pointer;transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
.know-item.evidence-trigger:not(:disabled):hover{border-color:rgba(63,98,69,.32);box-shadow:0 9px 20px rgba(47,75,48,.08);transform:translateY(-1px)}
.know-item.evidence-trigger:focus-visible{outline:3px solid rgba(63,98,69,.2);outline-offset:2px}.know-item.evidence-trigger:disabled{cursor:not-allowed;opacity:.68}
.rule-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px 6px}.rule-topic-identity{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink-2);font-size:11px;font-weight:650}.rule-rank{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--accent-ink);font-size:9.5px}.rule-topic-identity>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rule-status{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);font-size:10.5px;font-weight:700;white-space:nowrap}.rule-status i{width:6px;height:6px;border-radius:50%;background:var(--ink-4)}.rule-status.positive{background:var(--pos-soft);color:var(--pos-ink)}.rule-status.positive i{background:var(--pos)}.rule-status.negative,.rule-status.mixed{background:var(--neg-soft);color:var(--neg-ink)}.rule-status.negative i,.rule-status.mixed i{background:var(--neg)}.rule-status.neutral{background:var(--neu-soft);color:var(--neu-ink)}.rule-status.neutral i{background:var(--neu)}
.rule-card-body{display:block;padding:2px 13px 10px}.rule-card-body strong{display:block;font-size:15px;line-height:1.35;letter-spacing:-.1px}.rule-quick-advice{display:flex!important;align-items:flex-start;gap:6px;margin-top:4px!important;color:var(--ink-2);font-size:11.5px!important;line-height:1.45!important}.rule-quick-advice b{color:var(--accent-ink);font-size:13px;line-height:1.25}
.rule-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:7px 13px;border-top:1px solid rgba(47,75,48,.07);background:#fffdfa;color:var(--ink-3);font-size:10.5px}.know-reference{margin-left:auto;color:var(--accent-ink);font-size:11px;font-weight:650;white-space:nowrap}.know-reference b{font-size:13px;margin-left:2px}
.caution-section{margin-bottom:4px}.caution-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.caution-item{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:start;padding:16px;border:1px solid #f9dfd3;background:var(--neu-soft);border-radius:var(--r-sm)}
.caution-item.critical{border-color:#dfb0a2;background:var(--neg-soft)}
.caution-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--neu);color:#fff;font-weight:700}.caution-item.critical .caution-mark{background:var(--neg)}
.caution-item h4{font-size:14.5px;line-height:1.45}.caution-item p{font-size:12.5px;line-height:1.6;color:var(--ink-2);margin-top:3px}
.caution-item .caution-advice{margin-top:9px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.62);color:var(--ink-2)}.caution-advice strong{color:var(--ink)}
.severity-label{font-size:11.5px;font-weight:600;color:var(--neu-ink);white-space:nowrap}.critical .severity-label{color:var(--neg-ink)}
.consumer-empty{font-size:13px;color:var(--ink-3);padding:18px;border:1px dashed var(--border-strong);border-radius:var(--r-sm);text-align:center}
.positive-empty{background:var(--pos-soft);color:var(--pos-ink);border-color:#fbe7df}

/* Evidence-first controls and consumer review explorer */
.evidence-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:rgba(255,255,255,.78);color:var(--accent-ink);font:500 12px/1.25 inherit;cursor:pointer;transition:background var(--t),border-color var(--t)}
.evidence-link svg{width:14px;height:14px;stroke-width:1.8}
.evidence-link:not(:disabled):hover{background:var(--accent-soft);border-color:rgba(63,98,69,.35)}
.evidence-link:disabled{cursor:not-allowed;color:var(--ink-3);opacity:.7}
.metric .evidence-link{margin-top:12px}
.consumer-reviews{margin-top:16px;padding:0;overflow:hidden}
.consumer-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 28px 22px;background:linear-gradient(135deg,#fff 45%,#fff7e5);border-bottom:1px solid var(--border)}
.consumer-review-kicker{font-size:11.5px;font-weight:700;letter-spacing:.055em;color:var(--accent-ink);margin-bottom:5px}
.consumer-review-title{display:flex;align-items:center;gap:9px}.consumer-review-title h3{font-size:22px;letter-spacing:-.35px}.review-total{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:11.5px;font-weight:600}
.consumer-review-head>div:first-child>p{font-size:13.5px;line-height:1.65;color:var(--ink-2);margin-top:5px}
.consumer-review-overview{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:6px;padding:6px;background:rgba(255,255,255,.72);border:1px solid rgba(63,98,69,.12);border-radius:var(--r-sm);box-shadow:var(--sh-sm)}
.consumer-review-overview>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:7px;padding:8px 10px;border-radius:10px}.overview-dot{grid-row:1/3;align-self:center;width:7px;height:7px;border-radius:50%;background:var(--ink-4)}.consumer-review-overview strong{font-size:14px;line-height:1.1}.consumer-review-overview small{font-size:10.5px;color:var(--ink-3);line-height:1.25}.consumer-review-overview .positive .overview-dot{background:var(--pos)}.consumer-review-overview .neutral .overview-dot{background:var(--neu)}.consumer-review-overview .negative .overview-dot{background:var(--neg)}
.consumer-review-controls{display:flex;align-items:stretch;gap:10px;padding:18px 28px 12px}
.consumer-review-tools{display:flex;gap:5px;flex-wrap:nowrap;padding:4px;background:var(--surface-2);border-radius:var(--r-sm)}
.review-filter{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--ink-2);border-radius:10px;padding:7px 10px;font:500 12px/1.2 inherit;cursor:pointer;white-space:nowrap;transition:background var(--t),color var(--t),box-shadow var(--t)}
.review-filter b{font-size:9.5px;color:var(--ink-3);background:rgba(255,255,255,.75);padding:2px 5px;border-radius:var(--r-pill)}
.review-filter.active{background:var(--surface);color:var(--accent-ink);box-shadow:var(--sh-sm)}.review-filter.active b{color:var(--accent-ink);background:var(--accent-soft)}
.consumer-review-search{flex:1;display:flex;align-items:center;gap:9px;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:9px 12px;background:var(--surface)}
.consumer-review-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(63,98,69,.08)}
.consumer-review-search svg{width:17px;height:17px;color:var(--ink-3);stroke-width:1.7;flex:0 0 auto}
.consumer-review-search input{border:0;outline:0;background:transparent;color:var(--ink);font:inherit;width:100%;min-width:0}
.consumer-review-resultbar{display:flex;justify-content:space-between;gap:12px;padding:0 30px 10px;color:var(--ink-3);font-size:11.5px}.consumer-review-resultbar span:first-child{color:var(--ink-2);font-weight:500}
.consumer-review-list{display:flex;flex-direction:column;gap:9px;max-height:660px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0 20px 22px;padding:4px 8px 4px 8px}
.consumer-review-list:focus-visible{outline:3px solid rgba(63,98,69,.2);outline-offset:3px;border-radius:var(--r-sm)}
.consumer-review-list::-webkit-scrollbar{width:8px}.consumer-review-list::-webkit-scrollbar-track{background:var(--surface-2);border-radius:var(--r-pill)}.consumer-review-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}.consumer-review-list::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}
.consumer-review-card{position:relative;padding:18px 20px;border:1px solid var(--border);border-left:3px solid var(--ink-4);border-radius:var(--r-sm);background:var(--surface);transition:border-color var(--t),box-shadow var(--t),background var(--t),transform var(--t)}
.consumer-review-card[data-sentiment="positive"]{border-left-color:var(--pos)}.consumer-review-card[data-sentiment="neutral"]{border-left-color:var(--neu)}.consumer-review-card[data-sentiment="negative"]{border-left-color:var(--neg)}
.consumer-review-card:hover{border-color:var(--border-strong);box-shadow:var(--sh-sm);transform:translateY(-1px)}
.consumer-review-card.evidence-focus{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px rgba(63,98,69,.08)}
.consumer-review-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.consumer-review-id{display:flex;align-items:center;gap:9px}.review-quote{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent-ink)}.review-quote svg{width:16px;height:16px;stroke-width:1.7}.consumer-review-id div{display:flex;align-items:baseline;gap:5px}.consumer-review-id small{font-size:11px;color:var(--ink-3)}.consumer-review-id strong{font-size:11.5px;color:var(--ink-2)}
.review-sentiment{padding:3px 7px;border-radius:var(--r-pill);font-weight:500}.review-sentiment.positive{background:var(--pos-soft);color:var(--pos-ink)}.review-sentiment.neutral{background:var(--neu-soft);color:var(--neu-ink)}.review-sentiment.negative{background:var(--neg-soft);color:var(--neg-ink)}
.consumer-review-text{font-size:14.5px;line-height:1.8;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;padding:0 2px}
.consumer-review-text mark{background:#f9e6dc;color:inherit;border-radius:3px;padding:0 2px}
.consumer-review-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:12px;border-top:1px solid var(--border)}
.consumer-review-facts{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:11px}.review-rating{display:inline-flex;align-items:center;gap:4px;color:var(--neu-ink)}.review-rating svg{width:13px;height:13px;fill:var(--neu);stroke:none}.review-rating strong{font-size:11px}.consumer-review-aspects{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.consumer-review-aspects span{font-size:10.5px;color:var(--ink-2);background:var(--surface-2);padding:3px 7px;border-radius:var(--r-pill)}
.consumer-review-empty{text-align:center;color:var(--ink-2);font-size:13.5px;padding:30px;margin:0 28px 22px;border:1px dashed var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2)}

/* Evidence drawer: desktop side sheet, mobile bottom sheet */
body.evidence-open{overflow:hidden}
.evidence-drawer-shell{position:fixed;inset:0;z-index:260;display:grid;grid-template-columns:1fr min(520px,92vw);grid-template-rows:minmax(0,1fr);overflow:hidden}
.evidence-backdrop{grid-column:1/-1;grid-row:1;border:0;background:rgba(20,23,33,.42);backdrop-filter:blur(2px);cursor:pointer}
.evidence-drawer{grid-column:2;grid-row:1;position:relative;background:var(--surface);height:100%;min-height:0;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:-18px 0 55px rgba(20,23,33,.16);padding:24px;animation:drawerIn .22s var(--ease)}
@keyframes drawerIn{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
.evidence-drawer-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.evidence-drawer-head h3{font-size:19px;overflow-wrap:anywhere}.evidence-drawer-head p{font-size:12.5px;color:var(--ink-2);line-height:1.55;margin-top:5px}
.evidence-drawer-list{display:flex;flex-direction:column;gap:10px;overflow-x:hidden;overflow-y:auto;min-height:0;padding:16px 8px 16px 0;flex:1;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.evidence-drawer-list::-webkit-scrollbar{width:8px}.evidence-drawer-list::-webkit-scrollbar-track{background:var(--surface-2);border-radius:var(--r-pill)}.evidence-drawer-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}
.evidence-drawer-list .consumer-review-card{display:block}
.evidence-drawer-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:16px;border-top:1px solid var(--border)}

/* operator alerting */
.critical-panel{border-color:#fbe7df}.critical-panel.report-ending{margin-top:16px;margin-bottom:4px;background:linear-gradient(180deg,#fff 0,#fffdfa 100%)}
.panel-kicker{font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--neg-ink);margin-bottom:5px}
.critical-count{font-size:12px;color:var(--neg-ink);background:var(--neg-soft);padding:5px 10px;border-radius:var(--r-pill)}
.critical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.critical-card{border:1px solid #f9dfd3;border-left:4px solid var(--neu);border-radius:var(--r-sm);padding:17px;background:#fffdfa}
.critical-card.critical{border-color:#dfb0a2;border-left-color:var(--neg);background:#fffdfa}
.critical-top{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--ink-3);margin-bottom:9px}.severity-pill{font-weight:700;color:var(--neu-ink);letter-spacing:.02em}.critical .severity-pill{color:var(--neg-ink)}
.critical-card h4{font-size:15.5px;margin-bottom:4px}.critical-why{font-size:13px;color:var(--ink-2);line-height:1.6}
.strategy-box{margin-top:13px;padding:12px 13px;background:rgba(255,255,255,.78);border:1px solid var(--border);border-radius:9px}.strategy-box strong{font-size:11.5px;letter-spacing:.02em;color:var(--accent-ink)}.strategy-box p{font-size:13px;color:var(--ink-2);line-height:1.65;margin-top:4px}

/* ===================== Metric cards ===================== */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:22px 24px;box-shadow:var(--sh-sm);transition:border-color var(--t),box-shadow var(--t)}
.metric:hover{box-shadow:var(--sh-md);border-color:var(--border-strong)}
.metric .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.metric .tag{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;letter-spacing:.01em}
.metric .tag .dot{width:9px;height:9px;border-radius:50%}
.metric .count{font-size:12.5px;color:var(--ink-2)}
.metric .val{font-size:34px;font-weight:600;line-height:1;letter-spacing:-1px;margin-bottom:14px}
.metric .track{height:6px;background:var(--surface-2);border-radius:var(--r-pill);overflow:hidden}
.metric .track .fill{height:100%;border-radius:var(--r-pill);transition:width .6s var(--ease)}
.metric.pos .tag{color:var(--pos-ink)} .metric.pos .dot{background:var(--pos)} .metric.pos .val{color:var(--pos-ink)} .metric.pos .fill{background:var(--pos)}
.metric.neg .tag{color:var(--neg-ink)} .metric.neg .dot{background:var(--neg)} .metric.neg .val{color:var(--neg-ink)} .metric.neg .fill{background:var(--neg)}
.metric.neu .tag{color:var(--neu-ink)} .metric.neu .dot{background:var(--neu)} .metric.neu .val{color:var(--neu-ink)} .metric.neu .fill{background:var(--neu)}

/* ===================== Panels / grid ===================== */
.lower{display:grid;grid-template-columns:330px 1fr;grid-template-rows:430px;gap:16px;align-items:stretch}
.lower>.panel{height:430px;min-height:0}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm);padding:26px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:21px;flex-wrap:wrap}
.panel h3{font-size:17px;font-weight:600;letter-spacing:-.2px;line-height:1.4}
.panel .sub-h{font-size:13.5px;color:var(--ink-2);font-weight:400;line-height:1.6;margin-top:3px}

/* donut */
.donut{width:186px;height:186px;border-radius:50%;margin:6px auto 22px;position:relative}
.donut .hole{position:absolute;inset:28px;background:var(--surface);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut .hole .num{font-size:30px;font-weight:600;line-height:1;letter-spacing:-1px}
.donut .hole .lbl{font-size:12.5px;color:var(--ink-2);margin-top:4px;letter-spacing:.01em}
.legend{display:flex;flex-direction:column;gap:11px}
.legend .item{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2)}
.legend .item .nm{display:flex;align-items:center;gap:9px}
.legend .swatch{width:10px;height:10px;border-radius:3px}
.legend .item .n{margin-left:auto;font-weight:500;color:var(--ink)}

/* ===================== Result panel (tabs/filter) ===================== */
.result-panel{display:flex;flex-direction:column;overflow:hidden}
.result-panel>.panel-head{flex:0 0 auto}
.result-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:7px}
.result-scroll::-webkit-scrollbar{width:8px}
.result-scroll::-webkit-scrollbar-track{background:var(--surface-2);border-radius:var(--r-pill)}
.result-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}
.result-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}
#view-keywords.result-scroll{margin-top:8px}
.seg{display:inline-flex;gap:3px;background:var(--surface-2);padding:3px;border-radius:var(--r-sm)}
.seg button{padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--ink-2);border:none;background:transparent;transition:all var(--t)}
.seg button.active{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}

.tools{display:flex;align-items:center;gap:8px}
.dropdown{position:relative}
.dropdown-menu{position:absolute;right:0;top:42px;z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--sh-md);padding:5px;min-width:160px;display:none;animation:pop .14s var(--ease)}
.dropdown-menu.open{display:block}
@keyframes pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.dropdown-menu .mi{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:13.5px;color:var(--ink);transition:background var(--t)}
.dropdown-menu .mi:hover{background:var(--surface-2)}
.dropdown-menu .mi.active{background:var(--accent-soft);color:var(--accent-ink)}
.dropdown-menu .mi svg{width:15px;height:15px}
.dropdown-menu .sep{height:1px;background:var(--border);margin:5px 4px}

/* ===================== Reviews table ===================== */
.tbl-wrap{margin-top:16px;overflow-x:auto;overflow-y:auto}
table.reviews{width:100%;border-collapse:collapse}
table.reviews th{position:sticky;top:0;z-index:2;background:var(--surface);text-align:left;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--ink-2);padding:0 12px 11px}
table.reviews th.r{text-align:right;width:130px}
table.reviews td{padding:14px 12px;border-top:1px solid var(--border);vertical-align:top}
table.reviews tr:hover td{background:var(--surface-hover)}
.review-text{font-size:14px;line-height:1.75;color:var(--ink)}
.rating{display:inline-flex;gap:1px;margin-bottom:5px;color:var(--neu)}
.rating svg{width:13px;height:13px;fill:currentColor;stroke:none}
.rating .off{color:var(--border-strong)}
.sent-cell{text-align:right;white-space:nowrap}

.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-pill);font-size:12.5px;font-weight:500}
.badge .bdot{width:6px;height:6px;border-radius:50%}
.badge.pos{background:var(--pos-soft);color:var(--pos-ink)} .badge.pos .bdot{background:var(--pos)}
.badge.neg{background:var(--neg-soft);color:var(--neg-ink)} .badge.neg .bdot{background:var(--neg)}
.badge.neu{background:var(--neu-soft);color:var(--neu-ink)} .badge.neu .bdot{background:var(--neu)}

/* ===================== Keywords ===================== */
.kw-aspect{padding:16px 0;border-top:1px solid var(--border)}
.kw-aspect:first-child{border-top:none;padding-top:6px}
.kw-aspect .title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;margin-bottom:13px}
.kw-aspect .title .ai{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2)}
.kw-aspect .title .ai svg{width:17px;height:17px;stroke-width:1.8}
.kw-aspect .title .cnt{margin-left:auto;font-size:12.5px;font-weight:400;color:var(--ink-2)}
.kw-group{margin-bottom:12px}
.kw-group:last-of-type{margin-bottom:0}
.kw-glabel{font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:8px;letter-spacing:.01em}
.kw-glabel.up{color:var(--pos-ink)}
.kw-glabel.down{color:var(--neg-ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:var(--r-pill);font-size:13px;font-weight:500;transition:transform var(--t)}
.chip .kc{font-size:10px;font-weight:600;opacity:.55;margin-left:1px}
.chip:hover{transform:translateY(-1px)}
.chip .cdot{width:6px;height:6px;border-radius:50%;opacity:.7}
.chip.pos{background:var(--pos-soft);color:var(--pos-ink)} .chip.pos .cdot{background:var(--pos)}
.chip.neg{background:var(--neg-soft);color:var(--neg-ink)} .chip.neg .cdot{background:var(--neg)}
.chip.neu{background:var(--neu-soft);color:var(--neu-ink)} .chip.neu .cdot{background:var(--neu)}
.chip.topic{background:var(--surface-2);color:var(--ink-2)} .chip.topic .cdot{background:var(--ink-3)}
.kw-topics{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}
.kw-glabel.muted{color:var(--ink-3);font-weight:500}
.kw-empty{color:var(--ink-2);font-size:13.5px;font-style:italic}
.result-more-wrap{text-align:center;padding-top:16px;border-top:1px solid var(--border);margin-top:12px}

/* ===================== Insights ===================== */
.actionable-panel{background:linear-gradient(145deg,#fff 0,#fffdfa 100%);padding:28px}
.actionable-panel .panel-head{margin-bottom:20px}
.actionable-kicker{font-size:11.5px;font-weight:700;letter-spacing:.055em;color:var(--accent-ink);margin-bottom:5px}
.actionable-panel h3{font-size:22px;letter-spacing:-.4px}
.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}
.insight{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:19px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:0 6px 22px rgba(47,75,48,.045)}
.insight::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--ink-4)}
.insight.improve::before{background:var(--neg)}
.insight.strength::before{background:var(--pos)}
.insight.neutral::before{background:var(--neu)}
.insight-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:3px 0 16px;border-bottom:1px solid var(--border)}
.insight-identity{display:flex;align-items:center;gap:10px;min-width:0}
.insight .ic{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2)}
.insight .ic svg{width:19px;height:19px;stroke-width:1.8}
.insight.improve .ic{background:var(--neg-soft);color:var(--neg-ink)}
.insight.strength .ic{background:var(--pos-soft);color:var(--pos-ink)}
.insight.neutral .ic{background:var(--neu-soft);color:var(--neu-ink)}
.insight-aspect-label{display:block;font-size:10.5px;color:var(--ink-3);line-height:1.3;margin-bottom:2px}
.insight-title{font-size:17px;line-height:1.3;letter-spacing:-.15px;margin:0}
.insight-meta{display:flex;align-items:center;flex-shrink:0}
.insight .tagline{font-size:10.5px;font-weight:700;white-space:nowrap;padding:4px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2)}
.insight.improve .tagline{background:var(--neg-soft);color:var(--neg-ink)}
.insight.strength .tagline{background:var(--pos-soft);color:var(--pos-ink)}
.insight.neutral .tagline{background:var(--neu-soft);color:var(--neu-ink)}
.insight-strategy{margin-top:15px;padding:14px;border-radius:11px;background:var(--accent-soft)}
.insight-strategy strong,.insight-reason strong,.insight-evidence-wrap>span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--accent-ink);margin-bottom:5px}
.insight-strategy p{font-size:13.5px;line-height:1.7;color:var(--ink);margin:0}
.insight-reason{margin-top:15px}
.insight-reason strong{color:var(--ink-3)}
.insight-reason p{font-size:13px;color:var(--ink-2);line-height:1.65;margin:0}
.insight-evidence-wrap{margin-top:15px}
.insight-evidence-wrap>span{color:var(--ink-3)}
.insight-evidence{display:flex;gap:6px;flex-wrap:wrap}.insight-evidence button{border:1px solid var(--border);font:inherit;cursor:pointer;font-size:11.5px;padding:5px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2)}.insight-evidence button:not(:disabled):hover{border-color:var(--border-strong);background:var(--surface-hover)}.insight-evidence button:disabled{cursor:not-allowed;opacity:.65}.insight-evidence b{margin-left:3px;color:var(--ink-3)}
.insight-footer{margin-top:auto;padding-top:12px}.insight-footer .evidence-link{margin-top:0}

/* ===================== Operator action plan ===================== */
.operator-command{position:relative;margin-bottom:18px;padding:14px 30px 30px;border:1px solid #e8d7b5;border-radius:24px;background:linear-gradient(145deg,#fff 0,#fff7e5 100%);box-shadow:0 18px 54px rgba(47,75,48,.09);overflow:hidden}
.operator-command::after{content:"";position:absolute;left:-110px;top:290px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(185,207,173,.09),transparent 68%);pointer-events:none}
.operator-command-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(380px,.7fr);gap:44px;min-height:338px;margin:0 -16px 34px;padding:45px 46px;overflow:hidden;border-radius:20px;background:radial-gradient(circle at 75% -20%,rgba(185,207,173,.24),transparent 40%),linear-gradient(135deg,#2a4430 0%,#36543b 58%,#3f6245 100%);color:#fff;box-shadow:0 22px 48px rgba(30,42,31,.18)}
.operator-command-hero::before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to left,#000,transparent 72%);pointer-events:none}
.operator-command-copy{position:relative;z-index:1;align-self:center;max-width:720px}
.operator-command-copy .operator-plan-kicker{color:#fff0d1}.operator-command-copy .operator-plan-kicker span{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#b9cfad;box-shadow:0 0 0 5px rgba(185,207,173,.12)}
.operator-command-copy h2{max-width:700px;margin:11px 0 14px;font-size:clamp(32px,3.6vw,52px);line-height:1.12;letter-spacing:-1.8px;font-weight:600;text-wrap:balance}
.operator-command-copy>p{max-width:650px;margin:0;color:rgba(255,253,250,.72);font-size:14.5px;line-height:1.75}
.operator-command-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:23px}.operator-command-meta>span{color:rgba(247,243,239,.52);font-size:10.5px}.operator-command-meta .evidence-link{margin-top:0;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#fff7e5}.operator-command-meta .evidence-link:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.32)}
.operator-command-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-content:center}
.command-stat{display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:17px 18px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.075);backdrop-filter:blur(8px)}
.command-stat>span{color:rgba(247,243,239,.62);font-size:10.5px}.command-stat>strong{margin:4px 0 1px;color:#fff;font-size:30px;line-height:1.1;font-weight:600}.command-stat>strong small{font-size:.48em;color:rgba(255,255,255,.6)}.command-stat>small{color:rgba(247,243,239,.5);font-size:9.5px}
.command-stat.featured{background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07))}.command-stat.featured i{position:relative;display:block;height:3px;margin-top:12px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}.command-stat.featured i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--stat-progress);border-radius:inherit;background:#b9cfad}
.operator-evidence-overview{position:relative;z-index:1;margin:0 0 30px;padding:20px;border:1px solid #e8d7b5;border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 7px 24px rgba(47,75,48,.04)}
.operator-evidence-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.operator-evidence-overview-head h3{margin:0;font-size:20px;line-height:1.3;letter-spacing:-.35px}.operator-evidence-overview-head p{margin:4px 0 0;color:var(--ink-2);font-size:12px}.operator-evidence-total{display:inline-flex;align-items:baseline;gap:5px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);font-size:10.5px;white-space:nowrap}.operator-evidence-total b{color:var(--ink);font-size:14px}
.operator-evidence-body{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:20px;padding-top:16px;border-top:1px solid var(--border)}.operator-overview-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.operator-overview-chart>span{color:var(--ink-3);font-size:10.5px}.operator-overview-donut{display:grid;place-items:center;width:142px;height:142px;padding:14px;border-radius:50%;box-shadow:0 12px 30px rgba(47,75,48,.12)}.operator-overview-donut>div{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px rgba(47,75,48,.06)}.operator-overview-donut strong{font-size:30px;line-height:1;color:var(--ink)}.operator-overview-donut span{margin-top:4px;color:var(--ink-3);font-size:10.5px}.operator-evidence-breakdown{min-width:0}
.operator-sentiment-track{display:flex;height:8px;margin-bottom:10px;overflow:hidden;border-radius:var(--r-pill);background:var(--surface-2)}.operator-sentiment-track i{display:block;height:100%}.operator-sentiment-track .positive{background:var(--pos)}.operator-sentiment-track .neutral{background:var(--neu)}.operator-sentiment-track .negative{background:var(--neg)}
.operator-sentiment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.operator-sentiment-summary article{min-width:0;padding:13px 14px;border:1px solid var(--border);border-radius:13px;background:#fff}.operator-sentiment-summary article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.operator-sentiment-summary article>div span{display:flex;align-items:center;gap:7px;color:var(--ink-2);font-size:11px}.operator-sentiment-summary article>div span i{width:7px;height:7px;border-radius:50%;background:var(--ink-4)}.operator-sentiment-summary article>div strong{font-size:20px;letter-spacing:-.35px}.operator-sentiment-summary article.positive>div span i{background:var(--pos)}.operator-sentiment-summary article.neutral>div span i{background:var(--neu)}.operator-sentiment-summary article.negative>div span i{background:var(--neg)}.operator-sentiment-summary article.positive>div strong{color:var(--pos-ink)}.operator-sentiment-summary article.neutral>div strong{color:var(--neu-ink)}.operator-sentiment-summary article.negative>div strong{color:var(--neg-ink)}
.operator-sentiment-summary footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;color:var(--ink-3);font-size:10.5px}.operator-sentiment-summary footer .evidence-link{margin:0;padding:5px 7px;font-size:10px}.operator-sentiment-summary footer .evidence-link svg{width:12px;height:12px}
.operator-plan-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.operator-plan-kicker{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:7px}
.operator-plan-head h3{font-size:25px;line-height:1.25;letter-spacing:-.55px;margin:0}
.operator-plan-head>div>p{max-width:680px;margin:8px 0 0;color:var(--ink-2);font-size:13.5px;line-height:1.65}
.operator-plan-summary{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:390px}
.operator-plan-summary span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-pill);background:rgba(255,255,255,.8);color:var(--ink-2);font-size:11.5px;white-space:nowrap}
.operator-plan-summary b{font-size:13px;color:var(--ink)}
.operator-plan-summary .first{border-color:rgba(166,23,7,.24);background:var(--neg-soft);color:var(--neg-ink)}
.operator-plan-summary .improve{border-color:#d9c191;background:#fff0d1;color:#805500}
.operator-plan-summary .maintain{border-color:rgba(63,98,69,.2);background:var(--pos-soft);color:var(--pos-ink)}
.operator-plan-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.operator-task{position:relative;display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.92);box-shadow:0 7px 24px rgba(47,75,48,.05);overflow:hidden}
.operator-task::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--ink-4)}
.operator-task.lead{grid-column:1/-1;padding:22px}
.operator-task.first::before{background:var(--neg)}
.operator-task.improve::before{background:#b9cfad}
.operator-task.monitor::before{background:var(--neu)}
.operator-task.maintain::before{background:var(--pos)}
.operator-task.collect::before{background:var(--ink-4)}
.operator-task-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.operator-task-rank{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface-2);color:var(--ink-2);font-size:12px;font-weight:700}
.operator-task.first .operator-task-rank{background:var(--neg-soft);color:var(--neg-ink)}
.operator-task.improve .operator-task-rank{background:#fff0d1;color:#805500}
.operator-task.maintain .operator-task-rank{background:var(--pos-soft);color:var(--pos-ink)}
.operator-task-title{min-width:0}.operator-task-title>span{display:block;margin-bottom:3px;color:var(--ink-3);font-size:10.5px;font-weight:600}.operator-task-title h3{margin:0;font-size:17px;line-height:1.4;letter-spacing:-.2px;overflow-wrap:anywhere}
.operator-task-labels{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}
.operator-priority-pill{display:inline-flex;padding:5px 9px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);font-size:10.5px;font-weight:700;white-space:nowrap}
.operator-task.first .operator-priority-pill{background:var(--neg-soft);color:var(--neg-ink)}
.operator-task.improve .operator-priority-pill{background:#fff0d1;color:#805500}
.operator-task.maintain .operator-priority-pill{background:var(--pos-soft);color:var(--pos-ink)}
.operator-task-signals{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:13px}
.operator-task-signals span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:10.5px}.operator-task-signals b{color:var(--ink);font-size:11.5px}.operator-task-signals .positive b{color:var(--pos-ink)}.operator-task-signals .negative b{color:var(--neg-ink)}
.operator-task-detail{margin-top:13px;border-top:1px solid var(--border)}.operator-task-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 2px 1px;color:var(--accent-ink);font-size:12px;font-weight:650;cursor:pointer;list-style:none}.operator-task-detail>summary::-webkit-details-marker{display:none}.operator-task-detail>summary b{font-size:16px;transition:transform var(--t)}.operator-task-detail[open]>summary b{transform:rotate(180deg)}.operator-task-detail-content{animation:operator-detail-in .18s ease-out}
.operator-task-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;margin-top:14px}
.operator-task:not(.lead) .operator-task-body{grid-template-columns:1fr}
.operator-task-context,.operator-task-action{padding:13px 14px;border-radius:12px;background:var(--surface-2)}
.operator-task-action{background:var(--accent-soft)}
.operator-task-context strong,.operator-task-action strong,.operator-task-check strong{display:block;margin-bottom:5px;color:var(--ink-3);font-size:11px;font-weight:700;letter-spacing:.02em}
.operator-task-action strong{color:var(--accent-ink)}
.operator-task-context p,.operator-task-action p,.operator-task-check p{margin:0;color:var(--ink-2);font-size:12.5px;line-height:1.65;overflow-wrap:anywhere}.operator-task-action p{color:var(--ink)}
.operator-task-check{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 13px;border:1px dashed var(--border-strong);border-radius:12px;background:#fff}
.operator-task-check>span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:8px;background:var(--surface-2);color:var(--accent);font-size:13px}.operator-task-check strong{margin-bottom:2px;color:var(--ink-2)}
.operator-task-footer{margin-top:auto;padding-top:12px}.operator-task-footer .evidence-link{margin-top:0}
.operator-plan-empty{grid-column:1/-1;padding:30px;border:1px dashed var(--border-strong);border-radius:16px;background:rgba(255,255,255,.72);text-align:center}.operator-plan-empty strong{display:block;font-size:15px;color:var(--ink)}.operator-plan-empty p{max-width:520px;margin:6px auto 0;color:var(--ink-2);font-size:13px;line-height:1.65}
.operator-deep-dive{margin-bottom:18px;border:1px solid #e8d7b5;border-radius:22px;background:linear-gradient(125deg,#fff 0%,#fff7e5 58%,#fff8e8 100%);box-shadow:0 12px 32px rgba(47,75,48,.07);overflow:hidden}.operator-deep-dive>summary{position:relative;display:grid;grid-template-columns:auto minmax(250px,1fr) auto auto;align-items:center;gap:20px;min-height:116px;padding:18px 22px;cursor:pointer;list-style:none;transition:background var(--t)}.operator-deep-dive>summary:hover{background:rgba(255,255,255,.52)}.operator-deep-dive>summary::-webkit-details-marker{display:none}.operator-deep-dive-step{display:grid;grid-template-rows:auto 13px auto;place-items:center;width:46px;color:var(--accent-ink)}.operator-deep-dive-step b{font-size:11px;line-height:1}.operator-deep-dive-step i{width:1px;height:9px;background:#d9c191}.operator-deep-dive-copy{display:flex;min-width:0;flex-direction:column}.operator-deep-dive-copy>small{display:flex;align-items:center;gap:7px;color:var(--accent-ink);font-size:11px;font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.operator-deep-dive-copy>small>span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(63,98,69,.1)}.operator-deep-dive-copy>strong{margin-top:5px;color:var(--ink);font-size:18px;line-height:1.35;letter-spacing:-.25px}.operator-deep-dive-copy>em{margin-top:4px;color:var(--ink-2);font-size:12px;font-style:normal;line-height:1.55}.operator-deep-dive-preview{display:grid;grid-template-columns:repeat(3,minmax(76px,1fr));gap:7px}.operator-deep-dive-preview>span{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;justify-content:center;column-gap:6px;min-height:68px;padding:9px 10px;border:1px solid rgba(63,98,69,.12);border-radius:13px;background:rgba(255,255,255,.78)}.operator-deep-dive-preview i{display:grid;grid-row:1;width:21px;height:21px;place-items:center;border-radius:7px;background:var(--accent-soft);color:var(--accent-ink);font-size:10px;font-style:normal;font-weight:800}.operator-deep-dive-preview b{grid-row:1;color:var(--ink);font-size:18px;line-height:1}.operator-deep-dive-preview small{grid-column:1/-1;margin-top:4px;color:var(--ink-3);font-size:10px;white-space:nowrap}.operator-deep-dive-action{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px 8px 14px;border:1px solid rgba(63,98,69,.2);border-radius:var(--r-pill);background:#fff;color:var(--accent-ink);font-size:11.5px;font-weight:700;white-space:nowrap}.operator-deep-dive-action>b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#36543b;color:#fff;font-size:14px;transition:transform var(--t)}.operator-deep-dive[open] .operator-deep-dive-action>b{transform:rotate(180deg)}.operator-deep-dive[open] .operator-deep-dive-action>span{font-size:0}.operator-deep-dive[open] .operator-deep-dive-action>span::after{content:"ย่อแผน";font-size:11.5px}.operator-deep-dive-content{padding:0 12px 12px;animation:operator-detail-in .2s ease-out}.operator-deep-dive-content .operator-playbook{margin-bottom:12px}.operator-deep-dive-content .operator-checkpoints{margin-bottom:0}@keyframes operator-detail-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.operator-playbook{margin-bottom:18px;padding:30px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--sh-sm)}
.operator-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}.operator-section-heading h2{margin:0;font-size:25px;line-height:1.25;letter-spacing:-.55px}.operator-section-heading>p{max-width:510px;margin:0;color:var(--ink-2);font-size:12.5px;line-height:1.65}
.playbook-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.playbook-lane{min-width:0;padding:15px;border:1px solid var(--border);border-radius:19px;background:#fffdfa}.playbook-lane>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:4px 4px 15px}.playbook-lane>header small{display:block;color:var(--ink-3);font-size:8.5px;font-weight:700;letter-spacing:.12em}.playbook-lane>header h3{margin-top:2px;font-size:15px;line-height:1.3}.playbook-lane>header>b{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#fff;color:var(--ink-2);font-size:11px;box-shadow:var(--sh-sm)}
.playbook-lane-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-size:14px;font-weight:700}.risk-lane .playbook-lane-icon{background:var(--neg-soft);color:var(--neg-ink)}.growth-lane .playbook-lane-icon{background:var(--pos-soft);color:var(--pos-ink)}
.playbook-stack{display:flex;flex-direction:column;gap:9px}.playbook-card{position:relative;padding:16px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(47,75,48,.035);transition:transform var(--t),border-color var(--t),box-shadow var(--t)}.playbook-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 10px 24px rgba(47,75,48,.07)}.playbook-card::before{content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:3px;border-radius:0 4px 4px 0}.risk-lane .playbook-card::before{background:#c23f13}.growth-lane .playbook-card::before{background:#3f6245}
.playbook-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.playbook-card-top span{color:var(--ink-3);font-size:10px}.playbook-card-top small{padding:4px 7px;border-radius:99px;background:var(--surface-2);color:var(--ink-2);font-size:9.5px}.risk-lane .playbook-card-top small{background:var(--neg-soft);color:var(--neg-ink)}.growth-lane .playbook-card-top small{background:var(--pos-soft);color:var(--pos-ink)}
.playbook-card h4{margin:7px 0 5px;font-size:17px;line-height:1.35;letter-spacing:-.2px}.playbook-signal{color:var(--ink-3);font-size:10.5px}.playbook-signal b{color:var(--ink-2)}.playbook-card>p{margin:12px 0 0;padding-top:11px;border-top:1px solid var(--border);color:var(--ink-2);font-size:12px;line-height:1.65}.playbook-card .evidence-link{margin-top:12px}.playbook-empty{display:flex;min-height:130px;flex-direction:column;align-items:center;justify-content:center;padding:22px;border:1px dashed var(--border-strong);border-radius:14px;text-align:center}.playbook-empty strong{font-size:12.5px}.playbook-empty span{max-width:300px;margin-top:4px;color:var(--ink-3);font-size:11px}
.operator-checkpoints{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.8fr);gap:24px;margin-bottom:18px;padding:28px 30px;border:1px solid #e8d7b5;border-radius:22px;background:linear-gradient(110deg,#fff8e8,#fff7e5);box-shadow:var(--sh-sm)}.checkpoint-intro h2{margin:0;font-size:21px;letter-spacing:-.35px}.checkpoint-intro>p{margin:6px 0 0;color:var(--ink-2);font-size:11.5px}.checkpoint-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.checkpoint-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:13px;border:1px solid rgba(63,98,69,.12);border-radius:13px;background:rgba(255,255,255,.72)}.checkpoint-list article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font-size:9.5px}.checkpoint-list strong{display:block;font-size:11.5px}.checkpoint-list p{display:-webkit-box;margin:3px 0 0;color:var(--ink-2);font-size:10.5px;line-height:1.55;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lower.operator-result-only{grid-template-columns:1fr;grid-template-rows:auto}
.lower.operator-result-only>.operator-result-panel{height:620px;padding:0;overflow:hidden;border-radius:24px;background:#fff7e5;box-shadow:0 14px 42px rgba(47,75,48,.075)}
.operator-result-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px 30px 24px;overflow:hidden;border-bottom:1px solid var(--border);background:radial-gradient(circle at 92% -70%,rgba(185,207,173,.18),transparent 42%),linear-gradient(120deg,#fff,#fff7e5)}.operator-result-header::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}
.operator-result-copy{position:relative;z-index:1}.operator-result-kicker{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:var(--accent-ink);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.operator-result-kicker span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(63,98,69,.1)}.operator-result-copy h2{margin:0;font-size:25px;line-height:1.25;letter-spacing:-.55px}.operator-result-copy p{max-width:560px;margin:6px 0 0;color:var(--ink-2);font-size:12.5px;line-height:1.6}
.operator-result-counts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:7px}.operator-result-counts article{min-width:82px;padding:10px 12px;border:1px solid rgba(63,98,69,.12);border-radius:12px;background:rgba(255,255,255,.82)}.operator-result-counts strong{display:block;color:var(--ink);font-size:22px;line-height:1}.operator-result-counts span{display:block;margin-top:4px;color:var(--ink-3);font-size:9.5px}.operator-result-counts .positive strong{color:var(--pos-ink)}.operator-result-counts .negative strong{color:var(--neg-ink)}
.operator-result-toolbar{display:flex;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border);background:#fff}.operator-result-toolbar .seg{border:1px solid var(--border);background:var(--surface-2)}.operator-result-toolbar .seg button{min-height:36px;padding:7px 18px}.operator-result-toolbar .seg button.active{color:var(--accent-ink)}.operator-filter-wrap{margin-left:auto}.operator-filter-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 13px;border:1px solid var(--border-strong);border-radius:11px;background:#fff;color:var(--ink-2);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;transition:border-color var(--t),background var(--t),color var(--t)}.operator-filter-button:hover,.operator-filter-button[aria-expanded="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.operator-filter-button svg{width:16px;height:16px}
.operator-result-panel #view-all{margin:0;padding:0 16px 16px;background:#fff7e5}.operator-result-panel table.reviews{border-collapse:separate;border-spacing:0 9px}.operator-result-panel table.reviews th{top:0;padding:12px 14px 3px;background:#fff7e5;color:var(--ink-3);font-size:10.5px}.operator-result-panel table.reviews th.r{width:120px}.operator-result-panel table.reviews td{padding:15px 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}.operator-result-panel table.reviews td:first-child{border-left:1px solid var(--border);border-radius:14px 0 0 14px}.operator-result-panel table.reviews td:last-child{border-right:1px solid var(--border);border-radius:0 14px 14px 0}.operator-result-panel table.reviews tr:hover td{border-color:var(--border-strong);background:#fff;box-shadow:0 7px 20px rgba(47,75,48,.035)}
.operator-result-panel table.reviews tr.evidence-focus td{border-color:rgba(63,98,69,.45);background:#fff7e5;box-shadow:0 0 0 2px rgba(63,98,69,.1)}
.operator-review-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;color:var(--ink-3);font-size:10.5px}.operator-review-id{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:7px;background:var(--surface-2)}.operator-review-id b{color:var(--ink-2)}.operator-review-meta .rating{align-items:center;margin:0}.operator-review-meta .rating span{color:var(--neu-ink);font-size:10.5px}.operator-review-meta time{padding-left:10px;border-left:1px solid var(--border)}.operator-result-panel .review-text{font-size:13px;line-height:1.7}.operator-review-aspects{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.operator-review-aspects span{padding:4px 7px;border-radius:7px;background:var(--accent-soft);color:var(--accent-ink);font-size:9.5px}.operator-result-panel .sent-cell{padding-top:17px}
.operator-result-panel #view-keywords{margin:0;padding:12px 16px 16px;background:#fff7e5}.operator-result-panel .kw-aspect{margin-bottom:9px;padding:17px 18px;border:1px solid var(--border);border-radius:14px;background:#fff}.operator-result-panel .kw-aspect:first-child{padding-top:17px}.operator-result-panel .kw-aspect:last-child{margin-bottom:0}

/* ===================== History ===================== */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.page-title{font-size:26px;font-weight:600;letter-spacing:-.4px}
.page-sub{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-top:5px}
.hist-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.delete-all-btn{margin-left:auto;border:1px solid rgba(166,23,7,.28);background:var(--surface);color:var(--neg);box-shadow:var(--sh-sm)}
.delete-all-btn:hover{border-color:var(--neg);background:var(--neg-soft)}
.delete-all-btn:disabled{cursor:wait;opacity:.55}
.delete-all-btn svg{width:16px;height:16px}
.search-sm{flex:1;min-width:200px;display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:9px 13px;transition:all var(--t)}
.search-sm:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.search-sm svg{width:16px;height:16px;color:var(--ink-3)}
.search-sm input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:13.5px}

.hist-list{display:flex;flex-direction:column;gap:11px}
.hist-card{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--sh-sm);transition:all var(--t)}
.hist-card:hover{box-shadow:var(--sh-md);border-color:var(--border-strong)}
.hist-main{flex:1;min-width:0;cursor:pointer}
.hist-main .hname{font-weight:600;font-size:16px;margin-bottom:5px;letter-spacing:-.2px;display:flex;align-items:center;gap:8px}
.hist-main .hmeta{font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:8px;line-height:1.5}
.hist-main .hmeta svg{width:13px;height:13px}
.hist-mid{display:flex;align-items:center;gap:14px}
.minibar{display:flex;height:8px;width:140px;border-radius:var(--r-pill);overflow:hidden;background:var(--surface-2)}
.minibar span{display:block;height:100%}
.hpct{font-size:12.5px;color:var(--ink-2);min-width:120px;text-align:right;font-variant-numeric:tabular-nums}
.hpct .p{color:var(--pos-ink)} .hpct .u{color:var(--neu-ink)} .hpct .n{color:var(--neg-ink)}
.hist-actions{display:flex;gap:6px;align-items:center}
.hist-actions .icon-btn{width:34px;height:34px}
.hist-actions .icon-btn svg{width:16px;height:16px}
.saved-star{color:var(--neu)}
.hist-hidden{display:none!important}

/* ===================== Empty state ===================== */
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:70px 20px;color:var(--ink-2)}
.empty-state .ill{width:84px;height:84px;border-radius:22px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:var(--sh-sm)}
.empty-state .ill svg{width:36px;height:36px;color:var(--ink-4);stroke-width:1.5}
.empty-state h4{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:7px}
.empty-state p{font-size:14px;max-width:360px;line-height:1.65;margin-bottom:21px}

/* ===================== Modal ===================== */
.modal-overlay{position:fixed;inset:0;background:rgba(20,23,33,.42);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:200;opacity:0;pointer-events:none;transition:opacity var(--t);padding:20px}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:100%;max-width:400px;padding:24px;transform:scale(.96) translateY(8px);transition:transform var(--t)}
.modal-overlay.open .modal{transform:none}
.modal .m-ic{width:46px;height:46px;border-radius:13px;background:var(--neg-soft);color:var(--neg);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.modal .m-ic svg{width:23px;height:23px;stroke-width:1.9}
.modal h3{font-size:17px;font-weight:600;margin-bottom:7px}
.modal p{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin-bottom:22px}
.modal .m-actions{display:flex;gap:10px;justify-content:flex-end}

/* ===================== Toast ===================== */
.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}
.toast{display:flex;align-items:center;gap:11px;background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--r-pill);box-shadow:var(--sh-lg);font-size:13.5px;font-weight:400;transform:translateY(20px);opacity:0;transition:all .26s var(--ease);pointer-events:auto;max-width:90vw}
.toast.show{transform:none;opacity:1}
.toast .ti{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.toast .ti svg{width:13px;height:13px;stroke-width:2.5;color:#fff}
.toast.ok .ti{background:var(--pos)} .toast.err .ti{background:var(--neg)} .toast.info .ti{background:#36543b}

/* ===================== Loading overlay ===================== */
.loading-overlay{position:fixed;inset:0;background:rgba(255,253,250,.86);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:250;opacity:0;pointer-events:none;transition:opacity .2s var(--ease)}
.loading-overlay.open{opacity:1;pointer-events:auto}
.spinner{width:42px;height:42px;border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:18px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-overlay .lt{font-size:14.5px;font-weight:500;color:var(--ink)}
.loading-overlay .ls{font-size:13px;color:var(--ink-2);margin-top:6px}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ---------- Background job ---------- */
.job-wrap{min-height:calc(100vh - 105px);display:grid;place-items:center;padding:24px}
.job-card{width:min(100%,520px);padding:34px;text-align:center}
.job-card h1{font-size:26px;margin:9px 0 8px}
.job-card>p{color:var(--ink-2);font-size:14.5px;line-height:1.65;max-width:420px;margin:0 auto}
.job-spinner{width:44px;height:44px;border:4px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;margin:0 auto 22px;animation:spin .8s linear infinite}
.job-spinner.failed{animation:none;border-color:var(--neg-soft);position:relative}
.job-spinner.failed::after{content:"×";position:absolute;inset:0;display:grid;place-items:center;color:var(--neg);font-size:27px;line-height:1}
.job-meta{font-size:12.5px;color:var(--ink-2);margin-top:18px}
.job-progress-wrap{margin:24px auto 0;max-width:390px}
.job-progress-wrap.failed{display:none}
.job-progress-wrap progress{width:100%;height:9px;display:block;border:0;border-radius:99px;overflow:hidden;background:var(--surface-2)}
.job-progress-wrap progress::-webkit-progress-bar{background:var(--surface-2);border-radius:99px}
.job-progress-wrap progress::-webkit-progress-value{background:var(--accent);border-radius:99px;transition:width .35s ease}
.job-progress-wrap progress::-moz-progress-bar{background:var(--accent);border-radius:99px}
.job-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:9px;font-size:13px;color:var(--ink-2)}
.job-back{display:inline-flex;margin-top:22px}
.job-background-note{margin:11px auto 0!important;max-width:360px!important;font-size:12px!important;color:var(--ink-3)!important}

/* ---------- Persistent background-analysis tracker ---------- */
.analysis-tracker{position:fixed;right:22px;bottom:22px;z-index:95;width:min(390px,calc(100vw - 28px));display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(63,98,69,.22);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 50px rgba(47,75,48,.2),0 3px 10px rgba(47,75,48,.08);backdrop-filter:blur(16px);animation:tracker-in .24s ease-out}
.analysis-tracker[hidden]{display:none}
.analysis-tracker-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--accent-soft);color:var(--accent)}
.analysis-tracker-icon span{width:20px;height:20px;border:2.5px solid rgba(63,98,69,.22);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}
.analysis-tracker-body{min-width:0}.analysis-tracker-body strong{display:block;color:var(--ink);font-size:13.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analysis-tracker-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px;color:var(--ink-2);font-size:11.5px;line-height:1.35}.analysis-tracker-meta span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analysis-tracker progress{display:block;width:100%;height:5px;margin-top:7px;border:0;border-radius:99px;overflow:hidden;background:var(--surface-2)}
.analysis-tracker progress::-webkit-progress-bar{background:var(--surface-2);border-radius:99px}.analysis-tracker progress::-webkit-progress-value{background:var(--accent);border-radius:99px;transition:width .35s ease}.analysis-tracker progress::-moz-progress-bar{background:var(--accent);border-radius:99px}
.analysis-tracker-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border-radius:999px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:600;white-space:nowrap;transition:transform .15s,background .15s}.analysis-tracker-link:hover{background:var(--accent-dark);transform:translateY(-1px)}
.analysis-tracker-close{position:absolute;right:6px;top:4px;width:25px;height:25px;border:0;background:transparent;color:var(--ink-3);font-size:20px;line-height:1;cursor:pointer}
.analysis-tracker.completed{border-color:rgba(63,98,69,.3)}.analysis-tracker.completed .analysis-tracker-icon span{width:18px;height:10px;border:0;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;border-radius:0;transform:rotate(-45deg) translate(1px,-1px);animation:none}
.analysis-tracker.failed{border-color:rgba(166,23,7,.24)}.analysis-tracker.failed .analysis-tracker-icon{background:var(--neg-soft);color:var(--neg)}.analysis-tracker.failed .analysis-tracker-icon span{width:auto;height:auto;border:0;animation:none}.analysis-tracker.failed .analysis-tracker-icon span::before{content:"×";font-size:25px;line-height:1}.analysis-tracker.failed progress{display:none}
@keyframes tracker-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

/* ===================== Responsive ===================== */
.scrim{display:none;position:fixed;inset:0;background:rgba(20,23,33,.4);z-index:55;opacity:0;transition:opacity var(--t)}

@media(max-width:1024px){
  .lower{grid-template-columns:1fr}
  .donut{margin-bottom:18px}
  .consumer-grid{grid-template-columns:1fr}
  .consumer-grid.single .know-grid{grid-template-columns:1fr}
  .consumer-review-list{grid-template-columns:1fr}
  .operator-command-hero{grid-template-columns:1fr;gap:28px}.operator-command-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.command-stat{min-height:102px;padding:14px}
  .operator-plan-head,.operator-section-heading{flex-direction:column;align-items:flex-start}.operator-plan-summary{justify-content:flex-start;max-width:none}
  .operator-checkpoints{grid-template-columns:1fr}.checkpoint-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  :root{--sidebar-w:min(276px,calc(100vw - 42px))}
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-104%);border-radius:0 20px 20px 0;box-shadow:0 24px 70px rgba(47,75,48,.22);padding:18px 13px}
  body.nav-open .sidebar{transform:none}
  body.nav-open .scrim{display:block;opacity:1}
  body.nav-open{overflow:hidden}
  .sidebar-close{display:grid}
  .sidebar-head{margin-bottom:28px}
  .nav-group>a{min-height:50px}
  .hamburger{display:inline-flex}
  .content{padding:18px;min-width:0;overflow-x:hidden}
  .topbar{padding:12px 16px}
  .metrics{grid-template-columns:1fr;gap:11px}
  .metric .val{font-size:30px}
  .store-name{font-size:24px}
  .dash-head .actions{width:100%}
  .panel{padding:18px}
  .hist-card{flex-wrap:wrap;gap:12px}
  .delete-all-btn{margin-left:0}
  .hist-mid{order:3;width:100%}
  .minibar{width:100%;flex:1}
  .hpct{min-width:0}
  .landing{width:calc(100% + 36px);max-width:none;min-width:0;margin:-18px;padding:40px 18px 44px}
  .landing h1,.landing .sub,.landing .analysis-composer,.landing .search-box{width:100%;max-width:100%}
  .landing h1{font-size:31px;letter-spacing:-1px}.landing .sub{font-size:14px;margin-bottom:22px}.landing .eyebrow{margin-bottom:17px}
  .landing .analysis-composer{padding:10px;border-radius:20px}.landing-options{grid-template-columns:1fr 1fr}.landing-picker.compact{grid-column:1/-1}
  .landing-benefits{max-width:360px}.landing::after{top:210px;width:360px;height:360px}
  .topbar .analysis-composer{flex:0 1 calc(100vw - 84px);width:calc(100vw - 84px);max-width:calc(100vw - 84px);min-width:0}
  .topbar .search-box{width:100%;max-width:100%;min-width:0}
  .topbar .search-box .analyze-btn{width:40px;min-height:38px;padding:5px;font-size:0}.topbar .search-box .analyze-btn span{display:none}.topbar .search-box .analyze-btn svg{width:28px;height:28px;margin:0}
  .analysis-sentence{justify-content:flex-start;padding-inline:6px;font-size:11.5px}
  .analysis-tracker{right:12px;bottom:12px;width:calc(100vw - 24px);grid-template-columns:38px minmax(0,1fr) auto;padding:11px 12px;border-radius:16px}.analysis-tracker-icon{width:38px;height:38px;border-radius:12px}.analysis-tracker-link{min-height:32px;padding-inline:9px}
  .operator-command{padding:8px 16px 20px;border-radius:20px}.operator-command-hero{min-height:0;margin:0 -8px 25px;padding:30px 22px;border-radius:16px}.operator-command-copy h2{font-size:30px;letter-spacing:-1px}.operator-command-copy>p{font-size:13px}.operator-command-meta{align-items:flex-start;flex-direction:column;gap:8px}.operator-command-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.command-stat{min-height:104px;padding:13px}.command-stat>strong{font-size:27px}.operator-plan-head h3{font-size:21px}.operator-plan-list{grid-template-columns:1fr}.operator-task.lead{grid-column:auto;padding:20px}.operator-task-head{grid-template-columns:auto minmax(0,1fr)}.operator-task-labels{grid-column:2;justify-content:flex-start}.operator-task-body{grid-template-columns:1fr}
  .operator-deep-dive>summary{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;min-height:0;padding:16px}.operator-deep-dive-step{width:34px}.operator-deep-dive-copy>strong{font-size:16px}.operator-deep-dive-copy>em{font-size:11.5px}.operator-deep-dive-preview{grid-column:1/-1;width:100%}.operator-deep-dive-action{grid-column:3;grid-row:1}.operator-deep-dive-content{padding:0 7px 7px}
  .operator-evidence-overview{padding:16px 14px;border-radius:15px}.operator-evidence-overview-head{align-items:flex-start;flex-direction:column;gap:9px}.operator-evidence-body{grid-template-columns:1fr;gap:15px}.operator-overview-donut{width:128px;height:128px;padding:12px}.operator-overview-donut strong{font-size:27px}.operator-sentiment-summary{grid-template-columns:1fr}.operator-sentiment-summary article{padding:11px 12px}.operator-sentiment-summary footer{margin-top:5px}
  .operator-playbook{padding:20px 16px;border-radius:20px}.operator-section-heading h2{font-size:21px}.playbook-columns{grid-template-columns:1fr}.playbook-card h4{font-size:16px}
  .operator-checkpoints{padding:22px 18px;border-radius:19px}.checkpoint-list{grid-template-columns:1fr}.checkpoint-list p{-webkit-line-clamp:4}
  .lower.operator-result-only>.operator-result-panel{height:700px;border-radius:19px}.operator-result-header{grid-template-columns:1fr;gap:17px;padding:22px 18px 18px}.operator-result-copy h2{font-size:22px}.operator-result-counts{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.operator-result-counts article{min-width:0;padding:9px}.operator-result-counts strong{font-size:19px}.operator-result-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:10px 12px}.operator-result-toolbar .tools{display:block;width:100%}.operator-result-toolbar .seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.operator-result-toolbar .seg button{padding-inline:9px}.operator-filter-wrap{margin-left:0}.operator-filter-button{width:42px;padding:8px}.operator-filter-button span{display:none}.operator-result-panel #view-all{padding:0 10px 12px}.operator-result-panel table.reviews,.operator-result-panel table.reviews tbody{display:block}.operator-result-panel table.reviews thead{display:none}.operator-result-panel table.reviews tr{display:grid;grid-template-columns:1fr;margin:10px 0}.operator-result-panel table.reviews tr[hidden]{display:none}.operator-result-panel table.reviews td{display:block;padding:13px 14px}.operator-result-panel table.reviews td:first-child{border-right:1px solid var(--border);border-radius:13px 13px 0 0}.operator-result-panel table.reviews td:last-child{border-top:0;border-left:1px solid var(--border);border-radius:0 0 13px 13px}.operator-result-panel .sent-cell{padding-top:9px;text-align:left}.operator-review-meta time{margin-left:auto}.operator-result-panel #view-keywords{padding:10px}.operator-result-panel .kw-aspect{padding:15px}.operator-result-panel .kw-aspect:first-child{padding-top:15px}
  .text-select select{font-size:11.5px}.engine-select select{width:126px}.extract-select select{width:86px}
  .model-menu summary{padding:8px}.model-menu-label{display:none}.model-menu summary::before{content:"โมเดล"}.model-menu-popover{position:fixed;right:16px;top:70px}
  .persona-switch{grid-template-columns:1fr}.persona-tab{text-align:left}
  .consumer-hero{padding:22px}.consumer-hero h2{font-size:21px}
  .asp-row{grid-template-columns:minmax(0,1fr) auto 28px;gap:8px;padding:13px 12px}
  .asp-label{grid-column:1}.asp-name{font-size:13px}.asp-total{grid-column:2;grid-row:1}.asp-chevron{grid-column:3;grid-row:1}
  .asp-bar{grid-column:1 / -1;grid-row:2;height:31px;margin-top:4px;padding:3px}
  .aspect-modal-shell{padding:12px}.aspect-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:15px}
  .aspect-modal-head{gap:12px;padding:16px}.aspect-modal-head h3{font-size:18px}.aspect-modal-head p{font-size:11.5px;line-height:1.5}
  .aspect-modal-close{padding:7px 9px}.aspect-modal-scroll{padding:12px 14px 16px}
  .asp-detail-head{padding-top:4px}.asp-detail-count{display:none}
  .asp-review-grid{grid-template-columns:1fr}.asp-review-group{padding:10px}.asp-review-text{-webkit-line-clamp:3}
  .asp-legend .asp-hint{width:100%;margin-left:0}
  .caution-list,.critical-grid{grid-template-columns:minmax(0,1fr)}
  .critical-panel .panel-head{flex-wrap:wrap;padding-right:24px}
  .critical-card,.caution-item{min-width:0}
  .caution-item{grid-template-columns:32px minmax(0,1fr)}
  .caution-item .severity-label{grid-column:2}
  .rule-before-head{align-items:flex-start}.rule-card-top,.rule-card-foot{align-items:flex-start}.rule-card-foot{flex-wrap:wrap}.know-reference{margin-left:0}
  .know-reference{white-space:normal;text-align:right}
  .consumer-review-head{flex-direction:column;gap:16px;padding:22px 18px 18px}
  .consumer-review-overview{width:100%;grid-template-columns:repeat(3,1fr)}
  .consumer-review-controls{flex-direction:column;padding:16px 18px 10px}
  .consumer-review-tools{width:100%;padding:4px;overflow-x:auto}
  .review-filter{flex:1;justify-content:center}
  .consumer-review-resultbar{padding:0 20px 9px}.consumer-review-resultbar span:last-child{display:none}
  .consumer-review-list{max-height:600px;margin:0 10px 16px;padding-inline:8px}
  .consumer-review-card{padding:16px}
  .consumer-review-card-foot{align-items:flex-start;flex-direction:column}
  .consumer-review-aspects{justify-content:flex-start}
  .evidence-drawer-shell{display:flex;align-items:flex-end}
  .evidence-backdrop{position:absolute;inset:0}
  .evidence-drawer{width:100%;height:min(82vh,760px);height:min(82dvh,760px);margin-top:auto;padding:18px;border-radius:20px 20px 0 0;animation:drawerUp .22s var(--ease)}
  @keyframes drawerUp{from{transform:translateY(32px);opacity:.4}to{transform:none;opacity:1}}
  .evidence-drawer-actions{flex-wrap:wrap}.evidence-drawer-actions .btn{flex:1}
}

@media(max-width:420px){
  .meta-row{font-size:12px}
  .seg button{padding:7px 12px}
  .landing-options{grid-template-columns:1fr}.landing-picker.compact{grid-column:auto}.landing-benefits{align-items:stretch;flex-direction:column}.landing-benefits>span{justify-content:flex-start}
  .persona-tab{grid-template-columns:40px minmax(0,1fr);padding:10px}.persona-icon{width:38px;height:38px}.persona-state{display:none}
  .operator-deep-dive>summary{grid-template-columns:minmax(0,1fr) auto}.operator-deep-dive-step{display:none}.operator-deep-dive-copy>em{display:none}.operator-deep-dive-action{grid-column:2;grid-row:1;padding:7px}.operator-deep-dive-action>span{display:none}.operator-deep-dive-preview{grid-column:1/-1}.operator-deep-dive-preview>span{min-height:62px;padding:8px 6px}
}

/* ===================== Readability floor ===================== */
.nav-label,
.sidebar-recent-head>span,
.sidebar-recent-head>a,
.sidebar-recent-copy small,
.sub-h,
.chip-soft,
.operator-command-meta>span,
.command-stat>span,
.command-stat>small,
.operator-plan-kicker,
.operator-evidence-total,
.operator-overview-chart>span,
.operator-overview-donut span,
.operator-sentiment-summary article>div span,
.operator-sentiment-summary footer,
.operator-task-title>span,
.operator-priority-pill,
.operator-task-signals span,
.operator-task-context strong,
.operator-task-action strong,
.operator-task-check strong,
.operator-deep-dive>summary small,
.playbook-lane>header small,
.playbook-card-top span,
.playbook-card-top small,
.playbook-signal,
.checkpoint-intro>p,
.checkpoint-list strong,
.checkpoint-list p,
.operator-result-kicker,
.operator-result-counts span,
.operator-result-panel table.reviews th,
.operator-review-meta,
.operator-review-aspects span {
  font-size:12px;
}

.sidebar-recent-copy strong { font-size:12.5px; }

/* ===================== Forest & Cream reduced-green theme =====================
   Color-only overrides. Layout, typography, spacing, radius and behavior
   remain owned by the original design system above. */
:focus-visible{outline-color:rgba(63,98,69,.34)}
.skip-link{background:#1e2a1f;color:#fffdf8}

/* Navigation */
.sidebar{background:#fffdf8;border-right-color:#e8d7b5;color:#1e2a1f}
.brand-copy strong{color:#1e2a1f}.brand-copy strong span{color:#3f6245}
.sidebar-close{border-color:#e8d7b5;background:#fffdf8;color:#5d6254}
.sidebar-close:hover{background:#fff0d1;color:#1e2a1f}
.nav-label{color:#6c705f}
.nav-group>a{color:#5d6254}
.nav-group>a:hover{background:#fff7e5;border-color:#e8d7b5;color:#1e2a1f}
.nav-group>a.active{background:#edf0e7;border-color:#c6d2bc;box-shadow:0 4px 14px rgba(47,75,48,.06);color:#3f6245}
.nav-group>a.active::before{background:#3f6245}
.nav-icon{color:#6c705f}
.nav-group>a.active .nav-icon{background:rgba(63,98,69,.1);color:#3f6245}
.nav-group>a.active .nav-active-mark{background:#ffaf03}
.sidebar-recent{border-top-color:#e8d7b5}
.sidebar-recent-head>span,.sidebar-recent-copy small{color:#6c705f}
.sidebar-recent-head>a{color:#3f6245}.sidebar-recent-head>a:hover{color:#36543b}
.sidebar-recent-item{color:#5d6254}.sidebar-recent-item:hover{background:#fff7e5;color:#1e2a1f}.sidebar-recent-item.is-current{color:#3f6245}
.sidebar-recent-dot{background:#d9c191;box-shadow:0 0 0 3px rgba(63,98,69,.06)}
.sidebar-recent-item:hover .sidebar-recent-dot,.sidebar-recent-item.is-current .sidebar-recent-dot{background:#ffaf03;box-shadow:0 0 0 3px rgba(255,175,3,.18)}
.sidebar-recent-copy small b{color:#36543b}
.demo-pill{background:#fff8e8;color:#805500}
.scrim{background:rgba(30,42,31,.54)}

/* Header, forms and choice states */
.topbar{background:rgba(255,255,255,.9)}
.topbar .analysis-composer.compact .search-box{border-color:rgba(63,98,69,.18);background:linear-gradient(120deg,#fffdf8,#fff7e5);box-shadow:0 5px 18px rgba(47,75,48,.07)}
.topbar .analysis-composer.compact .search-box:hover{border-color:rgba(63,98,69,.34);box-shadow:0 7px 22px rgba(47,75,48,.1)}
.topbar .analysis-composer.compact .search-box:focus-within{border-color:#3f6245;box-shadow:0 8px 24px rgba(47,75,48,.11),0 0 0 4px rgba(63,98,69,.11)}
.text-select select:focus-visible,.model-count select:focus{box-shadow:0 0 0 3px rgba(63,98,69,.18)}
.model-menu-popover{background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(47,75,48,.18)}
.model-menu-popover fieldset{border-color:rgba(63,98,69,.12);background:linear-gradient(135deg,rgba(255,248,232,.95),rgba(255,248,232,.72))}
.model-group-icon{box-shadow:inset 0 0 0 1px rgba(63,98,69,.1)}
.extract-group .model-group-icon,.landing-option-icon.extract{background:#f9dfd3;color:#c23f13;box-shadow:inset 0 0 0 1px rgba(194,63,19,.1)}
.model-choice:has(input:checked){border-color:rgba(198,210,188,.62);background:#edf0e7;box-shadow:inset 0 0 0 1px rgba(63,98,69,.1)}
input:disabled,select:disabled,button:disabled{border-color:#d9c191;color:#858775}
.analyze-btn:disabled{background:linear-gradient(135deg,#a99a8d,#918277);color:#fff8e8}

/* Primary actions */
.btn-primary,.analyze-btn{background:#3f6245;color:#fffdf8}
.analyze-btn{box-shadow:0 8px 20px rgba(63,98,69,.25),inset 0 1px 0 rgba(255,248,232,.22)}
.analyze-btn svg{color:#fffdf8;background:rgba(255,248,232,.13)}
.btn-primary:hover,.analyze-btn:hover{background:#36543b}
.analyze-btn:hover{box-shadow:0 11px 26px rgba(63,98,69,.31),inset 0 1px 0 rgba(255,248,232,.26)}
.analyze-btn:hover svg{background:rgba(255,248,232,.2)}
.analyze-btn:active{box-shadow:0 5px 12px rgba(63,98,69,.24)}
.analyze-btn:focus-visible{outline-color:rgba(63,98,69,.3)}
.btn-danger{background:#a61707;color:#fffdf8}.btn-danger:hover{background:#7f1308}

/* Landing */
.landing{background:radial-gradient(circle at 50% 42%,rgba(255,175,3,.16),transparent 31%),radial-gradient(circle at 14% 18%,rgba(198,210,188,.11),transparent 23%),linear-gradient(160deg,#fffdfa 0%,#fff8e8 54%,#fff7e5 100%)}
.landing::before{background-image:linear-gradient(rgba(63,98,69,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(63,98,69,.055) 1px,transparent 1px)}
.landing::after{border-color:rgba(63,98,69,.1);box-shadow:0 0 0 70px rgba(255,255,255,.22),0 0 0 140px rgba(255,248,232,.18)}
.landing .eyebrow{border-color:rgba(63,98,69,.2);background:rgba(255,255,255,.82);box-shadow:0 6px 18px rgba(47,75,48,.08),inset 0 1px 0 #fffdf8}
.landing .analysis-composer{border-color:rgba(63,98,69,.2);background:rgba(255,255,255,.92);box-shadow:0 24px 65px rgba(47,75,48,.15),inset 0 1px 0 #fffdf8}
.landing .analysis-composer:focus-within{border-color:rgba(63,98,69,.48);box-shadow:0 26px 70px rgba(47,75,48,.18),0 0 0 4px rgba(63,98,69,.1)}
.landing .search-box{border-color:rgba(63,98,69,.14);background:#fffdf8;box-shadow:0 5px 16px rgba(47,75,48,.065)}
.landing .search-box:focus-within{border-color:rgba(63,98,69,.46);box-shadow:0 7px 20px rgba(47,75,48,.09),0 0 0 3px rgba(63,98,69,.09)}
.landing-option{border-color:rgba(63,98,69,.1);background:linear-gradient(135deg,#fffdf8,#fff8e8)}
.landing-option:hover,.landing-picker[open] .landing-option{border-color:rgba(63,98,69,.34);background:#fffdf8}
.landing-picker[open] .landing-option{box-shadow:0 0 0 3px rgba(63,98,69,.09)}
.landing-picker-menu{background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(47,75,48,.18)}
.landing-picker-choice:has(input:checked){border-color:rgba(198,210,188,.62);background:#edf0e7;color:#3f6245}
.landing-picker-choice i{background:#fffdf8}
.landing-benefits>span{border-color:rgba(63,98,69,.12);background:rgba(255,255,255,.7)}
.benefit-icon.evidence{background:#f9dfd3;color:#c23f13}
.landing .ex-chip{border-color:rgba(63,98,69,.2);background:rgba(255,255,255,.8)}

/* Dashboard selection and consumer view */
.persona-switch{border-color:#d9c191;background:linear-gradient(180deg,#fffdf8,#fff7e5);box-shadow:0 10px 28px rgba(47,75,48,.08)}
.persona-tab:hover:not(.active){border-color:#d9c191;background:#fffdf8}
.persona-tab:focus-visible{outline-color:rgba(63,98,69,.3)}
.persona-copy small{color:#6c705f}
.persona-tab.active{border-color:#2a4430;background:linear-gradient(135deg,#2a4430,#36543b);color:#fffdf8;box-shadow:0 10px 24px rgba(63,98,69,.25)}
.persona-tab.active .persona-icon{border-color:rgba(255,248,232,.34);background:rgba(255,248,232,.14);color:#fffdf8}
.persona-tab.active .persona-copy strong{color:#fffdf8}.persona-tab.active .persona-copy small{color:rgba(255,248,232,.86)}
.persona-tab.active .persona-state{border-color:rgba(255,248,232,.62);background:#fff8e8;color:#36543b}.persona-tab.active .persona-state i{box-shadow:0 0 0 3px rgba(63,98,69,.12)}
.consumer-hero{background:linear-gradient(135deg,#fffdf8 42%,#fff8e8)}
.consumer-hero::after{background:rgba(185,207,173,.13)}
.chip-soft.engine-fallback{border-color:#eac66e;background:#fff8e8;color:#805500}
.chip-soft.gemini-verified,.gemini-summary-label,.gemini-insight-pill{border-color:#e5b49e;background:#f9dfd3;color:#96310f}
.asp-card{border-color:rgba(63,98,69,.12);background:linear-gradient(135deg,#fffdf8 38%,#fff7e5);box-shadow:0 3px 10px rgba(47,75,48,.045)}
.asp-card:hover{border-color:rgba(63,98,69,.32);box-shadow:0 10px 24px rgba(47,75,48,.1)}
.asp-card.active{border-color:rgba(63,98,69,.46);background:#edf0e7;box-shadow:0 0 0 3px rgba(63,98,69,.1)}
.asp-row:hover{background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,248,232,.7))}
.asp-card:focus-visible,.asp-review-snippet:focus-visible,.know-item.evidence-trigger:focus-visible,.consumer-review-list:focus-visible{outline-color:rgba(63,98,69,.3)}
.asp-bar{border-color:rgba(63,98,69,.1);background:#fff0d1;box-shadow:inset 0 1px 3px rgba(47,75,48,.07)}
.asp-bar .seg.pos{background:linear-gradient(135deg,#3f6245,#36543b);color:#fffdf8}
.asp-bar .seg.neu{background:linear-gradient(135deg,#ffc145,#ffaf03);color:#3b2b00;text-shadow:none}
.asp-bar .seg.neg{background:linear-gradient(135deg,#a61707,#7f1308);color:#fffdf8}
.aspect-modal-backdrop,.evidence-backdrop,.modal-overlay{background:rgba(30,42,31,.56)}
.aspect-modal{border-color:rgba(255,248,232,.8);box-shadow:0 28px 90px rgba(30,42,31,.32)}
.asp-review-group.positive{border-color:#b9cfad}.asp-review-group.neutral{border-color:#e6c36f}.asp-review-group.negative{border-color:#dfb0a2}
.asp-review-snippet{background:rgba(255,255,255,.9)}
.know-item{border-color:rgba(63,98,69,.13);background:#fffdf8;box-shadow:0 3px 10px rgba(47,75,48,.04)}
.know-item.evidence-trigger:not(:disabled):hover{border-color:rgba(63,98,69,.36);box-shadow:0 9px 20px rgba(47,75,48,.1)}
.rule-card-foot{border-top-color:rgba(63,98,69,.1);background:#fff7e5}
.caution-item,.critical-card{border-color:#eac66e;background:#fff7e5}
.caution-item.critical,.critical-card.critical{border-color:#dfb0a2;background:#fbe7df}
.caution-mark{background:#ffaf03;color:#3b2b00}.caution-item.critical .caution-mark{background:#a61707;color:#fffdf8}
.positive-empty{border-color:#b9cfad}
.evidence-link{background:rgba(255,255,255,.82)}.evidence-link:not(:disabled):hover{border-color:rgba(63,98,69,.38)}
.consumer-review-head{background:linear-gradient(135deg,#fffdf8 45%,#fff8e8)}
.consumer-review-overview{background:rgba(255,255,255,.78);border-color:rgba(63,98,69,.14)}
.review-filter b{background:rgba(255,255,255,.82)}
.consumer-review-search:focus-within{box-shadow:0 0 0 3px rgba(63,98,69,.11)}
.consumer-review-card.evidence-focus{box-shadow:0 0 0 3px rgba(63,98,69,.11)}
.consumer-review-text mark{background:#fff0d1;color:#1e2a1f}
.evidence-drawer{box-shadow:-18px 0 55px rgba(30,42,31,.2)}
.actionable-panel{background:linear-gradient(145deg,#fffdf8 0,#fff8e8 100%)}
.insight{box-shadow:0 6px 22px rgba(47,75,48,.055)}

/* Operator view */
.operator-command{border-color:#d9c191;background:linear-gradient(145deg,#fffdf8 0,#fff8e8 100%);box-shadow:0 18px 54px rgba(47,75,48,.11)}
.operator-command::after{background:radial-gradient(circle,rgba(255,175,3,.13),transparent 68%)}
.operator-command-hero{background:radial-gradient(circle at 75% -20%,rgba(255,175,3,.2),transparent 40%),linear-gradient(135deg,#2a4430 0%,#3f6245 58%,#36543b 100%);color:#fffdf8;box-shadow:0 22px 48px rgba(30,42,31,.22)}
.operator-command-copy .operator-plan-kicker{color:#ffcf68}.operator-command-copy .operator-plan-kicker span{background:#ffaf03;box-shadow:0 0 0 5px rgba(255,175,3,.14)}
.operator-command-copy>p{color:rgba(255,248,232,.78)}
.operator-command-meta>span{color:rgba(255,248,232,.62)}.operator-command-meta .evidence-link{border-color:rgba(255,248,232,.22);background:rgba(255,248,232,.1);color:#fff8e8}.operator-command-meta .evidence-link:hover{background:rgba(255,248,232,.17);border-color:rgba(255,248,232,.36)}
.command-stat{border-color:rgba(255,248,232,.16);background:rgba(255,248,232,.08)}
.command-stat>span,.command-stat>small{color:rgba(255,248,232,.67)}.command-stat>strong{color:#fffdf8}.command-stat>strong small{color:rgba(255,248,232,.7)}
.command-stat.featured{background:linear-gradient(145deg,rgba(255,175,3,.18),rgba(255,248,232,.08))}.command-stat.featured i{background:rgba(255,248,232,.14)}.command-stat.featured i::after{background:#ffaf03}
.operator-evidence-overview{border-color:#e8d7b5;background:rgba(255,255,255,.88);box-shadow:0 7px 24px rgba(47,75,48,.05)}
.operator-overview-donut{box-shadow:0 12px 30px rgba(63,98,69,.14)}.operator-overview-donut>div{background:#fffdf8;box-shadow:inset 0 0 0 1px rgba(63,98,69,.08)}
.operator-sentiment-summary article{background:#fffdf8}
.operator-plan-summary span{background:rgba(255,255,255,.84)}.operator-plan-summary .first{border-color:rgba(166,23,7,.28)}.operator-plan-summary .improve{border-color:#ffaf03;background:#fff7e5;color:#805500}.operator-plan-summary .maintain{border-color:rgba(63,98,69,.28)}
.operator-task{background:rgba(255,255,255,.94);box-shadow:0 7px 24px rgba(47,75,48,.06)}
.operator-task.improve::before{background:#ffaf03}.operator-task.improve .operator-task-rank,.operator-task.improve .operator-priority-pill{background:#fbe7df;color:#7f1308}
.operator-task-check,.playbook-lane>header>b,.playbook-card{background:#fffdf8}
.operator-plan-empty{background:rgba(255,255,255,.78)}
.operator-deep-dive{border-color:#d9c191;background:linear-gradient(125deg,#fffdf8 0%,#fff7e5 58%,#fff8e8 100%);box-shadow:0 12px 32px rgba(47,75,48,.08)}
.operator-deep-dive>summary:hover{background:rgba(255,255,255,.58)}
.operator-deep-dive-step i{background:#c7b782}.operator-deep-dive-copy>small>span,.operator-result-kicker span{box-shadow:0 0 0 5px rgba(63,98,69,.12)}
.operator-deep-dive-preview>span{border-color:rgba(63,98,69,.14);background:rgba(255,255,255,.82)}
.operator-deep-dive-action{border-color:rgba(63,98,69,.24);background:#fffdf8}.operator-deep-dive-action>b{color:#fffdf8}
.playbook-lane{background:#fff7e5}.playbook-card{box-shadow:0 4px 14px rgba(47,75,48,.045)}.playbook-card:hover{box-shadow:0 10px 24px rgba(47,75,48,.08)}
.risk-lane .playbook-card::before{background:#a61707}.growth-lane .playbook-card::before{background:#3f6245}
.operator-checkpoints{border-color:#d9c191;background:linear-gradient(110deg,#fff8e8,#fffdf8)}
.checkpoint-list article{border-color:rgba(63,98,69,.14);background:rgba(255,255,255,.78)}
.lower.operator-result-only>.operator-result-panel{background:#fff7e5;box-shadow:0 14px 42px rgba(47,75,48,.09)}
.operator-result-header{background:radial-gradient(circle at 92% -70%,rgba(255,175,3,.16),transparent 42%),linear-gradient(120deg,#fffdf8,#fff8e8)}
.operator-result-counts article{border-color:rgba(63,98,69,.14);background:rgba(255,255,255,.86)}
.operator-result-toolbar{background:#fffdf8}
.operator-result-panel #view-all,.operator-result-panel table.reviews th,.operator-result-panel #view-keywords{background:#fff7e5}
.operator-result-panel table.reviews td,.operator-result-panel .kw-aspect{background:#fffdf8}
.operator-result-panel table.reviews tr:hover td{background:#fffdf8;box-shadow:0 7px 20px rgba(47,75,48,.045)}
.operator-result-panel table.reviews tr.evidence-focus td{border-color:rgba(63,98,69,.48);background:#edf0e7;box-shadow:0 0 0 2px rgba(63,98,69,.12)}

/* Alerts, history and system feedback */
.critical-panel{border-color:#dfb0a2}.critical-panel.report-ending{background:linear-gradient(180deg,#fffdf8 0,#fbe7df 100%)}
.delete-all-btn{border-color:rgba(166,23,7,.3)}
.modal-overlay{background:rgba(30,42,31,.56)}
.loading-overlay{background:rgba(255,248,232,.88)}
.toast{background:#1e2a1f;color:#fffdf8}.toast .ti svg{color:#fffdf8}
.analysis-tracker{border-color:rgba(63,98,69,.25);background:rgba(255,255,255,.97);box-shadow:0 18px 50px rgba(47,75,48,.22),0 3px 10px rgba(47,75,48,.09)}
.analysis-tracker-icon span{border-color:rgba(63,98,69,.24);border-top-color:currentColor}
.analysis-tracker-link{background:#3f6245;color:#fffdf8}.analysis-tracker-link:hover{background:#2a4430}
.analysis-tracker.completed{border-color:rgba(63,98,69,.34)}.analysis-tracker.failed{border-color:rgba(166,23,7,.28)}
