:root {
  --tvr-green:#008b52;
  --tvr-green-dark:#006b3e;
  --tvr-green-soft:#eef9f3;
  --tvr-text:#31353a;
  --tvr-muted:#7b838c;
  --tvr-line:#e4e7ea;
  --tvr-bg:#fff;
  --tvr-soft:#f8f9fa;
  --tvr-win:#0c8a53;
  --tvr-draw:#8a929a;
  --tvr-loss:#df635f;
}
.tvrdb-app,.tvrdb-app *{box-sizing:border-box}
.tvrdb-app{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--tvr-text);font-size:14px;line-height:1.65}
.tvrdb-app button,.tvrdb-app input{font:inherit}
.tvr-shell{max-width:790px;margin:0 auto;padding:8px 14px 42px;background:#fff}
.tvr-page-title{margin:8px 0 16px!important;font-size:30px!important;line-height:1.25!important;font-weight:600!important;letter-spacing:.01em;color:#363a3f}

.tvr-search-box{position:relative;border:1.5px solid #79c5a1;border-radius:10px;padding:12px;background:linear-gradient(180deg,#f8fffb,#fff);box-shadow:0 5px 14px rgba(0,117,69,.12);margin-bottom:18px}
.tvr-search-box label{display:block;color:#16865a;font-size:12px;font-weight:800;margin-bottom:6px}
.tvr-search-input-wrap{position:relative}
.tvr-search-input{width:100%;height:40px;border:1px solid #cdd5d1!important;border-radius:6px!important;background:#fff!important;padding:0 11px!important;color:var(--tvr-text)!important;outline:none!important;box-shadow:none!important}
.tvr-search-input:focus{border-color:#55ad82!important;box-shadow:0 0 0 3px rgba(0,139,82,.08)!important}
.tvr-list-toggle{width:100%;height:36px;margin-top:8px;border:0;border-radius:5px;background:var(--tvr-green);color:#fff;font-size:12px;font-weight:800;cursor:pointer}
.tvr-list-toggle:hover{background:var(--tvr-green-dark)}
.tvr-suggestions{display:none;position:absolute;left:0;right:0;top:44px;z-index:20;background:#fff;border:1px solid var(--tvr-line);border-radius:7px;box-shadow:0 12px 30px rgba(16,24,40,.13);overflow:hidden}
.tvr-suggestions.open{display:block}
.tvr-suggestions button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:0;border-top:1px solid #f0f1f2;background:#fff;color:var(--tvr-text);text-align:left;cursor:pointer}
.tvr-suggestions button:first-child{border-top:0}.tvr-suggestions button:hover{background:var(--tvr-green-soft)}
.tvr-suggestions small{color:var(--tvr-muted)}.tvr-suggest-empty{padding:10px;color:var(--tvr-muted)}
.tvr-ref-picker{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px;max-height:260px;overflow:auto}
.tvr-ref-picker.open{display:grid}.tvr-ref-picker button{padding:7px 8px;border:1px solid var(--tvr-line);border-radius:5px;background:#fff;color:var(--tvr-text);font-size:12px;text-align:left;cursor:pointer}.tvr-ref-picker button:hover{border-color:#85c9a8;background:var(--tvr-green-soft)}.tvr-ref-picker small{float:right;color:var(--tvr-muted)}

.tvr-recent-section{margin:0 0 14px}.tvr-recent-section>h3{font-size:12px!important;margin:0 0 8px!important;font-weight:800!important;color:#5b6168}
.tvr-recent-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.tvr-recent-card{min-width:0;padding:8px;border:1px solid var(--tvr-line);border-radius:7px;background:#fff;box-shadow:0 2px 6px rgba(16,24,40,.06);text-align:left;cursor:pointer}
.tvr-recent-card:hover{border-color:#a9cdbb;box-shadow:0 4px 10px rgba(0,115,67,.08)}
.tvr-recent-date{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tvr-muted);font-size:9px}.tvr-recent-ref{margin-top:2px;color:#2f6f9f;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tvr-recent-score{margin-top:3px;font-size:11px;font-weight:800;display:flex;align-items:center;gap:4px}
.tvr-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#aeb5bc;flex:0 0 auto}.tvr-dot.is-win{background:var(--tvr-win)}.tvr-dot.is-draw{background:#aab1b7}.tvr-dot.is-loss{background:var(--tvr-loss)}

.tvr-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#9aa0a6;font-size:10px;margin:4px 0 10px}.tvr-meta-row button{border:0;background:none;color:#b36b23;text-decoration:underline;cursor:pointer;padding:0}
.tvr-unresolved{display:none;border:1px solid #f2d7b0;background:#fff9ef;border-radius:7px;padding:10px;margin-bottom:10px}.tvr-unresolved.open{display:block}.tvr-unresolved-item{display:flex;flex-direction:column;padding:7px 0;border-top:1px solid #f2e3cd;color:var(--tvr-text);text-decoration:none}.tvr-unresolved-item:first-of-type{border-top:0}.tvr-unresolved-item small{color:#a05d26}

.tvr-selected{scroll-margin-top:16px}.tvr-ref-detail{border:1px solid var(--tvr-line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(16,24,40,.05)}
.tvr-ref-head{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--tvr-line)}.tvr-ref-head h3{margin:0!important;font-size:20px!important;font-weight:500!important;color:#555b61}.tvr-ref-sub{margin-top:2px;color:var(--tvr-muted);font-size:10px}
.tvr-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--tvr-line)}
.tvr-stat{min-width:0;padding:11px 14px;border-right:1px solid var(--tvr-line);border-bottom:1px solid var(--tvr-line)}.tvr-stat:nth-child(3n){border-right:0}.tvr-stat:nth-last-child(-n+3){border-bottom:0}.tvr-stat span{display:block;color:#8d949b;font-size:9px;font-weight:700}.tvr-stat strong{display:block;margin-top:3px;font-size:13px;font-weight:800;color:#44494e;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tvr-detail-section{padding:16px}.tvr-detail-section+ .tvr-detail-section{border-top:1px solid var(--tvr-line)}.tvr-detail-section h3{margin:0 0 10px!important;font-size:20px!important;font-weight:500!important;color:#555b61}.tvr-section-note{margin:-5px 0 10px!important;color:#8f969d;font-size:10px}
.tvr-table-wrap{overflow-x:auto}.tvr-time-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--tvr-line);border-radius:7px;overflow:hidden;font-size:11px}.tvr-time-table th,.tvr-time-table td{padding:7px 11px;border-top:1px solid #eceeef;text-align:left}.tvr-time-table tr:first-child th{border-top:0}.tvr-time-table th{background:#f7f8f9;color:#5e656c;font-weight:800}.tvr-time-table th:nth-child(n+2),.tvr-time-table td:nth-child(n+2){text-align:center;width:24%}.tvr-time-table tbody tr:first-child td{border-top:1px solid var(--tvr-line)}

.tvr-match-list{display:grid;gap:8px}.tvr-match-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--tvr-line);border-radius:7px;background:#fff;color:var(--tvr-text)!important;text-decoration:none!important;box-shadow:0 1px 4px rgba(16,24,40,.04)}.tvr-match-card:hover{border-color:#a9cdbb;box-shadow:0 4px 10px rgba(0,115,67,.08);transform:translateY(-1px)}
.tvr-match-main{min-width:0}.tvr-match-date{font-size:9px;color:#9aa0a6}.tvr-match-title{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:800;color:#343a40}.tvr-match-meta{margin-top:2px;font-size:9px;color:#a0a6ac}.tvr-goal-times{margin-top:4px;font-size:10px;color:#6e757c;line-height:1.45}.tvr-goal-times b{color:#4e555b}.tvr-goal-warning{margin-top:3px;color:#b26c24;font-size:9px}.tvr-match-arrow{flex:0 0 auto;color:#a8aeb4;font-size:22px;font-weight:300}

.tvr-about{padding:18px 2px 0;color:#555b61}.tvr-about h2{margin:20px 0 8px!important;font-size:24px!important;font-weight:500!important}.tvr-about p{margin:0 0 10px!important;font-size:12px;line-height:1.9}.tvr-empty{padding:22px;text-align:center;color:var(--tvr-muted)}

@media(max-width:700px){
  .tvr-shell{padding-left:10px;padding-right:10px}.tvr-page-title{font-size:24px!important}.tvr-recent-grid{display:flex;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.tvr-recent-card{min-width:126px;scroll-snap-align:start}.tvr-ref-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-stat:nth-child(3n){border-right:1px solid var(--tvr-line)}.tvr-stat:nth-child(2n){border-right:0}.tvr-stat:nth-last-child(-n+3){border-bottom:1px solid var(--tvr-line)}.tvr-stat:last-child{border-bottom:0}.tvr-detail-section{padding:13px}.tvr-detail-section h3{font-size:18px!important}.tvr-match-card{padding:10px}.tvr-goal-times{font-size:9.5px}.tvr-about h2{font-size:21px!important}
}


/* v1.2.1: readability — 全体の文字サイズを一段上げる */
.tvrdb-app{font-size:16px;line-height:1.7}
.tvr-page-title{font-size:32px!important}
.tvr-search-box{padding:15px}
.tvr-search-box label{font-size:15px;margin-bottom:7px}
.tvr-search-input{height:46px!important;font-size:16px!important;padding:0 13px!important}
.tvr-list-toggle{height:42px;font-size:14px}
.tvr-suggestions{top:50px}
.tvr-suggestions button{padding:12px 13px;font-size:15px}
.tvr-suggest-name{display:flex;flex-direction:column;min-width:0;font-weight:800}
.tvr-suggest-name small{margin-top:1px;font-size:12px;font-weight:500;color:var(--tvr-muted)}
.tvr-suggestions button>strong{flex:0 0 auto;font-size:12px;color:var(--tvr-muted)}
.tvr-suggest-empty{padding:13px;font-size:14px}
.tvr-ref-picker button{padding:10px;font-size:14px}
.tvr-recent-section>h3{font-size:15px!important}
.tvr-recent-card{padding:10px}
.tvr-recent-date{font-size:12px}
.tvr-recent-ref{font-size:14px}
.tvr-recent-score{font-size:14px}
.tvr-meta-row{font-size:12px}
.tvr-ref-head{padding:17px 18px}
.tvr-ref-head h3{font-size:24px!important}
.tvr-ref-sub{font-size:13px}
.tvr-stat{padding:13px 14px}
.tvr-stat span{font-size:12px}
.tvr-stat strong{font-size:16px}
.tvr-detail-section{padding:18px}
.tvr-detail-section h3{font-size:23px!important}
.tvr-section-note{font-size:13px}
.tvr-time-table{font-size:14px}
.tvr-time-table th,.tvr-time-table td{padding:10px 12px}
.tvr-match-card{padding:13px 14px}
.tvr-match-date{font-size:12px}
.tvr-match-title{font-size:15px}
.tvr-match-meta{font-size:12px}
.tvr-goal-times{font-size:13px;line-height:1.55}
.tvr-goal-warning{font-size:12px}
.tvr-about h2{font-size:26px!important}
.tvr-about p{font-size:15px;line-height:1.85}

@media(max-width:700px){
  .tvr-page-title{font-size:27px!important}
  .tvr-search-box{padding:13px}
  .tvr-recent-card{min-width:150px}
  .tvr-ref-head h3{font-size:22px!important}
  .tvr-stat span{font-size:11.5px}
  .tvr-stat strong{font-size:15px}
  .tvr-detail-section h3{font-size:21px!important}
  .tvr-time-table{font-size:13.5px}
  .tvr-match-title{font-size:14.5px}
  .tvr-goal-times{font-size:13px}
  .tvr-about h2{font-size:23px!important}
  .tvr-about p{font-size:14.5px}
}


/* v1.2.2: ベレーザ版の詳細レイアウトへ統一 */
.tvr-ref-detail{
  border:1px solid #e1e4e7;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 2px 9px rgba(16,24,40,.05);
}
.tvr-ref-head-profile{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px;
  padding:18px!important;
  background:#fff;
}
.tvr-ref-profile{min-width:0}
.tvr-ref-head-profile h3{
  margin:0!important;
  color:#30343a!important;
  font-size:25px!important;
  font-weight:500!important;
  line-height:1.3!important;
}
.tvr-ref-roman,.tvr-ref-birth{
  margin-top:2px;
  color:#737a82;
  font-size:13px;
  line-height:1.35;
}
.tvr-ref-official{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:37px;
  padding:0 12px;
  border:1px solid #d8dde2;
  border-radius:7px;
  background:#fff;
  color:#317bb9!important;
  font-size:12px;
  font-weight:500;
  text-decoration:none!important;
  white-space:nowrap;
}
.tvr-stat-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border-top:1px solid #e4e7ea!important;
  border-bottom:0!important;
}
.tvr-stat{
  min-width:0;
  min-height:66px;
  padding:12px 14px!important;
  border-right:1px solid #e4e7ea!important;
  border-bottom:1px solid #e4e7ea!important;
  background:#fff!important;
}
.tvr-stat:nth-child(3n){border-right:0!important}
.tvr-stat:nth-child(n+7){border-bottom:0!important}
.tvr-stat span{
  display:block;
  color:#7a8188!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.35;
}
.tvr-stat strong{
  display:block;
  margin-top:4px!important;
  color:#2f3337!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1.35;
}
.tvr-detail-section{
  padding:18px!important;
  border-top:1px solid #e4e7ea!important;
  background:#fff!important;
}
.tvr-detail-section h3{
  margin:0 0 12px!important;
  color:#30343a!important;
  font-size:25px!important;
  font-weight:500!important;
  line-height:1.35!important;
}
.tvr-time-table{
  width:100%;
  font-size:15px!important;
  border:1px solid #dfe3e6!important;
  border-radius:8px!important;
}
.tvr-time-table th,.tvr-time-table td{padding:10px 12px!important}
.tvr-time-table th{
  background:#f7f7f7!important;
  color:#40454a!important;
  font-weight:700!important;
}
.tvr-match-list{display:block!important}
.tvr-match-card{
  margin:0!important;
  padding:13px 14px!important;
  border:0!important;
  border-left:1px solid #dfe3e6!important;
  border-right:1px solid #dfe3e6!important;
  border-bottom:1px solid #e7eaed!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.tvr-match-card:first-child{
  border-top:1px solid #dfe3e6!important;
  border-radius:8px 8px 0 0!important;
}
.tvr-match-card:last-child{
  border-bottom:1px solid #dfe3e6!important;
  border-radius:0 0 8px 8px!important;
}
.tvr-match-card:only-child{border-radius:8px!important}
.tvr-match-title{font-size:16px!important}
.tvr-goal-times{font-size:13px!important;line-height:1.55!important}

@media(max-width:700px){
  .tvr-ref-head-profile{padding:15px!important;gap:10px}
  .tvr-ref-head-profile h3{font-size:22px!important}
  .tvr-ref-roman,.tvr-ref-birth{font-size:12px}
  .tvr-ref-official{min-height:34px;padding:0 9px;font-size:10.5px}
  .tvr-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .tvr-stat{min-height:72px;padding:10px 8px!important}
  .tvr-stat:nth-child(3n){border-right:0!important}
  .tvr-stat:nth-child(n+7){border-bottom:0!important}
  .tvr-stat span{font-size:10.5px!important}
  .tvr-stat strong{font-size:14px!important}
  .tvr-detail-section{padding:14px!important}
  .tvr-detail-section h3{font-size:21px!important}
  .tvr-time-table{font-size:13.5px!important}
}
