.app-header[data-v-adde298c]{position:sticky;top:0;z-index:10;background:#fdfbf6e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-accent-line)}.app-header__inner[data-v-adde298c]{max-width:1160px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:20px}.brand[data-v-adde298c]{display:flex;align-items:center;gap:10px;color:inherit}.brand__mark[data-v-adde298c]{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;font-family:var(--font-serif);font-size:20px;font-weight:700;box-shadow:0 0 0 1px var(--color-accent-line),0 4px 10px #b93a3a33}.brand__text[data-v-adde298c]{display:flex;flex-direction:column;line-height:1.2}.brand__text strong[data-v-adde298c]{font-family:var(--font-serif);font-size:17px;letter-spacing:2px}.brand__text small[data-v-adde298c]{font-size:11px;color:var(--color-text-muted)}.nav[data-v-adde298c]{display:flex;gap:6px;margin-left:auto;font-size:14px}.nav__item[data-v-adde298c]{padding:6px 12px;border-radius:var(--radius-pill);color:var(--color-text-muted);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.nav__item[data-v-adde298c]:hover{background:var(--color-primary-soft);color:var(--color-primary)}.nav__item--active[data-v-adde298c]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600;box-shadow:inset 0 0 0 1px var(--color-primary-line)}.app-main[data-v-adde298c]{flex:1;max-width:1160px;width:100%;margin:0 auto;padding:24px 20px 48px}.app-footer[data-v-adde298c]{border-top:1px solid var(--color-accent-line);padding:16px 20px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:12px;color:var(--color-text-muted)}@media(max-width:860px){.app-header__inner[data-v-adde298c]{flex-wrap:wrap;gap:12px}.nav[data-v-adde298c]{order:3;width:100%;margin-left:0;overflow-x:auto}}:root{--color-primary: #b93a3a;--color-primary-dark: #8e2a2a;--color-primary-soft: rgba(185, 58, 58, .08);--color-primary-line: rgba(185, 58, 58, .28);--color-accent: #d4af37;--color-accent-deep: #8a6520;--color-accent-soft: rgba(212, 175, 55, .14);--color-accent-line: rgba(212, 175, 55, .42);--color-ink: #3d5c5c;--color-ink-soft: rgba(61, 92, 92, .08);--color-bg: #f9f6f0;--color-surface: #ffffff;--color-text: #2b2b2b;--color-text-muted: #6b6b6b;--color-border: #e8e1d6;--color-success: #2e7d5b;--color-success-soft: rgba(46, 125, 91, .1);--color-danger: #b3261e;--color-danger-soft: rgba(179, 38, 30, .08);--color-danger-line: rgba(179, 38, 30, .25);--color-overlay: rgba(255, 253, 248, .92);--color-canvas: #fdfbf6;--color-field: #fdfbf6;--radius: 16px;--radius-sm: 8px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(74, 55, 22, .04), 0 8px 24px rgba(74, 55, 22, .06);--shadow-card-hover: 0 4px 10px rgba(74, 55, 22, .07), 0 18px 44px rgba(74, 55, 22, .11);--font-serif: "Noto Serif SC", "Source Han Serif SC", "Source Han Serif CN", "Songti SC", "STSong", "SimSun", "Noto Serif", serif;--font-sans: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--ease: cubic-bezier(.22, .61, .36, 1);--dur-fast: .16s;--dur-base: .26s}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(120,96,60,.035) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(120,96,60,.028) 0 1px,transparent 1px 4px),radial-gradient(60% 45% at 12% 0%,rgba(212,175,55,.07),transparent 70%),radial-gradient(55% 40% at 92% 90%,rgba(185,58,58,.05),transparent 70%)}#app{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;letter-spacing:.5px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px 24px}.card--lift{transition:transform var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease)}.card--lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);border-color:var(--color-accent-line)}.tag{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:12px;background:var(--color-primary-soft);color:var(--color-primary)}.tag--success{background:var(--color-success-soft);color:var(--color-success)}.tag--danger{background:var(--color-danger-soft);color:var(--color-danger)}.tag--accent{background:var(--color-accent-soft);color:var(--color-accent-deep)}.tag--ink{background:var(--color-ink-soft);color:var(--color-ink)}.button{position:relative;overflow:hidden;padding:10px 22px;border-radius:var(--radius-sm);border:1px solid transparent;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;font-size:14px;font-family:inherit;font-weight:500;line-height:1.4;cursor:pointer;box-shadow:0 2px 8px #b93a3a38;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.button:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;border-radius:50%;background:currentColor;opacity:0;transform:translate(-50%,-50%) scale(0);pointer-events:none}.button:active:not(:disabled):after{animation:btn-ripple .5s var(--ease)}@keyframes btn-ripple{0%{opacity:.3;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(20)}}.button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 7px 18px #b93a3a4d}.button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #b93a3a38}.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.button--ghost{background:transparent;border-color:var(--color-primary-line);color:var(--color-primary);box-shadow:none}.button--ghost:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);filter:none;box-shadow:none}.button--chip{padding:6px 14px;border-radius:var(--radius-pill);background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-muted);font-size:13px;box-shadow:none}.button--chip:hover:not(:disabled){transform:none;filter:none;box-shadow:none;border-color:var(--color-primary-line);color:var(--color-primary)}.button--chip-active{padding-left:10px;background:linear-gradient(135deg,#b93a3a29,#d4af3729);border-color:var(--color-primary);color:var(--color-primary);font-weight:600;box-shadow:0 0 0 2px #b93a3a1f,0 2px 8px #b93a3a24}.button--chip-active:before{content:"✓";margin-right:5px;font-size:11px;font-weight:700}.button__spinner{display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;border-radius:50%;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;animation:btn-spin .7s linear infinite}.button--ghost .button__spinner,.stage__spinner{border-color:var(--color-primary-line);border-top-color:var(--color-primary)}@keyframes btn-spin{to{transform:rotate(360deg)}}.button[aria-busy=true]:hover:not(:disabled){transform:none;filter:none}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field__label{font-size:13px;color:var(--color-text-muted)}.field__input{width:100%;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-field);font-size:14px;font-family:inherit;color:var(--color-text);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.field__input:hover:not(:disabled){border-color:var(--color-primary-line)}.field__input:focus{outline:none;background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px #b93a3a24}.field__input:disabled{background:#f4f1ea;color:var(--color-text-muted);cursor:not-allowed}.field__chips{display:flex;flex-wrap:wrap;gap:8px}.page-header h2{margin:0 0 4px;font-size:20px}.page-header p{margin:0;font-size:13px;color:var(--color-text-muted)}
