@font-face {
  font-family: 'DM Sans';
  src: url('./fonts/DMSans.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}

@font-face {
  font-family: 'Manrope';
  src: url('./fonts/Manrope.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root{--mint:#b8e8d7;--mint-dark:#4f9d82;--ink:#17231f;--muted:#718079;--line:#e8eeeb;--paper:#f7faf8;--white:#fff;--shadow:0 18px 55px rgba(24,48,38,.10)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:70px;background:var(--mint);display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1120px)/2));position:sticky;top:0;z-index:5}.brand{font:800 27px Manrope,sans-serif;letter-spacing:-1.6px;color:var(--ink);text-decoration:none}.brand span{color:#438a70}.icon-btn{border:0;background:transparent;font-size:23px;width:42px;height:42px;border-radius:50%}.icon-btn:hover{background:#ffffff70}.top-actions{display:flex;align-items:center;gap:10px}.btn{border:0;border-radius:999px;padding:12px 20px;font-weight:700;transition:.18s}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#345449;transform:translateY(-1px)}.avatar{border:0;border-radius:50%;width:40px;height:40px;background:var(--ink);color:white;font-weight:700}.app-shell{width:min(100% - 28px,620px);margin:38px auto 100px}.feed-head{padding:5px 5px 20px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--mint-dark);margin:0 0 9px}.feed-head h1{font:800 31px Manrope;margin:0;letter-spacing:-1.2px}.subhead{color:var(--muted);font-size:14px;margin:7px 0 20px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.filters select,.search-row input{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:11px 13px;color:var(--ink);outline:none}.search-row{position:relative;margin-top:9px}.search-row input{padding-right:40px}.search-row span{position:absolute;right:13px;top:6px;font-size:23px;color:var(--muted)}.feed{display:grid;gap:13px}.post-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:19px 20px;box-shadow:0 3px 15px rgba(26,51,40,.025);cursor:pointer;transition:.18s}.post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#cfe5da}.post-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;margin-bottom:11px;flex-wrap:wrap}.pill{background:#eff8f3;color:#39765f;padding:5px 9px;border-radius:99px;font-weight:700}.post-card h2{font:700 19px Manrope;margin:0 0 8px;letter-spacing:-.4px}.post-excerpt{color:#5e6d66;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.post-bottom{display:flex;justify-content:space-between;align-items:center;color:#8b9892;font-size:11px;margin-top:14px}.loading,.empty{padding:35px 20px;text-align:center;color:var(--muted);background:white;border-radius:18px;border:1px dashed var(--line)}.create-fab{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);width:60px;height:60px;border:5px solid var(--paper);border-radius:50%;background:var(--ink);color:#fff;font-size:34px;font-weight:300;box-shadow:0 8px 25px #17231f35;z-index:4}.create-fab:hover{background:var(--mint-dark)}.drawer{position:fixed;z-index:12;inset:0 auto 0 0;width:min(310px,85vw);background:#fff;padding:24px;transform:translateX(-105%);transition:.25s;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px}.drawer nav{display:grid;gap:5px}.drawer nav a,.nav-button{padding:14px 12px;border-radius:11px;text-decoration:none;color:var(--ink);font-weight:600;border:0;background:transparent;text-align:left}.drawer nav a:hover,.nav-button:hover{background:#eff8f3}.drawer-foot{margin-top:auto;color:var(--muted);font-size:11px}.scrim{position:fixed;inset:0;background:#12221c70;z-index:11;opacity:0;pointer-events:none;transition:.2s}.scrim.show{opacity:1;pointer-events:auto}.modal-wrap{position:fixed;inset:0;background:#15251f88;z-index:20;display:none;align-items:center;justify-content:center;padding:16px;overflow:auto}.modal-wrap.show{display:flex}.modal{position:relative;background:#fff;width:min(100%,470px);max-height:calc(100vh - 32px);overflow:auto;overscroll-behavior: contain;-webkit-overflow-scrolling: touch;border-radius:23px;padding:30px;box-shadow:var(--shadow)}.modal h2{font:800 25px Manrope;letter-spacing:-.8px;margin:0 0 22px}.modal-close{position:absolute;right:18px;top:16px;border:0;background:#f1f5f2;border-radius:50%;width:33px;height:33px;font-size:15px}.modal form{display:grid;gap:15px}.modal label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#526159}.modal input,.modal select,.modal textarea{border:1px solid #dfe8e2;border-radius:11px;padding:12px 13px;outline:none;color:var(--ink);width:100%;background:#fff}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--mint-dark);box-shadow:0 0 0 3px #b8e8d744}.modal textarea{resize:vertical;line-height:1.5}.full{width:100%;margin-top:5px}.tabs{display:flex;background:#f2f6f3;padding:4px;border-radius:12px;margin-bottom:20px}.tab{border:0;background:transparent;flex:1;padding:10px;border-radius:9px;font-weight:700;color:var(--muted)}.tab.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px #17231f12}.form-note{text-align:center;color:var(--muted);font-size:12px}.text-button{border:0;background:none;color:var(--mint-dark);font-weight:800}.optional{font-weight:400;color:#94a19a}.hidden{display:none!important}.detail-modal{width:min(100%,600px)}.detail-title{font:800 27px Manrope;letter-spacing:-.9px;margin:5px 0 10px}.detail-body{white-space:pre-wrap;line-height:1.7;color:#526159;font-size:14px;overflow-wrap:anywhere}.comments{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.comments h3{font:700 16px Manrope}.comment{padding:12px 0;border-bottom:1px solid #f0f3f1;font-size:13px}.comment strong{display:block;margin-bottom:4px}.comment small{color:var(--muted)}.comment-form{display:grid;gap:8px;margin-top:15px}.comment-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:white;padding:12px 17px;border-radius:99px;font-size:13px;z-index:40;transition:.2s;max-width:calc(100% - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:760px){.app-shell{margin-top:52px}.feed-head h1{font-size:35px}.post-card{padding:22px 24px}}@media(max-width:420px){.topbar{height:62px;padding:0 14px}.app-shell{margin-top:27px}.feed-head h1{font-size:27px}.modal{padding:25px 20px}.filters{grid-template-columns:1fr}.post-card{padding:17px}}
