.xin-aurora { position: relative; isolation: isolate; }
.xin-aurora::before, .xin-aurora::after {
	content: ""; position: absolute; z-index: -1; border-radius: 999px;
	filter: blur(90px); opacity: .5; pointer-events: none;
}
.xin-aurora::before {
	width: 620px; height: 620px; top: -220px; left: -140px;
	background: radial-gradient(circle, hsl(var(--primary) / .55), transparent 70%);
}
.xin-aurora::after {
	width: 520px; height: 520px; top: -120px; right: -120px;
	background: radial-gradient(circle, hsl(var(--gold) / .35), transparent 70%);
}
[data-theme="dark"] .xin-aurora::before { opacity: .42; }

.xin-hairline { height: 1px; border: 0; background: linear-gradient(90deg, transparent, hsl(var(--border)), transparent); margin: 40px 0 0; }

.xin-eyebrow {
	display: inline-flex; align-items: center; gap: .45rem;
	font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase;
	color: hsl(var(--primary));
}
.xin-eyebrow::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: currentColor; }

.xin-podium { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 18px; }
@media (max-width: 720px) { .xin-podium { grid-template-columns: 1fr; } }
.xin-podium__item {
	position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 14px;
	padding: 14px; border-radius: var(--radius-lg); overflow: hidden;
	background: hsl(var(--card)); border: 1px solid hsl(var(--border));
	transition: transform .28s cubic-bezier(.22,.9,.3,1), border-color .28s ease, box-shadow .28s ease;
}
.xin-podium__item:hover { transform: translateY(-4px); border-color: hsl(var(--primary) / .45); box-shadow: var(--shadow-3); }
.xin-podium__item::before {
	content: ""; position: absolute; inset: 0; z-index: 0; opacity: .14;
	background: radial-gradient(120% 90% at 0% 0%, hsl(var(--primary)), transparent 60%);
}
.xin-podium__item > * { position: relative; z-index: 1; }
.xin-podium__cover { aspect-ratio: 2/3; border-radius: var(--radius-sm); overflow: hidden; background: hsl(var(--muted)); box-shadow: var(--shadow-2); }
.xin-podium__cover img { width: 100%; height: 100%; object-fit: cover; }
.xin-podium__place {
	position: absolute; top: 10px; right: 12px; z-index: 2;
	font-size: 34px; font-weight: 900; line-height: 1; letter-spacing: -.04em;
	color: hsl(var(--primary) / .28);
}
.xin-podium__item:nth-child(1) .xin-podium__place { color: hsl(var(--gold) / .45); }
.xin-podium__title { display: -webkit-box; padding-right: 26px; font-size: 15px; font-weight: 700; margin: 0 0 3px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.xin-podium__item:hover .xin-podium__title { color: hsl(var(--primary)); }
.xin-podium__author { display: block; font-size: 12px; color: hsl(var(--muted-fg)); margin-bottom: 8px; }
.xin-podium__item .xin-novel__meta { display: flex; }
.xin-podium__bar { display: block; height: 5px; border-radius: 999px; background: hsl(var(--muted)); overflow: hidden; margin-top: 10px; }
.xin-podium__bar i { display: block; height: 5px; border-radius: 999px; background: linear-gradient(90deg, hsl(var(--primary)), hsl(var(--gold))); }

.xin-timeline { position: relative; padding-left: 22px; }
.xin-timeline::before { content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(hsl(var(--primary) / .5), hsl(var(--border))); border-radius: 2px; }
.xin-timeline__day { position: relative; margin-bottom: 26px; }
.xin-timeline__day::before {
	content: ""; position: absolute; left: -22px; top: 7px; width: 14px; height: 14px; border-radius: 999px;
	background: hsl(var(--bg)); border: 3px solid hsl(var(--primary));
}
.xin-timeline__date { font-size: 12.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: hsl(var(--muted-fg)); margin-bottom: 12px; }
.xin-timeline__date b { color: hsl(var(--fg)); }
.xin-update-row {
	display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 12px; align-items: center;
	padding: 10px 12px; border-radius: var(--radius); border: 1px solid transparent;
	transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.xin-update-row + .xin-update-row { margin-top: 4px; }
.xin-update-row:hover { background: hsl(var(--card)); border-color: hsl(var(--border)); transform: translateX(3px); }
.xin-update-row__cover { aspect-ratio: 2/3; border-radius: 6px; overflow: hidden; background: hsl(var(--muted)); }
.xin-update-row__cover img { width: 100%; height: 100%; object-fit: cover; }
.xin-update-row__novel { font-size: 11.5px; color: hsl(var(--muted-fg)); }
.xin-update-row__title { font-size: 14.5px; font-weight: 600; margin: 1px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xin-update-row:hover .xin-update-row__title { color: hsl(var(--primary)); }
.xin-update-row__time { font-size: 11.5px; color: hsl(var(--muted-fg)); white-space: nowrap; }
@media (max-width: 600px) { .xin-update-row { grid-template-columns: 40px minmax(0, 1fr); } .xin-update-row__time { grid-column: 2; } }

.xin-blog-hero {
	position: relative; display: grid; gap: 20px; align-items: end; overflow: hidden;
	border-radius: var(--radius-lg); border: 1px solid hsl(var(--border));
	background: hsl(var(--card)); min-height: 320px; padding: 24px;
}
@media (min-width: 860px) { .xin-blog-hero { padding: 36px; min-height: 400px; } }
.xin-blog-hero__bg { position: absolute; inset: 0; z-index: 0; }
.xin-blog-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.xin-blog-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, hsl(228 20% 3% / .94), hsl(228 20% 3% / .55) 55%, hsl(228 20% 3% / .25)); }
.xin-blog-hero__body { position: relative; z-index: 1; max-width: 720px; color: #fff; }
.xin-blog-hero__body h2 { font-size: clamp(1.4rem, 1.1rem + 1.8vw, 2.4rem); margin: 8px 0; }
.xin-blog-hero__body p { color: hsl(0 0% 100% / .82); }
.xin-blog-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 12.5px; color: hsl(0 0% 100% / .75); }
.xin-blog-hero__meta img { width: 26px; height: 26px; border-radius: 999px; }

.xin-catpills { display: flex; flex-wrap: wrap; gap: 8px; }
.xin-catpill {
	display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .95rem;
	border-radius: 999px; font-size: 13px; font-weight: 600;
	background: hsl(var(--card)); border: 1px solid hsl(var(--border));
	transition: all .18s ease;
}
.xin-catpill:hover, .xin-catpill.is-active { background: hsl(var(--primary)); border-color: transparent; color: hsl(var(--primary-fg)); }
.xin-catpill.is-active b, .xin-catpill:hover b { color: inherit; opacity: .8; }
.xin-catpill b { font-size: 11px; font-weight: 700; color: hsl(var(--muted-fg)); }

.xin-profile { position: relative; overflow: hidden; border-bottom: 1px solid hsl(var(--border)); }
.xin-profile__cover { position: absolute; inset: 0 0 auto 0; height: 220px; z-index: 0; background: linear-gradient(120deg, hsl(var(--primary) / .35), hsl(var(--gold) / .18) 55%, transparent); }
.xin-profile__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent, hsl(var(--bg))); }
.xin-profile__inner { position: relative; z-index: 1; display: grid; gap: 18px; padding: 56px 16px 26px; max-width: var(--wrap); margin-inline: auto; }
@media (min-width: 768px) { .xin-profile__inner { grid-template-columns: auto minmax(0, 1fr); align-items: center; padding-top: 84px; } }
.xin-profile__avatar { width: 108px; height: 108px; border-radius: 999px; overflow: hidden; border: 4px solid hsl(var(--bg)); box-shadow: var(--shadow-3); background: hsl(var(--muted)); }
.xin-profile__avatar img, .xin-profile__avatar .xin-avatar { width: 100%; height: 100%; object-fit: cover; font-size: 40px; }
.xin-profile__name { font-size: clamp(1.4rem, 1.1rem + 1.4vw, 2rem); margin: 0 0 4px; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.xin-profile__bio { color: hsl(var(--muted-fg)); max-width: 68ch; margin: 6px 0 0; }
.xin-profile__stats { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 14px; }
.xin-profile__stats div { text-align: left; }
.xin-profile__stats b { display: block; font-size: 20px; font-weight: 800; }
.xin-profile__stats span { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: hsl(var(--muted-fg)); }
.xin-profile__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

.xin-segmented { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: hsl(var(--muted)); border: 1px solid hsl(var(--border)); flex-wrap: wrap; }
.xin-segmented a, .xin-segmented button {
	padding: .45rem 1rem; border: 0; border-radius: 999px; cursor: pointer; background: transparent;
	font-family: inherit; font-size: 13.5px; font-weight: 700; color: hsl(var(--muted-fg));
	transition: background-color .18s ease, color .18s ease;
}
.xin-segmented a:hover, .xin-segmented button:hover { color: hsl(var(--fg)); }
.xin-segmented .is-active { background: hsl(var(--card)); color: hsl(var(--fg)); box-shadow: var(--shadow-1); }

.xin-dash { display: grid; gap: 22px; padding-top: 24px; }
@media (min-width: 1024px) { .xin-dash { grid-template-columns: 250px minmax(0, 1fr); align-items: start; } }
.xin-dash__nav { display: grid; gap: 4px; position: sticky; top: calc(var(--header-h) + 16px); }
.xin-dash__nav a {
	display: flex; align-items: center; gap: .6rem; padding: .6rem .85rem; border-radius: var(--radius-sm);
	font-size: 14px; font-weight: 600; color: hsl(var(--muted-fg));
}
.xin-dash__nav a:hover { background: hsl(var(--accent)); color: hsl(var(--fg)); }
.xin-dash__nav a.is-active { background: hsl(var(--primary) / .12); color: hsl(var(--primary)); }
.xin-dash__nav svg { width: 17px; height: 17px; }

.xin-form { display: grid; gap: 16px; }
.xin-form__row { display: grid; gap: 16px; }
@media (min-width: 700px) { .xin-form__row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.xin-field label, .xin-form label.xin-label { display: block; font-size: 12.5px; font-weight: 700; margin-bottom: 6px; color: hsl(var(--muted-fg)); text-transform: uppercase; letter-spacing: .06em; }
.xin-field input[type="text"], .xin-field input[type="number"], .xin-field input[type="url"],
.xin-field input[type="email"], .xin-field input[type="file"], .xin-field select, .xin-field textarea {
	width: 100%; padding: .7rem .95rem; font-family: inherit; font-size: 14.5px;
	color: hsl(var(--fg)); background: hsl(var(--bg)); border: 1px solid hsl(var(--input));
	border-radius: var(--radius-sm); transition: border-color .18s ease, box-shadow .18s ease;
}
.xin-field textarea { min-height: 130px; resize: vertical; line-height: 1.7; }
.xin-field textarea.is-tall { min-height: 420px; font-family: var(--font-read); font-size: 16px; }
.xin-field input:focus, .xin-field select:focus, .xin-field textarea:focus { outline: none; border-color: hsl(var(--ring)); box-shadow: 0 0 0 3px hsl(var(--ring) / .18); }
.xin-field__hint { font-size: 12px; color: hsl(var(--muted-fg)); margin-top: 5px; }
.xin-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.xin-field .xin-check, .xin-checks .xin-check {
	display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .85rem;
	border-radius: 999px; border: 1px solid hsl(var(--border)); background: hsl(var(--bg));
	font-size: 13px; font-weight: 600; cursor: pointer; transition: all .16s ease;
	white-space: nowrap; text-transform: none; letter-spacing: normal;
	margin-bottom: 0; color: hsl(var(--fg));
}
.xin-check input { accent-color: hsl(var(--primary)); margin: 0; flex: none; }
.xin-check svg { width: 14px; height: 14px; }
.xin-check:has(input:checked) { background: hsl(var(--primary) / .12); border-color: hsl(var(--primary) / .45); color: hsl(var(--primary)); }

.xin-editor .wp-editor-container {
	border: 1px solid hsl(var(--input));
	border-radius: var(--radius-sm);
	overflow: hidden;
	background: #fff;
}
.xin-editor .wp-editor-tabs { display: flex; gap: 4px; margin-bottom: 8px; float: none; }
.xin-editor .wp-switch-editor {
	float: none; margin: 0; height: auto; padding: .35rem .9rem;
	border: 1px solid hsl(var(--border)); border-radius: var(--radius-sm);
	background: hsl(var(--muted)); color: hsl(var(--muted-fg));
	font-family: inherit; font-size: 12.5px; font-weight: 600;
}
.xin-editor .wp-switch-editor:hover { background: hsl(var(--accent)); color: hsl(var(--fg)); }
.xin-editor .wp-editor-wrap.tmce-active .switch-tmce,
.xin-editor .wp-editor-wrap.html-active .switch-html {
	background: hsl(var(--primary) / .14); border-color: hsl(var(--primary) / .4); color: hsl(var(--primary));
}
.xin-editor .quicktags-toolbar { background: hsl(var(--muted)); border-bottom: 1px solid hsl(var(--border)); }
.xin-editor .wp-media-buttons { margin-bottom: 8px; }
.xin-editor .wp-media-buttons .button {
	border-radius: 999px; border: 1px solid hsl(var(--border)); background: hsl(var(--muted));
	color: hsl(var(--fg)); height: auto; padding: .35rem .9rem; font-family: inherit; font-size: 13px;
}
.xin-editor .wp-media-buttons .button:hover { background: hsl(var(--accent)); color: hsl(var(--primary)); }
.xin-editor textarea.wp-editor-area { background: #fff; color: #16181d; font-family: var(--font-mono); font-size: 14px; }
.xin-editor .mce-panel { border-color: #e2e4e9; }

.xin-notice { padding: 12px 16px; border-radius: var(--radius-sm); font-size: 14px; display: flex; align-items: center; gap: .6rem; }
.xin-notice--ok { background: hsl(150 60% 40% / .12); border: 1px solid hsl(150 60% 40% / .3); color: hsl(150 55% 45%); }
.xin-notice--err { background: hsl(0 72% 51% / .12); border: 1px solid hsl(0 72% 51% / .3); color: hsl(0 72% 60%); }
.xin-notice svg { width: 18px; height: 18px; }

.xin-worklist { display: grid; gap: 10px; }
.xin-work {
	display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 14px; align-items: center;
	padding: 12px; border-radius: var(--radius); background: hsl(var(--card)); border: 1px solid hsl(var(--border));
	transition: border-color .2s ease, transform .2s ease;
}
.xin-work:hover { border-color: hsl(var(--primary) / .4); transform: translateY(-2px); }
.xin-work__cover { aspect-ratio: 2/3; border-radius: 6px; overflow: hidden; background: hsl(var(--muted)); }
.xin-work__cover img { width: 100%; height: 100%; object-fit: cover; }
.xin-work h3 { font-size: 15px; margin: 0 0 3px; }
.xin-work__meta { font-size: 12px; color: hsl(var(--muted-fg)); display: flex; flex-wrap: wrap; gap: 10px; }
.xin-work__actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 640px) { .xin-work { grid-template-columns: 46px minmax(0, 1fr); } .xin-work__actions { grid-column: 1 / -1; justify-content: flex-start; } }

.xin-chaptable { width: 100%; font-size: 14px; }
.xin-chaptable th { font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; }
.xin-chaptable td:last-child, .xin-chaptable th:last-child { text-align: right; }
.xin-chaptable tr:hover td { background: hsl(var(--accent) / .5); }

body.xin-reading { padding-bottom: 0; background: hsl(var(--bg)); }
body.xin-reading .xin-bottomnav { display: none; }

.xin-rd { min-height: 100vh; }
.xin-rd__bar {
	position: fixed; inset: 0 0 auto 0; z-index: 100; display: flex; align-items: center; gap: 10px;
	height: 56px; padding: 0 12px;
	background: hsl(var(--bg) / .88); backdrop-filter: blur(16px) saturate(150%);
	border-bottom: 1px solid hsl(var(--border) / .7);
	transform: translateY(0); transition: transform .28s cubic-bezier(.22,.9,.3,1), opacity .28s ease;
}
.xin-rd__bar.is-hidden { transform: translateY(-100%); opacity: 0; }
.xin-rd__bar-title { min-width: 0; flex: 1; }
.xin-rd__bar-title b { display: block; font-size: 13.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xin-rd__bar-title small { display: block; font-size: 11.5px; color: hsl(var(--muted-fg)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xin-rd__actions { display: flex; align-items: center; gap: 4px; }

.xin-rd__hotzone { position: fixed; inset: 0 0 auto 0; height: 64px; z-index: 99; }

.xin-rd__main { padding: 96px 20px 120px; }
.xin-rd__inner { max-width: var(--read-width, 720px); margin-inline: auto; }
.xin-rd__eyebrow { text-align: center; font-size: 12.5px; font-weight: 700; color: hsl(var(--primary)); letter-spacing: .04em; }
.xin-rd__title { text-align: center; font-size: clamp(1.4rem, 1.15rem + 1.6vw, 2.1rem); margin: 10px 0 12px; }
.xin-rd__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; font-size: 12.5px; color: hsl(var(--muted-fg)); margin-bottom: 8px; }
.xin-rd__meta span { display: inline-flex; align-items: center; gap: 5px; }
.xin-rd__rule { width: 64px; height: 3px; border-radius: 3px; margin: 22px auto 30px; background: linear-gradient(90deg, hsl(var(--primary)), hsl(var(--gold))); }

.xin-rd__text {
	font-family: var(--read-font, var(--font-read));
	font-size: var(--read-size, 19px);
	line-height: var(--read-height, 1.9);
	color: var(--read-color, hsl(var(--fg)));
}
.xin-rd__text p { margin: 0 0 1.2em; text-align: justify; hyphens: auto; }
.xin-rd__text p:first-of-type::first-letter {
	float: left; font-size: 3.2em; line-height: .86; padding: .06em .1em 0 0;
	font-weight: 700; color: hsl(var(--primary));
}
.xin-rd__text h2, .xin-rd__text h3 { font-family: var(--font); margin: 1.8em 0 .6em; }
.xin-rd__text img { margin: 1.6em auto; border-radius: var(--radius); }
.xin-rd__text hr { width: 40%; margin: 2em auto; }

.xin-rd[data-paper="sepia"] { --read-color: #3b3227; }
.xin-rd[data-paper="sepia"] .xin-rd__main { background: #f6efe2; }
.xin-rd[data-paper="night"] { --read-color: #c9cbd6; }
.xin-rd[data-paper="night"] .xin-rd__main { background: #0b0c10; }
.xin-rd[data-paper="paper"] { --read-color: #1b1d22; }
.xin-rd[data-paper="paper"] .xin-rd__main { background: #fdfdfb; }

.xin-rd__nav { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: var(--read-width, 720px); margin: 40px auto 0; }
.xin-rd__nav > a, .xin-rd__nav > span {
	display: flex; align-items: center; gap: 10px; padding: 16px 18px; min-width: 0;
	border-radius: var(--radius); border: 1px solid hsl(var(--border)); background: hsl(var(--card));
	font-size: 13.5px; transition: all .2s ease;
}
.xin-rd__nav > a:hover { border-color: hsl(var(--primary) / .5); transform: translateY(-2px); box-shadow: var(--shadow-2); }
.xin-rd__nav > span { opacity: .4; }
.xin-rd__nav small { display: block; font-size: 11px; color: hsl(var(--muted-fg)); }
.xin-rd__nav b { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xin-rd__nav .is-next { justify-content: flex-end; text-align: right; }

.xin-rd__panel {
	position: fixed; top: 0; right: 0; bottom: 0; z-index: 120; width: min(340px, 90vw);
	padding: 20px; overflow-y: auto;
	background: hsl(var(--popover)); border-left: 1px solid hsl(var(--border)); box-shadow: var(--shadow-3);
	transform: translateX(100%); transition: transform .28s cubic-bezier(.22,.9,.3,1);
}
.xin-rd__panel.is-open { transform: none; }
.xin-rd__panel h3 { font-size: 15px; margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; }
.xin-rd__group { margin-bottom: 20px; }
.xin-rd__group > span { display: block; font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: hsl(var(--muted-fg)); margin-bottom: 8px; }
.xin-rd__stepper { display: flex; align-items: center; gap: 8px; }
.xin-rd__stepper output { flex: 1; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }
.xin-rd__choices { display: flex; flex-wrap: wrap; gap: 6px; }
.xin-rd__choices button {
	padding: .45rem .85rem; border-radius: 999px; cursor: pointer; font-family: inherit;
	font-size: 13px; font-weight: 600; background: hsl(var(--muted)); color: hsl(var(--fg));
	border: 1px solid transparent; transition: all .16s ease;
}
.xin-rd__choices button:hover { background: hsl(var(--accent)); }
.xin-rd__choices button.is-active { background: hsl(var(--primary) / .14); border-color: hsl(var(--primary) / .45); color: hsl(var(--primary)); }

.xin-rd__toc { position: fixed; top: 0; left: 0; bottom: 0; z-index: 120; width: min(380px, 92vw); padding: 20px; overflow-y: auto; background: hsl(var(--popover)); border-right: 1px solid hsl(var(--border)); box-shadow: var(--shadow-3); transform: translateX(-100%); transition: transform .28s cubic-bezier(.22,.9,.3,1); }
.xin-rd__toc.is-open { transform: none; }
.xin-rd__toc ul { list-style: none; margin: 0; padding: 0; }
.xin-rd__toc li + li { border-top: 1px solid hsl(var(--border)); }
.xin-rd__toc a { display: flex; gap: 10px; padding: 10px 8px; border-radius: var(--radius-sm); font-size: 14px; }
.xin-rd__toc a:hover { background: hsl(var(--accent)); }
.xin-rd__toc .is-current { background: hsl(var(--primary) / .12); color: hsl(var(--primary)); font-weight: 600; }
.xin-rd__toc .xin-chapters__num { min-width: 42px; }

.xin-rd__scrim { position: fixed; inset: 0; z-index: 110; background: hsl(228 20% 3% / .5); opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s; }
.xin-rd__scrim.is-open { opacity: 1; visibility: visible; }

.xin-rd__dock {
	position: fixed; inset: auto 0 0 0; z-index: 100; display: flex; align-items: center; gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: hsl(var(--bg) / .9); backdrop-filter: blur(14px);
	border-top: 1px solid hsl(var(--border) / .7);
	transform: translateY(0); transition: transform .28s cubic-bezier(.22,.9,.3,1), opacity .28s ease;
}
.xin-rd__dock.is-hidden { transform: translateY(100%); opacity: 0; }
.xin-rd__dock-bar { flex: 1; height: 4px; border-radius: 999px; background: hsl(var(--muted)); overflow: hidden; }
.xin-rd__dock-bar i { display: block; height: 100%; background: linear-gradient(90deg, hsl(var(--primary)), hsl(var(--gold))); }
.xin-rd__dock-pct { font-size: 12px; font-weight: 700; color: hsl(var(--muted-fg)); font-variant-numeric: tabular-nums; min-width: 38px; text-align: right; }

.xin-empty-inline { padding: 28px; text-align: center; color: hsl(var(--muted-fg)); border: 1px dashed hsl(var(--border)); border-radius: var(--radius); font-size: 14px; }
.xin-kbd { display: inline-block; padding: 1px 6px; border-radius: 5px; border: 1px solid hsl(var(--border)); background: hsl(var(--muted)); font-family: var(--font-mono); font-size: 11.5px; }
.xin-lang { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: hsl(var(--muted)); }
.xin-lang__btn {
	padding: .25rem .55rem; border-radius: 999px; font-size: 11.5px; font-weight: 800;
	letter-spacing: .04em; color: hsl(var(--muted-fg)); transition: background-color .16s ease, color .16s ease;
}
.xin-lang__btn:hover { color: hsl(var(--fg)); }
.xin-lang__btn.is-active { background: hsl(var(--card)); color: hsl(var(--fg)); box-shadow: var(--shadow-1); }
@media (max-width: 520px) { .xin-lang { display: none; } }
