.cookie-consent[data-v-2c371c0b]{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 6vw;background:var(--gsl-panel);border-top:1px solid var(--gsl-hairline);box-shadow:0 -6px 20px #14120f14;color:var(--gsl-paper-ink)}.consent-text[data-v-2c371c0b]{flex:1;font-size:13px;line-height:1.9;letter-spacing:.04em;color:var(--gsl-ink-2)}.consent-actions[data-v-2c371c0b]{display:flex;align-items:center;gap:26px;flex:0 0 auto}.consent-link[data-v-2c371c0b]{background:transparent;border:none;color:var(--gal-gold-deep);font-size:13px;letter-spacing:.1em;padding-bottom:2px;border-bottom:1px solid transparent}.consent-link[data-v-2c371c0b]:hover{border-bottom-color:currentColor}.consent-accept[data-v-2c371c0b]{background:var(--gal-gold);border:1px solid var(--gal-gold);color:var(--gal-gold-ink);font-size:13px;font-weight:600;letter-spacing:.06em;padding:8px 18px;border-radius:6px;white-space:nowrap;cursor:pointer}.consent-accept[data-v-2c371c0b]:hover{background:var(--gal-gold-hi);border-color:var(--gal-gold-hi);color:var(--gal-gold-ink)}.consent-dismiss[data-v-2c371c0b]{background:transparent;border:none;font-size:18px;line-height:1;color:var(--gsl-faint);padding:2px 6px;cursor:pointer}.consent-dismiss[data-v-2c371c0b]:hover{color:var(--gsl-paper-ink)}.policy-mask[data-v-2c371c0b]{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:#0009}.policy-panel[data-v-2c371c0b]{width:min(720px,92vw);max-height:80vh;display:flex;flex-direction:column;background:#faf8f4;color:#26241f}.policy-head[data-v-2c371c0b]{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid rgba(38,36,31,.14)}.policy-title[data-v-2c371c0b]{font-size:20px;letter-spacing:.1em}.policy-close[data-v-2c371c0b]{background:transparent;border:none;font-size:24px;line-height:1;color:#8a857c}.policy-close[data-v-2c371c0b]:hover{color:#26241f}.policy-body[data-v-2c371c0b]{flex:1;overflow-y:auto;padding:24px 28px}.policy-loading[data-v-2c371c0b]{color:#8a857c;letter-spacing:.1em}.policy-content[data-v-2c371c0b]{font-family:inherit;font-size:13px;line-height:2;white-space:pre-wrap;word-break:break-word}.policy-foot[data-v-2c371c0b]{display:flex;justify-content:flex-end;padding:18px 28px;border-top:1px solid rgba(38,36,31,.14)}.consent-enter-active[data-v-2c371c0b],.consent-leave-active[data-v-2c371c0b]{transition:opacity .35s ease,transform .35s ease}.consent-enter-from[data-v-2c371c0b],.consent-leave-to[data-v-2c371c0b]{opacity:0;transform:translateY(16px)}@media(max-width:768px){.cookie-consent[data-v-2c371c0b]{flex-direction:column;align-items:stretch;gap:16px;padding:18px 20px}.consent-actions[data-v-2c371c0b]{justify-content:space-between}}.guest-gate[data-v-66c0bdba]{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#080808d1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gate-panel[data-v-66c0bdba]{width:min(760px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;background:var(--gal-paper, #faf8f4);color:var(--gal-ink-dark, #26241f);border:1px solid rgba(200,169,106,.4)}.gate-panel.narrow[data-v-66c0bdba]{width:min(520px,100%);padding:34px 32px;gap:18px}.gate-head[data-v-66c0bdba]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:26px 30px 0}.gate-eyebrow[data-v-66c0bdba]{margin:0 0 8px;font-size:11px;letter-spacing:.22em;color:var(--gal-gold, #c8a96a)}.gate-title[data-v-66c0bdba]{margin:0;font-size:22px;letter-spacing:.06em;line-height:1.5}.gate-version[data-v-66c0bdba]{flex:0 0 auto;font-size:12px;letter-spacing:.12em;color:#8a857c;border:1px solid rgba(38,36,31,.18);padding:3px 9px}.gate-hint[data-v-66c0bdba]{margin:16px 30px 0;font-size:13px;line-height:1.9;color:#5f5b54}.gate-body[data-v-66c0bdba]{flex:1;overflow-y:auto;margin:16px 30px;padding:20px 24px;border:1px solid rgba(38,36,31,.12);background:#fff;outline:none}.gate-content[data-v-66c0bdba]{margin:0;font-family:inherit;font-size:13px;line-height:2.1;white-space:pre-wrap;word-break:break-word}.gate-verify[data-v-66c0bdba]{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 30px 14px;padding-bottom:14px;border-bottom:1px dashed rgba(38,36,31,.16)}.gate-verify-widget[data-v-66c0bdba]{min-width:302px}.gate-verify-tip[data-v-66c0bdba]{margin:0;font-size:12px;letter-spacing:.06em;color:#a4682f}.gate-verify-tip.warn[data-v-66c0bdba]{color:#b0392b}.gate-verify-retry[data-v-66c0bdba]{font-size:12px;padding:5px 12px;border:1px solid rgba(38,36,31,.24);background:transparent;border-radius:2px;cursor:pointer;letter-spacing:.08em}.gate-foot[data-v-66c0bdba]{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 30px 24px;border-top:1px solid rgba(38,36,31,.12)}.gate-flag[data-v-66c0bdba]{margin:0;font-size:12px;letter-spacing:.06em;color:#a4682f}.gate-flag.done[data-v-66c0bdba]{color:#3f7a4c}.gate-text[data-v-66c0bdba]{margin:0;font-size:14px;line-height:2}.gate-text.muted[data-v-66c0bdba]{font-size:13px;color:#8a857c}.gate-actions[data-v-66c0bdba]{display:flex;align-items:center;gap:14px;flex:0 0 auto}.gate-primary[data-v-66c0bdba],.gate-ghost[data-v-66c0bdba]{font-size:13px;letter-spacing:.14em;padding:10px 22px;cursor:pointer;border:1px solid var(--gal-ink-dark, #26241f);background:var(--gal-ink-dark, #26241f);color:#faf8f4}.gate-ghost[data-v-66c0bdba]{background:transparent;color:var(--gal-ink-dark, #26241f)}.gate-primary[data-v-66c0bdba]:disabled{opacity:.4;cursor:not-allowed}.gate-primary[data-v-66c0bdba]:not(:disabled):hover,.gate-ghost[data-v-66c0bdba]:hover{border-color:var(--gal-gold, #c8a96a);color:var(--gal-gold, #c8a96a)}.gate-primary[data-v-66c0bdba]:not(:disabled):hover{background:#26241fe6}@media(max-width:768px){.guest-gate[data-v-66c0bdba]{padding:12px}.gate-panel[data-v-66c0bdba]{max-height:94vh}.gate-head[data-v-66c0bdba],.gate-foot[data-v-66c0bdba]{padding-left:18px;padding-right:18px}.gate-hint[data-v-66c0bdba],.gate-body[data-v-66c0bdba]{margin-left:18px;margin-right:18px}.gate-foot[data-v-66c0bdba]{flex-direction:column;align-items:stretch;gap:12px}.gate-actions[data-v-66c0bdba]{justify-content:space-between}}.site-footer[data-v-9d6617c4]{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;padding:16px;text-align:center;color:var(--gsl-text-muted);font-size:12px}.site-footer a[data-v-9d6617c4]{color:inherit;text-decoration:none}.site-footer a[data-v-9d6617c4]:hover{text-decoration:underline}.site-footer.light[data-v-9d6617c4]{color:#ffffffbf}.police-beian[data-v-9d6617c4]{display:inline-flex;align-items:center;gap:6px}.police-icon[data-v-9d6617c4]{width:16px;height:16px;flex-shrink:0}.site-footer.dark[data-v-9d6617c4]{flex-direction:column;gap:14px;padding:56px 8vw 48px;background:var(--gsl-paper);color:var(--gsl-paper-muted);border-top:1px solid var(--gsl-hairline)}.site-footer.dark .footer-brand[data-v-9d6617c4]{font-size:16px;letter-spacing:.3em;color:var(--gsl-paper-ink)}.site-footer.dark .footer-copyright[data-v-9d6617c4]{font-size:12px;letter-spacing:.08em}.site-footer.dark .footer-beian[data-v-9d6617c4]{display:flex;align-items:center;gap:18px;max-width:100%;flex-wrap:wrap;justify-content:center;row-gap:6px;font-size:12px}.site-footer.dark a[data-v-9d6617c4]{color:inherit}.site-footer.dark a[data-v-9d6617c4]:hover{color:var(--gal-gold-deep);text-decoration:none}.auth-layout[data-v-3d344eaf]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gsl-paper);padding:24px}.auth-card[data-v-3d344eaf]{width:100%;max-width:420px;background:var(--gsl-panel);border:1px solid var(--gsl-hairline);border-radius:var(--radius-card);padding:36px 32px;box-shadow:var(--shadow-soft)}.auth-brand[data-v-3d344eaf]{text-align:center;margin-bottom:28px}.auth-brand h1[data-v-3d344eaf]{font-family:var(--gal-serif);font-size:26px;font-weight:600;letter-spacing:.22em;text-indent:.22em;color:var(--gsl-paper-ink)}.auth-brand h1[data-v-3d344eaf]:after{content:"";display:block;width:40px;height:1px;background:var(--gal-gold);margin:13px auto 0}.auth-brand p[data-v-3d344eaf]{margin-top:12px;color:var(--gsl-paper-muted);font-size:11px;letter-spacing:.2em}.auth-footer[data-v-3d344eaf]{width:100%;max-width:720px}.user-layout[data-v-c1eeb52d]{min-height:100vh;display:flex;flex-direction:column;background:var(--gal-paper);color:var(--gal-paper-ink)}.topbar[data-v-c1eeb52d]{background:var(--gsl-panel);color:var(--gsl-paper-ink);border-bottom:1px solid var(--gsl-hairline)}.topbar-inner[data-v-c1eeb52d]{max-width:1100px;margin:0 auto;padding:0 32px;min-height:64px;display:flex;align-items:center;gap:28px}.brand[data-v-c1eeb52d]{font-size:18px;letter-spacing:.26em;color:var(--gsl-paper-ink);white-space:nowrap;flex:none}.nav[data-v-c1eeb52d]{display:flex;align-items:center;gap:28px;flex:1;min-width:0}.nav-link[data-v-c1eeb52d]{display:inline-flex;align-items:center;font:400 13px/1.4 var(--font-body);letter-spacing:.16em;white-space:nowrap;color:var(--gsl-ink-2);opacity:.85;padding:4px 0;border:0;border-bottom:1px solid transparent;background:none;cursor:pointer;transition:opacity .3s ease,color .3s ease}.nav-link[data-v-c1eeb52d]:hover{opacity:1}.nav a.router-link-active[data-v-c1eeb52d]{opacity:1;color:var(--gal-gold-deep);border-bottom-color:var(--gal-gold-deep)}.nav-grp[data-v-c1eeb52d]{position:relative;flex:none}.nav-grp.is-active .nav-btn[data-v-c1eeb52d]{opacity:1;color:var(--gal-gold-deep);border-bottom-color:var(--gal-gold-deep)}.nav-grp.is-open .nav-btn[data-v-c1eeb52d]{opacity:1;color:var(--gal-gold-deep)}.nav-chev[data-v-c1eeb52d]{width:5px;height:5px;margin-left:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);translate:0 -2px;transition:transform .18s ease-out}.nav-grp.is-open .nav-chev[data-v-c1eeb52d]{transform:rotate(-135deg);translate:0 2px}.nav-pop[data-v-c1eeb52d]{position:absolute;top:calc(100% + 10px);left:0;min-width:184px;background:var(--gsl-panel);border:1px solid var(--gsl-hairline);border-radius:6px;box-shadow:var(--shadow-soft);padding:8px 0;z-index:50}.nav-pop-item[data-v-c1eeb52d]{display:block;padding:9px 20px;font-size:13px;letter-spacing:.12em;white-space:nowrap;color:var(--gsl-ink-2);border-left:3px solid transparent}.nav-pop-item[data-v-c1eeb52d]:hover{background:var(--gsl-paper-deep)}.nav-pop-item.is-current[data-v-c1eeb52d]{color:var(--gal-gold-deep);border-left-color:var(--gal-gold);font-weight:600}.nav-pop-enter-active[data-v-c1eeb52d],.nav-pop-leave-active[data-v-c1eeb52d]{transition:opacity .18s ease-out,transform .18s ease-out}.nav-pop-enter-from[data-v-c1eeb52d],.nav-pop-leave-to[data-v-c1eeb52d]{opacity:0;transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.nav-pop-enter-active[data-v-c1eeb52d],.nav-pop-leave-active[data-v-c1eeb52d]{transition:none}.nav-pop-enter-from[data-v-c1eeb52d],.nav-pop-leave-to[data-v-c1eeb52d]{transform:none}}.user-area[data-v-c1eeb52d]{display:flex;align-items:center;gap:18px;flex:none}.user-name[data-v-c1eeb52d]{font-size:13px;letter-spacing:.08em;opacity:.85}.logout-link[data-v-c1eeb52d]{background:transparent;border:none;color:var(--gsl-paper-muted);font-size:13px;letter-spacing:.16em;padding-bottom:2px;border-bottom:1px solid currentColor;transition:color .3s ease}.logout-link[data-v-c1eeb52d]:hover{color:var(--gal-gold-deep)}.content[data-v-c1eeb52d]{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:48px 32px 72px}@media(min-width:769px)and (max-width:949px){.topbar-inner[data-v-c1eeb52d]{gap:16px;padding:0 20px}.nav[data-v-c1eeb52d]{gap:16px}.brand[data-v-c1eeb52d]{font-size:16px;letter-spacing:.14em}.user-area[data-v-c1eeb52d]{gap:10px}}@media(max-width:768px){.topbar-inner[data-v-c1eeb52d]{flex-wrap:wrap;min-height:0;align-items:baseline;gap:8px 14px;padding:14px 16px 12px}.brand[data-v-c1eeb52d]{order:1;font-size:16px;letter-spacing:.16em}.user-area[data-v-c1eeb52d]{order:2;margin-left:auto;gap:12px}.nav[data-v-c1eeb52d]{order:3;flex:1 0 100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px 2px;margin-top:2px;padding-top:10px;border-top:1px solid var(--gsl-hairline)}.nav-link[data-v-c1eeb52d]{font-size:12.5px;letter-spacing:.04em;text-align:center;padding:6px 0;border-bottom:none;justify-content:center}.nav a.router-link-active[data-v-c1eeb52d]{border-bottom:none}.content[data-v-c1eeb52d]{padding:28px 16px 56px}}.admin-layout[data-v-49dc84e4]{min-height:100vh;display:flex}.sidebar[data-v-49dc84e4]{width:220px;background:var(--gsl-panel);color:var(--gsl-paper-ink);border-right:1px solid var(--gsl-hairline);display:flex;flex-direction:column}.sidebar-brand[data-v-49dc84e4]{padding:20px 18px;font-family:var(--gal-serif);font-weight:600;letter-spacing:.18em;border-bottom:1px solid var(--gsl-hairline)}.menu[data-v-49dc84e4]{display:flex;flex-direction:column;padding:12px 0}.grp[data-v-49dc84e4]{padding:14px 18px 4px;font-size:11px;letter-spacing:.14em;color:var(--gsl-faint)}.menu a[data-v-49dc84e4]{padding:10px 18px;opacity:.75;border-left:3px solid transparent}.menu a[data-v-49dc84e4]:hover{opacity:1;background:var(--gsl-paper-deep)}.menu a.router-link-active[data-v-49dc84e4]{opacity:1;font-weight:600;border-left-color:var(--gsl-accent);background:var(--gsl-paper-deep)}.main[data-v-49dc84e4]{flex:1;display:flex;flex-direction:column;min-width:0}.topbar[data-v-49dc84e4]{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 24px;background:var(--gsl-panel);border-bottom:1px solid var(--gsl-hairline)}.topbar-title[data-v-49dc84e4]{font-weight:600}.user-area[data-v-49dc84e4]{display:flex;align-items:center;gap:16px}.user-area a[data-v-49dc84e4]{color:var(--gal-gold-deep)}.user-name[data-v-49dc84e4]{color:var(--gsl-text-muted)}.content[data-v-49dc84e4]{flex:1;padding:24px;overflow:auto}.nav-toggle[data-v-49dc84e4]{display:none}@media(max-width:900px){.nav-toggle[data-v-49dc84e4]{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:40px;height:40px;margin-right:10px;border:1px solid var(--gsl-hairline);border-radius:var(--radius-btn);background:var(--gsl-paper)}.nav-toggle span[data-v-49dc84e4]{display:block;width:16px;height:2px;background:var(--gsl-paper-ink);border-radius:1px}.sidebar[data-v-49dc84e4]{position:fixed;top:0;left:0;bottom:0;z-index:40;width:280px;max-width:82vw;transform:translate(-100%);transition:transform .24s ease;box-shadow:var(--shadow-deep);overflow-y:auto}.admin-layout.nav-open .sidebar[data-v-49dc84e4]{transform:translate(0)}.nav-scrim[data-v-49dc84e4]{position:fixed;inset:0;z-index:30;border:none;padding:0;background:#14120f70}.topbar[data-v-49dc84e4]{padding:0 12px}.user-area[data-v-49dc84e4]{gap:10px}.user-name[data-v-49dc84e4]{display:none}.content[data-v-49dc84e4]{padding:14px 12px}}.gallery-nav[data-v-1561e313]{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 40px;color:var(--gsl-paper-ink);background:transparent;transition:background .4s ease,color .4s ease}.gallery-nav.solid[data-v-1561e313]{background:var(--gsl-panel);color:var(--gsl-paper-ink);border-bottom:1px solid var(--gsl-hairline)}.gallery-nav.solid .nav-link.router-link-active[data-v-1561e313]{color:var(--gal-gold-deep);border-bottom-color:var(--gal-gold-deep)}.nav-brand[data-v-1561e313]{font-size:20px;letter-spacing:.3em;color:inherit;font-family:var(--gal-serif);font-weight:600;white-space:nowrap;text-decoration:none}.nav-links[data-v-1561e313]{display:flex;gap:30px}.nav-link[data-v-1561e313]{font-size:13px;letter-spacing:.16em;color:inherit;opacity:.66;padding:4px 0;border-bottom:1px solid transparent;text-decoration:none;transition:opacity .3s ease,color .3s ease}.nav-link[data-v-1561e313]:hover{opacity:1}.nav-link.router-link-active[data-v-1561e313]{opacity:1;color:var(--gal-gold-deep);border-bottom-color:var(--gal-gold-deep)}.nav-toggle[data-v-1561e313]{display:none;flex-direction:column;gap:6px;background:transparent;border:none;padding:8px}.nav-toggle span[data-v-1561e313]{display:block;width:22px;height:1px;background:currentColor}.mobile-menu[data-v-1561e313]{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;background:var(--gsl-paper);color:var(--gsl-paper-ink)}.menu-item[data-v-1561e313]{color:inherit;font-size:22px;letter-spacing:.3em;opacity:.85;text-decoration:none}.menu-item.router-link-active[data-v-1561e313],.menu-item[data-v-1561e313]:hover{color:var(--gal-gold-deep)}.menu-enter-active[data-v-1561e313],.menu-leave-active[data-v-1561e313]{transition:opacity .35s ease}.menu-enter-from[data-v-1561e313],.menu-leave-to[data-v-1561e313]{opacity:0}@media(max-width:768px){.gallery-nav[data-v-1561e313]{padding:0 20px}.nav-links[data-v-1561e313]{display:none}.nav-toggle[data-v-1561e313]{display:flex}.nav-brand[data-v-1561e313]{font-size:17px;letter-spacing:.22em}}.gallery-layout[data-v-21acf1e5]{min-height:100vh;background:var(--gal-paper);display:flex;flex-direction:column}.gallery-main[data-v-21acf1e5]{flex:1 1 auto;display:flex;flex-direction:column}.gallery-main[data-v-21acf1e5]>:first-child{flex:1 1 auto}:root{--gsl-primary: #1f3a5f;--gsl-primary-dark: #16293f;--gsl-accent: #c8a96a;--gsl-bg: #faf8f4;--gsl-border: #e2e5e9;--gsl-text: #4b4640;--gsl-text-muted: #8a857c;--gsl-paper: #faf8f4;--gsl-panel: #ffffff;--gsl-paper-deep: #f1eee7;--gsl-paper-ink: #26241f;--gsl-paper-muted: #8a857c;--gsl-ink-2: #4b4640;--gsl-faint: #a9a39a;--gsl-hairline: rgba(38, 36, 31, .14);--gsl-hairline-2: rgba(38, 36, 31, .2);--gal-gold-deep: #a8894f;--gal-gold-hi: #d2b477;--gal-gold-ink: #1c1509;--c-ok: #4a7c59;--c-ok-bg: #e7f0ea;--c-err: #a8402f;--c-err-bg: #f6e8e5;--c-info: #1f3a5f;--radius-btn: 6px;--radius-card: 10px;--radius-badge: 999px;--shadow-deep: 0 18px 48px rgba(20, 18, 15, .24);--shadow-soft: 0 2px 10px rgba(20, 18, 15, .06);--font-body: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: Consolas, "Courier New", monospace;--gal-dark: #0e0e0e;--gal-dark-soft: #161616;--gal-ink: #f5f2ec;--gal-ink-muted: rgba(245, 242, 236, .6);--gal-gold: #c8a96a;--gal-paper: #faf8f4;--gal-paper-ink: #26241f;--gal-paper-muted: #8a857c;--gal-hairline: rgba(38, 36, 31, .14);--gal-serif: "Songti SC", "STSong", "SimSun", Georgia, "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--gsl-bg);color:var(--gsl-text);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 18px;border:1px solid var(--gsl-hairline-2);border-radius:var(--radius-btn);background:var(--gsl-panel);color:var(--gsl-paper-ink);font-size:13px;font-weight:400;white-space:nowrap;flex:none;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){border-color:var(--gal-gold-deep);color:var(--gal-gold-deep)}.btn:disabled{background:var(--gsl-paper-deep);border-color:var(--gsl-hairline);color:var(--gsl-faint);cursor:not-allowed}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{color:var(--gsl-text-muted);font-size:13px}.field input{padding:9px 12px;border:1px solid var(--gsl-border);border-radius:2px;outline:none}.field input:focus{border-color:var(--gal-gold);box-shadow:0 0 0 3px #c8a96a26}.field textarea,.field select{padding:9px 12px;border:1px solid var(--gsl-border);border-radius:2px;outline:none;background:#fff}.field textarea:focus,.field select:focus{border-color:var(--gal-gold);box-shadow:0 0 0 3px #c8a96a26}.alert-error{padding:10px 12px;margin-bottom:16px;border-radius:6px;background:var(--c-err-bg);color:var(--c-err);font-size:13px}.alert-success{padding:10px 12px;margin-bottom:16px;border-radius:6px;background:var(--c-ok-bg);color:var(--c-ok);font-size:13px}.gal-serif{font-family:var(--gal-serif);font-weight:600}.gal-link-button{display:inline-block;padding-bottom:6px;border:none;background:transparent;color:inherit;font-size:13px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid currentColor;transition:color .3s ease,border-color .3s ease}.gal-link-button:hover{color:var(--gal-gold);border-color:var(--gal-gold)}.gal-section-title{font-family:var(--gal-serif);font-size:30px;font-weight:600;letter-spacing:.08em;color:var(--gal-paper-ink)}.gal-section-subtitle{margin-top:10px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gal-paper-muted)}.gal-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.gal-reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.gal-reveal{opacity:1;transform:none;transition:none}}.ts-verify{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:4px 0 14px;padding:12px 0 14px;border-top:1px solid var(--gsl-hairline);border-bottom:1px solid var(--gsl-hairline)}.ts-verify-widget{min-width:302px}.ts-verify-tip{margin:0;font-size:12px;line-height:1.7;letter-spacing:.04em;color:#a4682f}.ts-verify-tip.warn{color:#b0392b}.ts-verify-retry{padding:5px 12px;font-size:12px;letter-spacing:.08em;color:var(--gsl-text);background:transparent;border:1px solid rgba(38,36,31,.24);border-radius:2px;cursor:pointer}.btn.btn-primary{background:var(--gal-gold);border-color:var(--gal-gold);color:var(--gal-gold-ink);font-weight:600;letter-spacing:.06em}.btn.btn-primary:hover:not(:disabled){background:var(--gal-gold-hi);border-color:var(--gal-gold-hi);color:var(--gal-gold-ink)}.btn.btn-ink{background:var(--gsl-paper-ink);border-color:var(--gsl-paper-ink);color:#f5f2ec;font-weight:600}.btn.btn-danger{background:transparent;border-color:#a8402f66;color:var(--c-err)}.btn.btn-danger:hover:not(:disabled){background:var(--c-err-bg);border-color:var(--c-err);color:var(--c-err)}.link-btn{background:none;border:none;padding:0 0 1px;font-size:12px;color:var(--gal-gold-deep);cursor:pointer;text-decoration:none;border-bottom:1px solid rgba(168,137,79,.4)}.link-btn:hover{color:var(--gal-gold)}.badge{display:inline-flex;align-items:center;padding:2px 9px;border:1px solid var(--gsl-hairline-2);border-radius:var(--radius-badge);font-size:10.5px;letter-spacing:.04em;color:var(--gsl-paper-muted);white-space:nowrap}.badge-ok{background:transparent;border-color:#4a7c5966;color:var(--c-ok)}.badge-warn{background:transparent;border-color:#a8894f6b;color:var(--gal-gold-deep)}.badge-err{background:transparent;border-color:#a8402f66;color:var(--c-err)}.badge-info{background:transparent;border-color:#1f3a5f59;color:var(--c-info)}.kicker{font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gsl-paper-muted)}.rule{width:40px;height:1px;background:var(--gal-gold);margin-top:11px}.num{font-family:Georgia,var(--gal-serif);font-variant-numeric:tabular-nums;letter-spacing:.02em}.m-cards{display:none}@media(max-width:720px){.admin-page{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-page .data-table{min-width:600px}.admin-page .filter-input,.admin-page .search-input{min-width:0;font-size:16px}}@media(max-width:640px){.has-cards .m-cards-swap{display:none}.has-cards .m-cards{display:block}}@media(max-width:720px){.admin-layout .content .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.admin-layout .content .tabs .tab,.admin-layout .content .tabs button{white-space:nowrap;flex:0 0 auto}.admin-layout .content .data-table{min-width:600px}.admin-layout .content .upload{grid-template-columns:1fr}}.m-card{background:#fff;border:1px solid var(--gsl-hairline);border-radius:var(--radius-card);padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow-soft)}.m-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.m-card-title{font-size:14px;font-weight:600;color:var(--gsl-paper-ink);line-height:1.4}.m-card-time{font-size:11.5px;color:var(--gsl-text-muted);font-family:var(--font-mono);flex:0 0 auto;text-align:right;line-height:1.5}.m-card-kv{display:grid;gap:2px}.m-card-kv>div{display:flex;gap:8px;font-size:12.5px;padding:3px 0}.m-card-kv dt{flex:0 0 58px;font-weight:500;color:var(--gsl-faint);margin:0}.m-card-kv dd{color:var(--gsl-ink-2);word-break:break-all;margin:0}.m-card .mono{font-family:var(--font-mono);font-size:11.5px}.m-card-foot{display:flex;justify-content:flex-end;gap:14px;border-top:1px dashed var(--gsl-hairline);margin-top:8px;padding-top:4px}.m-card .payload{background:#f0f1f3;border-radius:4px;padding:10px;font-size:12px;overflow:auto;margin-top:8px;white-space:pre-wrap;word-break:break-all}
