:root{--bg: #F4EFE4;--bg-deep: #EDE5D4;--card: #FFFDF7;--border: #E8DFCC;--border-strong: #D9CDB4;--red: #B5372B;--red-dark: #962C22;--red-soft: #F3DEDA;--red-pale: #E3B3AD;--ink: #2A2420;--muted: #8A7F72;--green: #2F7D4F;--green-soft: #E2F0E6;--watermark: #E9E0CD;--font-serif: "Fraunces", Georgia, "Times New Roman", serif;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-zh: "Noto Serif SC", "Songti SC", "SimSun", serif;--radius-sm: 10px;--radius: 14px;--radius-lg: 16px;--shadow: 0 1px 2px rgba(42, 36, 32, .04), 0 4px 16px rgba(42, 36, 32, .04);--shadow-hover: 0 2px 4px rgba(42, 36, 32, .05), 0 8px 24px rgba(42, 36, 32, .07);--focus: 0 0 0 3px rgba(181, 55, 43, .18)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.55;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--font-serif);font-weight:500;line-height:1.2;letter-spacing:-.01em}p{margin:0}a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}[x-cloak]{display:none!important}.zh{font-family:var(--font-zh)}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.logo{display:inline-flex;align-items:center;gap:12px;color:var(--ink)}.logo:hover{text-decoration:none}.logo__mark{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:11px;background:var(--red);color:#fff;font-family:var(--font-zh);font-size:24px;font-weight:600;line-height:1;box-shadow:0 2px 6px #b5372b40}.logo__text{display:flex;flex-direction:column;line-height:1.15}.logo__name{font-family:var(--font-serif);font-size:19px;font-weight:600;letter-spacing:-.01em}.logo__tagline{font-size:12.5px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:15px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.btn:hover{text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn--primary{background:var(--red);color:#fff}.btn--primary:hover{background:var(--red-dark)}.btn--primary:disabled{background:var(--red-pale);cursor:not-allowed}.btn--ghost{background:var(--card);border-color:var(--border);color:var(--ink)}.btn--ghost:hover{border-color:var(--border-strong);background:#fff}.btn--block{width:100%}.btn--sm{min-height:36px;padding:0 14px;font-size:14px}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--muted);transition:color .15s,border-color .15s}.icon-btn:hover{color:var(--red);border-color:var(--border-strong)}.icon-btn:focus-visible{outline:none;box-shadow:var(--focus)}.icon{width:18px;height:18px;flex-shrink:0}.field{display:flex;flex-direction:column;gap:6px}.field+.field{margin-top:16px}.field__label{font-size:13.5px;font-weight:500;color:var(--ink)}.field__row{display:grid;gap:16px}.field__row .field+.field{margin-top:0}.input{width:100%;height:46px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:#b8ae9f}.input:focus{outline:none;border-color:var(--red);box-shadow:var(--focus)}.input.is-invalid{border-color:var(--red)}.field__error{font-size:13px;color:var(--red)}.checkbox{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);cursor:pointer}.checkbox input{width:16px;height:16px;accent-color:var(--red)}.alert{padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:18px}.alert--error{background:var(--red-soft);color:var(--red-dark)}.alert--success{background:var(--green-soft);color:var(--green)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.auth{display:flex;flex-direction:column;min-height:100vh}.auth__aside{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:var(--bg-deep);border-bottom:1px solid var(--border);overflow:hidden}.auth__motto{font-family:var(--font-zh);font-size:17px;color:var(--red);letter-spacing:.12em;white-space:nowrap}.auth__pitch{display:none}.auth__main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:32px 20px 48px}.auth__panel{width:100%;max-width:440px}.auth__title{font-size:28px;margin-bottom:6px}.auth__subtitle{color:var(--muted);margin-bottom:26px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:28px;background:var(--bg-deep);border:1px solid var(--border);border-radius:12px}.tabs__btn{height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:14.5px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.tabs__btn:hover{color:var(--ink)}.tabs__btn.is-active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #2a242014}.tabs__btn:focus-visible{outline:none;box-shadow:var(--focus)}.auth__options{display:flex;align-items:center;justify-content:space-between;margin:18px 0 24px}.auth__switch{margin-top:22px;text-align:center;font-size:14px;color:var(--muted)}.auth__switch button{padding:0;border:0;background:none;color:var(--red);font-weight:500}.auth__switch button:hover{text-decoration:underline}@media(min-width:560px){.field__row{grid-template-columns:1fr 1fr}}@media(min-width:900px){.auth{flex-direction:row}.auth__aside{width:44%;max-width:560px;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:40px 48px 48px;border-bottom:0;border-right:1px solid var(--border);min-height:100vh;position:sticky;top:0}.auth__motto{align-self:center;writing-mode:vertical-rl;font-family:var(--font-zh);font-size:clamp(52px,6.2vw,76px);font-weight:500;letter-spacing:.18em;line-height:1;color:var(--ink)}.auth__pitch{display:block;max-width:380px}.auth__pitch-title{font-family:var(--font-serif);font-size:24px;font-weight:500;margin-bottom:10px}.auth__pitch-text{color:var(--muted);font-size:15px;line-height:1.6}.auth__main{align-items:center;padding:48px}}.app{position:relative;min-height:100vh;overflow-x:hidden}.app__watermark{position:fixed;right:-40px;bottom:-90px;z-index:0;font-family:var(--font-zh);font-size:420px;font-weight:600;line-height:1;color:var(--watermark);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.7}.app__header{position:relative;z-index:2;border-bottom:1px solid var(--border);background:#f4efe4eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app__header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1180px;margin:0 auto;padding:14px 20px}.app__header .logo__tagline{display:none}.app__actions{display:flex;align-items:center;gap:10px}.app__main{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:32px 20px 64px}.user-chip{display:flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.user-chip__avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--red-soft);color:var(--red);font-family:var(--font-serif);font-weight:600}.user-chip__text{display:none;flex-direction:column;line-height:1.2}.user-chip__name{font-size:14px;font-weight:500}.user-chip__handle{font-size:12px;color:var(--muted)}.btn__label{display:none}@media(min-width:720px){.app__header .logo__tagline{display:block}.user-chip__text{display:flex}.btn__label{display:inline}.app__header-inner{padding:16px 32px}.app__main{padding:44px 32px 80px}.app__watermark{font-size:560px;right:-30px;bottom:-120px}}.page-title{font-size:34px;margin-bottom:8px}.page-lead{max-width:640px;color:var(--muted);font-size:15.5px}@media(max-width:899px),(pointer:coarse){.btn,.btn--sm{min-height:48px}.icon-btn{width:48px;height:48px}.logo{min-height:48px}.input{height:48px}.checkbox{min-height:48px}.checkbox input{width:20px;height:20px}.app__actions .btn{min-width:48px;padding:0 13px}}@media(max-width:719px){.page-title{font-size:28px}}@media(max-width:399px){.user-chip{display:none}}
