/* Common CSS (auto-generated). Source files concatenated to preserve legacy styling. */

/* ---- Vol10_4U_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_4U_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_56deg_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_56deg_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_6I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_6I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_8I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_8I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_9I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol10_9I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol11_5U_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol11_5U_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol11_7I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol11_7I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol11_PW_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol11_PW_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_4U_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_4U_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_56deg_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_56deg_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_6I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_6I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_8I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_8I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_9I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol12_9I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol6_5U_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol6_5U_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol6_7I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol6_7I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_1W_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_1W_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_4U_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_4U_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_4W_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_4W_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_5U_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_5U_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_6I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_6I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_7I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_7I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_7W_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_7W_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_8I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_8I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol7_9I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol7_9I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol8_52deg_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol8_52deg_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol8_56deg_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol8_56deg_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol8_5U_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol8_5U_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol8_6I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol8_6I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol8_7I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol8_7I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol8_8I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol8_8I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol8_9I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol8_9I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol8_PW_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol8_PW_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol9_52deg_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol9_52deg_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol9_56deg_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol9_56deg_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol9_6I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol9_6I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol9_7I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol9_7I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol9_8I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol9_8I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol9_9I_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol9_9I_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- Vol9_PW_AllTrackmanData.css ---- */
:root{
  --bg:#0b1020; --card:#ffffff; --muted:#6b7280; --line:#e5e7eb; --head:#0f172a;
}
*{box-sizing:border-box;}
body{margin:0;background:#0b1020;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";}
.wrap{max-width:1200px;margin:0 auto;padding:18px 14px 26px;}
.card{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:14px 14px 10px;border:1px solid rgba(255,255,255,.08);}
h1{margin:4px 0 6px;font-size:18px;color:#fff;font-weight:800;letter-spacing:.02em;}
.sub{color:#cbd5e1;font-size:13px;line-height:1.5;margin:0 0 10px;}
.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line);background:#fff;}
table{border-collapse:collapse;width:max(980px,100%);font-size:12px;}
th,td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap;}
th{position:sticky;top:0;background:var(--head);color:#fff;font-weight:800;text-align:center;cursor:pointer;user-select:none;}
th.nosort{cursor:default;}
td.no{text-align:right;font-variant-numeric:tabular-nums;background:#f8fafc;font-weight:700;}
td.center{text-align:center;font-variant-numeric:tabular-nums;}
th.sortable::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:rgba(255,255,255,.6);transform:translateY(2px);}
th.sortable.asc::after{border-top-color:transparent;border-bottom-color:#fff;transform:translateY(-2px);}
th.sortable.desc::after{border-top-color:#fff;border-bottom-color:transparent;transform:translateY(2px);}
.footer{max-width:1200px;margin:14px auto 28px;padding:0 14px;display:flex;justify-content:center;}
.btn{appearance:none;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.btn:hover{filter:brightness(1.05);}
.note{color:#94a3b8;font-size:12px;margin-top:10px;}
a{color:#60a5fa;text-decoration:none;}

/* ---- Vol9_PW_Report.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}
  
/* --- v10 HTML tweak: sortable headers / accordion / back button --- */
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
button.mini{
  padding:6px 10px;
  font-size:12px;
  border-radius:10px;
}
.backwrap{
  display:flex;
  justify-content:center;
  margin:18px 0 6px;
}
th.sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:18px;
}
th.sortable::after{
  content:"⇅";
  position:absolute;
  right:6px;
  color:var(--muted);
  font-size:11px;
}
th.sortable.asc::after{ content:"▲"; }
th.sortable.desc::after{ content:"▼"; }

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}

/* ---- index.css ---- */
:root{
  --bg:#0b1020;
  --card:#ffffff;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --good:#059669;
  --best:#f59e0b;
  --ok:#6b7280;
  --bad:#dc2626;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  background:#f3f4f6;
  color:#111827;
}
.header{
  background:linear-gradient(120deg,#111827,#1f2937);
  color:#fff;
  padding:28px 18px;
}
.header h1{margin:0;font-size:26px;letter-spacing:0.02em;}
.header .sub{margin-top:6px;color:#cbd5e1;font-size:14px;}
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr;}
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2{margin:0 0 10px;font-size:18px;}
.kpis{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
@media (max-width: 920px){
  .kpis{grid-template-columns: repeat(2,1fr);}
}
.kpi{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
}
.kpi .lab{color:var(--muted);font-size:12px;}
.kpi .val{font-size:20px;font-weight:700;margin-top:4px;}
.kpi .unit{font-size:12px;color:var(--muted);margin-left:4px;}
.hint{color:var(--muted);font-size:12px;margin-top:4px;}
hr.sep{border:0;border-top:1px solid var(--line);margin:12px 0;}
img.chart{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);}
.full{grid-column:1/-1;}
/* tables */
.scrollx{overflow-x:auto;}
table{
  border-collapse:collapse;
  width:100%;
  font-size:13px;
}
th,td{
  border:1px solid var(--line);
  padding:7px 8px;
  vertical-align:middle;
}
th{
  background:#0f172a;
  color:#fff;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
td{
  white-space:nowrap;
}
td.no{ text-align:right; font-variant-numeric: tabular-nums; }
td.center{ text-align:center; font-variant-numeric: tabular-nums; }
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.01em;
  font-size:12px;
  border:1px solid rgba(0,0,0,.08);
}
.g-best{ background:#fff7ed; color:#9a3412; }
.g-good{ background:#ecfdf5; color:#065f46; }
.g-ok{ background:#f1f5f9; color:#334155; }
.g-bad{ background:#fef2f2; color:#991b1b; }
.g-na{ background:#f3f4f6; color:#6b7280; }
.controls{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.controls input{
  flex:1;
  min-width:220px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
}
button{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111827;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.note{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
a{color:#2563eb;text-decoration:none;}
a:hover{text-decoration:underline;}

/* ---------- Responsive tweaks (iPhone / iPad) ---------- */
.scrollx, .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.scrollx table, .table-wrap table{
  min-width:100%;
}
.scrollx th, .scrollx td, .table-wrap th, .table-wrap td{
  white-space:nowrap;
}
table.mid{min-width:720px;}
table.wide{min-width:1100px;}
table.xwide{min-width:1800px;}

body{padding-bottom: env(safe-area-inset-bottom);}

@media (max-width: 600px){
  .container{padding:12px;}
  .header .container{padding:14px 12px;}
  .header h1{font-size:22px; line-height:1.2;}
  .header .sub{font-size:13px;}
  .meta{font-size:12px;}
  .card{padding:12px;}
  .kpis{grid-template-columns: repeat(2,1fr);}
  .kpi .v{font-size:18px;}
  .controls{flex-direction:column; align-items:stretch;}
  .controls input{min-width:0; width:100%; font-size:14px;}
  .controls button{width:100%;}
  .hint{font-size:12px;}
  table{font-size:12px;}
  th,td{padding:6px 6px;}
  .card-head{flex-wrap:wrap; gap:8px;}
  .backwrap{justify-content:center;}
}
@media (max-width: 380px){
  .kpis{grid-template-columns:1fr;}
}


/* === HTML fix overrides (A-plan) === */
.container{max-width:1100px;margin:0 auto;padding:0 16px;}
table thead th:first-child, table tbody td:first-child{ text-align:center; font-weight:800;}
a.btn{ background:none !important; color:#2563eb !important; box-shadow:none !important; padding:0 !important; border-radius:0 !important; text-decoration:underline !important; font-weight:700 !important; display:inline; }
a.btn:hover{ text-decoration:underline; filter:none !important; }
.table-wrap td, .table-wrap th{ vertical-align:middle; }
.btn{ vertical-align:middle; }

/* ===== PATCH: Data pages theme & link layout (2026-01-19) ===== */

/* Fix spacing for link blocks used in report headers */
.links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  margin-top:6px;
}
.links a{ white-space:nowrap; }

/* Ensure AllTrackmanData pages keep their intended dark theme */
body.data-page{
  background:#0b1020;
  color:#e5e7eb;
}
body.data-page .container{
  max-width:1200px;
}
body.data-page .card{
  background:#0f172a;
  border-color:rgba(255,255,255,.12);
}
body.data-page h1{
  color:#e5e7eb;
}
body.data-page .note{
  color:#cbd5e1;
}
body.data-page .table-wrap{
  border-color:rgba(255,255,255,.12);
}
body.data-page table{
  background:#0b1020;
}
body.data-page th{
  position:sticky;
  top:0;
  z-index:2;
  background:#111827;
  color:#fff;
}
body.data-page td{
  background:#0b1020;
  color:#e5e7eb;
  border-color:rgba(255,255,255,.12);
}
body.data-page tbody tr:hover td{
  background:#0b122e;
}

/* ===== PATCH: AllTrackmanData (全項目データ) layout/design fix =====
   Based on the correct reference layout provided by the user (Vol7_1W_AllTrackmanData.html)
   Scope is limited to pages with <body class="data-page"> so report/index styles stay intact.
*/
body.data-page{
  margin:0;
  background:#0b1020;
  color:#0f172a;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",system-ui,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  padding-bottom: env(safe-area-inset-bottom);
}

/* Header should be "on top of" the dark background, not the report gradient */
body.data-page .header{
  background:transparent;
  padding:18px 0 0;
}
body.data-page .header h1{
  margin:4px 0 6px;
  font-size:18px;
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
}
body.data-page .header .sub{
  color:#cbd5e1;
  font-size:13px;
  line-height:1.5;
  margin:0 0 10px;
}
body.data-page .header .meta{
  color:#94a3b8;
  font-size:12px;
}

/* Container spacing (match reference) */
body.data-page .container{
  max-width:1200px;
  margin:0 auto;
  padding:18px 14px 26px;
}
body.data-page .header .container{
  padding:18px 14px 10px;
}

/* Card (white, elevated) */
body.data-page .card{
  background:#ffffff;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  padding:14px 14px 10px;
  border:1px solid rgba(255,255,255,.08);
}

/* Large table wrapper */
body.data-page .table-wrap,
body.data-page .tablewrap{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fff;
}

body.data-page table{
  border-collapse:collapse;
  width:max(980px,100%);
  font-size:12px;
  background:#fff;
}

body.data-page th,
body.data-page td{
  border:1px solid #e5e7eb;
  padding:6px 8px;
  white-space:nowrap;
  vertical-align:middle;
}

body.data-page th{
  position:sticky;
  top:0;
  z-index:2;
  background:#0f172a;
  color:#fff;
  font-weight:800;
  text-align:center;
  cursor:pointer;
  user-select:none;
}

body.data-page th.nosort{ cursor:default; }

body.data-page td.no{
  text-align:right;
  font-variant-numeric:tabular-nums;
  background:#f8fafc;
  font-weight:700;
  color:#0f172a;
}

body.data-page td.center,
body.data-page td.date{
  text-align:center;
  font-variant-numeric:tabular-nums;
  background:#fff;
  color:#0f172a;
}

/* sort indicator (same behavior as reference) */
body.data-page th.sortable::after{
  content:"";
  display:inline-block;
  margin-left:6px;
  border:4px solid transparent;
  border-top-color:rgba(255,255,255,.6);
  transform:translateY(2px);
}
body.data-page th.sortable.asc::after{
  border-top-color:transparent;
  border-bottom-color:#fff;
  transform:translateY(-2px);
}
body.data-page th.sortable.desc::after{
  border-top-color:#fff;
  border-bottom-color:transparent;
  transform:translateY(2px);
}

/* Footer close button */
body.data-page .footer{
  max-width:1200px;
  margin:14px auto 28px;
  padding:0 14px;
  display:flex;
  justify-content:center;
}
body.data-page .btn{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:10px 16px;
  font-weight:800;
  cursor:pointer;
  background:#111827;
  color:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}
body.data-page .btn:hover{ filter:brightness(1.05); }

body.data-page .note{
  color:#94a3b8;
  font-size:12px;
  margin-top:10px;
}

body.data-page a{ color:#60a5fa; text-decoration:none; }
body.data-page a:hover{ text-decoration:underline; }

@media (max-width: 600px){
  body.data-page .container{ padding:12px; }
  body.data-page .header .container{ padding:14px 12px; }
  body.data-page .header h1{ font-size:22px; line-height:1.2; }
  body.data-page .header .sub{ font-size:13px; }
  body.data-page .meta{ font-size:12px; }
  body.data-page .card{ padding:12px; }
  body.data-page table{ font-size:12px; }
  body.data-page th, body.data-page td{ padding:6px 6px; }
}

/* ===== PATCH: hover readability (AllTrackmanData) =====
   On hover we darken the row, so we must also switch text to white.
   This prevents the hover background from matching the default text color.
*/
body.data-page tbody tr:hover td{
  background:#0b122e !important;
  color:#ffffff !important;
}
body.data-page tbody tr:hover td a{
  color:#ffffff !important;
}
