/* tobacco-exam-guide · 烟草绿档案袋风 · 作用域前缀 .tbg- */
.tbg-wrap{
  --tbg-paper:#e3d2ad; --tbg-paper2:#d5c096; --tbg-card:#f3e8ce;
  --tbg-green:#264d34; --tbg-green2:#3b6b48;
  --tbg-ink:#33291c; --tbg-mut:#7a6a4e; --tbg-line:#bfa878; --tbg-seal:#8a4b2a;
  --tbg-shadow:4px 4px 0 rgba(90,70,40,.18);
  max-width:1100px; margin:0 auto; padding:26px 18px 64px;
  color:var(--tbg-ink); font-family:"Songti SC","STSong","SimSun",serif;
  font-size:16px; line-height:1.75; box-sizing:border-box;
  background-color:var(--tbg-paper);
  background-image:
    repeating-linear-gradient(0deg, rgba(90,70,40,.03) 0 1px, transparent 1px 6px),
    linear-gradient(135deg, rgba(255,255,255,.28), transparent 45%);
}
html[data-theme="dark"] .tbg-wrap{
  --tbg-paper:#241f16; --tbg-paper2:#2e281c; --tbg-card:#302a1f;
  --tbg-green:#9ccdaa; --tbg-green2:#74a984;
  --tbg-ink:#ece0c6; --tbg-mut:#b6a580; --tbg-line:#5a4d38; --tbg-seal:#d79a71;
  --tbg-shadow:4px 4px 0 rgba(0,0,0,.4);
  background-color:var(--tbg-paper);
  background-image:repeating-linear-gradient(0deg, rgba(240,220,180,.02) 0 1px, transparent 1px 6px);
}
.tbg-wrap *{box-sizing:border-box;}
.tbg-wrap b{font-weight:700;color:var(--tbg-green);}
.tbg-wrap h1,.tbg-wrap h2,.tbg-wrap h3{font-weight:700;line-height:1.35;}
.tbg-wrap a{color:inherit;}

/* ---------- 首屏档案袋 ---------- */
.tbg-hero{background:var(--tbg-card);border:1px solid var(--tbg-line);box-shadow:var(--tbg-shadow);position:relative;}
.tbg-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:9px;background:repeating-linear-gradient(0deg,var(--tbg-green) 0 14px,transparent 14px 22px);}
.tbg-folder-tag{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--tbg-green);color:#f3e8ce;padding:9px 22px;font-size:12.5px;letter-spacing:.18em;}
.tbg-file-no{font-family:ui-monospace,"Courier New",monospace;letter-spacing:.06em;opacity:.9;}
.tbg-hero-in{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:20px;padding:30px 28px 26px 30px;}
.tbg-hero h1{margin:0 0 12px;font-size:clamp(26px,3.9vw,38px);letter-spacing:.02em;}
.tbg-hero h1 em{display:block;font-style:normal;font-size:clamp(14px,1.7vw,18px);font-weight:400;color:var(--tbg-mut);letter-spacing:.1em;margin-top:7px;}
.tbg-sub{margin:0 0 16px;max-width:62ch;}
.tbg-warning{border:2px dashed var(--tbg-seal);background:rgba(138,75,42,.08);color:var(--tbg-seal);padding:10px 14px;font-size:14.5px;margin-bottom:18px;line-height:1.6;}
.tbg-warning b{color:inherit;}
.tbg-hero-actions{display:flex;flex-wrap:wrap;gap:9px;}
.tbg-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 17px;border:1px solid var(--tbg-green);background:var(--tbg-green);color:#f3e8ce;font-family:inherit;font-size:14.5px;cursor:pointer;border-radius:2px;text-decoration:none;transition:.14s;}
.tbg-btn:hover{filter:brightness(1.12);}
.tbg-btn.ghost{background:transparent;color:var(--tbg-green);}
.tbg-btn.ghost:hover{background:rgba(38,77,52,.08);}
.tbg-folder{position:relative;align-self:stretch;min-height:190px;border:2px solid var(--tbg-line);background:var(--tbg-paper2);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 22px);border-radius:0 6px 6px 0;}
.tbg-folder-flap{position:absolute;top:0;left:0;right:0;height:34px;background:var(--tbg-green);opacity:.85;clip-path:polygon(0 0,72% 0,100% 30px,0 30px);}
.tbg-stamp{position:absolute;right:14px;top:48px;width:74px;height:74px;border:3px double var(--tbg-seal);border-radius:50%;color:var(--tbg-seal);display:grid;place-items:center;text-align:center;font-size:14px;line-height:1.3;transform:rotate(-12deg);opacity:.85;}
.tbg-folder-lines{position:absolute;left:16px;bottom:18px;right:16px;display:grid;gap:10px;}
.tbg-folder-lines i{display:block;height:1px;background:var(--tbg-line);}

/* ---------- 区块 ---------- */
.tbg-sec{margin-top:30px;background:var(--tbg-card);border:1px solid var(--tbg-line);padding:22px 24px 26px;box-shadow:var(--tbg-shadow);position:relative;}
.tbg-sec:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--tbg-line) 0 8px,transparent 8px 14px);}
.tbg-sec-head{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap;border-bottom:2px solid var(--tbg-green);padding-bottom:11px;margin-bottom:16px;}
.tbg-sec-head h2{margin:0;font-size:21px;}
.tbg-sec-head p{margin:0;font-size:12.5px;color:var(--tbg-mut);letter-spacing:.05em;}
.tbg-no{font-family:ui-monospace,"Courier New",monospace;font-size:13px;color:#f3e8ce;background:var(--tbg-green);padding:3px 9px;}
.tbg-lead{margin:0 0 16px;font-size:15px;}
.tbg-hint{font-size:13px;color:var(--tbg-mut);line-height:1.7;margin:13px 0 0;}
.tbg-btn-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;}
.tbg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tbg-disclaimer{margin-top:24px;font-size:13px;color:var(--tbg-mut);border-left:4px solid var(--tbg-green);padding:8px 14px;line-height:1.7;}
.tbg-disclaimer-box{border:1px solid var(--tbg-line);background:var(--tbg-paper2);padding:16px;margin-top:16px;}
.tbg-disclaimer-box>b{display:block;color:var(--tbg-seal);letter-spacing:.1em;margin-bottom:8px;}
.tbg-disclaimer-box p{margin:0;font-size:14px;line-height:1.8;}

/* ---------- 自查清单 ---------- */
.tbg-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.tbg-check{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--tbg-line);background:var(--tbg-paper);padding:11px 13px;cursor:pointer;}
.tbg-check input{margin:4px 0 0;flex:none;width:17px;height:17px;accent-color:var(--tbg-green);}
.tbg-check .tbg-ck-n{font-family:ui-monospace,"Courier New",monospace;font-size:12px;color:var(--tbg-seal);display:block;}
.tbg-check b{font-size:14.5px;}
.tbg-check small{display:block;font-size:12.5px;color:var(--tbg-mut);line-height:1.6;}
.tbg-meter{margin-top:18px;border:1px dashed var(--tbg-line);padding:14px 16px;background:var(--tbg-paper);}
.tbg-meter-head{display:flex;justify-content:space-between;font-size:14px;font-weight:700;}
.tbg-meter-head span{font-family:ui-monospace,"Courier New",monospace;color:var(--tbg-seal);font-size:18px;}
.tbg-meter-bar{height:12px;background:var(--tbg-line);border-radius:2px;overflow:hidden;margin:8px 0;}
.tbg-meter-bar i{display:block;height:100%;width:0;background:var(--tbg-green2);transition:width .25s;}
.tbg-meter-msg{margin:0;font-size:13.5px;color:var(--tbg-mut);}

/* ---------- 时间线 ---------- */
.tbg-timeline{display:grid;gap:8px;}
.tbg-tl-row{display:grid;grid-template-columns:34px 130px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;border-bottom:1px dashed var(--tbg-line);padding:9px 4px;}
.tbg-tl-n{font-family:ui-monospace,"Courier New",monospace;color:var(--tbg-seal);font-size:14px;}
.tbg-tl-name{font-weight:700;font-size:14.5px;}
.tbg-tl-row input[type=date]{width:100%;font-family:ui-monospace,"Courier New",monospace;font-size:14px;padding:7px 9px;border:1px solid var(--tbg-line);background:var(--tbg-paper);color:var(--tbg-ink);}
.tbg-tl-note{font-size:12.5px;color:var(--tbg-mut);}
.tbg-result{margin-top:18px;border:1px solid var(--tbg-green);background:var(--tbg-paper);padding:16px;}
.tbg-result h3{margin:0 0 10px;font-size:16px;color:var(--tbg-green);}
.tbg-result pre{margin:0;font-family:ui-monospace,"Courier New",monospace;font-size:13px;line-height:1.8;white-space:pre-wrap;word-break:break-word;color:var(--tbg-ink);}
.tbg-bad{color:var(--tbg-seal);font-weight:700;}

/* ---------- 科目表 / 材料 ---------- */
.tbg-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px;}
.tbg-table th,.tbg-table td{border:1px solid var(--tbg-line);padding:10px 12px;text-align:left;vertical-align:top;line-height:1.7;}
.tbg-table thead th{background:var(--tbg-paper2);font-size:13.5px;}
.tbg-table tbody tr:nth-child(even){background:rgba(38,77,52,.035);}
.tbg-table td:first-child{font-weight:700;color:var(--tbg-green);white-space:nowrap;}
.tbg-mat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.tbg-mat{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--tbg-line);background:var(--tbg-paper);padding:10px 12px;cursor:pointer;font-size:14px;}
.tbg-mat input{margin:3px 0 0;flex:none;width:16px;height:16px;accent-color:var(--tbg-green);}
.tbg-mat .tbg-mn{font-family:ui-monospace,"Courier New",monospace;font-size:12px;color:var(--tbg-seal);display:block;}
.tbg-official{display:grid;gap:11px;}
.tbg-off{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;border-left:4px solid var(--tbg-green);background:var(--tbg-paper);padding:12px 14px;}
.tbg-off .tbg-off-n{font-family:ui-monospace,"Courier New",monospace;font-size:15px;color:var(--tbg-seal);}
.tbg-off b{font-size:14.5px;}
.tbg-off p{margin:3px 0 0;font-size:13.5px;color:var(--tbg-mut);line-height:1.7;}

.tbg-toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:var(--tbg-green);color:#f3e8ce;padding:10px 20px;border-radius:2px;font-size:14px;z-index:60;box-shadow:var(--tbg-shadow);}

@media (max-width:760px){
  .tbg-hero-in{grid-template-columns:1fr;padding:22px 18px;}
  .tbg-folder{display:none;}
  .tbg-sec{padding:18px 15px 22px;}
  .tbg-check-grid,.tbg-mat-grid{grid-template-columns:1fr;}
  .tbg-tl-row{grid-template-columns:28px 1fr;gap:6px 10px;}
  .tbg-tl-row input[type=date],.tbg-tl-note{grid-column:2;}
}
