/*
Theme Name:   1001Tekno Child
Theme URI:    https://1001tekno.com
Description:  Child theme 1001Tekno - Tutorial Teknologi. Dioptimalkan untuk Performance, Accessibility, Best Practices, SEO, Mobile-Friendly, dan Google Indexing.
Author:       1001Tekno
Author URI:   https://1001tekno.com
Template:     generatepress
Version:      2.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  tekno-child
Tags:         technology, tutorial, blog, child-theme
*/

/* ==========================================================================
   CSS CUSTOM PROPERTIES (DESIGN TOKENS)
   ========================================================================== */
:root {
  --color-primary:        #0066FF;
  --color-primary-dark:   #0047CC;
  --color-primary-light:  #E8F0FF;
  --color-accent:         #00C896;
  --color-text-primary:   #0F172A;
  --color-text-secondary: #475569;
  --color-text-muted:     #94A3B8;
  --color-text-inverse:   #FFFFFF;
  --color-bg-primary:     #FFFFFF;
  --color-bg-secondary:   #F8FAFC;
  --color-bg-code:        #0F172A;
  --color-border:         #E2E8F0;
  --color-border-focus:   #0066FF;
  --color-success:        #10B981;
  --color-warning:        #F59E0B;
  --color-danger:         #EF4444;
  --color-info:           #3B82F6;
  --font-sans:   'Plus Jakarta Sans', 'Segoe UI', system-ui, sans-serif;
  --font-mono:   'JetBrains Mono', 'Fira Code', monospace;
  --font-display: 'Plus Jakarta Sans', sans-serif;
  --text-xs: 0.75rem; --text-sm: 0.875rem; --text-base: 1rem;
  --text-lg: 1.125rem; --text-xl: 1.25rem; --text-2xl: 1.5rem;
  --text-3xl: 1.875rem; --text-4xl: 2.25rem;
  --line-height-tight: 1.25; --line-height-snug: 1.375;
  --line-height-normal: 1.6; --line-height-relaxed: 1.75;
  --font-weight-regular: 400; --font-weight-medium: 500;
  --font-weight-semibold: 600; --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem;
  --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem;
  --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem;
  --space-16: 4rem; --space-20: 5rem;
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px;
  --radius-xl: 16px; --radius-full: 9999px;
  --shadow-sm:  0 2px 4px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --shadow-md:  0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);
  --shadow-lg:  0 10px 30px rgba(0,0,0,.10),0 4px 8px rgba(0,0,0,.05);
  --shadow-focus: 0 0 0 3px rgba(0,102,255,.25);
  --transition-fast: 150ms ease; --transition-base: 250ms ease;
  --container-content: 780px;
}

/* BASE */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--line-height-normal);
  color: var(--color-text-primary);
  background-color: var(--color-bg-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img,video { max-width: 100%; height: auto; display: block; }

/* SKIP LINK - Accessibility */
.skip-link {
  position: absolute;
  top: -100%; left: var(--space-4);
  z-index: 9999;
  padding: var(--space-3) var(--space-6);
  background: var(--color-primary);
  color: var(--color-text-inverse);
  font-weight: var(--font-weight-semibold);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  text-decoration: none;
  transition: top var(--transition-fast);
}
.skip-link:focus { top: 0; outline: 3px solid var(--color-primary-dark); outline-offset: 2px; }

/* FOCUS STYLES - WCAG 2.1 AA */
:focus-visible { outline: 3px solid var(--color-border-focus); outline-offset: 2px; border-radius: var(--radius-sm); }
:focus:not(:focus-visible) { outline: none; }

/* TYPOGRAPHY */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-display);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
  margin-top: 0; margin-bottom: var(--space-4);
}
h1 { font-size: var(--text-4xl); font-weight: var(--font-weight-extrabold); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }
h5,h6 { font-size: var(--text-lg); }
p { margin-top: 0; margin-bottom: var(--space-5); color: var(--color-text-secondary); }
a { color: var(--color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color var(--transition-fast); }
a:hover { color: var(--color-primary-dark); text-decoration-thickness: 2px; }
strong,b { font-weight: var(--font-weight-semibold); color: var(--color-text-primary); }

/* CODE BLOCKS */
code,kbd,samp {
  font-family: var(--font-mono); font-size: 0.9em;
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 0.15em 0.4em;
  color: var(--color-primary-dark);
}
pre {
  font-family: var(--font-mono); font-size: var(--text-sm);
  background: var(--color-bg-code); color: #E2E8F0;
  border-radius: var(--radius-lg);
  padding: var(--space-6); overflow-x: auto;
  margin-bottom: var(--space-8); line-height: 1.7;
  -webkit-overflow-scrolling: touch;
}
pre code,pre kbd,pre samp {
  font-size: inherit; background: none; border: none;
  padding: 0; color: inherit; border-radius: 0;
}
pre::-webkit-scrollbar { height: 6px; }
pre::-webkit-scrollbar-track { background: rgba(255,255,255,.05); border-radius: var(--radius-full); }
pre::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: var(--radius-full); }
pre::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.35); }

/* HEADER */
.site-header {
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border);
  position: sticky; top: 0; z-index: 100;
  transition: box-shadow var(--transition-base);
}
.site-header.scrolled { box-shadow: var(--shadow-md); }
.site-title { font-family: var(--font-display); font-size: var(--text-xl); font-weight: var(--font-weight-extrabold); color: var(--color-text-primary); line-height: 1; letter-spacing: -0.02em; }
.site-title span.tekno-blue { color: var(--color-primary); }
.main-navigation a { font-weight: var(--font-weight-medium); font-size: var(--text-sm); color: var(--color-text-secondary); text-decoration: none; padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); transition: color var(--transition-fast),background var(--transition-fast); }
.main-navigation a:hover,.main-navigation .current-menu-item > a { color: var(--color-primary); background: var(--color-primary-light); }

/* POST CARDS */
.post-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); gap: var(--space-6); }
.post-card {
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  transition: box-shadow var(--transition-base),transform var(--transition-base);
  display: flex; flex-direction: column;
}
.post-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.post-card__image { aspect-ratio: 16/9; overflow: hidden; background: var(--color-bg-secondary); }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-base); }
.post-card:hover .post-card__image img { transform: scale(1.05); }
.post-card__body { padding: var(--space-5) var(--space-6); flex: 1; display: flex; flex-direction: column; }
.post-card__category { display: inline-block; font-size: var(--text-xs); font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-primary); text-decoration: none; margin-bottom: var(--space-3); }
.post-card__title { font-size: var(--text-lg); font-weight: var(--font-weight-bold); line-height: var(--line-height-snug); color: var(--color-text-primary); margin-bottom: var(--space-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.post-card__title a { color: inherit; text-decoration: none; }
.post-card__title a:hover { color: var(--color-primary); }
.post-card__excerpt { font-size: var(--text-sm); color: var(--color-text-muted); line-height: var(--line-height-relaxed); margin-bottom: var(--space-4); flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-card__footer { display: flex; align-items: center; justify-content: space-between; padding-top: var(--space-4); border-top: 1px solid var(--color-border); font-size: var(--text-xs); color: var(--color-text-muted); }

/* ENTRY CONTENT */
.entry-title { font-size: clamp(var(--text-2xl),4vw,var(--text-4xl)); font-weight: var(--font-weight-extrabold); line-height: 1.2; letter-spacing: -0.02em; margin-bottom: var(--space-4); }
.entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); font-size: var(--text-sm); color: var(--color-text-muted); }
.entry-meta a { color: var(--color-text-muted); text-decoration: none; font-weight: var(--font-weight-medium); }
.entry-meta a:hover { color: var(--color-primary); }
.reading-time { display: inline-flex; align-items: center; gap: var(--space-1); background: var(--color-primary-light); color: var(--color-primary-dark); padding: var(--space-1) var(--space-3); border-radius: var(--radius-full); font-size: var(--text-xs); font-weight: var(--font-weight-semibold); }
.entry-content { font-size: var(--text-lg); line-height: var(--line-height-relaxed); color: var(--color-text-secondary);  }
.entry-content > * + * { margin-top: var(--space-6); }
.entry-content h2 { margin-top: var(--space-12); padding-top: var(--space-8); border-top: 2px solid var(--color-border); font-size: var(--text-2xl); scroll-margin-top: 80px; }
.entry-content h3 { margin-top: var(--space-8); font-size: var(--text-xl); scroll-margin-top: 80px; }
.entry-content ul,
.entry-content ol { padding-left: var(--space-6); margin-bottom: var(--space-6); }
.entry-content li { margin-bottom: var(--space-2); }
.entry-content ul li { list-style-type: none; position: relative; padding-left: var(--space-2); }
.entry-content ul li::before { content: ''; position: absolute; left: calc(-1 * var(--space-4)); top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--color-primary); }
.post-thumbnail { margin-bottom: var(--space-8); border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-lg); }
.post-thumbnail img { width: 100%; height: auto; transition: transform var(--transition-base); }

/* CALLOUTS */
.callout { border-radius: var(--radius-lg); padding: var(--space-5) var(--space-6); margin-bottom: var(--space-6); border-left: 4px solid; font-size: var(--text-base); }
.callout-info { background: #EFF6FF; border-color: var(--color-info); color: #1E40AF; }
.callout-warning { background: #FFFBEB; border-color: var(--color-warning); color: #92400E; }
.callout-danger { background: #FEF2F2; border-color: var(--color-danger); color: #991B1B; }
.callout-success { background: #ECFDF5; border-color: var(--color-success); color: #065F46; }
.callout-title { font-weight: var(--font-weight-bold); margin-bottom: var(--space-2); display: flex; align-items: center; gap: var(--space-2); }

/* TABLE OF CONTENTS */
.toc-wrapper { background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-6); margin-bottom: var(--space-8); position: relative; }
.toc-wrapper::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg,var(--color-primary),var(--color-accent)); border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
.toc-title { font-size: var(--text-base); font-weight: var(--font-weight-bold); color: var(--color-text-primary); margin-bottom: var(--space-4); }
.toc-list { list-style: none; padding: 0; margin: 0; counter-reset: toc-counter; }
.toc-list li { counter-increment: toc-counter; margin-bottom: var(--space-2); }
.toc-list li::before { display: none; }
.toc-list a { display: flex; align-items: flex-start; gap: var(--space-3); text-decoration: none; color: var(--color-text-secondary); font-size: var(--text-sm); font-weight: var(--font-weight-medium); padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); transition: all var(--transition-fast); }
.toc-list a::before { content: counter(toc-counter,decimal-leading-zero); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-primary); font-weight: var(--font-weight-bold); min-width: 24px; padding-top: 2px; }
.toc-list a:hover,.toc-list a.active { color: var(--color-primary); background: var(--color-primary-light); }

/* TAGS */
.tag-list { display: flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; padding: 0; margin: var(--space-6) 0; }
.tag-item a { display: inline-block; padding: var(--space-1) var(--space-3); background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: var(--radius-full); font-size: var(--text-xs); font-weight: var(--font-weight-medium); color: var(--color-text-secondary); text-decoration: none; transition: all var(--transition-fast); }
.tag-item a:hover { background: var(--color-primary-light); border-color: var(--color-primary); color: var(--color-primary-dark); }

/* SEARCH */
.search-form { display: flex; border: 2px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; transition: border-color var(--transition-fast),box-shadow var(--transition-fast); background: var(--color-bg-primary); }
.search-form:focus-within { border-color: var(--color-border-focus); box-shadow: var(--shadow-focus); }
.search-field { flex: 1; border: none; outline: none; padding: var(--space-3) var(--space-4); font-family: var(--font-sans); font-size: var(--text-sm); color: var(--color-text-primary); background: transparent; }
.search-field::placeholder { color: var(--color-text-muted); }
.search-submit { border: none; background: var(--color-primary); color: var(--color-text-inverse); padding: var(--space-3) var(--space-5); cursor: pointer; font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); transition: background var(--transition-fast); }
.search-submit:hover { background: var(--color-primary-dark); }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); padding: var(--space-3) var(--space-6); font-family: var(--font-sans); font-size: var(--text-sm); font-weight: var(--font-weight-semibold); line-height: 1; border-radius: var(--radius-md); cursor: pointer; transition: all var(--transition-fast); text-decoration: none; border: 2px solid transparent; }
.btn-primary { background: var(--color-primary); color: var(--color-text-inverse); border-color: var(--color-primary); }
.btn-primary:hover { background: var(--color-primary-dark); color: var(--color-text-inverse); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn-outline { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline:hover { background: var(--color-primary); color: var(--color-text-inverse); }

/* BREADCRUMBS */
.breadcrumb-nav { font-size: var(--text-sm); margin-bottom: var(--space-6); }
.breadcrumb-list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); list-style: none; padding: 0; margin: 0; }
.breadcrumb-list li { display: flex; align-items: center; gap: var(--space-1); color: var(--color-text-muted); }
.breadcrumb-list li::before { display: none; }
.breadcrumb-list a { color: var(--color-text-muted); text-decoration: none; transition: color var(--transition-fast); }
.breadcrumb-list a:hover { color: var(--color-primary); }
.breadcrumb-list li:not(:last-child)::after { content: '/'; opacity: 0.5; }
.breadcrumb-list li:last-child { color: var(--color-text-primary); font-weight: var(--font-weight-medium); }

/* PAGINATION */
/* PAGINATION */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-12);
}

.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: all var(--transition-fast);
  background: var(--color-bg-primary);
}

.pagination .page-numbers:hover {
  background: var(--color-primary-light);
  border-color: var(--color-primary);
  color: var(--color-primary);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.pagination .page-numbers.current {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-inverse);
  font-weight: var(--font-weight-bold);
  box-shadow: 0 2px 8px rgba(0,102,255,.35);
  cursor: default;
  pointer-events: none;
}

.pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
  color: var(--color-text-muted);
  pointer-events: none;
  min-width: 28px;
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next {
  min-width: auto;
  padding: 0 var(--space-4);
  gap: var(--space-1);
  font-weight: var(--font-weight-semibold);
  border-radius: var(--radius-md);
}

.pagination .page-numbers.prev:hover,
.pagination .page-numbers.next:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-inverse);
  transform: translateY(-1px);
}

/* SIDEBAR */
.sidebar-widget { background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-6); margin-bottom: var(--space-6); }
.widget-title { font-size: var(--text-base); font-weight: var(--font-weight-bold); color: var(--color-text-primary); margin-bottom: var(--space-4); padding-bottom: var(--space-3); border-bottom: 2px solid var(--color-primary); display: inline-block; }

/* FOOTER */
.site-footer { background: var(--color-text-primary); color: rgba(255,255,255,.7); padding: var(--space-16) 0 var(--space-8); margin-top: var(--space-20); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-10); margin-bottom: var(--space-12); }
.footer-widget h3 { color: var(--color-text-inverse); font-size: var(--text-sm); font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: var(--space-4); }
.footer-widget ul { list-style: none; padding: 0; margin: 0; }
.footer-widget li { margin-bottom: var(--space-2); }
.footer-widget li::before { display: none; }
.footer-widget a { color: rgba(255,255,255,.6); text-decoration: none; font-size: var(--text-sm); transition: color var(--transition-fast); }
.footer-widget a:hover { color: var(--color-text-inverse); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding-top: var(--space-6); display: flex; align-items: center; justify-content: space-between; font-size: var(--text-xs); color: rgba(255,255,255,.4); }

/* READING PROGRESS */
.reading-progress { position: fixed; top: 0; left: 0; width: 0%; height: 3px; background: linear-gradient(90deg,var(--color-primary),var(--color-accent)); z-index: 9999; transition: width .1s linear; }

/* BACK TO TOP */
.back-to-top { position: fixed; bottom: var(--space-6); right: var(--space-6); width: 44px; height: 44px; background: var(--color-primary); color: var(--color-text-inverse); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; cursor: pointer; border: none; box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transition: all var(--transition-base); z-index: 100; }
.back-to-top.visible { opacity: 1; visibility: visible; }
.back-to-top:hover { background: var(--color-primary-dark); transform: translateY(-2px); }

/* TABLE */
.entry-content table { width: 100%; border-collapse: collapse; margin-bottom: var(--space-8); font-size: var(--text-sm); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.entry-content th { background: var(--color-primary); color: var(--color-text-inverse); font-weight: var(--font-weight-semibold); padding: var(--space-3) var(--space-4); text-align: left; }
.entry-content td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-border); color: var(--color-text-secondary); }
.entry-content tr:nth-child(even) td { background: var(--color-bg-secondary); }
.entry-content tr:hover td { background: var(--color-primary-light); }

/* BLOCKQUOTE */
.entry-content blockquote { margin: var(--space-8) 0; padding: var(--space-5) var(--space-8); background: var(--color-bg-secondary); border-left: 4px solid var(--color-primary); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; position: relative; }
.entry-content blockquote::before { content: '"'; position: absolute; top: var(--space-2); left: var(--space-4); font-size: 4rem; line-height: 1; color: var(--color-primary); opacity: .2; font-family: Georgia, serif; }
.entry-content blockquote p { font-size: var(--text-lg); font-style: italic; color: var(--color-text-primary); margin: 0; }

/* FIGURE */
figure { margin: var(--space-8) 0; }
figure img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
figcaption { text-align: center; font-size: var(--text-sm); color: var(--color-text-muted); margin-top: var(--space-3); font-style: italic; }

/* RESPONSIVE VIDEO */
.video-embed { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); margin: var(--space-8) 0; }
.video-embed iframe,.video-embed embed,.video-embed object { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* DARK MODE */
@media (prefers-color-scheme: dark) {
  :root {
    --color-text-primary: #F1F5F9; --color-text-secondary: #CBD5E1;
    --color-text-muted: #64748B; --color-bg-primary: #0F172A;
    --color-bg-secondary: #1E293B; --color-border: #334155;
    --color-primary-light: rgba(0,102,255,.15);
  }
  .site-header { background: rgba(15,23,42,.95); }
  .post-card { background: var(--color-bg-secondary); }
}

/* PRINT */
@media print {
  .site-header,.site-footer,.sidebar,.back-to-top,.reading-progress,nav { display: none !important; }
  body { font-size: 12pt; color: #000; background: #fff; }
  a::after { content: " (" attr(href) ")"; font-size: .8em; color: #666; }
  pre,blockquote { page-break-inside: avoid; }
}

/* RESPONSIVE */
@media (max-width: 768px) {
  h1 { font-size: var(--text-2xl); }
  h2 { font-size: var(--text-xl); }
  .post-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .footer-bottom { flex-direction: column; gap: var(--space-3); text-align: center; }
  .entry-content { font-size: var(--text-base); }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* HIGH CONTRAST */
@media (forced-colors: active) {
  .btn-primary,.search-submit { border: 2px solid ButtonText; }
  :focus-visible { outline: 3px solid Highlight; }
}
