/* Generated by scripts/build_critical_assets.py; preserve source order. */

/* Source: /static/site-controls.css */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Shared Ithy interface. Content, research rendering and model output keep their
   own styles; this file owns navigation, layout and the product/account shell. */
.ithy-page {
  --ui-bg: #f8faf9;
  --ui-surface: #fff;
  --ui-raised: #f0f4f2;
  --ui-text: #26312e;
  --ui-heading: #182420;
  --ui-muted: #60716a;
  --ui-line: #dce5df;
  --ui-accent: #256f64;
  --ui-accent-soft: #e9f3ef;
  --ui-gold: #947013;
  --ui-radius: 16px;
  --ui-shadow: 0 8px 30px #142e2210;
  color: var(--ui-text);
  font-weight: 400;
  background: var(--ui-bg);
  background-image: none;
}
.ithy-page.dark-mode {
  --ui-bg: #191e1d;
  --ui-surface: #202725;
  --ui-raised: #28312e;
  --ui-text: #c8d1cc;
  --ui-heading: #f0f4f1;
  --ui-muted: #97a69f;
  --ui-line: #36433d;
  --ui-accent: #8bc8b5;
  --ui-accent-soft: #263b33;
  --ui-gold: #dbb459;
  color: var(--ui-text);
  background: var(--ui-bg);
}
.ithy-page button,.ithy-page input,.ithy-page select,.ithy-page textarea {
  font-family: Lato,Arial,sans-serif;
}
.ithy-page [hidden]{display:none!important}
.ithy-page .public-nav + .public-guide{margin-top:32px}
.ithy-page a {
  color: var(--ui-accent);
  text-underline-offset: 4px;
}
.ithy-page a:hover {
  color: var(--ui-heading);
}
.ithy-page :is(button,a,input,textarea,summary,select,[role=button]):focus-visible {
  outline: 3px solid var(--ui-gold);
  outline-offset: 4px;
}
/* Taps and pointer-driven dialog autofocus must not look like selection.
   A real keypress restores the keyboard indicator before focus moves. */
html[data-input-modality="pointer"] .ithy-page :is(button,a,summary,[role=button]):focus {
  outline: none !important;
}
html[data-input-modality="pointer"] .ithy-page .swal2-styled:focus,
html[data-input-modality="pointer"] .ithy-page .swal2-close:focus {
  box-shadow: none !important;
}
.ithy-page :is(button,a,[role=button]) {
  touch-action: manipulation;
}
.ithy-page .img-container:hover {
  transform: scale(1.025);
}
.ithy-primary,.ithy-page .submit-button,.account-page .save-instructions-button,.account-page .create-folder-button,.account-page .library-toolbar>button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  box-sizing: border-box;
  padding: 11px 20px;
  border: 1px solid #388278;
  border-radius: 10px;
  background: #327b6e;
  color: #fff;
  font: 600 15px/1.4 Lato,Arial,sans-serif;
  cursor: pointer;
  text-decoration: none;
  box-shadow: none;
  transition: background .18s,transform .18s;
}
.ithy-primary:hover,.ithy-page .submit-button:hover,.account-page .save-instructions-button:hover,.account-page .create-folder-button:hover,.account-page .library-toolbar>button:hover {
  background: #276759;
  box-shadow: none;
  transform: translateY(-1px);
}
.ithy-page button:disabled {
  opacity: .5;
  cursor: default;
  transform: none;
  box-shadow: none;
}
/* Quiet navigation is visually distinct from an action. All targets remain 44px. */
.ithy-page .public-home-links {
  width: min(1080px,calc(100% - 48px));
  margin: 48px auto 0;
}
.ithy-page .public-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 24px;
  max-width: 1080px;
  margin: 32px auto 0;
  padding: 24px 0 12px;
  border-top: 1px solid var(--ui-line);
  border-bottom: 0;
  line-height: 1.5;
}
.ithy-page .public-nav a,.ithy-page .footer a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font: 400 14px/1.5 Lato,Arial,sans-serif;
  color: var(--ui-muted);
  text-decoration: none;
  transition: color .18s;
  transform: none;
}
.ithy-page .public-nav a:hover,.ithy-page .footer a:hover {
  color: var(--ui-accent);
  text-decoration: underline;
}
.ithy-page .public-nav a[aria-current=page] {
  color: var(--ui-heading);
  font-weight: 600;
  background: none;
  border: 0;
}
.ithy-page .footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 24px;
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  padding: 12px 24px 28px;
  border: 0;
  font-size: 0;
  background: none;
}
.ithy-page .footer a {
  font-size: 13px;
}
.ithy-page .return-to-search-button,.ithy-page .ask-again-button {
  border: 1px solid var(--ui-line);
  background: var(--ui-surface);
  color: var(--ui-text);
  box-shadow: none;
  border-radius: 10px;
  min-height: 44px;
  box-sizing: border-box;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
}
.ithy-page .return-to-search-button {gap:8px}
.ithy-page .return-to-search-button>i {display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;line-height:1;margin:0!important}
.ithy-page .return-to-search-button>span {margin:0!important}
.ithy-page .return-to-search-button:hover,.ithy-page .ask-again-button:hover {
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
  transform: none;
  box-shadow: none;
}
.ithy-page .return-to-search-button::before,.ithy-page .ask-again-button::before {
  display: none;
}
.ithy-page .theme-toggle,.ithy-page .top-icon,.ithy-page .help-icon {
  width: 44px;
  height: 44px;
  box-shadow: none;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  color: var(--ui-muted);
  font-size: 20px;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  padding: 0;
  line-height: 1;
}
.ithy-page .theme-toggle,.ithy-page .theme-toggle.rotate {animation:none;transform:none}
.ithy-page .theme-toggle {right:20px;bottom:20px}
.ithy-page .top-icon {right:20px;bottom:76px}
.home-page .ask-again-button {position:static;inset:auto;width:max-content;max-width:calc(100% - 40px);height:auto;min-height:44px;margin:24px auto}
.home-page #answer {box-sizing:border-box;width:100%;max-width:850px;margin-inline:auto}
.ithy-page .theme-toggle svg,.ithy-page .top-icon svg {display:block;width:20px;height:20px;pointer-events:none}
.ithy-page .theme-toggle:hover,.ithy-page .top-icon:hover,.ithy-page .help-icon:hover {
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
  transform: none;
}
/* Search: one focal point, generous space, restrained controls. */
.home-page>.container {
  box-sizing: border-box;
  width: 100%;
  min-height: 65vh;
  overflow-x: clip;
  padding: 112px 24px 32px;
}
.home-page .input-container {
  width: 100%;
  max-width: 760px;
}
.home-page .img-container {
  height: 62px;
  width: auto;
  margin: 0 auto;
}
.home-page .brag {
  font: 400 14px/1.5 Georgia,serif;
  margin: 12px auto 0;
  color: var(--ui-muted);
}
.home-page .first-visit-intro {
  box-sizing: border-box;
  width: 100%;
  max-width: 660px;
  text-align: center;
  margin: 32px auto 0;
  color: var(--ui-muted);
  font: 400 16px/1.75 Lato,Arial,sans-serif;
}
.home-page .research-brands {
  display: grid;
  grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 620px;
  max-width: 100%;
  margin: 0 auto 26px;
  direction: ltr;
}
.home-page .research-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 0;
  color: var(--ui-heading);
  font: 600 clamp(22px,3vw,26px)/1.2 Lato,Arial,sans-serif;
  letter-spacing: -.025em;
}
.home-page .research-brand img {
  display: block;
  flex: none;
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.home-page .research-brand>span {display:flex;flex-direction:column;gap:5px;text-align:start}
.home-page .research-brand strong {font:inherit}
.light-mode.home-page .research-brand:first-child img {
  filter: brightness(.55) saturate(1.15);
}
.home-page .research-brand-plus {
  flex: none;
  color: var(--ui-muted);
  font: 300 24px/1 Lato,Arial,sans-serif;
  text-align: center;
}
.home-page .first-visit-description {
  max-width: 56ch;
  margin: 0 auto;
  color: inherit;
  font: inherit;
  text-wrap: pretty;
}
@media (max-width: 620px) {
  .home-page .research-brands {grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);gap:8px;margin-bottom:24px;}
  .home-page .research-brand {flex-direction:column;gap:10px;font-size:clamp(17px,4.8vw,22px);}
  .home-page .research-brand>span {text-align:center;gap:4px}
  .home-page .research-brand img {width: 38px; height: 38px;}
  .home-page .research-brand-plus {align-self:start;margin-top:7px}
}
.home-page .first-visit-intro h1 {
  margin: 0 0 16px;
  color: var(--ui-heading);
  font: 500 clamp(28px,4vw,42px)/1.2 Lato,Arial,sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.home-page .first-visit-intro>a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: 10px auto 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  font-size: 14px;
  color: var(--ui-accent);
  text-decoration: none;
}
.home-page .first-visit-intro>a:hover {
  text-decoration: underline;
}
.home-page.submitted-mode .first-visit-intro {
  display: none;
}
.home-page .search-wrapper {
  box-sizing: border-box;
  width: 100%;
  max-width: 720px;
  min-height: 78px;
  padding: 14px 18px;
  margin: 32px auto 0;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: 16px;
  box-shadow: var(--ui-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: border-color .18s,box-shadow .18s;
}
.home-page .search-wrapper:hover {
  background: var(--ui-surface);
  border-color: var(--ui-muted);
  box-shadow: var(--ui-shadow);
}
.home-page .search-wrapper:focus-within {
  background: var(--ui-surface);
  border-color: var(--ui-accent);
  box-shadow: 0 0 0 3px #38827820;
}
.home-page #search-input {
  min-width: 0;
  color: var(--ui-heading);
  font-size: 18px !important;
  line-height: 1.5 !important;
  opacity: 1;
}
.home-page .submit-icon,.home-page .file-upload-label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: none;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  color: var(--ui-muted);
  font-size: 22px;
  border-radius: 8px;
  border: 0;
  box-sizing: border-box;
  line-height: 1;
  background: transparent;
}
.home-page .file-upload-label svg {display:block;width:22px;height:22px;pointer-events:none}
.home-page .file-upload-label.has-file{color:#388278;border-color:#388278}
.dark-mode.home-page .file-upload-label.has-file{color:#8abfb2}
.attachment-selection{display:flex;align-items:center;gap:12px;box-sizing:border-box;width:min(100%,720px);margin:10px auto 0;padding:8px 10px 8px 16px;border:1px solid var(--ui-line);border-radius:12px;text-align:start;background:var(--ui-surface)}
.attachment-selection[hidden]{display:none}
.attachment-description{min-width:0;flex:1}
#attachment-filename{display:block;overflow-wrap:anywhere;font-size:14px;line-height:1.5;color:var(--ui-text)}
#attachment-info{display:block;font-size:12px;line-height:1.5;color:var(--ui-muted);margin-top:3px}
#remove-attachment{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:44px;height:44px;padding:0;margin:0;background:transparent;color:var(--ui-muted);border:0;border-radius:8px;font:inherit;font-size:26px;line-height:1;cursor:pointer}
#remove-attachment:hover{background:#38827818;color:var(--ui-text)}
#remove-attachment:disabled{opacity:.45;cursor:default}
#remove-attachment:focus-visible{outline:3px solid #cc9900;outline-offset:2px}
.attachment-feedback{max-width:720px;margin:8px auto 0;font-size:14px;line-height:1.6;color:#a94432;text-align:start}
.attachment-feedback:empty{display:none}
.dark-mode .attachment-feedback{color:#efad9b}
.attachment-selection.attachment-invalid{border-color:#a94432}
.home-page .file-upload-label.attachment-invalid{color:#a94432}
.dark-mode .attachment-selection.attachment-invalid{border-color:#efad9b}
.dark-mode.home-page .file-upload-label.attachment-invalid{color:#efad9b}
.home-page .active-writing-profile{display:flex;align-items:center;justify-content:center;gap:12px;width:fit-content;max-width:100%;box-sizing:border-box;min-height:44px;padding:6px 10px;margin:8px auto 0;color:var(--ui-muted);font-size:13px;line-height:1.5;text-decoration:none;text-align:start;overflow-wrap:anywhere}
.home-page .active-writing-profile>span:first-child{min-width:0}
.home-page .active-writing-profile>span:last-child{flex-shrink:0;text-decoration:underline;text-underline-offset:3px;color:var(--ui-accent)}
.home-page .active-writing-profile:hover{color:var(--ui-heading)}
.home-page .submit-icon {
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
}
.home-page .submit-icon:hover,.home-page .file-upload-label:hover {
  color: var(--ui-heading);
  background: var(--ui-raised);
  transform: none;
}
.home-page .version-toggle-container {
  margin: 18px auto 0;
  padding: 0;
  width:min(100%,360px);
}
.home-page .version-toggle {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
  box-shadow: none;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  padding: 4px;
  border-radius: 12px;
  max-width: 100%;
  box-sizing: border-box;
}
.home-page .version-toggle-option {
  padding: 10px 8px;
  font-size: 14px;
  min-height: 42px;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-sizing: border-box;
  white-space: nowrap;
  color: var(--ui-muted);
  text-shadow: none;
}
.home-page .version-toggle-option i {margin:0!important}
.home-page .version-toggle-option.active {
  color: var(--ui-heading);
  text-shadow: none;
}
.home-page .version-toggle-slider {
  top: 4px;
  bottom: 4px;
  border-radius: 8px;
  box-shadow: none;
  background: var(--ui-accent-soft);
  border: 0;
}
.home-page .version-toggle-slider::before,.home-page .version-toggle-slider::after {
  display: none;
}
.home-page .version-toggle:hover,.home-page .version-toggle:hover .version-toggle-slider {
  box-shadow: none;
}
.home-page .version-toggle-option:hover {
  color: var(--ui-heading);
  transform: none;
}
.home-page .status-message {
  margin: 16px auto 0;
  height: 24px;
  font-size: 12px;
  opacity: .8;
}
.home-page .status-message a {
  font-size: 12px;
}
.home-page .share-box {
  box-shadow: none;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
}
.home-page .page-article-cover {
  object-fit: cover;
}
/* Marketing uses lightweight, native components, not screenshots of the UI. */
.home-page .product-story {
  display: flex;
  flex-direction: column;
  gap: 72px;
  box-sizing: border-box;
  width: 100%;
  max-width: 1080px;
  margin: 88px auto 16px;
  padding: 64px 0 0;
  border-top: 1px solid var(--ui-line);
  text-align: start;
  scroll-margin-top: 32px;
}
.product-story .story-heading {
  max-width: 650px;
  margin: 0 auto;
  text-align: center;
}
.product-story .story-film {
  width: 100%; max-width: 940px; margin: 0 auto;
}
.product-story .story-film video {
  display: block; box-sizing: border-box; width: 100%; height: auto; aspect-ratio: 16/9;
  border: 1px solid var(--ui-line); border-radius: 16px; background: #141d1a;
}
.product-story .story-film video:focus-visible {
  outline: 2px solid var(--ui-accent); outline-offset: 5px;
}
.product-story .story-film figcaption {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px 24px; padding: 16px 4px 0; color: var(--ui-muted);
  font: 400 13px/1.5 Lato,Arial,sans-serif;
}
.product-story .story-film figcaption a {
  color: var(--ui-accent); text-underline-offset: 4px;
}
@media (max-width: 480px) {
  .product-story .story-film figcaption { display: grid; gap: 6px; padding-top: 12px; }
  .product-story .story-film video { border-radius: 10px; }
}
.product-story .eyebrow {
  display: block;
  color: var(--ui-accent);
  font: 600 12px/1.5 Lato,Arial,sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.product-story h2 {
  font: 500 clamp(26px,3.5vw,36px)/1.25 Lato,Arial,sans-serif;
  letter-spacing: -.025em;
  color: var(--ui-heading);
  margin: 0 0 20px;
  text-wrap: balance;
}
.product-story p {
  font: 400 16px/1.8 Lato,Arial,sans-serif;
  color: var(--ui-muted);
  margin: 0;
}
.product-story h3 {
  font: 600 18px/1.4 Lato,Arial,sans-serif;
  color: var(--ui-heading);
  margin: 20px 0 12px;
}
.research-illustration {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 36px;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: 20px;
  text-align: center;
}
.illustration-question {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  padding: 12px 24px;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  font: 500 15px/1.5 Lato,Arial,sans-serif;
  color: var(--ui-heading);
}
.brand-dots {
  display: inline-flex;
  gap: 2px;
  align-items: center;
}
.brand-dots i {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #c90;
}
.brand-dots i+i {
  background: #388278;
}
.illustration-branches {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  height: 42px;
  margin: 0 15%;
  position: relative;
}
.illustration-branches::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  border-top: 1px solid var(--ui-line);
}
.illustration-branches span {
  border-inline-start: 1px solid var(--ui-line);
  margin-top: 20px;
}
.illustration-branches span:nth-child(2) {
  margin-top: 0;
  justify-self: center;
}
.illustration-branches span:nth-child(3) {
  justify-self: end;
}
.illustration-models {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  font: 400 13px/1.5 Lato,Arial,sans-serif;
  color: var(--ui-text);
}
.illustration-models>span {
  padding: 16px 10px;
  background: var(--ui-raised);
  border: 1px solid var(--ui-line);
  border-radius: 10px;
}
.illustration-models i {
  display: block;
  margin-bottom: 10px;
  font-size: 16px;
  color: var(--ui-accent);
}
.illustration-answer {
  display: flex;
  align-items: center;
  gap: 16px;
  text-align: start;
  margin-top: 32px;
  border: 1px solid #38827866;
  background: var(--ui-accent-soft);
  padding: 20px;
  border-radius: 12px;
  color: var(--ui-heading);
}
.illustration-answer>div {
  flex: 1;
  min-width: 0;
}
.illustration-answer strong {
  display: block;
  font-size: 16px;
  margin-bottom: 4px;
}
.illustration-answer div>span {
  font: 400 13px/1.6 Lato,Arial,sans-serif;
  color: var(--ui-muted);
}
.illustration-answer>i {
  color: var(--ui-accent);
}
.illustration-answer-icon {
  font-size: 24px;
  color: var(--ui-accent);
}
.story-features {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 40px;
}
.story-features>article>i {
  font-size: 20px;
  color: var(--ui-accent);
}
.story-modes {
  padding-top: 64px;
  border-top: 1px solid var(--ui-line);
}
.story-modes>header {
  text-align: center;
  max-width: 650px;
  margin: 0 auto 32px;
}
.story-mode-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.story-mode-grid>article {
  padding: 32px;
  border: 1px solid var(--ui-line);
  border-radius: 16px;
  background: var(--ui-surface);
}
.mode-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
}
.mode-icon.fast {
  color: var(--ui-gold);
  background: #c9900015;
}
.story-press {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 16px 0;
  text-align: center;
}
.story-press>span {
  display: block;
  color: var(--ui-muted);
  font-size: 12px;
  margin-bottom: 22px;
}
.story-press-logos {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: center;
  gap: 24px;
}
.story-press-logos a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  min-height: 52px;
  border-radius: 6px;
  opacity: .75;
  transition: opacity .15s ease;
}
.story-press-logos a:hover,.story-press-logos a:focus-visible {opacity:1}
.story-press-logos img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 170px;
  object-fit: contain;
}
.story-press-logos .press-intelligence {max-width:205px}
.story-press-logos .press-product-hunt {max-width:160px}
.story-press-logos .press-fast-company {filter:invert(1)}
.dark-mode .story-press-logos img {filter:invert(1)}
.dark-mode .story-press-logos .press-fast-company {filter:none}
@media(max-width:480px){
  .story-press-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
  .story-press-logos a:last-child{grid-column:1/-1;justify-self:center;width:160px}
}
.story-finish {
  text-align: center;
  margin: 0 auto 24px;
}
.story-finish .ithy-primary {
  margin: 24px auto 12px;
}
.story-finish>a {
  display: block;
  width: max-content;
  margin: auto;
  min-height: 44px;
  font-size: 14px;
  line-height: 44px;
  text-decoration: none;
}
.story-finish>a:hover {
  text-decoration: underline;
}
/* Account: summary, independent panels, then preferences and library. */
.account-page>.container {
  width: 100%;
  max-width: 1080px;
  padding: 64px 28px 32px;
  box-sizing: border-box;
  text-align: start;
  align-items: stretch;
}
.account-header {
  width: 100%;
  text-align: center;
  margin: 0 auto 40px;
}
.account-page .img-container {
  width: 108px;
  margin: 0 auto 28px;
}
.account-header h1 {
  font-size: 28px;
  line-height: 1.3;
  letter-spacing: -.025em;
  font-weight: 500;
  color: var(--ui-heading);
  margin: 0 0 12px;
}
.account-page .email-text {
  font-size: 14px;
  color: var(--ui-muted);
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.account-page .email-text a {
  font-size: 13px;
  margin-inline-start: 8px;
}
.account-page .limits-container {
  justify-content: center;
  gap: 8px 18px;
  margin: 12px auto 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--ui-muted);
}
.account-page .limits-container .divider {
  display: none;
}
.account-page .account-receipts {
  display: block;
  width: max-content;
  max-width: 100%;
  min-height: 44px;
  margin: 8px auto 0;
  padding: 8px 12px;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--ui-accent);
  font-size: 13px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.account-page .pro-member {
  min-height: 0;
  margin: 10px auto 0;
  background: var(--ui-accent-soft);
  border: 1px solid var(--ui-line);
  border-radius: 6px;
  box-shadow: none;
  font-size: 12px;
  padding: 4px 9px;
  color: var(--ui-accent);
  animation: none;
}
.account-page .settings-jump-links {
  display: grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap: 0;
  margin: 24px auto 0;
  padding: 0;
  border-bottom: 1px solid var(--ui-line);
}
.account-page .settings-jump-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  justify-content:center;
  padding: 12px 6px;
  border: 0;
  border-radius: 0;
  color: var(--ui-muted);
  background: none;
  box-shadow: none;
  font-size: 14px;
  text-decoration: none;
  transform: none;
  text-align:center;
  line-height:1.5;
  position:relative;
}
.account-page .settings-jump-links a:hover {
  color: var(--ui-accent);
  text-decoration: underline;
}
.account-page .settings-jump-links a[aria-current="page"] {color:var(--ui-heading);font-weight:600}
.account-page .settings-jump-links a[aria-current="page"]::after {content:'';position:absolute;bottom:-1px;left:12px;right:12px;height:2px;background:var(--ui-accent)}
.account-page .content-columns,.account-page .left-column,.account-page .right-column {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: block;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.account-page .containers-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 24px;
  margin: 0;
  width: 100%;
}
.account-page .containers-wrapper>.tier-container,.account-page .containers-wrapper>.subscribe-box-container {
  align-self: start;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 28px;
  box-sizing: border-box;
  border: 1px solid var(--ui-line) !important;
  border-radius: 16px;
  background: var(--ui-surface);
  color: var(--ui-text);
  box-shadow: none;
  text-align: start;
  font-size: 14px;
  line-height: 1.65;
}
.account-page .containers-wrapper h2 {
  color: var(--ui-heading);
  font: 600 18px/1.4 Lato,Arial,sans-serif;
  margin: 0 0 20px;
  background: none;
  -webkit-text-fill-color: currentColor;
  animation: none;
  display: block;
}
.account-page .tier-title {
  display: block;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--ui-muted) !important;
  background: none;
  -webkit-text-fill-color: currentColor;
  animation: none;
  margin: 0 0 16px;
}
.account-page .tier-title strong {
  font-size: 28px;
  font-weight: 500;
  color: var(--ui-heading);
  margin-inline-end: 4px;
  letter-spacing: -.02em;
}
.account-page .tier-box {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 8px 12px;
  gap: 12px;
  font-size: 14px;
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
  box-shadow: none;
  transform: none;
}
.account-page .tier-box::before {
  display: none;
}
.account-page .tier-box:hover {
  background: var(--ui-raised);
  transform: none;
}
.account-page .ithy-rank {
  font-size: 12px;
  opacity: .6;
}
.account-page .your-rewards {
  padding: 8px 0;
  margin: 4px 0;
  min-height: 44px;
  color: var(--ui-accent) !important;
  font-size: 13px;
  font-family: inherit;
  line-height: 1.5;
  background: none;
  border: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.account-page .tier-container>p {
  margin: 0;
}
.account-page .pricing-tabs {
  display: inline-flex;
  justify-content: flex-start;
  padding: 3px;
  margin: 0 0 20px;
  border: 1px solid var(--ui-line);
  border-radius: 9px;
  background: var(--ui-raised);
  gap: 3px;
}
.account-page .pricing-tab {
  min-height: 38px;
  padding: 6px 12px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--ui-muted) !important;
  font-size: 13px;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.account-page .pricing-tab>div {
  margin: 0 !important;
}
.account-page .pricing-tab.active {
  background: var(--ui-surface) !important;
  color: var(--ui-heading) !important;
  box-shadow: 0 1px 3px #0001;
}
.account-page .plan-saving {
  font-size: 10px;
  color: var(--ui-accent);
}
.account-page .pro-message {
  color: var(--ui-muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 18px;
  min-height: 0;
}
.account-page .pro-message b {
  color: var(--ui-heading);
  font-weight: 500;
}
.account-page button.subscribe-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  width: 100%;
  margin: 0 0 20px;
  padding: 12px 16px;
  border: 1px solid #b58a25;
  border-radius: 10px;
  background: #dbb459;
  color: #272211;
  font: 600 15px/1.4 Lato,Arial,sans-serif;
  box-shadow: none;
  transform: none;
}
.account-page button.subscribe-box:hover {
  background: #e6c474;
  box-shadow: none;
  transform: translateY(-1px);
}
.account-page button.subscribe-box::before {
  display: none;
}
.account-page .account-disclosure>summary {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  list-style: none;
  min-height: 48px;
  padding: 12px 0;
  box-sizing: border-box;
  font: 500 14px/1.5 Lato,Arial,sans-serif;
  color: var(--ui-text);
  background: none;
  border: 0;
  border-radius: 0;
  text-align: start;
}
.account-page .account-disclosure>summary::-webkit-details-marker {
  display: none;
}
.account-page .account-disclosure>summary::after {
  content: "+";
  margin-inline-start: auto;
  font-size: 20px;
  line-height: 1;
  color: var(--ui-muted);
  font-weight: 400;
}
.account-page .account-disclosure[open]>summary::after {
  content: "−";
}
.account-page .account-disclosure>summary:hover {
  color: var(--ui-accent);
  background: none;
}
.account-page .account-disclosure[open]>summary {
  margin-bottom: 16px;
  border-bottom: 1px solid var(--ui-line);
  padding-bottom: 16px;
}
.account-page .account-disclosure:not([open])>*:not(summary) {
  display: none;
}
.account-page .rewards-detail,.account-page .plan-details.account-disclosure {
  display: block !important;
  margin: 20px 0 0;
  border-top: 1px solid var(--ui-line);
}
.account-page .account-disclosure ul {
  padding: 0 !important;
  margin: 12px 0 0 !important;
  left: 0;
  list-style: none;
  text-align: start;
  color: var(--ui-text);
}
.account-page .account-disclosure li {
  font-size: 13px;
  line-height: 1.8 !important;
  margin: 10px 0 !important;
  list-style: none;
}
.account-page .account-disclosure li a {
  color: inherit !important;
}
.account-page .membership-help {
  grid-column: 1/-1;
  margin: -12px 0 0;
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
}
.account-page .column-divider {
  display: none;
}
.account-page #account-preferences {
  width: 100%;
  margin: 0;
  padding: 28px;
  box-sizing: border-box;
  border: 1px solid var(--ui-line);
  border-radius: 16px;
  background: var(--ui-surface);
  scroll-margin-top: calc(var(--account-tabs-height,72px) + 20px);
}
.account-page .preferences-heading {margin:0 0 28px;text-align:start}
.account-page #preferences-heading {font-size:24px;margin:0 0 8px}
.account-page .preferences-heading p {color:var(--ui-muted);font-size:14px;margin:0;line-height:1.6}
.preferences-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.preferences-layout>section {
  min-width: 0;
}
.account-page .custom-instructions-header {
  margin: 0 0 12px;
}
.account-page .custom-instructions-container h2 {
  font-size: 16px;
  font-weight: 500;
  color: var(--ui-heading);
  line-height: 1.4;
  margin: 0 0 12px;
}
.account-page .custom-instructions-container h2 i {
  display: none;
}
.account-page #custom-instructions {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 160px !important;
  opacity: 1 !important;
  padding: 14px !important;
  margin: 0 !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  background: var(--ui-bg);
  color: var(--ui-text);
  font-size: 15px;
  line-height: 1.65;
}
.account-page .writing-help {
  margin: 12px 0 28px !important;
  text-align: start !important;
}
.account-page .writing-help .guide {
  padding: 8px 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  max-width: 100% !important;
  font-size: 13px !important;
  display: inline-flex !important;
  color: var(--ui-accent) !important;
}
.account-page .writing-help>span {
  display: none;
}
.account-page .settings-meta {
  font-size: 12px;
  color: var(--ui-muted);
  line-height: 1.6;
}
.account-page .settings-meta span:last-child {
  max-width: 270px;
}
.account-page .chat-provider-container>p,.account-page .visual-preferences>p,.account-page .account-settings-note {
  color: var(--ui-muted);
  font-size: 13px !important;
  line-height: 1.7;
  opacity: 1;
}
.account-page #chat-provider {
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  min-height: 44px;
  background-color: var(--ui-bg) !important;
  color: var(--ui-text);
}
.account-page .settings-section {
  margin: 0 !important;
}
.account-page .visual-preferences>div>div:has(>.preference-toggle) {
  min-height: 44px;
  gap: 16px;
  margin: 0 !important;
  padding: 5px 0;
  border-bottom: 1px solid var(--ui-line);
}
.account-page .visual-preferences label {
  font-size: 14px !important;
  line-height: 1.5;
}
.account-page .heading-color-preview {
  font-size: 18px;
  margin: 24px 0 12px;
}
.account-page .save-instructions-button {
  width: auto;
  min-width: 160px;
  display: flex;
  margin: 8px auto 20px !important;
}
.account-page #settings-state {
  margin: 12px auto;
  min-height: 0;
}
.account-page #account-library {
  margin: 0;
  padding-top: 0;
  border: 0;
  scroll-margin-top: calc(var(--account-tabs-height,72px) + 20px);
}
.account-page #library-heading {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
  color: var(--ui-heading);
  margin: 0 0 24px;
}
.account-page .folders-container {
  padding: 0;
  margin: 0 0 24px;
  background: none;
  border: 0;
  border-radius: 0;
  text-align: start;
}
.account-page .folder-list:empty {
  display: none;
}
.account-page .create-folder-button {
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  color: var(--ui-text);
  font-size: 13px;
  margin: 0;
  width: auto;
}
.account-page .create-folder-button:hover {
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
}
.account-page .folder-item {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  padding: 12px 16px;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  background: var(--ui-surface);
}
.account-page .folder-name {
  min-width: 0;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.account-page .folder-buttons {
  display: flex;
  gap: 4px;
  flex: none;
  margin-inline-start: auto;
}
.account-page .folder-buttons button,.account-page .folder-buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--ui-muted);
  font-size: 14px;
  background: none;
  border: 0;
}
.account-page .library-toolbar {
  display: grid;
  grid-template-columns: minmax(140px,1fr) auto auto auto;
  align-items: end;
  gap: 12px;
  padding: 0;
  margin: 0 0 24px;
  max-width: none;
  width: 100%;
  box-sizing: border-box;
}
.account-page .library-toolbar>label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
  font: 400 12px/1.5 Lato,Arial,sans-serif;
  color: var(--ui-muted);
}
.account-page .library-toolbar input,.account-page .library-toolbar select {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  background: var(--ui-surface);
  color: var(--ui-text);
  font: 400 14px/1.4 Lato,Arial,sans-serif;
}
.account-page .library-toolbar>a {
  grid-column: 1/-1;
  justify-self: start;
  font-size: 13px;
}
.account-page .article-links-container {
  border: 1px solid var(--ui-line);
  border-radius: 12px;
  overflow: hidden;
  margin: 0;
}
.account-page .article-table {
  width: 100%;
  border-spacing: 0;
  table-layout: fixed;
  border-collapse: collapse;
  margin: 0;
  border: 0;
  background: var(--ui-surface);
}
.account-page .article-table th,.account-page .article-table td {
  border: 0 !important;
  border-bottom: 1px solid var(--ui-line) !important;
  background: transparent !important;
  font-weight: 400;
  padding: 10px 8px !important;
}
.account-page .article-table th {
  color: var(--ui-muted);
  font-size: 12px;
  background: var(--ui-raised) !important;
}
.account-page .article-table th:first-child,.account-page .article-table td:first-child {
  padding: 12px 18px !important;
  text-align: start !important;
  width: auto !important;
}
.account-page .article-table th:not(:first-child),.account-page .article-table td:not(:first-child) {
  width: 56px !important;
  text-align: center !important;
}
.account-page .article-table tbody tr:last-child td {
  border-bottom: 0 !important;
}
.account-page .article-table tbody tr:hover {
  background: var(--ui-accent-soft);
}
.account-page .library-article-link {
  display: flex !important;
  align-items: center;
  min-height: 44px;
  font-size: 15px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  text-decoration: none;
  color: var(--ui-text) !important;
}
.library-article-title {
  display: block;
  overflow: visible;
  overflow-wrap: anywhere;
}
.account-page .library-article-title i {
  font-size: 12px;
  opacity: .65 !important;
}
.account-page .article-row-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 8px;
  border: 0;
  border-radius: 8px;
  background: none;
  box-shadow: none;
  color: var(--ui-muted);
  opacity: 1;
  cursor: pointer;
  font-size: 14px;
}
.account-page .article-row-button:hover {
  background: var(--ui-raised);
  color: var(--ui-accent);
}
.account-page .article-row-button[data-delete-article]:hover {
  color: #b55142;
  background: #b5514218;
}
.account-page .library-count {
  color: var(--ui-muted);
  font-size: 12px;
  text-align: center;
  margin: 20px 0 0;
  line-height: 1.6;
}
.account-page .library-pages {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 12px auto 0;
}
.account-page .library-pages:empty {
  display: none;
}
.account-page .library-pages a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  background: var(--ui-surface);
  font-size: 13px;
  text-decoration: none;
}
.account-page .library-pages a:hover {
  background: var(--ui-accent-soft);
}
.account-page .account-secondary-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  width:100%;
  max-width:420px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px auto 0;
  font-size: 13px;
}
.account-page .account-secondary-actions a {
  display: inline-flex;
  align-items: center;
  justify-content:center;
  gap: 8px;
  min-height: 44px;
  box-sizing:border-box;
  padding: 10px 12px;
  border: 1px solid var(--ui-line);
  border-radius:8px;
  box-shadow: none;
  background: var(--ui-surface);
  color: var(--ui-text);
  text-align:center;
  text-decoration: none;
}
.account-page .account-secondary-actions a:hover {
  color: var(--ui-accent);
  border-color:var(--ui-accent);
  background:var(--ui-accent-soft);
}
/* Article shell stays calm so the original, richly structured answer leads. */
.reader-page>.container {
  max-width: 1000px;
  width: 100%;
  box-sizing: border-box;
  padding: 64px 28px 32px;
}
.reader-page .container>.img-container {
  width: 100px;
  margin: 0 auto 24px;
}
.reader-page .article-tools {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0 auto 20px;
  color: var(--ui-muted);
  font-size: 12px;
}
.reader-page .article-tools>a,.reader-page .article-tools button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 6px 12px;
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  background: transparent;
  color: var(--ui-accent);
  font-size: 13px;
  box-shadow: none;
  text-decoration: none;
}
.reader-page .article-tools button:hover,.reader-page .article-tools>a:hover {
  background: var(--ui-accent-soft);
}
.reader-page .search-publication-control {
  align-items: flex-start;
  max-width: 760px;
  margin: 12px auto 24px;
  text-align: start;
  font-size: 12px;
  line-height: 1.7;
  gap: 10px;
  flex-wrap: nowrap;
}
.reader-page .search-publication-control input {
  flex: none;
  margin-top: 2px;
}
.reader-page .article-content {
  width: 100%;
  max-width: 850px;
  margin-inline: auto;
}
.reader-page .ask-more-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 260px;
  margin: 36px auto 20px;
  padding: 12px 20px;
  border: 1px solid #388278;
  border-radius: 10px;
  box-shadow: none;
  background: #327b6e;
  box-sizing: border-box;
  font-size: 15px;
  transform: none;
}
.reader-page .ask-more-box:hover {
  background: #276759;
  transform: none;
}
.reader-page .ask-more-box::before {
  display: none;
}
.reader-page .article-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 auto 24px;
  width: 100%;
}
.reader-page .article-actions>.reader-chat {
  position:static;
  width:auto;
  height:auto;
  margin:0;
  gap:8px;
  min-height:44px;
  padding:10px 16px;
  font:400 13px/1.5 Lato,Arial,sans-serif;
}
.reader-page .ask-more-box {min-width:0!important;width:max-content;max-width:100%}
.reader-page .ask-more-box>div {gap:10px}
.reader-page .ask-more-box .external-share {margin:0!important;display:inline-flex;align-items:center;justify-content:center;line-height:1}
@media(max-width:540px){
  .reader-page .article-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .reader-page .article-actions>.reader-chat {grid-column:1/-1}
  .reader-page .article-actions>.export-box,.reader-page .article-actions>.delete-box {width:100%;padding:10px 8px;font-size:12px;text-align:center;line-height:1.5}
  .reader-page .article-tools>span {width:100%;text-align:center}
}
.reader-page .article-actions>.export-box,.reader-page .article-actions>.delete-box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  min-height: 44px;
  padding: 10px 16px;
  margin: 0;
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  background: var(--ui-surface);
  box-shadow: none;
  color: var(--ui-muted);
  font-size: 13px;
  transform: none;
}
.reader-page .article-actions>.export-box:hover {
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
}
.reader-page .article-actions>.delete-box:hover {
  color: #bf6958;
  background: #b5514215;
}
.reader-page .article-actions>div::before {
  display: none;
}
.ithy-page .swal2-popup {
  border: 1px solid var(--ui-line);
  border-radius: 16px;
  background: var(--ui-surface);
  color: var(--ui-text);
  box-shadow: 0 24px 80px #0004;
  font-family: Lato,Arial,sans-serif;
  padding: 24px;
}
.ithy-page .swal2-title {
  font-size: 23px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--ui-heading);
  padding: 12px 12px 0;
}
.ithy-page .swal2-html-container {
  font-size: 15px;
  line-height: 1.75;
  color: var(--ui-text);
  padding: 0;
  margin: 20px 0;
  text-align: start;
}
.ithy-page .swal2-actions {
  gap: 10px;
  margin: 12px auto 0;
  justify-content: center;
}
.ithy-page .swal2-styled {
  min-height: 44px;
  border-radius: 8px;
  font-size: 14px;
  margin: 0;
  box-shadow: none;
}
.ithy-page .swal2-input,.ithy-page .swal2-select {
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid var(--ui-line);
  background: var(--ui-bg);
  color: var(--ui-text);
  border-radius: 8px;
  max-width: 100%;
}
/* Sign-in and public information share the same typography and surface rhythm. */
.signin-page {
  min-height: 100vh;
  height: auto;
  justify-content: flex-start;
  padding: 64px 24px;
  box-sizing: border-box;
}
.signin-page>.container {
  box-sizing: border-box;
  width: 100%;
  max-width: 460px;
  margin: auto;
  padding: 32px;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: 20px;
  box-shadow: var(--ui-shadow);
}
.signin-page .img-container {
  width: 100px;
  height: auto;
  margin: 0 auto 32px;
  padding: 0 !important;
}
.signin-page h1 {
  font-size: 25px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: -.02em;
  color: var(--ui-heading);
  margin: 0 0 14px;
  text-align: center;
  text-wrap: balance;
}
.signin-page .signin-intro {
  color: var(--ui-muted);
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
  margin: 0 0 28px;
}
.signin-page .email-signin-container {
  width: 100%;
  margin: 0 auto;
}
.signin-page .input-group {
  margin-top: 16px;
}
.signin-page #emailInput {
  box-sizing: border-box;
  width: 100%;
  min-height: 52px;
  color: var(--ui-text);
  background: var(--ui-bg);
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  box-shadow: none;
  font-size: 16px;
}
.signin-page .submit-button {
  width: 100%;
  margin: 16px auto 0;
}
.signin-page hr {
  border: 0;
  border-top: 1px solid var(--ui-line);
  margin: 24px auto !important;
}
.signin-page>.container>p:not(.signin-intro) {
  font-size: 12px;
  line-height: 1.7;
  color: var(--ui-muted);
  text-align: center;
}
.signin-page .verification-code-input {
  border: 1px solid var(--ui-line);
  border-radius: 6px;
  background: var(--ui-bg);
  color: var(--ui-heading);
  font-size: 22px;
  box-shadow: none;
}
.signin-page .verification-code-wrapper {
  max-width: 100%;
  box-sizing: border-box;
  gap: 5px;
}
.signin-page .verification-code-container {
  min-width: 0;
  gap: 4px;
}
.signin-page .verification-code-label {
  font-size: 14px;
  line-height: 1.5;
}
.public-page {
  background: var(--ui-bg);
  color: var(--ui-text);
}
.public-page #particles-js {
  display: none;
}
.public-page .inner {
  width: min(900px,calc(100% - 48px));
  box-sizing: border-box;
  margin: 48px auto;
  overflow: visible;
}
.public-page .img-container {
  width: 108px;
  margin: 0 auto 40px;
}
.public-page .page-outer {
  padding: 32px !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 16px !important;
  background: var(--ui-surface) !important;
  box-shadow: none !important;
  font-family: Lato,Arial,sans-serif;
}
.public-page .public-guide h1 {
  font-size: clamp(28px,4vw,36px);
  letter-spacing: -.025em;
  line-height: 1.25;
  color: var(--ui-heading);
  font-weight: 500;
  margin-bottom: 24px;
}
.public-page .public-guide h2 {
  font-size: 21px;
  line-height: 1.4;
  margin-top: 40px;
  color: var(--ui-accent);
}
.public-page .public-guide p {
  font-size: 16px;
  line-height: 1.85;
}
.public-page .public-guide-links {
  gap: 0 20px;
  border-block-color: var(--ui-line);
}
.public-page .folder-toolbar a,.public-page .folder-pagination a {
  min-height: 44px;
  padding: 8px 12px;
  box-sizing: border-box;
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  background: var(--ui-surface);
  color: var(--ui-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  font-size: 13px;
}
.public-page .folder-toolbar a:hover,.public-page .folder-pagination a:hover {
  background: var(--ui-accent-soft);
}
/* Target sizes and rhythm at narrow widths; no detached right-hand cards. */
@media (max-width:760px) {
  .story-features {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .story-features article {
    max-width: 560px;
  }
  .story-features h3 {
    margin-top: 14px;
  }
  .product-story .story-mode-grid {
    gap: 16px;
  }
  .product-story .story-mode-grid>article {
    padding: 24px;
  }
  .home-page .product-story {
    gap: 48px;
    margin-top: 64px;
    padding-top: 48px;
  }
  .story-modes {
    padding-top: 48px;
  }
  .account-page .containers-wrapper {
    gap: 16px;
  }
  .account-page .containers-wrapper>.tier-container,.account-page .containers-wrapper>.subscribe-box-container {
    padding: 22px;
  }
  .preferences-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .account-page .settings-meta span:last-child {
    max-width: none;
  }
  .account-page .account-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 20px 0;
  }
  .account-page .account-tools .return-to-search-button {
    position: static;
  }
  .account-page>.container {
    padding-top: 24px;
  }
  .account-page .library-toolbar {
    grid-template-columns: 1fr 1fr;
  }
  .account-page .library-query {
    grid-column: 1/-1;
  }
  .account-page .library-toolbar>button {
    grid-column: 1/-1;
  }
  .account-page .library-toolbar input,.account-page .library-toolbar select {
    font-size: 16px;
  }
}
@media (max-width:540px) {
  .home-page>.container {
    padding: 100px 20px 24px;
    min-height: 65vh;
  }
  .home-page .first-visit-intro {
    font-size: 15px;
    margin-top: 24px;
  }
  .home-page .img-container {
    height: 50px;
  }
  .home-page .search-wrapper {
    min-height: 72px;
    padding: 10px 8px 10px 14px;
    margin-top: 24px;
  }
  .home-page #search-input {
    font-size: 16px !important;
    padding: 4px !important;
  }
  .home-page .version-toggle-option {
    font-size: 12px;
    padding: 10px 12px;
  }
  .home-page .status-message {
    font-size: 11px;
    max-width: 100%;
  }
  .home-page .status-message a {
    font-size: 11px;
  }
  .product-story .story-mode-grid {
    grid-template-columns: 1fr;
  }
  .research-illustration {
    padding: 20px 14px;
    border-radius: 14px;
  }
  .illustration-models {
    gap: 8px;
    font-size: 11px;
  }
  .illustration-models>span {
    padding: 14px 6px;
  }
  .illustration-answer {
    padding: 16px;
    gap: 10px;
  }
  .illustration-answer-icon {
    display: none;
  }
  .illustration-answer strong {
    font-size: 14px;
  }
  .illustration-answer div>span {
    font-size: 12px;
  }
  .story-press {
    gap: 4px 20px;
  }
  .story-press>span {
    width: 100%;
    text-align: center;
  }
  .product-story h2 {
    font-size: 27px;
  }
  .product-story p {
    font-size: 15px;
  }
  .account-page>.container {
    padding-inline: 20px;
  }
  .account-header {
    margin-bottom: 28px;
  }
  .account-page .containers-wrapper {
    grid-template-columns: 1fr;
  }
  .account-page .tier-container {
    order: 2;
  }
  .account-page .subscribe-box-container {
    order: 1;
  }
  .account-page .membership-help {
    order: 3;
    margin: 0;
  }
  .account-page .settings-jump-links {
    gap: 0;
  }
  .account-page .settings-jump-links a {
    font-size: 13px;
  }
  .account-page #account-preferences {padding:20px;margin:0}
  .account-page .article-table th:not(:first-child),.account-page .article-table td:not(:first-child) {
    width: 46px !important;
    padding: 6px 1px !important;
  }
  .account-page .article-table th:first-child,.account-page .article-table td:first-child {
    padding: 10px 12px !important;
  }
  .account-page .library-article-link {
    font-size: 14px;
  }
  .account-page #account-library {
    margin-top: 0;
  }
  .account-page .folder-item {
    flex-wrap: wrap;
    padding: 10px 12px;
  }
  .account-page .folder-name {
    flex: 1;
    min-width: 120px;
  }
  .account-page .folder-buttons {
    flex-wrap: wrap;
  }
  .reader-page>.container {
    padding: 80px 20px 24px;
  }
  .reader-page .article-actions {
    gap: 8px;
  }
  .reader-page .article-actions>.export-box,.reader-page .article-actions>.delete-box {
    font-size: 12px;
    padding: 10px 12px;
  }
  .ithy-page .public-home-links {
    width: calc(100% - 40px);
    margin-top: 32px;
  }
  .ithy-page .public-nav {
    gap: 0 20px;
    justify-content: center;
  }
  .ithy-page .public-nav a {
    font-size: 13px;
  }
  .signin-page {
    padding: 24px 16px;
  }
  .signin-page>.container {
    padding: 28px 20px;
  }
  .signin-page .verification-code-input {
    font-size: 18px;
    width: 27px;
    min-width: 0;
    height: 40px;
    padding: 0;
  }
  .signin-page .verification-code-wrapper {
    gap: 2px;
  }
  .signin-page .verification-code-container {
    gap: 3px;
  }
  .signin-page .verification-dash {
    padding: 0;
    font-size: 12px;
  }
  .public-page .inner {
    width: calc(100% - 32px);
    margin: 32px auto;
  }
  .public-page .page-outer {
    padding: 22px 18px !important;
  }
  .ithy-page .swal2-popup {
    padding: 20px;
    box-sizing: border-box;
  }
}
@media (prefers-reduced-motion:reduce) {
  .ithy-page *,.ithy-page *::before,.ithy-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
@media print {
  .ithy-page {
    background: #fff;
    color: #111;
  }
  .ithy-page .public-nav,.ithy-page .footer,.ithy-page .article-tools,.ithy-page .theme-toggle,.ithy-page .account-tools {
    display: none !important;
  }
}
/* Header utility controls are secondary, including the visible allowance meter. */
.ithy-page .account-icon {
  min-height: 44px;
  height: auto;
  padding: 10px 16px;
  box-sizing: border-box;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  box-shadow: none;
  background: var(--ui-surface);
  color: var(--ui-heading);
  font-size: 14px;
  backdrop-filter: none;
}
.ithy-page .account-icon:hover {
  background: var(--ui-accent-soft);
  border-color: var(--ui-accent);
  box-shadow: none;
  transform: none;
}
.ithy-page .account-icon::before {
  display: none;
}
.home-page .monthly-used-button,.home-page .monthly-used-button.pro-mode {
  min-height: 44px;
  top:76px;
  height: auto;
  min-width: 60px;
  box-sizing: border-box;
  padding: 7px 12px;
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px;
  box-shadow: none;
  background: var(--ui-surface);
  color: var(--ui-muted);
  font-size: 12px;
  backdrop-filter: none;
}
.home-page .first-visit-intro>a {
  display: flex;
  width: max-content;
  max-width: 100%;
  margin: 8px auto 0;
}
.account-page.has-pro button.subscribe-box {
  max-width: 100% !important;
  background: var(--ui-raised);
  border-color: var(--ui-line);
  color: var(--ui-text);
}
.account-page.has-pro button.subscribe-box:hover {
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
}
.public-page .folder-header {
  padding: 12px 0 24px;
  background: none;
  border-bottom: 1px solid var(--ui-line);
}
.public-page .folder-header h1 {
  color: var(--ui-heading);
  font: 500 30px/1.3 Lato,Arial,sans-serif;
  letter-spacing: -.02em;
}
.public-page .folder-content {
  padding: 24px 0 0;
}
.public-page .folder-page .article-list a {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ui-text);
  text-decoration: none;
}
.public-page .folder-page .article-list a:hover {
  color: var(--ui-accent);
  text-decoration: underline;
}
.public-page .folder-page .article-list li {
  border-color: var(--ui-line);
}
.public-page .remove-from-folder {
  min-height: 44px;
  border-color: var(--ui-line);
  border-radius: 8px;
  color: var(--ui-muted);
}
.information-page>.container {
  width: 100%;
  max-width: 920px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 56px 32px 40px;
}
.information-page .img-container {
  width: 108px;
  margin: 0 auto 32px;
}
.information-page .public-nav {
  margin: 0 auto 48px;
  padding: 16px 0;
  border-block: 1px solid var(--ui-line);
  gap: 0 22px;
  justify-content: flex-start;
}
.information-page h1,.information-page .public-guide h1 {
  font: 500 clamp(28px,4vw,36px)/1.3 Lato,Arial,sans-serif;
  letter-spacing: -.025em;
  color: var(--ui-heading);
  text-align: start;
  margin: 0 0 24px;
}
.information-page h2,.information-page .public-guide h2 {
  font: 500 22px/1.4 Lato,Arial,sans-serif;
  text-align: start;
  color: var(--ui-accent);
  margin: 40px 0 16px;
}
.information-page p,.information-page .public-guide p {
  font-size: 16px;
  line-height: 1.85;
  color: var(--ui-text);
}
.information-page .public-guide a:hover {
  text-decoration: underline;
}
.information-page .public-note {
  font-size: 13px !important;
  color: var(--ui-muted) !important;
}
.information-page .public-guide .public-intro {
  font-size: 18px;
  line-height: 1.75;
  color: var(--ui-muted);
  margin-bottom: 40px;
}
.information-page .public-guide-links {
  border-color: var(--ui-line);
  margin: 36px 0 20px;
  padding: 16px 0;
  gap: 0 24px;
}
.information-page .public-guide-links a {
  font-size: 14px;
}
.information-page .public-filters {
  border-color: var(--ui-line);
  background: var(--ui-surface);
  padding: 16px;
  border-radius: 10px;
}
.information-page .public-related {
  border-color: var(--ui-line);
  background: var(--ui-surface);
  padding: 24px;
  border-radius: 12px;
}
.information-page .public-related h2 {
  margin-top: 0;
  font-size: 18px;
}
.information-page .public-related a {
  font-size: 15px;
}
.information-page .public-article-list {
  padding-inline-start: 24px;
}
.information-page .public-article-list h2 {
  font-size: 20px;
  margin: 16px 0 10px;
}
.information-page .public-article-list p {
  font-size: 14px;
}
.information-page .public-article-list li {
  border-color: var(--ui-line);
  padding-bottom: 20px;
}
.information-page .public-search input {
  background: var(--ui-surface);
  border-color: var(--ui-line);
}
.information-page .public-search button,.information-page .public-pagination a {
  background: #327b6e;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
}
.information-page .theme-toggle span {
  color: var(--ui-muted) !important;
}
.account-page .writing-help .guide {
  border: 0 !important;
  box-shadow: none !important;
  gap: 4px;
}
.account-page .writing-help .guide b {
  font-weight: 400;
}
@media (max-width:540px) {
  .information-page>.container {
    padding: 40px 22px 28px;
  }
  .information-page .public-nav {
    gap: 0 18px;
    margin-bottom: 32px;
  }
  .information-page .public-guide .public-intro {
    font-size: 16px;
    margin-bottom: 32px;
  }
  .information-page .public-related {
    padding: 18px;
  }
  .information-page .public-guide-links {
    gap: 0 18px;
  }
}
.ithy-page .footer-brand {
  color: var(--ui-text);
  margin-inline-end: 8px;
}
.account-page>.footer,.information-page>.footer,.public-page>.footer {
  margin-top: 32px;
}
.signin-page>.footer {
  margin-top: 16px;
  padding-bottom: 0;
}
.ithy-page .footer a i {
  font-size: 14px;
}
.account-page .article-links-container>p {
  font-size: 14px;
  text-align: center;
  line-height: 1.7;
  padding: 24px;
  margin: 0;
}
.home-page button.version-toggle-option {
  border: 0;
  background: transparent;
  font-family: Lato,Arial,sans-serif;
  cursor: pointer;
  z-index: 1;
  box-shadow: none;
}
.home-page button.version-toggle-option:focus-visible {
  outline-offset: 0;
}
.home-page .version-toggle-slider {
  pointer-events: none;
}
.account-page .clr-field {
  max-width: 160px;
}
.account-page #preferred_color {
  color: var(--ui-text);
  border-color: var(--ui-line);
  min-height: 40px;
  height: 40px !important;
  background: var(--ui-bg);
}
@media (max-width:540px) {
  .home-page .monthly-used-button {
    right: 20px;
    top: 76px;
  }
  .ithy-page .account-icon {
    right: 20px;
    top: 20px;
  }
}
.ithy-page .account-icon>span,.ithy-page .account-icon>i {
  color: inherit !important;
}
.ithy-page .theme-toggle span {
  color: var(--ui-muted) !important;
}
.reader-page .container>.img-container {
  height: auto;
  padding-top: 0 !important;
}
.reader-page .article-privacy {
  width: 100%;
  max-width: 760px;
  box-sizing: border-box;
  margin: 0 auto 12px;
  color: var(--ui-muted);
  font-size: 12px;
  line-height: 1.7;
}
.reader-page .article-privacy>summary {
  cursor: pointer;
  width: max-content;
  max-width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: auto;
  list-style: none;
  color: var(--ui-muted);
}
.reader-page .article-privacy>summary::after {
  content: "+";
  font-size: 16px;
}
.reader-page .article-privacy[open]>summary::after {
  content: "−";
}
.reader-page .article-privacy>summary::-webkit-details-marker {
  display: none;
}
.reader-page .article-privacy[open] {
  padding: 12px 18px;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  background: var(--ui-surface);
}
.reader-page .article-privacy .search-publication-control {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  text-align: start;
  flex-wrap: nowrap;
  margin: 8px 0;
}
.reader-page .article-privacy .public-note {
  font-size: 12px;
  margin: 8px 0;
}
.reader-page #article-state {
  font-size: 12px;
  margin: 0 auto 12px;
  color: var(--ui-muted);
}
.reader-page #article-state:empty {
  display: none;
}
.ithy-page {
  color-scheme: light;
}
.ithy-page.dark-mode {
  color-scheme: dark;
}
.ithy-page select option {
  background: var(--ui-surface);
  color: var(--ui-text);
}
@media (max-width:540px) {
  .reader-page .return-to-search-button {
    left: 16px;
    max-width: calc(100% - 154px);
    min-height: 44px;
    padding: 8px;
    font-size: 12px;
  }
  .reader-page .return-to-search-button i,.reader-page .return-to-search-button span {
    margin-inline: 3px !important;
  }
  .reader-page .account-icon {
    right: 16px;
    top: 20px;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 13px;
  }
}
.signin-page .input-group {
  left: 0;
  margin-bottom: 0;
}
.signin-page .input-group label {
  position: static;
  display: block;
  transform: none;
  pointer-events: auto;
  color: var(--ui-text);
  font-size: 13px;
  line-height: 1.5;
  margin: 0 0 8px;
  text-align: start;
}
.signin-page #emailInput {
  display: block;
  opacity: 1;
  padding: 12px 14px;
  min-height: 52px;
  background: var(--ui-bg);
  color: var(--ui-text);
}
.signin-page #emailInput:-webkit-autofill {
  -webkit-text-fill-color: var(--ui-text);
  -webkit-box-shadow: 0 0 0 1000px var(--ui-bg) inset;
}
.signin-page #emailInput::placeholder {
  color: var(--ui-muted);
}
.signin-page .confirmation-message {
  position: static;
  left: auto;
  transform: none;
  box-sizing: border-box;
  margin: 16px 0 0 !important;
  padding: 12px 14px;
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.6;
  text-align: start;
  max-width: 100%;
  width: 100%;
  background: var(--ui-accent-soft) !important;
  color: var(--ui-text) !important;
  opacity: 1;
  box-shadow: none;
}
.signin-page .confirmation-message.hidden {
  display: none;
}
.signin-page .confirmation-message.visible {
  opacity: 1;
  transform: none;
}
.signin-page .submit-button::before {
  display: none;
}
.signin-page .submit-button:hover {
  transform: none;
}
.signin-page .verification-code-wrapper {
  padding: 0;
}
.signin-page .verification-code-container {
  justify-content: center;
}
.signin-page .verification-code-input {
  box-sizing: border-box;
  text-align: center;
}
.signin-page .confirmation-message[data-tone=error] {
  background: #b5514215 !important;
  border-color: #bf695866;
  color: #a34335 !important;
}
.signin-page.dark-mode .confirmation-message[data-tone=error] {
  color: #f0aa99 !important;
}
.home-page #collapsibles-container {
  max-width: 1100px;
  margin: 36px auto 24px;
  gap: 16px;
}
.home-page #collapsibles-container:empty {
  display: none;
}
.home-page #collapsibles-container .collapsible {
  box-sizing: border-box;
  border: 1px solid var(--ui-line);
  border-radius: 12px;
  background: var(--ui-surface);
  box-shadow: none;
  padding: 20px;
  transform: none;
}
.home-page #collapsibles-container .collapsible:hover {
  box-shadow: none;
  border-color: var(--ui-muted);
  transform: none;
}
.home-page #collapsibles-container .collapsible-content {
  background: var(--ui-bg);
  border-radius: 8px;
  color: var(--ui-text);
}
.home-page #collapsibles-container .collapsible-content p {
  font-size: 15px;
  line-height: 1.7;
}
.home-page #collapsibles-container .collapsible {
  width: 100%;
  margin: 0 0 12px;
  opacity: 1;
}
.home-page #collapsibles-container .collapsible:hover {
  opacity: 1;
}
.ithy-page .article-content a {
  color: var(--link,#145981);
}
.ithy-page .article-content a:hover {
  color: var(--link,#145981);
  text-decoration: underline;
}
.ithy-page .export-dialog {
  max-width: 440px;
  width: calc(100% - 32px);
}
.ithy-page .export-dialog .swal2-title {
  font-size: 22px;
  padding-inline: 30px;
}
.ithy-page .export-description {
  font-size: 14px;
  color: var(--ui-muted);
  text-align: center;
  margin: 0 0 24px;
}
.export-formats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ithy-page .export-format {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--ui-line);
  border-radius: 9px;
  background: var(--ui-raised);
  color: var(--ui-text);
  font: 400 14px/1.5 Lato,Arial,sans-serif;
  cursor: pointer;
}
.ithy-page .export-format.primary {
  background: #327b6e;
  color: white;
  border-color: #388278;
}
.ithy-page .export-format:hover {
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
}
.ithy-page .export-format.primary:hover {
  background: #276759;
  color: white;
}
.ithy-page .export-note {
  font-size: 12px;
  text-align: center;
  color: var(--ui-muted);
  line-height: 1.7;
  margin: 20px 0 8px;
}
.ithy-page .export-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  font-size: 13px;
  text-decoration: underline;
  color: var(--ui-accent);
}
.ithy-page .swal2-close {
  min-width: 44px;
  min-height: 44px;
  font-size: 28px;
  color: var(--ui-muted);
  margin: 8px;
}
.ithy-page .swal2-close:focus-visible {
  outline: 2px solid var(--ui-gold);
  box-shadow: none;
}
.ithy-page .folder-share-dialog{width:min(440px,calc(100vw - 32px))!important}
.folder-share-dialog .swal2-title:focus{outline:none}
.ithy-page .folder-share-dialog .swal2-html-container{text-align:start;font-size:14px;line-height:1.7}
.folder-share-dialog .folder-share-note{color:var(--ui-muted);margin:0 0 20px}
.folder-share-dialog label{display:block;margin:0 0 8px;font-size:12px;color:var(--ui-muted)}
.ithy-page .folder-share-dialog #folder-share-url{box-sizing:border-box;width:100%;min-width:0;min-height:48px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-bg);color:var(--ui-text);font:400 16px/1.5 Lato,Arial,sans-serif;direction:ltr}
.ithy-page .folder-share-dialog .folder-share-copy{display:block;width:100%;min-height:48px;margin:0;padding:10px;border:0;border-radius:8px;background:var(--ui-accent);color:var(--ui-bg);font:600 14px/1.5 Lato,Arial,sans-serif;cursor:pointer}
.folder-share-feedback{color:var(--ui-accent);font-size:12px;margin:12px 0 0}
.folder-share-feedback:empty{display:none}
/* A single native OTP field matches the nine contiguous email digits. */
.signin-page .verification-code-wrapper{display:block;box-sizing:border-box;width:100%;max-width:320px;margin:24px auto;padding:0}
.signin-page .verification-code-input{display:block;box-sizing:border-box;width:100%;height:56px;padding:10px 12px;font:600 26px/1.3 Lato,Arial,sans-serif;letter-spacing:.22em;text-indent:.22em;text-align:center;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-bg);color:var(--ui-text);margin:0}
.signin-page .verification-code-input:focus{transform:none;outline:2px solid var(--ui-accent);outline-offset:3px;box-shadow:none;border-color:var(--ui-accent)}
.reader-page .article-actions {
  flex-direction: row;
}
.ithy-page .swal2-popup.export-dialog {
  width: min(440px,calc(100vw - 32px)) !important;
  max-width: 440px !important;
}
.ithy-page .export-dialog .swal2-title {
  color: var(--ui-heading) !important;
  text-align: center;
  font-weight: 500;
}
.ithy-page .swal2-popup.export-dialog .swal2-html-container {
  max-height: none;
  overflow: visible;
}
.ithy-page .swal2-popup {
  opacity: 1;
  width: min(520px,calc(100vw - 32px)) !important;
  max-width: 520px !important;
}
.ithy-page .swal2-title {
  color: var(--ui-heading) !important;
  font-weight: 500 !important;
}
.ithy-page .swal2-confirm {
  background: #327b6e;
  color: #fff;
}
.ithy-page .swal2-cancel {
  background: var(--ui-raised);
  color: var(--ui-text);
}
.ithy-page .swal2-styled:hover {
  box-shadow: none !important;
  transform: none;
}
.ithy-page .swal2-popup.export-dialog {
  max-width: 440px !important;
  width: min(440px,calc(100vw - 32px)) !important;
}
.account-page .ithy-rank {
  color: var(--ui-accent);
}
.account-page .reward-tiers li {
  color: var(--ui-text) !important;
}
/* Turnstile's standard widget needs 300px. On the narrowest phones use a
   full-width form instead of squeezing the security control inside a card. */
@media (max-width:360px) {
  .signin-page {
    padding: 28px 10px;
  }
  .signin-page>.container {
    padding: 12px 0 24px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .signin-page .signin-intro {
    margin-inline: 12px;
  }
  .signin-page>.container>p,.signin-page>.container>div:last-child {
    max-width: 276px;
    margin-inline: auto;
  }
}

/* Reserve a real navigation row. Floating utilities must never cover reading
   text, including expanded passages, at any scroll position or screen width. */
.ithy-page{height:auto;min-height:100vh}
.page-utilities{position:relative;top:auto;z-index:10;width:100%;box-sizing:border-box;background:var(--ui-bg);border-bottom:1px solid var(--ui-line);padding-top:env(safe-area-inset-top,0px)}
.page-utilities-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;max-width:1120px;min-height:72px;margin:0 auto;padding:14px 24px}
.ithy-page .page-utilities .account-icon,.ithy-page .page-utilities .monthly-used-button,.ithy-page .page-utilities .return-to-search-button,.ithy-page .page-utilities .theme-toggle{position:static;inset:auto;transform:none;margin:0;flex:none;min-height:44px;height:44px;box-sizing:border-box}
.ithy-page .page-utilities .account-icon{gap:8px;padding:8px 12px;min-width:44px}
.ithy-page .page-utilities .account-icon i{margin:0!important;line-height:1}
.ithy-page .page-utilities .return-to-search-button{margin-inline-end:auto;text-decoration:none;min-width:44px;max-width:none}
.home-page:not(.submitted-mode) .page-utilities .return-to-search-button{display:none!important}
.home-page>.container{padding-top:40px}
.reader-page>.container{padding-top:24px}
.ithy-page .footer-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-basis:100%;margin-top:16px}
.ithy-page .footer-controls .top-icon,.ithy-page .footer-controls .theme-toggle{position:static;inset:auto;transform:none;margin:0}
.account-page .account-tools{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:100%;max-width:1240px;margin:0 auto;padding:16px 20px 0}
.account-page .account-tools .return-to-search-button,.account-page .account-tools .theme-toggle{position:static;inset:auto;margin:0;transform:none}
.account-page>.container{padding-top:24px}
.account-page .account-header{margin-bottom:0}
.account-page .settings-jump-links{position:sticky;top:0;z-index:40;flex-shrink:0;width:100%;background:var(--ui-bg);margin:24px auto 28px;padding:6px 0}
.account-page [data-account-panel]{scroll-margin-top:calc(var(--account-tabs-height,72px) + 20px)}
.ithy-page .swal2-popup .folder-selection-name{box-sizing:border-box;width:calc(100% - 48px);margin:12px auto 0;font:400 13px/1.6 Lato,Arial,sans-serif;color:var(--ui-muted);text-align:start;overflow-wrap:anywhere}
.home-page .share-box{position:static;inset:auto;transform:none;box-sizing:border-box;width:max-content;min-width:0;max-width:100%;min-height:44px;height:auto;margin:32px auto 0;padding:12px 20px}
.home-page .share-box .share-link{margin:0}
.reader-page .article-actions>.export-box,.reader-page .article-actions>.delete-box{position:static;inset:auto;transform:none}
.article-content [id]{scroll-margin-top:100px}
@media(max-width:540px){
  .page-utilities-inner{gap:8px;padding:8px 12px;min-height:60px}
  .ithy-page .page-utilities .return-to-search-button{width:44px;padding:0}
  .page-utilities .return-to-search-button span{display:none}
  .ithy-page .page-utilities .account-icon{font-size:13px}
  .home-page>.container{padding-top:28px}
  .reader-page>.container{padding-top:24px;padding-inline:16px}
  .reader-page .article-actions{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .reader-page .article-actions>.reader-chat{grid-column:1/-1}
}
@media print{.page-utilities,.footer-controls{display:none!important}}

/* Navigation is native links; the article's content has one quiet toolbar. */
.brand-link{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin-inline:auto;line-height:0;text-decoration:none}
.brand-link img.img-container{display:block;position:static;width:100%;height:auto;margin:0;padding:0!important}
.signin-page .brand-link{width:112px;margin:0 auto 24px}
.brand-link:focus-visible{outline:2px solid var(--ui-accent);outline-offset:8px;border-radius:4px}
.home-page .brand-link{width:clamp(170px,26vw,240px);margin-bottom:12px}
.reader-heading{width:100%;max-width:850px;margin:0 auto 32px}
.reader-heading .brand-link{width:128px;margin:8px auto 28px}
.reader-page .container>.brand-link{width:128px;margin:8px auto 28px}
.reader-page .reader-heading .article-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 0;border-bottom:1px solid var(--ui-line);text-align:start}
.article-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font:400 12px/1.6 Lato,Arial,sans-serif;color:var(--ui-muted);min-width:0}
.article-context>a.reader-library-button{color:var(--ui-text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;box-sizing:border-box;padding:9px 13px;border:1px solid var(--ui-line);border-radius:8px;font:600 13px/1.5 Lato,Arial,sans-serif;white-space:nowrap}
.article-context>a.reader-library-button:hover{background:var(--ui-accent-soft);border-color:var(--ui-accent);color:var(--ui-accent)}
.reader-library-button svg{width:17px;height:17px;flex:none}
.article-context-divider{opacity:.4}
.article-sharing{position:relative;flex:none;margin:0;padding:0;border:0;background:none}
.article-sharing>summary,.reader-page .article-tools>.article-public-share{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;box-sizing:border-box;padding:9px 13px;border:1px solid var(--ui-line);border-radius:8px;color:var(--ui-text);background:transparent;font:600 13px/1.5 Lato,Arial,sans-serif;cursor:pointer;list-style:none;white-space:nowrap;flex:none}
.article-sharing>summary::-webkit-details-marker{display:none}
.article-sharing>summary:hover,.article-sharing[open]>summary,.reader-page .article-tools>.article-public-share:hover{background:var(--ui-accent-soft);color:var(--ui-accent)}
.article-sharing>summary svg,.article-public-share svg{display:block;width:18px;height:18px;flex:none}
.reader-page .article-share-feedback{margin:10px 0 0;font:400 12px/1.6 Lato,Arial,sans-serif;color:var(--ui-muted);text-align:end}
.account-page .library-load-state{margin:12px auto 0;text-align:center;font:400 12px/1.6 Lato,Arial,sans-serif;color:var(--ui-muted)}
.library-pages [aria-busy=true]{opacity:.65;cursor:wait}
.library-pages{overflow-anchor:none}
.article-sharing-panel{position:absolute;z-index:60;inset-inline-end:0;top:calc(100% + 8px);width:min(340px,calc(100vw - 40px));box-sizing:border-box;padding:24px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-bg);box-shadow:0 12px 40px #0002;text-align:start;line-height:1.6}
.article-sharing-panel h2{font:600 16px/1.5 Lato,Arial,sans-serif;margin:0 0 10px;color:var(--ui-heading)}
.reader-page .article-sharing-panel #article-state{font-size:13px;text-align:start;line-height:1.65;margin:0 0 18px;color:var(--ui-muted)}
.reader-page .article-sharing-panel>button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:8px 0;padding:10px 14px;font:400 13px/1.5 Lato,Arial,sans-serif}
.article-sharing-panel #share-article{background:var(--ui-accent);color:var(--ui-bg);border-color:transparent}
.article-sharing-panel>button:disabled{opacity:.4;cursor:default}
.reader-page .article-sharing-panel .search-publication-control{display:flex;align-items:start;gap:10px;padding-top:18px;margin:18px 0 12px;border-top:1px solid var(--ui-line);font-size:12px;text-align:start}
.article-sharing-panel .search-publication-control input{flex:none;margin:4px 0 0}
.sharing-help{font-size:12px;line-height:1.6;text-decoration:none;color:var(--ui-muted)}
.sharing-help:hover{text-decoration:underline;color:var(--ui-accent)}
.article-local-note{color:var(--ui-muted);font-size:12px}
.ithy-page .account-icon,.ithy-page .monthly-used-button{text-decoration:none}
.ithy-page .pro-navigation{display:none}
.ithy-page .page-utilities .pro-navigation{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;box-sizing:border-box;color:var(--ui-heading);background:var(--ui-gold-soft,#cc990015);border:1px solid #cc990044;border-radius:8px;font:600 13px/1.5 Lato,Arial,sans-serif;text-decoration:none;gap:8px}
.ithy-page .page-utilities .pro-navigation:hover{background:#cc990025;border-color:#cc990088}
.reader-page .article-actions{display:flex;flex-direction:row;gap:10px;margin:32px auto;max-width:850px;flex-wrap:wrap}
.reader-page .article-actions>#ask-ithy{margin:0;min-height:44px;padding:10px 16px;min-width:0;max-width:100%;font:400 13px/1.5 Lato,Arial,sans-serif;gap:8px;border-color:var(--ui-line);border-radius:8px;background:transparent;color:var(--ui-accent)}
.reader-page .article-actions>#ask-ithy:hover{background:var(--ui-accent-soft)}
.reader-page .article-actions>.reader-chat{display:inline-flex;align-items:center;justify-content:center;margin:0;transform:none;gap:8px}
.reader-page .reader-chat[hidden],.home-page .ask-again-button[hidden]{display:none!important}
.pro-invitation{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:850px;margin:48px auto 16px;padding:28px;box-sizing:border-box;border:1px solid #cc990044;border-radius:12px;background:linear-gradient(125deg,#cc99000b,transparent);text-align:start}
.pro-eyebrow{display:block;font:600 11px/1.5 Lato,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--ui-accent);margin-bottom:8px}
.pro-invitation h2{font:500 20px/1.4 Lato,Arial,sans-serif;color:var(--ui-heading);margin:0 0 8px;letter-spacing:-.015em}
.pro-invitation p{font:400 13px/1.65 Lato,Arial,sans-serif;color:var(--ui-muted);margin:0;max-width:480px}
.pro-invitation>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:44px;padding:10px 16px;border:1px solid #cc990088;border-radius:8px;color:var(--ui-heading);text-decoration:none;font:600 13px/1.5 Lato,Arial,sans-serif}
.pro-invitation>a:hover{background:#cc990020}
.ithy-page .footer{align-items:center}
.ithy-page .footer a{box-sizing:border-box;min-height:44px;padding-block:0}
.ithy-page .footer .footer-brand{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-text);padding:0;border:0;background:none;text-decoration:none;margin-inline-end:8px}
.ithy-page .footer .footer-brand:hover{color:var(--ui-accent)}
.ithy-page .footer a:not(.footer-brand){line-height:1.5}
/* Equal resting cards; an expanded disclosure never stretches its neighbour. */
.account-page .containers-wrapper{grid-template-columns:1fr 1fr;align-items:start;gap:24px}
.account-page .containers-wrapper>.tier-container,.account-page .containers-wrapper>.subscribe-box-container{min-height:370px;align-self:start;display:flex;flex-direction:column}
.account-page .containers-wrapper:not(:has(.account-disclosure[open]))>.tier-container,
.account-page .containers-wrapper:not(:has(.account-disclosure[open]))>.subscribe-box-container{align-self:stretch}
.account-page .subscribe-box-container{order:-1;border-color:#cc990066!important}
.account-page .containers-wrapper>.membership-help{order:2}
.account-page .containers-wrapper .account-disclosure{margin-top:auto}
.account-page .containers-wrapper .account-disclosure[open]{margin-top:24px}
.account-page .containers-wrapper>.subscribe-box-container h2{color:var(--ui-heading);display:flex;align-items:center;gap:8px}
.account-page .subscribe-box-container h2::before{content:'✧';color:#bc903c;font-size:22px;line-height:1}
.account-page .subscribe-box-container .pro-plan-intro{font:400 13px/1.65 Lato,Arial,sans-serif;color:var(--ui-muted);margin:-8px 0 20px;text-align:start}
.account-page .subscribe-box-container .pricing-tabs,.account-page .tier-container .tier-box{align-self:flex-start}
.account-page .subscribe-box-container .account-receipts{order:4;margin:12px 0 0;align-self:start;padding:4px 0;min-height:36px;text-decoration:underline;border:0;border-radius:0;background:none;line-height:1.5}
.account-page .subscribe-box-container .plan-details{order:5}
.account-page .subscribe-box-container .subscribe-box{margin-bottom:18px}
.pro-navigation-short{display:none}
@media(max-width:760px){
  .account-page .containers-wrapper{grid-template-columns:1fr}
  .account-page .containers-wrapper>.tier-container,.account-page .containers-wrapper>.subscribe-box-container{min-height:0;gap:4px}
  .account-page .containers-wrapper .account-disclosure{margin-top:24px}
}
@media(max-width:540px){
  .reader-heading{margin-bottom:24px}
  .reader-heading .brand-link{width:112px;margin:4px auto 20px}
  .article-context{display:grid;gap:8px;font-size:11px}
  .article-context-divider{display:none}
  .article-context-meta{line-height:1.5}
  .article-context>a.reader-library-button{justify-self:start;font-size:12px}
  .reader-page .reader-heading .article-tools{flex-wrap:nowrap;align-items:flex-start}
  .reader-page .article-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .reader-page .article-actions>#ask-ithy{grid-column:1/-1;width:100%;box-sizing:border-box}
  .reader-page .article-actions>.reader-chat{grid-column:1/-1}
  .reader-page .article-actions>.export-box,.reader-page .article-actions>.delete-box{width:100%}
  .pro-invitation{display:block;margin-top:32px;padding:24px}
  .pro-invitation h2{font-size:18px}
  .pro-invitation>a{margin-top:20px;box-sizing:border-box;width:100%}
  .ithy-page .page-utilities .pro-navigation{font-size:12px;padding:8px 10px;gap:4px}
  .pro-navigation-long{display:none}
  .pro-navigation-short{display:inline}
  .home-page.submitted-mode .page-utilities .monthly-used-button{display:none}
}
@media print{.reader-heading,.pro-invitation,.pro-navigation{display:none!important}}

/* Decorative UI arrows need no full text-font download; article text retains
   its original Lato coverage and the original full-font export. */
.ithy-page .ui-directional-glyph{font-family:system-ui,Arial,sans-serif}

/* Native site shell: one wordmark, one navigation row, no reading overlay. */
body.ithy-page .site-header .site-brand{flex:0 0 auto;width:100px;max-width:100px;margin:0;line-height:0}
body.ithy-page .site-header .site-brand img.img-container{display:block;width:100%!important;height:auto!important;max-width:none;margin:0;padding:0!important;aspect-ratio:800/263}
.page-utilities-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
body.ithy-page .site-header .account-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;height:44px;box-sizing:border-box;padding:8px 13px;border:1px solid var(--ui-line);border-radius:9px;background:var(--ui-surface);color:var(--ui-text);font:600 13px/1.3 Lato,Arial,sans-serif;text-decoration:none;box-shadow:none;white-space:nowrap;transform:none}
body.ithy-page .site-header .account-icon span{color:inherit!important}
.site-header .account-icon svg{display:block;width:16px;height:16px;flex:none;pointer-events:none}
body.ithy-page .site-header .account-icon:hover{background:var(--ui-accent-soft);border-color:var(--ui-accent);color:var(--ui-accent)}
body.ithy-page .site-header .theme-toggle{flex:none;border:0;border-radius:9px;background:transparent;color:var(--ui-muted);height:44px;width:44px;min-height:44px;margin:0;padding:0}
body.ithy-page .site-header .theme-toggle:hover{background:var(--ui-raised);color:var(--ui-heading)}
body.ithy-page .site-header .pro-navigation{height:44px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1.3;transform:none}
.home-page>.container{padding-top:56px}
.home-page .brag{display:flex;align-items:baseline;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:0 auto 26px;color:var(--ui-muted);font:400 18px/26px Georgia,serif;letter-spacing:.01em}
.home-page .brag>span{text-transform:none}
.home-page .brag>i{font:italic 18px/26px Georgia,serif;letter-spacing:inherit;color:var(--ui-accent)}
.home-page .brag::before,.home-page .brag::after{content:"";width:24px;height:1px;background:var(--ui-line)}
.home-page .brag::before,.home-page .brag::after{align-self:center;margin-inline:4px}
.home-page .first-visit-intro{margin-top:0}
.home-page .top-search-results:empty{display:none!important}
.home-page .public-home-links{margin-top:16px}
.home-page .public-home-links .public-nav{margin-top:0}
.home-page .question-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;max-width:720px;margin:6px auto 0}
body.home-page .question-meta .status-message{position:static;display:block;opacity:1;min-height:0;width:auto;height:auto;margin:0;max-width:48ch;text-align:start;color:var(--ui-muted);font:400 12px/1.6 Lato,Arial,sans-serif}
body.home-page .question-meta .status-fade,body.home-page .question-meta .status-text{position:static;display:inline;opacity:1;transform:none;transition:none;color:inherit;font:inherit}
body.home-page .question-meta .monthly-used-button{position:static;inset:auto;transform:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;height:auto;width:auto;min-width:0;max-width:100%;margin:0;padding:8px 0;flex:none;border:0!important;border-radius:0;background:none;color:var(--ui-muted);font:400 12px/1.6 Lato,Arial,sans-serif;box-shadow:none;text-decoration:none;white-space:nowrap}
body.home-page .question-meta .monthly-used-button:hover{color:var(--ui-accent);text-decoration:underline;text-underline-offset:4px}
.ithy-page .public-nav{display:block;margin:24px auto 0;padding:0;border:0}
.public-nav-links{display:flex;align-items:center;justify-content:center;gap:0 24px;flex-wrap:nowrap;min-width:0;padding:12px 0;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line)}
.public-nav-toggle{display:none}
.ithy-page .footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 32px;width:100%;max-width:1120px;margin:48px auto 0;padding:24px 24px 32px;border-top:1px solid var(--ui-line)}
.ithy-page .footer .footer-brand{display:flex;align-items:center;justify-content:flex-start;margin:0;min-height:44px;color:var(--ui-heading);text-decoration:none}
.ithy-page .footer .footer-brand img{display:block;width:84px;max-width:100%;height:auto;margin:0}
.footer-links{display:flex;align-items:center;justify-content:flex-end;gap:24px;min-width:0}
.ithy-page .footer .footer-controls{display:flex;align-items:center;justify-content:center;flex-basis:auto;gap:8px;margin:0}
.footer-controls:empty{display:none!important}
.account-page .account-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:32px;row-gap:8px;text-align:start;margin:0 auto;max-width:none}
.account-page .account-header h1{grid-column:1;margin:0;font-size:30px;line-height:1.3;text-align:start}
.account-page .account-header .email-text{grid-column:1;margin:0!important;min-width:0;overflow-wrap:anywhere;text-align:start;font-size:14px;line-height:1.8}
.account-page .account-header .limits-container{grid-column:2;grid-row:1/3;align-items:flex-end;justify-content:flex-start;flex-direction:column;gap:2px;text-align:end;font-size:13px;line-height:1.8;max-width:320px;margin:0}
.account-page .account-header .limits-container .divider{display:none}
.account-page .settings-jump-links{margin-top:24px;margin-bottom:28px}
@media(max-width:700px){
  .page-utilities-inner{gap:12px;min-height:64px;padding:10px 16px}
  .page-utilities-actions{gap:8px}
  body.ithy-page .site-header .site-brand{width:90px;max-width:90px}
  body.ithy-page .site-header .account-icon{padding-inline:11px;font-size:13px;gap:0}
  .site-header .account-icon svg{display:none}
  .site-header .pro-navigation-long{display:none!important}
  .site-header .pro-navigation-short{display:inline!important}
  .home-page>.container{padding-top:40px}
  .home-page .question-meta{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:0;margin-top:4px}
  body.home-page .question-meta .status-message{text-align:center;max-width:36ch}
  .ithy-page .public-nav{margin-top:18px}
  .public-nav-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;box-sizing:border-box;padding:10px 0;border:0;border-bottom:1px solid var(--ui-line);border-radius:0;background:none;color:var(--ui-muted);font:400 14px/1.5 Lato,Arial,sans-serif;cursor:pointer}
  .public-nav-toggle svg{width:18px;height:18px;flex:none;transition:transform .15s}
  .public-nav[data-expanded=true] .public-nav-toggle svg{transform:rotate(180deg)}
  .public-nav-links{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;align-items:stretch;padding:12px 0;border-top:0}
  .public-nav[data-expanded=true] .public-nav-links{display:grid}
  .ithy-page .public-nav .public-nav-links a{justify-content:flex-start;min-width:0;white-space:normal}
  .ithy-page .footer{grid-template-columns:auto minmax(0,1fr);grid-template-areas:'brand links' 'appearance appearance';gap:8px 20px;margin-top:32px;padding:20px 16px 24px}
  .footer-brand{grid-area:brand}.footer-links{grid-area:links;justify-content:space-between;gap:8px}.footer-controls{grid-area:appearance}
  .ithy-page .footer .footer-brand{min-height:44px}
  .ithy-page .footer .footer-brand img{width:76px}
  .ithy-page .footer .footer-links a{min-width:0;min-height:44px;padding:0;font-size:13px}
  .account-page .account-header{grid-template-columns:minmax(0,1fr);row-gap:8px}
  .account-page .account-header .limits-container{grid-column:1;grid-row:auto;align-items:flex-start;text-align:start;margin-top:4px;max-width:none;font-size:12px}
  .account-page .account-header h1{font-size:28px}
}
@media(max-width:360px){.page-utilities-inner{padding-inline:12px;gap:8px}.page-utilities-actions{gap:6px}body.ithy-page .site-header .site-brand{width:76px;max-width:76px}}
@media(prefers-reduced-motion:reduce){.public-nav-toggle svg{transition:none}}

/* Optional mode details replace the old rotating sales/tips text. */
.home-page .question-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 16px;align-items:start}
.research-mode-help{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;box-sizing:border-box;padding:8px 0;border:0;background:none;color:var(--ui-muted);font:400 12px/1.6 Lato,Arial,sans-serif;text-align:start;cursor:pointer}
.research-mode-help svg{display:block;width:16px;height:16px;flex:none}
.research-mode-help:hover{color:var(--ui-accent)}
body.home-page .research-mode-help .status-message{display:inline;text-align:start}
.research-mode-description{grid-column:1/-1;margin:8px 0 12px;padding:16px 20px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:12px;text-align:start;font:400 13px/1.7 Lato,Arial,sans-serif}
.research-mode-description[hidden]{display:none!important}
.research-mode-description p{margin:0 0 10px!important;font:inherit!important;color:var(--ui-muted)}
.research-mode-description p:last-of-type{margin-bottom:6px!important}
.research-mode-description strong{color:var(--ui-text)}
.research-mode-description a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
@media(max-width:700px){.home-page .question-meta{grid-template-columns:minmax(0,1fr) auto;justify-items:stretch;gap:0 8px}.research-mode-help{font-size:12px}.research-mode-description{padding:16px}}

/* Library search stays visible; optional filters use ordinary document flow. */
.account-page .library-toolbar{grid-template-columns:minmax(0,1fr) 44px;gap:0;margin-bottom:20px}
.account-page .library-toolbar .library-query{grid-column:1;min-width:0}
.account-page .library-toolbar input[type=search]{border-start-end-radius:0;border-end-end-radius:0;border-inline-end:0}
.account-page .library-toolbar>button.library-search-submit{grid-column:2;grid-row:1;width:44px;height:44px;padding:0;border:1px solid var(--ui-line);border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:8px;border-end-end-radius:8px;background:var(--ui-surface);color:var(--ui-muted);transform:none}
.account-page .library-toolbar>button.library-search-submit:hover{color:var(--ui-accent);background:var(--ui-raised)}
.library-search-submit svg{display:block;width:18px;height:18px}
.library-filters{grid-column:1/-1;min-width:0}
.library-filters>summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;box-sizing:border-box;padding:6px 0;list-style:none;color:var(--ui-muted);font:400 13px/1.5 Lato,Arial,sans-serif;cursor:pointer}
.library-filters>summary::-webkit-details-marker{display:none}
.library-filters>summary svg{width:16px;height:16px;flex:none}
.library-filters>summary:hover{color:var(--ui-accent)}
.library-filter-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:0 0 16px}
.library-filter-fields label{display:flex;flex-direction:column;gap:8px;min-width:0;text-align:start;color:var(--ui-muted);font:400 12px/1.5 Lato,Arial,sans-serif}
.account-page .library-toolbar>.library-clear{min-height:44px;display:inline-flex;align-items:center;grid-column:1/-1;justify-self:start}
.account-page .folders-container{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin-bottom:16px}
.account-page .folder-list{display:contents;margin:0}
.account-page .folder-item{width:100%;box-sizing:border-box;min-width:0}
.account-page .folder-item.all-articles-folder{grid-column:1;grid-row:1;min-height:44px;padding:8px 12px;margin:0;box-sizing:border-box}
.account-page .create-folder-button{grid-column:2;grid-row:1;min-height:44px;padding:10px 12px;white-space:nowrap}
.account-page .folder-item:not(.all-articles-folder){grid-column:1/-1;padding:10px 12px;margin:0}
.account-page .folder-item .folder-buttons{flex:none}
.account-page .folder-item .folder-name{min-width:0;overflow-wrap:anywhere}
.account-page .folder-item a.folder-name{display:flex;align-items:center;align-self:stretch;flex:1;min-height:24px;color:inherit;text-decoration:none}
.account-page .folder-item a.folder-name:hover{color:var(--ui-accent)}
.account-page .settings-jump-links a{white-space:normal;line-height:1.4}
.account-page .subscribe-box-container .pricing-tabs{margin-bottom:18px}
.account-page .library-empty{padding:28px 20px;text-align:start;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface)}
.account-page .library-empty p{font-size:14px;line-height:1.7;margin:0 0 12px;color:var(--ui-muted)}
.account-page .library-empty a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:14px;font-weight:600}
.account-page .account-header .pro-member{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;margin-top:8px;text-decoration:none;font-weight:600}
.account-page .account-header .pro-member:hover{background:var(--ui-raised);color:var(--ui-accent)}
.account-page .account-header .pro-member::before{display:none}
.public-page .folder-header{text-align:start;padding:0 0 20px}
.public-page .folder-header h1{margin:0 0 12px;font-size:28px;text-align:start}
.public-page .folder-header p{font-size:14px;line-height:1.7;margin:6px 0;text-align:start}
.public-page .folder-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.public-page .folder-toolbar a{justify-content:center;min-width:0;text-align:center;line-height:1.5;padding:10px 12px}
.public-page .folder-page .article-list{margin:16px 0}
.public-page .folder-page .article-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 0}
.public-page .folder-page .article-list a{min-width:0;font-size:15px;line-height:1.7}
.public-page .remove-from-folder{padding:8px 10px;min-height:44px;font-size:12px;background:transparent}
.public-page #folder-state:empty{display:none}
.public-page .folder-pagination{font-size:13px;color:var(--ui-muted);margin-top:20px}
.account-page .article-links-container{box-sizing:border-box;width:100%;min-width:0;overflow:hidden;padding:0!important}
.account-page table.article-table.dataTable{border:0!important;border-radius:0!important;border-collapse:collapse!important;margin:0!important;border-spacing:0!important}
.account-page table.article-table.dataTable thead th{background:var(--ui-raised)!important;color:var(--ui-heading)!important;border-radius:0!important}
.account-page .dataTables_wrapper{padding:0;border:0;margin:0;box-sizing:border-box}
.account-page .article-links-container .dt-layout-row{margin:0!important}
.account-page .article-table{width:100%!important}

/* Install the same product; no competing app identity or separate account. */
.public-guide .app-install{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:16px 24px;padding:28px;border:1px solid var(--ui-line);border-radius:16px;margin:32px 0;background:var(--ui-surface);text-align:start}
.app-install-icon{display:block;border-radius:16px;width:72px;height:72px;object-fit:contain}
.public-guide .app-install strong{font-size:19px;line-height:1.4;color:var(--ui-heading)}
.public-guide .app-install p{font-size:14px;line-height:1.7;margin:8px 0 0;color:var(--ui-muted)}
.public-guide .app-install .app-install-status{grid-column:2/-1;font-size:12px;margin:0}
.app-install-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0}
.public-guide .app-install-steps section{margin:0;min-width:0}
.public-guide .app-install-steps h2{font-size:18px;margin:0 0 16px}
.public-guide .app-install-steps ol{padding-inline-start:20px;margin:0;font-size:14px;line-height:1.8}
.public-guide .app-install-steps li{margin:0 0 12px}
.public-guide .app-install-steps p,.public-guide .app-install-note{font-size:13px;line-height:1.8;color:var(--ui-muted)}
@media(max-width:800px){.app-install-steps{grid-template-columns:1fr;gap:28px}.public-guide .app-install-steps section+section{padding-top:24px;border-top:1px solid var(--ui-line)}.public-guide .app-install{grid-template-columns:56px minmax(0,1fr);gap:16px;padding:22px}.app-install-icon{width:56px;height:56px;border-radius:12px}.app-install [data-install-app]{grid-column:1/-1;justify-self:stretch}.public-guide .app-install .app-install-status{grid-column:1/-1}}

/* Respect notches, home indicators and installed-app status bars. */
.page-utilities-inner{padding-inline-start:max(16px,env(safe-area-inset-left,0px));padding-inline-end:max(16px,env(safe-area-inset-right,0px))}
.ithy-page .footer{padding-bottom:max(24px,env(safe-area-inset-bottom,0px));padding-inline-start:max(16px,env(safe-area-inset-left,0px));padding-inline-end:max(16px,env(safe-area-inset-right,0px))}
body.ithy-page.installed-app::before{content:'';position:fixed;inset-block-start:0;inset-inline:0;height:env(safe-area-inset-top,0px);background:var(--ui-bg);z-index:1000;pointer-events:none}
body.account-page.installed-app .settings-jump-links{top:env(safe-area-inset-top,0px)}
.unavailable-state{max-width:640px;padding:40px 28px;margin:0 auto;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-surface);text-align:center}
.unavailable-state h1{font:600 clamp(26px,4vw,34px)/1.3 Lato,Arial,sans-serif;color:var(--ui-heading);margin:0 0 20px}
.unavailable-state p{font:400 16px/1.8 Lato,Arial,sans-serif;color:var(--ui-muted);margin:0 0 28px}
.unavailable-state nav{display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap}
.unavailable-state nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;text-decoration:none}
@media(max-width:540px){
  .account-page .folders-container{gap:8px}
  .account-page .folder-item:not(.all-articles-folder){grid-column:1/-1;flex-wrap:wrap;gap:4px}
  .account-page .folder-item:not(.all-articles-folder) .folder-buttons{margin-inline-start:auto}
  .account-page .subscribe-box-container .account-disclosure{margin-top:16px}
  .unavailable-state{padding:32px 20px}.unavailable-state nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.unavailable-state nav .ithy-primary{grid-column:1/-1}
  .public-page .folder-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.public-page .folder-toolbar:has(a:nth-child(3)) a:last-child{grid-column:1/-1}
}

/* Actions share a deliberate row rather than different inline baselines. */
.story-finish-actions{display:flex;align-items:stretch;justify-content:center;gap:12px;max-width:620px;margin:28px auto 0}
body .story-finish-actions>.ithy-primary,body .story-finish-actions>.pro-story-link{display:flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;min-height:68px;margin:0;padding:12px 20px;border-radius:10px;vertical-align:initial}
body .story-finish-actions>.ithy-primary{flex:0 0 auto}
body .story-finish-actions>.pro-story-link{flex:1;min-width:0;width:auto;text-align:start}
.ithy-page .export-share-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin:16px 0 0;padding:10px 16px;box-sizing:border-box;border:1px solid var(--ui-accent);border-radius:9px;color:var(--ui-accent);background:var(--ui-accent-soft);font:600 14px/1.5 Lato,Arial,sans-serif;cursor:pointer}
.ithy-page .export-share-action:hover{background:var(--ui-raised)}
@media(max-width:540px){.story-finish-actions{display:grid;grid-template-columns:1fr;max-width:360px}.story-finish-actions>.ithy-primary,.story-finish-actions>.pro-story-link{width:100%!important;max-width:none!important}}

/* Source: /static/pro-experience.css */
/* One restrained visual language for Pro. Keep the original Ithy brand/theme. */
body { --pro-gold:#e4c477; --pro-edge:rgba(190,153,71,.38); --pro-surface:rgba(184,146,59,.065); --pro-ink:#eee5d1; --pro-muted:#b4b9b3; }
body.light-mode { --pro-gold:#86631b; --pro-edge:rgba(139,106,36,.3); --pro-surface:rgba(158,124,49,.055); --pro-ink:#302b22; --pro-muted:#595c56; }
.pro-mark { width:20px; height:20px; flex:0 0 20px; display:block; color:var(--pro-gold); }
body .page-utilities .pro-navigation { gap:8px; padding-inline:14px; border-color:var(--pro-edge); background:var(--pro-surface); color:var(--pro-ink); font-weight:700; letter-spacing:.01em; }
body .page-utilities .pro-navigation:hover { border-color:var(--pro-gold); background:color-mix(in srgb,var(--pro-gold) 13%,transparent); }
body .pro-invitation { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,215px); align-items:center; gap:32px; padding:32px; margin:48px auto 24px; border:1px solid var(--pro-edge); border-radius:16px; background:linear-gradient(120deg,var(--pro-surface),transparent); text-align:start; box-sizing:border-box; }
body .pro-invitation[hidden], body .pro-invitation [hidden] { display:none!important; }
body .pro-invitation .pro-eyebrow { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:700; text-transform:none; letter-spacing:.1em; color:var(--pro-gold); margin:0 0 13px; }
body .pro-invitation h2 { font-family:'Lato',sans-serif; font-size:clamp(21px,2.6vw,26px); font-weight:700; line-height:1.25; text-align:start; color:var(--pro-ink); margin:0 0 12px; border:0; padding:0; }
body .pro-invitation p { font-size:15px; line-height:1.65; max-width:47ch; color:var(--pro-muted); margin:0; }
body .pro-invitation .pro-offer-benefits { display:flex; flex-wrap:wrap; gap:6px 16px; padding:0; margin:19px 0 0; list-style:none; color:var(--pro-ink); font-size:12px; line-height:1.5; }
body .pro-invitation .pro-offer-benefits li { display:grid; grid-template-columns:16px minmax(0,1fr); column-gap:8px; align-items:start; margin:0; padding:0; }
body .pro-invitation .pro-offer-benefits li::before { content:'✓'; position:static; display:block; inset:auto; width:16px; height:auto; margin:0; color:var(--pro-gold); font:700 12px/1.5 Lato,Arial,sans-serif; transform:none; }
body .pro-offer-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
body .pro-invitation .pro-offer-actions a[data-pro-primary] { justify-content:center; border:1px solid var(--pro-gold); border-radius:9px; background:#e1c37b; color:#30291a; font-size:14px; font-weight:700; padding:12px 16px; min-height:46px; box-sizing:border-box; text-align:center; white-space:normal; line-height:1.4; text-decoration:none; }
body .pro-invitation .pro-offer-actions a[data-pro-primary]:hover { background:#f1d599; border-color:#f1d599; }
body .pro-offer-actions small { display:block; font-size:11px; line-height:1.6; text-align:center; color:var(--pro-muted); }
body .pro-invitation .pro-offer-actions a[data-pro-secondary] { min-height:44px; padding:8px; border:0; font-size:13px; text-align:center; justify-content:center; }
body .pro-offer-dismiss { position:absolute; inset-block-start:5px; inset-inline-end:5px; display:grid; place-items:center; width:44px; height:44px; background:none; border:0; border-radius:8px; color:var(--pro-muted); font:24px/1 'Lato',sans-serif; cursor:pointer; }
body .pro-offer-dismiss:hover { color:var(--pro-ink); background:var(--pro-surface); }
body .pro-invitation:has(.pro-offer-dismiss:not([hidden])) { padding-inline-end:48px; }
.pro-invitation :focus-visible,.pro-navigation:focus-visible,.pricing-comparison a:focus-visible,.subscribe-box-container :focus-visible { outline:2px solid var(--pro-gold); outline-offset:4px; }
body .pro-invitation[data-kind="guest_limit"] .pro-offer-benefits { display:none; }
.pro-plan-emblem { display:flex; align-items:center; gap:9px; color:var(--pro-gold); font-size:12px; font-weight:700; letter-spacing:.08em; margin-bottom:14px; }
body.account-page .subscribe-box-container { border-color:var(--pro-edge); background:linear-gradient(135deg,var(--pro-surface),transparent 70%); }
body.account-page .subscribe-box-container .subscribe-box-title { display:flex;align-items:center;gap:10px;min-height:40px;margin:0 0 22px;font:700 20px/1.4 Lato,Arial,sans-serif; }
body.account-page .pro-plan-intro { color:var(--pro-muted); font-size:15px; line-height:1.6; max-width:38ch; }
body.account-page .pro-core-benefits { list-style:none; padding:0; margin:22px 0; display:grid; gap:12px; text-align:start; color:var(--pro-ink); font-size:14px; line-height:1.5; }
body.account-page .pro-core-benefits li { display:grid; grid-template-columns:16px minmax(0,1fr); align-items:start; column-gap:10px; padding:0; margin:0; }
body.account-page .pro-core-benefits li::before { content:'✓'; position:static; display:block; inset:auto; width:16px; height:auto; margin:0; color:var(--pro-gold); font:700 14px/1.5 Lato,Arial,sans-serif; transform:none; }
body.account-page .pro-checkout-note { color:var(--pro-muted); font-size:12px; line-height:1.7; margin:0 0 20px; text-align:start; }
body.account-page .earned-trial { color:var(--pro-ink); background:var(--pro-surface); border-inline-start:2px solid var(--pro-edge); padding:12px 14px; font-size:13px; line-height:1.7; margin:20px 0; }
.pricing-comparison { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; margin:36px 0 28px; align-items:stretch; }
body .pricing-comparison .pricing-plan { display:flex; flex-direction:column; padding:28px; border:1px solid var(--pro-edge); border-radius:16px; text-align:start; background:var(--pro-surface); min-width:0; }
body .pricing-comparison .pricing-plan-standard { border-color:rgba(120,140,130,.25); background:transparent; }
body .pricing-comparison h2 { font-size:24px; line-height:1.25; text-align:start; margin:0 0 12px; color:var(--pro-ink); }
body .pricing-comparison .pricing-plan-price { display:block; font-size:32px; font-weight:700; line-height:1.2; color:var(--pro-ink); margin:12px 0 8px; }
.pricing-plan-price small { font-size:15px; font-weight:400; }
body .pricing-comparison p { font-size:14px; line-height:1.7; margin:0 0 14px; color:var(--pro-muted); }
body .pricing-comparison ul { padding-inline-start:18px; font-size:14px; line-height:1.7; display:grid; gap:10px; margin:16px 0 28px; }
body .pricing-comparison a.pricing-cta { display:flex; justify-content:center; align-items:center; min-height:48px; padding:10px 14px; box-sizing:border-box; margin-top:auto; background:#e1c37b; color:#30291a; border:1px solid var(--pro-edge); border-radius:9px; font-size:14px; line-height:1.5; font-weight:700; text-decoration:none; text-align:center; }
body .pricing-comparison .pricing-plan-standard a.pricing-cta { background:transparent; color:inherit; }
body .pricing-comparison a.pricing-cta:hover { border-color:var(--pro-gold); }
body .pricing-comparison .pricing-fine-print { font-size:11px; line-height:1.6; margin-top:13px; margin-bottom:0; }
.pricing-shared { margin:24px 0 36px; color:var(--pro-muted); font-size:14px; line-height:1.8; }
@media(max-width:600px) {
  body .pro-invitation { grid-template-columns:minmax(0,1fr); gap:24px; padding:24px; margin-block:32px 20px; }
  body .pro-invitation .pro-offer-benefits { display:grid; gap:8px; }
  body .pro-offer-actions { align-items:stretch; max-width:none; }
  .pricing-comparison { grid-template-columns:minmax(0,1fr); gap:18px; }
  body .pricing-comparison .pricing-plan { padding:24px; }
}
@media(max-width:370px) { body .page-utilities .pro-navigation { gap:5px; padding-inline:9px; } .pro-navigation .pro-mark { width:16px; height:16px; flex-basis:16px; } }
@media print { .pro-invitation,.pro-navigation { display:none!important; } }
body.ithy-page .page-utilities .pro-navigation { color:var(--pro-ink); background:var(--pro-surface); border-color:var(--pro-edge); }
body.account-page .subscribe-box-container { border-color:var(--pro-edge)!important; }
body.account-page .subscribe-box-container h2::before { content:none; }
body.account-page .subscribe-box-container .pro-plan-intro { margin:0 0 20px; font-size:14px; line-height:1.65; color:var(--pro-muted); }
body.account-page .subscribe-box-container .pro-message { margin:0 0 16px; }
.pricing-questions { margin-block:32px; }
body .pricing-questions h2 { text-align:start; font-size:22px; color:var(--pro-ink); }
.pricing-questions details { padding-block:18px; border-bottom:1px solid var(--pro-edge); }
.pricing-questions summary { cursor:pointer; min-height:28px; font-size:16px; font-weight:700; line-height:1.6; color:var(--pro-ink); }
body .pricing-questions p { font-size:14px; line-height:1.8; }
body.ithy-page .pricing-comparison .pricing-plan h2 { margin:0 0 14px; font-size:24px; line-height:1.3; color:var(--pro-ink); }
body.ithy-page .pricing-comparison .pricing-plan p { margin:0 0 14px; font-size:14px; line-height:1.7; color:var(--pro-muted); }
body.ithy-page .pricing-comparison .pro-plan-emblem { min-height:20px; margin:0 0 20px; }
body.ithy-page .pricing-comparison .pricing-plan-standard .pro-plan-emblem { color:var(--pro-muted); }
body.ithy-page .pricing-comparison .pricing-plan p.pricing-fine-print { margin:13px 0 0; font-size:12px; line-height:1.7; }
body.ithy-page .pricing-comparison ul { padding-inline-start:18px; margin:16px 0 28px; font-size:14px; line-height:1.7; }
body.account-page #membership-plans { scroll-margin-block-start:86px; }
body.account-page .subscribe-box-container .pro-core-benefits { position:static; margin:0 0 22px; width:auto; align-self:stretch; transform:none; }
body.account-page .subscribe-box-container .pro-core-benefits li { padding:0; margin:0; line-height:1.55; }
body.account-page .subscribe-box-container .pro-plan-intro { max-width:43ch; }
body.account-page .subscribe-box-container .pricing-tab { min-height:44px; }
body.account-page .rewards-emblem { color:var(--pro-muted); min-height:20px; }
body .story-finish .pro-story-link { display:inline-flex; align-items:center; gap:12px; padding:12px 20px; margin:0; min-height:68px; border:1px solid var(--pro-edge); border-radius:10px; color:var(--pro-ink); background:var(--pro-surface); text-decoration:none; font-size:14px; font-weight:700; line-height:1.5; text-align:start; box-sizing:border-box; max-width:100%; vertical-align:middle; }
body .story-finish .pro-story-link small { display:block; margin-top:2px; font-size:11px; font-weight:400; color:var(--pro-muted); line-height:1.6; }
body .story-finish .pro-story-link:hover { border-color:var(--pro-gold); }
@media(max-width:540px) { body .story-finish .pro-story-link { width:100%; max-width:none; margin:0; justify-content:center; } }
@media(min-width:601px) {
  @supports(grid-template-rows:subgrid) {
    .pricing-comparison { row-gap:0; }
    body .pricing-comparison .pricing-plan { display:grid; grid-row:span 7; grid-template-rows:subgrid; row-gap:0; }
    body .pricing-comparison a.pricing-cta { margin-top:0; }
  }
}

/* Source: /static/public-discovery.css */
.public-nav,.public-guide-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:20px 0;padding:14px 0;border-block:1px solid #7775;line-height:1.6}.public-nav a,.public-guide-links a{min-height:44px;display:inline-flex;align-items:center}.public-guide{overflow-wrap:anywhere}.public-guide h1{font-size:clamp(1.65rem,4.5vw,2.4rem);line-height:1.3;color:#cc9900}.public-guide h2{font-size:1.35rem;line-height:1.4;color:#388278;margin-top:32px}.public-guide p{line-height:1.7}.public-note{font-size:.9rem;opacity:.85}.public-search{margin:24px 0}.public-search label{display:block;margin:8px 0}.public-search>div{display:flex;gap:8px}.public-search input{flex:1;min-width:0;border:1px solid #777;border-radius:8px;padding:12px;font:inherit;color:inherit;background:transparent}.public-search button,.public-pagination a{min-height:44px;padding:10px 16px;border-radius:8px;background:#388278;color:#fff;border:0;font:inherit}.public-filters{margin:18px 0;border:1px solid #7775;border-radius:10px;padding:12px}.public-filters summary{cursor:pointer;min-height:32px}.public-filters nav{display:flex;gap:8px 16px;flex-wrap:wrap;margin:14px 0}.public-filters a{display:inline-flex;align-items:center;gap:6px;min-height:44px}.public-filters span{font-size:.8rem;opacity:.7}.public-article-list{padding-inline-start:24px}.public-article-list li{border-bottom:1px solid #7774;padding:12px 0 20px}.public-article-list h2{margin:8px 0}.public-article-list p{font-size:1rem}.public-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:32px 0}.public-related,.public-history-notice{border:1px solid #38827866;border-radius:10px;padding:18px;margin:24px 0;line-height:1.6}.public-related h2{font-size:1.25rem}.public-related a{display:block;min-height:44px;padding:5px 0}.public-history-notice p{font-size:1rem;margin:8px 0}.search-publication-control{display:flex;align-items:center;gap:8px;min-height:44px;flex-wrap:wrap}.search-publication-control input{width:20px;height:20px}.public-article-heading{color:var(--heading,#cc9900);line-height:1.35}.public-note a{color:inherit;text-decoration:underline}
@media(max-width:450px){.public-nav{gap:4px 14px}.public-search>div{flex-wrap:wrap}.public-search input{flex-basis:65%}.public-pagination{font-size:.95rem}.public-related,.public-history-notice{padding:12px}}
.public-home-links{width:min(1000px,90%);margin:24px auto}.public-home-links .public-nav{justify-content:center}.analytics-preferences-link{font:inherit;color:inherit;background:transparent;border:0;text-decoration:underline;cursor:pointer;padding:10px;min-height:44px}.analytics-preferences{max-width:min(520px,85vw);border:1px solid #388278;border-radius:12px;background:#1a1c1f;color:#eee;padding:24px;font-family:Lato,Arial,sans-serif;line-height:1.6}.analytics-preferences::backdrop{background:#0009}.analytics-preferences button{font:inherit;min-height:44px;padding:10px;margin:6px;background:#388278;color:#fff;border:0;border-radius:8px}
.public-nav a,.public-guide-links a{color:#5fb3a3}.light-mode .public-nav a,.light-mode .public-guide-links a{color:#23685f}.public-nav a:focus-visible,.public-guide a:focus-visible,.public-guide button:focus-visible,.public-guide input:focus-visible{outline:2px solid #cc9900;outline-offset:3px}
.public-legal-heading{font:700 1.2rem/1.6 Lato,Arial,sans-serif;margin:1em 0;color:inherit}
.public-guide a,.public-related a,.public-note a,.public-history-notice a{color:#5fb3a3}.light-mode .public-guide a,.light-mode .public-related a,.light-mode .public-note a,.light-mode .public-history-notice a{color:#23685f}
@media print{.public-nav,.public-related,.public-note,.public-history-notice,.analytics-preferences-link,.analytics-preferences,.search-publication-control{display:none!important}}
.public-page-ranges nav+nav{border-top:1px solid #7774;padding-top:10px}.public-page-ranges a{padding:3px 8px;border-radius:6px}.public-page-ranges .public-current-range{background:#38827822}.public-page-ranges [aria-current="page"]{font-weight:700;text-decoration:underline}
.public-breadcrumbs{margin:16px 0;font-size:.85rem;line-height:1.5}.public-breadcrumbs ol{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}.public-breadcrumbs li{display:flex;align-items:center;gap:8px;min-width:0}.public-breadcrumbs li+li:before{content:"›";opacity:.55}.public-breadcrumbs li:last-child{flex:1}.public-breadcrumbs [aria-current="page"]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.public-breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;color:inherit;text-decoration:underline;text-underline-offset:3px}@media print{.public-breadcrumbs,.public-page-ranges{display:none!important}}
.public-publication-date{font-size:.85rem;line-height:1.5;opacity:.75;margin:0 0 20px}

/* Public media kit, using the existing site shell and native player. */
.media-kit .press-video{display:block;width:100%;height:auto;border-radius:12px;background:#191f1c}.press-brand-preview{padding:24px;border:1px solid #53645d;border-radius:12px;background:#191f1c}.press-brand-preview img{display:block;width:min(100%,260px);height:auto}.press-shot{margin:28px 0}.press-shot img{display:block;width:100%;height:auto;border:1px solid #53645d;border-radius:12px}.press-shot figcaption{margin-top:10px;line-height:1.6;overflow-wrap:anywhere}
