:root {
  --night: #120b07;
  --night-soft: #21140d;
  --cinnabar: #6f241d;
  --cinnabar-bright: #9b3c2c;
  --gold: #d8ad59;
  --gold-bright: #f2d691;
  --jade: #315f51;
  --jade-bright: #73a98f;
  --ivory: #f3ead5;
  --paper: #e9dcc1;
  --ink: #352719;
  --muted: #7e6c55;
  --line: rgba(101, 71, 35, .18);
  --panel: rgba(250, 244, 229, .92);
  --shadow: 0 28px 72px rgba(39, 20, 8, .17);
  --serif: "Songti SC", "STSong", "Noto Serif SC", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; color-scheme: light; }
body { margin: 0; font-family: var(--sans); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }
.admin-console-body:not(.is-dashboard-home) [data-home-header],
.admin-console-body:not(.is-dashboard-home) [data-home-summary] { display:none !important; }

.palace-atmosphere { position: fixed; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.palace-atmosphere::before { content: ""; position: absolute; inset: 0; opacity: .34; background: repeating-linear-gradient(90deg, transparent 0 79px, rgba(227, 193, 117, .055) 80px), repeating-linear-gradient(0deg, transparent 0 79px, rgba(227, 193, 117, .04) 80px); mask-image: radial-gradient(circle at 48% 35%, #000, transparent 72%); }
.palace-atmosphere i { position: absolute; width: 360px; height: 130px; border: 1px solid rgba(236, 213, 158, .12); border-radius: 52% 48% 48% 52% / 62% 62% 38% 38%; filter: blur(.2px); opacity: .65; }
.palace-atmosphere i::before, .palace-atmosphere i::after { content: ""; position: absolute; bottom: -1px; border: inherit; border-radius: 50%; }
.palace-atmosphere i::before { left: 56px; width: 130px; height: 86px; }
.palace-atmosphere i::after { right: 35px; width: 170px; height: 110px; }
.palace-atmosphere i:nth-child(1) { left: -110px; top: 13%; }
.palace-atmosphere i:nth-child(2) { right: -130px; top: 30%; transform: scale(.8); }
.palace-atmosphere i:nth-child(3) { left: 30%; bottom: 2%; transform: scale(1.15); }
.palace-atmosphere i:nth-child(4) { right: 12%; top: -45px; transform: scale(.65); }

.brand-seal { position: relative; width: 54px; height: 54px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(233, 207, 146, .7); border-radius: 50%; color: var(--gold-bright); box-shadow: inset 0 0 22px rgba(216, 173, 89, .12), 0 0 0 4px rgba(216, 173, 89, .05); }
.brand-seal::before { content: ""; position: absolute; left: 50%; top: -8px; width: 28px; height: 13px; border: 2px solid #82b765; border-right: 0; border-bottom: 0; border-radius: 100% 0 0; transform: translateX(-48%) rotate(-12deg); }
.brand-seal i { position: absolute; left: 50%; top: -9px; width: 17px; height: 9px; border-radius: 100% 0; background: #82b765; transform: rotate(17deg); }
.brand-seal b { font: 500 22px/1 var(--serif); }

/* 登录宫门 */
.admin-login-body { min-height: 100svh; color: var(--ivory); background-color: #080706; background-image: radial-gradient(circle at 50% 28%, rgba(179, 115, 51, .2), transparent 30%), radial-gradient(circle at 16% 80%, rgba(52, 103, 83, .16), transparent 30%), linear-gradient(145deg, rgba(8, 5, 3, .76), rgba(18, 16, 13, .58) 54%, rgba(8, 5, 3, .82)), url("./admin-palace-desktop.webp"); background-position: center; background-size: cover; background-attachment: fixed; }
.login-brand { position: fixed; z-index: 5; left: clamp(20px, 4vw, 64px); top: 24px; display: flex; align-items: center; gap: 14px; }
.login-brand > span:last-child { display: grid; gap: 4px; }
.login-brand strong { font: 500 22px/1.2 var(--serif); letter-spacing: .18em; }
.login-brand small { color: rgba(243, 234, 213, .5); font-size: 8px; letter-spacing: .32em; }
.login-brand em { font-style: normal; }
.login-shell { min-height: 100svh; padding: 110px 20px 48px; display: grid; place-items: center; }
.login-palace { position: relative; width: min(560px, 100%); padding: 72px 50px 38px; border: 1px solid rgba(228, 192, 112, .32); border-radius: 8px 8px 28px 28px; background: linear-gradient(155deg, rgba(55, 27, 15, .94), rgba(22, 13, 8, .96)); box-shadow: 0 45px 120px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 235, 188, .12); }
.login-palace::before, .login-palace::after { content: ""; position: absolute; top: 12px; bottom: 12px; width: 8px; border: 1px solid rgba(216, 173, 89, .35); }
.login-palace::before { left: 14px; border-right: 0; }
.login-palace::after { right: 14px; border-left: 0; }
.palace-eave { position: absolute; left: -28px; right: -28px; top: -18px; height: 48px; display: flex; align-items: flex-start; justify-content: center; border-top: 8px solid #8b3627; background: linear-gradient(180deg, #d5a452 0 5px, #4c1b14 5px 18px, transparent 18px); clip-path: polygon(5% 0, 95% 0, 100% 38%, 78% 32%, 70% 70%, 30% 70%, 22% 32%, 0 38%); }
.palace-eave b { width: 34%; height: 28px; border: 1px solid rgba(240, 212, 148, .46); border-top: 0; }
.palace-eave i { width: 20%; height: 17px; border-bottom: 2px solid rgba(240, 212, 148, .55); }
.login-palace header { text-align: center; }
.login-palace header > span { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .32em; }
.login-palace h1 { margin: 14px 0 10px; font: 500 clamp(44px, 7vw, 62px)/1.1 var(--serif); letter-spacing: .16em; }
.login-palace header p { margin: 0; color: rgba(243, 234, 213, .58); font: 15px/1.8 var(--serif); }
.login-palace form { margin-top: 34px; display: grid; gap: 15px; }
.login-palace label { display: grid; gap: 8px; }
.login-palace label > span { color: rgba(243, 234, 213, .65); font-size: 11px; letter-spacing: .12em; }
.login-palace input { width: 100%; height: 56px; padding: 0 16px; border: 1px solid rgba(230, 199, 132, .25); border-radius: 8px; outline: 0; color: var(--ivory); background: rgba(255, 246, 223, .06); }
.login-palace input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(216, 173, 89, .11); }
.login-palace form button { min-height: 58px; margin-top: 4px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #e3bd6c; border-radius: 999px; color: #2a180c; background: linear-gradient(135deg, #f1d28b, #c99136); box-shadow: 0 16px 36px rgba(0, 0, 0, .26); cursor: pointer; font-weight: 800; }
.login-palace form button b { font-size: 20px; }
.login-palace footer { margin-top: 24px; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 18px; color: rgba(243, 234, 213, .38); font-size: 9px; }
.form-alert { margin: 24px 0 0; padding: 12px 14px; border: 1px solid rgba(221, 111, 84, .3); border-radius: 8px; color: #ffd9cd; background: rgba(137, 47, 34, .24); font-size: 12px; }

/* 总台布局 */
.admin-console-body { min-height: 100svh; color: var(--ink); background-color: #121613; background-image: radial-gradient(circle at 82% 4%, rgba(219, 176, 93, .15), transparent 23%), radial-gradient(circle at 20% 82%, rgba(45, 94, 77, .18), transparent 30%), linear-gradient(142deg, rgba(12, 17, 15, .5), rgba(15, 18, 15, .68)), url("./admin-palace-desktop.webp"); background-position: center; background-size: cover; background-attachment: fixed; }
.admin-console-body .palace-atmosphere i { border-color: rgba(92, 64, 33, .11); }
.admin-sidebar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: 218px; padding: 22px 14px 18px; display: flex; flex-direction: column; color: var(--ivory); background: radial-gradient(circle at 50% 0, rgba(204, 139, 65, .18), transparent 24%), linear-gradient(175deg, #311810, #150d08 60%, #0d0906); box-shadow: 16px 0 50px rgba(60, 34, 13, .18); overflow-y: auto; scrollbar-width: thin; }
.admin-sidebar::before { content: ""; position: absolute; inset: 0; pointer-events: none; border-right: 1px solid rgba(230, 194, 119, .48); background: repeating-linear-gradient(0deg, transparent 0 48px, rgba(227, 193, 117, .025) 49px); }
.sidebar-brand { position: relative; display: flex; align-items: center; gap: 12px; padding: 0 6px 14px; }
.sidebar-brand > span:last-child { display: grid; gap: 4px; }
.sidebar-brand strong { font: 500 18px/1.2 var(--serif); letter-spacing: .12em; white-space: nowrap; }
.sidebar-brand small { color: rgba(243, 234, 213, .42); font-size: 8px; letter-spacing: .22em; }
.sidebar-divider { position: relative; z-index: 1; margin: 7px 5px 9px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 7px; color: rgba(234, 202, 132, .55); }
.sidebar-divider i { height: 1px; background: linear-gradient(90deg, transparent, rgba(234, 202, 132, .34)); }
.sidebar-divider i:last-child { transform: scaleX(-1); }
.sidebar-divider b { font: 500 10px/1 var(--serif); letter-spacing: .18em; }
.service-nav, .tool-nav { position: relative; z-index: 1; display: grid; gap: 5px; }
.service-nav button, .tool-nav button { width: 100%; min-height: 42px; padding: 4px 8px; display: grid; grid-template-columns: 31px 1fr auto; align-items: center; gap: 8px; border: 1px solid transparent; border-radius: 9px; color: rgba(243, 234, 213, .68); background: transparent; cursor: pointer; text-align: left; transition: .2s ease; }
.service-nav button:hover, .tool-nav button:hover { color: white; background: rgba(255, 255, 255, .06); }
.service-nav button.is-active, .tool-nav button.is-active { color: #2b1a0d; border-color: #e0b75f; background: linear-gradient(135deg, #f0d18b, #c9953e); box-shadow: 0 10px 26px rgba(0, 0, 0, .25); }
.service-nav button > b, .tool-nav button > b { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid rgba(232, 203, 143, .28); border-radius: 50%; font: 500 14px/1 var(--serif); }
.service-nav button.is-active > b, .tool-nav button.is-active > b { border-color: rgba(69, 40, 15, .35); }
.service-nav button > span, .tool-nav button > span { font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.service-nav button > i { color: rgba(243, 234, 213, .26); font: normal 8px/1 Georgia, serif; }
.service-nav button.is-active > i { color: rgba(43, 26, 13, .5); }
.tool-divider { margin-top: 16px; }
.tool-nav button { min-height: 37px; }
.tool-nav button > b { width: 25px; height: 25px; font-size: 12px; }
.sidebar-footer { position: relative; z-index: 1; margin-top: auto; padding: 18px 4px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.sidebar-footer a, .sidebar-footer button { width: 100%; min-height: 36px; display: grid; place-items: center; border: 1px solid rgba(236, 210, 151, .18); border-radius: 8px; color: rgba(243, 234, 213, .62); background: rgba(255, 255, 255, .035); cursor: pointer; font-size: 9px; }
.sidebar-footer form { margin: 0; }
.sidebar-footer button { color: #f1cbbf; }

.admin-main { width: calc(100% - 218px); min-height: 100svh; margin-left: 218px; padding: 34px clamp(22px, 3vw, 52px) 60px; }
.console-topbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.console-topbar small { color: #8a6837; font: 800 9px/1 var(--sans); letter-spacing: .24em; }
.console-topbar h1 { margin: 9px 0 0; font: 500 clamp(34px, 4vw, 55px)/1.1 var(--serif); letter-spacing: .08em; }
.admin-console-body .console-topbar > div:first-child > small { color: rgba(237, 204, 135, .72); }
.admin-console-body .console-topbar h1 { color: var(--ivory); text-shadow: 0 3px 24px rgba(0, 0, 0, .45); }
.console-state { min-width: 155px; padding: 10px 14px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(74, 95, 68, .18); border-radius: 999px; background: rgba(255, 250, 237, .62); box-shadow: 0 10px 30px rgba(65, 42, 19, .07); }
.state-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #5a9b67; box-shadow: 0 0 0 5px rgba(90, 155, 103, .12); }
.console-state p { margin: 0; display: grid; gap: 2px; }
.console-state b { font-size: 10px; }
.console-state small { color: #7d725f; font-size: 8px; letter-spacing: 0; }
.console-state.is-error .state-dot { background: #a93d32; box-shadow: 0 0 0 5px rgba(169, 61, 50, .12); }

.summary-ribbon { margin-top: 28px; display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid rgba(104, 73, 36, .16); border-radius: 18px; background: rgba(255, 250, 237, .64); box-shadow: var(--shadow); }
.summary-ribbon[hidden] { display: none; }
.summary-ribbon article { min-height: 105px; padding: 19px 21px; border-right: 1px solid rgba(104, 73, 36, .12); }
.summary-ribbon article:last-child { border-right: 0; }
.summary-ribbon span, .summary-ribbon small { color: var(--muted); font-size: 9px; }
.summary-ribbon strong { display: block; margin: 5px 0 2px; color: #6a3b20; font: 500 34px/1.1 Georgia, var(--serif); }

.console-panel { margin-top: 20px; padding: clamp(22px, 3vw, 38px); border: 1px solid rgba(99, 67, 31, .18); border-radius: 22px; background: linear-gradient(145deg, rgba(255, 252, 242, .93), rgba(240, 229, 205, .88)); box-shadow: var(--shadow); }
.console-panel[hidden] { display: none; }
.workspace-heading { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.workspace-glyph { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid #b7893e; border-radius: 50%; color: #f3d991; background: radial-gradient(circle at 35% 28%, #5e3120, #24140d); box-shadow: 0 13px 28px rgba(72, 39, 16, .23), inset 0 0 0 5px rgba(225, 187, 105, .08); font: 500 24px/1 var(--serif); }
.workspace-heading > div:nth-child(2) > small { color: #946d37; font: 700 9px/1 Georgia, serif; letter-spacing: .12em; }
.workspace-heading h2 { margin: 5px 0 4px; font: 500 31px/1.1 var(--serif); }
.workspace-heading p { margin: 0; color: #746955; font-size: 11px; }
.is-dashboard-home .workspace-heading { gap: 19px; padding-bottom: 25px; }
.is-dashboard-home .workspace-glyph { width: 70px; height: 70px; font-size: 30px; }
.is-dashboard-home .workspace-heading h2 { margin: 6px 0 5px; font-size: 39px; }
.is-dashboard-home .workspace-heading p { font-size: 12px; }
.publish-state { padding: 10px 13px; display: grid; gap: 4px; border: 1px solid rgba(102, 77, 44, .16); border-radius: 10px; background: rgba(255, 255, 255, .45); text-align: right; }
.publish-state span { color: #7e5122; font-size: 10px; font-weight: 800; }
.publish-state small { color: #8d806a; font-size: 8px; }

.workspace-grid { margin-top: 24px; display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 14px; }
.subproject-panel, .content-editor { border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .6); }
.subproject-panel { padding: 14px; align-self: start; }
.subproject-panel > header { padding: 4px 5px 12px; display: flex; justify-content: space-between; color: #77664e; font-size: 9px; }
.subproject-list { display: grid; gap: 5px; }
.subproject-list button { width: 100%; min-height: 53px; padding: 9px 10px; display: grid; grid-template-columns: 26px 1fr; grid-template-rows: auto auto; column-gap: 8px; border: 1px solid transparent; border-radius: 10px; color: #574733; background: rgba(243, 235, 217, .52); cursor: pointer; text-align: left; }
.subproject-list button:hover { border-color: rgba(143, 100, 45, .22); }
.subproject-list button.is-active { color: #f9edcf; border-color: #9c6e30; background: linear-gradient(145deg, #713322, #351c12); box-shadow: 0 10px 22px rgba(58, 27, 12, .18); }
.subproject-list button b { grid-row: 1 / 3; width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; opacity: .6; font: 500 9px/1 Georgia, serif; }
.subproject-list button span { font-size: 11px; font-weight: 800; }
.subproject-list button small { margin-top: 3px; overflow: hidden; color: inherit; opacity: .55; font-size: 8px; white-space: nowrap; text-overflow: ellipsis; }
.subproject-group { margin: 10px 3px 2px; padding-top: 8px; border-top: 1px solid rgba(110, 82, 45, .14); color: #8a6635; font-size: 8px; font-weight: 900; letter-spacing: .16em; }
.subproject-group:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.subproject-list .endgame-nested-entry { color: #f8e7bd; border-color: rgba(197, 146, 62, .58); background: linear-gradient(145deg, #76502a, #382216); box-shadow: 0 10px 24px rgba(65, 35, 17, .16); }
.subproject-list .endgame-nested-entry b { opacity: 1; }

.content-editor { padding: 23px; }
.content-editor > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.content-editor header small { color: #95713d; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.content-editor h3 { margin: 5px 0 0; font: 500 28px/1.2 var(--serif); }
.content-editor header > span { padding: 7px 10px; border-radius: 999px; color: #754c23; background: #ecddbd; font-size: 9px; font-weight: 800; }
.editor-fields { margin-top: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.editor-fields label { display: grid; gap: 6px; }
.editor-fields label > span { color: #786b56; font-size: 9px; }
.field-wide { grid-column: 1 / -1; }
.editor-fields input, .editor-fields select, .editor-fields textarea, .member-search input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid rgba(91, 65, 35, .17); border-radius: 9px; outline: 0; color: var(--ink); background: rgba(255, 255, 255, .78); resize: vertical; }
.editor-fields input:focus, .editor-fields select:focus, .editor-fields textarea:focus, .member-search input:focus { border-color: #af7f35; box-shadow: 0 0 0 3px rgba(175, 127, 53, .11); }
.editor-boundary, .boundary-note { margin-top: 15px; padding: 12px 14px; display: flex; gap: 10px; border-left: 3px solid #487665; color: #536c62; background: rgba(78, 125, 106, .08); font-size: 10px; line-height: 1.6; }
.editor-boundary p, .boundary-note { margin-bottom: 0; }
.editor-boundary p { margin: 0; }
.editor-actions { margin-top: 17px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.editor-actions button { min-height: 48px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; border-radius: 999px; cursor: pointer; font-weight: 800; }
.save-button { border: 1px solid #3c6959; color: white; background: linear-gradient(135deg, #467966, #254c40); }
.publish-button { border: 1px solid #c99a45; color: #3c2611; background: linear-gradient(135deg, #efd18a, #d19e43); }
.editor-actions button:disabled { opacity: .55; cursor: wait; }
.editor-actions b { font-size: 9px; opacity: .65; }
.editor-message { min-height: 18px; margin: 11px 0 0; color: #756852; font-size: 10px; }
.editor-message.is-error { color: #9a3329; }
.editor-message.is-success { color: #337053; }

.service-revisions { margin-top: 18px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .46); }
.service-revisions > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.service-revisions header small, .panel-heading small { color: #97713b; font-size: 8px; font-weight: 800; letter-spacing: .2em; }
.service-revisions h3 { margin: 5px 0 0; font: 500 25px/1.2 var(--serif); }
.service-revisions header p { margin: 0; color: #81745f; font-size: 10px; }
.revision-list { margin-top: 14px; display: grid; gap: 6px; }
.revision-row { padding: 10px 12px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, .55); }
.revision-row > b { color: #875822; font: 500 15px/1 Georgia, serif; }
.revision-row span { display: grid; gap: 2px; font-size: 10px; }
.revision-row small { color: #8a7c67; font-size: 8px; }
.revision-row button { min-height: 31px; padding: 0 10px; border: 1px solid rgba(107, 75, 37, .22); border-radius: 999px; color: #67431f; background: #f3e8d0; cursor: pointer; font-size: 9px; }
.revision-row button:disabled { opacity: .45; cursor: default; }

.panel-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.panel-heading h2 { margin: 7px 0 5px; font: 500 38px/1.1 var(--serif); }
.panel-heading p { margin: 0; color: #756953; font-size: 12px; line-height: 1.7; }
.operation-guide { margin-top: 17px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.operation-guide article, .operation-guide aside { padding: 14px 15px; border: 1px solid rgba(100, 73, 40, .14); border-radius: 12px; background: rgba(255, 255, 255, .5); }
.operation-guide article > b, .operation-guide aside > b { display: block; margin-bottom: 7px; color: #704723; font-size: 10px; letter-spacing: .04em; }
.operation-guide p { margin: 0; color: #706550; font-size: 10px; line-height: 1.72; }
.operation-guide p strong { color: #4f3b25; }
.operation-guide code { padding: 1px 4px; border-radius: 4px; color: #315f51; background: rgba(49, 95, 81, .08); font-size: .92em; overflow-wrap: anywhere; }
.operation-guide aside { grid-column: 1 / -1; padding-top: 11px; padding-bottom: 11px; display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; border-color: rgba(153, 83, 49, .18); border-left: 3px solid #a35c3d; background: rgba(156, 80, 48, .07); }
.operation-guide aside > b { margin: 1px 0 0; color: #883f2d; white-space: nowrap; }
.service-operation-guide { margin-bottom: 19px; }
.service-operation-guide + .workspace-grid { margin-top: 0; }
.phase-badge { padding: 8px 11px; border-radius: 999px; color: #895f22; background: #f0dfb9; font-size: 9px; font-weight: 800; }
.phase-badge.is-live { color: #2e684c; background: #d9eadb; }
.member-search { min-width: 260px; display: grid; gap: 5px; color: #776b57; font-size: 9px; }
.member-table-wrap { margin-top: 18px; overflow: auto; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, .54); }
.member-table { width: 100%; min-width: 1000px; border-collapse: collapse; }
.member-table th, .member-table td { padding: 12px 11px; border-bottom: 1px solid var(--line); text-align: left; font-size: 10px; }
.member-table th { color: #817560; background: rgba(231, 219, 193, .48); font-size: 8px; letter-spacing: .06em; }
.member-table code { color: #396655; }
.member-table tr[hidden] { display: none; }
.panel-error { padding: 12px; color: #8e342b; background: #f4ddd6; }

.blueprint-link { flex: 0 0 auto; padding: 10px 14px; border: 1px solid rgba(72, 118, 101, .25); border-radius: 999px; color: #315f51; background: rgba(78, 125, 106, .09); font-size: 10px; font-weight: 800; }
.panel-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.panel-heading-actions button { min-height: 36px; padding: 0 13px; border: 1px solid rgba(117, 74, 35, .24); border-radius: 999px; color: #69451f; background: rgba(238, 221, 185, .64); cursor: pointer; font-size: 10px; font-weight: 800; }
.endgame-summary { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.endgame-summary article { padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255, 255, 255, .56); }
.endgame-summary span { color: #7c6d57; font-size: 9px; }
.endgame-summary strong { display: block; margin-top: 4px; color: #704421; font: 500 25px/1.1 Georgia, var(--serif); }
.endgame-toolbar { margin-top: 12px; padding: 13px; display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(120px, .7fr)); gap: 8px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, .48); }
.endgame-toolbar label, .endgame-editor-fields label { display: grid; gap: 6px; }
.endgame-toolbar label > span, .endgame-editor-fields label > span { color: #786b56; font-size: 9px; }
.endgame-toolbar input, .endgame-toolbar select, .endgame-editor-fields input, .endgame-editor-fields select, .endgame-editor-fields textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid rgba(91, 65, 35, .17); border-radius: 9px; outline: 0; color: var(--ink); background: rgba(255, 255, 255, .8); resize: vertical; }
.endgame-toolbar input:focus, .endgame-toolbar select:focus, .endgame-editor-fields input:focus, .endgame-editor-fields select:focus, .endgame-editor-fields textarea:focus { border-color: #af7f35; box-shadow: 0 0 0 3px rgba(175, 127, 53, .11); }
.endgame-admin-grid { margin-top: 12px; display: grid; grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.35fr); gap: 12px; }
.endgame-list-panel, .endgame-editor { border: 1px solid var(--line); border-radius: 15px; background: rgba(255, 255, 255, .58); }
.endgame-list-panel { padding: 13px; align-self: start; }
.endgame-list-panel > header { padding: 3px 4px 11px; display: flex; justify-content: space-between; color: #77664e; font-size: 9px; }
.endgame-list { max-height: 780px; display: grid; gap: 6px; overflow: auto; scrollbar-width: thin; }
.endgame-admin-item { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 5px; border: 1px solid transparent; border-radius: 11px; background: rgba(239, 229, 207, .64); overflow: hidden; }
.endgame-admin-item.is-active { border-color: #a27534; color: #f5e9cc; background: linear-gradient(145deg, #6b3423, #321b12); }
.endgame-item-main { min-width: 0; min-height: 67px; padding: 8px; display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 9px; border: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.endgame-item-main > span { grid-row: 1 / 3; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(112, 68, 33, .35); border-radius: 50%; font: 500 14px/1 var(--serif); }
.endgame-item-main > span i { display: none; }
.endgame-item-main strong { overflow: hidden; font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.endgame-item-main small { margin-top: 3px; overflow: hidden; opacity: .62; font-size: 8px; white-space: nowrap; text-overflow: ellipsis; }
.endgame-admin-item > div { padding-right: 6px; display: grid; gap: 3px; }
.endgame-admin-item > div button { width: 28px; height: 27px; border: 1px solid rgba(112, 68, 33, .2); border-radius: 7px; color: inherit; background: rgba(255, 255, 255, .14); cursor: pointer; }
.endgame-admin-item > div button:disabled { opacity: .24; cursor: default; }
.endgame-editor { padding: 21px; }
.endgame-editor > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.endgame-editor header small { color: #95713d; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.endgame-editor h3 { margin: 5px 0 0; font: 500 27px/1.2 var(--serif); }
.endgame-editor header > span { padding: 7px 10px; border-radius: 999px; color: #754c23; background: #ecddbd; font-size: 9px; font-weight: 800; }
.endgame-editor-fields { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.endgame-editor .editor-actions { grid-template-columns: 1fr; }

.media-stage { margin-top: 24px; display: grid; grid-template-columns: 1.4fr .8fr; gap: 13px; }
.media-stage article { min-height: 320px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(255, 255, 255, .7), rgba(230, 215, 184, .5)); }
.media-stage article > b { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #aa7a33; border-radius: 50%; color: #efd493; background: #432319; font: 500 20px/1 var(--serif); }
.media-stage h3 { margin: auto 0 8px; font: 500 29px/1.2 var(--serif); }
.media-stage p { color: #756955; font-size: 12px; line-height: 1.8; }
.media-stage button { min-height: 43px; border: 1px solid var(--line); border-radius: 999px; color: #8a7a61; background: #ded6c6; }

.publication-grid { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.publication-grid > section { padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255, 255, 255, .5); }
.publication-grid h3 { margin: 0 0 15px; font: 500 24px/1.2 var(--serif); }
.audit-list { display: grid; gap: 6px; max-height: 540px; overflow: auto; }
.audit-row { padding: 10px 11px; display: grid; grid-template-columns: auto 1fr; gap: 9px; border-radius: 9px; background: rgba(232, 220, 194, .52); }
.audit-row > b { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: #f3ddaa; background: #513024; font-size: 9px; }
.audit-row span { display: grid; gap: 3px; font-size: 10px; }
.audit-row small { color: #877965; font-size: 8px; }

.settings-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; }
.settings-grid article { min-height: 190px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .58); }
.settings-grid span { color: #8d6b3a; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.settings-grid strong { display: block; margin-top: 28px; font: 500 21px/1.4 var(--serif); }
.settings-grid p { color: #746954; font-size: 11px; line-height: 1.75; }
.empty-state { padding: 28px 14px; color: #8a7d68; text-align: center; font-size: 10px; }
.console-footer { padding: 32px 0 0; color: rgba(242, 224, 184, .62); text-align: center; font-size: 9px; letter-spacing: .1em; text-shadow: 0 2px 12px rgba(0, 0, 0, .45); }
.noscript-note { position: fixed; z-index: 100; left: 50%; bottom: 18px; padding: 11px 16px; border-radius: 999px; color: white; background: #7b2d24; transform: translateX(-50%); }
.mobile-sidebar-trigger, .sidebar-backdrop { display: none; }

@media (max-width: 1050px) {
  .admin-sidebar { width: 184px; }
  .admin-main { width: calc(100% - 184px); margin-left: 184px; padding-left: 22px; padding-right: 22px; }
  .service-nav button, .tool-nav button { grid-template-columns: 29px 1fr; }
  .service-nav button > i { display: none; }
  .workspace-grid { grid-template-columns: 210px minmax(0, 1fr); }
  .endgame-admin-grid { grid-template-columns: 1fr; }
  .endgame-list { max-height: 420px; }
  .operation-guide { grid-template-columns: 1fr; }
  .operation-guide aside { grid-column: auto; }
}

@media (max-width: 820px) {
  .admin-login-body, .admin-console-body { background-attachment: scroll; background-position: center top; background-size: cover; }
  .admin-login-body { background-image: linear-gradient(180deg, rgba(6, 7, 6, .72), rgba(8, 7, 5, .84)), url("./admin-palace-mobile.webp"); }
  .admin-console-body { background-image: linear-gradient(180deg, rgba(8, 13, 11, .48), rgba(10, 13, 11, .7)), url("./admin-palace-mobile.webp"); }
  .mobile-sidebar-trigger { position: fixed; z-index: 55; left: 13px; top: max(13px, env(safe-area-inset-top)); width: 43px; height: 43px; padding: 0 11px; display: grid; align-content: center; gap: 4px; border: 1px solid rgba(240, 211, 147, .42); border-radius: 50%; color: white; background: #2d180f; box-shadow: 0 10px 25px rgba(0, 0, 0, .25); }
  .mobile-sidebar-trigger span { height: 1px; background: #efd28d; }
  .admin-sidebar { width: 214px; transform: translateX(-105%); transition: transform .3s ease; }
  body.sidebar-open .admin-sidebar { transform: none; }
  .sidebar-backdrop { position: fixed; z-index: 25; inset: 0; display: block; opacity: 0; background: rgba(19, 10, 6, .62); backdrop-filter: blur(5px); transition: opacity .25s; }
  .sidebar-backdrop.is-open { opacity: 1; }
  .admin-main { width: 100%; margin-left: 0; padding: 76px 14px 45px; }
  .console-topbar { align-items: flex-start; flex-direction: column; }
  .console-state { position: absolute; right: 14px; top: 15px; min-width: 142px; }
  .summary-ribbon { grid-template-columns: repeat(2, 1fr); }
  .summary-ribbon article:nth-child(2) { border-right: 0; }
  .summary-ribbon article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .workspace-grid { grid-template-columns: 1fr; }
  .subproject-list { grid-template-columns: repeat(2, 1fr); }
  .publication-grid { grid-template-columns: 1fr; }
  .endgame-toolbar { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .login-brand { top: 16px; left: 17px; }
  .login-brand .brand-seal { width: 47px; height: 47px; }
  .login-shell { padding: 92px 12px 28px; }
  .login-palace { padding: 60px 25px 28px; }
  .login-palace h1 { font-size: 45px; }
  .console-topbar h1 { max-width: 250px; font-size: 34px; }
  .summary-ribbon article { min-height: 91px; padding: 15px; }
  .summary-ribbon strong { font-size: 28px; }
  .console-panel { padding: 18px 13px; border-radius: 17px; }
  .workspace-heading { grid-template-columns: auto 1fr; gap: 12px; }
  .workspace-glyph { width: 54px; height: 54px; font-size: 24px; }
  .workspace-heading h2 { font-size: 31px; }
  .is-dashboard-home .workspace-heading h2 { font-size: 31px; }
  .workspace-heading p { line-height: 1.55; }
  .publish-state { grid-column: 1 / -1; text-align: left; }
  .subproject-list { grid-template-columns: 1fr; }
  .content-editor { padding: 18px 13px; }
  .editor-fields { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .editor-actions { grid-template-columns: 1fr; }
  .service-revisions > header, .panel-heading { align-items: flex-start; flex-direction: column; }
  .revision-row { grid-template-columns: auto 1fr; }
  .revision-row button { grid-column: 1 / -1; }
  .member-search { min-width: 100%; width: 100%; }
  .media-stage, .settings-grid { grid-template-columns: 1fr; }
  .operation-guide aside { display: block; }
  .operation-guide aside > b { margin-bottom: 7px; }
  .media-stage article { min-height: 250px; }
  .endgame-summary { grid-template-columns: repeat(2, 1fr); }
  .endgame-toolbar { grid-template-columns: 1fr; }
  .endgame-editor { padding: 17px 12px; }
  .endgame-editor-fields { grid-template-columns: 1fr; }
}

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