:root{--green-900: #1b5e20;--green-700: #2e7d32;--green-600: #388e3c;--green-100: #dcedc8;--green-50: #f1f8e9;--cream: #faf7f0;--ink: #2b2b26;--muted: #6b7263;--card: #ffffff;--border: #e2e6d8;--danger: #b3261e;--radius: 12px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--green-700)}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:0 16px 48px}.site-header{background:var(--green-700);color:#fff;position:sticky;top:0;z-index:10}.header-inner{max-width:1040px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem}.brand-icon{width:32px;height:32px}.main-nav{display:flex;align-items:center;gap:14px}.main-nav a{color:#fff;text-decoration:none;opacity:.92}.main-nav a.active{opacity:1;font-weight:700;border-bottom:2px solid #fff}.member-chip{background:#ffffff2e;border-radius:999px;padding:2px 12px;font-size:.85rem}.link-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:.95rem;padding:0}.main-nav .link-btn{color:#fff}.link-btn.danger{color:var(--danger)}.header-tools{max-width:1040px;margin:0 auto;padding:0 16px 10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-form{display:flex;gap:6px;flex:1;min-width:200px}.search-form input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:999px;font-size:.95rem;background:#fff;color:var(--ink)}.search-form button{padding:8px 16px;border-radius:999px;border:none;cursor:pointer;background:var(--green-900);color:#fff;font-size:.95rem}.lang-switch{display:flex;gap:4px}.lang-switch button{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:.85rem}.lang-switch button.active{background:#fff;color:var(--green-700);font-weight:700}.page{padding-top:20px}.page.narrow{max-width:720px;margin:0 auto}.page h1{font-size:1.6rem;color:var(--green-900);margin:.4em 0 .8em}.page h2{font-size:1.2rem;color:var(--green-900);margin:1.6em 0 .8em}.muted{color:var(--muted)}.back-link{text-decoration:none}.hero{background:linear-gradient(135deg,var(--green-700),var(--green-900));color:#fff;border-radius:var(--radius);padding:36px 24px;margin:20px 0 8px;text-align:center}.hero h1{color:#fff;margin:0 0 8px;font-size:1.8rem}.hero p{margin:0;opacity:.9}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.card{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease}.card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #2e7d321f}.cat-card{background:var(--green-50);border-color:var(--green-100);text-align:center;padding:26px 18px}.cat-name{font-weight:700;font-size:1.05rem;color:var(--green-900)}.post-card h3{margin:0 0 8px;font-size:1.05rem;color:var(--green-900)}.excerpt{color:var(--muted);font-size:.92rem;margin:0 0 10px}.read-more{font-size:.9rem;font-weight:600}.article h1{font-size:1.7rem}.rich-para{margin:1em 0}.video-wrap{position:relative;padding-bottom:56.25%;height:0;margin:20px 0;border-radius:var(--radius);overflow:hidden}.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.comments{margin-top:32px;border-top:1px solid var(--border);padding-top:16px}.comment-list{list-style:none;padding:0;margin:0 0 16px}.comment{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:10px}.comment-meta{font-size:.9rem;margin-bottom:4px}.comment p{margin:4px 0}.form{display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.95rem}.form input,.form textarea,.form select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;color:var(--ink);background:#fff}.form textarea{resize:vertical}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row>*{flex:1;min-width:160px}.btn-primary{background:var(--green-700);color:#fff;border:none;border-radius:999px;padding:12px 24px;font-size:1rem;font-weight:700;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{background:transparent;color:var(--green-700);border:1px solid var(--green-700);border-radius:999px;padding:12px 24px;font-size:1rem;cursor:pointer}.form-error{color:var(--danger);font-weight:600}.form-ok{color:var(--green-700);font-weight:600}.file-label{display:flex;flex-direction:column;gap:8px;font-weight:600}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tabs button{border:1px solid var(--green-700);background:transparent;color:var(--green-700);border-radius:999px;padding:8px 18px;cursor:pointer;font-size:.95rem}.tabs button.active{background:var(--green-700);color:#fff}.admin-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}.admin-table th{background:var(--green-50);color:var(--green-900)}.admin-table td.actions{white-space:nowrap}.admin-table td.actions .link-btn{margin-right:10px;color:var(--green-700)}.admin-table td.actions .link-btn.danger{color:var(--danger)}.site-footer{text-align:center;padding:24px 16px;color:#fff;background:var(--green-900);font-size:.9rem}
