@import"https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=Noto+Serif+SC:wght@400;500;700;900&display=swap";*{box-sizing:border-box;margin:0;padding:0}#app-root{display:flex;flex-direction:column;height:100vh;height:100dvh}main{flex:1;overflow:auto}:root{--ink-black: #1a1410;--ink-black-soft: #2c2118;--ink-black-deep: #0f0a06;--vermillion: #c8392f;--vermillion-deep: #9c2a22;--vermillion-light: #e85548;--paper-cream: #f4ecd8;--paper-warm: #ebe1c8;--paper-light: #f8f3e3;--bronze: #b08c5b;--bronze-light: #d4b78a;--bronze-deep: #8b6e44;--jade: #2f4c3e;--jade-light: #4a6a5c;--text-primary: var(--ink-black);--text-secondary: #5a4a38;--text-muted: #8a7a68;--border-subtle: rgba(26, 20, 16, .12);--shadow-soft: 0 2px 12px rgba(26, 20, 16, .08);--shadow-deep: 0 8px 32px rgba(26, 20, 16, .16);--font-title: "Ma Shan Zheng", "KaiTi", "STKaiti", serif;--font-body: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--fs-xs: 11px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 17px;--fs-lg: 20px;--fs-xl: 26px;--fs-2xl: 34px;--fs-3xl: 44px}body{font-family:var(--font-body);font-size:var(--fs-base);background:radial-gradient(circle at 20% 30%,rgba(200,169,110,.04) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(200,57,47,.03) 0%,transparent 50%),var(--paper-cream);color:var(--text-primary);-webkit-tap-highlight-color:transparent;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:400;color:var(--text-primary);letter-spacing:.04em}.topnav{background:linear-gradient(180deg,var(--ink-black) 0%,var(--ink-black-soft) 100%);color:var(--paper-cream);padding:8px 16px;display:flex;align-items:center;gap:14px;flex-shrink:0;height:56px;box-shadow:var(--shadow-deep);border-bottom:2px solid var(--vermillion);position:relative}.topnav:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:linear-gradient(90deg,transparent 0%,var(--bronze) 50%,transparent 100%)}.nav-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-title);font-size:22px;font-weight:400;color:var(--paper-cream);text-decoration:none;flex-shrink:0;letter-spacing:.08em}.nav-brand:hover{color:var(--paper-warm)}.seal{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--vermillion);color:var(--paper-cream);border-radius:6px;font-family:var(--font-title);font-size:22px;font-weight:700;flex-shrink:0;box-shadow:inset 0 0 0 2px var(--paper-cream),inset 0 0 0 3px var(--vermillion),0 2px 4px #00000040;transform:rotate(-2deg);-webkit-user-select:none;user-select:none}.seal-large{width:88px;height:88px;font-size:56px;border-radius:12px;box-shadow:inset 0 0 0 3px var(--paper-cream),inset 0 0 0 5px var(--vermillion),0 4px 12px #c8392f4d}.nav-links{display:flex;gap:4px;flex:1}.topnav a{color:var(--paper-cream);text-decoration:none;font-size:var(--fs-sm);padding:6px 14px;border-radius:14px;white-space:nowrap;transition:all .2s;font-family:var(--font-body)}.topnav a:hover{background:#ffffff14}.topnav a.router-link-active{color:var(--vermillion);background:#c8392f26;font-weight:600}.nav-user{font-size:var(--fs-sm);display:flex;align-items:center;gap:10px;flex-shrink:0}.nav-name{color:var(--paper-cream)}.nav-logout{background:transparent;border:1px solid var(--bronze);color:var(--paper-cream);padding:4px 12px;border-radius:12px;cursor:pointer;font-size:var(--fs-sm);font-family:var(--font-body);transition:all .2s}.nav-logout:hover{background:var(--vermillion);border-color:var(--vermillion)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border:1px solid var(--ink-black);border-radius:6px;background:var(--paper-light);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-sm);cursor:pointer;transition:all .2s;text-decoration:none}.btn:hover{background:var(--bronze-light);border-color:var(--bronze)}.btn-primary{background:var(--vermillion);color:var(--paper-cream);border-color:var(--vermillion)}.btn-primary:hover{background:var(--vermillion-deep);border-color:var(--vermillion-deep)}.card{background:var(--paper-light);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;box-shadow:var(--shadow-soft)}a{color:var(--vermillion);text-decoration:none}a:hover{color:var(--vermillion-deep)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--paper-warm)}::-webkit-scrollbar-thumb{background:var(--bronze);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bronze-deep)}
