/* Cases, methods, evidence, controls: one place for each decision. */
/* v104: all cases gain 12% vertical orbit room at the same screen-space scale. */
#competition.comp-refined .comp-pair { height:clamp(403.2px,38.08vw,571.2px); }
#competition.comp-refined .comp-case-tabs {
  display:grid; grid-template-columns:repeat(7,minmax(160px,1fr)); align-items:stretch;
  max-width:100%; overflow-x:auto; overscroll-behavior-x:contain;
  scrollbar-width:thin; scrollbar-color:#d4bd8550 transparent;
  gap:8px; margin:0; padding:12px 16px; border-bottom:1px solid #c7b99522; background:#1b211c;
}
#competition.comp-refined .comp-case-tabs button {
  display:flex; align-items:center; justify-content:flex-start; gap:10px;
  min-width:0; min-height:52px; padding:6px 10px; border:1px solid #c7b99532;
  border-radius:3px; background:#252d25; text-align:left; white-space:normal;
}
#competition.comp-refined .comp-case-tabs button > img { flex:none; width:36px; height:40px; padding:0; object-fit:contain; }
#competition.comp-refined .comp-case-tabs button > .comp-case-name { color:inherit; font-family:inherit; font-size:13px; font-weight:400; line-height:1.35; }
#competition.comp-refined .comp-case-tabs button:after { display:none; }
#competition.comp-refined .comp-case-tabs button[aria-pressed=true] { border-color:#d4bd85; background:#3c3b2b; color:#eedbb2; }
#competition.comp-refined .comp-case-tabs button:hover { border-color:#d4bd85b0; background:#343d30; }
#competition.comp-refined .comp-system-rail { min-height:62px; padding:10px 16px; gap:8px; }
#competition.comp-refined .comp-system-rail button { min-height:40px; }
#competition.comp-refined .comp-gesture { position:absolute; z-index:5; bottom:10px; left:50%; transform:translateX(-50%); padding:3px 8px; border-radius:3px; background:#e7e6e1d9; color:#62685e; font-size:11px; line-height:1.4; white-space:nowrap; pointer-events:none; }
#competition.comp-refined .comp-workbench-strip { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 12px; height:auto; min-height:64px; padding:10px 12px; }
#competition.comp-refined .comp-camera-controls, #competition.comp-refined .comp-display-controls { display:flex; align-items:center; gap:12px; min-width:0; }
#competition.comp-refined .comp-camera-controls > div { display:flex; align-items:center; gap:3px; }
#competition.comp-refined .comp-camera-controls button { display:inline-flex; justify-content:center; align-items:center; min-width:32px; min-height:34px; padding:6px 9px; border:1px solid #c7b99540; border-radius:3px; background:#30382c; color:#dedfd5; font-size:12px; line-height:1.3; }
#competition.comp-refined .comp-camera-controls button[aria-pressed=true] { background:#d4bd85; border-color:#d4bd85; color:#1c221c; }
#competition.comp-refined .comp-camera-controls button:hover:not(:disabled) { border-color:#d4bd85; background:#46503b; color:#f1e7d0; }
#competition.comp-refined .comp-camera-controls button[aria-pressed=true]:hover { background:#e2cc99; color:#1c221c; }
#competition.comp-refined .comp-select-control { display:flex; align-items:center; gap:7px; color:#b8beae; font-size:11px; }
#competition.comp-refined .comp-select-control select { appearance:none; min-width:92px; height:34px; padding:5px 25px 5px 9px; border:1px solid #d4bd8570; border-radius:3px; color:#ecdfbe; background-color:#2b3328; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23d4bd85' stroke-width='1.4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 8px center; font:inherit; font-size:12px; cursor:pointer; color-scheme:dark; }
#competition.comp-refined .comp-select-control select:hover:not(:disabled) { border-color:#d4bd85; background-color:#36402f; }
#competition.comp-refined .comp-select-control option { background:#222b21; color:#edece5; }
#competition.comp-refined .comp-workbench-strip :disabled { opacity:.45; cursor:default; }
#competition.comp-refined .comp-sidebar { display:flex; flex-direction:column; gap:0; padding:0; min-width:0; }
#competition.comp-refined .comp-source-card { position:relative; inset:auto; display:grid; grid-template-rows:auto minmax(0,1fr); flex:1; gap:16px; width:100%; min-height:0; margin:0; padding:16px; border:0; background:transparent; text-align:left; }
#competition.comp-refined .comp-reference-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:32px; padding:0; border:0; color:#dedfd5; font-size:14px; }
#competition.comp-refined .comp-source-caption { position:static; inset:auto; display:inline-flex; flex:none; align-items:center; justify-content:center; gap:8px; min-height:32px; margin:0; padding:6px 9px; border:1px solid #d4bd85; border-radius:3px; background:#d4bd85; color:#1c221c; font:400 12px/1.3 sans-serif; font-family:inherit; letter-spacing:0; }
#competition.comp-refined .comp-source-caption svg { width:14px; height:14px; }
#competition.comp-refined .comp-source-image { position:relative; inset:auto; display:grid; place-items:center; width:100%; min-height:160px; height:100%; outline:none; }
#competition.comp-refined .comp-source-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
@media (min-width:960px) {
  /* Keep the reference at its prior size, centered in the extra room. */
  #competition.comp-refined .comp-source-image img { inset:50% 0 auto; height:calc(100% - clamp(43.2px,4.08vw,61.2px)); transform:translateY(-50%); }
}
#competition.comp-refined .comp-source-card:hover .comp-source-image { outline:none; }
#competition.comp-refined .comp-source-card:hover .comp-source-caption { background:#e2cc99; border-color:#e2cc99; box-shadow:0 2px 10px #0002; }
#competition.comp-refined .comp-input-footer { display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:none; padding:0 16px 14px; }
#competition.comp-refined .comp-input-details { position:relative; width:100%; color:#d5c49b; font-size:12px; line-height:1.5; }
#competition.comp-refined .comp-input-details summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:36px; padding:7px 9px; border:1px solid #d4bd8545; border-radius:3px; background:#222b21; cursor:pointer; list-style:none; }
#competition.comp-refined .comp-input-details summary::-webkit-details-marker { display:none; }
#competition.comp-refined .comp-input-details summary svg { flex:none; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.3; }
#competition.comp-refined .comp-input-details summary:hover, #competition.comp-refined .comp-input-details[open] summary { border-color:#d4bd85; background:#30392b; }
#competition.comp-refined .comp-input-details p { position:absolute; z-index:10; bottom:calc(100% + 8px); left:0; width:100%; margin:0; padding:14px; border:1px solid #c7b99580; border-radius:4px; background:#111b13f7; box-shadow:0 8px 26px #0005; color:#e3e4d9; font-size:12px; line-height:1.65; }
#competition.comp-refined .comp-back-flight { display:inline-flex; align-items:center; gap:12px; min-height:30px; padding:5px 8px; border:1px solid #d4bd8550; border-radius:3px; color:#d4bd85; font-size:11px; background:transparent; }
#competition.comp-refined .comp-back-flight[hidden] { display:none; }
#competition.comp-refined .comp-back-flight:hover { border-color:#d4bd85; background:#d4bd8510; }
#competition.comp-refined .comp-workbench :is(button,select,summary):focus-visible { outline:2px solid #f0dbab; outline-offset:-3px; }
@media (min-width:960px) and (max-width:1180px) {
  #competition.comp-refined .comp-case-tabs { padding:10px 12px; gap:6px; }
  #competition.comp-refined .comp-case-tabs button { gap:7px; padding:6px; }
  #competition.comp-refined .comp-case-tabs button > img { width:30px; height:38px; }
  #competition.comp-refined .comp-case-tabs button > .comp-case-name { font-size:12px; }
  #competition.comp-refined .comp-system-rail { grid-template-columns:repeat(5,minmax(0,1fr)); }
  #competition.comp-refined .comp-system-label { display:none; }
  #competition.comp-refined .comp-camera-controls, #competition.comp-refined .comp-display-controls { gap:8px; }
  #competition.comp-refined .comp-select-control { gap:5px; }
  #competition.comp-refined .comp-select-control select { min-width:85px; }
  #competition.comp-refined .comp-camera-controls button { padding-inline:7px; }
  #competition.comp-refined .comp-source-card { padding:12px; }
  #competition.comp-refined .comp-input-footer { padding-inline:12px; }
}
@media (max-width:959.98px) {
  #competition.comp-refined .comp-pair { height:clamp(336px,95.2vw,515.2px); }
  #competition.comp-refined .comp-case-tabs { display:flex; gap:7px; padding:10px 12px; }
  #competition.comp-refined .comp-case-tabs button { flex:0 0 132px; min-height:56px; gap:8px; padding:7px; }
  #competition.comp-refined .comp-case-tabs button > img { width:32px; height:40px; }
  #competition.comp-refined .comp-case-tabs button > .comp-case-name { font-size:12px; }
  #competition.comp-refined .comp-system-rail { padding:8px 12px; min-height:60px; }
  #competition.comp-refined .comp-system-rail button { min-height:44px; }
  #competition.comp-refined .comp-gesture { display:none; }
  #competition.comp-refined .comp-workbench-strip { flex-direction:column; align-items:stretch; gap:8px; padding:10px 12px; min-height:0; }
  #competition.comp-refined .comp-camera-controls { justify-content:space-between; }
  #competition.comp-refined .comp-camera-controls button { min-width:44px; min-height:44px; padding:8px 11px; font-size:13px; }
  #competition.comp-refined .comp-display-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #competition.comp-refined .comp-select-control { min-width:0; font-size:11px; }
  #competition.comp-refined .comp-select-control select { min-width:0; width:100%; height:44px; font-size:13px; }
  #competition.comp-refined .comp-sidebar { border-top:1px solid #c7b99525; padding:0; }
  #competition.comp-refined .comp-source-card { display:grid; grid-template-columns:88px minmax(0,1fr); grid-template-rows:1fr; gap:14px; padding:12px; min-height:100px; }
  #competition.comp-refined .comp-reference-heading { grid-column:2; grid-row:1; display:flex; min-width:0; flex-wrap:wrap; align-content:center; justify-content:space-between; gap:8px; font-size:13px; }
  #competition.comp-refined .comp-source-image { grid-column:1; grid-row:1; height:76px; min-height:76px; width:88px; }
  #competition.comp-refined .comp-source-caption { min-height:44px; font-size:12px; }
  #competition.comp-refined .comp-input-footer { flex-direction:row; flex-wrap:wrap; padding:0 12px 12px; gap:8px; }
  #competition.comp-refined .comp-input-details { flex:1 1 220px; }
  #competition.comp-refined .comp-input-details summary { min-height:44px; }
  #competition.comp-refined .comp-back-flight { min-height:44px; padding:8px 10px; font-size:12px; }
}
