@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap";:root{--cream:#fdf6f0;--mauve:#8b5e83;--mauve-light:#b48aad;--mauve-dark:#6b4465;--gold:#c9956a;--gold-light:#e8c4a0;--text:#2d2020;--text-soft:#6b5b5b;--white:#fff;--border:#ead9d0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--text);max-width:480px;min-height:100vh;margin:0 auto;font-family:Inter,sans-serif}h1,h2,h3{font-family:Playfair Display,serif}.btn-primary{background:var(--mauve);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px 24px;font-size:16px;font-weight:500;transition:background .2s}.btn-primary:hover{background:var(--mauve-dark)}.btn-primary:disabled{background:var(--mauve-light);cursor:not-allowed}.btn-ghost{color:var(--mauve);border:1.5px solid var(--mauve);cursor:pointer;background:0 0;border-radius:12px;width:100%;padding:12px 24px;font-size:15px;transition:all .2s}.btn-ghost:hover{background:var(--mauve);color:#fff}input,textarea{border:1.5px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:12px;outline:none;padding:13px 16px;font-family:Inter,sans-serif;font-size:15px;transition:border-color .2s}input:focus,textarea:focus{border-color:var(--mauve-light)}.card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 2px 12px #8b5e8314}.tag{background:var(--gold-light);color:var(--gold);letter-spacing:.5px;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.bottom-nav{border-top:1px solid var(--border);background:#fff;width:100%;max-width:480px;padding:8px 0 20px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{cursor:pointer;color:var(--text-soft);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px;font-size:11px;font-weight:500;transition:color .2s;display:flex}.nav-item.active{color:var(--mauve)}.nav-item svg{width:22px;height:22px}.page{min-height:100vh;padding:24px 20px 100px}.divider{background:var(--border);height:1px;margin:20px 0}.error-msg{color:#c0392b;text-align:center;margin-top:8px;font-size:14px}textarea{resize:none;min-height:120px;line-height:1.6}
