:root {
  --ink: #20241f;
  --muted: #72786f;
  --paper: #f3f5ee;
  --paper-deep: #e9ede3;
  --white: rgba(255, 255, 255, .76);
  --line: rgba(38, 46, 37, .11);
  --green: #667b62;
  --green-dark: #344c3a;
  --sage: #c9d5bd;
  --peach: #e7c2a8;
  --violet: #bdbbd9;
  --shadow: 0 30px 80px rgba(50, 65, 45, .12);
  --radius: 28px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
::selection { background: #cad7c0; color: #25352a; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(60, 78, 57, .22); border-radius: 10px; }

.shell { width: min(1380px, calc(100% - 80px)); margin-inline: auto; }
.site-page, .admin-page { min-height: 100vh; overflow-x: hidden; }
.site-page > *, .admin-page > * { position: relative; z-index: 1; }
.ambient { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0 !important; }
.orb { position: absolute; width: 42vw; height: 42vw; border-radius: 50%; filter: blur(16px); opacity: .42; animation: drift 18s ease-in-out infinite alternate; }
.orb-a { left: -18vw; top: 10vh; background: radial-gradient(circle, rgba(185, 214, 173, .72), transparent 68%); }
.orb-b { right: -16vw; top: -10vh; background: radial-gradient(circle, rgba(237, 192, 165, .5), transparent 66%); animation-delay: -7s; }
.orb-c { right: 22vw; bottom: -25vw; background: radial-gradient(circle, rgba(188, 186, 219, .42), transparent 68%); animation-delay: -12s; }
.noise { position: absolute; inset: 0; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
@keyframes drift { to { transform: translate3d(6vw, 4vh, 0) scale(1.08); } }

.topbar { height: 104px; display: flex; align-items: center; justify-content: space-between; }
.header-actions { display: flex; align-items: center; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 16px 6px 16px 6px; background: var(--green-dark); color: #f7f5e9; font: 500 23px/1 "STKaiti", "KaiTi", serif; box-shadow: 0 10px 25px rgba(46, 70, 50, .2); transform: rotate(-2deg); }
.brand-mark.small { width: 38px; height: 38px; font-size: 19px; border-radius: 13px 5px 13px 5px; }
.brand > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.brand b { font: 600 22px/1.2 "STKaiti", "KaiTi", serif; letter-spacing: .14em; }
.brand small { font-size: 7px; letter-spacing: .21em; color: var(--muted); }
.topnav { display: flex; align-items: center; gap: 38px; font-size: 14px; }
.topnav a, .topnav .text-button { position: relative; }
.topnav .active::after { content: ""; position: absolute; left: 50%; bottom: -11px; width: 4px; height: 4px; border-radius: 50%; background: var(--green); transform: translateX(-50%); }
.text-button { border: 0; padding: 0; background: none; cursor: pointer; }
.topnav a, .text-button { transition: color .25s ease; }
.topnav a:hover, .text-button:hover { color: var(--green); }
.round-button { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.54); cursor: pointer; transition: transform .3s var(--ease), background .3s ease; }
.round-button:hover { transform: rotate(8deg) scale(1.06); background: white; }
.round-button svg { width: 18px; }
.mobile-search, .mobile-submit { display: none; }
.theme-toggle { width: 66px; height: 34px; padding: 3px 7px; border: 1px solid var(--line); border-radius: 999px; display: flex; align-items: center; justify-content: space-between; position: relative; color: #899084; background: rgba(255,255,255,.5); cursor: pointer; overflow: hidden; }
.theme-toggle span { position: relative; z-index: 2; width: 19px; font-size: 13px; text-align: center; transition: color .35s ease; }
.theme-toggle span:first-child { color: #8e7947; }
.theme-toggle i { position: absolute; z-index: 1; left: 3px; top: 3px; width: 26px; height: 26px; border-radius: 50%; background: white; box-shadow: 0 4px 12px rgba(48,60,45,.16); transition: transform .45s var(--ease), background .35s ease; }
.theme-toggle.night-active i { transform: translateX(32px); background: #25302a; }
.theme-toggle.night-active span:first-child { color: #777f78; }
.theme-toggle.night-active span:last-child { color: #ded9a3; }
.scroll-progress { position: fixed; z-index: 80; top: 0; left: 0; width: 100%; height: 2px; pointer-events: none; background: rgba(68,87,64,.06); }
.scroll-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #6e8b6b, #c49b6d, #8887b3); box-shadow: 0 0 10px rgba(110,139,107,.55); transition: width .12s linear; }

.hero { min-height: 680px; padding: 58px 0 94px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 5vw; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #667063; font-size: 10px; font-weight: 700; letter-spacing: .24em; }
.eyebrow span { width: 32px; height: 1px; background: currentColor; }
.hero h1 { margin: 25px 0 28px; font: 400 clamp(55px, 6.2vw, 92px)/1.08 "STSong", "SimSun", serif; letter-spacing: -.045em; }
.hero h1 em { color: var(--green); font-style: normal; position: relative; }
.hero h1 em::after { content: ""; position: absolute; height: 9px; left: 4%; right: -3%; bottom: -2px; border-radius: 50%; border-top: 2px solid rgba(100, 130, 95, .3); transform: rotate(-2deg); }
.hero-copy > p { width: min(460px, 90%); color: var(--muted); font-size: 17px; line-height: 2; letter-spacing: .06em; }
.hero-actions { display: flex; gap: 12px; margin-top: 43px; }
.primary-button, .soft-button, .danger-button, .danger-fill { border: 0; border-radius: 999px; padding: 14px 22px; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; gap: 10px; font-size: 13px; transition: transform .3s var(--ease), box-shadow .3s ease, background .3s ease; }
.primary-button { background: var(--green-dark); color: #f6f7f0; box-shadow: 0 14px 28px rgba(48, 72, 52, .19); }
.primary-button:hover { transform: translateY(-3px); box-shadow: 0 18px 34px rgba(48, 72, 52, .26); }
.primary-button span:last-child { font-size: 18px; }
.soft-button { color: var(--ink); background: rgba(255,255,255,.62); border: 1px solid rgba(50,62,48,.1); }
.soft-button:hover { transform: translateY(-2px); background: rgba(255,255,255,.92); }
.soft-button svg { width: 17px; }

.hero-art { height: 510px; position: relative; display: grid; place-items: center; }
.sun-disc { position: absolute; width: 340px; height: 340px; border-radius: 50%; background: linear-gradient(135deg, rgba(223,230,207,.85), rgba(242,216,191,.63)); box-shadow: inset -30px -30px 80px rgba(255,255,255,.75), 0 40px 90px rgba(114, 132, 105, .13); animation: breathe 7s ease-in-out infinite; }
@keyframes breathe { 50% { transform: scale(1.04); filter: hue-rotate(8deg); } }
.orbit { position: absolute; border: 1px solid rgba(73, 96, 72, .16); border-radius: 50%; }
.orbit::after { content: ""; position: absolute; top: 50%; left: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(101, 125, 96, .1); }
.orbit-one { width: 460px; height: 300px; transform: rotate(-18deg); animation: orbit 18s linear infinite; }
.orbit-two { width: 340px; height: 470px; transform: rotate(32deg); animation: orbit2 25s linear infinite; }
@keyframes orbit { to { transform: rotate(342deg); } }
@keyframes orbit2 { to { transform: rotate(-328deg); } }
.glass-panel { background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.35)); border: 1px solid rgba(255,255,255,.74); box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.9); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); }
.hero-quote { position: relative; z-index: 2; width: min(405px, 82vw); padding: 49px 46px 40px; border-radius: 72px 22px 60px 26px; transform: rotate(-1.5deg); }
.hero-quote::before { content: "“"; position: absolute; left: 28px; top: 13px; font: 80px/1 Georgia, serif; color: rgba(84, 105, 80, .15); }
.hero-quote .hero-category { display: flex; justify-content: space-between; align-items: center; font-size: 10px; letter-spacing: .18em; color: var(--green); }
.hero-quote blockquote { margin: 31px 0 27px; white-space: pre-line; font: 400 24px/1.75 "STKaiti", "KaiTi", serif; letter-spacing: .06em; }
.hero-quote.has-long-quote blockquote { margin-bottom: 10px; display: -webkit-box; max-height: 10.5em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 6; line-clamp: 6; font-size: 20px; }
.hero-read-more { display: inline-block; margin: 0 0 18px; color: var(--green); font-size: 9px; letter-spacing: .08em; }
.hero-quote footer { border-top: 1px solid var(--line); padding-top: 18px; display: flex; justify-content: space-between; align-items: flex-end; color: var(--muted); font-size: 12px; }
.hero-quote footer b { display: block; color: var(--ink); margin-bottom: 4px; font-weight: 500; }
.hero-quote footer time { font-size: 10px; letter-spacing: .1em; }
.floating-note { position: absolute; z-index: 3; padding: 10px 16px; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; background: rgba(255,255,255,.58); color: #6b7767; font: 13px "STKaiti", "KaiTi", serif; box-shadow: 0 12px 30px rgba(75,90,70,.12); backdrop-filter: blur(12px); animation: float 5s ease-in-out infinite; }
.note-a { left: 2%; top: 22%; }
.note-b { right: 0; bottom: 21%; animation-delay: -2.5s; }
@keyframes float { 50% { transform: translateY(-10px) rotate(2deg); } }

.marquee-wrap { overflow: hidden; border-block: 1px solid var(--line); background: rgba(255,255,255,.28); transform: rotate(-1deg) scale(1.02); }
.marquee { width: max-content; padding: 17px 0; display: flex; align-items: center; animation: marquee 28s linear infinite; color: #6e766b; font: 16px "STKaiti", "KaiTi", serif; will-change: transform; }
.marquee-group { flex: 0 0 auto; min-width: 100vw; box-sizing: border-box; display: flex; align-items: center; justify-content: space-around; gap: 30px; padding: 0 30px; }
.marquee i { color: #b5a076; font-style: normal; font-size: 9px; }
@keyframes marquee { to { transform: translateX(-50%); } }

.explore { padding: 126px 0 110px; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 37px; }
.section-heading h2, .category-section-head h2, .settings-head h2 { margin: 13px 0 0; font: 400 42px/1.2 "STSong", "SimSun", serif; }
.section-heading > p { color: var(--muted); font-size: 12px; }
.search-panel { position: sticky; top: 14px; z-index: 20; min-height: 78px; border-radius: 24px; padding: 12px 14px 12px 24px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 42px; }
.search-box { display: flex; align-items: center; gap: 14px; flex: 1; }
.search-box svg { width: 20px; color: #687165; }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); }
.search-box input::placeholder { color: #959a92; }
.search-box kbd { border: 1px solid var(--line); background: rgba(255,255,255,.6); color: #858b81; padding: 5px 8px; border-radius: 7px; font: 10px sans-serif; white-space: nowrap; }
.view-controls { display: flex; gap: 5px; border-left: 1px solid var(--line); padding-left: 13px; margin-left: 20px; }
.icon-button { width: 41px; height: 41px; border: 0; border-radius: 12px; display: grid; place-items: center; color: #8a9186; background: transparent; cursor: pointer; transition: .25s ease; }
.icon-button svg { width: 17px; }
.icon-button.active { color: var(--green-dark); background: rgba(201,213,189,.48); }
.archive-layout { display: grid; grid-template-columns: 210px 1fr; gap: 55px; align-items: start; }
.filter-sidebar { position: sticky; top: 120px; }
.filter-group { margin-bottom: 34px; }
.filter-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; color: #798077; font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.filter-title button { border: 0; background: transparent; color: #9a9f97; font-size: 11px; cursor: pointer; }
.category-list { display: grid; gap: 5px; }
.category-filter { border: 0; background: transparent; border-radius: 11px; padding: 11px 12px; display: flex; align-items: center; gap: 10px; cursor: pointer; text-align: left; font-size: 13px; transition: background .25s, transform .25s; }
.category-filter:hover { transform: translateX(3px); }
.category-filter.active { background: rgba(255,255,255,.66); box-shadow: 0 8px 18px rgba(61,76,56,.06); }
.category-dot { width: 7px; height: 7px; border-radius: 50%; box-shadow: 0 0 0 4px color-mix(in srgb, var(--dot) 13%, transparent); background: var(--dot); }
.category-filter span:nth-child(2) { flex: 1; }
.category-filter small { color: #9ba098; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 7px; }
.tag-filter { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; background: rgba(255,255,255,.32); color: #6e766b; font-size: 10px; cursor: pointer; transition: .25s ease; }
.tag-filter:hover, .tag-filter.active { background: var(--green-dark); color: white; border-color: var(--green-dark); transform: translateY(-2px); }
.minimal-select { appearance: none; min-height: 43px; border: 1px solid var(--line); border-radius: 12px; color: #697067; background: rgba(255,255,255,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23747b71' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center; padding: 0 35px 0 13px; outline: none; }
.filter-sidebar .minimal-select { width: 100%; font-size: 12px; }
.archive-count { margin-top: 42px; border-top: 1px solid var(--line); padding-top: 25px; display: flex; gap: 13px; align-items: center; }
.archive-count strong { font: 400 38px/1 Georgia, serif; color: var(--green); }
.archive-count span { color: #92988f; font-size: 9px; line-height: 1.6; letter-spacing: .1em; }

.quotes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.quote-card { --card-color: #748c72; --mx: 50%; --my: 50%; position: relative; min-height: 305px; border-radius: var(--radius); padding: 31px 31px 26px; background: rgba(255,255,255,.62); border: 1px solid rgba(255,255,255,.72); box-shadow: 0 12px 36px rgba(53,68,49,.065); overflow: hidden; display: flex; flex-direction: column; cursor: pointer; transition: transform .5s var(--ease), box-shadow .5s var(--ease), background .4s ease; animation: cardIn .7s var(--ease) both; }
.quote-card .spotlight { position: absolute; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(250px circle at var(--mx) var(--my), color-mix(in srgb, var(--card-color) 11%, transparent), transparent 66%); transition: opacity .35s ease; }
.quote-card::before { content: ""; position: absolute; width: 130px; height: 130px; right: -55px; top: -55px; border-radius: 50%; background: color-mix(in srgb, var(--card-color) 18%, transparent); filter: blur(2px); transition: transform .6s var(--ease); }
.quote-card::after { content: "“"; position: absolute; right: 24px; bottom: -24px; font: 120px Georgia, serif; color: color-mix(in srgb, var(--card-color) 10%, transparent); }
.quote-card:hover { transform: translateY(-8px) rotate(.25deg); box-shadow: 0 28px 65px rgba(52,70,48,.13); background: rgba(255,255,255,.84); }
.quote-card:hover .spotlight { opacity: 1; }
.quote-card:hover::before { transform: scale(1.4); }
.quote-head, .quote-foot { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 1; }
.quote-category { display: inline-flex; gap: 8px; align-items: center; color: var(--card-color); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.quote-index { color: #a0a59e; font: 10px Georgia, serif; }
.quote-card blockquote { position: relative; z-index: 1; flex: 1; margin: 30px 0; display: -webkit-box; max-height: 11.1em; overflow: hidden; white-space: pre-line; -webkit-box-orient: vertical; -webkit-line-clamp: 6; line-clamp: 6; font: 400 clamp(19px, 1.45vw, 23px)/1.85 "STKaiti", "KaiTi", serif; letter-spacing: .035em; }
.quote-read-more { position: relative; z-index: 2; align-self: flex-start; margin: -18px 0 22px; padding: 6px 10px; border-radius: 999px; color: var(--card-color); background: color-mix(in srgb, var(--card-color) 9%, rgba(255,255,255,.68)); font-size: 9px; letter-spacing: .08em; transition: transform .25s ease, background .25s ease; }
.quote-read-more i { margin-left: 4px; font-style: normal; }
.quote-card:hover .quote-read-more { transform: translateX(3px); background: color-mix(in srgb, var(--card-color) 15%, rgba(255,255,255,.74)); }
.quote-foot { padding-top: 18px; border-top: 1px solid var(--line); align-items: flex-end; }
.quote-author { font-size: 11px; }
.quote-author b { font-weight: 500; }
.quote-author small { display: block; color: #929790; margin-top: 5px; }
.quote-date { color: #999f96; font-size: 9px; letter-spacing: .08em; }
.quote-tags { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.quote-tags span { color: #7b8378; background: rgba(232,235,226,.74); border-radius: 999px; padding: 5px 8px; font-size: 9px; }
@keyframes cardIn { from { opacity: 0; transform: translateY(26px); } }
.quotes-grid.list-view { grid-template-columns: 1fr; }
.quotes-grid.list-view .quote-card { min-height: 210px; padding-left: 42px; }
.quotes-grid.list-view .quote-card blockquote { max-width: 78%; max-height: 7.4em; -webkit-line-clamp: 4; line-clamp: 4; }
.quote-pagination { margin: 34px auto 0; display: flex; align-items: center; justify-content: center; gap: 9px; }
.quote-pagination[hidden] { display: none; }
.page-numbers { display: flex; align-items: center; gap: 6px; }
.quote-pagination button { height: 40px; border: 1px solid var(--line); color: #727b70; background: rgba(255,255,255,.46); cursor: pointer; transition: transform .25s ease, color .25s ease, background .25s ease, opacity .25s ease; }
.quote-pagination button:hover:not(:disabled) { transform: translateY(-2px); color: var(--green-dark); background: white; }
.quote-pagination button:disabled { opacity: .32; cursor: default; }
.page-arrow { min-width: 92px; padding: 0 15px; border-radius: 999px; }
.page-number { width: 40px; border-radius: 50%; font: 12px Georgia, serif; }
.page-number.active { color: white; border-color: var(--green-dark); background: var(--green-dark); box-shadow: 0 10px 25px rgba(49,71,52,.16); }
.page-ellipsis { width: 24px; color: #989e96; text-align: center; }
.page-jump { height: 40px; margin-left: 8px; padding-left: 13px; border-left: 1px solid var(--line); display: flex; align-items: center; gap: 6px; color: #858d82; font-size: 9px; white-space: nowrap; }
.page-jump input { width: 50px; height: 34px; border: 1px solid var(--line); border-radius: 10px; outline: none; text-align: center; color: var(--ink); background: rgba(255,255,255,.6); font: 12px Georgia, serif; appearance: textfield; }
.page-jump input::-webkit-inner-spin-button, .page-jump input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.page-jump input:focus { border-color: rgba(76,102,74,.45); box-shadow: 0 0 0 4px rgba(91,120,88,.08); }
.page-jump button { min-width: 52px; height: 34px; padding: 0 10px; border-radius: 10px; font-size: 9px; }
.empty-state { text-align: center; padding: 80px 20px; }
.empty-state > span { font: 90px Georgia, serif; color: rgba(74,98,72,.18); line-height: .7; }
.empty-state h3 { font: 400 25px "STSong", serif; }
.empty-state p { color: var(--muted); margin-bottom: 25px; }
.footer { min-height: 150px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; color: #7f867d; font-size: 10px; letter-spacing: .1em; }
.footer > div { display: flex; align-items: center; gap: 13px; }
.footer > div p { letter-spacing: .03em; }

.quote-modal, .form-modal, .confirm-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s; }
.quote-modal.open, .form-modal.open, .confirm-modal.open { opacity: 1; visibility: visible; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(26,31,25,.28); backdrop-filter: blur(12px); }
.modal-card { position: relative; z-index: 1; width: min(680px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 54px 58px 42px; border-radius: 72px 24px 64px 24px; transform: translateY(24px) scale(.97); scrollbar-width: thin; scrollbar-color: rgba(93,112,91,.22) transparent; transition: transform .5s var(--ease); }
.quote-modal.open .modal-card { transform: none; }
.modal-close { position: absolute; right: 20px; top: 20px; font-size: 23px; }
.modal-number { color: var(--green); font: 10px Georgia, serif; letter-spacing: .18em; }
.modal-card blockquote { margin: 30px 0 25px; white-space: pre-line; font: 400 28px/1.72 "STKaiti", "KaiTi", serif; letter-spacing: .045em; }
.modal-card.paginated blockquote { min-height: 6.5em; }
.modal-card blockquote.page-next { animation: quotePageNext .38s var(--ease) both; }
.modal-card blockquote.page-prev { animation: quotePagePrev .38s var(--ease) both; }
.modal-pager { margin: -2px 0 24px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; }
.modal-pager[hidden] { display: none; }
.modal-page-button { min-width: 96px; border: 1px solid var(--line); border-radius: 999px; padding: 9px 12px; color: #657064; background: rgba(255,255,255,.56); font-size: 9px; cursor: pointer; transition: transform .22s ease, opacity .22s ease, background .22s ease; }
.modal-page-button:hover:not(:disabled) { transform: translateY(-2px); background: rgba(255,255,255,.9); }
.modal-page-button:disabled { opacity: .3; cursor: default; }
.modal-page-state { display: grid; gap: 7px; color: #8c9489; text-align: center; font: 9px Georgia, serif; letter-spacing: .09em; }
.modal-page-state i { height: 3px; overflow: hidden; border-radius: 999px; background: rgba(88,105,84,.1); }
.modal-page-state b { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--green); transition: width .38s var(--ease); }
@keyframes quotePageNext { from { opacity: 0; transform: translateX(18px); } }
@keyframes quotePagePrev { from { opacity: 0; transform: translateX(-18px); } }
.modal-source { color: #626b60; font-size: 12px; }
.modal-meta { margin: 28px 0; padding-block: 17px; border-block: 1px solid var(--line); display: flex; gap: 8px; flex-wrap: wrap; }
.modal-meta span { font-size: 10px; color: #737b70; background: rgba(225,230,219,.65); padding: 6px 10px; border-radius: 999px; }
.modal-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.submission-modal { position: fixed; inset: 0; z-index: 115; display: grid; place-items: center; padding: 24px; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s; }
.submission-modal.open { opacity: 1; visibility: visible; }
.submission-sheet { position: relative; z-index: 1; width: min(680px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; padding: 38px 42px; border-radius: 30px 12px 30px 12px; background: #f5f7f1; border: 1px solid rgba(255,255,255,.86); box-shadow: 0 35px 100px rgba(30,43,31,.22); transform: translateY(24px) scale(.97); transition: transform .5s var(--ease); }
.submission-modal.open .submission-sheet { transform: none; }
.submission-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; margin-bottom: 30px; }
.submission-head small { color: #8f978c; font-size: 8px; letter-spacing: .2em; }
.submission-head h2 { margin: 7px 0 8px; font: 400 28px "STSong", "SimSun", serif; }
.submission-head p { max-width: 470px; margin: 0; color: #868e83; font-size: 10px; line-height: 1.8; }
.submission-note { margin: 2px 0 22px; padding: 13px 15px; border-radius: 13px; display: flex; align-items: center; gap: 10px; color: #6c7769; background: rgba(220,229,213,.54); }
.submission-note > span { width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center; color: white; background: var(--green); font-size: 10px; }
.submission-note p { margin: 0; font-size: 9px; line-height: 1.7; }
.submission-note.direct-publish { color: #7b684e; background: rgba(235,220,190,.56); }
.submission-note.direct-publish > span { background: #a77b48; }
.duplicate-warning { margin: -7px 0 18px; padding: 13px 15px; border: 1px solid rgba(184,142,70,.2); border-radius: 13px; display: flex; align-items: flex-start; gap: 10px; color: #856c41; background: #f4eddc; }
.duplicate-warning[hidden] { display: none; }
.duplicate-warning > span { flex: 0 0 23px; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: white; background: #b69252; font: 15px Georgia, serif; }
.duplicate-warning b { display: block; margin-bottom: 5px; font-size: 10px; }
.duplicate-warning p { margin: 0; font-size: 9px; line-height: 1.7; }
.duplicate-warning.high-risk { color: #925c50; border-color: rgba(178,100,85,.22); background: #f4e4df; }
.duplicate-warning.high-risk > span { background: #b46c5e; }
.category-choice-field > label > span { color: #60675f; font-size: 10px; font-weight: 600; letter-spacing: .05em; }
.category-choice-field > label > span b { color: #b26f60; }
.custom-choice { display: grid; gap: 7px; margin-top: 1px; padding: 11px; border-radius: 13px; background: rgba(223,230,218,.55); animation: choiceIn .3s var(--ease) both; }
.custom-choice[hidden], .custom-tag-entry[hidden] { display: none; }
.custom-choice small { color: #899287; font-size: 8px; line-height: 1.6; }
.submission-tag-field { gap: 10px; }
.submission-tag-picker { display: flex; flex-wrap: wrap; gap: 7px; }
.submission-tag-choice, .custom-tag-toggle { border: 1px solid rgba(73,91,70,.12); border-radius: 999px; padding: 7px 11px; color: #778075; background: rgba(255,255,255,.55); font-size: 9px; cursor: pointer; transition: transform .22s ease, color .22s ease, background .22s ease, border-color .22s ease; }
.submission-tag-choice:hover, .custom-tag-toggle:hover { transform: translateY(-2px); border-color: rgba(73,101,72,.32); }
.submission-tag-choice.selected { color: white; background: var(--green-dark); border-color: var(--green-dark); box-shadow: 0 7px 18px rgba(56,79,57,.16); }
.custom-tag-toggle { align-self: flex-start; color: var(--green-dark); background: rgba(219,229,213,.5); }
.custom-tag-entry { animation: choiceIn .3s var(--ease) both; }
@keyframes choiceIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.card-modal { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 24px; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s; }
.card-modal.open { opacity: 1; visibility: visible; }
.card-generator { position: relative; z-index: 1; width: min(1020px, 100%); max-height: calc(100vh - 48px); overflow: auto; padding: 24px; border-radius: 28px; background: #f4f6ef; border: 1px solid rgba(255,255,255,.82); box-shadow: 0 35px 100px rgba(29,42,31,.24); transform: translateY(22px) scale(.97); transition: transform .5s var(--ease); }
.card-modal.open .card-generator { transform: none; }
.card-generator-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; }
.card-generator-head small { color: #8c9588; font-size: 8px; letter-spacing: .2em; }
.card-generator-head h2 { margin: 6px 0 0; font: 400 24px "STSong", "SimSun", serif; }
.card-preview-stage { min-height: 0; padding: clamp(16px, 3vw, 30px); border-radius: 22px; display: grid; place-items: center; background: linear-gradient(135deg, #e7ebe1, #dce2d9); box-shadow: inset 0 1px rgba(255,255,255,.82); }
.share-card { --card-bg-1: #f7f8f4; --card-bg-2: #e8ece6; --card-ink: #20251f; --card-muted: #667264; position: relative; aspect-ratio: 4 / 3; width: min(100%, 820px, 74vh); overflow: hidden; padding: clamp(28px, 4vw, 64px) clamp(28px, 4.4vw, 70px) clamp(25px, 3.5vw, 56px); border: 1.5px solid rgba(255,255,255,.94); border-radius: 8% 3% 9% 3%; background: linear-gradient(140deg, var(--card-bg-1), var(--card-bg-2)); color: var(--card-ink); box-shadow: 0 25px 50px rgba(70,82,70,.18), inset 0 1px rgba(255,255,255,.95); display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; gap: 3.3%; }
.share-card::before, .share-card::after { content: ""; position: absolute; pointer-events: none; border-radius: 50%; filter: blur(2px); }
.share-card::before { width: 42%; aspect-ratio: 1; right: -13%; top: -17%; background: rgba(255,255,255,.33); }
.share-card::after { width: 36%; aspect-ratio: 1; left: -15%; bottom: -22%; background: rgba(177,196,178,.22); }
.share-card.theme-dawn { --card-bg-1: #fbf4e9; --card-bg-2: #f1d9c4; --card-muted: #97715d; }
.share-card.theme-lavender { --card-bg-1: #f6f5f8; --card-bg-2: #ddddec; --card-muted: #706c92; }
.share-card-top, .share-card-bottom { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; color: var(--card-muted); }
.share-card-top { font: clamp(10px, 1.35vw, 17px) Georgia, serif; letter-spacing: .16em; }
.card-cross { width: clamp(30px, 4.5vw, 56px); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: var(--card-ink); background: rgba(255,255,255,.62); font: clamp(20px, 2.8vw, 34px) Arial, sans-serif; letter-spacing: 0; }
.share-card blockquote { position: relative; z-index: 1; width: 100%; height: 100%; min-height: 0; margin: 0; overflow: hidden; display: flex; align-items: center; white-space: pre-line; color: var(--card-ink); font-family: "STKaiti", "KaiTi", serif; font-weight: 400; line-height: 1.58; letter-spacing: .055em; }
.share-card blockquote.copy-short { font-size: clamp(18px, 3.15vw, 43px); }
.share-card blockquote.copy-medium { font-size: clamp(16px, 2.75vw, 36px); }
.share-card blockquote.copy-long { font-size: clamp(15px, 2.35vw, 31px); }
.share-card blockquote.copy-xlong { font-size: clamp(12px, 1.95vw, 25px); line-height: 1.48; letter-spacing: .035em; }
.share-card blockquote.page-next { animation: quotePageNext .35s var(--ease) both; }
.share-card blockquote.page-prev { animation: quotePagePrev .35s var(--ease) both; }
.share-card-source { position: relative; z-index: 1; padding-left: 3.2%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--card-muted); font-size: clamp(10px, 1.45vw, 18px); }
.share-card-source::before { content: ""; display: inline-block; width: 36px; height: 1px; vertical-align: middle; margin-right: 8px; background: currentColor; opacity: .7; }
.share-card-bottom { position: relative; z-index: 1; padding-top: 3.2%; border-top: 1px solid rgba(80,96,82,.16); font-size: clamp(9px, 1.25vw, 15px); }
.share-card-bottom span:last-child { display: flex; gap: 8px; color: var(--card-muted); }
.share-card-bottom span:last-child::first-letter { color: var(--card-muted); }
.share-card-bottom #cardTags { align-items: center; flex-wrap: wrap; }
.share-card-bottom #cardTags span { padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.4); }
.card-generator-foot { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 3px 0; }
.card-pager { width: min(430px, 90%); margin: 14px auto -7px; display: grid; grid-template-columns: 38px 1fr 38px; align-items: center; gap: 13px; }
.card-pager[hidden] { display: none; }
.card-pager > button { width: 38px; height: 38px; border: 1px solid rgba(72,93,71,.12); border-radius: 50%; color: var(--green-dark); background: rgba(255,255,255,.72); font: 25px/1 Georgia, serif; cursor: pointer; transition: transform .25s ease, opacity .25s ease, background .25s ease; }
.card-pager > button:hover:not(:disabled) { transform: translateY(-2px); background: white; }
.card-pager > button:disabled { opacity: .3; cursor: default; }
.card-pager > div { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
.card-pager > div > span { height: 3px; overflow: hidden; border-radius: 999px; background: rgba(72,93,71,.12); }
.card-pager > div > span i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--green); transition: width .35s var(--ease); }
.card-pager b { min-width: 62px; color: #7d867b; font-size: 9px; font-weight: 500; text-align: right; }
.card-themes { display: flex; gap: 7px; flex-wrap: wrap; }
.theme-choice { border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px 8px 9px; display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.55); color: #6f776d; font-size: 10px; cursor: pointer; transition: .25s ease; }
.theme-choice i { width: 15px; height: 15px; border-radius: 50%; background: linear-gradient(135deg, #f7f8f4, #dfe7de); }
.theme-choice:nth-child(2) i { background: linear-gradient(135deg, #fff9ed, #eac4a8); }
.theme-choice:nth-child(3) i { background: linear-gradient(135deg, #f8f6fb, #d0cfe4); }
.theme-choice.active { color: var(--green-dark); border-color: rgba(76,102,74,.4); background: rgba(218,229,211,.72); }
.card-generator-foot .primary-button { padding: 12px 18px; }
.card-tip { margin: 13px 3px 0; color: #9aa198; font-size: 9px; }
.toast { position: fixed; z-index: 200; bottom: 28px; left: 50%; transform: translate(-50%, 20px); padding: 11px 18px; border-radius: 999px; color: white; background: rgba(44,62,47,.9); box-shadow: 0 16px 40px rgba(28,40,30,.2); font-size: 12px; opacity: 0; visibility: hidden; transition: .35s var(--ease); }
.toast.show { transform: translate(-50%, 0); opacity: 1; visibility: visible; }
.reveal { opacity: 0; transform: translateY(24px); animation: reveal .9s var(--ease) forwards; }
.delay-1 { animation-delay: .14s; }
@keyframes reveal { to { opacity: 1; transform: none; } }

/* 前台夜间主题 */
html.night-theme body.site-page { --ink: #e8eee6; --muted: #99a49a; --paper: #101713; --paper-deep: #18211b; --white: rgba(31,43,35,.78); --line: rgba(220,235,222,.11); --green: #9eb796; --green-dark: #75906f; --sage: #3b4c3d; background: radial-gradient(circle at 50% -10%, #263027 0, #111713 50%, #0c110e 100%); color: var(--ink); }
html.night-theme .ambient .orb-a { background: radial-gradient(circle, rgba(73,116,77,.44), transparent 68%); }
html.night-theme .ambient .orb-b { background: radial-gradient(circle, rgba(128,91,69,.3), transparent 66%); }
html.night-theme .ambient .orb-c { background: radial-gradient(circle, rgba(82,79,126,.3), transparent 68%); }
html.night-theme .brand-mark { background: #dbe6d4; color: #223027; }
html.night-theme .theme-toggle { background: rgba(19,28,22,.76); }
html.night-theme .glass-panel, html.night-theme .search-panel { background: linear-gradient(135deg, rgba(39,52,42,.82), rgba(23,33,27,.64)); border-color: rgba(225,238,226,.1); box-shadow: 0 28px 75px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.07); }
html.night-theme .hero-quote { color: #e8eee6; }
html.night-theme .sun-disc { background: radial-gradient(circle at 35% 32%, #70786d, #303a31 58%, #1d261f); box-shadow: inset -30px -30px 80px rgba(0,0,0,.25), 0 40px 90px rgba(0,0,0,.25); }
html.night-theme .orbit { border-color: rgba(198,218,199,.16); }
html.night-theme .floating-note, html.night-theme .soft-button, html.night-theme .round-button { color: #d4ddd2; background: rgba(36,48,39,.78); border-color: rgba(220,235,222,.1); }
html.night-theme .primary-button { color: #172019; background: #b7c9ae; }
html.night-theme .marquee-wrap { background: rgba(24,34,27,.62); }
html.night-theme .search-box input { color: #e7ede4; }
html.night-theme .search-box kbd, html.night-theme .icon-button.active { color: #dbe5d8; background: rgba(117,145,112,.28); }
html.night-theme .category-filter.active, html.night-theme .tag-filter { background: rgba(38,51,41,.74); }
html.night-theme .tag-filter:hover, html.night-theme .tag-filter.active { color: #172019; background: #b2c4aa; border-color: #b2c4aa; }
html.night-theme .minimal-select { color: #cdd7cb; background-color: rgba(31,43,35,.82); }
html.night-theme .quote-card { background: rgba(31,42,34,.82); border-color: rgba(220,235,222,.08); box-shadow: 0 15px 40px rgba(0,0,0,.18); }
html.night-theme .quote-card:hover { background: rgba(40,53,43,.94); box-shadow: 0 28px 65px rgba(0,0,0,.3); }
html.night-theme .quote-tags span, html.night-theme .modal-meta span { color: #aeb9ad; background: rgba(74,91,74,.45); }
html.night-theme .quote-pagination button { color: #d4ddd2; background: rgba(32,44,36,.7); border-color: rgba(220,235,222,.1); }
html.night-theme .page-number.active { color: white; background: #667e69; }
html.night-theme .modal-backdrop { background: rgba(3,7,4,.56); }
html.night-theme .modal-card { color: #e8eee6; background: linear-gradient(135deg, rgba(42,56,45,.96), rgba(24,34,28,.93)); border-color: rgba(225,238,226,.11); }
html.night-theme .submission-sheet { color: #e8eee6; background: #19231c; border-color: rgba(225,238,226,.1); }
html.night-theme .field input, html.night-theme .field textarea, html.night-theme .field select { color: #e7eee4; background: rgba(36,48,39,.88); border-color: rgba(220,235,222,.1); }
html.night-theme .field input::placeholder, html.night-theme .field textarea::placeholder { color: #778279; }
html.night-theme .submission-note { color: #b9c5b7; background: rgba(78,100,76,.34); }
html.night-theme .duplicate-warning { color: #d3bc8f; background: rgba(111,85,48,.34); border-color: rgba(211,181,125,.15); }
html.night-theme .duplicate-warning.high-risk { color: #d7a69c; background: rgba(119,65,55,.36); }
html.night-theme .category-choice-field > label > span { color: #cfd8cd; }
html.night-theme .custom-choice { background: rgba(61,79,62,.45); }
html.night-theme .custom-choice small { color: #93a092; }
html.night-theme .submission-tag-choice, html.night-theme .custom-tag-toggle { color: #b8c4b6; background: rgba(43,58,47,.76); border-color: rgba(220,235,222,.1); }
html.night-theme .submission-tag-choice.selected { color: #172019; background: #b2c4aa; border-color: #b2c4aa; }
html.night-theme .footer { color: #8f9a90; }

/* 管理端 */
.admin-page { background: #edf0e8; }
.admin-ambient .orb { opacity: .22; }
.admin-shell.locked { visibility: hidden; }
.admin-login { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 20px; background: radial-gradient(circle at 35% 30%, rgba(205,220,195,.65), transparent 38%), radial-gradient(circle at 75% 70%, rgba(228,197,178,.48), transparent 38%), #eef1e9; transition: opacity .45s ease, visibility .45s; }
.admin-login.unlocked { opacity: 0; visibility: hidden; pointer-events: none; }
.login-card { width: min(430px, 100%); padding: 42px 40px 34px; border-radius: 34px 14px 34px 14px; text-align: center; background: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 35px 90px rgba(44,60,43,.16); backdrop-filter: blur(25px); }
.login-card .brand-mark { margin: 0 auto 20px; }
.login-card > small { color: #899186; font-size: 8px; letter-spacing: .2em; }
.login-card h1 { margin: 8px 0 10px; font: 400 29px "STSong", "SimSun", serif; }
.login-card > p { margin: 0 auto 27px; color: #858d82; font-size: 10px; }
.login-card label { display: grid; gap: 8px; text-align: left; }
.login-card label span { color: #667064; font-size: 10px; font-weight: 600; }
.login-card input { height: 50px; border: 1px solid var(--line); border-radius: 14px; padding: 0 15px; outline: 0; background: rgba(255,255,255,.78); }
.login-card input:focus { border-color: rgba(70,100,69,.45); box-shadow: 0 0 0 4px rgba(91,120,88,.08); }
.login-card .login-error { min-height: 18px; margin: 8px 0; color: #a65c4f; text-align: left; }
.login-card .primary-button { width: 100%; }
.login-card > a { display: inline-block; margin-top: 20px; color: #8b9289; font-size: 9px; }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; }
.admin-sidebar { position: fixed; left: 0; top: 0; bottom: 0; width: 250px; padding: 31px 25px 25px; border-right: 1px solid rgba(55,68,52,.09); background: rgba(244,246,239,.7); backdrop-filter: blur(28px); display: flex; flex-direction: column; z-index: 30; }
.admin-nav { display: grid; gap: 7px; margin-top: 62px; }
.admin-nav button { position: relative; width: 100%; height: 48px; display: flex; align-items: center; gap: 13px; border: 0; border-radius: 14px; background: transparent; color: #737a70; cursor: pointer; padding: 0 15px; font-size: 13px; text-align: left; transition: .25s ease; }
.admin-nav button:hover { transform: translateX(3px); color: var(--ink); }
.admin-nav button.active { color: white; background: var(--green-dark); box-shadow: 0 14px 25px rgba(49,71,52,.16); }
.nav-badge { margin-left: auto; min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; color: #344c3a; background: #dce8d5; font: 9px Georgia, serif; }
.nav-icon { width: 21px; font: 19px Georgia, serif; text-align: center; }
.sidebar-note { margin-top: auto; padding: 15px; border-radius: 15px; background: rgba(255,255,255,.5); display: flex; align-items: center; gap: 10px; }
.sidebar-note div { display: flex; flex-direction: column; gap: 3px; }
.sidebar-note b { font-size: 10px; font-weight: 600; }
.sidebar-note small { color: #969b93; font-size: 8px; }
.pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: #7da271; box-shadow: 0 0 0 0 rgba(125,162,113,.45); animation: pulse 2s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 8px rgba(125,162,113,0); } }
.back-site { margin-top: 13px; padding: 11px; color: #81877e; font-size: 10px; text-align: center; }
.admin-logout { border: 0; padding: 7px; color: #9a7c73; background: transparent; font-size: 9px; cursor: pointer; }
.admin-main { grid-column: 2; min-width: 0; padding: 0 4vw 70px; }
.admin-topbar { min-height: 115px; display: flex; justify-content: space-between; align-items: center; }
.admin-topbar p { margin: 0 0 7px; color: #92988f; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.admin-topbar h1 { margin: 0; font: 400 25px/1.2 "STSong", "SimSun", serif; }
.admin-top-actions { display: flex; align-items: center; gap: 10px; }
.admin-top-actions .primary-button, .section-toolbar .primary-button { padding: 12px 18px; }
.admin-section { display: none; animation: sectionIn .55s var(--ease); }
.admin-section.active { display: block; }
@keyframes sectionIn { from { opacity: 0; transform: translateY(12px); } }
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.stat-card { min-height: 155px; padding: 24px; border-radius: 22px; background: rgba(255,255,255,.62); border: 1px solid rgba(255,255,255,.72); box-shadow: 0 10px 35px rgba(51,65,48,.055); position: relative; overflow: hidden; display: flex; flex-direction: column; }
.stat-card > span { color: #797f76; font-size: 11px; }
.stat-card strong { margin: 13px 0 7px; font: 400 36px/1 Georgia, serif; }
.stat-card small { color: #a1a59f; font-size: 7px; letter-spacing: .18em; }
.stat-card i { position: absolute; right: 18px; top: 12px; color: rgba(72,91,69,.09); font: 68px Georgia, serif; }
.stat-card.accent-card { color: white; background: linear-gradient(135deg, #466049, #314536); }
.stat-card.accent-card > span, .stat-card.accent-card small { color: rgba(255,255,255,.66); }
.stat-card.accent-card i { color: rgba(255,255,255,.1); }
.dashboard-grid { display: grid; grid-template-columns: 1.45fr .85fr; gap: 18px; margin-top: 18px; }
.admin-card { border-radius: 22px; background: rgba(255,255,255,.64); border: 1px solid rgba(255,255,255,.76); box-shadow: 0 12px 38px rgba(51,65,48,.055); }
.recent-card, .category-chart-card { min-height: 375px; padding: 25px; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 17px; }
.card-heading small { color: #999f96; font-size: 7px; letter-spacing: .18em; }
.card-heading h2 { margin: 5px 0 0; font: 400 20px "STSong", serif; }
.card-heading .text-button { font-size: 10px; color: #7f867d; margin-top: 11px; }
.recent-row { display: grid; grid-template-columns: 39px 1fr auto; gap: 13px; align-items: center; padding: 13px 3px; border-top: 1px solid var(--line); cursor: pointer; }
.recent-index { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: white; font: 10px Georgia, serif; }
.recent-content { min-width: 0; }
.recent-content p { margin: 0 0 5px; font: 14px "STKaiti", serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.recent-content small, .recent-row time { color: #969c93; font-size: 8px; }
.chart-row { display: grid; grid-template-columns: 62px 1fr 24px; align-items: center; gap: 10px; margin: 18px 0; font-size: 10px; }
.chart-label { display: flex; align-items: center; gap: 7px; }
.chart-label i { width: 7px; height: 7px; border-radius: 50%; }
.chart-track { height: 6px; background: rgba(71,87,66,.06); border-radius: 999px; overflow: hidden; }
.chart-track span { display: block; width: var(--size); height: 100%; background: var(--color); border-radius: inherit; transform-origin: left; animation: chartGrow .9s var(--ease); }
@keyframes chartGrow { from { transform: scaleX(0); } }
.chart-row > b { text-align: right; font: 11px Georgia, serif; }
.daily-card { min-height: 185px; margin-top: 18px; padding: 34px 42px; border-radius: 25px; color: white; background: linear-gradient(115deg, #506554, #33483a); display: flex; align-items: center; justify-content: space-between; overflow: hidden; box-shadow: 0 23px 50px rgba(47,68,50,.14); }
.daily-card > div:first-child { max-width: 75%; position: relative; z-index: 1; }
.daily-card small { color: rgba(255,255,255,.55); font-size: 8px; letter-spacing: .2em; }
.daily-card blockquote { margin: 18px 0 12px; font: 20px/1.65 "STKaiti", serif; }
.daily-card p { color: rgba(255,255,255,.6); margin: 0; font-size: 9px; }
.daily-orbit { flex: 0 0 125px; height: 125px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; display: grid; place-items: center; position: relative; }
.daily-orbit::before, .daily-orbit::after { content: ""; position: absolute; inset: 16px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; }
.daily-orbit::after { inset: -22px; }
.daily-orbit span { width: 61px; height: 61px; display: grid; place-items: center; border-radius: 50%; color: var(--green-dark); background: #e6e9da; font: 26px "STKaiti", serif; }

.section-toolbar { min-height: 74px; display: flex; align-items: center; gap: 10px; padding: 13px; margin-bottom: 15px; }
.search-box.compact { min-width: 220px; background: rgba(239,242,234,.75); border-radius: 12px; height: 46px; padding: 0 14px; }
.search-box.compact input { font-size: 11px; }
.section-toolbar .minimal-select { min-width: 145px; font-size: 10px; }
.section-toolbar .primary-button { margin-left: auto; }
.table-card { overflow: hidden; }
.table-summary { height: 54px; padding: 0 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; color: #8e948b; font-size: 9px; }
.quote-table { overflow-x: auto; }
.quote-table-head, .quote-table-row { min-width: 820px; display: grid; grid-template-columns: minmax(320px, 2fr) 100px 120px 110px 65px; align-items: center; column-gap: 18px; }
.quote-table-head { height: 40px; padding: 0 20px; background: rgba(235,239,230,.5); color: #999e96; font-size: 8px; letter-spacing: .12em; }
.quote-table-row { min-height: 78px; padding: 12px 20px; border-top: 1px solid var(--line); cursor: pointer; transition: .25s ease; }
.quote-table-row:hover { background: rgba(245,247,241,.78); }
.table-quote { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 11px; min-width: 0; }
.table-quote > i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: white; font: 16px Georgia, serif; }
.table-quote div { min-width: 0; }
.table-quote p { margin: 0 0 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 13px "STKaiti", serif; }
.table-quote small { display: block; color: #999f96; font-size: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table-category { display: inline-flex; align-items: center; gap: 7px; font-size: 9px; }
.table-category i { width: 6px; height: 6px; border-radius: 50%; }
.quote-table-row time { color: #858c82; font-size: 9px; }
.table-tags { display: flex; gap: 4px; overflow: hidden; }
.table-tags span { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; background: #edf0e9; color: #747c72; font-size: 8px; }
.row-actions { display: flex; gap: 5px; opacity: .4; }
.quote-table-row:hover .row-actions { opacity: 1; }
.row-actions button { width: 29px; height: 29px; border: 0; border-radius: 8px; background: #edf0e9; cursor: pointer; }
.table-empty { text-align: center; color: #8d938a; padding: 80px 20px; }

.review-section-head { display: flex; justify-content: space-between; align-items: flex-end; margin: 22px 0 28px; }
.review-section-head h2 { margin: 13px 0 0; font: 400 42px/1.2 "STSong", "SimSun", serif; }
.review-section-head p { color: #858c82; margin: 12px 0 0; font-size: 11px; }
.moderation-state { padding: 9px 13px; border-radius: 999px; display: flex; align-items: center; gap: 7px; color: #60715c; background: rgba(218,230,210,.66); font-size: 9px; }
.moderation-state span { width: 7px; height: 7px; border-radius: 50%; background: #789a70; box-shadow: 0 0 0 4px rgba(120,154,112,.12); }
.moderation-state.disabled { color: #987064; background: rgba(237,219,211,.68); }
.moderation-state.disabled span { background: #b67c6d; box-shadow: 0 0 0 4px rgba(182,124,109,.12); }
.review-toolbar { padding: 9px; min-height: 58px; }
.review-tabs { display: flex; gap: 5px; }
.review-tabs button { border: 0; border-radius: 11px; padding: 10px 14px; color: #798077; background: transparent; font-size: 10px; cursor: pointer; }
.review-tabs button.active { color: white; background: var(--green-dark); }
.review-tabs button span { margin-left: 5px; opacity: .7; }
.submission-review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 15px; }
.submission-review-card { min-height: 270px; padding: 25px; display: flex; flex-direction: column; }
.review-card-top { display: flex; justify-content: space-between; align-items: center; }
.review-category { display: inline-flex; align-items: center; gap: 7px; color: #737b70; font-size: 9px; }
.review-category i { width: 7px; height: 7px; border-radius: 50%; }
.review-status { padding: 5px 9px; border-radius: 999px; font-size: 8px; }
.review-status.pending { color: #926d36; background: #f3ead6; }
.review-status.approved { color: #567350; background: #e2eddd; }
.review-status.rejected { color: #9c5e54; background: #f1e0dc; }
.submission-review-card blockquote { flex: 1; margin: 24px 0 16px; font: 19px/1.75 "STKaiti", "KaiTi", serif; }
.review-source { color: #697168; font-size: 10px; }
.review-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 14px 0; }
.review-tags span { padding: 5px 8px; border-radius: 999px; color: #7c847a; background: #edf0e9; font-size: 8px; }
.review-duplicate { margin-top: 13px; padding: 10px 12px; border-radius: 11px; display: flex; gap: 9px; align-items: center; color: #8a7246; background: #f3ecdc; font-size: 8px; }
.review-duplicate b { flex: 0 0 auto; }
.review-duplicate span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.review-duplicate.high { color: #955f54; background: #f2e2de; }
.review-meta { padding-top: 13px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; color: #999f96; font-size: 8px; }
.review-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 16px; }
.review-actions button { border: 0; border-radius: 999px; padding: 10px 15px; font-size: 9px; cursor: pointer; }
.review-reject { color: #9b5d52; background: #f1e5e0; }
.review-approve { color: white; background: var(--green-dark); }
.review-empty { grid-column: 1 / -1; padding: 70px 20px; text-align: center; color: #8c9389; }
.review-empty > span { font: 50px Georgia, serif; color: rgba(83,107,79,.16); }
.review-empty h3 { margin: 10px 0; font: 400 20px "STSong", serif; }
.review-empty p { font-size: 9px; }

.category-section-head, .settings-head { display: flex; flex-direction: column; align-items: flex-start; margin: 22px 0 34px; }
.category-section-head { position: relative; }
.category-section-head p, .settings-head p { color: #858c82; margin: 12px 0 0; font-size: 11px; }
.category-section-head .primary-button { position: absolute; right: 0; bottom: 0; }
.category-admin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.category-admin-card { --category-color: #748c72; min-height: 225px; padding: 25px; border-radius: 25px; background: rgba(255,255,255,.67); border: 1px solid rgba(255,255,255,.8); position: relative; overflow: hidden; cursor: pointer; transition: .4s var(--ease); }
.category-admin-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.category-admin-card::after { content: ""; position: absolute; width: 110px; height: 110px; right: -45px; bottom: -45px; border-radius: 50%; background: color-mix(in srgb, var(--category-color) 18%, transparent); }
.category-card-top { display: flex; justify-content: space-between; align-items: center; }
.category-glyph { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 15px 6px 15px 6px; color: white; background: var(--category-color); font: 21px "STKaiti", serif; }
.category-card-top button { border: 0; background: none; color: #8e958b; cursor: pointer; font-size: 18px; }
.category-admin-card h3 { margin: 22px 0 9px; font: 400 22px "STSong", serif; }
.category-admin-card p { min-height: 32px; margin: 0; color: #858c82; font-size: 10px; line-height: 1.7; }
.category-card-foot { margin-top: 23px; padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; color: #969c93; font-size: 9px; }
.category-card-foot b { color: var(--category-color); font: 14px Georgia, serif; }

.tag-section-head { margin-bottom: 22px; }
.tag-toolbar { min-height: 68px; margin-bottom: 18px; padding: 10px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.tag-toolbar .search-box { max-width: 520px; }
.tag-toolbar > span { flex: 0 0 auto; color: #8a9187; font-size: 10px; }
.tag-admin-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.tag-admin-card { min-height: 92px; padding: 18px 18px 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 15px; transition: transform .3s var(--ease), box-shadow .3s ease; }
.tag-admin-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.tag-admin-card > div { min-width: 0; display: flex; align-items: center; gap: 13px; }
.tag-admin-card > div > span { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; color: var(--green); background: rgba(213,225,205,.72); font: 18px Georgia, serif; }
.tag-admin-card h3 { margin: 0 0 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 17px "STSong", serif; }
.tag-admin-card p { margin: 0; color: #969c94; font-size: 8px; }
.tag-admin-card > button { border: 0; border-radius: 999px; padding: 7px 10px; color: #7a8378; background: rgba(255,255,255,.72); cursor: pointer; font-size: 9px; }
.tag-empty { grid-column: 1 / -1; min-height: 180px; padding: 35px; display: grid; place-items: center; text-align: center; color: #8f968d; }
.tag-empty > span { font: 32px Georgia, serif; color: var(--green); }
.tag-empty h3 { margin: 5px 0 0; font: 400 18px "STSong", serif; }
.tag-empty p { margin: 0; font-size: 9px; }
.admin-tag-picker { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
.admin-tag-picker button { border: 1px solid var(--line); border-radius: 999px; padding: 6px 9px; color: #768073; background: rgba(255,255,255,.48); cursor: pointer; font-size: 9px; transition: .2s ease; }
.admin-tag-picker button:hover, .admin-tag-picker button.selected { color: white; border-color: var(--green); background: var(--green); transform: translateY(-1px); }
.admin-tag-picker > small { color: #9ba098; font-size: 9px; }
.tag-impact-note { margin: 8px 0 24px; padding: 13px 15px; border-radius: 13px; color: #788275; background: rgba(220,229,213,.5); font-size: 9px; line-height: 1.7; }

.settings-grid { display: grid; gap: 13px; }
.setting-card { min-height: 105px; padding: 20px 23px; display: grid; grid-template-columns: 50px 1fr auto; gap: 18px; align-items: center; }
.setting-card > i { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: #e7ece1; color: var(--green); font-style: normal; font-size: 20px; }
.setting-card h3 { margin: 0 0 7px; font-size: 13px; }
.setting-card p { margin: 0; color: #888f85; font-size: 9px; }
.setting-card .soft-button { min-width: 108px; padding: 11px 16px; font-size: 10px; }
.setting-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.setting-actions .primary-button { min-width: 128px; padding: 11px 16px; font-size: 10px; }
.moderation-setting > i { color: white; background: var(--green); }
.setting-switch { min-width: 120px; display: grid; grid-template-columns: 44px auto; align-items: center; gap: 9px; cursor: pointer; }
.setting-switch input { display: none; }
.setting-switch > span { width: 43px; height: 24px; border-radius: 999px; background: #d1d6ce; position: relative; transition: .25s; }
.setting-switch > span::after { content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: white; box-shadow: 0 2px 6px rgba(0,0,0,.14); transition: .3s var(--ease); }
.setting-switch input:checked + span { background: var(--green); }
.setting-switch input:checked + span::after { transform: translateX(19px); }
.setting-switch b { font-size: 9px; font-weight: 500; }
.file-button input { display: none; }
.danger-zone > i { color: #a65e51; background: #f1e5df; }
.danger-zone .soft-button { color: #985b50; }
.data-note { padding: 23px 25px; margin-top: 22px; border-left: 3px solid var(--green); }
.data-note b { font-size: 11px; }
.data-note p { margin: 9px 0 0; color: #828980; font-size: 9px; line-height: 1.8; }

.form-modal { place-items: stretch end; }
.form-sheet { position: relative; z-index: 1; width: min(600px, 100%); height: 100%; overflow-y: auto; padding: 38px 42px; background: #f5f7f1; box-shadow: -30px 0 80px rgba(35,47,35,.16); transform: translateX(100%); transition: transform .55s var(--ease); }
.form-modal.open .form-sheet { transform: none; }
.form-sheet.small-sheet { width: min(500px, 100%); }
.form-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 35px; }
.form-head small { color: #92998f; font-size: 8px; letter-spacing: .2em; }
.form-head h2 { margin: 6px 0 0; font: 400 27px "STSong", serif; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field { display: flex; flex-direction: column; gap: 9px; margin-bottom: 19px; position: relative; }
.field > span { color: #60675f; font-size: 10px; font-weight: 600; letter-spacing: .05em; }
.field > span b { color: #b26f60; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid rgba(54,67,52,.11); border-radius: 13px; outline: 0; background: rgba(255,255,255,.72); padding: 13px 15px; color: var(--ink); font-size: 12px; transition: border .2s, box-shadow .2s; }
.field textarea { resize: vertical; line-height: 1.8; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: rgba(78,105,76,.45); box-shadow: 0 0 0 4px rgba(116,140,114,.08); }
.field > small { color: #969c93; font-size: 8px; }
.field .char-count { position: absolute; right: 12px; bottom: 10px; background: rgba(255,255,255,.8); padding: 2px 5px; }
.switch-field { min-height: 68px; margin: 3px 0 24px; padding: 13px 15px; border-radius: 14px; background: rgba(255,255,255,.56); display: flex; align-items: center; justify-content: space-between; }
.switch-field > span { display: flex; flex-direction: column; gap: 5px; }
.switch-field b { font-size: 11px; }
.switch-field small { color: #969c93; font-size: 8px; }
.switch-field input { display: none; }
.switch-field i { width: 40px; height: 22px; border-radius: 999px; background: #d7dbd2; position: relative; transition: .25s; cursor: pointer; }
.switch-field i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.12); transition: .25s var(--ease); }
.switch-field input:checked + i { background: var(--green); }
.switch-field input:checked + i::after { transform: translateX(18px); }
.form-actions { padding-top: 20px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 8px; }
.form-actions > span { flex: 1; }
.form-actions button { padding: 12px 18px; font-size: 10px; }
.danger-button { color: #a05b4f; background: rgba(176,89,73,.07); }
.danger-fill { color: white; background: #a8594c; }
.color-options { display: flex; flex-wrap: wrap; gap: 10px; }
.color-option { width: 34px; height: 34px; border: 3px solid #f5f7f1; border-radius: 50%; background: var(--color); box-shadow: 0 0 0 1px rgba(38,47,37,.12); cursor: pointer; transition: transform .25s, box-shadow .25s; }
.color-option.active { transform: scale(1.12); box-shadow: 0 0 0 2px var(--color), 0 6px 14px color-mix(in srgb, var(--color) 28%, transparent); }
.custom-color { position: relative; display: grid; place-items: center; overflow: hidden; color: white; background: conic-gradient(#e85d5d, #d6bd4f, #64a76a, #57a9b1, #6964bd, #bb67a1, #e85d5d); cursor: pointer; }
.custom-color span { position: relative; z-index: 1; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: rgba(35,42,35,.48); font-size: 15px; }
.custom-color input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.confirm-card { position: relative; z-index: 1; width: min(390px, calc(100% - 32px)); padding: 30px; text-align: center; border-radius: 25px; background: #f7f8f3; box-shadow: var(--shadow); transform: scale(.94); transition: transform .35s var(--ease); }
.confirm-modal.open .confirm-card { transform: none; }
.confirm-icon { width: 44px; height: 44px; margin: 0 auto 13px; display: grid; place-items: center; border-radius: 50%; color: #a35d51; background: #f0dfda; font: 22px Georgia, serif; }
.confirm-card h3 { margin: 0 0 10px; font: 400 21px "STSong", serif; }
.confirm-card p { color: #80877e; font-size: 10px; line-height: 1.7; }
.confirm-card > div { display: flex; gap: 8px; justify-content: center; margin-top: 20px; }
.confirm-card button { min-width: 90px; padding: 11px; font-size: 10px; }

@media (max-width: 1100px) {
  .shell { width: min(100% - 44px, 1000px); }
  .hero { grid-template-columns: 1fr 1fr; gap: 0; }
  .hero h1 { font-size: 65px; }
  .quotes-grid { grid-template-columns: 1fr; }
  .admin-shell { grid-template-columns: 205px 1fr; }
  .admin-sidebar { width: 205px; padding-inline: 18px; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .category-admin-grid { grid-template-columns: repeat(2, 1fr); }
  .tag-admin-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 780px) {
  .shell { width: min(100% - 30px, 680px); }
  .topbar { height: 82px; }
  .topnav { display: none; }
  .header-actions { gap: 7px; }
  .mobile-search, .mobile-submit { display: grid; }
  .theme-toggle { width: 58px; }
  .theme-toggle.night-active i { transform: translateX(24px); }
  .hero { min-height: 0; padding: 45px 0 85px; grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(51px, 16vw, 72px); margin-top: 22px; }
  .hero-copy > p { font-size: 14px; }
  .hero-art { height: 490px; margin-top: 34px; }
  .sun-disc { width: 280px; height: 280px; }
  .orbit-one { width: 350px; height: 235px; }
  .orbit-two { width: 270px; height: 390px; }
  .hero-quote { padding: 43px 34px 34px; }
  .hero-quote blockquote { font-size: 21px; }
  .note-a { left: -3%; }
  .section-heading { align-items: flex-start; gap: 20px; }
  .section-heading h2 { font-size: 34px; }
  .explore { padding-top: 90px; }
  .search-panel { top: 8px; }
  .search-box kbd, .view-controls { display: none; }
  .archive-layout { grid-template-columns: 1fr; gap: 25px; }
  .filter-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
  .filter-group { margin-bottom: 12px; }
  .filter-group:first-child { grid-column: 1 / -1; }
  .category-list { display: flex; overflow-x: auto; padding: 3px 0 10px; }
  .category-filter { flex: 0 0 auto; background: rgba(255,255,255,.36); }
  .category-filter small { display: none; }
  .archive-count { display: none; }
  .quote-card { min-height: 290px; }
  .footer { flex-direction: column; justify-content: center; gap: 13px; text-align: center; }
  .modal-card { padding: 48px 30px 35px; border-radius: 45px 20px; }
  .modal-card blockquote { font-size: 24px; }
  .submission-modal { padding: 12px; }
  .submission-sheet { padding: 28px 22px 38px; max-height: calc(100vh - 24px); border-radius: 24px 10px; }
  .card-modal { padding: 12px; }
  .card-generator { padding: 19px; border-radius: 22px; max-height: calc(100vh - 24px); }
  .card-generator-head h2 { font-size: 20px; }
  .card-generator-foot { align-items: stretch; flex-direction: column; }
  .card-generator-foot .primary-button { width: 100%; }

  .admin-shell { display: block; }
  .admin-sidebar { position: fixed; left: 10px; right: 10px; top: auto; bottom: 10px; width: auto; height: 65px; padding: 8px; border: 1px solid rgba(255,255,255,.8); border-radius: 20px; flex-direction: row; align-items: center; box-shadow: 0 20px 50px rgba(40,52,40,.2); }
  .admin-sidebar .brand, .sidebar-note, .back-site, .admin-logout { display: none; }
  .admin-nav { margin: 0; width: 100%; grid-template-columns: repeat(6,1fr); gap: 3px; }
  .admin-nav button { height: 48px; padding: 0; justify-content: center; font-size: 0; }
  .admin-nav button .nav-icon { font-size: 20px; }
  .nav-badge { position: absolute; right: 7px; top: 5px; min-width: 16px; height: 16px; }
  .admin-main { padding: 0 15px 95px; }
  .admin-topbar { min-height: 95px; }
  .admin-topbar h1 { font-size: 20px; }
  .admin-top-actions .round-button { display: none; }
  .admin-top-actions .primary-button { padding: 11px 14px; font-size: 11px; }
  .stat-grid { gap: 9px; }
  .stat-card { min-height: 130px; padding: 18px; }
  .daily-card { padding: 28px; }
  .daily-card > div:first-child { max-width: 100%; }
  .daily-orbit { display: none; }
  .section-toolbar { flex-wrap: wrap; }
  .search-box.compact { min-width: 100%; }
  .section-toolbar .minimal-select { min-width: calc(50% - 5px); }
  .section-toolbar .primary-button { width: 100%; margin-left: 0; }
  .category-admin-grid { grid-template-columns: 1fr; }
  .review-section-head { align-items: flex-start; flex-direction: column; gap: 16px; }
  .submission-review-list { grid-template-columns: 1fr; }
  .review-tabs { width: 100%; overflow-x: auto; }
  .review-tabs button { flex: 0 0 auto; }
  .category-section-head .primary-button { position: static; margin-top: 22px; }
  .tag-admin-grid { grid-template-columns: 1fr; }
  .setting-card { grid-template-columns: 44px 1fr; }
  .setting-card .soft-button { grid-column: 1 / -1; width: 100%; }
  .setting-actions { grid-column: 1 / -1; width: 100%; }
  .setting-actions .soft-button, .setting-actions .primary-button { width: 100%; }
  .form-sheet { padding: 30px 22px 100px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 440px) {
  .quote-pagination { gap: 4px; }
  .quote-pagination { flex-wrap: wrap; }
  .page-numbers { gap: 4px; }
  .page-arrow { min-width: 38px; width: 38px; padding: 0; }
  .page-arrow span { display: none; }
  .page-number { width: 34px; height: 34px !important; }
  .page-ellipsis { width: 18px; }
  .page-jump { flex-basis: 100%; justify-content: center; margin: 7px 0 0; padding: 7px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions > * { width: 100%; }
  .hero-art { height: 455px; }
  .hero-quote { width: 92%; }
  .orbit-one { width: 310px; }
  .orbit-two { height: 350px; }
  .filter-sidebar { grid-template-columns: 1fr; }
  .filter-group:first-child { grid-column: auto; }
  .quote-card { padding: 27px 24px 23px; }
  .quote-card blockquote { font-size: 19px; }
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .stat-card strong { font-size: 30px; }
  .recent-card, .category-chart-card { padding: 19px; }
  .modal-actions { flex-direction: column; }
  .modal-actions button { width: 100%; }
}

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