*{box-sizing:border-box}:root{--ink:#251b16;--muted-ink:#6d5a4a;--paper:#fff8e5;--paper-deep:#ead4a4;--cinnabar:#b83e2c;--bronze:#365b4c;--aged-gold:#c39a45;--smoke:#efe1c4;--font-display:"STSong", "Songti SC", "Noto Serif SC", Georgia, serif;--font-body:"LXGW WenKai", "Kaiti SC", "PingFang SC", system-ui, sans-serif;--font-utility:"Avenir Next", "Gill Sans", "PingFang SC", system-ui, sans-serif}body{color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 0 0,#b83e2c1f,#0000 32rem),linear-gradient(120deg,#e8d3a8 0%,#f6ecd0 42%,#d8b879 100%);margin:0}button,input,textarea,select{font:inherit}a{text-underline-offset:.18em}button,input,textarea,select{accent-color:var(--cinnabar)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #b83e2c66}.app-shell{background:linear-gradient(#251b160a 1px,#0000 1px) 0 0/100% 38px,linear-gradient(90deg,#251b160a 1px,#0000 1px) 0 0/38px 100%;min-height:100vh;overflow-x:clip}.app-header{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff8e5d1;border-bottom:1px solid #4a322329;justify-content:space-between;align-items:center;gap:24px;padding:16px 32px;display:flex;position:sticky;top:0;box-shadow:0 10px 30px #241b1414}.brand{color:var(--ink);font-family:var(--font-display);letter-spacing:-.05em;font-size:22px;font-weight:900}.nav-links{flex-wrap:wrap;gap:8px;display:flex}.nav-links a{min-height:40px;color:var(--muted-ink);font-family:var(--font-utility);border-radius:999px;align-items:center;padding:0 12px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.nav-links a.router-link-active{color:var(--paper);background:var(--bronze)}.app-main{width:min(1220px,100vw - 48px);margin:0 auto;padding:32px 0 56px}::selection{color:var(--paper);background:var(--cinnabar)}@media (width<=760px){.app-header{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px}.brand{font-size:20px}.nav-links{gap:6px;width:100%}.nav-links a{min-height:38px;padding:0 10px;font-size:13px}.app-main{width:min(100vw - 20px,1220px);padding-top:16px;padding-bottom:36px}}@media (width<=420px){.app-header{padding-inline:12px}.app-main{width:min(100vw - 16px,1220px)}}
