:root{--bg0: #f3efe6;--bg1: #e7f0ea;--ink: #14231c;--muted: #4d6358;--brand: #1a4d3e;--brand-2: #c45c26;--line: rgba(20, 35, 28, .12);--card: rgba(255, 252, 247, .82);--danger: #a33b2b;--radius: 14px;--font: "DM Sans", system-ui, sans-serif;--display: "Fraunces", Georgia, serif;--shadow: 0 18px 40px rgba(20, 35, 28, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#d9ebe1 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#f6d9c6 0%,transparent 50%),linear-gradient(180deg,var(--bg0),var(--bg1))}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100dvh;display:grid;grid-template-rows:1fr auto}.page{width:min(920px,calc(100% - 2rem));margin:0 auto;padding:1.25rem 0 6rem}.brand{font-family:var(--display);font-weight:700;font-size:1.65rem;letter-spacing:-.03em;color:var(--brand)}.hero-auth{min-height:100dvh;display:grid;place-items:center;padding:2rem 1rem;background:linear-gradient(120deg,#1a4d3ee0,#14231cb8),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),#1a4d3e;color:#f7f3ea}.hero-auth .panel{width:min(420px,100%);background:#fffcf7f5;color:var(--ink);border-radius:22px;padding:1.5rem;box-shadow:var(--shadow)}.hero-auth .brand{font-size:2.4rem;margin:0 0 .25rem}.hero-auth .tagline{margin:0 0 1.25rem;color:var(--muted)}.stack{display:grid;gap:.75rem}label{display:grid;gap:.35rem;font-size:.92rem;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.75rem .85rem;background:#fff;color:var(--ink)}textarea{min-height:110px;resize:vertical}.btn{appearance:none;border:0;border-radius:999px;padding:.8rem 1.1rem;background:var(--brand);color:#f7f3ea;font-weight:600;cursor:pointer}.btn.secondary{background:transparent;color:var(--brand);border:1px solid rgba(26,77,62,.25)}.btn.ghost{background:transparent;color:var(--muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.error{color:var(--danger);font-size:.9rem}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{flex:1;border:0;background:transparent;padding:.55rem;border-radius:999px;color:var(--muted);cursor:pointer}.tabs button.active{background:#1a4d3e1a;color:var(--brand);font-weight:600}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.muted{color:var(--muted);font-size:.92rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow)}.card+.card{margin-top:.85rem}.card h3{margin:0 0 .35rem;font-size:1.05rem}.card p{margin:0;white-space:pre-wrap;line-height:1.45}.meta{margin-top:.65rem;font-size:.82rem;color:var(--muted)}.nav{position:fixed;left:50%;bottom:.85rem;transform:translate(-50%);width:min(420px,calc(100% - 1.25rem));display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.4rem;border-radius:999px;background:#fffcf7eb;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);z-index:20}.nav a{text-align:center;padding:.7rem .25rem;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--muted)}.nav a.active{background:var(--brand);color:#f7f3ea}.compose{display:grid;gap:.75rem;margin-bottom:1.25rem}.row{display:flex;gap:.5rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:#c45c261f;color:var(--brand-2);font-size:.78rem;font-weight:600}button.linkish{background:none;border:0;padding:0;color:var(--brand);font:inherit;cursor:pointer;text-decoration:underline}.empty{padding:2rem 1rem;text-align:center;color:var(--muted)}.comment-box{margin-top:.85rem;display:grid;gap:.5rem}.comment-box textarea{min-height:70px}@media(min-width:800px){.page{padding-top:1.75rem}}
