*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--forest: #1D3D2F;--forest2: #284f3d;--amber: #E8A030;--amber2: #d4912a;--cream: #F7F3EE;--sage: #E2EDE5;--terra: #C97952;--muted: #5F7A6D;--border: rgba(29,61,47,.1);--border2: rgba(29,61,47,.2);--white: #ffffff;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.06)}html{font-size:16px}body{font-family:Inter,sans-serif;background:var(--cream);color:var(--forest);line-height:1.6;min-height:100vh}h1,h2,h3,h4{font-family:Fraunces,serif;font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:Inter,sans-serif}input,select,textarea{font-family:Inter,sans-serif}.page{max-width:680px;margin:0 auto;padding:24px 16px 80px}.page-wide{max-width:900px;margin:0 auto;padding:24px 16px 80px}.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);padding:20px}.card+.card{margin-top:12px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;border:none;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--forest);color:var(--cream)}.btn-primary:hover:not(:disabled){background:var(--forest2)}.btn-amber{background:var(--amber);color:var(--forest)}.btn-amber:hover:not(:disabled){background:var(--amber2)}.btn-outline{background:transparent;color:var(--forest);border:1px solid var(--border2)}.btn-outline:hover:not(:disabled){background:var(--sage)}.btn-ghost{background:transparent;color:var(--muted);border:none;padding:6px 10px}.btn-ghost:hover{color:var(--forest)}.btn-full{width:100%;justify-content:center}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.input{width:100%;padding:10px 12px;border:1px solid var(--border2);border-radius:var(--radius-sm);font-size:14px;color:var(--forest);background:var(--cream);outline:none;transition:border-color .15s,background .15s}.input:focus{border-color:var(--forest);background:var(--white)}.input::placeholder{color:var(--muted);opacity:.7}textarea.input{resize:vertical;min-height:80px}.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 9px;border-radius:20px}.tag-sage{background:var(--sage);color:var(--forest)}.tag-amber{background:#faeeda;color:#633806}.tag-terra{background:#f5e8df;color:#7a3a1a}.tag-red{background:#fdeaea;color:#8b2020}.trust-score{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--forest)}.points-badge{background:var(--amber);color:var(--forest);font-size:12px;font-weight:500;padding:3px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:4px}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:500;flex-shrink:0}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-md{width:40px;height:40px;font-size:14px}.avatar-lg{width:56px;height:56px;font-size:18px}.section-head{margin-bottom:4px;font-size:22px}.section-sub{font-size:13px;color:var(--muted);margin-bottom:20px}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty-icon{font-size:40px;margin-bottom:12px}.empty h3{font-size:18px;margin-bottom:6px;color:var(--forest)}.empty p{font-size:14px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(80px);background:var(--forest);color:var(--cream);padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:transform .25s ease;z-index:1000;white-space:nowrap;pointer-events:none}.toast.show{transform:translate(-50%) translateY(0)}.error-msg{background:#fdeaea;color:#8b2020;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:16px}.spinner{width:20px;height:20px;border:2px solid var(--border2);border-top-color:var(--forest);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.divider{border:none;border-top:1px solid var(--border);margin:16px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.grid-2{grid-template-columns:1fr}}
