/* Shared chrome and controls follow the active semantic palette. */
html,body {background:var(--surface-bg,#2e2e2c);color:rgb(var(--t-ink-900));}
#root aside {background:var(--surface-sidebar);}
#root header {background:var(--surface-bg);}
#root main h1,#root main h2 {font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:-.025em;}
#root aside nav {scrollbar-color:rgb(var(--c-ink-300)) transparent;}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {outline-color:var(--theme-accent);}
::selection {background:rgb(var(--c-purple-200));color:rgb(var(--t-ink-900));}
#root :where(.shadow-card,.shadow-soft) {box-shadow:0 2px 10px rgb(var(--c-shadow)/.07);}
#root .shadow-deep {box-shadow:0 20px 60px rgb(var(--c-shadow)/.28);}
#root [class*="bg-gradient-to-br"] {background-image:linear-gradient(125deg,rgb(var(--c-purple-100)),rgb(var(--c-purple-200)));}
#root [class*="bg-gradient-to-br"].text-white,#root [class*="bg-gradient-to-br"] [class*="text-white"] {color:rgb(var(--t-ink-900));}
#root [class*="text-[rgb(var(--p-"] {color:rgb(var(--t-ink-800));}
#root [class*="text-[rgb(var(--q-"] {color:rgb(var(--t-purple-700));}
html[data-resolved-mode="dark"] #root [class*="bg-gradient-to-"]:not(.bg-clip-text):not([class*="text-white"]) {background-image:linear-gradient(125deg,rgb(var(--c-purple-50)),var(--surface-card));}
#root .bg-clip-text {background:none;color:rgb(var(--t-ink-900));}
html[data-resolved-mode="dark"] #root [class*="border-white"] {border-color:rgb(var(--c-ink-200));}
html[data-resolved-mode="dark"] #root [class*="ring-white"] {--tw-ring-color:rgb(var(--c-ink-200));}
/* Solid actions, selected filters and gradient labels need a paired foreground.
   Keep image/lightbox overlays using their original white text. */
#root .btn-primary,#root .text-white:is(.bg-purple-500,.bg-purple-600,.bg-purple-700,.bg-violet-500,.bg-indigo-500),
#root :is(.text-white,[class*="text-white/"]):is([class*="bg-gradient-to-"],[class*="bg-[rgb(var(--p-"]) {background:var(--theme-accent);color:var(--button-ink);}
#root :is(.btn-primary,.text-white.bg-purple-500,.text-white.bg-purple-600,.text-white.bg-purple-700):hover,
#root :is(button,a).text-white:is([class*="bg-gradient-to-"],[class*="bg-[rgb(var(--p-"]):hover {background:var(--button-hover);color:var(--button-ink);}
#root :is(.text-white,[class*="text-white/"]):is([class*="bg-gradient-to-"],[class*="bg-[rgb(var(--p-"]) :is(.text-white,[class*="text-white/"]) {color:inherit;}
#root .text-white:is([class*="bg-gradient-to-"],[class*="bg-[rgb(var(--p-"],.bg-purple-500,.bg-purple-600,.bg-purple-700) [class*="bg-white/"] {background:rgb(0 0 0/.12);color:inherit;}
#root :where([class*="bg-gradient-to-"]:not(.text-white):not(.bg-clip-text)) :is(.text-white,[class*="text-white/"]) {color:rgb(var(--t-ink-900));}
#root [title="特邀大神作家"],#root .text-white:is([class*="from-amber-400"],[class*="from-amber-500"]) {background:rgb(var(--c-accent-yellow));color:rgb(var(--t-accent-yellow));}
#root [title="管理组"] {background:rgb(var(--c-accent-red));color:rgb(var(--t-accent-red));}
#root .btn-danger {background:rgb(var(--c-accent-red));color:rgb(var(--t-accent-red));}
#root input::placeholder,#root textarea::placeholder {color:rgb(var(--t-ink-400));opacity:1;}
.shiye-card-read {border-color:rgb(var(--c-purple-200));background:rgb(var(--c-purple-50));color:rgb(var(--t-purple-700));}
.shiye-card-read:hover {background:rgb(var(--c-purple-100));}
.shiye-appearance {position:fixed;z-index:40;left:12px;right:12px;top:80px;max-height:calc(100dvh / var(--ui-zoom,1) - 96px);overflow:auto;overscroll-behavior:contain;padding:23px;background:var(--surface-card);border:1px solid rgb(var(--c-ink-200));border-radius:20px;box-shadow:0 24px 80px #0005;scrollbar-width:thin;scrollbar-color:rgb(var(--c-ink-300)) transparent;}
.shiye-appearance-heading {display:flex;align-items:center;justify-content:space-between;}
.shiye-eyebrow {display:block;font-size:9px;letter-spacing:.18em;color:rgb(var(--t-ink-500));margin-bottom:5px;}
.shiye-appearance h2 {font-size:24px;font-weight:650;color:rgb(var(--t-ink-900));}
.shiye-close {width:32px;height:32px;border-radius:50%;color:rgb(var(--t-ink-500));font-size:25px;line-height:1;background:rgb(var(--c-ink-100));}
.shiye-appearance-intro {margin:10px 0 23px;font-size:12px;color:rgb(var(--t-ink-500));}
.shiye-appearance h3 {font-size:12px;font-weight:600;color:rgb(var(--t-ink-800));}
.shiye-modes,.shiye-fonts {display:flex;padding:4px;gap:4px;margin-top:10px;background:var(--surface-bg);border:1px solid rgb(var(--c-ink-200));border-radius:11px;}
.shiye-modes button,.shiye-fonts button {flex:1;border:1px solid transparent;border-radius:7px;padding:9px 2px;font-size:12px;color:rgb(var(--t-ink-500));}
.shiye-modes button span {margin-right:6px;font-size:16px;line-height:1;}
.shiye-modes button[aria-pressed="true"],.shiye-fonts button[aria-pressed="true"] {background:var(--surface-card);border-color:rgb(var(--c-ink-200));color:rgb(var(--t-ink-900));box-shadow:0 1px 4px #0001;}
.shiye-theme-heading,.shiye-font-heading {display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px;}
.shiye-theme-heading>span,.shiye-font-heading>span {color:rgb(var(--t-ink-500));font-size:11px;}
.shiye-theme-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.shiye-theme-card {text-align:left;min-width:0;border-radius:10px;border:1px solid rgb(var(--c-ink-200));overflow:hidden;transition:border-color .15s,box-shadow .15s;}
.shiye-theme-card:hover {border-color:rgb(var(--c-ink-400));}
.shiye-theme-card[aria-pressed="true"] {border-color:var(--theme-accent);box-shadow:0 0 0 1px var(--theme-accent);}
.shiye-theme-preview {position:relative;display:flex;gap:12px;height:62px;padding:9px;}
.shiye-preview-sidebar {width:22%;border-radius:3px;}
.shiye-preview-lines {flex:1;padding-top:7px;}
.shiye-preview-lines i {display:block;height:3px;border-radius:4px;background:var(--preview-accent);margin-bottom:7px;width:80%;opacity:.85;}
.shiye-preview-lines i:nth-child(2) {width:52%;opacity:.3;}
.shiye-preview-lines i:nth-child(3) {width:66%;opacity:.5;}
.shiye-preview-check {position:absolute;right:7px;bottom:6px;background:var(--preview-accent);color:#181818;width:16px;height:16px;border-radius:50%;font-size:10px;text-align:center;line-height:16px;}
.shiye-theme-label {padding:8px 10px;}
.shiye-theme-label strong {display:block;font-size:12px;font-weight:600;color:rgb(var(--t-ink-900));}
.shiye-theme-label small {display:block;font-size:10px;color:rgb(var(--t-ink-500));margin-top:1px;}
.shiye-appearance-footer {display:flex;align-items:center;justify-content:space-between;margin-top:21px;padding-top:15px;border-top:1px solid rgb(var(--c-ink-200));font-size:10px;color:rgb(var(--t-ink-500));}
.shiye-appearance-footer button {font-size:11px;color:rgb(var(--t-purple-700));padding:5px 0 5px 10px;}
.shiye-entry {background:var(--surface-bg);color:rgb(var(--t-ink-900));}
.shiye-wordmark,.shiye-book-mark {color:var(--theme-accent);}
.shiye-wordmark small,.shiye-entry-intro>p,.shiye-entry-note,.shiye-entry-form>p,.shiye-entry-form>small,.shiye-entry footer {color:rgb(var(--t-ink-500));}
.shiye-entry-rule {background:var(--theme-accent);}
.shiye-entry-form {background:var(--surface-card);border-color:rgb(var(--c-ink-200));}
.shiye-book-mark {background:rgb(var(--c-purple-50));}
.shiye-entry-form label {color:rgb(var(--t-ink-700));}
.shiye-entry-form input {border-color:rgb(var(--c-ink-200));background:var(--surface-bg);color:rgb(var(--t-ink-900));}
.shiye-entry-form input::placeholder {color:rgb(var(--t-ink-400));}
.shiye-entry-form button,.shiye-entry-form button:hover {background:var(--theme-accent);color:var(--button-ink);}
.shiye-entry footer {border-color:rgb(var(--c-ink-200));}
@media(min-width:640px){.shiye-appearance{position:absolute;top:calc(100% + 12px);left:0;right:auto;width:360px;max-height:calc(100dvh / var(--ui-zoom,1) - 110px);}.shiye-appearance-right{left:auto;right:0;}}
@media(max-width:639px){.shiye-appearance{padding:20px;}.shiye-modes button,.shiye-fonts button{min-height:40px;}.shiye-theme-preview{height:58px;}}
