:root{--bg:#0f0f13;--bg2:#17171e;--bg3:#1e1e28;--bg4:#25252f;--border:rgba(255,255,255,0.07);--border2:rgba(255,255,255,0.04);--text:#f0f0f5;--text2:#9898aa;--text3:#5a5a6e;--grad1:#6c63ff;--grad2:#3ecfcf;--green:#22d3a5;--yellow:#f5c842;--red:#ff5f72;--purple:#a78bfa;--blue:#60a5fa;--orange:#fb923c;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--text);font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;line-height:1.5;min-height:100vh;overflow-x:hidden;}
body::before{content:'';position:fixed;width:600px;height:600px;background:radial-gradient(circle,rgba(108,99,255,0.07) 0%,transparent 70%);top:-100px;left:-100px;pointer-events:none;z-index:0;}
body::after{content:'';position:fixed;width:500px;height:500px;background:radial-gradient(circle,rgba(62,207,207,0.05) 0%,transparent 70%);bottom:-100px;right:-100px;pointer-events:none;z-index:0;}
.nav{position:sticky;top:0;z-index:100;background:rgba(15,15,19,0.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:9px;text-decoration:none;}
.nav-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--grad1),var(--grad2));border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;box-shadow:0 4px 14px rgba(108,99,255,0.35);flex-shrink:0;}
.nav-logo-text{font-weight:700;font-size:15px;color:var(--text);white-space:nowrap;}
.nav-logo-text span{background:linear-gradient(135deg,var(--grad1),var(--grad2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.nav-right{display:flex;align-items:center;gap:8px;}
.nav-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid var(--border);background:var(--bg2);color:var(--text2);white-space:nowrap;}
.nav-chip-live{display:none;}
.hero{text-align:center;padding:48px 20px 32px;position:relative;z-index:1;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(108,99,255,0.12);border:1px solid rgba(108,99,255,0.25);color:#a78bfa;padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:18px;}
.hero h1{font-size:clamp(22px,5vw,40px);font-weight:800;line-height:1.2;margin-bottom:12px;}
.hero h1 .grad{background:linear-gradient(135deg,var(--grad1),var(--grad2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.hero p{font-size:14px;color:var(--text2);max-width:480px;margin:0 auto 22px;line-height:1.7;}
.source-pills{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.source-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid;}
.sp-green{background:rgba(34,211,165,0.1);border-color:rgba(34,211,165,0.2);color:var(--green);}
.sp-blue{background:rgba(96,165,250,0.1);border-color:rgba(96,165,250,0.2);color:var(--blue);}
.sp-purple{background:rgba(167,139,250,0.1);border-color:rgba(167,139,250,0.2);color:var(--purple);}
.main-wrap{max-width:1100px;margin:0 auto;padding:0 16px 60px;position:relative;z-index:1;}
.card{background:var(--bg2);border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-bottom:16px;box-shadow:0 4px 28px rgba(0,0,0,0.3);}
.card-header{padding:14px 18px;border-bottom:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.card-title{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--text);}
.card-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.icon-purple{background:rgba(108,99,255,0.15);color:var(--grad1);}
.card-meta{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:4px;}
.card-body{padding:18px;}
.textarea-wrap{position:relative;margin-bottom:12px;}
textarea{width:100%;background:var(--bg3);border:1.5px solid var(--border);border-radius:12px;color:var(--text);font-family:'DM Mono',monospace;font-size:13px;padding:14px 16px;resize:none;height:160px;outline:none;transition:border-color 0.2s,box-shadow 0.2s;line-height:1.8;-webkit-appearance:none;}
textarea:focus{border-color:var(--grad1);box-shadow:0 0 0 4px rgba(108,99,255,0.1);}
textarea::placeholder{color:var(--text3);}
.textarea-counter{position:absolute;bottom:12px;right:14px;font-size:11px;font-family:'DM Mono',monospace;color:var(--text3);background:var(--bg3);padding:0 4px;}
.textarea-counter span{color:var(--grad2);font-weight:600;}
.options-row{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap;}
.checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text2);user-select:none;}
.checkbox-label input[type="checkbox"]{display:none;}
.checkbox-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border);background:var(--bg3);display:flex;align-items:center;justify-content:center;transition:all 0.2s;flex-shrink:0;}
.checkbox-box i{font-size:10px;color:#fff;opacity:0;transition:opacity 0.15s;}
.checkbox-label input[type="checkbox"]:checked + .checkbox-box{background:linear-gradient(135deg,var(--grad1),var(--grad2));border-color:var(--grad1);}
.checkbox-label input[type="checkbox"]:checked + .checkbox-box i{opacity:1;}
.checkbox-label:hover .checkbox-box{border-color:var(--grad1);}
.limit-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:10px 14px;background:var(--bg3);border-radius:10px;border:1px solid var(--border2);gap:10px;flex-wrap:wrap;}
.limit-left{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text2);}
.limit-left i{color:var(--yellow);}
.limit-track{width:80px;height:4px;background:var(--bg4);border-radius:2px;overflow:hidden;flex-shrink:0;}
.limit-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--grad1),var(--grad2));transition:width 0.3s;}
.limit-right{font-size:12px;font-family:'DM Mono',monospace;color:var(--text3);white-space:nowrap;}
.limit-right span{color:var(--text);font-weight:600;}
.btn-row{display:flex;gap:10px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 20px;border-radius:11px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all 0.2s;-webkit-tap-highlight-color:transparent;}
.btn-main{background:linear-gradient(135deg,var(--grad1),var(--grad2));color:#fff;flex:1;box-shadow:0 4px 18px rgba(108,99,255,0.35);}
.btn-main:hover{transform:translateY(-1px);box-shadow:0 8px 26px rgba(108,99,255,0.45);}
.btn-main:active{transform:translateY(0);}
.btn-main:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-outline{background:var(--bg3);color:var(--text2);border:1.5px solid var(--border);min-width:100px;}
.btn-outline:hover{background:var(--bg4);color:var(--text);}
.btn-sm{padding:7px 13px;font-size:12px;border-radius:8px;background:var(--bg3);color:var(--text2);border:1px solid var(--border);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all 0.2s;font-family:'Plus Jakarta Sans',sans-serif;font-weight:500;-webkit-tap-highlight-color:transparent;}
.btn-sm:hover{background:var(--bg4);color:var(--text);}
.btn-sm-green{color:var(--green);border-color:rgba(34,211,165,0.2);background:rgba(34,211,165,0.06);}
.btn-sm-green:hover{background:rgba(34,211,165,0.12);}
.alert{display:none;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:11px;font-size:13px;margin-bottom:14px;border:1px solid;line-height:1.5;}
.alert.active{display:flex;}
.alert i{margin-top:1px;flex-shrink:0;}
.alert-error{background:rgba(255,95,114,0.08);border-color:rgba(255,95,114,0.2);color:#ff8a96;}
.alert-warning{background:rgba(245,200,66,0.08);border-color:rgba(245,200,66,0.2);color:#f5c842;}
.alert-info{background:rgba(96,165,250,0.08);border-color:rgba(96,165,250,0.2);color:var(--blue);}
.loading{display:none;}
.loading.active{display:block;margin-bottom:16px;}
.loading-card{background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:48px 20px;text-align:center;box-shadow:0 4px 28px rgba(0,0,0,0.3);}
.loader-rings{position:relative;width:64px;height:64px;margin:0 auto 20px;}
.lr{position:absolute;inset:0;border-radius:50%;border:2.5px solid transparent;}
.lr:nth-child(1){border-top-color:var(--grad1);animation:spin 1s linear infinite;}
.lr:nth-child(2){inset:10px;border-right-color:var(--grad2);animation:spin 1.4s linear infinite reverse;}
.lr:nth-child(3){inset:20px;border-bottom-color:var(--purple);animation:spin 1.8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.loading-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:5px;}
.loading-sub{font-size:12px;color:var(--text2);font-family:'DM Mono',monospace;margin-bottom:16px;}
.ldots{display:flex;justify-content:center;gap:6px;}
.ldot{width:6px;height:6px;border-radius:50%;background:var(--bg4);transition:background 0.3s;}
.ldot.active{background:var(--grad1);box-shadow:0 0 8px var(--grad1);}
.table-card{display:none;background:var(--bg2);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 4px 28px rgba(0,0,0,0.3);}
.table-card.active{display:block;}
.table-toolbar{padding:13px 18px;border-bottom:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.toolbar-title{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:7px;}
.count-badge{background:linear-gradient(135deg,var(--grad1),var(--grad2));color:#fff;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;font-size:12px;}
thead{background:var(--bg3);}
th{padding:10px 12px;text-align:left;font-size:10px;font-weight:700;letter-spacing:0.7px;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--border2);user-select:none;}
th i{margin-right:4px;font-size:9px;}
.th-n{color:var(--text3);width:36px;text-align:center;}.th-d{color:var(--text2);}.th-gr{color:var(--yellow);}.th-moz{color:var(--green);}.th-ahr{color:var(--blue);}.th-maj{color:var(--purple);}.th-s{color:var(--text3);}.th-sep{border-left:1px solid var(--border2);}.th-right{text-align:left !important;}
td{padding:11px 12px;border-bottom:1px solid var(--border2);vertical-align:middle;white-space:nowrap;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(255,255,255,0.018);}
.td-n{text-align:center;font-family:'DM Mono',monospace;font-size:11px;color:var(--text3);}
.td-d{font-family:'DM Mono',monospace;font-size:12px;color:var(--text);max-width:180px;overflow:hidden;text-overflow:ellipsis;}
.td-num{font-family:'DM Mono',monospace;font-size:12px;color:var(--text2);text-align:right;}
.td-num-left{font-family:'DM Mono',monospace;font-size:12px;color:var(--text2);text-align:left;padding-left:14px;}
.grade{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;font-weight:800;font-size:14px;border:2px solid;font-family:'Plus Jakarta Sans',sans-serif;}
.grade-s{background:rgba(108,99,255,0.15);border-color:rgba(108,99,255,0.4);color:#a78bfa;}
.grade-a{background:rgba(34,211,165,0.12);border-color:rgba(34,211,165,0.35);color:var(--green);}
.grade-b{background:rgba(96,165,250,0.12);border-color:rgba(96,165,250,0.3);color:var(--blue);}
.grade-c{background:rgba(245,200,66,0.12);border-color:rgba(245,200,66,0.3);color:var(--yellow);}
.grade-d{background:rgba(255,95,114,0.1);border-color:rgba(255,95,114,0.25);color:var(--red);}
.pill{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;border-radius:5px;font-family:'DM Mono',monospace;font-size:12px;font-weight:500;padding:0 6px;border:1px solid;}
.p-high{background:rgba(34,211,165,0.12);border-color:rgba(34,211,165,0.25);color:var(--green);}
.p-mid{background:rgba(245,200,66,0.12);border-color:rgba(245,200,66,0.25);color:var(--yellow);}
.p-low{background:rgba(255,95,114,0.12);border-color:rgba(255,95,114,0.25);color:var(--red);}
.p-none{background:rgba(90,90,110,0.1);border-color:rgba(90,90,110,0.2);color:var(--text3);}
.p-spam-ok{background:rgba(34,211,165,0.12);border-color:rgba(34,211,165,0.25);color:var(--green);}
.p-spam-mid{background:rgba(245,200,66,0.12);border-color:rgba(245,200,66,0.25);color:var(--yellow);}
.p-spam-bad{background:rgba(255,95,114,0.12);border-color:rgba(255,95,114,0.25);color:var(--red);}
.badge-fresh{display:inline-flex;align-items:center;gap:4px;background:rgba(34,211,165,0.1);border:1px solid rgba(34,211,165,0.2);color:var(--green);padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;}
.badge-cache{display:inline-flex;align-items:center;gap:4px;background:rgba(167,139,250,0.1);border:1px solid rgba(167,139,250,0.2);color:var(--purple);padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;}
.grade-guide{margin-top:32px;position:relative;z-index:1;}
.grade-guide-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;}
.grade-guide-icon{width:42px;height:42px;flex-shrink:0;background:rgba(245,200,66,0.12);border:1px solid rgba(245,200,66,0.25);border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--yellow);font-size:18px;}
.grade-guide-header h2{font-size:17px;font-weight:800;color:var(--text);margin-bottom:3px;}
.grade-guide-header p{font-size:12px;color:var(--text2);}
.grade-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.grade-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:18px 14px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,0.22);transition:transform 0.2s;position:relative;overflow:hidden;}
.grade-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.grade-card:hover{transform:translateY(-3px);}
.gc-s::before{background:linear-gradient(90deg,var(--grad1),var(--purple));}
.gc-a::before{background:linear-gradient(90deg,var(--green),#39d353);}
.gc-b::before{background:linear-gradient(90deg,var(--blue),#38bdf8);}
.gc-c::before{background:linear-gradient(90deg,var(--yellow),var(--orange));}
.gc-d::before{background:linear-gradient(90deg,var(--red),#f87171);}
.gc-grade-badge{width:48px;height:48px;border-radius:12px;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;margin:0 auto 12px;font-family:'Plus Jakarta Sans',sans-serif;}
.gc-s .gc-grade-badge{background:rgba(108,99,255,0.15);border-color:rgba(108,99,255,0.4);color:#a78bfa;}
.gc-a .gc-grade-badge{background:rgba(34,211,165,0.12);border-color:rgba(34,211,165,0.35);color:var(--green);}
.gc-b .gc-grade-badge{background:rgba(96,165,250,0.12);border-color:rgba(96,165,250,0.3);color:var(--blue);}
.gc-c .gc-grade-badge{background:rgba(245,200,66,0.12);border-color:rgba(245,200,66,0.3);color:var(--yellow);}
.gc-d .gc-grade-badge{background:rgba(255,95,114,0.1);border-color:rgba(255,95,114,0.25);color:var(--red);}
.gc-title{font-size:13px;font-weight:800;color:var(--text);margin-bottom:3px;}
.gc-score{font-size:10px;font-family:'DM Mono',monospace;color:var(--text3);margin-bottom:10px;}
.gc-divider{height:1px;background:var(--border2);margin:10px 0;}
.gc-desc{font-size:11px;color:var(--text2);line-height:1.6;text-align:left;}
.gc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;justify-content:center;}
.gc-tag{font-size:9px;font-weight:600;padding:2px 7px;border-radius:4px;border:1px solid;}
.gc-s .gc-tag{background:rgba(108,99,255,0.1);border-color:rgba(108,99,255,0.2);color:#a78bfa;}
.gc-a .gc-tag{background:rgba(34,211,165,0.1);border-color:rgba(34,211,165,0.2);color:var(--green);}
.gc-b .gc-tag{background:rgba(96,165,250,0.1);border-color:rgba(96,165,250,0.2);color:var(--blue);}
.gc-c .gc-tag{background:rgba(245,200,66,0.1);border-color:rgba(245,200,66,0.2);color:var(--yellow);}
.gc-d .gc-tag{background:rgba(255,95,114,0.1);border-color:rgba(255,95,114,0.2);color:var(--red);}
.grade-formula{margin-top:14px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.grade-formula-label{font-size:12px;color:var(--text3);display:flex;align-items:center;gap:6px;flex-shrink:0;}
.grade-formula-label i{color:var(--grad1);}
.grade-formula-eq{font-family:'DM Mono',monospace;font-size:13px;color:var(--text);background:var(--bg3);padding:6px 13px;border-radius:8px;border:1px solid var(--border2);}
.grade-formula-eq span{color:var(--grad2);font-weight:600;}
.grade-formula-note{font-size:12px;color:var(--text3);}
.articles-section{margin-top:40px;position:relative;z-index:1;}
.articles-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;}
.articles-header-icon{width:42px;height:42px;flex-shrink:0;background:rgba(96,165,250,0.12);border:1px solid rgba(96,165,250,0.25);border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:18px;}
.articles-header h2{font-size:17px;font-weight:800;color:var(--text);margin-bottom:3px;}
.articles-header p{font-size:12px;color:var(--text2);}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.article-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,0.2);transition:transform 0.2s;}
.article-card:hover{transform:translateY(-2px);}
.article-card-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border2);}
.article-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.icon-green{background:rgba(34,211,165,0.12);color:var(--green);}
.icon-blue{background:rgba(96,165,250,0.12);color:var(--blue);}
.icon-red{background:rgba(255,95,114,0.12);color:var(--red);}
.article-title{font-size:14px;font-weight:700;color:var(--text);}
.article-source{font-size:11px;color:var(--text3);font-family:'DM Mono',monospace;margin-top:2px;}
.article-body{padding:16px 18px;}
.article-body p{font-size:13px;color:var(--text2);line-height:1.7;margin-bottom:12px;}
.article-body p strong{color:var(--text);}
.article-scale{display:flex;gap:4px;margin-bottom:14px;}
.scale-item{flex:1;padding:6px 4px;border-radius:7px;text-align:center;border:1px solid;}
.scale-item span{display:block;font-family:'DM Mono',monospace;font-size:11px;font-weight:600;margin-bottom:2px;}
.scale-item small{font-size:10px;display:block;}
.scale-low{background:rgba(255,95,114,0.1);border-color:rgba(255,95,114,0.2);color:var(--red);}
.scale-mid{background:rgba(245,200,66,0.1);border-color:rgba(245,200,66,0.2);color:var(--yellow);}
.scale-high{background:rgba(96,165,250,0.1);border-color:rgba(96,165,250,0.2);color:var(--blue);}
.scale-top{background:rgba(34,211,165,0.1);border-color:rgba(34,211,165,0.2);color:var(--green);}
.article-tip{background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:10px 12px;font-size:12px;color:var(--text2);line-height:1.6;}
.article-tip i{color:var(--yellow);margin-right:5px;}
.article-tip strong{color:var(--text);}
footer{border-top:1px solid var(--border);background:var(--bg2);padding:36px 20px 24px;position:relative;z-index:1;margin-top:32px;}
.footer-inner{max-width:1100px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px;margin-bottom:28px;}
.footer-brand-logo{display:flex;align-items:center;gap:9px;margin-bottom:10px;}
.footer-brand-logo .fbl-icon{width:28px;height:28px;background:linear-gradient(135deg,var(--grad1),var(--grad2));border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;box-shadow:0 4px 10px rgba(108,99,255,0.3);flex-shrink:0;}
.footer-brand-logo span{font-weight:700;font-size:14px;}
.footer-brand p{font-size:12px;color:var(--text3);line-height:1.8;}
.footer-col h4{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;display:flex;align-items:center;gap:5px;}
.h4-green{color:var(--green);}.h4-blue{color:var(--blue);}.h4-purple{color:var(--purple);}
.footer-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text3);margin-bottom:7px;}
.footer-item i{font-size:10px;width:13px;text-align:center;}
.fi-green{color:var(--green);}.fi-blue{color:var(--blue);}.fi-purple{color:var(--purple);}.fi-gray{color:var(--text3);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--border2);flex-wrap:wrap;gap:10px;}
.footer-copy{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:5px;}
.footer-copy i{color:var(--red);font-size:9px;}
.footer-tags{display:flex;gap:5px;flex-wrap:wrap;}
.ftag{padding:3px 9px;border-radius:6px;font-size:10px;font-weight:600;border:1px solid;display:flex;align-items:center;gap:4px;}
.ftag-g{background:rgba(34,211,165,0.08);border-color:rgba(34,211,165,0.18);color:var(--green);}
.ftag-b{background:rgba(96,165,250,0.08);border-color:rgba(96,165,250,0.18);color:var(--blue);}
.ftag-p{background:rgba(167,139,250,0.08);border-color:rgba(167,139,250,0.18);color:var(--purple);}
@media(max-width:900px){.grade-cards{grid-template-columns:repeat(3,1fr);}.footer-grid{grid-template-columns:1fr 1fr;}.articles-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){
  .nav{padding:0 14px;}.nav-logo-text{font-size:14px;}.nav-chip{display:none;}.nav-chip-live{display:inline-flex;font-size:10px;padding:3px 8px;}
  .hero{padding:36px 16px 24px;}.hero p{font-size:13px;}.source-pills{gap:6px;}.source-pill{font-size:10px;padding:4px 10px;}
  .main-wrap{padding:0 12px 50px;}.card-header{padding:12px 14px;}.card-body{padding:14px;}
  textarea{height:140px;font-size:12px;}.btn-row{flex-direction:column;}.btn-outline{min-width:unset;}
  .limit-bar{padding:8px 12px;}.limit-track{width:60px;}
  .grade-cards{grid-template-columns:1fr 1fr;}.gc-desc{display:none;}
  .grade-guide-header h2{font-size:15px;}.grade-formula{flex-direction:column;align-items:flex-start;gap:10px;}
  .footer-grid{grid-template-columns:1fr;gap:20px;}.footer-brand p{display:none;}
  .articles-grid{grid-template-columns:1fr;}.articles-header h2{font-size:15px;}
  .table-scroll::after{content:'← scroll →';display:block;text-align:center;font-size:10px;color:var(--text3);padding:8px;font-family:'DM Mono',monospace;}
}
@media(max-width:400px){.grade-cards{grid-template-columns:1fr 1fr;}.hero h1{font-size:20px;}}
.cf-turnstile{margin-bottom:14px;}