:root{--bg: #0c0b09;--bg-2: #14120e;--ink: #f4efe4;--muted: #9a9183;--gold: #c6a15b;--gold-2: #e8d5a3;--line: rgba(244, 239, 228, .12);--warn: #d4a373;--wechat: #2aae67;--qq: #12b7f5;--serif: "Noto Serif SC", "Songti SC", serif;--display: "Cormorant Garamond", "Noto Serif SC", serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);letter-spacing:.02em}a{color:var(--gold-2);text-decoration:none}button,input,textarea{font-family:inherit}.app{min-height:100vh;position:relative;background:radial-gradient(1200px 600px at 80% -10%,rgba(198,161,91,.12),transparent 50%),radial-gradient(800px 500px at 0% 100%,rgba(198,161,91,.08),transparent 45%),var(--bg)}.grain{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav{display:flex;align-items:center;justify-content:space-between;padding:28px 8vw 12px;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);display:grid;place-items:center;font-size:20px}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text em{font-style:normal;font-size:18px}.brand-text small{color:var(--muted);font-size:10px;letter-spacing:.28em}.nav nav{display:flex;gap:22px;align-items:center}.nav a{color:var(--muted);font-size:14px}.nav a.active,.nav a:hover{color:var(--ink)}.nav-cta{border:1px solid var(--gold);padding:8px 14px;color:var(--gold-2)!important}main{position:relative;z-index:1;padding:24px 8vw 80px}.hero{padding:8vh 0 4vh;max-width:920px}.kicker{color:var(--gold);letter-spacing:.32em;font-size:12px;margin:0 0 18px}h1{font-family:var(--display);font-weight:500;font-size:clamp(40px,7vw,84px);line-height:1.08;margin:0 0 22px}h1 em{font-style:italic;color:var(--gold-2)}.lead{font-size:18px;color:var(--muted);max-width:640px;line-height:1.8}.hero-actions{display:flex;gap:16px;margin:36px 0 64px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 22px;cursor:pointer;font-size:15px}.btn-gold{background:var(--gold);color:#1a150c;border-color:var(--gold)}.btn-ghost{border-color:var(--gold);color:var(--gold-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding-top:32px}.stats strong{display:block;margin-bottom:8px;font-weight:500}.stats span{color:var(--muted);font-size:14px;line-height:1.7}.page{max-width:820px}.page.narrow{max-width:560px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.muted{color:var(--muted)}.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.letter{display:grid;gap:18px;margin-top:28px}.letter label,.page>label{display:grid;gap:8px;color:var(--muted);font-size:13px}input,textarea{background:#ffffff08;border:1px solid var(--line);color:var(--ink);padding:12px 14px;font-size:16px}textarea{resize:vertical;line-height:1.7}.kind-row{display:flex;gap:10px}.kind-row button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:8px 16px;cursor:pointer}.kind-row button.on{color:#1a150c;background:var(--gold);border-color:var(--gold)}.check{display:flex!important;flex-direction:row;align-items:flex-start;gap:10px}.check input{margin-top:4px}.banner{border:1px solid var(--line);padding:12px 14px;color:var(--muted)}.banner.warn{border-color:var(--warn);color:var(--warn)}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:32px 0 18px}.auth-card{min-height:120px;background:var(--bg-2);border:1px solid var(--line);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:22px;text-align:left;gap:8px}.auth-card span{font-size:20px}.auth-card small{color:var(--muted)}.auth-card.wechat:hover{border-color:var(--wechat)}.auth-card.qq:hover{border-color:var(--qq)}.fine{font-size:12px;color:var(--muted);line-height:1.7}.letters,.admin-list{list-style:none;padding:0;display:grid;gap:14px}.letters li,.admin-list li{border:1px solid var(--line);padding:18px 20px;display:flex;justify-content:space-between;gap:16px}.letters li strong,.admin-list li strong{display:block;margin-bottom:6px}.letters li span,.admin-list .meta{color:var(--muted);font-size:13px}.admin-list li{display:block}.admin-list header{display:flex;justify-content:space-between;gap:12px}.admin-list .body{white-space:pre-wrap;line-height:1.8}.prose h2{font-size:20px;margin:32px 0 10px;font-weight:500}.prose p,.prose li{color:var(--muted);line-height:1.9}.foot{padding:0 8vw 40px;color:var(--muted);font-size:13px;position:relative;z-index:1}@media (max-width: 800px){.nav{padding:20px 6vw 8px}.nav nav{gap:12px}main{padding:12px 6vw 64px}.stats,.auth-grid{grid-template-columns:1fr}.letters li{flex-direction:column}}
