/* sorje.top - 繁體中文過敏源工具 - Tea Culture Theme */
:root{--primary:#3d2b1f;--primary-dark:#2a1d14;--primary-light:#5c4033;--accent:#4a7c59;--accent-hover:#3d6b4a;--accent2:#c9a84c;--bg:#f7f3ed;--bg2:#efe8dc;--card:#fff;--text:#333;--text-muted:#7a7168;--border:#e0d6c8;--radius:8px;--max-w:1080px;--serif:'Noto Serif TC','PMingLiU',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft JhengHei',sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.8}
a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}
img{max-width:100%;height:auto}
.navbar{background:var(--primary-dark);position:sticky;top:0;z-index:100;border-bottom:2px solid var(--accent2)}
.nav-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px}
.nav-logo{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:#fff}
.nav-logo span{color:var(--accent2);font-weight:400}
.nav-links{display:flex;gap:20px}
.nav-links a{color:rgba(255,255,255,.65);font-size:.84rem;font-weight:600;transition:color .2s}
.nav-links a:hover{color:var(--accent2)}
.hamburger{display:none;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer}
.hero{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--accent) 100%);padding:50px 20px;text-align:center}
.hero h1{font-family:var(--serif);font-size:1.95rem;color:#fff;margin-bottom:8px;line-height:1.3}
.hero h1 em{font-style:normal;color:var(--accent2)}
.hero p{color:rgba(255,255,255,.75);font-size:.92rem;max-width:480px;margin:0 auto 20px}
.hero-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:9px 20px;font-weight:700;font-size:.84rem;transition:all .2s;border-radius:6px}
.btn-primary{background:var(--accent2);color:var(--primary-dark)}
.btn-primary:hover{background:#b89640;transform:translateY(-2px)}
.btn-secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.15)}
.btn-secondary:hover{background:rgba(255,255,255,.22)}
.section-wrap{max-width:var(--max-w);margin:0 auto;padding:32px 20px 0}
.section-center{text-align:center}
.section-title{font-family:var(--serif);font-size:1.35rem;font-weight:700;color:var(--primary-dark);margin-bottom:4px}
.section-sub{color:var(--text-muted);font-size:.86rem;margin-bottom:18px}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;max-width:var(--max-w);margin:0 auto;padding:0 20px 32px}
.tool-card{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.04);transition:all .2s;border-left:3px solid var(--accent);display:block;color:var(--text)}
.tool-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.08);border-left-color:var(--accent2)}
.tool-icon{font-size:1.1rem;margin-bottom:8px}
.tool-card h3{font-size:.86rem;font-weight:700;margin-bottom:2px}
.tool-card p{font-size:.73rem;color:var(--text-muted);line-height:1.5}
.cat-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:var(--max-w);margin:0 auto 18px;padding:0 20px}
.cat-pill{padding:4px 12px;background:var(--bg2);border:1px solid var(--border);border-radius:4px;font-size:.74rem;font-weight:600;color:var(--text-muted)}
.cat-pill:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;max-width:var(--max-w);margin:0 auto;padding:0 20px 32px}
.article-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.04);transition:all .2s;display:block;color:var(--text)}
.article-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.08)}
.article-card img{width:100%;height:130px;object-fit:cover}
.article-card-body{padding:12px 14px}
.article-card h3{font-size:.88rem;font-weight:700;margin-bottom:4px}
.article-card p{font-size:.74rem;color:var(--text-muted);margin-bottom:4px}
.article-badge{display:inline-block;padding:1px 8px;background:var(--accent);color:#fff;border-radius:3px;font-size:.66rem;font-weight:700}
.tool-page{max-width:800px;margin:0 auto;padding:18px}
.breadcrumb{font-size:.8rem;color:var(--text-muted);margin-bottom:12px}
.breadcrumb a{color:var(--accent)}
.tool-page h1{font-family:var(--serif);font-size:1.45rem;color:var(--primary-dark);margin-bottom:4px}
.desc{color:var(--text-muted);margin-bottom:18px;font-size:.88rem}
.calc-box{background:var(--card);padding:20px;border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.04);border:1px solid var(--border)}
.calc-box label{display:block;font-weight:600;margin-bottom:3px;font-size:.8rem;color:var(--text)}
.calc-box input,.calc-box select,.calc-box textarea{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.88rem;width:100%;margin-bottom:8px;font-family:var(--sans);background:var(--bg);color:var(--text)}
.calc-box input:focus,.calc-box select:focus{border-color:var(--accent);outline:none}
.calc-box button{background:var(--accent);color:#fff;border:none;padding:8px 22px;border-radius:6px;font-size:.86rem;font-weight:700;cursor:pointer;transition:all .2s}
.calc-box button:hover{background:var(--accent-hover)}
.result-box{margin-top:10px;padding:12px;background:var(--bg);border-radius:var(--radius);border-left:3px solid var(--accent2);display:none;white-space:pre-wrap;font-size:.84rem;line-height:1.7}
.result-box.show{display:block}
.article-page{max-width:700px;margin:0 auto;padding:22px}
.article-page h1{font-family:var(--serif);font-size:1.35rem;color:var(--primary-dark);margin-bottom:6px}
.article-meta{display:flex;gap:14px;color:var(--text-muted);font-size:.8rem;margin-bottom:18px}
.tag{display:inline-block;padding:1px 8px;background:var(--accent);color:#fff;border-radius:3px;font-size:.68rem;font-weight:700}
.article-page h2{font-family:var(--serif);font-size:1.05rem;margin:20px 0 6px;color:var(--primary-dark);border-left:3px solid var(--accent2);padding-left:10px}
.article-page p{margin-bottom:10px}
.article-page img{border-radius:var(--radius);margin:10px 0;width:100%}
.tool-mention{color:var(--accent);font-weight:700}
.static-page{max-width:700px;margin:0 auto;padding:22px}
.static-page h1{font-family:var(--serif);font-size:1.55rem;color:var(--primary-dark);margin-bottom:14px}
.static-page h2{font-family:var(--serif);font-size:1.04rem;margin:18px 0 6px;color:var(--primary-dark)}
.static-page p,.static-page li{margin-bottom:9px;color:var(--text)}
.static-page ul{padding-left:18px}
.footer{background:var(--primary-dark);color:rgba(255,255,255,.65);padding:28px 20px 12px;border-top:2px solid var(--accent2)}
.footer-grid{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px}
.footer h4{color:var(--accent2);margin-bottom:6px;font-family:var(--serif);font-size:.82rem}
.footer p,.footer a{color:rgba(255,255,255,.45);font-size:.76rem;display:block;margin-bottom:2px}
.footer a:hover{color:var(--accent2)}
.footer-bottom{text-align:center;margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);font-size:.68rem;color:rgba(255,255,255,.25)}
@media(max-width:768px){.nav-links{display:none;position:absolute;top:52px;left:0;right:0;background:var(--primary-dark);flex-direction:column;padding:12px 20px;gap:8px}.nav-links.open{display:flex}.hamburger{display:block}.hero h1{font-size:1.3rem}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.article-grid{grid-template-columns:1fr}}
