:root{--terracotta:#c8553d;--terracotta-d:#9e3d2a;--ocre:#e0a458;--chair:#f2c078;--liane:#4a6c50;--liane-d:#2e4633;--liane-clair:#88a878;--creme:#fbf4e6;--sable:#f5e9d2;--ink:#2b2118;--muted:#5a4a3a}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--ink);background:var(--creme);-webkit-font-smoothing:antialiased;background-image:radial-gradient(#2c26220a 1px,#0000 1px);background-size:22px 22px;font-family:Outfit,system-ui,sans-serif}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.1}.hand{font-family:Caveat,cursive}a{color:var(--terracotta);text-decoration:none}.splash{height:100dvh;color:var(--terracotta);place-items:center;font-family:Fraunces,serif;font-size:2rem;display:grid}.app{flex-direction:column;min-height:100dvh;display:flex}.content{padding:22px 18px calc(82px + env(safe-area-inset-bottom));flex:1;width:100%;max-width:640px;margin:0 auto}.tabbar{border-top:1px solid var(--sable);padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:#fff;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px -12px #2c262266}.tabbar a{color:var(--muted);flex-direction:column;align-items:center;gap:3px;padding:2px 14px;font-size:.82rem;font-weight:600;display:flex}.tabbar a.active{color:var(--terracotta)}.tabbar svg{width:22px;height:22px}.phead{margin-bottom:18px}.phead .hand{color:var(--liane);font-size:1.3rem;display:block;transform:rotate(-1.5deg)}.phead h1{font-size:1.9rem}.card{background:#fffdf8;border:1px solid #efe4cd;border-radius:12px;margin-bottom:12px;padding:16px;box-shadow:0 8px 22px -16px #2c262266}.card h3{margin-bottom:3px;font-size:1.15rem}.card .meta{color:var(--muted);font-size:.86rem}.card.clickable:active{transform:scale(.99)}.empty{text-align:center;color:var(--muted);padding:40px 10px}.empty .hand{color:var(--liane);margin-bottom:6px;font-size:1.5rem;display:block}label{color:var(--muted);margin:10px 0 5px;font-size:.85rem;font-weight:600;display:block}input,select,textarea{border:1.5px solid var(--sable);background:var(--creme);width:100%;color:var(--ink);border-radius:11px;padding:13px 14px;font-family:inherit;font-size:1rem}input:focus,select:focus,textarea:focus{border-color:var(--ocre);outline:none}textarea{resize:vertical;min-height:90px}.btn{background:var(--terracotta);color:#fff;cursor:pointer;border:none;border-radius:11px;width:100%;margin-top:14px;padding:14px;font-family:inherit;font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.btn:hover{background:#a8472f}.btn:active{transform:scale(.99)}.btn:disabled{opacity:.6}.btn.ghost{color:var(--terracotta);border:1.5px solid var(--sable);background:0 0}.btn.liane{background:var(--liane)}.btn.liane:hover{background:var(--liane-d)}.err{color:#b23b2e;margin-top:10px;font-size:.9rem;font-weight:600}.row{align-items:center;gap:10px;display:flex}.chip{background:var(--sable);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.auth{max-width:420px;margin:0 auto;padding:40px 22px}.auth .brand{color:var(--terracotta);text-align:center;font-family:Fraunces,serif;font-size:2.2rem;font-weight:700}.auth .brand span{color:var(--ocre)}.auth .sub{text-align:center;color:var(--muted);margin:6px 0 26px}.auth .switch{text-align:center;color:var(--muted);margin-top:18px;font-size:.9rem}.fab{right:18px;bottom:calc(90px + env(safe-area-inset-bottom));background:var(--terracotta);color:#fff;cursor:pointer;border:none;border-radius:50%;width:56px;height:56px;font-size:1.8rem;position:fixed;box-shadow:0 10px 26px -10px #c2553cb3}
