/*!
Theme Name: Potato Chat
Theme URI: https://potato.chat/
Author: Potato Chat Team
Author URI: https://potato.chat/
Description: Potato Chat — hacker terminal / Matrix style social platform for security researchers, tech geeks and anonymous communication. Built on _s starter.
Version: 1.0.0
Tested up to: 6.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: potatochat
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, dark, one-column

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Potato Chat theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Tokens (CSS variables — overridable via Customizer)
# Generic
# Base
# Layouts
# Components (wm- BEM, terminal UI)
# Plugins
# Utilities
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Tokens
--------------------------------------------------------------*/
:root {
	/* Brand palette (defaults; can be overridden by WP Customizer inline <style>) */
	--color-primary: #00FF9C;
	--color-secondary: #020617;
	--color-accent: #38BDF8;

	/* Surfaces */
	--color-bg: #020617;
	--color-surface: #0B1220;
	--color-surface-2: #111A2E;
	--color-border: #1E293B;
	--color-border-strong: #2DD4BF;

	/* Text */
	--color-text: #E2E8F0;
	--color-text-strong: #F8FAFC;
	--color-muted: #94A3B8;
	--color-danger: #F87171;
	--color-warn: #FBBF24;

	/* Typography */
	--font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--font-sans: 'Inter', 'PingFang SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
	--font-cn: 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', sans-serif;

	--fz-xs: 12px;
	--fz-sm: 14px;
	--fz-base: 16px;
	--fz-md: 18px;
	--fz-lg: 22px;
	--fz-xl: 28px;
	--fz-2xl: 36px;
	--fz-3xl: 48px;

	/* Spacing (8px rhythm) */
	--sp-1: 8px;
	--sp-2: 16px;
	--sp-3: 24px;
	--sp-4: 32px;
	--sp-5: 48px;
	--sp-6: 64px;
	--sp-7: 96px;

	/* Radius / shadows / glow */
	--r-sm: 6px;
	--r-md: 12px;
	--r-lg: 16px;
	--glow-primary: 0 0 0 1px rgba(0,255,156,.35), 0 0 24px rgba(0,255,156,.18);
	--glow-accent: 0 0 0 1px rgba(56,189,248,.35), 0 0 24px rgba(56,189,248,.18);

	/* Layout */
	--container: 1200px;
	--header-h: 64px;
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }

*, *::before, *::after { box-sizing: inherit; }
html { box-sizing: border-box; }

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
html { scroll-behavior: smooth; }

body,
button,
input,
select,
optgroup,
textarea {
	color: var(--color-text);
	background: var(--color-bg);
	font-family: var(--font-sans);
	font-size: var(--fz-base);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	background:
		radial-gradient(1200px 600px at 10% -10%, rgba(0,255,156,.08), transparent 60%),
		radial-gradient(1000px 500px at 100% 0%, rgba(56,189,248,.06), transparent 60%),
		var(--color-bg);
	min-height: 100vh;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
	color: var(--color-text-strong);
	font-family: var(--font-mono);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -.01em;
	margin: 0 0 var(--sp-2);
}
h1 { font-size: var(--fz-3xl); }
h2 { font-size: var(--fz-2xl); }
h3 { font-size: var(--fz-xl); }
h4 { font-size: var(--fz-lg); }
h5 { font-size: var(--fz-md); }
h6 { font-size: var(--fz-base); }

p { margin: 0 0 var(--sp-2); }
dfn, cite, em, i { font-style: italic; }
blockquote { margin: 0 var(--sp-2); border-left: 3px solid var(--color-primary); padding-left: var(--sp-2); color: var(--color-muted); }
address { margin: 0 0 var(--sp-2); }
pre, code, kbd, tt, var {
	font-family: var(--font-mono);
}
pre {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--r-md);
	color: var(--color-text);
	line-height: 1.55;
	margin: 0 0 var(--sp-3);
	max-width: 100%;
	overflow: auto;
	padding: var(--sp-2) var(--sp-3);
}
abbr, acronym { border-bottom: 1px dotted var(--color-muted); cursor: help; }
mark, ins { background: rgba(0,255,156,.18); color: var(--color-text-strong); text-decoration: none; }

ul, ol { margin: 0 0 var(--sp-2) var(--sp-3); padding: 0; }
li > ul, li > ol { margin-bottom: 0; margin-left: var(--sp-2); }
dt { font-weight: 700; }
dd { margin: 0 var(--sp-2) var(--sp-2); }

embed, iframe, object { max-width: 100%; }
img { height: auto; max-width: 100%; }
figure { margin: var(--sp-2) 0; }
table { margin: 0 0 var(--sp-2); width: 100%; border-collapse: collapse; }

a {
	color: var(--color-primary);
	text-decoration: none;
	transition: color 180ms ease, text-shadow 180ms ease;
}
a:visited { color: var(--color-primary); }
a:hover, a:focus, a:active { color: var(--color-text-strong); text-shadow: 0 0 12px rgba(0,255,156,.4); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.wm-btn:focus-visible,
.wm-nav__link:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
	border-radius: var(--r-sm);
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid var(--color-border);
	border-radius: var(--r-sm);
	background: var(--color-surface-2);
	color: var(--color-text);
	line-height: 1;
	padding: var(--sp-1) var(--sp-2);
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease;
}
button:hover { border-color: var(--color-primary); }

input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"], input[type="range"],
input[type="date"], input[type="month"], input[type="week"], input[type="time"],
input[type="datetime"], input[type="datetime-local"], input[type="color"],
textarea, select {
	color: var(--color-text);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--r-sm);
	padding: var(--sp-1) var(--sp-2);
	font-family: var(--font-sans);
	font-size: var(--fz-base);
}
textarea { width: 100%; min-height: 96px; }

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.wm-site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.wm-site__main {
	flex: 1 0 auto;
	display: block;
}

.wm-container {
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--sp-2);
}

/*--------------------------------------------------------------
# Components — Potato Chat terminal UI (BEM, wm- prefix)
--------------------------------------------------------------*/

/* Header / nav */
.wm-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(2, 6, 23, .82);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--color-border);
}
.wm-header__inner {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	min-height: var(--header-h);
}
.wm-brand {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-1);
	color: var(--color-text-strong);
	font-family: var(--font-mono);
	font-weight: 600;
}
.wm-brand__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--r-sm);
	background: var(--color-primary);
	color: var(--color-secondary);
	font-family: var(--font-mono);
	font-weight: 700;
	box-shadow: var(--glow-primary);
}
.wm-brand__logo img { max-height: 28px; width: auto; }
.wm-brand__name { font-size: var(--fz-md); letter-spacing: .02em; }
.wm-brand__name::before { content: '> '; color: var(--color-primary); }
.wm-brand__name::after { content: '_'; color: var(--color-primary); animation: wm-blink 1.05s steps(1) infinite; margin-left: 2px; }

@keyframes wm-blink { 50% { opacity: 0; } }

.wm-nav {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: var(--sp-2);
}
.wm-nav__list {
	display: flex;
	gap: var(--sp-1);
	list-style: none;
	margin: 0;
	padding: 0;
}
.wm-nav__link {
	display: inline-block;
	padding: 8px 12px;
	border-radius: var(--r-sm);
	color: var(--color-muted);
	font-family: var(--font-mono);
	font-size: var(--fz-sm);
	transition: color 180ms ease, background 180ms ease;
}
.wm-nav__link:hover, .wm-nav__link:focus { color: var(--color-text-strong); background: rgba(0,255,156,.06); }
.wm-nav__link.is-active { color: var(--color-primary); }

.wm-nav__toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 1px solid var(--color-border);
	color: var(--color-text);
	padding: 8px 12px;
	border-radius: var(--r-sm);
}
.wm-nav__toggle .wm-bar { width: 16px; height: 2px; background: currentColor; display: inline-block; }

@media (max-width: 767px) {
	.wm-nav__list {
		display: none;
		position: absolute;
		top: var(--header-h);
		right: 0;
		left: 0;
		flex-direction: column;
		gap: 0;
		padding: var(--sp-2);
		background: var(--color-bg);
		border-bottom: 1px solid var(--color-border);
	}
	.wm-nav.is-open .wm-nav__list { display: flex; }
	.wm-nav__list .wm-nav__link { width: 100%; }
}
@media (min-width: 768px) {
	.wm-nav__toggle { display: none; }
}

/* Buttons */
.wm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: var(--r-sm);
	font-family: var(--font-mono);
	font-size: var(--fz-sm);
	font-weight: 600;
	letter-spacing: .02em;
	cursor: pointer;
	border: 1px solid transparent;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
	text-decoration: none;
	white-space: nowrap;
}
.wm-btn--primary {
	background: var(--color-primary);
	color: var(--color-secondary);
	box-shadow: var(--glow-primary);
}
.wm-btn--primary:hover, .wm-btn--primary:focus { transform: translateY(-1px); color: var(--color-secondary); }
.wm-btn--ghost {
	background: transparent;
	color: var(--color-primary);
	border-color: var(--color-primary);
}
.wm-btn--ghost:hover { background: rgba(0,255,156,.08); }
.wm-btn--block { width: 100%; }

/* Hero / terminal window */
.wm-hero {
	padding: var(--sp-7) 0 var(--sp-6);
	position: relative;
}
.wm-hero__grid {
	display: grid;
	gap: var(--sp-4);
	grid-template-columns: 1fr;
	align-items: center;
}
@media (min-width: 1024px) {
	.wm-hero__grid { grid-template-columns: 1.05fr 1fr; gap: var(--sp-5); }
}
.wm-hero__eyebrow {
	display: inline-block;
	font-family: var(--font-mono);
	color: var(--color-primary);
	background: rgba(0,255,156,.08);
	border: 1px solid rgba(0,255,156,.25);
	padding: 4px 10px;
	border-radius: 999px;
	font-size: var(--fz-xs);
	margin-bottom: var(--sp-2);
}
.wm-hero__title {
	font-size: clamp(32px, 5vw, var(--fz-3xl));
	margin: 0 0 var(--sp-2);
}
.wm-hero__title em {
	font-style: normal;
	color: var(--color-primary);
	text-shadow: 0 0 18px rgba(0,255,156,.35);
}
.wm-hero__lede { color: var(--color-muted); max-width: 56ch; font-size: var(--fz-md); }
.wm-hero__actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-3); }

/* Terminal window */
.wm-term {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--r-md);
	overflow: hidden;
	box-shadow: var(--glow-primary);
	position: relative;
}
.wm-term__bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: var(--color-surface-2);
	border-bottom: 1px solid var(--color-border);
	font-family: var(--font-mono);
	font-size: var(--fz-xs);
	color: var(--color-muted);
}
.wm-term__dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.wm-term__dot--red { background: #ef4444; }
.wm-term__dot--yel { background: #f59e0b; }
.wm-term__dot--grn { background: #22c55e; }
.wm-term__title { margin-left: auto; }
.wm-term__body {
	font-family: var(--font-mono);
	font-size: var(--fz-sm);
	line-height: 1.7;
	color: var(--color-text);
	padding: var(--sp-3);
	min-height: 240px;
	white-space: pre-wrap;
	word-break: break-word;
}
.wm-term__line { display: block; }
.wm-term__line.is-prompt { color: var(--color-primary); }
.wm-term__line.is-info { color: var(--color-accent); }
.wm-term__line.is-warn { color: var(--color-warn); }
.wm-term__caret {
	display: inline-block;
	width: 8px;
	height: 1em;
	background: var(--color-primary);
	vertical-align: -.15em;
	margin-left: 4px;
	animation: wm-blink 1s steps(1) infinite;
}

/* Network canvas */
.wm-net {
	position: relative;
	display: block;
	width: 100%;
	height: 280px;
	border: 1px solid var(--color-border);
	border-radius: var(--r-md);
	overflow: hidden;
	background:
		radial-gradient(circle at 30% 30%, rgba(0,255,156,.18), transparent 40%),
		radial-gradient(circle at 70% 70%, rgba(56,189,248,.18), transparent 40%),
		var(--color-surface);
}
@media (min-width: 1024px) { .wm-net { height: 360px; } }
.wm-net__canvas { width: 100%; height: 100%; display: block; }
.wm-net__legend {
	position: absolute;
	left: 12px;
	bottom: 12px;
	display: flex;
	gap: var(--sp-2);
	font-family: var(--font-mono);
	font-size: var(--fz-xs);
	color: var(--color-muted);
}
.wm-net__legend span::before { content: '●'; color: var(--color-primary); margin-right: 4px; }
.wm-net__legend span.is-2::before { color: var(--color-accent); }

/* Section common */
.wm-section { padding: var(--sp-6) 0; }
.wm-section--tight { padding: var(--sp-5) 0; }
.wm-section__head { text-align: center; margin-bottom: var(--sp-4); }
.wm-section__eyebrow {
	display: inline-block;
	font-family: var(--font-mono);
	color: var(--color-primary);
	font-size: var(--fz-xs);
	letter-spacing: .15em;
	text-transform: uppercase;
	margin-bottom: var(--sp-1);
}
.wm-section__title { margin: 0 0 var(--sp-1); }
.wm-section__sub { color: var(--color-muted); max-width: 64ch; margin: 0 auto; }

/* Cards (protocols / architecture / security) */
.wm-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-2);
}
@media (min-width: 768px) { .wm-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .wm-cards { grid-template-columns: repeat(3, 1fr); } }

.wm-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--r-md);
	padding: var(--sp-3);
	display: flex;
	flex-direction: column;
	gap: var(--sp-1);
	transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.wm-card:hover { border-color: var(--color-border-strong); transform: translateY(-2px); box-shadow: var(--glow-primary); }
.wm-card__icon {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--r-sm);
	background: rgba(0,255,156,.1);
	color: var(--color-primary);
	margin-bottom: var(--sp-1);
}
.wm-card__title { font-family: var(--font-mono); font-size: var(--fz-md); margin: 0; color: var(--color-text-strong); }
.wm-card__desc { color: var(--color-muted); font-size: var(--fz-sm); margin: 0; }

/* Spec table (architecture) */
.wm-spec {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-2);
}
@media (min-width: 768px) { .wm-spec { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .wm-spec { grid-template-columns: repeat(3, 1fr); } }
.wm-spec__item {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-left: 3px solid var(--color-primary);
	border-radius: var(--r-md);
	padding: var(--sp-2) var(--sp-3);
}
.wm-spec__item dt { font-family: var(--font-mono); color: var(--color-primary); font-size: var(--fz-sm); margin: 0; }
.wm-spec__item dd { color: var(--color-muted); font-size: var(--fz-sm); margin: 4px 0 0; }

/* Downloads */
.wm-dl {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-2);
}
@media (min-width: 768px) { .wm-dl { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .wm-dl { grid-template-columns: repeat(4, 1fr); } }
.wm-dl__item {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--r-md);
	padding: var(--sp-3);
	display: flex;
	flex-direction: column;
	gap: var(--sp-1);
	transition: border-color 200ms ease, box-shadow 200ms ease;
}
.wm-dl__item:hover { border-color: var(--color-primary); box-shadow: var(--glow-primary); }
.wm-dl__platform { font-family: var(--font-mono); color: var(--color-accent); font-size: var(--fz-sm); }
.wm-dl__name { font-size: var(--fz-md); color: var(--color-text-strong); margin: 0; }
.wm-dl__meta { color: var(--color-muted); font-size: var(--fz-xs); }
.wm-dl__action { margin-top: auto; }

/* Community */
.wm-community {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-2);
}
@media (min-width: 768px) { .wm-community { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .wm-community { grid-template-columns: repeat(4, 1fr); } }
.wm-community__link {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	padding: var(--sp-2) var(--sp-3);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--r-md);
	color: var(--color-text);
	transition: border-color 180ms ease, transform 180ms ease;
}
.wm-community__link:hover { border-color: var(--color-primary); transform: translateY(-2px); color: var(--color-text-strong); }
.wm-community__icon { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r-sm); background: rgba(0,255,156,.1); color: var(--color-primary); }
.wm-community__label { font-family: var(--font-mono); font-size: var(--fz-sm); }
.wm-community__hint { color: var(--color-muted); font-size: var(--fz-xs); margin-left: auto; }

/* Footer */
.wm-footer {
	margin-top: var(--sp-6);
	padding: var(--sp-4) 0;
	border-top: 1px solid var(--color-border);
	background: var(--color-surface);
}
.wm-footer__grid {
	display: grid;
	gap: var(--sp-3);
	grid-template-columns: 1fr;
}
@media (min-width: 768px) { .wm-footer__grid { grid-template-columns: 2fr 1fr 1fr; } }
.wm-footer__col h4 { font-family: var(--font-mono); font-size: var(--fz-sm); color: var(--color-primary); margin: 0 0 var(--sp-1); }
.wm-footer__col ul { list-style: none; margin: 0; padding: 0; }
.wm-footer__col li { margin-bottom: 6px; }
.wm-footer__col a { color: var(--color-muted); font-size: var(--fz-sm); }
.wm-footer__col a:hover { color: var(--color-text-strong); }
.wm-footer__bottom {
	margin-top: var(--sp-3);
	padding-top: var(--sp-2);
	border-top: 1px solid var(--color-border);
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
	justify-content: space-between;
	color: var(--color-muted);
	font-size: var(--fz-xs);
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer { display: none; }
.infinity-end.neverending .site-footer { display: block; }

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
.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 {
	background-color: var(--color-surface);
	border-radius: var(--r-sm);
	box-shadow: 0 0 2px 2px rgba(0,255,156,.4);
	clip: auto !important;
	clip-path: none;
	color: var(--color-primary);
	display: block;
	font-size: var(--fz-sm);
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
#primary[tabindex="-1"]:focus { outline: 0; }

.alignleft { float: left; margin-right: var(--sp-2); margin-bottom: var(--sp-2); }
.alignright { float: right; margin-left: var(--sp-2); margin-bottom: var(--sp-2); }
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; margin-bottom: var(--sp-2); }

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