:root{font-family:"Yu Gothic UI","Meiryo",system-ui,sans-serif;color:#24312f;background:#f3f5f3;font-synthesis:none;line-height:1.65;--accent:#247058;--muted:#64736d;--border:#dae2dd}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid #cbd6cf;border-radius:7px;background:#fff;padding:8px 13px;color:#293d33;font-size:13px;font-weight:600}button:hover:not(:disabled){background:#edf4ef;border-color:#7caa92}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #deab50;outline-offset:3px}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h3{font-size:15px;font-weight:700}h2{font-size:22px;font-weight:650;line-height:1.65;letter-spacing:.02em;white-space:pre-wrap;overflow-wrap:anywhere}h4{font-size:15px;line-height:1.65}.header{height:83px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand-icon{border-radius:10px;display:grid;place-items:center;background:#e5f0e8;color:var(--accent);width:39px;height:39px;font-size:16px}.brand strong{display:block;font-family:system-ui,sans-serif;font-size:19px;letter-spacing:-.3px}.brand div>span{display:block;font-size:11px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:18px}.local-badge{font:600 10px system-ui,sans-serif;letter-spacing:1px;color:var(--accent)}.load-status{padding:9px 30px;background:#eaf0eb;color:#52645a;font-size:11px;border-bottom:1px solid var(--border);min-height:36px}.layout{max-width:1680px;display:grid;grid-template-columns:280px minmax(0,1fr);margin:auto;min-height:calc(100vh - 120px)}.sidebar{padding:26px 20px;border-right:1px solid var(--border)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.count{border-radius:5px;padding:0 8px;background:#e1e8e2;color:#596c60;font-size:12px}.muted{color:var(--muted)}.small{font-size:11px}.sidebar>.muted{margin-bottom:20px}.comment-button{display:block;text-align:left;width:100%;margin-bottom:10px;padding:14px;background:transparent;border-color:transparent;border-radius:9px}.comment-button[aria-current="true"]{border-color:#8fb49b;background:#fff;box-shadow:0 2px 9px #1e433407}.comment-button-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.comment-button-top strong{font:700 17px system-ui,sans-serif}.list-state{font-size:10px;color:#8a6231}.list-state.completed,.list-state.zero_results{color:var(--accent)}.comment-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;font-weight:400;line-height:1.85;color:#526259}.attempt-preview{display:block;font:10px ui-monospace,monospace;font-weight:400;color:#77877c;margin-top:10px}.sidebar-note{font-size:11px;line-height:1.9;color:#778079;margin:30px 8px;border-top:1px solid var(--border);padding-top:20px}main{min-width:0;padding:30px 32px 20px}.comment-panel{padding-bottom:22px}.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:12px;font-size:12px}#research-id{font:700 17px system-ui,sans-serif}.badge{border-radius:4px;font-size:10px;padding:2px 8px;background:#f6e7cd;color:#77552a}.badge.completed,.badge.zero_results{background:#dfeee3;color:#286348}.attempt{font:11px ui-monospace,monospace;color:var(--muted)}.stats{display:flex;align-items:center;gap:30px;margin-top:22px}.stats>div{display:flex;align-items:baseline;gap:12px}.stats .muted{font-size:11px}.stats strong{font:650 16px system-ui,sans-serif}.original-label{margin-left:auto;font-size:10px;color:var(--accent);border:1px solid #cbded0;border-radius:5px;padding:4px 9px}.attempt-details{font-size:11px;color:var(--muted);margin-top:14px;overflow-wrap:anywhere}.attempt-details p{margin:9px 0}.attempt-details li{margin-bottom:7px}summary{cursor:pointer}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:22px;align-items:start}.playback-panel,.scene-panel{min-width:0;background:#fff;border:1px solid var(--border);border-radius:12px;padding:19px}.playback-panel{position:sticky;top:18px}.player-frame{position:relative;width:100%;aspect-ratio:16/9;min-height:220px;background:#192720;border-radius:6px;overflow:hidden}#youtube-host,#youtube-host>div,#youtube-host>iframe{position:absolute;inset:0;width:100%;height:100%}#player-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#9ab19f;font-size:30px;gap:14px}#player-placeholder span{font-size:11px;padding:0 18px;text-align:center}.playback-meta{margin-top:15px;min-height:88px}#playing-title{display:block;font-size:13px}#playing-range{display:block;font-variant-numeric:tabular-nums;margin-top:4px}.progress{height:3px;border-radius:3px;background:#e7ede8;margin:12px 0 6px}#progress-fill{height:100%;width:0;background:var(--accent)}#playback-time{font-variant-numeric:tabular-nums}.player-status{font-size:11px;color:var(--muted);margin:13px 0;min-height:38px;white-space:pre-wrap}.player-status.error,.player-status.blocked{background:#fff3de;color:#795519;padding:10px;border-radius:6px}.controls{display:flex;flex-wrap:wrap;gap:7px}.controls button{font-size:11px;padding:8px 9px}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover:not(:disabled){background:#19543f;color:white}.secondary-controls{margin:8px 0 15px}.external-link{display:inline-block;font-size:11px}.precision-note{margin-top:15px;font-size:10px;line-height:1.9}.scene-card{border:1px solid var(--border);border-radius:8px;padding:16px;margin-top:13px;transition:border-color .15s}.scene-card:first-child{margin-top:0}.scene-card.active{border-color:#70a58a;background:#f7faf7;box-shadow:inset 3px 0 var(--accent)}.scene-card-heading{display:flex;align-items:center;gap:10px;margin-bottom:9px}.scene-number{font:700 16px system-ui,sans-serif;color:var(--accent)}.supplementary{font-size:9px;background:#e8ede8;padding:1px 6px;border-radius:3px;color:var(--muted);margin-left:auto}.scene-range{font-size:11px;color:var(--muted);margin-top:7px;font-variant-numeric:tabular-nums}.reason-label{font-size:10px;color:var(--accent);font-weight:700;margin:15px 0 5px}.reason{font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.scene-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.scene-actions button{font-size:10px;padding:7px 9px}.notice{background:#fff0d7;color:#715226;font-size:12px;padding:14px;border-radius:7px;margin-top:15px;white-space:pre-wrap;overflow-wrap:anywhere}.saved-notes{margin-top:26px;padding:20px;border:1px solid var(--border);border-radius:9px}.saved-notes h3{margin-bottom:10px}.saved-notes details{font-size:12px;margin-top:9px}.saved-notes p{white-space:pre-wrap;line-height:1.9;margin-top:10px;color:var(--muted)}.empty-state{padding:25px 5px;color:var(--muted);font-size:12px}footer{font-size:10px;color:var(--muted);padding:22px 0 0}ul{padding-left:20px}[hidden]{display:none!important}@media(min-width:1500px){.content-grid{grid-template-columns:minmax(0,1.3fr) minmax(340px,1fr)}}@media(max-width:1170px){.layout{grid-template-columns:230px minmax(0,1fr)}main{padding:24px}.content-grid{grid-template-columns:1fr}.playback-panel{position:static}.scene-panel{margin-top:0}.stats{flex-wrap:wrap;gap:15px}.original-label{margin-left:0}}@media(max-width:700px){.header{height:auto;min-height:100px;padding:16px;flex-wrap:wrap;gap:12px}.brand strong{font-size:17px}.header-actions{justify-content:space-between;width:100%}.load-status{padding:10px 16px}.layout{display:block}.sidebar{padding:17px 16px;border-right:0;border-bottom:1px solid var(--border)}.sidebar>.muted,.sidebar-note{display:none}#comments{display:flex;gap:9px;overflow-x:auto;padding-bottom:4px}.comment-button{flex:0 0 180px;margin:0;padding:12px;border-color:var(--border)}.comment-preview{-webkit-line-clamp:2;font-size:11px}.attempt-preview{margin-top:5px}main{padding:22px 15px}h2{font-size:18px}.stats{gap:10px 20px}.stats strong{font-size:14px}.stats>div{gap:8px}.playback-panel,.scene-panel{padding:14px}.eyebrow{flex-wrap:wrap}.player-frame{min-height:200px}.scene-actions{flex-wrap:wrap}}
/* Method selection changes only the selected immutable result, never its scenes. */
.method-controls { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 20px 0 12px; }
.method-controls button[aria-pressed="true"] { background: #2563eb; border-color: #2563eb; color: white; }
.method-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.method-summary { display: grid; gap: 6px; border: 1px solid #dbe2eb; border-radius: 10px; padding: 12px; overflow-wrap: anywhere; }
.method-summary.selected { border-color: #2563eb; background: #eff6ff; }
.background-notice { background: #fff8e6; border-color: #e4c574; }
@media (max-width: 650px) { .method-comparison { grid-template-columns: 1fr; } }

/* Keep source selection and comment traversal reachable during a long review. */
.sidebar { position: sticky; top: 0; max-height: 100vh; display: flex; flex-direction: column; align-self: start; }
.video-selection { margin-bottom: 22px; }
.video-selection label { display: block; font-weight: 700; font-size: 13px; margin-bottom: 8px; }
#video-select { width: 100%; min-width: 0; font: inherit; font-size: 12px; padding: 10px 8px; border: 1px solid #a6bdae; border-radius: 7px; background: white; color: #243d30; }
.video-title { font-size: 12px; font-weight: 600; margin-top: 10px; line-height: 1.7; overflow-wrap: anywhere; }
#selected-video-meta { margin-top: 6px; white-space: pre-line; overflow-wrap: anywhere; }
#comments { min-height: 0; overflow-y: auto; flex: 1; overscroll-behavior: contain; }
.sidebar-note { flex-shrink: 0; margin-top: 18px; }
.attempt-preview { font-family: inherit; font-size: 10px; white-space: normal; overflow-wrap: anywhere; }
.comment-navigation { position: sticky; top: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 9px; background: #f3f5f3; border-bottom: 1px solid var(--border); padding: 12px 0; margin-bottom: 20px; box-shadow: 0 -12px #f3f5f3; }
.comment-navigation strong { font-size: 14px; }
.comment-navigation-actions { display: flex; gap: 8px; }
.comment-navigation-actions button { font-size: 12px; padding: 10px 15px; }
.comment-navigation-actions button:not(:disabled) { border-color: #7fa68d; }
#research-id { font-size: 12px; overflow-wrap: anywhere; }
.eyebrow { flex-wrap: wrap; }
.validation-status { margin-top: 12px; font-size: 11px; color: #596a60; overflow-wrap: anywhere; }
.badge.record_issues { color: #825914; background: #fff0cf; }
.playback-panel { top: 86px; }
#provenance p { white-space: pre-wrap; }
@media (max-width: 700px) {
  .sidebar { position: static; max-height: none; display: block; }
  .video-selection { margin-bottom: 14px; }
  #comments { display: flex; overflow-x: auto; overflow-y: hidden; }
  .comment-navigation { padding: 10px 0; }
  .comment-navigation-actions button { font-size: 11px; padding: 8px 10px; }
}
@media (max-height: 850px) {
  /* A card taller than the viewport must scroll, or its controls become unreachable. */
  .playback-panel { position: static; }
  .sidebar-note { display: none; }
}
