  :root{
    --bg:#f4f6f8; --panel:#fff; --ink:#1f2937; --muted:#6b7280; --line:#d1d5db;
    --accent:#1d4ed8; --accent-bg:#e0e7ff; --mark:#fde68a; --cue:#c7d2fe; --ok:#15803d; --warn:#b45309; --ng:#b91c1c;
  }
  *{box-sizing:border-box}
  body{margin:0;font-family:"Segoe UI","Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}
  header{background:#111827;color:#fff;padding:10px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  header h1{font-size:16px;margin:0;font-weight:600}
  header .sub{font-size:12px;color:#9ca3af}
  header .stage{margin-left:auto;font-size:12px;background:#1f2937;border:1px solid #374151;padding:3px 10px;border-radius:12px}
  .banner{background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;padding:6px 20px;font-size:12px}
  nav.tabs{display:flex;gap:2px;background:#e5e7eb;padding:8px 20px 0;flex-wrap:wrap}
  nav.tabs button{border:1px solid var(--line);border-bottom:none;background:#f3f4f6;padding:8px 14px;cursor:pointer;border-radius:6px 6px 0 0;font-size:13px}
  nav.tabs button.active{background:#fff;font-weight:600;color:var(--accent)}
  nav.tabs button .n{display:inline-block;min-width:16px;font-size:10px;background:#fecaca;color:#991b1b;border-radius:8px;padding:0 4px;margin-left:4px}
  main{padding:20px;max-width:1240px;margin:0 auto}
  section.tab{display:none}
  section.tab.active{display:block}
  .panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}
  .panel h2{font-size:15px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
  .rv{font-size:10px;font-weight:600;background:#fecaca;color:#991b1b;border-radius:3px;padding:1px 5px;vertical-align:middle;white-space:nowrap}
  .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px 14px}
  .f{display:flex;flex-direction:column;gap:4px}
  .f label{font-size:12px;color:var(--muted)}
  .f input,.f select{padding:6px 8px;border:1px solid var(--line);border-radius:4px;font-size:14px;background:#fff}
  .c2{grid-column:span 2}.c8{grid-column:span 8}.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c12{grid-column:span 12}
  .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .btn{padding:7px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer;font-size:13px}
  .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
  .btn.small{padding:3px 8px;font-size:12px}
  .hint{font-size:12px;color:var(--muted)}
  .note{font-size:12px;background:#f9fafb;border:1px solid var(--line);border-radius:4px;padding:8px 10px;color:#374151}
  .count{font-size:13px;color:var(--muted);margin:0 0 8px}
  .count b{color:var(--ink);font-size:16px}
  table{width:100%;border-collapse:collapse;font-size:13px}
  th,td{border-bottom:1px solid #e5e7eb;padding:8px 6px;text-align:left;vertical-align:top}
  th{background:#f9fafb;font-weight:600;white-space:nowrap}
  mark{background:var(--mark);padding:0 2px}
  .cue{background:var(--cue);padding:0 2px;border-bottom:1px dotted #4338ca}
  .tag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:10px;background:#f3f4f6;border:1px solid var(--line);color:var(--muted);margin-right:4px;white-space:nowrap}
  .tag.plenary{background:#dbeafe;border-color:#bfdbfe;color:#1e40af}
  .tag.committee{background:#dcfce7;border-color:#bbf7d0;color:#166534}
  .tag.new{background:#fee2e2;border-color:#fecaca;color:#991b1b}
  .tag.q{background:#fef3c7;border-color:#fde68a;color:#92400e}
  .tag.a{background:#ede9fe;border-color:#ddd6fe;color:#5b21b6}
  .tag.w{background:#ccfbf1;border-color:#99f6e4;color:#115e59}
  .tag.cue{background:#e0e7ff;border-color:#c7d2fe;color:#3730a3}
  .chip{display:inline-block;font-size:12px;padding:3px 10px;border-radius:14px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;cursor:pointer;margin:2px 4px 2px 0}
  .chip.on{background:#3730a3;color:#fff}
  a{color:var(--accent)}
  .speech{line-height:1.9;font-size:14px}
  .speech p{margin:0 0 10px;text-indent:1em}
  .meta{font-size:12px;color:var(--muted)}
  .ctx{background:#f9fafb;border-left:3px solid var(--line);padding:8px 12px;color:var(--muted);margin:8px 0;font-size:13px}
  .ok{color:var(--ok)} .warn{color:var(--warn)} .ng{color:var(--ng)}
  .bars{display:flex;align-items:flex-end;gap:3px;height:48px;margin:6px 0 2px}
  .bars div{flex:1;background:#93c5fd;border-radius:2px 2px 0 0;position:relative}
  .bars div.hot{background:#2563eb}
  .bars div span{position:absolute;top:-14px;left:0;right:0;text-align:center;font-size:9px;color:var(--muted)}
  .barlabels{display:flex;gap:3px;font-size:9px;color:var(--muted)}
  .barlabels div{flex:1;text-align:center}
  .wire{border:1px dashed #9ca3af;background:#fafafa;padding:10px;border-radius:6px;font-size:12px;color:#374151}
  .wire .bar{background:#e5e7eb;height:14px;border-radius:3px;margin:4px 0}
  .wire .box{border:1px solid #9ca3af;background:#fff;padding:4px 6px;margin:4px 0;border-radius:3px}
  .wire .row2{display:flex;gap:6px}
  .wire .row2>*{flex:1}
  .cmp{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
  .cmp h3{font-size:13px;margin:0 0 6px}
  .legend{font-size:12px;color:var(--muted);margin-top:6px}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .step{border:1px solid var(--line);border-radius:6px;padding:10px;font-size:12px;background:#fff}
  .step.done{border-color:#86efac;background:#f0fdf4}
  .step.now{border-color:#60a5fa;background:#eff6ff}
  .step b{display:block;font-size:13px;margin-bottom:4px}
  @media (max-width:800px){.c2,.c3,.c4,.c6,.c8{grid-column:span 12}.cmp,.steps{grid-template-columns:1fr}}
  /* 実装で追加 */
  nav.tabs a{border:1px solid var(--line);border-bottom:none;background:#f3f4f6;padding:8px 14px;border-radius:6px 6px 0 0;font-size:13px;color:var(--ink);text-decoration:none}
  nav.tabs a.active{background:#fff;font-weight:600;color:var(--accent)}
  a.chip{text-decoration:none}
  .bars a{flex:1;display:flex;align-items:flex-end;height:100%;text-decoration:none}
  .bars a div{width:100%}
  .bars a:hover div{background:#1e40af}
  form.inline{display:inline}
  .pager a,.pager span{margin:0 4px}
  pre.robots{max-height:220px;overflow:auto;background:#f9fafb;border:1px solid var(--line);padding:8px;font-size:12px}
  .muted{color:var(--muted)}
  td.num{text-align:right;white-space:nowrap}
