@charset "UTF-8";:root{--bg: #faf8f4;--bg-2: #f3efe8;--surface: #fffdf9;--surface-2: #f7f2ea;--border: #e9e0d3;--text: #2c2723;--muted: #8a7f72;--accent: #9c6b4a;--accent-dark: #7d5238;--accent-soft: #f0e6da;--accent-ink: #fffdf9;--danger: #b4462f;--ok: #5c7a53;--radius: 16px;--radius-sm: 11px;--radius-lg: 22px;--shadow: 0 1px 2px rgba(60, 40, 25, .05), 0 12px 34px rgba(60, 40, 25, .08);--shadow-soft: 0 1px 2px rgba(60, 40, 25, .04), 0 6px 18px rgba(60, 40, 25, .06);--serif: "Cormorant Garamond", "Iowan Old Style", Georgia, "Times New Roman", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--sans);color-scheme:light}:root[data-theme=dark]{--bg: #17130f;--bg-2: #1f1a15;--surface: #221c16;--surface-2: #2a231c;--border: #3a3129;--text: #efe6db;--muted: #a99c8c;--accent: #c78a5f;--accent-dark: #b0764c;--accent-soft: #33281f;--accent-ink: #17130f;--danger: #e07a63;--ok: #92b083;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 34px rgba(0, 0, 0, .5);--shadow-soft: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .4);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}img{max-width:100%;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-sm);padding:11px 18px;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s,transform .05s;white-space:nowrap;text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-subtle{background:var(--surface-2);color:var(--text)}.btn-subtle:hover:not(:disabled){background:var(--bg-2)}.btn-danger{background:transparent;border-color:color-mix(in srgb,var(--danger) 35%,var(--border));color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent)}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:600;color:var(--muted)}.input{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px;font-size:15px;font-family:var(--sans);color:var(--text);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.notice{border-radius:var(--radius-sm);padding:11px 14px;font-size:14px;line-height:1.45}.notice-error{background:color-mix(in srgb,var(--danger) 9%,transparent);color:var(--danger)}.notice-info{background:var(--accent-soft);color:var(--accent-dark)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.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}
