@import"https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500&family=Noto+Serif+TC:wght@300;400;500&display=swap";:root{--bg-page: #faf7f2;--bg-card: #ffffff;--bg-subtle: #f5f0e8;--bg-hover: #f0e9dd;--accent: #8b6f47;--accent-light: #c4a882;--accent-subtle: #ede3d4;--rose: #c4847a;--rose-subtle: #f5e8e6;--text-primary: #2c2118;--text-secondary: #6b5744;--text-muted: #a08870;--text-placeholder: #c4b09a;--border: #e0d4c4;--border-light: #ede6d8;--font-serif: "Lora", "Noto Serif TC", Georgia, serif;--font-sans: "DM Sans", system-ui, sans-serif;--radius-sm: 6px;--radius: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 3px rgba(139, 111, 71, .08);--shadow: 0 4px 16px rgba(139, 111, 71, .12);--shadow-lg: 0 8px 32px rgba(139, 111, 71, .16)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-page);color:var(--text-primary);min-height:100vh;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0}#app{position:relative;z-index:1}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .18s ease;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#7a6040;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-hover)}.btn-danger{background:transparent;color:var(--rose);border:1px solid var(--rose-subtle)}.btn-danger:hover{background:var(--rose-subtle)}.btn-sm{padding:5px 12px;font-size:13px}.tag{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;background:var(--accent-subtle);color:var(--accent);font-weight:500}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.field-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;font-family:var(--font-sans);letter-spacing:.02em}.field-input{width:100%;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:14px;color:var(--text-primary);transition:border-color .18s;outline:none}.field-input:focus{border-color:var(--accent-light)}.field-input::placeholder{color:var(--text-placeholder)}.field-group{margin-bottom:20px}.divider{border:none;border-top:1px solid var(--border-light);margin:24px 0}.toast-container{position:fixed;bottom:32px;right:32px;z-index:1000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;box-shadow:var(--shadow);animation:toast-in .2s ease}.toast-success{background:#2c2118;color:#f5f0e8}.toast-error{background:var(--rose);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.prose{font-family:var(--font-serif);font-size:16px;line-height:1.85;color:var(--text-primary)}.prose h1{font-size:1.6rem;margin:1.5em 0 .5em;font-weight:600}.prose h2{font-size:1.3rem;margin:1.4em 0 .5em;font-weight:600}.prose h3{font-size:1.1rem;margin:1.2em 0 .4em;font-weight:600}.prose p{margin-bottom:1em}.prose ul,.prose ol{padding-left:1.5em;margin-bottom:1em}.prose li{margin-bottom:.3em}.prose strong{font-weight:600;color:var(--accent)}.prose em{font-style:italic}.prose blockquote{border-left:3px solid var(--accent-light);padding-left:1em;margin:1.2em 0;color:var(--text-secondary);font-style:italic}.prose a{color:var(--accent);text-decoration:underline}.prose mark{background:#fff3c4;padding:0 2px;border-radius:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-subtle)}::-webkit-scrollbar-thumb{background:var(--accent-light);border-radius:3px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
