/*
Theme Name: TrendTechnia Editorial
Theme URI: https://trendtechnia.com
Author: TrendTechnia
Author URI: https://trendtechnia.com
Description: A lightweight, accessible editorial theme for AI tools, technology discoveries, and smart products.
Version: 1.0.0
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: trendtechnia-editorial
Tags: blog, news, block-styles, featured-images, full-width-template, translation-ready
*/

/* Design tokens. Breakpoint tokens document the literal media-query values below;
   CSS custom properties cannot be substituted into media-query conditions. */
:root {
  color-scheme: dark;
  --tt-bg: #071428;
  --tt-bg-soft: #0b1b34;
  --tt-surface: #102440;
  --tt-surface-strong: #172e50;
  --tt-text: #f7faff;
  --tt-muted: #b8c9e0;
  --tt-line: #2c4160;
  --tt-control-line: #7890b0;
  --tt-cyan: #8dbbff;
  --tt-electric: #2164c4;
  --tt-font-interface: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --tt-font-editorial: Georgia, "Times New Roman", serif;
  --tt-font-code: "SFMono-Regular", Consolas, monospace;
  --tt-space-1: .5rem;
  --tt-space-2: 1rem;
  --tt-space-3: 1.5rem;
  --tt-space-4: 2rem;
  --tt-space-5: 3rem;
  --tt-gutter: clamp(1rem, 4vw, 2rem);
  --tt-section-space: clamp(2.5rem, 6vw, 4.5rem);
  --tt-radius: 16px;
  --tt-radius-sm: 8px;
  --tt-content: 760px;
  --tt-wide: 1180px;
  --tt-breakpoint-card: 580px;
  --tt-breakpoint-feature: 860px;
  --tt-breakpoint-nav: 1024px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 7rem; }
body { margin: 0; background: var(--tt-bg); color: var(--tt-text); font: 1.0625rem/1.7 var(--tt-font-interface); overflow-wrap: anywhere; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--tt-cyan); }
img { display: block; max-width: 100%; height: auto; }
video, iframe, embed, object { max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, summary, input[type="submit"] { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--tt-cyan); outline-offset: 4px; }
:target { scroll-margin-top: 7rem; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; background: var(--tt-text); color: var(--tt-bg); height: auto; left: 1rem; margin: 0; padding: .8rem 1rem; top: 1rem; width: auto; z-index: 100000; }
.tt-shell { width: 100%; margin-inline: auto; max-width: var(--tt-wide); padding-inline: var(--tt-gutter); }
.tt-main { min-height: 65vh; }

/* Header and progressive-enhancement navigation. */
.tt-site-header { background: var(--tt-bg); border-bottom: 1px solid var(--tt-line); position: sticky; top: 0; z-index: 50; }
.admin-bar .tt-site-header { top: 32px; }
.tt-header-inner { display: flex; align-items: center; gap: var(--tt-space-4); min-height: 88px; }
.tt-brand, .custom-logo-link { display: inline-flex; align-items: center; flex: 0 1 auto; min-width: 0; text-decoration: none; }
.tt-brand-image, .custom-logo { width: 255px; max-height: 64px; height: auto; object-fit: contain; }
.tt-primary-nav { display: flex; align-items: center; gap: var(--tt-space-3); margin-left: auto; min-width: 0; }
.tt-menu { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem 1.4rem; list-style: none; margin: 0; padding: 0; }
.tt-menu a { display: inline-flex; align-items: center; min-height: 44px; color: var(--tt-muted); font-size: .84rem; font-weight: 700; text-decoration: none; }
.tt-menu a:hover, .tt-menu a:focus-visible, .tt-menu :is(.current-menu-item, .current-menu-ancestor) > a { color: var(--tt-text); text-decoration: underline; }
.tt-menu-toggle { display: none; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; margin-left: auto; border: 1px solid var(--tt-control-line); border-radius: var(--tt-radius-sm); color: var(--tt-text); background: transparent; cursor: pointer; }
.tt-menu-toggle span, .tt-menu-toggle span::before, .tt-menu-toggle span::after { display: block; background: currentColor; width: 20px; height: 2px; position: relative; content: ""; }
.tt-menu-toggle span::before { position: absolute; top: -6px; }
.tt-menu-toggle span::after { position: absolute; top: 6px; }
.tt-menu-toggle[aria-expanded="true"] span { background: transparent; }
.tt-menu-toggle[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.tt-menu-toggle[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }
.tt-header-search { position: relative; flex-shrink: 0; }
.tt-header-search summary { cursor: pointer; padding: .5rem .8rem; min-height: 44px; border: 1px solid var(--tt-control-line); border-radius: var(--tt-radius-sm); font-size: .85rem; font-weight: 700; }
.tt-header-search[open] summary { color: var(--tt-cyan); }
.tt-search-panel { position: absolute; right: 0; top: calc(100% + .75rem); width: min(25rem, calc(100vw - 2rem)); padding: 1rem; border: 1px solid var(--tt-line); border-radius: var(--tt-radius-sm); background: var(--tt-bg-soft); box-shadow: 0 8px 24px #0004; }
.tt-search-panel .tt-search-form { margin: 0; }

/* Opening message, featured story and archive cards. */
.tt-hero { padding-block: clamp(3rem, 6vw, 5.2rem) clamp(2rem, 4vw, 3.5rem); }
.tt-hero-grid { display: grid; align-items: end; gap: clamp(2rem, 5vw, 4rem); grid-template-columns: minmax(0, 1.45fr) minmax(240px, .8fr); }
.tt-eyebrow { color: var(--tt-cyan); font-size: .75rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 1rem; }
.tt-display { font-size: clamp(2.4rem, 4.8vw, 4rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.08; margin: 0; max-width: 18ch; }
.tt-gradient-text { display: block; color: var(--tt-cyan); }
.tt-hero-copy { color: var(--tt-muted); font-size: clamp(1rem, 1.7vw, 1.18rem); line-height: 1.65; margin: 0; max-width: 35rem; }
.tt-hero-anchor { display: inline-flex; align-items: center; min-height: 44px; margin-top: 1rem; color: var(--tt-cyan); font-size: .95rem; font-weight: 700; }
.tt-section { padding-block: var(--tt-section-space); }
.tt-section + .tt-section { border-top: 1px solid var(--tt-line); }
.tt-section-head { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; margin-bottom: 2rem; }
.tt-section-title { font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1.15; letter-spacing: -.04em; margin: 0; }
.tt-text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--tt-cyan); font-size: .95rem; font-weight: 700; }
.tt-feature-section { padding-top: .5rem; }
.tt-feature { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); border: 1px solid var(--tt-line); border-radius: var(--tt-radius); background: var(--tt-surface); overflow: hidden; }
.tt-feature-body { padding: clamp(1.5rem, 3.5vw, 3rem); align-self: center; min-width: 0; }
.tt-feature-title { font-size: clamp(1.9rem, 3.4vw, 3rem); letter-spacing: -.045em; line-height: 1.12; margin: .8rem 0 1rem; }
.tt-feature-title a, .tt-card-title a { text-decoration: none; }
.tt-feature-title a:hover, .tt-card-title a:hover { text-decoration: underline; }
.tt-feature-media { display: flex; align-items: center; justify-content: center; min-height: 320px; background: var(--tt-bg-soft); }
.tt-feature-media img { width: 100%; height: 100%; object-fit: cover; }
.tt-card-grid, .tt-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tt-space-3); }
.tt-card { display: flex; flex-direction: column; min-width: 0; background: var(--tt-surface); border: 1px solid var(--tt-line); border-radius: var(--tt-radius); overflow: hidden; }
.tt-card:hover { border-color: var(--tt-control-line); }
.tt-card.sticky { border-color: var(--tt-cyan); }
.tt-card-media { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; overflow: hidden; background: var(--tt-bg-soft); }
.tt-card-media img { width: 100%; height: 100%; object-fit: cover; }
.tt-card-placeholder::before, .tt-feature-placeholder::before { content: ""; background: url("assets/images/trendtechnia-site-icon-512.png") center / contain no-repeat; width: 72px; height: 72px; opacity: .6; }
.tt-feature-placeholder::before { width: 112px; height: 112px; }
.tt-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-width: 0; padding: var(--tt-space-3); }
.tt-card-title { font-size: 1.25rem; line-height: 1.32; letter-spacing: -.025em; margin: .8rem 0; }
.tt-card-excerpt { color: var(--tt-muted); font-size: .94rem; line-height: 1.65; margin: 0 0 1.2rem; }
.tt-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .55rem; color: var(--tt-muted); font-size: .8rem; line-height: 1.65; margin-top: auto; }
.tt-chip { display: inline-flex; align-items: center; min-height: 30px; max-width: 100%; padding: .25rem .6rem; background: var(--tt-bg-soft); border: 1px solid var(--tt-line); border-radius: 5px; color: var(--tt-cyan); font-size: .72rem; line-height: 1.5; font-weight: 700; text-decoration: none; }
.tt-chip:hover { text-decoration: underline; }
.tt-topic { border-top: 2px solid var(--tt-cyan); padding-top: 1.3rem; min-width: 0; }
.tt-topic h3 { margin: 0 0 .7rem; font-size: 1.3rem; letter-spacing: -.025em; }
.tt-topic h3 a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; text-decoration: none; }
.tt-topic h3 a:hover { text-decoration: underline; }
.tt-topic p { color: var(--tt-muted); font-size: .94rem; margin: 0; }
.tt-topic .tt-topic-status { color: var(--tt-cyan); font-size: .8rem; margin-top: .7rem; }
.tt-empty { padding: var(--tt-space-4); color: var(--tt-muted); background: var(--tt-surface); border: 1px solid var(--tt-line); border-radius: var(--tt-radius-sm); }
.tt-empty h2, .tt-empty h3 { color: var(--tt-text); margin-top: 0; line-height: 1.25; }
.tt-empty > :last-child { margin-bottom: 0; }
.tt-page-head { border-bottom: 1px solid var(--tt-line); padding-block: clamp(3rem, 7vw, 5rem) 2.5rem; }
.tt-page-title { font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 1.12; letter-spacing: -.045em; max-width: 24ch; margin: 0; }
.tt-page-description { color: var(--tt-muted); max-width: 46rem; margin: 1rem 0 0; }

/* Articles and native Gutenberg content. No global overflow clipping. */
.tt-article { padding-block: clamp(2.5rem, 6vw, 5rem); }
.tt-article-header, .tt-article-content, .tt-comments { max-width: var(--tt-content); padding-inline: var(--tt-gutter); margin-inline: auto; }
.tt-breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; color: var(--tt-muted); font-size: .8rem; margin-bottom: 1.5rem; }
.tt-breadcrumbs a { color: var(--tt-cyan); }
.tt-article-tags { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font: .9rem/1.6 var(--tt-font-interface); padding-top: 1rem; border-top: 1px solid var(--tt-line); }
.tt-article-title { font-size: clamp(2.1rem, 5.2vw, 4.1rem); line-height: 1.12; letter-spacing: -.045em; margin: .9rem 0 1.2rem; }
.tt-article-deck { color: var(--tt-muted); font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.6; }
.tt-article-meta { margin: 1.5rem 0 2.5rem; }
.tt-article-media { max-width: var(--tt-wide); padding-inline: var(--tt-gutter); margin: 0 auto 3rem; }
.tt-article-media img { width: 100%; height: auto; border-radius: var(--tt-radius-sm); }
.tt-article-media figcaption, .tt-article-content figcaption { color: var(--tt-muted); font: .85rem/1.6 var(--tt-font-interface); margin-top: .75rem; }
.tt-article-content { color: #e0e9f7; font: clamp(1.0625rem, 1.8vw, 1.2rem)/1.8 var(--tt-font-editorial); display: flow-root; }
.tt-article-content > * { min-width: 0; }
.tt-article-content > * + * { margin-top: 1.35em; }
.tt-article-content a:where(:not(.wp-element-button, .wp-block-button__link, .tt-button)) { color: var(--tt-cyan); }
.tt-article-content a:hover { text-decoration-thickness: 2px; }
.tt-article-content :is(h1,h2,h3,h4,h5,h6) { color: var(--tt-text); font-family: var(--tt-font-interface); line-height: 1.25; letter-spacing: -.025em; margin-top: 1.8em; }
.tt-article-content h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
.tt-article-content h3 { font-size: clamp(1.3rem, 2.5vw, 1.65rem); }
.tt-article-content :is(ul,ol) { padding-inline-start: 1.5em; }
.tt-article-content li + li { margin-top: .4em; }
.tt-article-content blockquote { border-inline-start: 3px solid var(--tt-cyan); margin-inline: 0; padding-inline-start: 1.3rem; }
.tt-article-content :is(cite, .wp-block-pullquote cite) { color: var(--tt-muted); font: .9rem/1.6 var(--tt-font-interface); }
.tt-article-content .wp-block-pullquote { border-block: 1px solid var(--tt-line); padding-block: 2rem; }
.tt-article-content code { font-family: var(--tt-font-code); font-size: .86em; background: var(--tt-surface); padding: .12em .3em; border-radius: 4px; }
.tt-article-content pre { overflow-x: auto; max-width: 100%; padding: 1.2rem; background: var(--tt-bg-soft); border: 1px solid var(--tt-line); border-radius: var(--tt-radius-sm); white-space: pre; overflow-wrap: normal; }
.tt-article-content pre code { background: none; padding: 0; border: 0; white-space: inherit; }
.tt-article-content table { width: 100%; border-collapse: collapse; font: .92rem/1.6 var(--tt-font-interface); }
.tt-article-content :is(th,td) { border: 1px solid var(--tt-line); padding: .75rem 1rem; text-align: start; min-width: 8rem; }
.tt-article-content th { background: var(--tt-surface-strong); color: var(--tt-text); }
.tt-article-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--tt-surface); }
.tt-article-content .wp-block-table.is-style-stripes { border-bottom: 0; }
.tt-article-content :is(.wp-block-table, .tt-table-scroll) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.tt-article-content figure { margin-inline: 0; }
.tt-article-content :is(figure,iframe) { max-width: 100%; }
.tt-article-content .wp-block-image img { border-radius: var(--tt-radius-sm); }
.tt-article-content > :is(.alignwide,.alignfull) { width: min(var(--tt-wide), calc(100vw - 2 * var(--tt-gutter))); max-width: none; margin-inline-start: 50%; transform: translateX(-50%); }
.tt-article-content .wp-block-embed.is-type-video iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.tt-article-content :is(.wp-block-columns,.wp-block-column,.wp-block-group) { min-width: 0; }
.tt-article-content hr { border: 0; border-top: 1px solid var(--tt-line); margin-block: 2.5rem; }
.tt-article-content details { padding: 1rem; border: 1px solid var(--tt-line); border-radius: var(--tt-radius-sm); }
.tt-article-content summary { cursor: pointer; font-family: var(--tt-font-interface); font-weight: 700; min-height: 32px; }
.alignleft { float: left; margin: .5rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .5rem 0 1rem 1.5rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { color: var(--tt-muted); font-size: .85rem; }
.tt-article-content .alignleft { margin-inline: 0 1.5rem; }
.tt-article-content .alignright { margin-inline: 1.5rem 0; }
.tt-article-content .aligncenter { margin-inline: auto; }
.tt-review-panel { padding: clamp(1.2rem, 3vw, 2rem); background: var(--tt-surface); border: 1px solid var(--tt-line); border-radius: var(--tt-radius); }
.tt-disclosure { padding: 1rem 1.4rem; background: var(--tt-surface); border-inline-start: 3px solid var(--tt-cyan); font: .95rem/1.7 var(--tt-font-interface); }
.tt-review-panel > :first-child, .tt-disclosure > :first-child { margin-top: 0; }
.tt-review-panel > :last-child, .tt-disclosure > :last-child { margin-bottom: 0; }
.tt-author-box { display: flex; gap: 1.2rem; width: calc(100% - 2 * var(--tt-gutter)); max-width: calc(var(--tt-content) - 2 * var(--tt-gutter)); margin: 3rem auto 0; padding: 1.5rem; border-block: 1px solid var(--tt-line); }
.tt-author-avatar { width: 64px; height: 64px; border-radius: 50%; flex: 0 0 64px; }
.tt-author-box h2 { font-size: 1.2rem; margin: 0 0 .4rem; line-height: 1.4; }
.tt-author-box .tt-eyebrow { margin-bottom: .3rem; }
.tt-author-box p:last-child { color: var(--tt-muted); font-size: .95rem; margin: 0; }

/* Forms, pagination and comments. */
.tt-search-form { display: flex; gap: .7rem; max-width: 34rem; margin-top: 1.5rem; }
.tt-search-form input { flex: 1; min-width: 0; width: 100%; }
.tt-search-form input, .tt-comments :is(textarea,input:not([type="submit"],[type="checkbox"])), .post-password-form input[type="password"] { min-height: 44px; padding: .65rem .8rem; color: var(--tt-text); background: var(--tt-surface); border: 1px solid var(--tt-control-line); border-radius: var(--tt-radius-sm); max-width: 100%; }
.tt-search-form input::placeholder { color: var(--tt-muted); opacity: 1; }
.tt-button, .tt-comments input[type="submit"], .post-password-form input[type="submit"], .wp-block-button__link { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: .75rem 1.1rem; border: 1px solid transparent; border-radius: var(--tt-radius-sm); background: var(--tt-cyan); color: var(--tt-bg); font: 700 .95rem/1.4 var(--tt-font-interface); text-decoration: none; cursor: pointer; }
.tt-button:hover, .tt-comments input[type="submit"]:hover, .wp-block-button__link:hover { background: #c7e0ff; color: var(--tt-bg); }
.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--tt-cyan); }
.tt-comments { padding-block: 2rem; }
.tt-comments textarea { width: 100%; }
.tt-comments label { display: block; }
.tt-comments .comment-form-cookies-consent label { display: inline; }
.tt-comments input[type="checkbox"] { width: 1.2rem; height: 1.2rem; margin-inline-end: .5rem; accent-color: var(--tt-cyan); }
.tt-comments .comment-list { list-style: none; padding: 0; }
.tt-comments .children { list-style: none; padding-inline-start: clamp(.7rem, 2vw, 1.5rem); border-inline-start: 1px solid var(--tt-line); }
.tt-comments li { margin-block: 1.5rem; }
.tt-comments .comment-body { padding-block: 1rem; }
.tt-comments .avatar { display: inline-block; vertical-align: middle; margin-inline-end: .5rem; border-radius: 50%; }
.tt-comments .comment-metadata, .tt-comments .reply { font-size: .85rem; }
.tt-comments .bypostauthor > .comment-body { border-top: 2px solid var(--tt-cyan); }
.tt-comments .reply a { display: inline-block; padding-block: .4rem; }
.tt-pagination { margin-top: 2.5rem; font: .95rem/1.6 var(--tt-font-interface); }
.tt-pagination .nav-links { display: flex; flex-wrap: wrap; gap: .6rem; }
.tt-pagination :is(.page-numbers,.post-page-numbers) { display: inline-block; min-width: 44px; min-height: 44px; margin-block: .2rem; padding: .5rem .8rem; border: 1px solid var(--tt-line); border-radius: var(--tt-radius-sm); text-align: center; text-decoration: none; }
.tt-pagination .current { background: var(--tt-cyan); color: var(--tt-bg); font-weight: 700; }

/* Footer uses only configured WordPress navigation and policy links. */
.tt-site-footer { margin-top: var(--tt-space-5); border-top: 1px solid var(--tt-line); padding-block: 3rem; }
.tt-footer-grid { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; }
.tt-footer-copy { color: var(--tt-muted); font-size: .9rem; max-width: 36rem; margin: .8rem 0 0; }
.tt-footer-links { text-align: right; }
.tt-footer-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .3rem 1.2rem; list-style: none; margin: 0; padding: 0; }
.tt-footer-menu a, .tt-privacy-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--tt-muted); font-size: .85rem; }
.tt-privacy-link { margin-top: .4rem; }

@media (max-width: 1024px) {
  .tt-header-inner { flex-wrap: wrap; gap: 0 1rem; min-height: 76px; }
  .tt-primary-nav { flex: 1 0 100%; display: block; padding-block: .5rem 1.25rem; margin: 0; }
  .tt-menu { align-items: stretch; flex-direction: column; gap: .2rem; }
  .tt-menu a { width: 100%; padding-block: .45rem; }
  .tt-header-search { margin-top: .6rem; }
  .tt-header-search summary { width: fit-content; }
  .tt-search-panel { position: static; width: 100%; box-shadow: none; margin-top: .8rem; }
  .tt-nav-ready .tt-menu-toggle { display: inline-flex; }
  .tt-nav-ready .tt-primary-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100dvh - 130px); overflow-y: auto; padding: 1rem var(--tt-gutter) 1.5rem; border-bottom: 1px solid var(--tt-line); background: var(--tt-bg-soft); }
  .tt-nav-ready .tt-primary-nav.is-open { display: block; }
  html:not(.tt-nav-ready) .tt-site-header { position: static; }
}
@media (max-width: 860px) {
  .tt-hero-grid, .tt-feature { grid-template-columns: minmax(0, 1fr); }
  .tt-display { max-width: 20ch; }
  .tt-hero-copy { max-width: 42rem; }
  .tt-feature-media { order: -1; min-height: 0; aspect-ratio: 16 / 9; }
  .tt-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tt-topic-grid { grid-template-columns: 1fr; gap: 2rem; }
  .tt-footer-grid { grid-template-columns: 1fr; }
  .tt-footer-links { text-align: left; }
  .tt-footer-menu { justify-content: flex-start; }
}
@media (max-width: 782px) { .admin-bar .tt-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .tt-site-header { top: 0; } }
@media (max-width: 580px) {
  .tt-brand-image, .custom-logo { width: 200px; max-height: 50px; }
  .tt-card-grid { grid-template-columns: 1fr; }
  .tt-display { font-size: clamp(2.1rem, 8.6vw, 3.1rem); }
  .tt-feature-body { padding: 1.5rem; }
  .tt-author-box { flex-direction: column; padding-inline: 0; }
  .tt-article-content .alignleft, .tt-article-content .alignright { float: none; margin-inline: 0; }
  .tt-search-form { flex-wrap: wrap; }
  .tt-search-form .tt-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (forced-colors: active) {
  .tt-card, .tt-feature, .tt-review-panel, .tt-disclosure { border: 1px solid CanvasText; }
  .tt-gradient-text { color: LinkText; }
  :focus-visible { outline-color: Highlight; }
}
@media print {
  :root { color-scheme: light; }
  body, .tt-article-content { background: #fff; color: #000; }
  .tt-site-header, .tt-site-footer, .tt-related, .tt-comments, .tt-breadcrumbs, .tt-author-avatar { display: none; }
  .tt-article { padding: 0; }
  .tt-article-header, .tt-article-content { max-width: none; padding: 0; }
  .tt-article-content :is(h1,h2,h3,h4,h5,h6,a), .tt-article-deck, .tt-meta, .tt-chip { color: #000; }
  .tt-review-panel, .tt-disclosure, .tt-article-content th { background: #fff; color: #000; }
  .tt-article-content > :is(.alignwide,.alignfull) { width: 100%; max-width: 100%; margin-inline: 0; transform: none; }
}
