:root{--ink: #1c1612;--ink-soft: #4a4038;--paper: #f3eadf;--paper-2: #e8dccb;--card: #fffaf3;--line: rgba(28, 22, 18, .1);--cinnabar: #b5442a;--cinnabar-deep: #8e301c;--gold: #b0893a;--teal: #2f5d56;--ok: #2f6f4e;--danger: #b5442a;--shadow: 0 18px 50px rgba(28, 22, 18, .08);--radius: 18px;--font-sans: "Outfit", "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif: "Fraunces", "Songti SC", "Noto Serif SC", serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%}html.viewer-mode,html.viewer-mode body{height:100%;background:#000;overflow:hidden}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit}a{color:inherit}img{max-width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;transition:transform .15s ease,background .15s ease,opacity .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--cinnabar);color:#fff8f4}.btn-primary:hover{background:var(--cinnabar-deep)}.btn-ink{background:var(--ink);color:var(--paper)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-danger{background:#f6e4de;color:var(--cinnabar-deep)}.field{display:flex;flex-direction:column;gap:8px}.field span{font-size:13px;color:var(--ink-soft);letter-spacing:.04em}.field input,.field textarea{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-size:15px;color:var(--ink);outline:none}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b0893a26}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--ink);color:#f7efe4;padding:10px 16px;border-radius:999px;font-size:13px;z-index:50}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
