:root{--bg:#f7f5ef;--card:#fff;--text:#1e2b29;--muted:#5f6f6a;--primary:#255f55;--primary-strong:#19473f;--accent:#dcece7;--line:#dde6e2;--danger:#9a2f2f;--warning:#a2620b;--shadow:0 18px 45px rgba(18,42,36,.08);--radius-xl:28px}*{box-sizing:border-box}body{margin:0;font-family:Inter,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(1100px,calc(100% - 32px));margin:0 auto}.hidden{display:none!important}.muted{color:var(--muted)}.site-header{position:sticky;top:0;z-index:30;background:rgba(247,245,239,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(221,230,226,.75)}.brand-row{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand-wrap{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--primary);color:white;font-weight:800}.brand{font-size:1.1rem;font-weight:800;letter-spacing:-.03em}.brand-sub{color:var(--muted);font-size:.88rem}.top-nav{display:flex;gap:10px;flex-wrap:wrap}.top-nav a{padding:10px 14px;border-radius:999px;color:var(--muted);font-weight:700}.top-nav a:hover,.top-nav a.active-link{background:var(--accent);color:var(--primary-strong)}.auth-actions{display:flex;gap:12px}.primary-btn,.secondary-btn,.ghost-btn,.chip-btn{border:none;border-radius:999px;padding:12px 18px;font-weight:800}.primary-btn{background:var(--primary);color:white}.primary-btn:hover{background:var(--primary-strong)}.secondary-btn{background:var(--accent);color:var(--primary-strong)}.ghost-btn,.chip-btn{background:white;border:1px solid var(--line);color:var(--text)}.page-section{padding:28px 0}.hero-section{padding:42px 0 18px}.hero-card,.content-card,.admin-card,.profile-card,.topic-link-card,.mini-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:28px}.hero-card{background:linear-gradient(135deg,#fefefe 0%,#eef5f1 100%)}.hero-kicker{margin:0 0 16px;color:var(--primary-strong);font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero-title{margin:0;font-size:clamp(2.4rem,6vw,5rem);line-height:.95;letter-spacing:-.055em}.hero-subtitle{margin:16px 0 0;max-width:780px;font-size:1.08rem;line-height:1.7;color:var(--muted)}.search-panel{margin-top:24px;display:grid;gap:14px}.search-row{display:grid;grid-template-columns:1fr auto;gap:12px}.search-input,.text-input,.text-area,.select-input{width:100%;border:1px solid var(--line);border-radius:18px;background:white;color:var(--text);padding:16px 18px;outline:none}.search-input{min-height:60px;font-size:1.05rem}.text-area{min-height:140px;resize:vertical}.topic-chip-row,.card-grid,.topic-links-grid{display:grid;gap:16px}.topic-chip-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.topic-links-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.section-heading{margin:0 0 10px;font-size:clamp(1.5rem,4vw,2.2rem);letter-spacing:-.04em}.section-subtext{margin:0 0 24px;color:var(--muted);line-height:1.7}.topic-link-card h3,.mini-card h3,.content-card h3,.admin-card h3,.profile-card h3{margin:0 0 10px;letter-spacing:-.03em}.content-card p,.content-card li,.topic-link-card p,.mini-card p,.admin-card p,.profile-card p{color:var(--muted);line-height:1.75}.soft-pill{display:inline-flex;border-radius:999px;padding:8px 12px;background:var(--accent);color:var(--primary-strong);font-weight:800;font-size:.9rem}.action-row,.inline-tags{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.topic-page-shell{padding:34px 0 60px}.topic-header{margin-bottom:18px}.topic-title{margin:10px 0;font-size:clamp(2.1rem,5vw,3.25rem);line-height:1;letter-spacing:-.05em}.topic-summary{margin:0;max-width:760px;color:var(--muted);line-height:1.75;font-size:1.03rem}.topic-main-grid{display:grid;gap:18px}.tight-list{margin:10px 0 0;padding-left:18px}.meta-sections{display:grid;gap:16px}.meta-block h3{margin:0 0 8px;font-size:1.1rem}.cta-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,#fdfefe 0%,#eef5f1 100%)}.community-form{display:grid;gap:12px;margin-top:12px}.community-post{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.form-grid{display:grid;gap:14px}.form-two-col{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.label-block{display:grid;gap:8px}.kicker-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--primary-strong)}.empty-state{text-align:center;padding:28px;border:1px dashed var(--line);border-radius:22px;color:var(--muted);background:rgba(255,255,255,.65)}.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.admin-grid{display:grid;gap:18px}.admin-requests-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px;vertical-align:top}.data-table th{color:var(--primary-strong);font-size:.86rem;text-transform:uppercase;letter-spacing:.06em}.badge{display:inline-flex;border-radius:999px;padding:6px 10px;background:var(--accent);color:var(--primary-strong);font-weight:800;font-size:.85rem}.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(19,32,29,.48);padding:20px;z-index:60}.modal-card{width:min(700px,100%);max-height:min(92vh,900px);overflow:auto;background:white;border-radius:28px;padding:28px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.22)}.modal-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:none;background:var(--accent);font-size:1.4rem}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);margin:18px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.form-message{min-height:22px;margin-top:6px;color:var(--muted)}.split-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide-btn{width:100%}@media(max-width:900px){.brand-row{flex-wrap:wrap;justify-content:center;padding:14px 0}.search-row,.form-two-col,.split-actions{grid-template-columns:1fr}}@media(max-width:640px){.container{width:min(100% - 18px,1100px)}.hero-card,.content-card,.admin-card,.profile-card,.topic-link-card,.mini-card{padding:22px;border-radius:22px}.hero-title{font-size:2.3rem}.topic-title{font-size:2.1rem}}