:root{color-scheme:light;--canvas:#f9f8f5;--surface:#fffefa;--ink:#253130;--muted:#75807c;--accent:#357d73;--line:#e6e9e3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site{min-height:100vh;display:flex;flex-direction:column}.topbar{padding:23px max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:var(--surface)}.brand{font-size:1.35rem;font-weight:750;letter-spacing:-.06em}.brand-dot{color:var(--accent)}.container{width:min(1120px,calc(100% - 48px));margin:auto;flex:1}.hero{padding:clamp(65px,9vw,120px) 0 65px}.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.15em;color:var(--accent)}.hero h1,.detail h1{font-family:Georgia,serif;letter-spacing:-.055em;line-height:1.12;font-weight:400}.hero h1{font-size:clamp(2.8rem,6vw,5.3rem);margin:15px 0 24px}.hero-stats{display:flex;align-items:center;gap:13px;font-size:1.08rem;font-weight:650}.stat-separator{color:#aab2ad}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px;margin-bottom:90px}.category-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 14px 45px rgba(20,35,30,.035);transition:transform .2s,border-color .2s}.category-card:hover{transform:translateY(-3px);border-color:#baccc5}.category-heading{display:flex;gap:16px;align-items:center}.category-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:13px;font-size:1.7rem;font-family:Georgia,serif;background:#e1efeb;color:#357d73}.category-regression .category-icon{background:#e8eafa;color:#596abd}.category-classification .category-icon{background:#f4e8ec;color:#b16985}.category-clustering .category-icon{background:#f7eddf;color:#ae7941}.category-forecasting .category-icon{background:#e3edf6;color:#477caa}.category-optimisation .category-icon{background:#eee8f6;color:#8a6ab3}.category-card h2{font-size:1.13rem;letter-spacing:-.02em;margin:0}.category-count{font-size:.82rem;color:var(--muted);margin:0}.method-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.method-link{font-size:.86rem;background:#f3f5f1;border:1px solid #ebede8;padding:7px 12px;border-radius:40px}.method-link:hover{background:#e9f0ec;color:#21685d}.footer{padding:27px max(24px,calc((100vw - 1120px)/2));border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.83rem;color:var(--muted)}.drawer-overlay{position:fixed;inset:0;z-index:20;visibility:hidden;pointer-events:none}.drawer-overlay:target{visibility:visible;pointer-events:auto}.drawer-backdrop{position:absolute;inset:0;background:rgba(18,30,28,.37);font-size:0;opacity:0;transition:opacity .3s}.drawer-overlay:target .drawer-backdrop{opacity:1}.drawer-panel{position:absolute;bottom:0;left:0;right:0;max-height:min(88vh,1000px);overflow:auto;border-radius:24px 24px 0 0;padding:40px max(24px,calc((100vw - 780px)/2)) 60px;background:var(--surface);transform:translateY(100%);transition:transform .32s cubic-bezier(.22,1,.36,1)}.drawer-overlay:target .drawer-panel{transform:translateY(0)}.drawer-close{position:sticky;top:0;float:right;font-size:2rem;line-height:1;padding:0 8px;background:var(--surface);border-radius:8px;z-index:1}.detail h1{font-size:clamp(2.5rem,5vw,4rem);margin:12px 0 15px}.detail-summary,.detail-note{color:var(--muted)}.detail h2{font-size:1.05rem;margin:30px 0 12px}.detail pre{padding:20px;background:#f0f2ee;border-radius:12px;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem}.copy-block{position:relative}.copy-block pre{padding-top:60px}.copy-button{position:absolute;right:12px;top:12px;border:1px solid #ccd7d0;background:white;border-radius:8px;padding:6px 12px;color:#265f56;cursor:pointer}.permalink{display:inline-block;margin-top:24px;color:var(--accent);font-size:.87rem}.article-page{max-width:790px;margin:45px auto 100px}.back{display:inline-block;margin-bottom:30px;color:var(--accent)}@media(max-width:600px){.hero{padding:60px 0 48px}.category-grid{grid-template-columns:1fr}.drawer-panel{max-height:92vh;padding:24px 24px 44px}.footer{padding:25px 24px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Quiet, editorial header shared by homepage and permanent pages. */
.topbar{position:sticky;top:0;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:120px;padding:20px 24px 24px;background:rgba(255,254,250,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:0}
.topbar .brand{font-family:inherit;font-size:1.55rem;font-weight:690;letter-spacing:-.055em;line-height:1.12}
.brand-tagline{margin:7px 0 0;font-size:.8rem;letter-spacing:.015em;color:var(--muted)}
.reading-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#dce8ed;overflow:hidden}
.reading-progress-fill{height:100%;width:0;background:#3388b9;transition:width .08s linear}
.hero{padding-top:clamp(65px,9vw,110px)}
.footer a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}
.python-code{background:#17252d!important;color:#e9f1f3;white-space:pre;overflow-x:auto;overflow-wrap:normal!important;line-height:1.7}
.python-code .token-keyword{color:#91c9ff}.python-code .token-string{color:#b9e7a2}.python-code .token-number{color:#ffc98b}.python-code .token-comment{color:#9baab2}.python-code .token-builtin{color:#dcc2fc}
@media(max-width:600px){.topbar{min-height:105px;padding:17px 16px 22px}.topbar .brand{font-size:1.4rem}}

/* Discovery: calm interactions, native collapsed cards, alphabetical catalogue. */
.category-card{padding:0;overflow:hidden}.category-heading{padding:24px;cursor:pointer;list-style:none;gap:15px}.category-heading::-webkit-details-marker{display:none}.category-heading::marker{content:''}.category-heading-copy{min-width:0;flex:1}.category-tag{display:inline-block;font-size:.64rem;font-weight:720;letter-spacing:.13em;color:#6d7576;background:#eff1f0;border-radius:5px;padding:2px 7px;margin-bottom:7px}.expand-indicator{font-size:1.5rem;color:#7b918e;transition:transform .18s}.category-card[open] .expand-indicator{transform:rotate(45deg)}.category-card .method-links{border-top:1px solid var(--line);margin:0;padding:20px 24px 26px}.category-card:not([open]) .method-links{display:none}.category-card:hover{transform:none}.category-icon{flex-shrink:0}.category-card:nth-child(7n+1) .category-icon{background:#e0eeec;color:#2d7871}.category-card:nth-child(7n+2) .category-icon{background:#e9e9f8;color:#6663a9}.category-card:nth-child(7n+3) .category-icon{background:#f6e9ed;color:#a65f81}.category-card:nth-child(7n+4) .category-icon{background:#f6eddf;color:#aa763c}.category-card:nth-child(7n+5) .category-icon{background:#e2edf7;color:#4b7ba3}.category-card:nth-child(7n+6) .category-icon{background:#ede7f5;color:#8665a7}.category-card:nth-child(7n+7) .category-icon{background:#e9efd9;color:#647b38}
.hero{position:relative}.hero-stats{flex-wrap:wrap}.search-wrap{position:relative;width:min(420px,100%);margin:24px 0 0}.search-label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:8px}.catalog-search{width:100%;border:1px solid #cbd7d4;border-radius:12px;padding:13px 16px;background:#fff;color:var(--ink);font:inherit;outline-offset:2px}.catalog-search:focus{border-color:#3388b9;box-shadow:0 0 0 3px #dfeff8}.search-results{display:none;position:absolute;top:100%;left:0;right:0;margin-top:8px;padding:6px;background:white;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 35px #243b3530;z-index:12;max-height:340px;overflow:auto}.search-results.visible{display:block}.search-option{width:100%;border:0;border-radius:8px;text-align:left;padding:10px 12px;background:transparent;display:flex;justify-content:space-between;gap:12px;cursor:pointer;color:var(--ink);font:inherit}.search-option small{color:var(--muted);white-space:nowrap}.search-option:hover,.search-option.active{background:#e8f2f5}
.about-trigger{position:absolute;right:max(24px,calc((100vw - 1120px)/2));top:42px;font-size:.84rem;color:var(--ink);border:1px solid #dbe4e0;border-radius:30px;padding:5px 15px}.about-trigger:hover{background:#edf2f0}.about-overlay{position:fixed;inset:0;z-index:25;pointer-events:none;visibility:hidden}.about-overlay:target{pointer-events:auto;visibility:visible}.about-backdrop{position:absolute;inset:0;background:#17252675;font-size:0}.about-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);width:min(480px,calc(100% - 32px));border-radius:20px;box-shadow:0 25px 80px #101f2033;padding:32px}.about-dialog h2{font-size:1.8rem;margin:8px 0}.about-dialog p{color:var(--muted)}.about-dialog a:not(.about-close){color:var(--accent);text-decoration:underline}.about-close{float:right;font-size:1.8rem;line-height:1;padding:0 8px}
@media(max-width:600px){.about-trigger{right:16px;top:36px;padding:3px 9px;font-size:.76rem}.topbar .brand{font-size:1.28rem}.category-heading{padding:20px}}

/* LinkedIn launch polish: generous search, quiet counts, tactile About control. */
.hero{max-width:960px;padding-bottom:clamp(62px,8vw,105px)}
.hero h1{max-width:940px;margin-bottom:30px}
.hero .search-wrap{width:100%;max-width:none;margin:0 0 22px}
.hero .search-label{font-size:.82rem;font-weight:600;letter-spacing:.005em;margin-bottom:10px}
.hero .catalog-search{width:100%;min-height:66px;border-radius:16px;padding:18px 22px;font-size:1.05rem;border-color:#d3ddd9;box-shadow:0 6px 24px rgba(37,49,48,.035);transition:box-shadow .2s,border-color .2s}
.hero .catalog-search:focus{border-color:#3388b9;box-shadow:0 0 0 4px #dfeff8,0 12px 32px rgba(37,49,48,.065)}
.hero .hero-stats{gap:12px;color:#4c5956;font-size:.93rem;font-weight:600}
.about-trigger{font-weight:750;border-radius:13px;padding:9px 19px;background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 18px rgba(20,35,30,.045);top:34px;transition:background .2s,border-color .2s}
.about-trigger:hover{background:#f0f5f3;border-color:#cbd9d4}
@media(max-width:600px){.hero{padding-top:55px}.hero .catalog-search{min-height:58px;padding:15px 16px;font-size:1rem}.about-trigger{top:30px;right:13px;padding:7px 11px;border-radius:11px}.hero .hero-stats{font-size:.85rem}}

/* Article-only masthead: balanced brand, centered search, quiet About. */
.topbar-article{min-height:100px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,550px) minmax(180px,1fr);align-items:center;gap:20px;text-align:left;padding:16px max(24px,calc((100vw - 1120px)/2)) 20px}
.topbar-article .brand{justify-self:start;white-space:nowrap}
.topbar-article .header-search{width:100%;max-width:550px;min-width:0;margin:0;justify-self:center;text-align:left}
.topbar-article .catalog-search{width:100%;padding:12px 17px;min-height:48px}
.topbar-article .about-trigger{position:static;justify-self:end}
.topbar-article .search-results{z-index:40}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.topbar-article{grid-template-columns:1fr auto;gap:12px;padding:14px 18px 20px;min-height:0}.topbar-article .header-search{grid-column:1 / -1;grid-row:2;max-width:none}.topbar-article .about-trigger{grid-column:2;grid-row:1}.topbar-article .brand{grid-column:1;grid-row:1}}

/* Native collapsed datasets remain in pre-rendered HTML for indexing and no-JS access. */
.sample-input-details{margin:30px 0 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.sample-input-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 20px;cursor:pointer;list-style:none}
.sample-input-heading::-webkit-details-marker{display:none}
.sample-input-heading::marker{content:''}
.sample-input-label{font-size:1.05rem;font-weight:700;color:var(--ink)}
.sample-input-hint{font-size:.82rem;font-weight:650;color:var(--accent)}
.sample-input-hint::after{content:' +';font-size:1.1em}
.sample-input-details[open] .sample-input-hint{font-size:0}
.sample-input-details[open] .sample-input-hint::before{content:'Hide data';font-size:.82rem}
.sample-input-details[open] .sample-input-hint::after{content:' −';font-size:.9rem}
.sample-input-content{border-top:1px solid var(--line);padding:12px 20px 20px}
.sample-input-content .detail-note{margin:8px 0}
.sample-input-content .copy-block{margin-top:16px}
.sample-input-heading:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}

/* Unified algorithm-page experience */
.usage-limitations .usage-positive,.usage-limitations .usage-negative{display:flex;align-items:baseline;gap:.55rem;line-height:1.6}
.usage-limitations .usage-positive .usage-symbol{color:#18794e;font-weight:800;font-size:1.3em}
.usage-limitations .usage-negative .usage-symbol{color:#ba3434;font-weight:800;font-size:1.3em}
.formula-explanation{color:#54616b;line-height:1.7;margin-top:.55rem}
.sample-input-heading .sample-input-hint{font-weight:600}
.combined-copy-source{display:none!important}

/* Decorative code gutters: aligned to Python lines, excluded from clipboard output. */
pre.numbered-python{position:relative;padding-left:68px!important;white-space:pre!important;overflow-wrap:normal!important;tab-size:4}
pre.numbered-python code{display:block;white-space:pre!important;overflow-wrap:normal!important;line-height:1.7}
.code-line-gutter{position:absolute;left:0;top:20px;width:48px;padding-right:12px;border-right:1px solid rgba(209,224,230,.18);color:#8e9da5;text-align:right;line-height:1.7;user-select:none;-webkit-user-select:none;pointer-events:none;font:inherit;font-variant-numeric:tabular-nums}
.code-line-gutter span{display:block;height:1.7em}
.copy-block pre.numbered-python .code-line-gutter{top:60px}

/* Keep the combined copy action in its own visible row above Python code. */
.copy-combined-block{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.copy-combined-block>.copy-button{position:relative;top:auto;right:auto;align-self:flex-end;z-index:2;max-width:100%;white-space:normal;text-align:center;font-weight:650;padding:9px 14px}
.copy-combined-block>pre{margin:0;padding-top:20px}
.copy-combined-block>pre.numbered-python .code-line-gutter{top:20px}
@media(max-width:480px){.copy-combined-block>.copy-button{align-self:stretch}}

/* Final article polish: dedicated visible copy action and genuinely hidden search index. */
[hidden], .article-search-index, .combined-copy-source { display:none !important; }
.python-example-container { display:block; position:relative; min-width:0; margin:12px 0 28px; }
.python-example-actions { display:flex; justify-content:flex-end; align-items:center; min-height:49px; padding:0 0 12px; position:relative; z-index:2; }
.python-example-actions > .copy-button { display:inline-flex !important; align-items:center; justify-content:center; position:static !important; inset:auto !important; margin:0; width:auto; opacity:1 !important; visibility:visible !important; padding:9px 15px; border-radius:10px; background:#fff; border:1px solid #a6bdb4; font-weight:700; cursor:pointer; box-shadow:0 2px 8px rgba(20,35,30,.07); }
.python-example-container > pre { margin:0; padding-top:20px; }
.python-example-container > pre.numbered-python .code-line-gutter { top:20px; }
@media(max-width:480px) { .python-example-actions > .copy-button { width:100%; } }

/* Final: copy action and code share one continuous, rounded dark panel. */
.python-example-container {
  background:#17252d;
  border:1px solid #273a43;
  border-radius:14px;
  overflow:hidden;
  margin:12px 0 28px;
}
.python-example-container .python-example-actions {
  min-height:0;
  padding:12px 16px;
  background:#17252d;
  border-bottom:1px solid rgba(209,224,230,.15);
}
.python-example-container .python-example-actions > .copy-button {
  position:static !important;
  margin:0;
  background:#263d45;
  color:#e9f1f3;
  border:1px solid #4c6670;
  box-shadow:none;
  border-radius:9px;
}
.python-example-container .python-example-actions > .copy-button:hover {
  background:#34515b;
}
.python-example-container > pre.python-code {
  margin:0 !important;
  border-radius:0 !important;
  background:#17252d !important;
  padding:20px !important;
  overflow-x:auto;
}
.python-example-container > pre.numbered-python {
  padding-left:68px !important;
}
.python-example-container > pre.numbered-python .code-line-gutter { top:20px; }
@media(max-width:480px) {
  .python-example-container .python-example-actions { padding:10px 12px; }
}

/* Code panel: action overlays the dark code surface, not an external row. */
.python-example-container {
  position: relative !important;
  display: block !important;
  background: #17252d !important;
  border: 1px solid #273a43 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  isolation: isolate;
}
.python-example-container > .python-example-actions {
  position: absolute !important;
  z-index: 5 !important;
  top: 13px !important;
  right: 14px !important;
  left: auto !important;
  bottom: auto !important;
  display: flex !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.python-example-container > .python-example-actions > .copy-button {
  position: static !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: calc(100vw - 80px);
  margin: 0 !important;
  padding: 9px 12px !important;
  background: #29434d !important;
  color: #f1f6f7 !important;
  border: 1px solid #66808a !important;
  border-radius: 9px !important;
  font-size: .82rem;
  line-height: 1.35;
  white-space: nowrap;
  cursor: pointer;
  opacity: 1 !important;
  visibility: visible !important;
}
.python-example-container > pre.python-code,
.python-example-container > pre.python-code.numbered-python {
  display: block !important;
  margin: 0 !important;
  padding-top: 72px !important;
  padding-bottom: 20px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow-x: auto !important;
}
.python-example-container > pre.numbered-python .code-line-gutter {
  top: 72px !important;
}
@media (max-width: 480px) {
  .python-example-container > .python-example-actions { top: 10px !important; right: 10px !important; }
  .python-example-container > .python-example-actions > .copy-button { width: auto !important; font-size: .75rem; }
}

/* Discovery: calm sticky search, activated only after the homepage hero scrolls away. */
.topbar.home-search-active {
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(150px,1fr) minmax(270px,540px) minmax(150px,1fr);
  align-items: center;
  gap: 18px;
  padding: 14px max(24px,calc((100vw - 1120px)/2)) 18px;
  text-align: left;
}
.topbar .home-header-search { display:none; }
.topbar.home-search-active .home-header-search {
  display:block; width:100%; min-width:0; max-width:540px;
  margin:0; grid-column:2; grid-row:1;
}
.topbar.home-search-active .brand {grid-column:1;grid-row:1;justify-self:start;white-space:nowrap}
.topbar.home-search-active .brand-tagline {display:none}
.topbar.home-search-active .home-header-search .catalog-search {min-height:46px;padding:10px 16px}
.topbar.home-search-active .home-header-search .search-results {z-index:60}
@media(max-width:760px) {
  .topbar.home-search-active {grid-template-columns:1fr;gap:10px;padding:12px 18px 18px}
  .topbar.home-search-active .brand {grid-column:1;grid-row:1}
  .topbar.home-search-active .home-header-search {grid-column:1;grid-row:2;max-width:none}
}
/* About is now presented by the portfolio; prevent legacy button/modal from appearing. */
.about-trigger,.about-overlay{display:none!important}

/* Discovery V1, Step 2: accessible CSV upload surface. */
.discovery-hero{max-width:820px;margin:0 auto;text-align:center;padding-top:clamp(54px,8vw,92px)}
.discovery-hero h1{margin:12px auto 20px;max-width:750px}
.discovery-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.16em;color:var(--accent);margin:0}
.discovery-intro{max-width:640px;margin:0 auto 30px;color:#596762;font-size:1.08rem}
.csv-upload{width:100%;max-width:730px;margin:0 auto}
.csv-drop-zone{background:var(--surface);border:2px dashed #aacac0;border-radius:24px;padding:clamp(28px,5vw,58px) 24px 30px;box-shadow:0 18px 48px rgba(37,49,48,.05);transition:border-color .18s,background .18s,box-shadow .18s}
.csv-drop-zone.is-dragging{border-color:#25856f;background:#eaf5ef;box-shadow:0 0 0 5px #cde7dc}
.csv-upload-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#e6f2ed;color:#277762;font-size:2.5rem;font-weight:350;margin:0 auto 16px;line-height:1}
.csv-drop-zone h2{font-size:1.35rem;letter-spacing:-.025em;margin:0 0 5px}
.csv-drop-zone>p{margin:0;color:#64736e;font-size:.93rem}
.csv-browse-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 25px;border-radius:13px;background:#287d6b;color:white;font-weight:750;cursor:pointer;margin-top:22px;transition:background .18s,transform .18s}
.csv-browse-button:hover{background:#196454;transform:translateY(-1px)}
.csv-browse-button:focus-within{outline:3px solid #99d8c6;outline-offset:3px}
.csv-file-input:focus-visible + .csv-upload-note{outline:2px solid var(--accent)}
.csv-drop-zone .csv-upload-note{margin-top:17px;font-size:.8rem;color:#71817c}
.csv-upload-status{min-height:28px;max-width:730px;margin:12px auto 0;font-size:.91rem;text-align:left;overflow-wrap:anywhere}
.csv-status-error{color:#a33e37}.csv-status-success{color:#236b55}
.discovery-secondary{display:flex;justify-content:center;align-items:center;gap:9px 14px;flex-wrap:wrap;margin-top:30px;color:#6b7773;font-size:.92rem}
.discovery-dictionary-link{color:#216c60;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.discovery-dictionary-link:hover{color:#174f46}
@media(max-width:600px){.discovery-intro{font-size:1rem}.csv-drop-zone{padding:30px 18px 24px;border-radius:18px}.csv-upload-icon{width:54px;height:54px}.csv-drop-zone h2{font-size:1.15rem}.discovery-secondary{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){.csv-drop-zone,.csv-browse-button{transition:none}}

/* Discovery V1 step 3: privacy, example files, feature summary and preview. */
.csv-privacy{margin:18px auto 0;padding:18px 21px;text-align:left;border:1px solid #d8c8ee;border-left:5px solid #8051b5;border-radius:13px;background:#f5effc;color:#493268}
.csv-privacy strong{display:block;font-size:.95rem}.csv-privacy p{margin:5px 0 0;font-size:.86rem;line-height:1.55}
.csv-examples{max-width:970px;margin:38px auto 15px;text-align:center}
.csv-examples h2{font-size:1.25rem;margin:0 0 6px}.csv-examples>p{color:var(--muted);margin:0 0 18px}
.csv-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;text-align:left}
.csv-example-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:18px;box-shadow:0 4px 18px #1c29250a}
.csv-example-card p{font-size:.84rem;color:var(--muted);margin:5px 0 14px}.csv-example-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.csv-example-load{border:0;border-radius:9px;background:#287d6b;color:#fff;font:inherit;font-size:.84rem;font-weight:700;padding:9px 14px;cursor:pointer}
.csv-example-actions a{font-size:.82rem;text-decoration:underline;color:#346b67;text-underline-offset:3px}
.csv-verification,.csv-confirmation-result{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,4vw,30px);margin-top:24px;text-align:left;box-shadow:0 16px 40px #1c29250c}
.csv-verification h2,.csv-confirmation-result h2{margin:0 0 8px;font-size:1.6rem}.csv-verification h3{margin:26px 0 11px;font-size:1.08rem}
.csv-preview-intro{color:var(--muted);margin:0 0 18px}.csv-preview-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.csv-preview-metric{border-radius:11px;background:#f4f6f3;padding:12px 14px;min-width:0;overflow-wrap:anywhere}
.csv-preview-metric span{display:block;color:var(--muted);font-size:.76rem}.csv-preview-metric strong{display:block;font-weight:750;font-size:1rem;margin-top:3px}
.csv-table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:11px}
.csv-preview-table{border-collapse:collapse;width:100%;font-size:.84rem;white-space:nowrap}.csv-preview-table th{text-align:left;color:#53665f;background:#eef2ef;font-weight:700}
.csv-preview-table th,.csv-preview-table td{padding:9px 12px;border-bottom:1px solid var(--line);max-width:300px;overflow:hidden;text-overflow:ellipsis}
.csv-preview-table tbody tr:last-child td{border-bottom:0}.csv-feature-type{color:#655192;font-weight:750}
.csv-verify-question{font-weight:700;margin:20px 0 0}.csv-verification-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:18px}
.csv-primary-button,.csv-secondary-button{cursor:pointer;font:inherit;font-size:.9rem;border-radius:10px;padding:10px 16px;font-weight:700}
.csv-primary-button{border:1px solid #287d6b;color:white;background:#287d6b}.csv-secondary-button{border:1px solid #bccdc6;background:#fff;color:#286b5d}
.csv-confirmation-result p{color:var(--muted)}
@media(max-width:600px){.csv-example-grid{grid-template-columns:1fr}.csv-preview-metrics{grid-template-columns:1fr}.csv-verification-actions>*{width:100%}}

/* V1 Step 4: fixed privacy note, contextual error footer, scenario discovery. */
.csv-upload{display:flex;flex-direction:column}
.csv-privacy{order:-1;margin:0 0 14px;border-left:5px solid #8051b5;background:#f5effc;color:#493268}
.csv-upload-status{margin:16px 0 0;border-radius:12px;padding:13px 16px;border:1px solid #e1d8ce;background:#fff8ed;color:#805a2a;font-size:.9rem}
.csv-upload-status[hidden]{display:none!important}
.csv-status-error{border-color:#f0c5c4;background:#fff0ef;color:#9c3535;font-weight:650}
.csv-status-error::before{content:'⚠';font-weight:800;font-size:1.13rem;margin-right:10px}
.csv-status-success{border-color:#d1e5d6;background:#eff8f1;color:#256e44}
.discovery-dialog-open{overflow:hidden}
.discovery-modal,.discovery-leave{position:fixed;inset:0;background:rgba(23,33,32,.64);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}
.discovery-modal[hidden],.discovery-leave[hidden]{display:none!important}
.discovery-modal-panel{width:min(960px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface);border-radius:20px;padding:clamp(20px,4vw,38px);box-shadow:0 25px 90px #0a1a183d}
.discovery-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px}
.discovery-modal-header h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(1.7rem,4vw,2.8rem);margin:5px 0}
.discovery-modal-header .eyebrow{margin:0}
.discovery-modal-close{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:#f2f4f1;color:var(--ink);font-size:2rem;cursor:pointer}
.discovery-subtitle{color:#58665f;max-width:760px;margin:18px 0 24px;font-size:.94rem}
.discovery-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.discovery-scenario-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:22px;min-width:0;box-shadow:0 6px 16px #12261e0a}
.discovery-scenario-rank{color:#8051b5;font-size:.67rem;font-weight:850;letter-spacing:.07em;margin:0 0 8px}
.discovery-scenario-card h3{font-size:1.17rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 9px}
.discovery-scenario-card p{font-size:.86rem;color:#56645e;line-height:1.6;margin:0 0 10px}
.discovery-scenario-card .discovery-scenario-requires{background:#f4f6f2;padding:9px 11px;border-radius:8px;font-size:.79rem}
.discovery-scenario-card h4{font-size:.82rem;margin:14px 0 9px}
.discovery-method-links{display:flex;flex-wrap:wrap;gap:8px}
.discovery-method-link{display:inline-flex;border:1px solid #cce1da;background:#eaf5ef;color:#246858;border-radius:9px;padding:7px 11px;font-size:.8rem;font-weight:700;text-decoration:none}
.discovery-method-link:hover{background:#d9eee6}
.discovery-modal-footer{display:flex;justify-content:flex-end;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.discovery-leave{z-index:110}
.discovery-leave-panel{width:min(475px,100%);border-radius:18px;background:#fffefa;padding:30px;box-shadow:0 25px 70px #121c1a55}
.discovery-leave-panel h2{font-size:1.35rem;margin:0 0 8px}
.discovery-leave-panel p{color:#53615b;margin:0 0 22px}
.discovery-leave-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:700px){.discovery-scenarios{grid-template-columns:1fr}.discovery-modal-panel{max-height:calc(100dvh - 24px);padding:20px}.discovery-leave-actions button{flex:1}}


/* Discovery V1: explainable recommendation layout and dataset suitability. */
.discovery-modal-header{justify-content:center;position:relative;text-align:center;padding:4px 54px 18px}
.discovery-modal-header>div{max-width:760px;margin:auto}
.discovery-modal-header .eyebrow{text-align:center}
.discovery-modal-header h2{text-align:center}
.discovery-modal-close{position:absolute;top:0;right:0}
.discovery-subtitle{text-align:center;max-width:730px;margin:18px auto 24px}
.discovery-scenarios{display:block}
.discovery-data-card{background:#fff;border:1px solid #e3e9e4;border-radius:17px;padding:23px;margin:0 0 16px;box-shadow:0 8px 24px #12261e0a}
.discovery-data-card h3,.discovery-ranking-guide h3{margin:0 0 14px;font-size:1.12rem}
.discovery-data-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.discovery-data-metric{background:#f5f7f5;padding:11px 12px;border-radius:10px;min-width:0;overflow-wrap:anywhere}
.discovery-data-metric span{display:block;font-size:.72rem;color:#68776f}
.discovery-data-metric strong{display:block;font-size:.92rem;margin-top:3px}
.discovery-data-advice{margin-top:16px;border-left:3px solid #9468bb;padding:12px 15px;background:#f7f2fa;border-radius:8px}
.discovery-data-advice strong{font-size:.86rem;color:#5a3c79}
.discovery-data-advice p{font-size:.82rem;color:#5c5166;margin:5px 0 0;line-height:1.55}
.discovery-data-advice .discovery-data-warning{color:#8a4e29;font-weight:600}
.discovery-ranking-guide{text-align:center;margin:24px auto 20px;max-width:760px}
.discovery-ranking-guide h3{margin-bottom:6px}
.discovery-ranking-guide p{font-size:.87rem;line-height:1.6;color:#586861;margin:0}
.discovery-scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.discovery-scenario-card{text-align:left;display:flex;flex-direction:column;gap:10px}
.discovery-scenario-card .discovery-scenario-rank{margin:0;color:#70509d}
.discovery-scenario-card h3{margin:0}
.discovery-scenario-card p{margin:0}
.discovery-scenario-reason{border-radius:10px;background:#eef5f2;padding:12px 13px}
.discovery-scenario-reason strong,.discovery-scenario-considerations strong,.discovery-scenario-features strong{display:block;font-size:.8rem;color:#28473d;margin-bottom:5px}
.discovery-scenario-card .discovery-scenario-reason p{font-size:.8rem;color:#426257}
.discovery-scenario-considerations{border-radius:10px;background:#f5f6f3;padding:12px 13px}
.discovery-scenario-card .discovery-scenario-considerations p{font-size:.8rem}
.discovery-scenario-card .discovery-scenario-example{margin-top:7px;font-style:italic;color:#617069}
.discovery-scenario-features{padding:2px 0}
.discovery-feature-chips{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.discovery-feature-chip{border:1px solid #d3dbe0;border-radius:7px;background:#f5f8fa;padding:5px 9px;color:#3d5663;font-size:.77rem;overflow-wrap:anywhere}
.discovery-scenario-features small{display:block;color:#6f7876;font-size:.71rem;line-height:1.45}
.discovery-scenario-unmatched{border-radius:8px;background:#f5f6f3;padding:10px}
.discovery-scenario-card h4{margin-top:auto;padding-top:8px}
@media(max-width:700px){.discovery-scenario-grid{grid-template-columns:1fr}.discovery-data-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-modal-header{padding-left:40px;padding-right:40px}}

/* V1 recommendation quality and concise results */
.discovery-data-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.discovery-metric-value{display:flex;align-items:center;gap:7px;min-width:0;overflow-wrap:anywhere}
.discovery-metric-warning{background:#fff4f2;border:1px solid #ffd4ce}
.discovery-metric-warning strong{color:#a52d2d}
.discovery-warning-icon{display:inline-grid;place-items:center;flex:none;width:17px;height:17px;border-radius:50%;background:#b42332;color:white;font-size:.7rem;font-weight:800;cursor:help}
.discovery-data-advice{padding:10px 13px;margin-top:12px}
.discovery-data-advice p{margin:3px 0;font-size:.79rem}
.discovery-ranking-guide{margin:20px auto 13px}
.discovery-ranking-guide h3{display:flex;align-items:center;justify-content:center;gap:8px;margin:0}
.discovery-fit-info{font-family:system-ui,sans-serif;font-weight:700;font-size:.87rem;display:inline-flex;align-items:center;justify-content:center;color:#7152a0;cursor:help}
.discovery-fit-info:focus-visible{outline:2px solid #7152a0;border-radius:50%}
.discovery-scenario-card{gap:9px}
.discovery-scenario-reason{padding:10px 12px}
.discovery-scenario-reason strong{margin-bottom:2px}
.discovery-scenario-guidance{background:#f5f6f4;border-radius:10px;padding:12px}
.discovery-scenario-guidance strong{font-size:.8rem;color:#28473d}
.discovery-scenario-card .discovery-guidance-check{font-size:.79rem;margin-top:7px}
.discovery-scenario-card .discovery-guidance-alert{font-size:.78rem;color:#a0452c;margin-top:5px}
.discovery-results-copyright{margin:24px 0 4px;padding:16px 0 0;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.8rem}
@media(max-width:700px){.discovery-data-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V1 review: sticky context, skimmable scenarios and accessible fit explanation. */
.discovery-modal-panel {position:relative;}
.discovery-modal-header {position:sticky;top:-1px;z-index:22;background:var(--surface);padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 var(--line)}
.discovery-data-card {position:sticky;top:104px;z-index:20;padding:14px 18px;box-shadow:0 8px 18px #12261e12}
.discovery-data-card h3 {font-size:1rem;margin-bottom:8px}
.discovery-data-metrics {gap:6px}
.discovery-data-metric {padding:7px 9px}
.discovery-data-metric span {font-size:.69rem}
.discovery-data-advice {border:1px solid #e9ddef;cursor:default}
.discovery-data-advice summary {color:#5e4377;font-size:.84rem;font-weight:750;cursor:pointer;list-style-position:inside}
.discovery-data-advice:not([open]) {padding:7px 10px}
.discovery-data-advice[open] {max-height:120px;overflow:auto}
.discovery-fit-info {border:1px solid #c9b6df;border-radius:50%;width:22px;height:22px;cursor:pointer;user-select:none}
.discovery-fit-explanation {margin:9px auto!important;border:1px solid #e8ddf1;border-radius:10px;padding:10px 12px;background:#f6f1f9;color:#5b4674!important;text-align:left}
.discovery-fit-explanation[hidden] {display:none!important}
.discovery-scenario-card {display:block;padding:0;overflow:hidden}
.discovery-scenario-cover {padding:20px 22px;cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:8px;min-height:185px}
.discovery-scenario-cover::-webkit-details-marker {display:none}
.discovery-scenario-cover::marker {content:''}
.discovery-scenario-cover h3 {margin:0}
.discovery-scenario-cover p {margin:0}
.discovery-scenario-expand {align-self:flex-start;margin-top:auto;font-size:.8rem;font-weight:750;color:#7152a0}
.discovery-scenario-card[open] .discovery-scenario-expand {font-size:0}
.discovery-scenario-card[open] .discovery-scenario-expand::after {content:'Hide details −';font-size:.8rem}
.discovery-scenario-expanded {display:flex;flex-direction:column;gap:10px;border-top:1px solid #e6e9e3;padding:16px 20px 21px}
.discovery-scenario-expanded h4 {margin:3px 0 0!important;padding:0!important}
@media (max-width:700px) {
 .discovery-modal-header {top:-1px}
 .discovery-data-card {top:105px;position:relative}
 .discovery-scenario-cover {min-height:0}
}

/* V1: two clear entry paths, privacy-first upload and distinguishable demos. */
.discovery-paths{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 13px;margin:16px 0 25px;color:#64736d;font-size:.93rem;text-align:center}
.discovery-paths .discovery-dictionary-link{font-weight:750;color:#276c60;text-decoration:underline;text-underline-offset:4px}
.csv-privacy{padding:13px 18px}
.csv-privacy p{margin:3px 0 0}
.csv-browse-button{background:#18785b;box-shadow:0 7px 18px #18785b28;gap:9px;padding:11px 25px}
.csv-browse-button:hover{background:#106348}
.csv-computer-icon{font-size:1.12rem;line-height:1}
.csv-drop-zone h2{max-width:650px;margin-left:auto;margin-right:auto}
.csv-example-card:nth-child(4n+1) .csv-example-load{background:#327968}
.csv-example-card:nth-child(4n+2) .csv-example-load{background:#596e9a}
.csv-example-card:nth-child(4n+3) .csv-example-load{background:#86649b}
.csv-example-card:nth-child(4n+4) .csv-example-load{background:#a06c49}
.csv-example-load:hover{filter:brightness(.9)}
.csv-example-load:focus-visible{outline:3px solid #bddbd5;outline-offset:3px}
@media(max-width:600px){.discovery-paths{flex-direction:column;gap:4px}.csv-drop-zone h2{font-size:1.15rem}}

/* CSV discovery V1: fast, action-first landing page */
.discovery-hero {position:relative;padding-top:clamp(40px,6vw,70px)}
.discovery-hero h1 {margin-bottom:16px}
.discovery-paths {margin:0 0 20px}
.discovery-paths .discovery-dictionary-link {color:#35685b;font-size:.9rem}
.csv-privacy-toggle {position:absolute;right:0;top:14px;border:1px solid #d5c8e8;border-radius:13px;background:#faf7ff;width:46px;height:46px;display:grid;place-items:center;cursor:pointer;z-index:3;box-shadow:0 3px 12px #65488e12}
.csv-lock-icon{font-size:1.25rem;display:inline-flex;align-items:center;justify-content:center;animation:privacy-pulse 3.5s ease-in-out infinite}
@keyframes privacy-pulse {0%,85%,100% {transform:scale(1)} 90%{transform:scale(1.13)}}
.csv-privacy-popover {position:absolute;right:0;top:64px;z-index:8;text-align:left;max-width:min(340px,94vw);padding:16px 18px;background:#fbf7ff;border:1px solid #d6c8e8;border-radius:13px;box-shadow:0 14px 36px #2b1b4530}
.csv-privacy-popover[hidden]{display:none!important}
.csv-privacy-popover strong{color:#654588}
.csv-privacy-popover p{margin:4px 0 0;color:#5f5570;font-size:.86rem}
.csv-or {font-size:.83rem!important;color:#88938d!important;margin:12px 0 0!important;text-transform:uppercase;letter-spacing:.09em}
.csv-browse-button {background:#18785b;color:white}
.csv-example-load,.csv-example-card:nth-child(n) .csv-example-load {background:#eef0ef;color:#26312e;border:1px solid #dfe5e1;box-shadow:none}
.csv-example-load:hover,.csv-example-card:nth-child(n) .csv-example-load:hover{background:#e1e7e3;filter:none}
.csv-example-load:focus-visible{outline:3px solid #599682;outline-offset:2px}
.csv-examples{max-width:1050px}
.csv-example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.csv-example-actions a {font-variant-numeric:tabular-nums}
@media(max-width:600px){.csv-example-grid{grid-template-columns:1fr}.csv-privacy-toggle{top:0;right:0;width:40px;height:40px}.discovery-hero h1{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.csv-lock-icon{animation:none}}


/* V1: keep upload action stationary and verify in a separate overlay. */
.csv-drop-zone {position:relative;}
.csv-drop-zone .csv-privacy-toggle {position:absolute;top:14px;right:14px;width:42px;height:42px;}
.csv-drop-zone .csv-privacy-popover {position:absolute;top:64px;right:14px;}
.csv-upload-icon {color:#7b8582!important;}
.csv-upload-icon * {color:inherit!important;}
.csv-verification[hidden] {display:none!important;}
.csv-verification {
 position:fixed!important;inset:0!important;z-index:60!important;
 width:100%!important;max-width:none!important;height:100dvh!important;
 overflow-y:auto!important;overscroll-behavior:contain;
 background:var(--canvas)!important;border:0!important;border-radius:0!important;
 margin:0!important;padding:clamp(60px,6vw,95px) max(24px,calc((100vw - 960px)/2)) 60px!important;
 box-shadow:none!important;
}
.csv-verification-close {
 position:fixed;top:18px;right:24px;z-index:62;display:grid;place-items:center;
 width:42px;height:42px;border:1px solid var(--line);border-radius:50%;
 background:var(--surface);color:var(--ink);font-size:1.8rem;line-height:1;cursor:pointer;
}
.csv-verification-close:hover {background:#eef2ef;}
body.csv-verifying {overflow:hidden;}
@media(max-width:600px){.csv-drop-zone .csv-privacy-toggle{top:10px;right:10px}.csv-verification{padding:75px 18px 30px!important}.csv-verification-close{right:14px;top:14px}}

/* Consistent full-height bottom-up verification and analysis sheets. */
.csv-verification, .discovery-modal {position:fixed!important;inset:0!important;z-index:100!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important;width:100%!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important;padding:clamp(72px,6vw,96px) max(22px,calc((100vw - 980px)/2)) 55px!important;margin:0!important;background:var(--canvas)!important;box-shadow:none!important;animation:dl-sheet-up .32s cubic-bezier(.22,1,.36,1) both;overscroll-behavior:contain;}
.csv-verification[hidden],.discovery-modal[hidden]{display:none!important}
.discovery-modal-panel{width:100%!important;max-height:none!important;overflow:visible!important;padding:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
.csv-verification-close,.discovery-modal-close{position:fixed!important;top:18px!important;right:24px!important;z-index:130!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border:1px solid var(--line)!important;border-radius:50%!important;background:#fffefa!important;color:var(--ink)!important;box-shadow:0 4px 14px #17231d12!important}
@keyframes dl-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.csv-verification,.discovery-modal{animation:none!important}}
/* Navigation, readable on both dictionary and detail routes. */
.topbar{position:sticky}.site-nav{position:absolute;top:25px;left:max(20px,calc((100vw - 1120px)/2));z-index:40}
.site-menu-toggle{width:44px;height:44px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:1.35rem;cursor:pointer;color:var(--ink)}
.site-menu{position:absolute;top:52px;left:0;width:235px;display:grid;gap:4px;padding:9px;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 35px #182a2430;background:#fff;z-index:45;text-align:left}
.site-menu[hidden]{display:none!important}.site-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:.91rem;font-weight:600}.site-menu a:hover{background:#eef3ef}
.topbar-article .site-nav{left:14px;top:18px}.topbar-article .brand{margin-left:55px}
/* Filtered example library, show eight cards initially. */
.csv-example-controls{display:flex;align-items:center;gap:12px;margin:18px 0 16px;text-align:left;flex-wrap:wrap}
.csv-example-controls label{font-size:.85rem;font-weight:700}.csv-example-controls select{padding:10px 13px;border:1px solid #cbd7d2;border-radius:10px;background:white;color:var(--ink);font:inherit;min-width:195px}
#csv-example-count{margin-left:auto;color:var(--muted);font-size:.87rem}.csv-example-card[hidden],.csv-show-more[hidden]{display:none!important}
.csv-show-more{display:block;margin:20px auto 0;padding:11px 20px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
@media(max-width:760px){.site-nav{top:17px;left:14px}.topbar .brand{margin-left:42px}.topbar-article .brand{margin-left:42px}.csv-verification,.discovery-modal{padding:75px 18px 35px!important}.csv-verification-close,.discovery-modal-close{top:15px!important;right:15px!important}}

/* V1 review: a bold, solid editorial masthead and matching page geometry. */
.topbar,.topbar-article,.topbar.home-search-active{background:#294e47!important;color:#fff!important;border-bottom:1px solid #294e47!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.topbar .brand,.topbar .brand-tagline,.topbar .site-menu-toggle{color:#fff!important}
.topbar .brand-tagline{opacity:.88}
.topbar .site-menu-toggle{background:#365d55;border-color:#6a8e85}
.topbar .site-menu-toggle:hover{background:#437168}
.topbar .reading-progress{background:#4d756b}.topbar .reading-progress-fill{background:#b1e4cc}
.container>.hero,.container>div>.hero{padding-left:0;margin-left:0}
/* Keep the heading aligned between Discover and Dictionary views. */
.discovery-hero h1,.container .hero:not(.discovery-hero) h1{margin-left:0;text-align:left;max-width:940px}
/* Shared sheet heading: subtitle stays inside the sticky rounded title card. */
.discovery-modal-header{border-radius:18px!important;border:1px solid #e4e9e5!important;background:#fffefa!important;box-shadow:0 8px 24px #18332b12!important;margin-bottom:12px!important;padding:18px 58px!important;top:0!important;z-index:31!important}
.discovery-modal-header .discovery-subtitle{margin:8px auto 0!important;text-align:center;color:#52635e}
.discovery-modal-header .eyebrow{letter-spacing:.09em}
.discovery-data-card{top:165px!important}
@media(max-width:700px){.discovery-modal-header{padding:16px 48px 16px 16px!important}.discovery-data-card{position:relative!important;top:auto!important}}
/* Example cards: distinct but subtle, domain-led glyphs with industry context. */
.csv-example-card{position:relative;padding-left:72px!important}
.csv-example-domain-icon{position:absolute;top:22px;left:20px;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e9efeb;color:#336c5c;font-size:1.35rem;font-weight:700}
.csv-example-card[data-domain='Finance'] .csv-example-domain-icon{background:#f0eaf7;color:#7953a4}
.csv-example-card[data-domain='Energy'] .csv-example-domain-icon{background:#fff2d9;color:#a87920}
.csv-example-card[data-domain='Healthcare'] .csv-example-domain-icon{background:#f9e8ea;color:#a55268}
.csv-example-card[data-domain='Technology'] .csv-example-domain-icon{background:#e5ecfa;color:#4f6eae}
.csv-example-industry{color:#67746f}
/* Explainable local recommendation flow; matching slide-up sheets. */
.site-logic-modal[hidden]{display:none!important}
.site-logic-modal{position:fixed;inset:0;z-index:110;background:var(--canvas);overflow:auto;animation:dl-sheet-up .32s cubic-bezier(.22,1,.36,1) both;padding:clamp(76px,7vw,100px) max(22px,calc((100vw - 900px)/2)) 65px}
.site-logic-content{position:relative}
.site-logic-close{position:fixed;top:18px;right:24px;z-index:140;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #dfe5df;color:var(--ink);font-size:2rem;cursor:pointer}
.site-logic-content h2{font:400 clamp(2.2rem,5vw,3.5rem)/1.1 Georgia,serif;letter-spacing:-.04em;margin:10px 0 18px}
.site-logic-lead{color:#5b6c66;max-width:730px}
.site-logic-steps{margin:32px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.site-logic-step{border-radius:17px;background:#fff;border:1px solid #e3e9e5;padding:26px;box-shadow:0 7px 20px #1a342708}
.site-logic-step strong{color:#2f7262}
.site-logic-step p{margin:10px 0 0;color:#55645f}
.site-logic-caveat{font-size:.9rem;color:#6a726e}
.site-nav .site-logic-menu-item{display:block;width:100%;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;padding:10px 14px}
.site-nav .site-logic-menu-item:hover{background:#eaf0eb}
body.logic-open{overflow:hidden}
@media(max-width:620px){.site-logic-steps{grid-template-columns:1fr}.csv-example-card{padding-left:64px!important}.csv-example-domain-icon{left:14px}.discovery-modal-header h2{font-size:1.7rem!important}}
@media(prefers-reduced-motion:reduce){.site-logic-modal{animation:none!important}}


/* V1 polish: soft solid masthead, centered headings, accessible navigation. */
.topbar,.topbar-article,.topbar.home-search-active {
  background:#dceee4!important;color:#1b3931!important;
  border-bottom:1px solid #c5ded1!important;backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.topbar .brand,.topbar .brand-tagline {color:#1b3931!important;opacity:1!important;}
.topbar .site-menu-toggle {background:#f8fcf9!important;color:#1b3931!important;border:1px solid #aacabd!important;}
.topbar .site-menu-toggle:hover {background:#edf7f0!important;}
.site-nav .site-menu,.site-nav .site-menu a,.site-nav .site-logic-menu-item {color:#263830!important;}
.site-nav .site-menu {background:#fff!important;}
.site-nav .site-menu a:hover,.site-nav .site-logic-menu-item:hover {background:#edf4ef!important;color:#1b3931!important;}
.topbar .reading-progress {background:#c5ded1!important;}
.topbar .reading-progress-fill {background:#387c68!important;}
/* Match homepage and dictionary heading alignment and hierarchy. */
.discovery-hero,.dictionary-hero,.container .hero {margin-left:auto!important;margin-right:auto!important;}
.discovery-hero h1,.container .hero:not(.discovery-hero) h1 {
  margin-left:auto!important;margin-right:auto!important;max-width:940px!important;text-align:center!important;
}
.discovery-hero .discovery-paths,.discovery-hero .discovery-intro,.container .hero:not(.discovery-hero) .hero-stats {justify-content:center!important;text-align:center!important;}
/* Example pictograms: compact, easy-to-read domain cues. */
.csv-example-card[data-domain='Finance'] .csv-example-domain-icon {background:#f1ecda;color:#826522;}
.csv-example-card[data-domain='Retail'] .csv-example-domain-icon {background:#e8eef7;color:#486891;}
.csv-example-card[data-domain='Agriculture'] .csv-example-domain-icon {background:#e6f0de;color:#4a7b48;}
.csv-example-card[data-domain='Technology'] .csv-example-domain-icon {background:#e8ebf8;color:#5d69a9;}
/* Explanation as a vertical decision pipeline, not a card grid. */
.site-logic-content{text-align:center;}
.site-logic-lead{margin:0 auto;max-width:640px;}
.site-logic-steps{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;margin:30px auto!important;max-width:670px!important;}
.site-logic-step{width:100%;display:grid;grid-template-columns:44px 1fr;column-gap:16px;text-align:left;padding:20px 24px!important;}
.site-logic-step .site-logic-number{grid-row:1 / span 2;align-self:center;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e0f0e8;color:#246952;font-weight:800;}
.site-logic-step strong{color:#254e41;font-size:1.03rem;}
.site-logic-step p{grid-column:2;margin:5px 0 0!important;}
.site-logic-arrow{font-size:1.55rem;color:#417f6c;line-height:1.45;}
.site-logic-caveat{max-width:670px;margin:0 auto;}
@media(max-width:600px){.site-logic-step{grid-template-columns:36px 1fr;padding:18px!important;gap:10px}.site-logic-step .site-logic-number{width:34px;height:34px}}
