/* 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 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;
}
.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 {
  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 .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 .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 .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 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 32px;
  padding: 28px 0;
  border-block: 1px solid var(--ui-line);
  font-size: 14px;
}
.story-press>span {
  color: var(--ui-muted);
  font-size: 12px;
}
.story-press a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--ui-text);
  text-decoration: none;
  font-weight: 600;
}
.story-press i {
  font-size: 10px;
  opacity: .6;
}
.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: 24px;
}
.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: 14px !important;
  min-height: 44px;
  background: 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: 24px;
}
.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%;
  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: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.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 {
  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: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 28px auto 0;
  font-size: 13px;
}
.account-page .account-secondary-actions a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 4px 0;
  border: 0;
  box-shadow: none;
  background: none;
  color: var(--ui-muted);
  text-decoration: none;
}
.account-page .account-secondary-actions a:hover {
  color: var(--ui-accent);
  text-decoration: underline;
}
/* 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 {
  font: 400 20px/1.5 Georgia,serif;
  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;
}
.signin-page .verification-code-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.signin-page .verification-code-container {
  display: flex;
  justify-content: center;
  gap: 5px;
  width: auto;
}
.signin-page .verification-code-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: auto;
}
.signin-page .verification-code-input {
  width: 36px;
  height: 44px;
  font-size: 21px;
  margin: 0;
  padding: 0;
}
.signin-page .verification-dash {
  width: 16px;
  font-size: 15px;
  flex: none;
}
.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;
  }
}
