
:root{--bg:#f3f5f8;--card:#fff;--text:#1e293b;--muted:#64748b;--line:#e5e7eb;--primary:#16a34a;--primary2:#22c55e;--dark:#0f172a;--shadow:0 10px 30px rgba(15,23,42,.08)}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;background:linear-gradient(180deg,#eef2f7,#f8fafc 240px);color:var(--text)}
a{text-decoration:none;color:inherit}.site-shell{min-height:100vh;display:flex;flex-direction:column}.main-wrap{flex:1;padding-bottom:28px}.container{width:min(1240px,95vw);margin:0 auto}.flex{display:flex}.between{justify-content:space-between}.center{align-items:center}.gap12{gap:12px}
.topbar{background:#111827;color:#fff;padding:10px 0;position:sticky;top:0;z-index:20;box-shadow:0 6px 18px rgba(0,0,0,.12)}.brand{display:flex;align-items:center;gap:10px}.brand-name{font-size:24px;font-weight:800;color:#3ee37f}.logo{width:40px;height:40px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.topnav{display:flex;gap:16px;flex-wrap:wrap}.topnav a{color:#f0f0f0;font-size:14px;padding:8px 0}.topnav a:hover{color:#7ef3a6}
.search-wrap{padding:16px 0}.search-box{display:flex;background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(255,255,255,.85)}.search-box input{flex:1;border:0;padding:16px;font-size:16px;background:transparent}.search-box button{border:0;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:0 24px;font-size:16px;cursor:pointer}
.ad-box{margin:14px auto}.ad-box img{width:100%;height:120px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow);display:block}.hero{background:linear-gradient(135deg,#fff,#ecfdf3);border-radius:20px;padding:28px;box-shadow:var(--shadow);margin-bottom:18px;border:1px solid #edf2f7}.hero h1{margin:0 0 8px;font-size:32px}.hero p{margin:0;color:var(--muted);line-height:1.9}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.section-title h2{margin:0;font-size:22px}.muted{color:var(--muted);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tool-card{background:var(--card);border:1px solid #e8edf3;border-radius:16px;padding:14px;box-shadow:var(--shadow);display:flex;gap:12px;min-height:118px;transition:.18s transform,.18s box-shadow}.tool-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.12)}.tool-icon{width:42px;height:42px;border-radius:12px;background:#eef7ff;display:flex;align-items:center;justify-content:center;font-weight:700;color:#2563eb;flex:none}.tool-card h3{margin:0 0 6px;font-size:16px}.tool-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.tool-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;color:#888}.badge{background:#eefaf1;color:#15803d;padding:3px 8px;border-radius:999px}
.content-card,.table-card,.stat-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:22px;margin-bottom:18px;border:1px solid #edf2f7}.tool-workspace textarea,.tool-workspace input,.tool-workspace select, .admin-main input,.admin-main textarea,.admin-main select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:14px;outline:none}.tool-workspace textarea:focus,.tool-workspace input:focus,.admin-main input:focus,.admin-main textarea:focus,.admin-main select:focus{border-color:#86efac;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.btn{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border:0;padding:10px 16px;border-radius:12px;cursor:pointer;font-weight:700}.btn.gray{background:#64748b}.btn.light{background:#e2e8f0;color:#0f172a}.result{background:#0f172a;color:#e2e8f0;padding:14px;border-radius:14px;white-space:pre-wrap;word-break:break-all;min-height:80px;overflow:auto}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.full{grid-column:1/-1}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.article-card{background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow);border:1px solid #eef2f7}.article-card h3{margin:0 0 8px;font-size:18px}.article-card p{margin:0;color:#666;line-height:1.8}.article-body{line-height:1.95}.article-body h2,.article-body h3{margin-top:26px}.recommend-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mini-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:14px;box-shadow:var(--shadow)}
.footer{background:#0f172a;color:#dbe3ee;padding:28px 0;margin-top:auto}.footer-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.footer-grid a{color:#dbe3ee;font-size:14px}.footer-copy{padding-top:14px;color:#8fa1b5;font-size:13px}.tg-float{position:fixed;right:18px;top:50%;transform:translateY(-50%);background:#229ED9;color:#fff;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:var(--shadow);z-index:99}
.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0f172a,#111827);color:#fff;padding:22px}.sidebar h2{color:#34d399;margin-top:0}.sidebar small{color:#93a5b8;display:block;margin-bottom:18px}.sidebar a{display:block;padding:10px 12px;border-radius:12px;color:#d1d5db;margin-bottom:6px}.sidebar a:hover,.sidebar a.active{background:#1f2937;color:#fff}.admin-main{padding:24px;background:#f8fafc}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card h3{margin:0 0 10px;font-size:14px;color:#64748b}.stat-card strong{font-size:28px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{border-bottom:1px solid #eef2f7;padding:11px;text-align:left;vertical-align:top}.admin-table tr:hover td{background:#fafcff}.editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.editor-toolbar button{padding:7px 12px;border:1px solid #d9e3ef;background:#fff;border-radius:10px;cursor:pointer}.editor{min-height:360px;border:1px solid #dbe2ea;background:#fff;border-radius:14px;padding:14px;line-height:1.85}
.notice{padding:12px 14px;border-radius:12px;background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;margin-bottom:14px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:6px 10px;background:#eef2ff;color:#4338ca;border-radius:999px;font-size:12px}.kpi-table td,.kpi-table th{padding:8px 10px}
@media (max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:1fr}.recommend-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.sidebar{display:none}}
@media (max-width:640px){.grid,.recommend-grid{grid-template-columns:1fr}.topnav{display:none}.tool-card{min-height:auto}.search-box button{padding:0 16px}.form-grid{grid-template-columns:1fr}}

label{display:block;margin:0 0 8px;font-weight:700;color:#334155}.hero-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.hero-kpi{background:#fff;border:1px solid #e5e7eb;padding:14px;border-radius:16px}.hero-kpi strong{font-size:24px;display:block}.footer-copy{word-break:break-word}@media (max-width:640px){.hero-kpis{grid-template-columns:repeat(2,1fr)}}

.tool-icon{overflow:hidden}.tool-icon-img{width:100%;height:100%;object-fit:cover;display:block}.tool-icon-emoji{font-size:20px;line-height:1}.tool-title{display:flex;align-items:center;gap:12px}.tool-title-icon{display:inline-flex;width:48px;height:48px;border-radius:14px;background:#eef7ff;align-items:center;justify-content:center}.mini-card{display:flex;align-items:center;gap:10px}.mini-icon{display:inline-flex;width:28px;height:28px;border-radius:9px;background:#eef7ff;align-items:center;justify-content:center;font-size:15px}.contact-float-stack{position:fixed;right:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:99}.contact-float{width:54px;height:54px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);border:1px solid #e5e7eb;overflow:hidden}.contact-float img{width:100%;height:100%;object-fit:cover}.contact-float span{font-weight:800;color:#0f172a}.feedback-hero{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;margin-bottom:18px}.feedback-hero>div,.feedback-side-card{background:linear-gradient(135deg,#fff,#f0fdf4);border-radius:22px;padding:24px;box-shadow:var(--shadow);border:1px solid #eef2f7}.feedback-hero h1{margin:0 0 10px;font-size:34px}.feedback-hero p{margin:0;color:var(--muted);line-height:1.9}.feedback-tips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.feedback-tips span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #dcfce7;color:#166534;font-size:13px}.feedback-side-card strong{font-size:18px}.feedback-side-card ul{margin:12px 0 0;padding-left:20px;line-height:1.9;color:#475569}.feedback-card{padding:26px}.notice-error{background:#fff1f2;border-color:#fecdd3;color:#be123c}.feedback-shell{margin-bottom:18px}body{min-height:100vh}.footer{margin-top:auto}@media (max-width:1000px){.feedback-hero{grid-template-columns:1fr}.contact-float-stack{right:12px}}@media (max-width:640px){.contact-float{width:48px;height:48px;border-radius:14px}.feedback-hero h1{font-size:28px}}
.hot-panel{padding-top:18px}.hot-title{margin-top:0}.hot-grid{grid-template-columns:repeat(5,1fr)}.hot-card{position:relative;display:flex;align-items:center;gap:10px;padding-left:42px;background:linear-gradient(135deg,#fff,#f8fafc)}.hot-rank{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:999px;background:#16a34a;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.hot-name{font-size:14px;color:#0f172a}.auth-wrap{display:flex;justify-content:center;padding:20px 0 6px}.auth-card{width:min(560px,100%)}.user-layout{display:grid;gap:18px}@media (max-width:1000px){.hot-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.hot-grid{grid-template-columns:1fr}}
