:root{
  --bg:#f2f5f9; --card:#ffffff; --ink:#1f2a37; --sub:#667085; --line:#e4e9f0;
  --brand:#2563eb; --brand-2:#1d4ed8; --ok:#16a34a; --bad:#dc2626; --warn:#d97706;
  --soft-blue:#eff4ff; --chip:#f1f4f9;
  --radius:14px; --shadow:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);
  --shadow-lg:0 12px 32px rgba(16,24,40,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:14px; line-height:1.55;
}
.topbar{
  position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--line);
  display:flex; align-items:center; gap:18px; padding:10px 22px; flex-wrap:wrap;
}
.brand-title{font-size:19px; font-weight:800; letter-spacing:.5px; color:var(--brand-2)}
.brand-sub{font-size:12px; color:var(--sub); margin-top:1px}
.tabs{display:flex; gap:4px; margin-left:6px; flex-wrap:wrap}
.tab-btn{
  border:none; background:transparent; padding:8px 14px; border-radius:10px;
  font-size:14px; color:#475467; cursor:pointer; font-weight:600;
}
.tab-btn:hover{background:#f1f4f9; color:var(--ink)}
.tab-btn.active{background:var(--soft-blue); color:var(--brand-2)}
.save-state{font-size:12px; color:var(--ok); background:#ecfdf3; padding:4px 10px; border-radius:20px; margin-left:auto; white-space:nowrap}
.save-state.saving{color:var(--warn); background:#fffaeb}
.sync-state{font-size:12px; padding:4px 10px; border-radius:20px; background:var(--chip); color:#475467; white-space:nowrap; cursor:pointer; margin-left:auto}
.sync-state:hover{filter:brightness(.96)}
.sync-state.on{background:#ecfdf3; color:#15803d}
.sync-state.busy{background:#fffaeb; color:#b45309}
.sync-state.err{background:#fef2f2; color:#b91c1c}
main{padding:20px 22px 60px; max-width:1200px; margin:0 auto}
.hidden{display:none!important}

/* 卡片 */
.card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px 20px; margin-bottom:16px}
.card h3{font-size:15px; font-weight:700; margin-bottom:12px; display:flex; align-items:center; gap:8px}
.card h3 .hint{font-size:12px; color:var(--sub); font-weight:400}
.section-title{font-size:18px; font-weight:800; margin:6px 0 14px; display:flex; align-items:center; gap:10px}
.section-title small{color:var(--sub); font-weight:400; font-size:13px}

/* 统计卡 */
.stat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin-bottom:16px}
.stat{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 16px}
.stat .num{font-size:26px; font-weight:800; color:var(--brand-2); line-height:1.2}
.stat .lab{font-size:12px; color:var(--sub); margin-top:2px}
.stat.good .num{color:var(--ok)} .stat.bad .num{color:var(--bad)} .stat.warn .num{color:var(--warn)}

/* 表格 */
table{width:100%; border-collapse:collapse}
th,td{padding:8px 10px; text-align:left; border-bottom:1px solid var(--line); font-size:13.5px}
th{color:var(--sub); font-weight:600; background:#f8fafc; white-space:nowrap}
tbody tr:hover{background:#f8fafc}
td.num,th.num{text-align:right; font-variant-numeric:tabular-nums}
td.center,th.center{text-align:center}
.table-scroll{overflow:auto; max-height:520px}
.up{color:var(--bad); font-weight:700}     /* 名次上升用红(前进) */
.down{color:var(--ok); font-weight:700}    /* 下降用绿——兼容保守配色? 不, 调整 */
.pos{color:var(--bad); font-weight:700}     /* 进步 */
.neg{color:var(--ok); font-weight:700}     /* 退步 —— 改 */
/* 语义: 用 pos(进步,红) neg(退步,绿) 会怪; 中国习惯: 进步=红/向上箭头, 退步=绿/向下箭头 */
.trend-up{color:var(--bad); font-weight:700}
.trend-down{color:var(--ok); font-weight:700}
.trend-flat{color:var(--sub)}
.cell-sub{font-size:11px; color:#8a8a8a; font-weight:500; margin-top:2px; line-height:1.3; white-space:nowrap}
.cell-sub .wk{color:#b91c1c; font-weight:700; margin-left:2px}
.cell-sub .st{color:#15803d; font-weight:700; margin-left:2px}

/* 徽标/标签 */
.pill{display:inline-block; padding:2px 8px; border-radius:20px; font-size:12px; font-weight:600}
.pill.lead{background:#ffebd6; color:#b45309}
.pill.male{background:#e0f2fe; color:#0369a1}
.pill.female{background:#fce7f3; color:#be185d}
.pill.good{background:#ecfdf3; color:#15803d}
.pill.bad{background:#fef2f2; color:#b91c1c}
.pill.warn{background:#fffaeb; color:#b45309}
.pill.blue{background:var(--soft-blue); color:var(--brand-2)}
.pill.gray{background:var(--chip); color:#475467}
.tag-subj{display:inline-block; background:var(--soft-blue); color:var(--brand-2); border-radius:8px; padding:1px 7px; margin:1px; font-size:12px}

/* 分组 */
.group-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px}
.group-card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 16px; border-top:4px solid var(--brand)}
.group-card .gname{font-weight:800; font-size:15px; display:flex; align-items:center; gap:8px; margin-bottom:8px}
.group-card .gmeta{font-size:12px; color:var(--sub); margin-bottom:8px}
.stu-chip{display:flex; align-items:center; gap:6px; padding:5px 8px; border-radius:8px; margin:3px 0; font-size:13px}
.stu-chip:hover{background:#f8fafc}
.stu-chip .nm{flex:1; font-weight:600}
.stu-chip .pts{font-size:12px; color:var(--sub)}
.group-grid .group-card:nth-child(1){border-top-color:#2563eb}
.group-grid .group-card:nth-child(2){border-top-color:#7c3aed}
.group-grid .group-card:nth-child(3){border-top-color:#0d9488}
.group-grid .group-card:nth-child(4){border-top-color:#ea580c}
.group-grid .group-card:nth-child(5){border-top-color:#db2777}

/* 按钮 */
.btn{border:none; cursor:pointer; border-radius:10px; padding:8px 14px; font-size:13.5px; font-weight:600; background:var(--chip); color:#1f2a37; transition:.15s}
.btn:hover{filter:brightness(.97)}
.btn.primary{background:var(--brand); color:#fff}
.btn.ok{background:var(--ok); color:#fff}
.btn.bad{background:#fef2f2; color:#b91c1c}
.btn.ghost{background:transparent; color:#475467; border:1px solid var(--line)}
.btn.sm{padding:4px 9px; font-size:12.5px; border-radius:8px}
.btn:disabled{opacity:.5; cursor:not-allowed}
.btnrow{display:flex; gap:8px; flex-wrap:wrap; align-items:center}

/* 表单 */
input,select,textarea{
  border:1px solid var(--line); border-radius:9px; padding:7px 10px; font-size:13.5px;
  font-family:inherit; color:var(--ink); background:#fff; outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--brand); box-shadow:0 0 0 3px rgba(37,99,235,.12)}
label.fl{font-size:12.5px; color:var(--sub); display:block; margin:8px 0 4px}
.form-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px}
textarea{width:100%; min-height:110px; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12.5px; line-height:1.6}

/* 规则与选择 */
.cat-tabs{display:flex; gap:6px; margin-bottom:10px; flex-wrap:wrap}
.rule-chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px}
.rule-chip{
  border:1px solid var(--line); background:#fff; border-radius:10px; padding:7px 12px; cursor:pointer;
  font-size:13px; user-select:none; display:flex; align-items:center; gap:6px;
}
.rule-chip:hover{border-color:var(--brand)}
.rule-chip.on{background:var(--brand); border-color:var(--brand); color:#fff}
.rule-chip .d{font-size:11px; opacity:.8}
.rule-chip.minus.on{background:#dc2626; border-color:#dc2626}

/* 选人面板 */
.pick-area{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media(max-width:900px){.pick-area{grid-template-columns:1fr}}
.stu-pick{
  display:flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid var(--line);
  border-radius:10px; cursor:pointer; user-select:none; background:#fff; margin:4px 0;
}
.stu-pick:hover{border-color:var(--brand)}
.stu-pick.on{background:var(--soft-blue); border-color:var(--brand)}
.stu-pick .pts{margin-left:auto; font-size:12px; color:var(--sub)}
.stu-pick .quick{display:flex; gap:2px; margin-left:6px}
.stu-pick .quick .q{width:22px; height:22px; border-radius:6px; border:none; cursor:pointer; font-size:13px; font-weight:800}
.q.up{background:#dcfce7; color:#15803d} .q.down{background:#fee2e2; color:#b91c1c}

/* 排行条 */
.rank-list .rank-row{display:flex; align-items:center; gap:12px; padding:9px 4px; border-bottom:1px dashed var(--line)}
.rank-row .r{width:26px; height:26px; border-radius:50%; background:var(--chip); color:#475467; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:13px; flex:none}
.rank-row.top1 .r{background:#fef3c7; color:#b45309}
.rank-row.top2 .r{background:#e5e7eb; color:#374151}
.rank-row.top3 .r{background:#fed7aa; color:#9a3412}
.rank-row .nm{flex:1; font-weight:600; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.rank-row .grp{font-size:12px; color:var(--sub); width:74px; flex:none}
.rank-row .val{font-weight:800; color:var(--brand-2); width:64px; text-align:right; flex:none}
.bar-bg{flex:none; width:120px; height:8px; background:#eef2f7; border-radius:6px; overflow:hidden}
.bar-fill{height:100%; border-radius:6px; background:linear-gradient(90deg,#60a5fa,#2563eb)}
@media(max-width:700px){.bar-bg{width:60px}}

/* 报告卡片 */
.rep-item{border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin-bottom:10px; cursor:pointer; transition:.15s}
.rep-item:hover{border-color:var(--brand); box-shadow:var(--shadow)}
.rep-head{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.rep-head .nm{font-weight:800; font-size:15px}
.rep-pts{font-weight:800; color:var(--brand-2)}
.alert-card{border-left:4px solid var(--warn); background:#fffdf5}
.alert-card.critical{border-left-color:var(--bad)}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}

/* 弹窗 */
.modal-mask{position:fixed; inset:0; background:rgba(16,24,40,.45); z-index:100; display:flex; align-items:flex-start; justify-content:center; padding:5vh 16px; overflow:auto}
.modal{background:#fff; border-radius:16px; width:760px; max-width:100%; padding:22px 24px; box-shadow:var(--shadow-lg)}
.modal h2{font-size:18px; margin-bottom:6px}
.modal .close-x{float:right; border:none; background:transparent; font-size:20px; cursor:pointer; color:var(--sub); padding:4px}
.m-actions{margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end}

/* Toast */
#toastBox{position:fixed; top:70px; left:50%; transform:translateX(-50%); z-index:200; display:flex; flex-direction:column; gap:8px; align-items:center; pointer-events:none}
.toast{background:#111827; color:#fff; padding:10px 18px; border-radius:12px; font-size:13.5px; box-shadow:var(--shadow-lg); opacity:0; transition:.25s; max-width:80vw}
.toast.show{opacity:1}
.toast.err{background:#b91c1c}
.toast.ok{background:#15803d}

.empty{padding:28px; text-align:center; color:var(--sub); font-size:13.5px}
.muted{color:var(--sub); font-size:12.5px}
small{color:var(--sub)}
.big-note{background:var(--soft-blue); border:1px solid #dbeafe; border-radius:12px; padding:12px 16px; color:var(--brand-2); font-size:13.5px; margin-bottom:14px}

/* 打印：对外版学生报告 */
#printArea{display:none}
@media print{
  .topbar, .modal-mask, #toastBox{display:none!important}
  body.printing #view{display:none!important}
  body.printing #printArea{display:block!important}
  body{background:#fff}
  main{padding:0; max-width:none}
  .no-print{display:none!important}
  #printArea .card{box-shadow:none; border:1px solid #ccc; break-inside:avoid; margin-bottom:12px; border-radius:8px}
  #printArea h1{font-size:18px} #printArea h2{font-size:15px}
}

/* 同步码输入/展示框 */
textarea.sync-code{width:100%;min-height:110px;max-height:220px;font-size:12px;word-break:break-all;
  font-family:ui-monospace,Menlo,Consolas,monospace;margin-top:8px;resize:vertical;line-height:1.6}
textarea.sync-code[readonly]{background:#f8fafc}

/* ================= v2 新增：今日行动 / 批量录入 ================= */
.v2tag{font-size:11px; font-weight:700; color:#fff; background:var(--brand); border-radius:6px; padding:1px 6px; vertical-align:2px}

.act-row{display:flex; gap:14px; align-items:flex-start; justify-content:space-between;
  border:1px solid var(--line); border-left:4px solid var(--brand); border-radius:12px;
  padding:12px 14px; margin-bottom:10px; background:#fff}
.act-row:hover{background:#fafcff}
.act-main{min-width:0; flex:1}
.act-nm{font-size:15px; font-weight:700; display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.act-nm .grp{font-size:11.5px; font-weight:600; color:#475467; background:var(--chip); border-radius:20px; padding:1px 8px}
.act-rs{font-size:13px; color:#b91c1c; line-height:1.85; margin-top:4px}
.act-meta{font-size:12px; color:var(--sub); margin-top:4px}
.act-btns{display:flex; flex-direction:column; gap:6px; flex-shrink:0}
.act-btns .btn{white-space:nowrap}

.pickgrp{margin-bottom:12px}
.pickgrp-nm{font-size:12.5px; font-weight:700; color:var(--brand-2); margin-bottom:6px}
.pickgrid{display:flex; flex-wrap:wrap; gap:6px}
.pick{border:1px solid var(--line); background:#fff; border-radius:9px; padding:6px 11px;
  font-size:13px; font-weight:600; color:#344054; cursor:pointer}
.pick:hover{border-color:#c7d2fe; background:#f8faff}
.pick.on{background:var(--brand); border-color:var(--brand); color:#fff}

.pastebox{width:100%; min-height:110px; border:1px solid var(--line); border-radius:10px;
  padding:10px 12px; font-size:13.5px; font-family:inherit; line-height:1.7; resize:vertical; color:var(--ink)}
.pastebox:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--soft-blue)}
.err{color:#b91c1c}
.btn.warn{background:#fffaeb; color:#b45309}
.pre-txt{background:#f8fafc; border:1px solid var(--line); border-radius:10px; padding:16px;
  white-space:pre-wrap; font-size:13.5px; max-height:56vh; overflow:auto}

/* ================= v2 修订：学生紧凑网格 / 流水合并行 ================= */
.stu-grid{display:flex; flex-wrap:wrap; gap:6px}
.stu-grid .stu-pick{margin:0; gap:6px; padding:5px 9px}
.stu-pick .gdot{width:7px; height:7px; border-radius:50%; display:inline-block; flex:none}
.stu-pick .gdot.male{background:#60a5fa} .stu-pick .gdot.female{background:#f472b6} .stu-pick .gdot.lead{background:#f59e0b}
.stu-pick .pts{margin-left:2px}
.batch-row{background:#f8fbff}
.batch-row:hover{background:#eff6ff}

/* ====== 班级总览（概览+名单合并） ====== */
.ov-group{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:10px;background:#fff}
.ov-group.ov-top1{border-color:#fbbf24;background:#fffbeb}
.ov-ghead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ov-grank{font-size:20px;font-weight:900;color:#cbd5e1;width:26px;text-align:center}
.ov-top1 .ov-grank{color:#d97706}
.ov-gpts{font-size:18px;font-weight:900}
.ov-gpts.pos{color:#15803d}
.ov-gpts.neg{color:#b91c1c}
.ov-members{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bar-fill.neg{background:linear-gradient(90deg,#fca5a5,#ef4444)}

/* ====== 鲲鹏日报 16:9 舞台 ====== */
.daily-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.daily-stage{
  aspect-ratio:16/9;width:100%;container-type:inline-size;
  background:linear-gradient(160deg,#eff6ff 0%,#f8fafc 55%,#fefce8 100%);
  border:1px solid var(--line);border-radius:14px;
  display:flex;flex-direction:column;overflow:hidden;
  padding:2cqw 2.4cqw 1.4cqw;gap:1cqw;
}
.daily-stage:fullscreen{border-radius:0;border:none;aspect-ratio:auto}
.d-head{display:flex;align-items:baseline;gap:1.4cqw;border-bottom:.22cqw solid #1e3a5f;padding-bottom:.8cqw}
.d-title{font-size:4.2cqw;font-weight:900;letter-spacing:.7cqw;color:#1e3a5f;white-space:nowrap}
.d-date{font-size:2.2cqw;color:#0f172a;font-weight:800}
.d-slogan{margin-left:auto;font-size:1.7cqw;color:#64748b;font-weight:600;white-space:nowrap}
.d-hint{font-size:1.5cqw;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:.6cqw;padding:.4cqw 1cqw;width:fit-content}
.d-body{flex:1;display:grid;grid-template-columns:57% 1fr;gap:1.4cqw;min-height:0}
.d-col{display:flex;flex-direction:column;gap:1.2cqw;min-height:0}
.d-card{background:#fff;border-radius:1cqw;padding:1.2cqw 1.4cqw;box-shadow:0 1px 5px rgba(15,23,42,.08);overflow:hidden;display:flex;flex-direction:column;min-height:0}
.d-card h3{margin:0 0 .9cqw;font-size:2.1cqw;font-weight:800;color:#0f172a;border:none;padding:0}
.d-card-neg{flex:1}
.d-h3sub{font-size:1.35cqw;font-weight:500;color:#94a3b8;margin-left:.6cqw}
.d-star{display:flex;align-items:baseline;gap:.9cqw;padding:.45cqw 0;border-bottom:.08cqw dashed #e2e8f0}
.d-star:last-child{border-bottom:none}
.d-medal{font-size:2.3cqw}
.d-starname{font-size:2.5cqw;color:#0f172a}
.d-starpts{font-size:2.5cqw;font-weight:900;color:#15803d;margin-left:auto}
.d-starwhy{font-size:1.7cqw;color:#64748b;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d-cheer{font-size:2cqw;color:#92400e;background:#fef9c3;border:1px solid #fde68a;border-radius:.8cqw;padding:1.2cqw;line-height:1.7;text-align:center;margin:.6cqw 0}
.d-negperson{margin-bottom:1cqw}
.d-negperson:last-child{margin-bottom:0}
.d-neghead{display:flex;align-items:baseline;gap:1cqw;background:#fef2f2;border-radius:.6cqw;padding:.45cqw .9cqw;margin-bottom:.4cqw}
.d-neghead b{font-size:2.4cqw;color:#7f1d1d}
.d-negmeta{font-size:1.7cqw;color:#b91c1c;font-weight:700;margin-left:auto}
.d-negitem{display:flex;align-items:baseline;gap:.8cqw;padding:.28cqw .9cqw 0 1.6cqw;line-height:1.6}
.d-neglabel{font-size:2cqw;color:#334155}
.d-negx{color:#b91c1c;font-weight:800}
.d-negpts{font-size:2.1cqw;font-weight:800;color:#b91c1c}
.d-negnote{font-size:1.6cqw;color:#94a3b8;margin-left:auto;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}
.d-zeroneg{font-size:2cqw;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.8cqw;padding:1.4cqw;text-align:center;font-weight:700;margin-top:.6cqw}
/* —— 放大档：内容少时整体加大（事件明细优先） —— */
.daily-stage.d-big .d-title{font-size:4.8cqw}
.daily-stage.d-big .d-date{font-size:2.6cqw}
.daily-stage.d-big .d-slogan{font-size:1.9cqw}
.d-big .d-card h3{font-size:2.4cqw}
.d-big .d-neghead b{font-size:2.8cqw}
.d-big .d-negmeta{font-size:1.9cqw}
.d-big .d-neglabel{font-size:2.4cqw}
.d-big .d-negpts{font-size:2.5cqw}
.d-big .d-negnote{font-size:1.8cqw}
.d-big .d-negitem{line-height:1.7}
.d-big .d-starname,.d-big .d-starpts{font-size:2.9cqw}
.d-big .d-medal{font-size:2.6cqw}
.d-big .d-starwhy{font-size:1.9cqw}
.d-big .d-grpname{font-size:2.3cqw}
.d-big .d-grppts{font-size:2.6cqw}
.d-big .d-foot{font-size:1.8cqw}
.d-card-grp{flex:1}
.d-grp{display:flex;align-items:center;gap:.9cqw;padding:.55cqw 0;border-bottom:.08cqw dashed #e2e8f0}
.d-grp:last-child{border-bottom:none}
.d-grprank{font-size:2cqw;font-weight:900;color:#94a3b8;width:2cqw;text-align:center}
.d-top1 .d-grprank{color:#d97706}
.d-grpname{font-size:1.9cqw;font-weight:700;color:#0f172a;white-space:nowrap}
.d-grpname small{font-size:1.2cqw;color:#94a3b8;font-weight:500}
.d-barbg{flex:1;height:1.5cqw;background:#f1f5f9;border-radius:1cqw;overflow:hidden}
.d-barfill{display:block;height:100%;background:linear-gradient(90deg,#34d399,#10b981);border-radius:1cqw}
.d-barfill.neg{background:linear-gradient(90deg,#fca5a5,#ef4444)}
.d-grppts{font-size:2.2cqw;font-weight:900;color:#334155;width:4cqw;text-align:right}
.d-grppts.pos{color:#15803d}
.d-grppts.neg{color:#b91c1c}
.d-foot{font-size:1.6cqw;color:#92400e;background:#fef9c3;border:1px solid #fde68a;border-radius:.8cqw;padding:.7cqw 1.4cqw;text-align:center;font-weight:700}
.d-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:2.6cqw;color:#475569;font-weight:700;gap:1cqw}
.d-empty-sub{font-size:1.7cqw;color:#94a3b8;font-weight:500}
/* —— 内容过多时的自动压缩档（JS 检测溢出后逐档启用） —— */
.daily-stage.d-compact{padding:1.5cqw 2cqw 1cqw;gap:.7cqw}
.d-compact .d-card{padding:.9cqw 1.1cqw}
.d-compact .d-card h3{font-size:1.8cqw;margin-bottom:.6cqw}
.d-compact .d-star{padding:.25cqw 0}
.d-compact .d-starname,.d-compact .d-starpts{font-size:1.8cqw}
.d-compact .d-medal{font-size:1.7cqw}
.d-compact .d-starwhy{font-size:1.3cqw}
.d-compact .d-negperson{margin-bottom:.5cqw}
.d-compact .d-neghead{padding:.25cqw .7cqw}
.d-compact .d-neghead b{font-size:1.7cqw}
.d-compact .d-negmeta{font-size:1.3cqw}
.d-compact .d-negitem{padding-top:.1cqw;line-height:1.35}
.d-compact .d-neglabel{font-size:1.5cqw}
.d-compact .d-negpts{font-size:1.6cqw}
.d-compact .d-negnote{font-size:1.2cqw}
.d-compact .d-zeroneg{font-size:1.7cqw;padding:.9cqw}
.d-compact .d-grp{padding:.35cqw 0}
.d-compact .d-grpname{font-size:1.7cqw}
.d-compact .d-grppts{font-size:1.9cqw}
.d-compact .d-cheer{font-size:1.7cqw;padding:.8cqw}
.d-compact .d-foot{font-size:1.35cqw;padding:.5cqw 1cqw}
.daily-stage.d-compact2{padding:.9cqw 1.4cqw .6cqw;gap:.4cqw}
.d-compact2 .d-head{padding-bottom:.4cqw;border-bottom-width:.15cqw}
.d-compact2 .d-title{font-size:3.2cqw;letter-spacing:.4cqw}
.d-compact2 .d-date{font-size:1.7cqw}
.d-compact2 .d-slogan{font-size:1.3cqw}
.d-compact2 .d-card{padding:.6cqw .8cqw;border-radius:.7cqw}
.d-compact2 .d-card h3{font-size:1.5cqw;margin-bottom:.4cqw}
.d-compact2 .d-h3sub{font-size:1.1cqw}
.d-compact2 .d-star{padding:.12cqw 0}
.d-compact2 .d-starname,.d-compact2 .d-starpts{font-size:1.5cqw}
.d-compact2 .d-medal{font-size:1.4cqw}
.d-compact2 .d-starwhy{font-size:1.1cqw}
.d-compact2 .d-negperson{margin-bottom:.25cqw}
.d-compact2 .d-neghead{padding:.15cqw .5cqw;margin-bottom:.15cqw}
.d-compact2 .d-neghead b{font-size:1.45cqw}
.d-compact2 .d-negmeta{font-size:1.1cqw}
.d-compact2 .d-negitem{padding-top:.05cqw;line-height:1.22}
.d-compact2 .d-neglabel{font-size:1.3cqw}
.d-compact2 .d-negpts{font-size:1.4cqw}
.d-compact2 .d-negnote{font-size:1.05cqw}
.d-compact2 .d-grp{padding:.2cqw 0}
.d-compact2 .d-grprank{font-size:1.5cqw;width:1.5cqw}
.d-compact2 .d-grpname{font-size:1.45cqw}
.d-compact2 .d-grpname small{font-size:1cqw}
.d-compact2 .d-barbg{height:1.1cqw}
.d-compact2 .d-grppts{font-size:1.6cqw;width:3.2cqw}
.d-compact2 .d-foot{font-size:1.15cqw;padding:.35cqw .8cqw}
