/*
Theme Name: AIZXS Lumen 智习室
Theme URI: https://aizxs.com
Author: WorkBuddy
Author URI: https://workbuddy.cn
Description: 为「AI 智习室」量身打造的高端苹果简约风格主题。完整支持 AI 工具库（ai_tool）、精品课程（course）与工具主题分类（tool-topic），内置深色模式、邮件订阅、玻璃拟态导航、全屏搜索与移动端底部标签栏。采用 Apple 官方色板与字号体系，大留白、弱阴影、细边框。
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aizxs-lumen
Tags: blog, portfolio, custom-colors, custom-menu, custom-logo, featured-images, translation-ready, responsive-layout, wide-blocks, block-styles, grid-layout
Requires PHP: 7.4
Requires at least: 5.9
Tested up to: 6.7
*/

/* ---------------------------------------------------------------
   基础重置（与主样式表共享设计令牌）
   --------------------------------------------------------------- */

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 88px;
}

body {
	margin: 0;
	font-family: var(--lm-font);
	font-size: var(--lm-fs-body);
	line-height: 1.65;
	color: var(--lm-ink);
	background: var(--lm-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img,
svg,
video { max-width: 100%; height: auto; display: block; }

a { color: var(--lm-blue); text-decoration: none; }
a:hover { text-decoration: none; }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .5em;
	color: var(--lm-ink);
	font-weight: 600;
	/* 原 line-height: 1.2 / letter-spacing: -.022em 是为 SF Pro 拉丁字形
	   设计的紧致参数。本站主体为中文，汉字字面高度更大、字身框更满，
	   沿用后多行标题会相互粘连。放宽到中文舒适区间（1.25 / -.012em）。 */
	line-height: 1.25;
	letter-spacing: -.012em;
}

h1 { font-size: var(--lm-fs-h1); }
h2 { font-size: var(--lm-fs-h2); }
h3 { font-size: var(--lm-fs-h3); }
h4 { font-size: 18px; }

p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

ul, ol { margin: 0 0 1.1em; padding-left: 1.35em; }
li { margin-bottom: .35em; }

hr {
	border: 0;
	border-top: 1px solid var(--lm-border);
	margin: 2.5em 0;
}

blockquote {
	margin: 1.8em 0;
	padding: .1em 0 .1em 1.4em;
	border-left: 3px solid var(--lm-blue);
	color: var(--lm-ink-2);
}

code, kbd, pre, samp { font-family: var(--lm-font-mono); font-size: .88em; }
code { background: var(--lm-fill); padding: .15em .42em; border-radius: 6px; }
pre {
	background: var(--lm-fill);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-r-md);
	padding: 1.1em 1.3em;
	overflow-x: auto;
}
pre code { background: none; padding: 0; }

table { width: 100%; border-collapse: collapse; margin: 1.6em 0; }
th, td { padding: .8em 1em; border-bottom: 1px solid var(--lm-border); text-align: left; }
th { font-weight: 600; color: var(--lm-ink); background: var(--lm-fill); }
th:first-child { border-top-left-radius: var(--lm-r-sm); }
th:last-child { border-top-right-radius: var(--lm-r-sm); }

input, textarea, select, button { font: inherit; color: inherit; }
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
textarea {
	width: 100%;
	padding: .8em 1.05em;
	border: 1px solid var(--lm-border-strong);
	border-radius: var(--lm-r-md);
	background: var(--lm-surface);
	color: var(--lm-ink);
	transition: border-color .2s, box-shadow .2s;
}
input:focus-visible,
textarea:focus-visible {
	outline: none;
	border-color: var(--lm-blue);
	box-shadow: 0 0 0 4px var(--lm-blue-ring);
}

:focus-visible {
	outline: 2px solid var(--lm-blue);
	outline-offset: 3px;
	border-radius: 6px;
}

/* WordPress 必需辅助类 */
.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute; width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--lm-surface); clip-path: none; color: var(--lm-ink);
	display: block; font-size: 1rem; height: auto; left: 10px; line-height: normal;
	padding: 14px 22px; text-decoration: none; top: 10px; width: auto; z-index: 100000;
	border-radius: var(--lm-r-md); box-shadow: var(--lm-shadow-lg);
}

.alignleft { float: left; margin: .4em 1.6em 1em 0; }
.alignright { float: right; margin: .4em 0 1em 1.6em; }
.aligncenter { display: block; margin: 0 auto 1.2em; }

.wp-caption { max-width: 100%; }
.wp-caption-text,
.gallery-caption {
	font-size: var(--lm-fs-xs);
	color: var(--lm-ink-3);
	text-align: center;
	margin-top: .55em;
}

.sticky { position: relative; }
.bypostauthor { display: block; }

/* Gutenberg 对齐 */
.alignwide { max-width: var(--lm-maxw-wide); margin-inline: auto; }
.alignfull { max-width: none; margin-inline: calc(50% - 50vw); width: 100vw; }

/* 区块基础样式 */
.wp-block-group,
.wp-block-columns { margin-bottom: 1.6em; }

.wp-block-quote {
	border-left: 3px solid var(--lm-blue);
	padding-left: 1.2em;
	margin: 1.8em 0;
}
.wp-block-quote cite {
	display: block; font-style: normal; font-size: var(--lm-fs-sm);
	color: var(--lm-ink-3); margin-top: .5em;
}

.wp-block-button__link {
	background: var(--lm-blue);
	color: #fff;
	padding: .82em 1.75em;
	border-radius: 980px;
	font-weight: 500;
	font-size: 17px;
	display: inline-block;
	transition: background .2s, transform .2s;
}
.wp-block-button__link:hover { background: var(--lm-blue-deep); transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--lm-blue);
	border: 1px solid var(--lm-blue);
}

.wp-block-table th { background: var(--lm-fill); }
.wp-block-separator { border: 0; border-top: 1px solid var(--lm-border); margin: 2.5em auto; }
.wp-block-image figcaption { font-size: var(--lm-fs-sm); color: var(--lm-ink-3); text-align: center; margin-top: .6em; }
.wp-block-embed figcaption { font-size: var(--lm-fs-sm); color: var(--lm-ink-3); text-align: center; margin-top: .6em; }

.has-lm-blue-color { color: var(--lm-blue); }
.has-lm-ink-3-color { color: var(--lm-ink-3); }

.admin-bar { scroll-padding-top: 120px; }
