/* Anything visual system — legible, compact, editorial, accessible. */
:root{--green:#087c57;--deep:#0b3b30;--forest:#102f27;--mint:#e8f6ee;--light:#f9faf8;--text:#1a2d25;--muted:#51685c;--border:#dbe6dc;--panel:#fff;--surface:#fff;--surface2:#f0f6f1;--ring:#a2d9ba;--body-font:'DM Sans',system-ui,-apple-system,sans-serif;--display-font:'Sora',system-ui,sans-serif; color-scheme:light}
html,body{font-family:var(--body-font)}
body,button,input,textarea,select{font-family:var(--body-font)!important}
h1,h2,h3,h4,.logo,.wallet-card strong,.metric strong{font-family:var(--display-font)!important;letter-spacing:-.045em}
h1 em,h2 em,.auth-aside em,.editorial-band em{font-family:'Instrument Serif',Georgia,serif!important}
.logo{letter-spacing:-.065em}.nav-actions{gap:10px}
.search-hero{min-height:0;padding-top:44px;padding-bottom:27px}
.search-hero h1{font-size:clamp(2.8rem,6.6vw,5.3rem);letter-spacing:-.075em;margin:12px 0 15px}
.hero-mark{margin-bottom:12px}.search-hero .hero-lead{max-width:600px;margin-bottom:22px;font-size:.95rem}
.discovery-input-wrap{border-radius:18px;min-height:72px;box-shadow:0 8px 30px rgba(11,59,48,.09),0 0 0 1px #b4cdbb}
.discovery-divider{margin-top:17px;margin-bottom:20px}.home-feed{padding-top:5px}
.home-feed-heading{margin-bottom:17px}.home-feed-heading h2{font-size:clamp(1.4rem,2.6vw,2.1rem)}
.hero-suggestions{margin-top:9px}.discovery-modes{margin-top:8px}.hero-suggestions>span{font-size:.75rem}
.theme-toggle{border:1px solid var(--border);border-radius:999px;min-height:39px;padding:0 11px;background:var(--panel);color:var(--text);display:inline-flex;gap:7px;align-items:center;font-size:.75rem;font-weight:750;transition:background .15s,border-color .15s}.theme-toggle:hover{border-color:var(--green)}.theme-toggle-icon{font-size:1.05rem;line-height:1}
.toast{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 18px)!important;left:50%!important;bottom:auto!important;z-index:2147483647!important;width:min(480px,calc(100% - 28px))!important;max-width:480px!important;background:#102f27!important;color:#fff!important;box-shadow:0 21px 70px rgba(2,18,12,.30)!important;border:1px solid #456455!important;border-radius:15px!important;padding:0!important;pointer-events:auto!important;transform:translate(-50%,-145%)!important;opacity:0;transition:transform .24s ease,opacity .24s ease!important}
.toast.show{transform:translate(-50%,0)!important;opacity:1}.toast.error{background:#77272a!important;border-color:#d57f7d!important}.toast.success{background:#103b2e!important}
.toast-content{display:flex;align-items:flex-start;gap:12px;padding:16px}.toast-symbol{flex:0 0 26px;height:26px;border-radius:50%;background:rgba(255,255,255,.15);display:grid;place-items:center;font-weight:850;font-size:1rem}.toast-message{flex:1;font-size:.87rem;line-height:1.55;font-weight:650;overflow-wrap:anywhere}.toast-dismiss{background:transparent;border:0;color:inherit;opacity:.85;font-size:1.3rem;padding:0;min-width:24px}
.setup-box{max-width:580px;padding:60px 0 100px}.setup-box .stack{background:var(--panel);border:1px solid var(--border);padding:24px;border-radius:18px}.setup-box input{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;margin-top:9px}.setup-error{padding:15px;background:#ffeaed;color:#8f232e;border:1px solid #efb4bd;border-radius:12px;margin:16px 0}
/* Consistent dialog stacking: notices are always above modal overlays. */
.modal-overlay{z-index:6000!important}
.modal-card{color:var(--text);background:var(--panel)}
/* Dark mode uses semantic contrast instead of blindly inverting colours. */
html[data-theme="dark"]{color-scheme:dark;--green:#70db9e;--deep:#c7f4d8;--forest:#153d2f;--mint:#163d2c;--light:#0d1512;--text:#ecf6ef;--muted:#b4cabc;--border:#365044;--panel:#17241e;--surface:#17241e;--surface2:#1d3127;--ring:#6fda9c;background:#0d1512;color:#ecf6ef}
html[data-theme="dark"] body{background:#0d1512!important;color:#ecf6ef!important}
html[data-theme="dark"] p,html[data-theme="dark"] .subtle,html[data-theme="dark"] .muted{color:#b4cabc!important}
html[data-theme="dark"] :is(.topbar,.footer,.panel,.request-card,.community-card,.community-article,.blog-card,.blog-article,.inbox-layout,.chat-list,.auth-form-shell,.dashboard-stats>div,.metric,.filterbar,.no-feed,.modal-card,.choice-card,.big-form,.request-summary,.detail-section,.discovery-input-wrap,.post-choice,.staff-switch,.notification-row,.wallet-usd,.chat-room,.admin-content,.admin-nav,.setup-box .stack){background:#17241e!important;color:#ecf6ef!important;border-color:#365044!important;box-shadow:none!important}
html[data-theme="dark"] :is(.hero-lead,.search-hero p,.search-hero h1,.home-feed-heading h2,.welcome h1,.listing-intro h1,.form-heading h1,.auth-aside h1,.auth-form-shell h2,.detail-head h1,.request-card h3,.blog-card h2,.card-bottom strong,.modal-card h2,.staff-switch){color:#ecf6ef!important}
html[data-theme="dark"] :is(.logo,.mainnav a,.nav-login,.theme-toggle,.footer a,.card-meta,.card-top,.auth-helper a){color:#e4f4e8!important}
html[data-theme="dark"] :is(.discovery-input-wrap input,.human-form input,.human-form textarea,.human-form select,.form-page input,.form-page textarea,.form-page select,.chat-compose textarea,.modal-card input,.modal-card textarea,.modal-card select,.searchbox input,textarea,input,select){background:#102019!important;color:#eef8f1!important;border-color:#415d4a!important}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#a9c0b1!important;opacity:1}
html[data-theme="dark"] :is(.hero-mark,.hero-suggestions button,.post-choice-icon,.modal-graphic,.emotion-graphic,.validation-progress,.otp-notice,.review-reminder,.form-note-choice,.modal-buttons,.reply-preview,.quoted,.bubble:not(.mine),.wallet-action){background:#213c2b!important;color:#e4f4e8!important;border-color:#365044!important}
html[data-theme="dark"] :is(.hero-question,.search-hero em,.auth-aside em,.mainnav a:hover,.quiet-arrow,.auth-bottom a,.theme-toggle:hover){color:#84e7af!important}
html[data-theme="dark"] :is(.discovery-enter,.btn:not(.btn-ghost),.support-float,.mobile-primary){background:#43b97e!important;color:#0b2417!important}
html[data-theme="dark"] .btn-ghost{background:#243a2e!important;border-color:#4e795f!important;color:#e9f8ed!important}
html[data-theme="dark"] .wallet-ngn{background:#0c6240!important;color:white!important}
html[data-theme="dark"] .wallet-usd *{color:#eef8f1!important}
html[data-theme="dark"] .community-hero{background:#17402d!important}
html[data-theme="dark"] .community-hero h1{color:#f2fff6!important}
html[data-theme="dark"] .bubble.mine{background:#286246!important;color:#fff!important}
html[data-theme="dark"] .bubble.mine p{color:#fff!important}
html[data-theme="dark"] .editorial-band{background:#113927!important}
html[data-theme="dark"] .pill.success{color:#baf7d0!important;background:#145334!important}
html[data-theme="dark"] .pill.neutral{background:#273b30!important;color:#e1efe4!important}
html[data-theme="dark"] a:focus-visible,html[data-theme="dark"] button:focus-visible,html[data-theme="dark"] input:focus-visible{outline:3px solid #8df2b7!important;outline-offset:3px}
@media(max-width:740px){.search-hero{padding-top:30px;padding-bottom:20px}.search-hero h1{font-size:clamp(2.5rem,10vw,3.9rem)}.hero-mark{display:none}.home-feed{padding-top:0}.discovery-divider{margin-top:10px;margin-bottom:17px}.theme-toggle{padding:0 8px;min-height:36px;font-size:.69rem}.nav-actions{gap:7px}.toast{top:calc(env(safe-area-inset-top,0px) + 10px)!important}}
@media(prefers-reduced-motion:reduce){.toast,.theme-toggle{transition:none!important}}

.discovery-modes{gap:5px}.discovery-pill{border:1px solid var(--border);background:var(--panel);color:var(--muted)}.discovery-pill.active{background:var(--mint);border-color:#8dbda0;color:#065c41}
html[data-theme="dark"] .discovery-pill{background:#1c3125!important;color:#e2f3e7!important;border-color:#365044!important}html[data-theme="dark"] .discovery-pill.active{background:#1c6943!important;border-color:#6ce5a1!important;color:white!important}
