		::selection { background: var(--accent); color: #0a0a0c; }

		:root {
			--bg: #0d1219; --surface: #0d1219; --surface-2: #18212d; --surface-glass: rgba(19, 31, 40, 0.1);
			--border: rgba(255,255,255,0.13); --border-2: rgba(255,255,255,0.19);
			--text: #eef2f7; --text-dim: #7a8593; --text-faint: #475160;
			--accent: #5b9dff; --accent-glow: rgba(91,157,255,0.18);
			--warm: rgba(91,157,255,0.09); --grid: rgba(91,157,255,0.05);
			--danger: #ff5c4d; --warn: #f5a623; --success: #4ade80;
			--female: #f0939d; --male: #6fa8ff;
			--c-glass: #000; --c-light: #fff; --c-dark: #000;
			--glass-reflex-dark: 2; --glass-reflex-light: .3; --saturation: 150%;
			--bg-wash-1: rgba(91,157,255,.08); --bg-wash-2: rgba(255,255,255,.04);
			--radius-sm: 10px; --radius-md: 12px; --radius-lg: 14px; --radius-xl: 16px;
			--ease: cubic-bezier(0.22, 1, 0.36, 1);
			--mono: 'JetBrains Mono', 'SF Mono', monospace;
			--serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
			--sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
			/* 兼容映射：保留原变量名，指向新设计 token */
			--primary-color: var(--accent);
			--primary-hover: #4a8aef;
			--secondary-color: var(--text-dim);
			--success-color: var(--success);
			--warning-color: var(--warn);
			--error-color: var(--danger);
			--background-color: var(--bg);
			--surface-color: var(--surface-2);
			--text-primary: var(--text);
			--text-secondary: var(--text-dim);
			--border-color: var(--border);
			--border-focus: var(--accent);
			--shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.3);
			--shadow-md: 0 4px 12px -2px rgba(0,0,0,0.4);
			--shadow-lg: 0 12px 32px -4px rgba(0,0,0,0.5);
		}

		._ {
			--bg: #eef1f5; --surface: #f8fafc; --surface-2: #eef2f6; --surface-glass: rgba(255, 255, 255, 0.1);
			--border: rgba(15,30,55,0.065); --border-2: rgba(15,30,55,0.105);
			--text: #1a2230; --text-dim: #5a6573; --text-faint: #a8b0bb;
			--accent: #2563d9; --accent-glow: rgba(37,99,217,0.14);
			--warm: rgba(37,99,217,0.09); --grid: rgba(37,99,217,0.05);
			--female: #e8688a; --male: #5b9dff;
			--c-glass: #fff; --c-light: #fff; --c-dark: #000;
			--glass-reflex-dark: .18; --glass-reflex-light: .32; --saturation: 100%;
			--bg-wash-1: transparent; --bg-wash-2: transparent;
			--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
			--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
			--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
		}

		* {
			margin: 0;
			padding: 0;
			box-sizing: border-box;
		}

		html,
		body {
			scrollbar-width: thin;
			scrollbar-color: var(--border-2) transparent;
		}

		html::-webkit-scrollbar,
		body::-webkit-scrollbar {
			width: 8px;
			height: 8px;
		}

		html::-webkit-scrollbar-track,
		body::-webkit-scrollbar-track { background: transparent; }
		html::-webkit-scrollbar-thumb,
		body::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 4px; }
		html::-webkit-scrollbar-thumb:hover,
		body::-webkit-scrollbar-thumb:hover { background: var(--text-faint); }

		body {
			font-family: var(--sans);
			background-color: var(--bg);
			color: var(--text);
			line-height: 1.6;
			min-height: 100vh;
			overflow-x: hidden;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
			transition: background 0.5s var(--ease), color 0.5s var(--ease);
			position: relative;
		}

		body::before {
			content: '';
			position: fixed;
			inset: 0;
			background:
				linear-gradient(135deg, var(--bg-wash-1), transparent 48%),
				linear-gradient(315deg, var(--bg-wash-2), transparent 55%),
				linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 100% 56px,
				linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 56px 100%;
			background-attachment: fixed;
			-webkit-mask-image: radial-gradient(ellipse 60% 60% at 50% 40%, #000 30%, transparent 75%);
			mask-image: radial-gradient(ellipse 60% 60% at 50% 40%, #000 30%, transparent 75%);
			pointer-events: none;
			z-index: 0;
		}

		body::after {
			content: '';
			position: fixed;
			inset: 0;
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' fill='rgba(0,0,0,0)' /%3E%3C/svg%3E");
			opacity: 0.008;
			pointer-events: none;
			z-index: 1;
			mix-blend-mode: overlay;
		}

		._::after { display: none; }

		/* ===== 网格线随机流光（移植自 tts.php） ===== */
		.a { position: fixed; inset: 0; pointer-events: none; z-index: 0;
			-webkit-mask-image: radial-gradient(ellipse 60% 60% at 50% 40%, #000 30%, transparent 75%);
			mask-image: radial-gradient(ellipse 60% 60% at 50% 40%, #000 30%, transparent 75%);
		}
		.a i { position: absolute; opacity: 0; }
		.a i.b {
			left: 0; right: 0; height: 1px;
			background: linear-gradient(90deg, transparent 42.5%, var(--accent-glow) 47%, var(--accent) 50%, var(--accent-glow) 53%, transparent 57.5%);
			background-size: 200% 100%; background-repeat: no-repeat;
			animation: c 10s linear infinite;
		}
		.a i.d {
			top: 0; bottom: 0; width: 1px;
			background: linear-gradient(180deg, transparent 42.5%, var(--accent-glow) 47%, var(--accent) 50%, var(--accent-glow) 53%, transparent 57.5%);
			background-size: 100% 200%; background-repeat: no-repeat;
			animation: e 10s linear infinite;
		}
		.a i.b { top: 168px; animation-delay: 0s; }
		.a i.d { left: 168px; animation-delay: 1s; }
		/* JS 会在每轮动画结束后随机重设位置，实现非固定流光 */
		@keyframes c {
			0%   { background-position: -60% 0; opacity: 0; }
			4%   { opacity: 0.55; }
			82%  { background-position: 160% 0; opacity: 0.55; }
			90%  { opacity: 0; }
			100% { background-position: -60% 0; opacity: 0; }
		}
		@keyframes e {
			0%   { background-position: 0 -60%; opacity: 0; }
			4%   { opacity: 0.55; }
			82%  { background-position: 0 160%; opacity: 0.55; }
			90%  { opacity: 0; }
			100% { background-position: 0 -60%; opacity: 0; }
		}
		@media (prefers-reduced-motion: reduce) {
			.a i { animation: none; }
		}

		/* ===== 主题色模糊晕光（已移除） ===== */
		.f { display: none; }
		.f i {
			position: absolute; border-radius: 50%;
			filter: blur(90px); opacity: 0.2; will-change: transform;
			mix-blend-mode: screen;
		}
		.f i:nth-child(1) {
			width: 560px; height: 560px; top: -14%; left: -10%;
			background: radial-gradient(circle, var(--accent), transparent 68%);
			animation: g 32s ease-in-out infinite;
		}
		.f i:nth-child(2) {
			width: 480px; height: 480px; top: 40%; right: -12%;
			background: radial-gradient(circle, var(--accent), transparent 70%);
			opacity: 0.14;
			animation: h 38s ease-in-out infinite;
		}
		.f i:nth-child(3) {
			width: 420px; height: 420px; bottom: -10%; left: 30%;
			background: radial-gradient(circle, var(--accent), transparent 72%);
			opacity: 0.11;
			animation: i 28s ease-in-out infinite;
		}
		@keyframes g {
			0%,100% { transform: translate(0,0) scale(1); }
			33%     { transform: translate(70px,50px) scale(1.1); }
			66%     { transform: translate(-40px,80px) scale(0.95); }
		}
		@keyframes h {
			0%,100% { transform: translate(0,0) scale(1); }
			33%     { transform: translate(-60px,-50px) scale(0.9); }
			66%     { transform: translate(50px,-30px) scale(1.12); }
		}
		@keyframes i {
			0%,100% { transform: translate(0,0) scale(1); }
			40%     { transform: translate(90px,-60px) scale(1.08); }
			70%     { transform: translate(-50px,40px) scale(0.92); }
		}
		._ .f i { opacity: 0.18; }
		._ .f i:nth-child(2) { opacity: 0.12; }
		._ .f i:nth-child(3) { opacity: 0.10; }
		@media (prefers-reduced-motion: reduce) {
			.f i { animation: none; }
		}

		.j {
			position: relative;
			z-index: 2;
			max-width: 900px;
			margin: 0 auto;
			padding: 19px;
		}

		.k {
			position: relative; margin: 0 auto; padding: 19px 19px 0;
			display: flex; align-items: center; max-width: 900px;
			gap: 15px;
		}

		.l { flex: 1; font-family: var(--mono); font-weight: 600; font-size: 1.2rem; }

		.l .m, .n .m { color: var(--accent); }

		.o {
			position: relative;
			z-index: 1000;
		}

		.p {
			display: flex;
			align-items: center;
			gap: 5px;
			padding: 5px 13px;
			background: transparent;
			border: 1px solid var(--border);
			border-radius: var(--radius-md);
			cursor: pointer;
			font-size: 0.875rem;
			font-weight: 500;
			color: var(--text-dim);
			transition: all 0.25s var(--ease);
		}

		.p:hover {
			color: var(--accent);
			border-color: var(--accent);
		}

		.q {
			position: absolute;
			top: 100%;
			left: calc(50% - 55px);
			margin-top: 4px;
			background: var(--surface-2);
			backdrop-filter: blur(9px);
			-webkit-backdrop-filter: blur(9px);
			border: 1px solid transparent;
			border-radius: var(--radius-md);
			overflow: hidden;
			box-shadow: var(--shadow-lg);
			min-width: 110px;
			display: none;
		}

		.q.r {
			display: block;
		}

		.s {
			display: flex;
			align-items: center;
			gap: 5px;
			padding: 6px 13px;
			cursor: pointer;
			font-size: 0.875rem;
			color: var(--text-dim);
			transition: background-color 0.2s var(--ease);
		}

		.s:hover {
			background: var(--warm);
			color: var(--text-primary);
		}

		.s:first-child {
			border-radius: calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0;
		}

		.s:last-child {
			border-radius: 0 0 calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px);
		}

		.s.t {
			background: var(--accent);
			color: #fff;
		}

		.u {
			width: 34px; height: 34px; display: grid; place-items: center;
			border: 1px solid var(--border); border-radius: 50%; background: transparent;
			color: var(--text); cursor: pointer; transition: all .35s var(--ease);
			flex-shrink: 0;
		}

		.u:hover { border-color: var(--accent); color: var(--accent); transform: rotate(22deg); }

		.u svg { width: 16px; height: 16px; }

		.u .v { display: none; }

		._ .u .w { display: none; }

		._ .u .v { display: block; }

		.x {
			padding: 0;
			margin-bottom: 30px;
		}

		.x .y {
			display: flex;
			justify-content: center;
			gap: 19px;
			flex-wrap: wrap;
		}

		.z { padding: 9px 0 40px; }

		.z h1 {
			font-family: "Times New Roman", Times, serif; font-weight: 400;
			font-size: clamp(2.8rem, 7.5vw, 4.8rem);
			line-height: .96; letter-spacing: -.02em;
			color: var(--text);
		}

		.z h1 em { font-style: italic; color: var(--accent); }

		.z .A { margin-top: 10px; font-size: .9rem; line-height: 1.5; color: var(--text-dim); }

		.B {
			display: flex;
			align-items: center;
			color: var(--text-secondary);
			font-size: 1rem;
			font-weight: 500;
		}

		.C {
			width: 20px;
			height: 20px;
			color: var(--success-color);
		}

		.D {
			--mode-pad: 5px;
			--mode-gap: 5px;
			--mode-slot: calc((100% - (var(--mode-pad) * 2) - var(--mode-gap)) / 2);
			--mode-glass: #bbbbbc;
			--mode-reflex-dark: 2;
			--mode-reflex-light: .3;
			position: relative;
			z-index: 1;
			display: flex;
			align-items: center;
			gap: var(--mode-gap);
			width: min(100%, 340px);
			height: 60px;
			padding: var(--mode-pad);
			margin: 0 auto 30px;
			border: none;
			border-radius: 99em;
			background-color: color-mix(in srgb, var(--mode-glass) 3%, transparent);
			backdrop-filter: blur(3px) saturate(150%);
			-webkit-backdrop-filter: blur(3px) saturate(150%);
			box-shadow:
				inset 0 0 0 1px color-mix(in srgb, var(--c-light) calc(var(--mode-reflex-light) * 10%), transparent),
				inset 1.8px 3px 0 -2px color-mix(in srgb, var(--c-light) calc(var(--mode-reflex-light) * 55%), transparent),
				inset -2px -2px 0 -2px color-mix(in srgb, var(--c-light) calc(var(--mode-reflex-light) * 45%), transparent),
				inset -2px -5px 1px -5px color-mix(in srgb, var(--c-light) calc(var(--mode-reflex-light) * 55%), transparent),
				inset -.3px -1px 4px 0 color-mix(in srgb, var(--c-dark) calc(var(--mode-reflex-dark) * 8%), transparent),
				inset -1.5px 2.5px 0 -2px color-mix(in srgb, var(--c-dark) calc(var(--mode-reflex-dark) * 12%), transparent),
				inset 0 3px 4px -2px color-mix(in srgb, var(--c-dark) calc(var(--mode-reflex-dark) * 12%), transparent),
				inset 1px -3px 1px -3px color-mix(in srgb, var(--c-dark) calc(var(--mode-reflex-dark) * 3%), transparent),
				0 1px 5px 0 color-mix(in srgb, var(--c-dark) calc(var(--mode-reflex-dark) * 6%), transparent),
				0 2px 5px 0 color-mix(in srgb, var(--c-dark) calc(var(--mode-reflex-dark) * 2%), transparent);
			transition: background-color 400ms cubic-bezier(1, 0, .4, 1),
				box-shadow 400ms cubic-bezier(1, 0, .4, 1);
		}

		._ .D {
			--mode-pad: 4px;
			--mode-reflex-dark: 1;
			--mode-reflex-light: .7;
			--mode-glass: #fff;
			border: 1px solid var(--border);
			box-shadow:
				inset 0 0 0 1px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 10%), transparent),
				inset 1.8px 3px 0 -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 90%), transparent),
				inset -2px -2px 0 -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 80%), transparent),
				inset -2px -4px 1px -3px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 60%), transparent),
				inset -0.3px -1px 2px -1px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 4%), transparent),
				inset -1.5px 2.5px 0 -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent),
				inset 0 3px 4px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent),
				inset 1px -3px 1px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 3%), transparent),
				0 1px 5px 0 color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 19%), transparent),
				0 3px 9px 0 color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 19%), transparent);
		}

		body:not(._) .D {
			backdrop-filter: blur(5px) saturate(150%);
			-webkit-backdrop-filter: blur(5px) saturate(150%);
		}

		.E {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 5px;
			flex: 1;
			min-width: 0;
			height: 50px;
			padding: 0 16px;
			border: none;
			background: transparent;
			color: color-mix(in srgb, var(--text) 48%, transparent);
			border-radius: 99em;
			font-size: 1rem;
			font-weight: 500;
			cursor: pointer;
			line-height: 1.2;
			text-align: center;
			transition: color 160ms;
			position: relative;
			z-index: 1;
		}

		.E:hover {
			color: var(--accent);
		}

		.E.t {
			background: transparent;
			color: var(--text);
			cursor: default;
		}

		.F {
			width: 24px;
			height: 24px;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
			transition: scale 200ms cubic-bezier(.5, 0, 0, 1);
		}

		.E:hover .F { scale: 1.2; }
		.E.t .F { scale: 1; }

		.D::after {
			content: '';
			position: absolute;
			left: var(--mode-pad);
			top: var(--mode-pad);
			display: block;
			box-sizing: border-box;
			width: var(--mode-slot);
			height: calc(100% - (var(--mode-pad) * 2));
			border-radius: 99em;
			background-color: color-mix(in srgb, var(--mode-glass) 28%, transparent);
			z-index: 0;
			pointer-events: none;
			box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c-light) calc(var(--mode-reflex-light) * 20%), transparent);
		}

		._ .D::after {
			border: 1px solid var(--border);
		}

		.D[data-mode="tts"]::after {
			translate: 0 0;
			left: var(--mode-pad);
			transform-origin: right;
			transition: background-color 400ms cubic-bezier(1, 0, .4, 1),
				box-shadow 400ms cubic-bezier(1, 0, .4, 1),
				left 400ms cubic-bezier(1, 0, .4, 1);
		}

		.D[data-mode="transcription"]::after {
			translate: 0 0;
			left: calc(var(--mode-pad) + var(--mode-slot) + var(--mode-gap));
			transform-origin: left;
			transition: background-color 400ms cubic-bezier(1, 0, .4, 1),
				box-shadow 400ms cubic-bezier(1, 0, .4, 1),
				left 400ms cubic-bezier(1, 0, .4, 1);
		}

		.D[data-animate="true"][data-mode="tts"]::after {
			animation: G 440ms ease;
		}

		.D[data-animate="true"][data-mode="transcription"]::after {
			animation: H 440ms ease;
		}

		@keyframes G {
			0%, 100% { scale: 1 1; }
			50% { scale: 1.1 1; }
		}

		@keyframes H {
			0%, 100% { scale: 1 1; }
			50% { scale: 1.2 1; }
		}

		.I {
			display: flex;
			gap: 5px;
			margin-bottom: 20px;
			background: var(--surface-2);
			padding: 5px;
			border-radius: var(--radius-lg);
			border: 1px solid var(--border);
		}

		.J {
			flex: 1;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			padding: 14px 20px;
			border: none;
			background: transparent;
			color: var(--text-dim);
			border-radius: var(--radius-md);
			font-size: 0.9rem;
			font-weight: 500;
			cursor: pointer;
			transition: all 0.3s var(--ease);
			position: relative;
		}

		.J:hover {
			color: var(--accent);
			background: var(--warm);
		}

		.J.t {
			background: var(--accent);
			color: #fff;
			box-shadow: var(--shadow-sm);
		}

		.J .K {
			width: 20px;
			height: 20px;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 6px;
			background: rgba(255, 255, 255, 0.15);
			font-size: 0.875rem;
		}

		.J:not(.t) .K {
			background: var(--warm);
		}

		.L {
			background: var(--surface-glass); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px);
			border: 1px solid var(--border); border-radius: var(--radius-md);
			padding: 15px; transition: border-color .3s var(--ease);
			margin-bottom: 24px;
			backdrop-filter: blur(9px);
			-webkit-backdrop-filter: blur(9px);
		}

		.L:focus-within { border-color: var(--accent); box-shadow: 0 9px 19px var(--accent-glow); }

		.M { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }

		.N {
			font-family: var(--mono); font-size: .8rem; font-weight: 500;
			text-transform: uppercase; color: var(--text-dim);
			display: inline-flex; align-items: center; gap: 7px; letter-spacing: 0.04em;
		}

		.N svg { width: 14px; height: 14px; color: var(--text-faint); flex-shrink: 0; }

		.O { font-family: var(--mono); font-size: .8rem; color: var(--text-faint); }

		.P {
			margin-bottom: 24px;
		}

		.Q {
			display: block;
			margin-bottom: 8px;
			font-family: var(--mono);
			font-weight: 500;
			text-transform: uppercase;
			color: var(--text-dim);
			font-size: 0.8rem;
			letter-spacing: 0.04em;
		}

		.R, .S, .T {
			width: 100%;
			padding: 12px 16px;
			border: 1px solid var(--border);
			border-radius: var(--radius-sm);
			font-size: 16px;
			color: var(--text);
			background: var(--surface-2);
			transition: border-color 0.25s var(--ease);
		}

		.R:focus, .S:focus, .T:focus {
			outline: none;
			border-color: var(--border-focus);
			box-shadow: 0 0 0 3px var(--accent-glow);
		}

		.T {
			width: 100%; min-height: 130px; border: none; background: transparent;
			color: var(--text); font-family: var(--sans); font-size: 1rem;
			letter-spacing: .08em; line-height: 1.6;
			resize: vertical; outline: none; padding: 0;
			scrollbar-width: thin;
			scrollbar-color: var(--border-2) transparent;
		}

		.T:focus { outline: none; box-shadow: none; }

		.T::-webkit-scrollbar { width: 3px; }

		.T::-webkit-scrollbar-track { background: transparent; }

		.T::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 2px; }

		.T::-webkit-scrollbar-thumb:hover { background: var(--text-faint); }

		.T::placeholder { color: var(--text-faint); }

		.U { height: 2px; background: var(--border); border-radius: 1px; overflow: hidden; }

		.V {
			height: 100%; width: 0%; background: var(--accent); border-radius: 2px;
			transition: width .25s var(--ease);
		}

		.W {
			width: 100%; display: flex; align-items: center; justify-content: space-between;
			padding: 5px 15px; border: none;
			border-radius: var(--radius-sm); background: var(--surface-2); color: var(--text);
			font-family: var(--sans); font-size: .95rem; cursor: pointer;
			transition: all .25s var(--ease);
		}

		.W:hover { border-color: var(--border-2); }

		.W[aria-expanded="true"] { border-color: var(--accent); }

		.X { display: flex; align-items: center; gap: 10px; }

		.Y { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }

		.Z { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; background: var(--text-faint); display: inline-block; }

		.Z.__ { background: var(--female); }

		.Z.-_ { background: var(--male); }

		.a_ { width: 14px; height: 14px; transition: transform .3s var(--ease); color: var(--text-dim); flex-shrink: 0; }

		.W[aria-expanded="true"] .a_ { transform: rotate(180deg); color: var(--accent); }

		.b_ {
			margin-top: 10px; border: 1px solid var(--border);
			border-radius: var(--radius-sm); background: var(--surface-2); overflow: hidden;
			animation: c_ .25s var(--ease); transform-origin: top;
		}

		@keyframes c_ { from { opacity:0; transform:translateY(-6px) scaleY(.96);} to { opacity:1; transform:translateY(0) scaleY(1);} }

		.d_ { padding: 13px; }

		.d_ input {
			width: 100%; padding: 10px 13px; border: 1px solid var(--border);
			border-radius: 8px; background: var(--surface); color: var(--text);
			font-family: var(--sans); font-size: .9rem; outline: none; transition: border-color .2s;
		}

		.d_ input:focus { border-color: var(--accent); }

		.e_ {
			max-height: 380px;
			overflow-y: auto;
			padding: 0 13px 13px 13px;
			scrollbar-width: thin;
			scrollbar-color: var(--border-2) transparent;
		}

		.e_::-webkit-scrollbar { width: 8px; }
		.e_::-webkit-scrollbar-track { background: transparent; }
		.e_::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 4px; }

		.f_ {
			font-family: var(--mono); font-size: .78rem;
			text-transform: uppercase; color: var(--text-faint); padding: 12px 4px 4px;
		}

		.g_ {
			display: flex; flex-wrap: wrap; gap: 10px; padding: 5px 0 9px;
		}

		.h_ {
			width: 66px; display: flex; flex-direction: column; align-items: center; gap: 5px;
			padding: 8px 5px; border-radius: 10px; cursor: pointer; transition: background .15s;
		}

		.h_:hover { background: var(--surface); }

		.h_.t { background: var(--accent-glow); }

		.h_.t .i_ { color: var(--accent); }

		.j_ {
			width: 50px; height: 50px; border-radius: 50%; object-fit: cover;
			border: 2px solid transparent; transition: border-color .2s;
		}

		.h_.t .j_ { border-color: var(--accent); }

		.i_ { font-size: .9rem; font-weight: 500; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 56px; }

		.k_ { padding: 18px; text-align: center; color: var(--text-faint); font-size: .85rem; }

		.l_ { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }

		.m_ { display: flex; flex-direction: column; gap: 3px; }

		.n_ { display: flex; justify-content: space-between; align-items: baseline; }

		.o_ { font-size: .85rem; color: var(--text-dim); }

		.p_ { font-family: var(--mono); font-size: .85rem; font-weight: 500; color: var(--accent); }

		input[type="range"] {
			-webkit-appearance: none; appearance: none;
			width: 100%; height: 14px; background: transparent; cursor: pointer;
		}

		input[type="range"]::-webkit-slider-runnable-track { height: 2px; background: var(--border-2); border-radius: 2px; }

		input[type="range"]::-moz-range-track { height: 2px; background: var(--border-2); border-radius: 2px; }

		input[type="range"]::-webkit-slider-thumb {
			-webkit-appearance: none; width: 14px; height: 14px; margin-top: -6px;
			border-radius: 50%; background: var(--surface); border: 2px solid var(--accent);
			box-shadow: 0 0 0 0 var(--accent-glow); transition: box-shadow .22s, transform .22s;
		}

		input[type="range"]:hover::-webkit-slider-thumb { box-shadow: 0 0 0 6px var(--accent-glow); transform: scale(1.12); }

		input[type="range"]::-moz-range-thumb {
			width: 14px; height: 14px; border-radius: 50%;
			background: var(--surface); border: 2px solid var(--accent);
		}

		.q_ { display: flex; justify-content: space-between; padding: 0 7px; pointer-events: none; user-select: none; margin-top: 2px; }

		.r_ { width: 1px; height: 4px; background: var(--text-faint); opacity: .35; }

		.r_.s_ { height: 7px; opacity: .6; }

		.t_ { background: none; border: none; color: var(--text-dim); font-family: var(--mono); font-size: .8rem; cursor: pointer; transition: color .2s; }

		.t_:hover { color: var(--accent); }

		.u_ {
			display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto;
			padding-bottom: 2px;
		}

		.u_::-webkit-scrollbar { height: 3px; }

		.u_::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 2px; }

		.v_ { flex-wrap: wrap; }

		.w_ {
			padding: 3px 10px;
			border-radius: 100px;
			border: 1px solid var(--border);
			background: transparent;
			color: var(--text-dim);
			font-family: var(--mono);
			font-size: .85rem;
			font-weight: 600;
			cursor: pointer;
			white-space: nowrap;
			min-width: 34px;
			transition: all .2s var(--ease);
		}

		.w_:hover { border-color: var(--accent); color: var(--accent); }

		.w_.t {
			background: var(--accent);
			border-color: var(--accent);
			color: #0a0a0c;
			font-weight: 600;
		}

		._ .w_.t { color: #fbf9f4; }

		.x_ {
			display: grid; grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); gap: 8px;
		}

		.y_ {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
			gap: 20px;
			margin-bottom: 32px;
		}

		.z_ {
			position: relative; padding: 14px 19px; border: none;
			border-radius: var(--radius-md); background: var(--accent); color: #ffffff;
			font-family: var(--sans); font-size: 1.2rem; font-weight: 600;
			cursor: pointer; display: flex; align-items: center; justify-content: center;
			gap: 5px; overflow: hidden; width: 100%;
			transition: transform .25s var(--ease), box-shadow .3s var(--ease);
		}

		.z_:hover:not(:disabled) { transform: translateY(-3px); box-shadow: 0 9px 19px var(--accent-glow); }

		.z_:active:not(:disabled) { transform: translateY(0); }

		.z_:disabled { opacity: .75; cursor: wait; }

		.A_ { transition: transform .3s var(--ease); }

		.z_:hover:not(:disabled) .A_ { transform: translateX(5px); }

		.z_.B_ .A_ {
			animation: C_ 1s var(--ease) infinite;
		}

		@keyframes C_ {
			0%, 100% { transform: translateX(0); }
			50% { transform: translateX(6px); }
		}

		@media (prefers-reduced-motion: reduce) {
			.z_.B_ .A_ { animation: none; }
		}

		.D_ { display: inline-flex; gap: 3px; align-items: flex-end; height: 14px; }

		.D_ i {
			width: 3px; height: 100%; background: currentColor; border-radius: 2px;
			transform-origin: bottom; animation: E_ .9s var(--ease) infinite;
		}

		.D_ i:nth-child(2){animation-delay:.15s}.D_ i:nth-child(3){animation-delay:.3s}.D_ i:nth-child(4){animation-delay:.45s}

		@keyframes E_ { 0%,100% { height: 20%; } 50% { height: 100%; } }

		.F_ {
			width: 100%;
		}

		.G_ {
			border: 2px dashed var(--border);
			border-radius: var(--radius-lg);
			padding: 49px 19px;
			text-align: center;
			cursor: pointer;
			transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
			background: var(--surface-glass);
			backdrop-filter: blur(9px);
			-webkit-backdrop-filter: blur(9px);
			position: relative;
			overflow: hidden;
		}

		.G_::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: var(--warm);
			opacity: 0;
			transition: opacity 0.3s ease;
		}

		.G_:hover::before,
		.G_.H_::before {
			opacity: 0.35;
		}

		.G_:hover,
		.G_.H_ {
			border-color: var(--primary-color);
			transform: translateY(-3px);
			box-shadow: 0 8px 25px var(--accent-glow);
		}

		.I_ {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 12px;
			position: relative;
			z-index: 1;
		}

		.J_ {
			width: 64px;
			height: 64px;
			display: flex;
			align-items: center;
			justify-content: center;
			background: var(--accent);
			border-radius: var(--radius-lg);
			color: white;
			margin-bottom: 8px;
			box-shadow: var(--shadow-md);
			position: relative;
		}

		.K_ {
			font-size: 1.1rem;
			font-weight: 600;
			color: var(--text-dim);
			margin: 0;
			line-height: 1.4;
		}

		.L_ {
			font-size: 0.875rem;
			color: var(--text-secondary);
			margin: 0;
			padding: 8px 16px;
			background: rgba(100, 116, 139, 0.1);
			border-radius: var(--radius-sm);
		}

		.M_ {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 15px;
			background: var(--surface-2);
			border: 1px solid var(--border);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-sm);
			transition: all 0.2s ease;
		}

		.M_:hover {
			transform: translateY(-1px);
			box-shadow: var(--shadow-md);
		}

		.N_ {
			display: flex;
			flex-direction: column;
			gap: 6px;
			flex: 1;
		}

		.O_ {
			font-weight: 600;
			color: var(--text-primary);
			font-size: 0.95rem;
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.O_::before {
			content: '';
			width: 16px;
			height: 16px;
			background: var(--primary-color);
			border-radius: 3px;
			opacity: 0.8;
			flex-shrink: 0;
		}

		.P_ {
			font-size: 0.8rem;
			color: var(--text-secondary);
			background: rgba(100, 116, 139, 0.1);
			padding: 2px 8px;
			border-radius: 4px;
			display: inline-block;
			width: fit-content;
		}

		.Q_ {
			width: 30px;
			height: 30px;
			border: none;
			background: var(--error-color);
			color: white;
			border-radius: var(--radius-md);
			cursor: pointer;
			display: flex;
			justify-content: center;
			font-size: 1.4rem;
			transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
			font-weight: 500;
		}

		.Q_:hover {
			background: var(--danger);
			transform: scale(1.05);
			box-shadow: 0 4px 12px rgba(255, 92, 77, 0.3);
		}

		.R_ {
			position: fixed; inset: 0; z-index: 2000;
			background: rgba(5, 8, 13, 0.55);
			backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(13px);
			display: flex; align-items: center; justify-content: center;
			padding: 24px 12px 76px;
			animation: S_ .3s var(--ease);
		}

		.R_[hidden] { display: none; }

		@keyframes S_ { from { opacity: 0; } to { opacity: 1; } }

		body.T_ { position: fixed; width: 100%; }

		.U_ {
			-webkit-overflow-scrolling: touch;
			position: relative; z-index: 1; width: 100%; height: 100%;
			max-width: 560px; max-height: 80vh; margin: 0 auto;
			padding: 0;
			border: none; border-radius: var(--radius-lg);
			background: transparent; overflow-y: auto; overflow-x: hidden;
		}

		._ .U_ { background: transparent; }

		.V_ {
			--player-height: 460px;
			--player-frame-color: #46515f;
			--player-frame-gap: 6px;
			position: relative; width: 100%; max-width: 920px;
			height: min(var(--player-content-height, var(--player-height)), 560px, calc((100vw - 24px) * .65), calc(100dvh - 132px));
			container-type: size;
			/* The ring-to-panel gap must reveal the overlay, without a painted shadow. */
			background: transparent;
			animation: W_ .4s var(--ease);
		}
		.V_:has(.X_[hidden]) { --player-height: 240px; }
		.V_:has(.X_ [aria-expanded="true"]) { --player-height: 560px; }
		._ .V_ { --player-frame-color: #d7dce3; }
		@keyframes W_ { from { opacity:0; transform:translateY(16px) scale(.97);} to { opacity:1; transform:translateY(0) scale(1);} }

		@media (prefers-reduced-motion: reduce) {
			.V_, .R_ { animation: none; }
		}

		.Y_ {
			position: absolute; bottom: -50px; left: 50%; transform: translateX(-50%);
			width: 34px; height: 34px; border-radius: 50%;
			border: 1px solid var(--border-2); background: var(--surface);
			color: var(--text-dim); cursor: pointer;
			display: grid; place-items: center;
			transition: color .2s var(--ease), border-color .2s var(--ease), background-color .2s var(--ease);
		}

	.Y_:hover, .Y_:active {
		width: 34px; height: 34px; transform: translateX(-50%);
	}
	.Y_:hover { color: var(--accent); border-color: var(--accent); }
	.Y_ svg { width: 15px; height: 15px; transition: transform .2s var(--ease); }
	.Y_:hover svg { transform: rotate(90deg); }

		.Z_ {
			position: relative; padding: 2px 42px; z-index: 1;
			width: 100%; height: auto; max-height: none; margin: 0;
			overflow: visible; overscroll-behavior: contain;
			-webkit-overflow-scrolling: touch;
			scrollbar-width: thin; scrollbar-color: var(--border-2) transparent;
		}

		._a {
			margin-bottom: 13px; padding: 0;
			border: 1px solid var(--border); border-radius: var(--radius-sm);
			background: transparent; overflow: hidden;
		}

		.-a {
			display: flex; align-items: center; margin-bottom: 0;
			padding: 10px 13px;
			border-radius: var(--radius-sm) var(--radius-sm) 0 0;
			background: #0a0e14;
		}
		._ .-a { background: #fff; }

		.aa { flex: 1; display: flex; flex-direction: column; }

		.ba { font-family: var(--mono); font-weight: 400; font-size: 1.3rem; letter-spacing: .04em; line-height: 1; display: flex; align-items: center; }

		.ba em { font-style: normal; color: var(--accent); }

		.ca { font-family: var(--mono); font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint); margin-top: 6px; }

		.da { display: flex; gap: 13px; flex-shrink: 0; }

		.ea {
			display: inline-flex; align-items: center; justify-content: center;
			width: 20px; height: 20px; margin-right: 6px;
			vertical-align: middle; position: relative;
		}

		.ea svg { width: 100%; height: 100%; }

		.ea.fa svg { animation: ga 1.2s linear infinite; color: var(--accent); }

		.ea.ha::before {
			content: ''; position: absolute;
			width: 20px; height: 20px; border-radius: 50%;
			background: var(--accent-glow);
			animation: ia 1.5s ease-out infinite;
		}

		@keyframes ga { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

		@keyframes ia { 0% { transform: scale(0.8); opacity: 0.8; } 100% { transform: scale(2.2); opacity: 0; } }

		.ea.ja svg { color: var(--accent); }

		.ea.ka svg { color: var(--danger); }

		.la {
			display: grid; grid-template-columns: repeat(4, 1fr);
			margin-bottom: 0; padding: 10px 13px;
			border: none; border-radius: 0;
			background: var(--surface-2);
		}

		.ma { display: flex; flex-direction: column; min-width: 0; }

		.na { font-family: var(--mono); font-size: .8rem; letter-spacing: .13em; text-transform: uppercase; color: var(--text-faint); }

		.oa {
			color: var(--text); font-family: var(--mono); font-size: .9rem;
			overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
		}

		.pa {
			display: inline-flex; align-items: center; padding: 9px;
			border-radius: 100px; border: 1px solid var(--border);
			background: var(--surface-2); color: var(--text);
			font-family: var(--sans); font-size: .82rem; font-weight: 500;
			cursor: pointer; text-decoration: none;
			transition: all .22s var(--ease);
		}

		.pa svg { display: block; width: 15px; height: 15px; }

		.pa:hover { color: var(--accent); border-color: var(--accent); transform: translateY(-1px); }

		.pa.qa { opacity: .35; cursor: not-allowed; }

		.pa.qa:hover { color: var(--text); border-color: var(--border); transform: none; }

		.X_ {
			--snippet-height: 96px;
			--snippet-max-height: 420px;
			position: relative; height: var(--snippet-height); min-height: 84px;
			max-height: var(--snippet-max-height);
			width: calc(100% + 72px); margin: 0 -36px;
			padding: 0; border: none; border-radius: 0; background: transparent;
			container-type: size; overflow: visible;
			transition: height .7s var(--ease);
		}
		/* Exact dialog contour: the fixed strokes leave a real 6px transparent gap. */
		.X_::before, .X_::after, .ra {
			--curve:
				hline to calc(100% - 36cqh),
				curve to calc(100% - 17.5cqh - var(--edge) * .65) calc(14.5cqh + var(--edge) * .65)
					with calc(100% - 26.5cqh) var(--edge) / calc(100% - 21cqh - var(--edge) * .65) calc(6cqh + var(--edge)),
				curve to calc(100% - var(--edge)) 50%
					with calc(100% - 5cqh - var(--edge)) calc(19cqh + var(--edge)) / calc(100% - var(--edge)) 34%,
				curve to calc(100% - 17.5cqh - var(--edge) * .65) calc(83.5% - var(--edge) * .65)
					with calc(100% - var(--edge)) 67% / calc(100% - 5cqh - var(--edge)) calc(80% - var(--edge)),
				curve to calc(100% - 36cqh) calc(100% - var(--edge))
					with calc(100% - 21cqh - var(--edge) * .65) calc(94% - var(--edge)) / calc(100% - 26.5cqh) calc(100% - var(--edge)),
				hline to 36cqh,
				curve to calc(17.5cqh + var(--edge) * .65) calc(83.5% - var(--edge) * .65)
					with 26.5cqh calc(100% - var(--edge)) / calc(21cqh + var(--edge) * .65) calc(94% - var(--edge)),
				curve to var(--edge) 50%
					with calc(5cqh + var(--edge)) calc(80% - var(--edge)) / var(--edge) 67%,
				curve to calc(17.5cqh + var(--edge) * .65) calc(14.5cqh + var(--edge) * .65)
					with var(--edge) 34% / calc(5cqh + var(--edge)) calc(19cqh + var(--edge)),
				curve to 36cqh var(--edge)
					with calc(21cqh + var(--edge) * .65) calc(6cqh + var(--edge)) / 26.5cqh var(--edge);
			--cut-curve:
				hline to calc(100% - 36cqh),
				curve to calc(100% - 17.5cqh - var(--cut) * .65) calc(14.5cqh + var(--cut) * .65)
					with calc(100% - 26.5cqh) var(--cut) / calc(100% - 21cqh - var(--cut) * .65) calc(6cqh + var(--cut)),
				curve to calc(100% - var(--cut)) 50%
					with calc(100% - 5cqh - var(--cut)) calc(19cqh + var(--cut)) / calc(100% - var(--cut)) 34%,
				curve to calc(100% - 17.5cqh - var(--cut) * .65) calc(83.5% - var(--cut) * .65)
					with calc(100% - var(--cut)) 67% / calc(100% - 5cqh - var(--cut)) calc(80% - var(--cut)),
				curve to calc(100% - 36cqh) calc(100% - var(--cut))
					with calc(100% - 21cqh - var(--cut) * .65) calc(94% - var(--cut)) / calc(100% - 26.5cqh) calc(100% - var(--cut)),
				hline to 36cqh,
				curve to calc(17.5cqh + var(--cut) * .65) calc(83.5% - var(--cut) * .65)
					with 26.5cqh calc(100% - var(--cut)) / calc(21cqh + var(--cut) * .65) calc(94% - var(--cut)),
				curve to var(--cut) 50%
					with calc(5cqh + var(--cut)) calc(80% - var(--cut)) / var(--cut) 67%,
				curve to calc(17.5cqh + var(--cut) * .65) calc(14.5cqh + var(--cut) * .65)
					with var(--cut) 34% / calc(5cqh + var(--cut)) calc(19cqh + var(--cut)),
				curve to 36cqh var(--cut)
					with calc(21cqh + var(--cut) * .65) calc(6cqh + var(--cut)) / 26.5cqh var(--cut);
		}
		.X_::before, .X_::after {
			content: ''; position: absolute; inset: 0; pointer-events: none;
			background: var(--player-frame-color);
			clip-path: shape(evenodd from 36cqh var(--edge), var(--curve), close,
				move to 36cqh var(--cut), var(--cut-curve), close);
		}
		.X_::before { --edge: 0px; --cut: .5px; z-index: 0; }
		.X_::after { --edge: 6.5px; --cut: 7.5px; z-index: 1; }
		.ra {
			--edge: 7.5px;
			position: absolute; inset: 0; z-index: 2; box-sizing: border-box;
			padding: 20px 52px 24px; overflow: hidden; background: var(--surface-2);
			clip-path: shape(from 36cqh var(--edge), var(--curve), close);
		}
		.sa { position: relative; z-index: 4; min-width: 0; }
		.X_ .ta {
			position: absolute; z-index: 3; top: 50%; left: 0;
			width: 8px; aspect-ratio: 1;
			pointer-events: none; background: var(--player-frame-color);
			border-radius: 18%;
			transform: translate(-50%, -50%) scaleY(.65) rotate(45deg);
		}
		.X_ .ua { left: auto; right: 0; transform: translate(50%, -50%) scaleY(.65) rotate(45deg); }

		.va { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0; margin-bottom: 8px; }

	.wa { display: flex; align-items: center; gap: 13px; flex-shrink: 0; margin-left: auto; }
	.xa { display: inline-flex; align-items: center; gap: 4px; border: none; background: transparent; color: var(--text-dim); font-family: var(--mono); font-size: .8rem; cursor: pointer; text-decoration: none; transition: color .2s; }
	.xa svg { width: 15px; height: 15px; transition: transform .25s var(--ease); }
	.xa:hover { color: var(--accent); }

	.ya {
		font-size: 1rem; line-height: 1.6; color: var(--text-faint);
		max-height: 150px; overflow: hidden;
		transition: max-height .4s var(--ease); position: relative;
	}
	.ya.za { transition-duration: .7s; }
	.ya.Aa {
		max-height: 300px;
	}
	.ya.Ba {
		-webkit-overflow-scrolling: touch; overflow-y: auto;
		overscroll-behavior: contain; touch-action: pan-y;
		scrollbar-width: thin; scrollbar-color: var(--border-2) transparent;
	}
	.ya.Ba::-webkit-scrollbar { width: 3px; }
	.ya.Ba::-webkit-scrollbar-track { background: transparent; }
	.ya.Ba::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 2px; }
	.ya.Ba::-webkit-scrollbar-thumb:hover { background: var(--text-faint); }
	.ya::after {
		content: ''; position: absolute; inset: auto 0 0 0; height: 32px;
		background: linear-gradient(transparent, var(--surface-2)); pointer-events: none;
		opacity: 1; transition: opacity .25s var(--ease);
	}
	.ya.za::after { transition-duration: .4s; }
	.ya.Aa::after { opacity: 0; }
	@media (prefers-reduced-motion: reduce) {
		.X_, .ya, .ya::after { transition: none; }
	}
	.Ca {
		letter-spacing: .06em;
		transition: color .15s var(--ease), text-shadow .15s var(--ease);
	}
	.Ca:not(.t) + .Ca.t,
	.Ca.t:first-child {
		border-top-left-radius: 3px; border-bottom-left-radius: 3px; padding-left: 3px;
	}
	.Ca.t:has(+ .Ca:not(.t)),
	.Ca.t:last-child {
		border-top-right-radius: 3px; border-bottom-right-radius: 3px; padding-right: 3px;
	}
	.Ca.t:first-child:last-child { border-radius: 3px; padding: 2px 3px; }
	.Ca.t {
		color: #0a0e14; background: var(--accent);
		text-shadow: 0 0 8px var(--accent-glow); padding: 2px 0; margin: 0; border-radius: 0;
	}
	._ .Ca.t { color: #fff; background: var(--accent); }
	._ .O_ { color: #1a2230; }
	.Ca.Da { color: var(--text-dim); }

		.Ea { display: inline-flex; align-items: center; gap: 10px; padding: 0; margin: 0; border: none; background: transparent; border-radius: 0; flex: 0 1 auto; min-width: 0; }

		.Fa { font-family: var(--mono); font-size: .9rem; color: var(--text-dim); white-space: nowrap; margin-right: 2px; flex-shrink: 0; }

		.Ga {
			width: 26px; height: 26px; display: grid; place-items: center;
			border-radius: 50%; border: 1px solid var(--border); background: transparent;
			color: var(--text-dim); cursor: pointer; transition: all .22s var(--ease); flex-shrink: 0;
		}

		.Ga:hover { color: var(--accent); border-color: var(--accent); }

		.Ga svg { width: 16px; height: 16px; }

		.Ha {
			position: relative; width: 32px; height: 32px; flex-shrink: 0;
			border: none; border-radius: 50%; background: var(--accent); color: #0a0a0c;
			display: grid; place-items: center; cursor: pointer;
			transition: transform .22s var(--ease), box-shadow .3s var(--ease);
		}

		._ .Ha { color: #fbf9f4; }

		.Ha::before {
			content: ''; position: absolute; inset: -2px; border-radius: 50%;
			border: 1.5px solid var(--accent); opacity: 0; transform: scale(.9); pointer-events: none;
		}

		.Ha:hover { transform: scale(1.06); box-shadow: 0 0 14px var(--accent-glow); }

		.Ha:active:not(:disabled) { transform: scale(.95); }

		.Ha.Ia::before { opacity: .6; animation: Ja 1.4s ease-out infinite; }

		@keyframes Ja { 0% { transform: scale(.9); opacity: .65; } 100% { transform: scale(1.3); opacity: 0; } }

		.Ha svg { width: 24px; height: 24px; }

		/* 语音转录界面样式 */
		.Ka {
			margin: 0px auto;
			max-width: 900px;
			border-radius: var(--radius-xl);
		}

		.La {
			position: relative;
			padding: 49px 19px;
			text-align: center;
			background: var(--surface-glass);
			backdrop-filter: blur(9px);
			-webkit-backdrop-filter: blur(9px);
			border: 2px dashed var(--border);
			border-radius: var(--radius-lg);
			transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
			overflow: hidden;
			cursor: pointer;
		}

		.La::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: var(--warm);
			opacity: 0;
			transition: opacity 0.3s ease;
		}

		.La:hover::before,
		.La.H_::before {
			opacity: 0.35;
		}

		.La:hover,
		.La.H_ {
			border-color: var(--primary-color);
			box-shadow: 0 3px 14px var(--accent-glow);
			transform: translateY(-3px);
		}

		.Ma {
			display: flex;
			gap: 20px;
			margin-bottom: 16px;
		}

		.Na {
			display: flex;
			align-items: center;
		}

		.Oa {
			display: flex;
			align-items: center;
			gap: 8px;
			cursor: pointer;
			font-weight: 500;
			color: var(--text-secondary);
			transition: color 0.2s ease;
		}

		.Oa:hover {
			color: var(--text);
		}

		.Oa input[type="radio"] {
			width: 16px;
			height: 16px;
			border-radius: 50%;
			border: 2px solid var(--border-color);
			margin: 0;
			cursor: pointer;
			accent-color: var(--primary-color);
		}

		.Pa {
			margin-top: 30px;
			padding: 15px;
			background: var(--surface-glass);
			backdrop-filter: blur(9px);
			-webkit-backdrop-filter: blur(9px);
			border-radius: var(--radius-lg);
			border: 1px solid var(--border);
			box-shadow: var(--shadow-sm);
			display: none;
		}

		.Qa {
			width: 100%;
			margin-bottom: 16px;
			border-radius: var(--radius-md);
		}

		.Ra {
			color: var(--error-color);
			background: rgba(255, 92, 77, 0.1);
			border: 1px solid rgba(255, 92, 77, 0.3);
			padding: 16px;
			border-radius: var(--radius-md);
			margin-top: 16px;
			font-weight: 500;
		}

		.Sa {
			position: fixed;
			top: 30px;
			left: 50%;
			z-index: 9999;
			transform: translateX(-50%) translateY(-120px);
			padding: 10px 19px;
			border-radius: 100px;
			background: var(--surface);
			border: 1px solid var(--border-2);
			box-shadow: 0 14px 44px rgba(0,0,0,0.35);
			font-size: .9rem;
			font-weight: 500;
			transition: transform .4s var(--ease);
			display: flex;
			align-items: center;
			gap: 9px;
			white-space: nowrap;
		}

		.Sa.r { transform: translateX(-50%) translateY(0); }
		.Sa::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--text-dim); flex-shrink: 0; }
		.Sa.ja::before { background: var(--accent); box-shadow: 0 0 8px var(--accent); }
		.Sa.ka::before { background: var(--danger); }
		.Sa.Ta::before { background: var(--warn); }

		/* Match the solid toast surface used by tts.php. */
		.Sa { background: #0a0e14; border-color: rgba(255,255,255,0.19); }
		._ .Sa { background: #fff; border-color: rgba(15,30,55,0.19); }

		.Ua {
			text-align: center;
			padding: 32px 20px;
		}

		.Va {
			width: 40px;
			height: 40px;
			border: 3px solid var(--border-color);
			border-top: 3px solid var(--primary-color);
			border-radius: 50%;
			animation: ga 1s linear infinite;
			margin: 0 auto 16px;
		}

		.Wa {
			color: var(--text-secondary);
			font-weight: 500;
		}

		.Xa {
			background: var(--surface-2);
			color: var(--text-secondary);
			border: 1px solid var(--border);
			padding: 10px 13px;
			border-radius: 8px;
			cursor: pointer;
			text-decoration: none;
			display: inline-flex;
			align-items: center;
			gap: 9px;
			font-weight: 500;
			transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
		}

		.Xa:hover {
			background: var(--bg);
			border-color: var(--border-2);
			color: var(--text);
			transform: translateY(-1px);
		}

		.Xa:focus-visible {
			outline: 2px solid var(--accent);
			outline-offset: 2px;
		}

		.Ya {
			background: transparent;
			border-color: var(--accent);
			color: var(--accent);
		}

		.Ya:hover:not(:disabled) {
			background: var(--accent);
			border-color: var(--accent);
			color: #fff;
		}

		.Xa:disabled {
			opacity: .5;
			cursor: wait;
			transform: none;
			background: transparent;
			border-color: var(--border);
			color: var(--text-faint);
		}

		.Za {
			display: flex;
			gap: 13px;
			margin-top: 15px;
			flex-wrap: wrap;
		}

		.Za .Xa {
			flex: 1;
			justify-content: center;
			min-width: 140px;
			font-size: .9rem;
		}

		.n {
			margin-top: 30px; padding: 10px 0 30px; border-top: 1px solid var(--border);
			display: flex; justify-content: space-between;
			font-family: var(--mono); font-size: .75rem; color: var(--text-faint);
		}

		._c {
			margin-top: 30px; padding: 15px; border: 1px solid var(--border);
			display: grid; grid-template-columns: auto 1fr; gap: 10px;
			background: var(--surface-2); border-radius: 8px; font-size: .7rem;
		}

		._c strong { color: var(--accent); white-space: nowrap; }
		._c p { margin: 0; color: var(--text-secondary); }

		/* Liquid glass values copied from apple-liquid-glass-switcher. */
		.I,
		.L,
		.u,
		.p,
		.q,
		.G_,
		.La,
		.Pa,
		._c {
			border: 1px solid transparent;
			background: color-mix(in srgb, var(--c-glass) 9%, transparent);
			backdrop-filter: blur(5px) saturate(var(--saturation));
			-webkit-backdrop-filter: blur(5px) saturate(var(--saturation));
			box-shadow: inset 0 0 0 1px
				color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 10%), transparent),
				inset 1.8px 3px 0 -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 90%), transparent),
				inset -2px -2px 0 -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 80%), transparent),
				inset -2px -4px 1px -3px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 60%), transparent),
				inset -0.3px -1px 2px -1px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 4%), transparent),
				inset -1.5px 2.5px 0 -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent),
				inset 0 3px 4px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent),
				inset 1px -3px 1px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 3%), transparent),
				0 1px 5px 0 color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 10%), transparent),
				0 3px 9px 0 color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 8%), transparent);
			transition: background-color 400ms cubic-bezier(1, 0, 0.4, 1),
				box-shadow 400ms cubic-bezier(1, 0, 0.4, 1),
				border-color .25s var(--ease), transform .25s var(--ease), color .25s var(--ease);
		}

		._ .I,
		._ .L,
		._ .u,
		._ .p,
		._ .q,
		._ .G_,
		._ .La,
		._ .Pa,
		._ ._c {
			border-color: var(--border);
		}


		body:not(._) .I,
		body:not(._) .L,
		body:not(._) .u,
		body:not(._) .p,
		body:not(._) .q,
		body:not(._) .G_,
		body:not(._) .La,
		body:not(._) .Pa,
		body:not(._) ._c {
			backdrop-filter: blur(9px) saturate(var(--saturation));
			-webkit-backdrop-filter: blur(9px) saturate(var(--saturation));
			border-color: color-mix(in srgb, var(--c-light) 3%, transparent);
			box-shadow:
				inset 0 1px 0 color-mix(in srgb, var(--c-light) 18%, transparent),
				inset 0 -1px 0 color-mix(in srgb, var(--c-light) 18%, transparent);
		}

		body:not(._) .u:hover,
		body:not(._) .p:hover {
			border-color: color-mix(in srgb, var(--c-light) 3%, transparent);
		}

		body .L:focus-within {
			border-color: var(--accent);
		}

		body .G_:hover,
		body .G_.H_,
		body .La:hover,
		body .La.H_ {
			border-color: var(--accent);
			border-style: solid;
		}

		@media (prefers-reduced-transparency: reduce) {
			.I,
			.L,
			.u,
			.p,
			.q,
			.G_,
			.La,
			.Pa,
			._c,
			.U_,
			.Sa {
				backdrop-filter: none;
				-webkit-backdrop-filter: none;
			}
		}

		/* Voice picker internals stay solid for readability. */
		.W,
		.b_,
		.b_ * {
			backdrop-filter: none;
			-webkit-backdrop-filter: none;
		}

		.W { background: var(--surface-2); box-shadow: none; }
		body:not(._) .W { background: transparent; }
		.b_ { background: var(--surface-2); border: 1px solid var(--border); box-shadow: var(--shadow-lg); }

		@keyframes ac {
			from { opacity: 0; transform: translateY(10px); }
			to { opacity: 1; transform: translateY(0); }
		}

		.-c {
			animation: ac 0.3s ease-out;
		}

		@media (max-width: 640px) {
			.V_ {
				height: min(var(--player-height), calc((100vw - 24px) * .85), calc(100dvh - 132px));
			}
			.U_ { padding: 0; }
			.Z_ { padding: 2px 34px; }
			.da .pa { width: 34px; height: 34px; padding: 0; display: grid; place-items: center; border-radius: 50%; }
			.la { grid-template-columns: repeat(4, 1fr); }
			._a { padding: 0; }
			.U_ .Ea { gap: 2px; }
			.U_ .va { gap: 4px; }
			.X_ { width: calc(100% + 56px); margin-inline: -28px; }
			.X_ { --snippet-max-height: 260px; }
			.ra { padding: 36px 48px 28px; }
			.ya.Aa { max-height: 120px; }
		}
		@media (max-width: 380px) {
			.U_ { padding: 0; }
			.Z_ { padding-inline: 30px; }
			._a { padding: 0; }
			.X_ { width: calc(100% + 48px); margin-inline: -24px; }
			.ra { padding-inline: 40px; }
		}

		@media (max-width: 768px) {
			.j {
				padding: 13px;
			}
			
			.x {
				padding: 30px 13px;
			}
			
			.x h1 {
				font-size: 2.8rem;
			}
			
			.y_ {
				grid-template-columns: 1fr;
				gap: 16px;
			}
			
			.I {
				gap: 5px;
				padding: 5px;
			}
			
			.J {
				padding: 12px 16px;
				font-size: 0.85rem;
				gap: 8px;
			}
			
			.J .K {
				width: 18px;
				height: 18px;
			}
			
			.G_ {
				padding: 32px 16px;
			}
			
			.J_ {
				width: 56px;
				height: 56px;
			}
			
			.M_ {
				padding: 15px;
				flex-direction: column;
				gap: 13px;
				align-items: flex-start;
			}
			
			.Q_ {
				align-self: flex-end;
			}
			
			/* 移动端模式切换器样式 */
			.D {
				height: 54px;
				margin-bottom: 19px;
			}
			
			.E {
				height: 44px;
				padding: 0 8px;
				font-size: 0.9rem;
			}
			
			.F {
				width: 20px;
				height: 20px;
			}

			.D::after {
				height: 44px;
			}
			
			/* 移动端语音转录界面样式 */
			.La {
				padding: 30px 14px;
			}
			
			.Ma {
				flex-direction: column;
				gap: 12px;
			}
			
			.Za {
				flex-direction: column;
			}
			
			.Za .Xa {
				min-width: auto;
			}
		}
