/* English Daily · 英语新闻 —— Black Point 品牌样式（对齐 InfoFlat） */
:root{
  --bg:#111111;--panel:#1a1a1a;--panel2:#222;--accent:#B7FF3C;
  --text:#F5F5F5;--muted:#8a8a8a;--border:#2c2c2c;--danger:#ff5a5a;--warn:#ffb07a;--blue:#9d9dff;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.6;min-height:100vh;}
.wrap{max-width:960px;margin:0 auto;padding:20px 16px 60px;}

/* ===== Header ===== */
header{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap;position:relative;padding-right:56px;}
.logo{width:40px;height:40px;background:var(--accent);color:#111;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;}
.brand h1{font-size:20px;font-weight:800;}
.brand p{color:var(--muted);font-size:12px;}
.brand .by{color:var(--accent);font-weight:700;}
.back-home{position:absolute;top:4px;right:0;display:flex;align-items:center;gap:5px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:700;text-decoration:none;transition:border-color .15s,color .15s;}
.back-home:hover{border-color:var(--accent);color:var(--accent);}
@media(max-width:520px){.back-home{padding:7px 11px;font-size:12px;}.back-home .txt{display:none;}.back-home .arr{font-size:16px;}}
.slogan{margin-top:8px;font-size:13px;color:var(--accent);font-weight:700;}

/* ===== Stats ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr);}}
.stat{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center;}
.stat b{display:block;font-size:22px;color:var(--accent);}
.stat span{font-size:11px;color:var(--muted);}

/* ===== Search & chips ===== */
.searchbar{display:flex;gap:8px;margin-bottom:8px;}
.searchbar input{flex:1;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 14px;font-size:14px;outline:none;}
.searchbar input:focus{border-color:var(--accent);}
.filter-group{margin-bottom:8px;}
.filter-group .fg-label{font-size:11px;color:var(--muted);font-weight:700;margin:0 0 4px;letter-spacing:.5px;}
.chips{display:flex;gap:6px;flex-wrap:wrap;}
.chip{padding:6px 12px;font-size:12px;font-weight:700;border-radius:20px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;transition:.15s;user-select:none;}
.chip.active{background:var(--accent);color:#111;border-color:var(--accent);}
.chip:hover{border-color:var(--accent);}
.chip .cnt{opacity:.7;font-weight:600;}

/* ===== List ===== */
.list-title{font-size:13px;color:var(--muted);margin:14px 0 10px;}
.item{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:13px 15px;margin-bottom:9px;cursor:pointer;transition:border-color .15s,transform .1s;display:block;text-decoration:none;color:var(--text);}
.item:hover{border-color:var(--accent);transform:translateX(2px);}
.item-top{display:flex;align-items:flex-start;gap:10px;}
.item-en{font-size:15px;font-weight:800;flex:1;min-width:200px;}
.item-zh{font-size:13px;color:var(--muted);margin-top:3px;}
.item-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;align-items:center;}
.tag{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;border:1px solid var(--border);background:var(--panel2);color:var(--muted);}
.tag.src{background:var(--accent);color:#111;border-color:var(--accent);}
.tag.date{color:var(--muted);}
.fav-btn{background:none;border:none;font-size:18px;cursor:pointer;line-height:1;color:var(--muted);transition:.15s;flex-shrink:0;}
.fav-btn.on{color:var(--warn);}
.done-btn{background:rgba(183,255,60,.12);border:1px solid var(--accent);color:var(--accent);border-radius:8px;width:30px;height:30px;font-size:14px;cursor:pointer;flex-shrink:0;transition:.15s;display:flex;align-items:center;justify-content:center;}
.done-btn:hover{background:var(--accent);color:#111;}
.empty{text-align:center;color:var(--muted);padding:30px 10px;font-size:13px;}

/* ===== Article page ===== */
.art-head{margin:14px 0 12px;}
.art-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.art-title-en{font-size:22px;font-weight:900;line-height:1.4;}
.art-title-zh{font-size:15px;color:var(--muted);margin-top:6px;}
.art-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.btn{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.btn:hover{border-color:var(--accent);color:var(--accent);}
.btn.accent{background:var(--accent);color:#111;border-color:var(--accent);}
.btn.accent:hover{transform:translateY(-1px);}
.btn.on{color:var(--warn);border-color:var(--warn);}

/* 视图切换 */
.tabs{display:flex;gap:6px;margin:14px 0;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:4px;}
.tab{flex:1;text-align:center;padding:8px 6px;font-size:13px;font-weight:700;border-radius:9px;color:var(--muted);cursor:pointer;transition:.15s;user-select:none;}
.tab.active{background:var(--accent);color:#111;}

/* 朗读条 */
.tts-bar{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 14px;margin-bottom:14px;flex-wrap:wrap;}
.tts-bar .tts-info{flex:1;font-size:12px;color:var(--muted);min-width:120px;}
.tts-bar .tts-info b{color:var(--accent);}

/* 段落 */
.para{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:13px 15px;margin-bottom:10px;position:relative;transition:border-color .2s;}
.para.reading{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.para-en{font-size:15px;line-height:1.75;color:var(--text);}
.para-en .w{cursor:pointer;border-radius:3px;transition:background .1s;}
.para-en .w:hover{background:rgba(183,255,60,.18);}
.para-zh{font-size:14px;color:var(--muted);line-height:1.8;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);}
.para-play{position:absolute;top:10px;right:10px;background:var(--panel2);border:1px solid var(--border);color:var(--accent);border-radius:8px;width:30px;height:30px;font-size:13px;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;}
.para-play:hover{border-color:var(--accent);background:rgba(183,255,60,.12);}
.para-play.playing{background:var(--accent);color:#111;}

/* 单词释义 popover */
.pop{position:fixed;z-index:99;background:var(--panel2);border:1px solid var(--accent);border-radius:12px;padding:12px 14px;max-width:320px;box-shadow:0 8px 30px rgba(0,0,0,.5);animation:popIn .15s ease;}
@keyframes popIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
.pop .pw{font-size:16px;font-weight:900;color:var(--accent);}
.pop .pp{font-size:12px;color:var(--muted);margin-left:6px;}
.pop .ppos{font-size:11px;color:var(--blue);margin-left:6px;}
.pop .pt{font-size:13px;color:var(--text);margin-top:6px;line-height:1.6;max-height:120px;overflow-y:auto;}
.pop .pbase{font-size:11px;color:var(--muted);margin-top:4px;}
.pop .pclose{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;}

/* Toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent);color:#111;font-size:13px;font-weight:800;padding:10px 18px;border-radius:10px;z-index:100;animation:popIn .2s ease;box-shadow:0 6px 24px rgba(0,0,0,.4);}

/* 加载 & 错误 */
.loading{text-align:center;color:var(--muted);padding:40px 10px;font-size:14px;}
.loading .spin{display:inline-block;width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-5px;margin-right:8px;}
@keyframes spin{to{transform:rotate(360deg);}}
.err-box{background:var(--panel);border:1px solid var(--danger);color:var(--danger);border-radius:12px;padding:20px;text-align:center;font-size:14px;margin-top:20px;}

/* 原文链接 */
.art-link{font-size:12px;color:var(--blue);text-decoration:none;cursor:pointer;}
.art-link:hover{text-decoration:underline;}

/* 完成阅读 */
.done-bar{margin:22px 0 10px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;}
.done-hint{font-size:12px;color:var(--muted);}
.btn.done-btn{padding:0 28px;font-size:15px;font-weight:800;border-radius:14px;white-space:nowrap;min-width:132px;height:42px;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.btn.done-btn.on{background:var(--accent);color:#111;border-color:var(--accent);}
.art-actions .btn.done-btn{padding:0 20px;font-size:14px;min-width:112px;height:37px;}
@media(max-width:640px){
  .done-bar{flex-direction:row;flex-wrap:wrap;gap:8px 12px;}
  .done-hint{font-size:11px;text-align:left;}
  .btn.done-btn{padding:0 18px;height:40px;min-width:122px;}
  .art-actions .btn{font-size:13px;padding:8px 11px;height:36px;}
  .art-actions .btn.done-btn{padding:0 16px;font-size:14px;min-width:106px;height:36px;}
  .art-actions{justify-content:flex-start;}
}
