/* Light paper and forest green theme. Loaded after style.css. */

:root {
  --navy-950: #f7f4ec;
  --navy-900: #f4f1e8;
  --navy-850: #eef3ee;
  --navy-800: #e7efe8;
  --navy-700: #dce8df;
  --purple: #0e6b4f;
  --purple-2: #0c5a43;
  --purple-3: #146b4e;
  --cyan: #0f6b4c;
  --cyan-2: #0c5c42;
  --cyan-3: #084833;
  --text: #1a2e24;
  --text-soft: #24382e;
  --muted: #3d5248;
  --muted-2: #4e6458;
  --ink: #14261c;
  --paper: #f4f1e8;
  --card: #fffdf8;
  --green: #0e6b4f;
  --green-deep: #0c3b2e;
  --line: #d5ddd4;
  --line-soft: #e4ebe4;
  --line-strong: #b7c6bb;
  --glass: rgba(14, 107, 79, .06);
  --glass-2: rgba(14, 107, 79, .1);
  --glass-deep: rgba(255, 253, 248, .92);
  --success: #0d6b3d;
  --warn: #8a5a12;
  --danger: #8f2d2d;
  --grad-brand: linear-gradient(120deg, #127a58 0%, #0c4f3c 100%);
  --grad-brand-soft: linear-gradient(120deg, rgba(14, 107, 79, .12), rgba(14, 107, 79, .05));
  --shadow-panel: 0 18px 40px -28px rgba(20, 40, 30, .45);
  --shadow-glow-purple: 0 12px 30px -18px rgba(12, 59, 46, .35);
  --shadow-glow-cyan: 0 12px 30px -18px rgba(12, 59, 46, .28);
  --font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;
}

body {
  color: var(--ink);
  background: var(--paper);
  font-size: 16.5px;
}
h1, h2, h3, h4, h5 { color: var(--ink); }
a { color: #0c5c42; }
a:hover { color: #084433; }
::selection { background: #cfe4d8; color: var(--ink); }
:focus-visible { outline: 2px solid #0e6b4f; outline-offset: 3px; }

.ty-bg { display: none; }
.ty-skip { background: var(--green-deep); color: #fff; }

.ty-header,
.ty-header.is-stuck {
  background: #0c3b2e;
  border-bottom: 1px solid #08281f;
  box-shadow: none;
}
.ty-brand { color: #f4faf6; }
.ty-brand__mark {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #f4f1e8;
  color: #0c3b2e;
  border: 0;
  box-shadow: none;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .02em;
}
.ty-brand__text { color: #f4faf6; }
.ty-brand__tld { color: #d5ecdf; }
.ty-nav__list a,
.ty-nav__drop { color: #e7f3ec; }
.ty-nav__list a:hover,
.ty-nav__drop:hover,
.ty-nav__list a[aria-current="page"] {
  color: #fff;
  background: rgba(255, 255, 255, .08);
}
.ty-submenu {
  background: #fffdf8;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-panel);
}
.ty-submenu__link strong { color: var(--ink); }
.ty-submenu__link em { color: var(--muted); }
.ty-submenu__icon {
  background: #e7f3ec;
  color: #0c3b2e;
}
.ty-submenu__link:hover,
.ty-submenu__link.is-active {
  background: #e7f3ec !important;
  border: 1px solid transparent;
}
.ty-hsearch__input,
.ty-searchbox input,
.ty-input,
.ty-textarea,
.ty-select {
  background: #fff;
  color: var(--ink);
  border: 1px solid #c5d2c8;
}
.ty-hsearch__input::placeholder,
.ty-input::placeholder,
.ty-textarea::placeholder { color: #5d7268; }
.ty-hsearch__input:focus,
.ty-input:focus,
.ty-textarea:focus,
.ty-select:focus,
.ty-searchbox input:focus {
  border-color: #0e6b4f;
  box-shadow: 0 0 0 3px rgba(14, 107, 79, .18);
  background: #fff;
}
.ty-hsearch__results {
  background: #fffdf8;
  border: 1px solid var(--line);
}
.ty-hsearch__results a { color: var(--ink); }
.ty-hsearch__results a:hover { background: #e7f3ec; color: var(--ink); }
.ty-hsearch__results strong { color: var(--ink) !important; }
.ty-navtoggle {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .16);
  color: #fff;
}
.ty-mobilenav {
  background: #0c3b2e;
  border-top-color: rgba(255, 255, 255, .08);
}
.ty-mobilenav__link { color: #e7f3ec; padding: 14px 12px; }
.ty-mobilenav__link:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.ty-mobilenav__label { color: #b7d4c6; }

.ty-btn { min-height: 44px; }
.ty-btn--sm { min-height: 40px; }
.ty-btn--primary,
.ty-btn--primary:hover { color: #f4faf6; background: var(--grad-brand); box-shadow: none; }
.ty-btn--ghost {
  background: #fff;
  border-color: #c5d2c8;
  color: var(--ink);
}
.ty-btn--ghost:hover {
  border-color: #0e6b4f;
  background: #e7f3ec;
  color: #0c3b2e;
  box-shadow: none;
}
.ty-btn--cyan { background: #0e6b4f; color: #fff; }
.ty-pill {
  background: #e7f3ec;
  border-color: #c5ddd2;
  color: #0c3b2e;
}
.ty-pill--cyan { background: #e7f3ec; border-color: #c5ddd2; color: #0c3b2e; }
.ty-pill--plain { background: #fff; border-color: var(--line); color: var(--muted); }

.ty-hero h1 .ty-grad,
.ty-grad-text,
.ty-stat__value,
.ty-kpi--accent .ty-kpi__value {
  background: none;
  -webkit-text-fill-color: currentColor;
  color: #0c5c42;
}
.ty-hero p,
.ty-sec-head p,
.ty-cat__blurb,
.ty-toolhead p { color: var(--muted); }
.ty-hero__meta { color: var(--muted); }
.ty-hero__meta svg { color: #0e6b4f; }
.ty-typo { display: none; }

.ty-stat,
.ty-panel,
.ty-toolcard,
.ty-sitemap-col,
.ty-step,
.ty-acc,
.ty-kpi {
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-panel);
  backdrop-filter: none;
}
.ty-stat:hover,
.ty-toolcard:hover { border-color: #9ec6b2; box-shadow: var(--shadow-panel); }
.ty-toolcard::before,
.ty-toolcard::after,
.ty-stat::after { display: none; }
.ty-toolcard__title,
.ty-stat__label,
.ty-drop__title,
.ty-file__name,
.ty-kpi__value,
.ty-note strong,
.ty-prose strong { color: var(--ink); }
.ty-toolcard__icon,
.ty-toolhead__icon,
.ty-cat__icon,
.ty-drop__icon {
  background: #e7f3ec;
  border-color: #c5ddd2;
  color: #0c3b2e;
  box-shadow: none;
}
.ty-cat__count { color: #0c3b2e; background: #e7f3ec; border-color: #c5ddd2; }
.ty-panel__foot { background: #f7f4ec; }
.ty-panel__head { border-bottom-color: var(--line-soft); }

.ty-select option { background: #fff; color: var(--ink); }
.ty-range { background: linear-gradient(90deg, #0e6b4f var(--pct, 50%), #d5ddd4 var(--pct, 50%)); }
.ty-range::-webkit-slider-thumb,
.ty-range::-moz-range-thumb { background: #fff; border: 3px solid #0e6b4f; box-shadow: none; }
.ty-seg { background: #f4f1e8; border-color: var(--line); }
.ty-seg button { color: var(--muted); }
.ty-seg button:hover { color: var(--ink); }
.ty-seg button.is-active { background: #0e6b4f; color: #fff; box-shadow: none; }
.ty-check input { accent-color: #0e6b4f; }

.ty-result {
  background: #f7f4ec;
  border: 1px solid var(--line);
  box-shadow: none;
}
.ty-result__body { color: var(--ink); background: transparent; }
.ty-result__head { background: #e7f3ec; }
.ty-drop {
  background: #f7f4ec;
  border-color: #b7c6bb;
}
.ty-drop:hover,
.ty-drop.is-over { border-color: #0e6b4f; background: #e7f3ec; box-shadow: none; }
.ty-file { background: #fff; }
.ty-file__thumb { background: #eef3ee; }
.ty-iconbtn { color: #0c3b2e; }
.ty-iconbtn:hover { color: #0c3b2e; background: #e7f3ec; border-color: #0e6b4f; }
.ty-note { background: #e7f3ec; border-color: #c5ddd2; color: var(--text-soft); }
.ty-note--warn { background: #f8f1e2; border-color: #e2d2ae; }
.ty-note--purple { background: #e7f3ec; border-color: #c5ddd2; }
.ty-note svg,
.ty-note--purple svg { color: #0c3b2e; }
.ty-code { background: #f7f4ec; color: #163028; border-color: var(--line); }
.ty-canvas-box { background: #f7f4ec; }
.ty-table th { color: #0c3b2e; }
.ty-table tbody tr:hover { background: #f3f8f4; }
.ty-tabs button:hover { color: var(--ink); }
.ty-tabs button.is-active { color: #0c3b2e; border-bottom-color: #0e6b4f; }
.ty-acc__q { color: var(--ink); }
.ty-acc__q:hover { background: #f3f8f4; }
.ty-acc__q svg { color: #0e6b4f; }
.ty-acc__a { color: var(--muted); }
.ty-step__num { background: #0e6b4f; color: #fff; box-shadow: none; }
.ty-prose { color: var(--text-soft); }
.ty-prose a { color: #0c5c42; }
.ty-searchbox input { color: var(--ink); }
.ty-sitemap-col a { color: var(--muted); }
.ty-sitemap-col a:hover { background: #e7f3ec; color: var(--ink); }

.ty-footer {
  background: #0c3b2e;
  color: #d7ebe1;
  border-top: 0;
}
.ty-footer .ty-brand,
.ty-footer .ty-brand__text { color: #f4faf6; }
.ty-footer__about,
.ty-footer__bottom,
.ty-footer__note { color: #d7ebe1; }
.ty-footer__col h2,
.ty-footer__col h4,
.ty-footer__heading {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #f3e6c4;
  margin: 0 0 14px;
  font-weight: 700;
}
.ty-footer__col a { color: #d7ebe1; }
.ty-footer__col a:hover { color: #fff; }
.ty-footer__contact a { color: #f4faf6; }
.ty-footer .ty-pill { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); color: #f4faf6; }

.ty-toast { background: #0c3b2e; color: #f4faf6; }

.ty-freebar {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: .92rem;
}
.ty-toolactions { margin: 10px 0 0; }

.ty-shell { display: block; padding-top: 8px; }
.ty-shell--side {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 336px);
  gap: 28px;
  align-items: start;
}
.ty-shell .ty-wrap { max-width: none; padding-left: 0; padding-right: 0; }
.ty-shell__side {
  position: sticky;
  top: 84px;
  width: 100%;
  max-width: 336px;
  justify-self: end;
}
.ty-shell__side .ty-ad--medium-rectangle,
.ty-shell__side .ty-ad--large-rectangle { width: 100%; max-width: 336px; }
.ty-shell__side .ty-ad--half-page { width: 300px; max-width: 100%; }
.ty-shell__side .ty-ad--wide-skyscraper,
.ty-shell__side .ty-ad--adsterra-tall { width: 160px; max-width: 100%; }
.ty-shell__side .ty-ad--square { width: 250px; max-width: 100%; }
.ty-shell__side .ty-ad--small-square { width: 200px; max-width: 100%; }
.ty-toolgrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  align-items: stretch;
}
.ty-toolcard { height: 100%; }
@media (min-width: 1500px) {
  .ty-wrap { max-width: 1440px; }
}
.ty-recent { margin: 8px 0 22px; }
.ty-recent__list { display: flex; gap: 10px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.ty-recent__list a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
  font-weight: 650;
  font-size: .9rem;
}

.ty-ad { margin: 16px auto; text-align: center; max-width: 100%; }
.ty-ad__label {
  margin: 0 0 6px;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #4e6458;
  font-weight: 700;
}
.ty-ad__frame { display: flex; justify-content: center; overflow: hidden; }
.ty-ad__frame > * { max-width: 100%; }
.ty-adbar { max-width: var(--wrap); margin: 0 auto; padding: 14px 20px 0; }
.ty-ad--leaderboard,
.ty-ad--large-leaderboard,
.ty-ad--mobile-banner,
.ty-ad--billboard,
.ty-ad--large-mobile,
.ty-ad--half-page,
.ty-ad--wide-skyscraper,
.ty-ad--skyscraper,
.ty-ad--large-rectangle,
.ty-ad--square,
.ty-ad--small-square,
.ty-ad--banner,
.ty-ad--adsterra-tall,
.ty-ad--side-rail { display: none; }
.ty-ad--medium-rectangle,
.ty-ad--in-article,
.ty-ad--multiplex,
.ty-ad--in-feed,
.ty-ad--anchor { display: block; }

@media (min-width: 768px) and (max-width: 1099px) {
  .ty-ad--leaderboard { display: block; }
}
@media (min-width: 1100px) {
  .ty-ad--large-leaderboard { display: block; }
}
@media (max-width: 767px) {
  .ty-ad--mobile-banner { display: block; }
}
@media (min-width: 900px) {
  .ty-ad--billboard { display: block; }
}
@media (max-width: 899px) {
  .ty-ad--large-mobile { display: block; }
}
@media (min-width: 1100px) {
  .ty-layout-tool .ty-ad--half-page { display: block; }
}
@media (min-width: 900px) and (max-width: 1099px) {
  .ty-layout-tool .ty-ad--wide-skyscraper { display: block; }
}
@media (min-width: 700px) and (max-width: 899px) {
  .ty-layout-tool .ty-ad--large-rectangle { display: block; }
}
@media (max-width: 699px) {
  .ty-layout-tool .ty-ad--adsterra-tall { display: block; }
}
.ty-layout-article .ty-ad--square { display: block; }
.ty-layout-home .ty-ad--small-square { display: block; }
@media (min-width: 500px) {
  .ty-ad--banner { display: block; max-width: 520px; }
}
@media (min-width: 1600px) {
  .ty-layout-tool .ty-ad--skyscraper,
  .ty-ad--side-rail {
    display: block;
    position: fixed;
    top: 88px;
    z-index: 20;
    margin: 0;
  }
  .ty-layout-tool .ty-ad--skyscraper { left: 12px; }
  .ty-ad--side-rail { right: 12px; }
}
.ty-ad--anchor {
  position: sticky;
  bottom: 0;
  z-index: 40;
  background: rgba(244, 241, 232, .96);
  padding: 8px 12px 10px;
  border-top: 1px solid var(--line);
}

.ty-hp,
.ty-auth {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 16px;
  background: #f4f1e8;
  color: var(--ink);
}
.ty-auth__card,
.ty-admin {
  width: min(920px, 100%);
  background: #fffdf8;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px 24px;
  box-shadow: var(--shadow-panel);
}
.ty-admin { width: min(1080px, 100%); margin: 28px auto 48px; }
.ty-auth h1,
.ty-admin h1 { margin-top: 0; }
.ty-help { color: var(--muted); font-size: .92rem; }
.ty-admin details {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 14px;
  margin: 10px 0;
  background: #fff;
}
.ty-admin summary { cursor: pointer; font-weight: 700; min-height: 40px; display: flex; align-items: center; }
.ty-admin textarea { min-height: 110px; font-family: var(--font-mono); font-size: .82rem; }
.ty-admin__bar { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
.ty-msg { padding: 12px 14px; border-radius: 12px; background: #e7f3ec; border: 1px solid #c5ddd2; }
.ty-msg--err { background: #f8e8e6; border-color: #e4c2be; }
.ty-trap {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 980px) {
  .ty-shell--side { grid-template-columns: 1fr; }
  .ty-shell__side { position: static; max-width: 336px; }
}
@media (max-width: 640px) {
  .ty-toolgrid { grid-template-columns: 1fr; }
}
@media print {
  .ty-header, .ty-footer, .ty-ad, .ty-adbar, .ty-shell__side, .ty-toasts, .ty-mobilenav, .ty-toolactions, .ty-hsearch { display: none !important; }
  .ty-shell { display: block; }
  body { background: #fff; color: #000; }
}

[style*="color:#fff"],
[style*="color:#FFF"],
[style*="color: #fff"] { color: var(--ink) !important; }
