:root{--brand-plum:#832161;--brand-teal:#003d4f;--brand-stone:#e8e3db;--brand-rose:#b09398;--brand-champagne:#beae88;--brand-white:#ffffff;--ink:var(--brand-teal);--ink-2:#3e5f69;--ink-3:#567078;--accent:var(--brand-plum);--accent-dark:#6a1a4e;--accent-soft:#f6eaf2;--mist:#f7f4f0;--surface:var(--brand-white);--line:#e2dcd2;--line-2:#eee9e2;--bad:#8e2a2a;--note-bg:#f4efe3;--note-line:#e1d7bf;--note-ink:#6b5a2e;--ui:"Inter","Helvetica Neue",Arial,sans-serif;--display:"Playfair Display",Georgia,serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius:10px;--radius-lg:14px;color-scheme:light}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--surface);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.55}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid #b07aa0;outline-offset:2px}h1,h2,h3{text-wrap:balance}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;line-height:1.2}.btn:hover{border-color:#d3c9bb;background:#fbfaf8}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn:disabled{opacity:.6;cursor:default}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:13px;font-weight:500;color:var(--ink-2)}.field input{width:100%;padding:11px 12px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff}.field input:focus{border-color:#b07aa0;outline:none;box-shadow:0 0 0 3px #f1e2ec}.hint{font-size:13px;color:var(--ink-3);margin:0}.auth-page{min-height:100vh;display:grid;place-items:center;background:var(--mist);padding:32px 16px}.auth-card{width:min(440px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 8px 28px rgba(0,61,79,.08);padding:36px 36px 28px;display:grid;grid-gap:18px;gap:18px}.auth-card h1{font-family:var(--display);font-size:30px;font-weight:600;margin:4px 0 0}.auth-card p{margin:0;color:var(--ink-2)}.auth-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ink-3);border-top:1px solid var(--line-2);padding-top:14px}.notice{border-radius:var(--radius);padding:10px 12px;font-size:14px}.notice.ok{background:#e3ecee;color:var(--brand-teal);border:1px solid #c7d8dc}.notice.err{background:#f7eef0;color:var(--bad);border:1px solid #e3cdd2}.bar{justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.bar,.bar .who{display:flex;align-items:center}.bar .who{font-size:13px;color:var(--ink-2);gap:12px}main.app{max-width:1100px;margin:0 auto;padding:32px 24px 48px}main.app h1{font-family:var(--display);font-size:32px;font-weight:600;margin:0 0 8px}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;background:var(--surface)}.flag{display:inline-block;font-size:12px;font-weight:600;color:var(--note-ink);background:var(--note-bg);border:1px solid var(--note-line);border-radius:20px;padding:3px 10px}.app-foot{max-width:1100px;margin:0 auto;padding:16px 24px 28px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}@media (max-width:520px){.auth-card{padding:28px 22px 22px}.bar{padding:10px 16px}}