
:root{color-scheme:dark;--bg:#091728;--card:#142b42;--line:#304a60;--text:#f2f6fa;--muted:#9db0c2;--mint:#7de3c8;--orange:#ffad68;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse 500px 300px at 80% 11%,#1d4654,transparent),var(--bg);color:var(--text);min-height:100vh}
button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}
.topbar{height:75px;border-bottom:1px solid #284258;display:flex;align-items:center;gap:12px;padding:0 max(18px,calc((100vw - 720px)/2));background:#091728de}
.brandmark{height:45px;width:45px;display:grid;place-items:center;border-radius:12px;background:#e9f2f7;color:#10263a;font-size:20px;font-weight:900;position:relative;letter-spacing:-2px;flex:none}
.brandmark span{color:#ed9056;position:absolute;right:4px;bottom:0;font-size:24px}
.brandtext{display:flex;flex-direction:column;gap:4px;min-width:0}.brandtext strong{font-size:12px;letter-spacing:.15em}.brandtext span{font-size:9px;color:var(--muted);letter-spacing:.13em}
.local-pill{margin-left:auto;white-space:nowrap;display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #2d675b;border-radius:99px;color:#b8e9df;font-size:11px}
.green-dot{width:7px;height:7px;border-radius:50%;background:#5ce7bb}
.page{width:min(100% - 28px,610px);margin:0 auto}
.hero{padding:38px 5px 28px}.eyebrow{display:flex;justify-content:space-between;font-size:11px;font-weight:750;letter-spacing:.13em;color:var(--mint)}.eyebrow span{color:var(--muted);letter-spacing:0}
h1{font-size:clamp(33px,7vw,48px);line-height:1.3;letter-spacing:-.05em;margin:14px 0;font-weight:900}h1 em{color:var(--mint);font-style:normal}
.hero p{margin:0;line-height:1.85;color:#b7c7d6;font-size:14px}
.panel{background:linear-gradient(150deg,#1a344a,#0f2438);border:1px solid #2e4961;border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:0 12px 32px #0002}
.panel-label{display:flex;align-items:center;gap:10px;margin:0 0 17px}.panel-label h2{font-size:17px;margin:0}.number{border:1px solid #4a807b;padding:6px;border-radius:7px;font-size:11px;font-weight:700;color:var(--mint)}
.upload{cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;min-height:184px;gap:7px;padding:20px;border-radius:14px;background:#19364a88;border:1.5px dashed #59788c}
.upload:hover,.upload:focus-within{border-color:var(--mint)}.upload input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.upload-icon{width:45px;height:45px;border-radius:13px;background:#285761;color:var(--mint);display:grid;place-items:center;font-size:28px}
.upload strong{font-size:15px}.upload span:not(.upload-icon){color:var(--muted);font-size:12px}.upload small{color:#84b6a5;font-size:11px}
.file-details{display:flex;align-items:center;gap:11px;background:#0b1f34;border-radius:11px;padding:10px;margin-top:12px}
.photo-picker-tip{color:#b3c6d4;font-size:11px;line-height:1.7;margin:10px 0 2px}
.photo-picker-tip strong{color:var(--mint)}
.file-import-timing{color:var(--mint);font-size:12px;line-height:1.6;margin:10px 0 3px;overflow-wrap:anywhere}
.file-import-help{color:#91aebb;font-size:10px;line-height:1.6;margin:0 0 10px}
.preview-load-button{display:block;width:100%;margin-top:12px;padding:12px 10px;background:#193d51;color:var(--mint);border:1px solid #477b83;border-radius:10px;font-size:12px;font-weight:700}
.file-logo{flex:none;border-radius:9px;width:42px;height:42px;display:grid;place-items:center;background:#285569;color:var(--mint)}
.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.file-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info span{font-size:11px;color:var(--muted)}
.plain-link{color:var(--mint);background:none;border:0;font-size:12px}
#preview{display:block;width:100%;max-height:270px;border-radius:11px;background:#000;margin-top:12px}
.setting-head,.comment-heading{display:flex;justify-content:space-between;align-items:center;font-weight:750;font-size:13px;margin-bottom:11px}.sub-label,.comment-heading span{color:var(--muted);font-size:11px;font-weight:400}
.segmented{display:flex;gap:4px;background:#0c1d2f;padding:4px;border:1px solid #284156;border-radius:12px}
.segmented button{flex:1;background:none;border:0;color:#96b0c0;font-size:12px;font-weight:700;border-radius:8px;padding:11px 3px}.segmented button.active{color:#f1fffa;background:#306576}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.controls label{font-size:12px;color:var(--muted)}.controls label strong{float:right;color:var(--mint)}.controls input{display:block;width:100%;margin-top:17px;accent-color:var(--mint)}
.main-button{display:flex;justify-content:space-between;align-items:center;gap:9px;border:0;border-radius:12px;background:var(--mint);color:#0a2536;width:100%;min-height:50px;padding:12px 16px;font-size:14px;font-weight:900}.main-button:hover:not(:disabled){background:#a3efda}.icon-wave{font-size:22px}
.cancel-button{width:100%;margin-top:8px;background:none;border:1px solid #63849b;padding:10px;border-radius:10px;color:var(--text)}
.fine-print{font-size:11px;color:#8da7b8;line-height:1.8;margin:13px 0 0}
.error{font-size:12px;line-height:1.7;padding:10px;background:#583f354f;color:#ffcfb6;border-radius:8px}
.progress-area{margin-top:12px}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:7px}.progress-track{background:#26485e;border-radius:8px;overflow:hidden;height:7px}#progressBar{width:0%;height:100%;background:var(--mint);transition:width .15s}
.result-summary{display:flex;align-items:baseline;gap:12px;margin:14px 0}.result-summary strong{font-size:40px;font-weight:900;color:var(--mint)}.result-summary span{color:var(--muted);font-size:13px}
.waveform-wrap{background:#091b2c;border:1px solid #2a4a60;border-radius:12px;padding:12px 10px 8px}#waveCanvas{display:block;width:100%;height:110px}
.wave-label{display:flex;justify-content:space-between;color:#8ba8b7;font-size:10px}
.list-help{color:var(--muted);font-size:11px;margin:16px 0 8px;line-height:1.65}
.highlight-list{display:flex;flex-direction:column;gap:8px}
.highlight-item{display:flex;align-items:center;gap:9px;border:1px solid #304b5f;background:#0b2034;padding:10px;border-radius:12px}
.highlight-item.disabled{opacity:.5}
.highlight-checkbox{width:19px;height:19px;flex:none;accent-color:var(--mint)}
.play-btn{border:0;border-radius:10px;width:38px;height:39px;flex:none;background:#2c5264;color:var(--mint)}
.item-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.time-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.time-input{width:76px;border:1px solid #48677a;background:#15334a;color:var(--mint);border-radius:7px;padding:5px 6px;font-weight:800;font-size:13px}
.score{font-size:10px;color:#e5b987}.title-input{border:0;background:none;color:#ebf5f9;font-size:12px;width:100%;padding:3px 0}
.delete-btn{border:0;background:none;color:#8fa5b5;font-size:23px;padding:5px}
.comment-section{margin-top:22px;padding-top:20px;border-top:1px solid #2c4961}
.comment-section textarea{width:100%;min-height:145px;resize:vertical;background:#0b1f32;color:var(--text);border:1px solid #426178;border-radius:11px;padding:12px;font-size:13px;line-height:1.8}
.comment-section textarea:focus{outline:1px solid var(--mint)}.copy-button{margin-top:11px}.copy-status{font-size:12px;color:var(--mint);min-height:1em}
.empty-results{font-size:12px;line-height:1.7;color:var(--muted);padding:15px;border:1px dashed #426079;border-radius:12px}
footer{text-align:center;color:#7995a8;display:flex;align-items:center;flex-direction:column;padding:22px 0 55px;gap:6px;font-size:11px}footer strong{color:#abc5d0;letter-spacing:.2em}footer p{line-height:1.8;max-width:500px}
@media(max-width:390px){.page{width:calc(100% - 24px)}.panel{padding:15px}.controls{gap:12px}.topbar{padding:0 12px}.local-pill{font-size:10px;padding:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* PeakStamp: local highlight montage */
.montage-panel{border-color:#387779}
.montage-label{display:block;font-weight:750;font-size:13px;margin:15px 0 9px}
.montage-presets{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.montage-presets button{border:1px solid #48677d;border-radius:999px;background:#142b41;color:#c7d9e5;font-size:11px;padding:9px 12px;font-weight:800}
.montage-presets button.active{border-color:var(--mint);background:#2b655e;color:#effff9}
.montage-title-input{width:100%;font-size:17px;padding:12px;border-radius:9px;color:#fff;background:#0c2035;border:1px solid #45667b;font-weight:900}
.montage-title-preview{height:122px;border-radius:12px;background:linear-gradient(145deg,#081526,#193b57);display:grid;place-items:center;overflow:hidden;margin-top:10px}
.montage-title-preview strong{display:block;text-align:center;font-weight:1000;letter-spacing:.01em;font-size:clamp(21px,6vw,43px);max-width:94%;overflow-wrap:anywhere}
.montage-length-control{display:flex;justify-content:space-between;margin-top:20px}
.montage-length-control strong{color:var(--mint)}
.montage-slider{display:block;width:100%;accent-color:var(--mint);margin:18px 0}
.montage-summary{display:flex;gap:10px;justify-content:space-between;padding:14px 0;margin:8px 0 16px;border-top:1px solid #294159;font-size:12px;color:#b8d4d9}
.montage-export{margin-top:10px}
#montageBar{background:var(--mint);height:100%;width:0%;transition:width .2s}
#montagePreview{width:100%;max-height:360px;object-fit:contain;background:#000;border-radius:12px;margin:18px 0 10px}
.montage-download{margin:12px 0;text-decoration:none;justify-content:center}
#montageError{margin-top:12px;white-space:pre-line}


/* UX fixes 2026-10 */
.selected-overview{padding:13px 12px;border:1px solid #36625e;background:#0e292d;border-radius:12px;margin:14px 0 12px}
.selected-overview strong{font-size:13px;color:var(--mint)}
.selected-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.selected-chip{display:inline-flex;max-width:100%;padding:6px 9px;border-radius:7px;background:#214b48;color:#e8fff7;font-size:11px;overflow-wrap:anywhere}
.highlight-entry{border-radius:13px;background:#0c2335;border:1px solid #365367;overflow:hidden}
.highlight-entry.is-selected{border-color:#52a591;box-shadow:inset 4px 0 0 #7de3c8}
.highlight-entry.is-excluded{opacity:.68}
.highlight-entry.preview-active{border-color:#ffb773;box-shadow:inset 4px 0 0 #ffb773}
.highlight-entry .highlight-item{border:0;background:transparent;padding:10px 11px;gap:8px;border-radius:0}
.highlight-entry .play-btn{width:auto;min-width:58px;max-width:65px;min-height:37px;height:auto;padding:5px 7px;line-height:1.3;font-size:10px;white-space:normal;font-weight:700}
.scene-number{font-weight:800;font-size:10px;color:#99b6c7}
.selection-label{font-size:10px;font-weight:800;color:#83eacb;background:#174b42;border-radius:5px;padding:4px 6px}
.selection-label.excluded{background:#30404a;color:#a2b0b9}
.inline-preview{padding:4px 12px 12px}
.inline-caption{font-size:11px;line-height:1.5;margin:0 0 8px;color:#ffce9c}
.inline-player{display:block;width:100%;max-height:360px;object-fit:contain;background:#000;border-radius:10px}
.quality-picker{border:1px solid #365568;border-radius:12px;padding:11px;margin:16px 0}
.quality-picker legend{font-size:13px;font-weight:800;padding:0 6px}
.quality-picker label{display:flex;align-items:center;gap:10px;background:#11283e;border:1px solid #31516a;border-radius:10px;margin:8px 0;padding:11px;font-size:12px}
.quality-picker label:has(input:checked){border-color:var(--mint);background:#214d4c}
.quality-picker input{accent-color:var(--mint);flex:none}
.quality-picker span{display:flex;flex-direction:column;gap:4px}
.quality-picker small{font-size:10px;color:#aec1cf;line-height:1.4}
.montage-share{margin:10px 0}
.montage-download{margin:10px 0}
.save-fallback{display:block;text-align:center;color:var(--mint);padding:13px 5px;font-size:12px;text-underline-offset:3px}
.save-help{font-size:12px;line-height:1.75;background:#16384b;border:1px solid #37586d;border-radius:10px;padding:12px;margin:12px 0}
.save-status{min-height:18px;color:#c2e3d8;font-size:12px;line-height:1.5}

/* Multi-video source management */
.source-board{margin:12px 0;padding:13px;border-radius:13px;border:1px solid #3a5b6d;background:#0c2234}
.source-board-header{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:11px}
.source-board-header strong{font-size:13px;color:#c6f5e6}
.source-board-header small{font-size:10px;color:#b2c5ce;text-align:right}
.source-list{display:flex;flex-direction:column;gap:8px}
.source-item{display:flex;align-items:center;gap:10px;padding:10px 8px;background:#163248;border:1px solid #355167;border-radius:10px}
.source-order{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:#245c59;color:#d9fcf1;font-size:12px;font-weight:850}
.source-info{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}
.source-info strong{font-size:12px;overflow-wrap:anywhere}
.source-info small{font-size:10px;color:#bacbd3;overflow-wrap:anywhere}
.source-controls{display:flex;gap:3px;flex:none}
.source-control{border:1px solid #49697e;background:#203b4e;color:#ddf7f4;border-radius:7px;min-width:27px;min-height:32px;padding:4px;font-size:15px}
.source-control:disabled{opacity:.25}
.source-remove{color:#ffc1a5;border-color:#865d55}
.source-scenes-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0 2px;border-bottom:1px solid #40647a;padding:12px 2px 9px}
.source-scenes-header strong{font-size:12px;overflow-wrap:anywhere;min-width:0}
.source-scenes-header small{color:var(--muted);font-size:10px;white-space:nowrap}
#changeFile,#addFiles{white-space:nowrap}
@media(max-width:390px){
 .source-item{gap:6px;padding:9px 5px}
 .source-control{min-width:24px}
 .file-details{gap:6px}
}


/* PeakStamp edit 3 — explicit keep, typography and audio-aware trims */
.highlight-entry{padding-bottom:9px}
.keep-btn{display:flex;align-items:center;justify-content:center;width:calc(100% - 22px);margin:0 11px 8px;padding:10px;border:1px solid #637586;border-radius:9px;background:#213344;color:#d1e0e7;font-size:12px;font-weight:800}
.keep-btn.kept{background:#215d4d;border:1px solid #87f0bb;color:#e6ffed}
.highlight-entry.is-selected{border-color:#7df0b9;box-shadow:inset 4px 0 0 #52d99a}
.highlight-entry.is-excluded{opacity:1;box-shadow:none;border-color:#365367}
.highlight-entry.is-excluded .selection-label{background:#33414c;color:#b2c2cc}
.source-scenes-name{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.source-scenes-name strong{overflow-wrap:anywhere}
.source-copy{background:#1e5654;color:#a9f7e8;border:1px solid #52948b;border-radius:8px;padding:9px 7px;font-size:11px;max-width:170px}
.montage-typography{margin-top:16px;border:1px solid #486275;border-radius:12px;padding:10px 12px 15px}
.montage-typography select{background:#143249;color:#fff;border:1px solid #618296;padding:11px;width:100%;border-radius:9px;font-size:13px}
.montage-typography input[type=range]{width:100%;accent-color:var(--mint);margin:15px 0 1px}
.montage-cut-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.montage-cut-mode label{display:flex;align-items:center;gap:6px;border-radius:9px;border:1px solid #4c6a7d;background:#152f44;padding:10px 8px;font-size:11px;font-weight:750}
.montage-cut-mode label:has(input:checked){border-color:#7de3c8;background:#24514e}
.montage-cut-mode input{accent-color:var(--mint)}
.montage-title-preview strong{white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:96%;font-family:Impact, "Arial Black",sans-serif}


/* Review workflow v4: keep-only tabs, adjustable ranges, persistent export bar */
.review-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:16px 0 11px;padding:4px;background:#0a1c2c;border:1px solid #34536b;border-radius:12px}
.review-tab{min-height:42px;border:0;border-radius:9px;background:transparent;color:#adc0ce;font-weight:800;font-size:12px;padding:8px}
.review-tab.active{background:#2a615c;color:#f1fff9}
.review-tab span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:4px;padding:2px 5px;border-radius:6px;background:#365267;color:#fff;font-size:11px}
.review-tab.active span{background:#427d71}
.range-editor{margin:0 11px 11px;padding:11px 12px 12px;border:1px solid #35586b;border-radius:10px;background:#10273b}
.range-title{font-size:12px;font-weight:850;color:#e2f4f7;margin-bottom:9px}
.range-legend{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:10px;margin-bottom:9px}
.range-start-label{color:#90d4ce}
.range-peak-label{color:#ffb773}
.range-end-label{color:#c5d2ff}
.range-track{height:18px;position:relative;margin:9px 8px 15px;border-radius:99px;background:#34516c}
.range-fill{position:absolute;top:4px;height:10px;border-radius:99px;background:#3da89988;box-shadow:inset 0 0 0 1px #75d6be77}
.range-dot{position:absolute;z-index:1;top:1px;height:16px;width:4px;transform:translateX(-50%);border-radius:3px;background:#def9ff;box-shadow:0 0 0 1px #173548}
.range-dot.range-start{background:#8bf0d4}
.range-dot.range-peak{width:8px;border:1px solid #fff;background:#ffa75e;border-radius:99px}
.range-dot.range-end{background:#aeb8ff}
.range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.range-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.range-field label{color:#aec6d2;font-size:10px}
.range-time{width:100%;padding:7px;background:#17384c;border:1px solid #618294;border-radius:7px;color:#def8fa;font-size:14px;font-weight:800;letter-spacing:.01em}
.range-adjust{display:flex;flex-wrap:wrap;gap:5px}
.range-jog,.range-reset{min-height:30px;padding:6px 8px;border-radius:7px;border:1px solid #4d7283;background:#27465a;color:#dff3f4;font-weight:750;font-size:10px}
.range-reset{border-color:#5a907b;color:#b5f5d8;background:#1e4b45}
@media(max-width:390px){
 .range-editor{margin:0 7px 8px;padding:10px 8px}
 .range-inputs{gap:7px}
 .range-jog,.range-reset{padding:6px 5px}
}

.range-inputs .time-input{width:100%;min-width:0}


/* Rapid scene review — replay immediately precedes clip video */
.highlight-entry .highlight-item{
  display:flex;flex-direction:column;align-items:stretch;gap:9px;
  padding:13px 12px 8px;
}
.highlight-entry .highlight-item .item-fields{width:100%;min-width:0}
.highlight-entry .time-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.highlight-entry .time-row .delete-btn{margin-left:auto;flex:none}
.highlight-entry .play-btn{
  display:flex;align-items:center;justify-content:center;
  min-height:49px;width:100%;min-width:0;max-width:none;
  font-size:15px;font-weight:850;padding:12px 16px;white-space:nowrap;
  background:#1e5e72;color:#e8fdff;border:1px solid #55a8b9;border-radius:10px
}
.highlight-entry .inline-preview{padding:2px 12px 10px}
.highlight-entry .inline-player{width:100%;max-height:390px}
.highlight-entry .range-editor{margin:0 12px 10px}
.play-label-group{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.play-label-caption{color:#b4d2dc;font-size:12px;font-weight:750}
.play-label-select{
  display:block;width:100%;min-height:50px;padding:10px 36px 10px 12px;
  border-radius:11px;border:1px solid #69b1a8;background:#143b4a;
  color:#fff;font-size:17px;line-height:1.5;font-weight:800;
}
.play-label-select option{font-size:16px;background:#133549;color:#fff}
.play-label-group .title-input{
  display:block;width:100%;min-height:45px;font-size:15px;
  background:#102b3d;color:#f2fcff;border:1px solid #60889a;border-radius:8px;
}
.review-decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 12px 14px}
.review-decision-actions button{
  min-height:54px;border-radius:11px;font-weight:900;font-size:16px;
  border:1px solid transparent;padding:12px 6px;
}
.review-keep{background:#257b63;color:#fff;border-color:#8cf0c4!important}
.review-reject{background:#3a3841;color:#ffd7d5;border-color:#ae7c83!important}
.highlight-entry.review-next{border-color:#7bdec7;box-shadow:0 0 0 2px #66cab94a}
.review-progress{font-size:12px;line-height:1.4;color:#a9dacd;min-height:0;margin:5px 0}
.review-progress:empty{display:none}
.review-undo-toast{
  position:fixed;z-index:850;left:50%;width:min(calc(100% - 24px),600px);
  transform:translateX(-50%);bottom:calc(8px + env(safe-area-inset-bottom,0px));
  border:1px solid #e9bd84;border-radius:12px;background:#2f3c40;
  box-shadow:0 8px 32px #0008;padding:12px;
  display:flex;align-items:center;justify-content:space-between;gap:9px;
  color:#f5f5ee;font-size:12px;
}
.review-undo-toast button{
  flex:none;min-height:40px;background:#ffcc86;border:0;
  padding:9px 13px;border-radius:8px;color:#253b3b;font-size:13px;font-weight:900;
}
@media(max-width:390px){
  .highlight-entry .range-editor{margin:0 7px 9px}
  .highlight-entry .play-btn{font-size:14px}
  .play-label-select{font-size:16px}
  .review-decision-actions{padding:0 7px 11px}

}


/* v6 compact review controls: replay / keep / reject on one line */
.highlight-entry .review-decision-actions{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
  gap:6px;
  padding:0;
  width:100%;
}
.highlight-entry .review-decision-actions button{
  min-width:0;
  width:100%;
  max-width:none;
  min-height:48px;
  padding:9px 3px;
  font-size:clamp(12px,3.3vw,15px);
  white-space:nowrap;
  line-height:1.25;
  border-radius:9px;
}
.highlight-entry .review-decision-actions .play-btn{
  font-size:clamp(12px,3.3vw,15px);
  font-weight:900;
  min-height:48px;
}
.highlight-entry .highlight-item{padding-bottom:7px}
.highlight-entry .inline-preview{padding-top:0}
.highlight-entry .inline-player{
  display:block;
  width:100%;
  pointer-events:none;
}
.highlight-entry .inline-player::-webkit-media-controls,
.highlight-entry .inline-player::-webkit-media-controls-panel,
.highlight-entry .inline-player::-webkit-media-controls-start-playback-button{display:none!important}
/* Avoid author-level display:flex defeating the HTML hidden attribute. */
.review-undo-toast[hidden]{display:none!important}
@media(max-width:390px){
  .highlight-entry .review-decision-actions{gap:4px;padding:0}
  .highlight-entry .review-decision-actions button{font-size:12px;padding:8px 2px}
  .highlight-entry .review-decision-actions .play-btn{font-size:12px}
}


/* Storage-aware export estimate and iPhone guidance */
.storage-estimate{border:1px solid #3b726e;background:#143b3e;border-radius:11px;padding:12px 13px;margin:12px 0 9px}
.storage-estimate>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.storage-estimate strong{font-size:13px;color:#d6fff0}
#montageSizeEstimate{white-space:nowrap;color:#96f5c9;font-size:17px;font-variant-numeric:tabular-nums}
.storage-estimate p{font-size:11px;line-height:1.5;color:#bfd5d4;margin:6px 0 0}
.storage-tips{border:1px solid #435f72;background:#132d41;border-radius:10px;margin-bottom:16px;padding:11px 13px}
.storage-tips summary{font-size:12px;font-weight:850;color:#c7e9f2;cursor:pointer;min-height:24px}
.storage-tips p{font-size:11px;line-height:1.7;color:#b8d3dc;margin:12px 0 4px}
.quality-picker label:has(input[value="compact"]:checked){border-color:#f8cc85;background:#4a4438}


/* Timeline v9 — touch-friendly handles, live playback cursor and fine scrub */
.range-editor .range-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.range-editor .range-title{margin:0;font-size:13px}
.range-editor .range-current{white-space:nowrap;font-size:12px;font-weight:800;color:#eafefa;font-variant-numeric:tabular-nums}
.range-editor .range-track.interactive-range{
  position:relative;height:46px;margin:7px 13px 8px;
  border:1px solid #557f90;background:#27445d;
  touch-action:none;user-select:none;-webkit-user-select:none;
  border-radius:9px;overflow:visible;
}
.range-editor .interactive-range .range-fill{
  top:15px;height:14px;background:#48bc9b9c;
  border:1px solid #a1f1cd80;pointer-events:none;
}
.range-editor .interactive-range .range-dot.range-peak{
  top:12px;width:8px;height:20px;pointer-events:none;opacity:.88;z-index:2;
}
.range-editor .interactive-range .range-handle{
  position:absolute;top:7px;height:30px;width:28px;z-index:5;
  border:2px solid #e6ffff;border-radius:10px;
  transform:translateX(-50%);box-shadow:0 0 0 2px #09263877;
  cursor:ew-resize;touch-action:none;-webkit-touch-callout:none;
  user-select:none;-webkit-user-select:none;
}
.range-editor .interactive-range .range-handle.range-start{background:#65d5ab}
.range-editor .interactive-range .range-handle.range-end{background:#acbbff}
.range-editor .interactive-range .range-handle.dragging,
.range-editor .interactive-range.is-fine .range-handle.dragging{
  height:36px;top:4px;outline:3px solid #fff7;
  box-shadow:0 0 18px #c8fff1aa;
}
.range-editor .interactive-range .range-playhead{
  position:absolute;z-index:7;top:-5px;height:54px;width:3px;
  background:#fff;box-shadow:0 0 0 1px #183d4f,0 0 9px #b7e7ff;
  transform:translateX(-50%);pointer-events:none;
}
.range-editor .interactive-range .range-playhead::before{
  content:'';position:absolute;left:-5px;top:-6px;width:13px;height:13px;
  border-radius:50%;background:#f4ffff;border:2px solid #2d6173;
}
.range-editor .interactive-range .range-playhead[hidden]{display:none!important}
/* One combined timeline: draggable playhead and separate export trim handles. */
.range-editor .interactive-range .range-playhead{
  width:22px;height:54px;top:-5px;background:transparent;
  border:0;box-shadow:none;cursor:ew-resize;pointer-events:auto;
  touch-action:none;-webkit-user-select:none;z-index:4;
}
.range-editor .interactive-range .range-playhead::after{
  content:'';position:absolute;left:calc(50% - 1.5px);top:0;
  width:3px;height:54px;background:#fff;pointer-events:none;
  box-shadow:0 0 0 1px #183d4f,0 0 9px #b7e7ff;
}
.range-editor .interactive-range .range-playhead::before{
  left:calc(50% - 6px);top:-5px;z-index:1;pointer-events:none;
}
.range-editor .interactive-range .range-playhead:focus-visible{
  outline:2px solid #fff;border-radius:4px;
}

.range-editor .range-hint{
  margin:4px 0 12px;font-size:11px;color:#b1cfda;
  min-height:16px;line-height:1.5;text-align:center;
}
.range-editor .interactive-range.is-fine{border-color:#f5d08a;background:#345166}
.range-editor .interactive-range.is-fine ~ .range-hint{color:#ffdf99}
.range-editor .range-inputs{gap:10px}
.range-editor .range-field input{min-height:41px;font-size:15px;font-variant-numeric:tabular-nums}
.range-editor .range-reset{align-self:flex-start;padding:8px 12px;min-height:36px;font-size:12px}
.range-editor .range-legend{font-variant-numeric:tabular-nums;font-size:10px;gap:4px;white-space:nowrap}
@media(max-width:390px){
  .range-editor .range-track.interactive-range{margin-inline:12px}
  .range-editor .range-legend{font-size:9px}
  .range-editor .range-current{font-size:11px}
  .range-editor .range-hint{font-size:10px}
}


/* Per-highlight center zoom: preview and exported MP4 use the same multiplier */
.highlight-entry .zoom-video-viewport{width:100%;overflow:hidden;border-radius:10px;background:#071826}
.highlight-entry .zoom-video-viewport .inline-player{
  display:block;width:100%;max-height:390px;object-fit:contain;
  transform-origin:center center;transition:transform 160ms ease
}
.scene-zoom-control{display:flex;flex-direction:column;gap:5px;margin:11px 0 9px;padding:11px 12px;border:1px solid #365d6b;border-radius:11px;background:#0e2b3e}
.scene-zoom-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.scene-zoom-label{font-size:12px;font-weight:800;color:#cee7e7}
.scene-zoom-value{font-size:16px;font-weight:900;color:#97f4d9;font-variant-numeric:tabular-nums}
.scene-zoom-slider{display:block;width:100%;min-height:44px;margin:0;accent-color:#7be2c2;touch-action:pan-y;cursor:pointer}
.scene-zoom-ends{display:flex;justify-content:space-between;color:#adc6d2;font-size:10px;font-variant-numeric:tabular-nums}
@media(max-width:390px){.scene-zoom-label{font-size:11px}.scene-zoom-value{font-size:15px}}


/* v13 custom five-second intro — layout shared with the MP4 compositor */
.intro-customizer{margin:16px 0 19px;padding:14px;border:1px solid #3b6974;border-radius:12px;background:#10293c}
.intro-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.intro-section-heading strong{font-size:15px;color:#e7fcf9}
.intro-section-heading span{color:#b7cfde;font-size:11px}
.intro-background-modes{display:flex;gap:9px;flex-wrap:wrap;border:0;padding:0;margin:0 0 10px}
.intro-background-modes legend{font-size:12px;font-weight:800;color:#cadfe7;margin-bottom:9px}
.intro-background-modes label{font-size:12px;color:#f0f7f9;display:flex;align-items:center;gap:5px;min-height:33px}
.intro-background-modes input{accent-color:#79d9be}
.intro-file-picker{display:block;padding:12px;border:1px dashed #65979c;border-radius:9px;font-size:12px;font-weight:800;color:#cce9e9;margin:5px 0 8px}
.intro-file-picker input,.intro-overlay-input input{display:block;width:100%;max-width:100%;margin-top:8px;color:#effaf9;font-size:12px}
.intro-overlay-input{padding:11px 0 8px;margin-top:9px;border-top:1px solid #35556a}
.intro-overlay-input label{font-size:12px;font-weight:800;color:#d9f7ef}
.intro-asset-name{font-size:11px;color:#accbd4;overflow-wrap:anywhere;margin:7px 0 3px}
.intro-preview-header{display:flex;align-items:center;justify-content:space-between;margin:12px 0 7px;gap:8px;font-size:13px}
.intro-small-button{background:#1c4953;border:1px solid #5c9c9a;border-radius:8px;color:#e0fff6;padding:8px 12px;min-height:36px;font-size:12px;font-weight:800}
.intro-small-button:disabled{opacity:.5}
.intro-preview-frame{position:relative;width:100%;aspect-ratio:16/9;max-width:100%;margin:0 auto;background:#081523;overflow:hidden;border-radius:10px;border:1px solid #446a7b}
.intro-preview-frame canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:2;display:block}
.intro-preview-frame canvas.is-draggable{cursor:grab;touch-action:none}
.intro-preview-frame video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none}
.intro-preview-frame video[hidden],.intro-customizer [hidden]{display:none!important}
.intro-help{font-size:11px;color:#a9c4cc;line-height:1.55;margin:8px 0}
.intro-error{font-size:12px;color:#ffbdad;line-height:1.5;padding:6px 0}
.intro-placement-controls{
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 margin:9px 0 13px;
}
#introPositionLabel{font-size:12px;color:#bcdbdf;line-height:1.5}
#introCenterPosition{flex:none;min-height:38px;padding:8px 11px}
#introCenterPosition:disabled{opacity:.38}
#introOverlayScale{width:100%;accent-color:#91ead0}
@media(max-width:390px){
  .intro-customizer{padding:11px 10px}
  #introPositionLabel{font-size:11px}
}


/* v15: in-place opening title, no separate five-second card by default. */
.intro-presentation-picker{margin:13px 0 14px;padding:0;border:0;display:flex;flex-direction:column;gap:7px}
.intro-presentation-picker legend{font-weight:850;font-size:13px;margin-bottom:8px}
.intro-presentation-picker label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #416a76;background:#10283d;border-radius:10px;cursor:pointer}
.intro-presentation-picker label:has(input:checked){border-color:#77d8ba;background:#1b4b4b}
.intro-presentation-picker input{margin:3px 0 0;accent-color:#8de8c5}
.intro-presentation-picker span{display:flex;flex-direction:column;gap:4px}
.intro-presentation-picker strong{font-size:13px;color:#f2fffc}
.intro-presentation-picker small{font-size:11px;line-height:1.45;color:#bacfd7}
.intro-preview-frame video#introFirstScenePreview{object-fit:contain;background:#081523}


/* v16: unused metadata and YouTube timestamp output remain in code for
   backward compatibility, but are intentionally not shown in the UI. */
.play-label-group,
.comment-section,
.source-copy {
  display: none !important;
}


/* LINE share URL includes LINE's documented external-browser query parameter. */
.line-share-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:15px}
.line-share-copy{background:#194b4a;color:#eafff6;border:1px solid #79d7ba;
  border-radius:9px;padding:10px 14px;min-height:42px;font-size:12px;font-weight:850}
.line-share-copy:focus-visible{outline:2px solid #a4f7d8;outline-offset:2px}
.line-share-status{font-size:11px;color:#99e9d3;line-height:1.5}
.hero .line-share-hint{font-size:11px;line-height:1.5;margin:8px 0 0;color:#9cbfc8}


.line-share-fallback{display:block;flex-basis:100%;max-width:100%;
  border:1px solid #6c9ca3;border-radius:7px;background:#0c2b3e;
  padding:10px;color:#e9faf7;font-size:12px}


/* v18 finger-controlled framing. No slider: every edit is made on the video. */
.highlight-entry .zoom-video-viewport{
  position:relative;aspect-ratio:16/9;width:100%;max-height:390px;
  margin-inline:auto;border-radius:10px;overflow:hidden;background:#071826;
  touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;
  border:1px solid #355d70;
}
.highlight-entry .zoom-video-viewport:active{cursor:grabbing}
.highlight-entry .zoom-video-viewport:focus-visible{
  outline:2px solid #90eacb;outline-offset:2px
}
.highlight-entry .zoom-video-viewport .inline-player{
  position:absolute;inset:0;width:100%;height:100%;max-height:none;
  object-fit:fill;display:block;pointer-events:none;
  transition:none;will-change:transform;transform-origin:center center
}
.scene-pinch-toolbar{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  padding:10px 12px 12px;
}
.scene-pinch-hint{font-size:11px;color:#c3d6df;line-height:1.5;flex:1;min-width:165px}
.scene-pinch-value{font-size:14px;font-weight:850;color:#91e5cb;font-variant-numeric:tabular-nums}
.scene-pinch-reset{padding:7px 10px;min-height:36px;color:#e6fff6;background:#174957;
  border:1px solid #61a4a8;border-radius:8px;font-size:11px;font-weight:800}
.scene-pinch-reset:disabled{opacity:.42}
@media(max-width:390px){
 .scene-pinch-toolbar{padding:9px 7px 11px;gap:6px}
 .scene-pinch-hint{font-size:10px;min-width:120px}
}

/* Whisper Tiny experiment — deliberately separate from regular peak detection */
.whisper-experiment{margin:15px 0 20px;padding:14px;background:#0a2136;border:1px solid #476779;border-radius:12px}
.whisper-experiment-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}
.whisper-experiment-head strong{color:var(--mint)}
.whisper-experiment-head span{font-size:10px;color:#b6c6d3}
.whisper-experiment p{line-height:1.65;font-size:12px;color:#bfd0dc}
.whisper-experiment label{display:block;font-size:12px;margin:10px 0 6px;color:#c9dbe4}
.whisper-experiment select{width:100%;max-width:100%;border-radius:9px;padding:12px 9px;background:#102b40;color:#fff;border:1px solid #52758a;font-size:13px}
.whisper-run{width:100%;border:1px solid #6fc9b5;background:#255a60;color:#e4fff5;font-weight:750;border-radius:9px;min-height:44px;padding:10px;margin-top:10px;font-size:12px}
.whisper-run:disabled{opacity:.4}
.whisper-status{min-height:1em;overflow-wrap:anywhere}
.whisper-status-error{color:#ffbea5!important}
.whisper-output{padding:12px;background:#102d41;border-radius:8px;overflow-wrap:anywhere}
.whisper-output strong{display:block;font-size:12px;color:var(--mint)}
.whisper-output p{white-space:pre-wrap;color:#eef6fb;font-size:13px}
.whisper-output small,.whisper-disclaimer{display:block;color:#9cb5c5;font-size:11px;line-height:1.65}
.whisper-output summary{cursor:pointer;margin-top:12px;font-size:12px}
.whisper-output li{font-size:12px;line-height:1.65;margin:5px 0}


/* AI re-review beta: compact, touch-friendly preview and review controls. */
#aiRerankPanel .whisper-output{padding:10px;max-width:100%;overflow-wrap:anywhere}
#aiRerankPanel .ai-rerank-preview,
#aiRerankPanel .ai-rerank-export{
  border:1px solid #66899a;border-radius:9px;background:#20475b;
  color:#f0faff;padding:11px 12px;min-height:42px;
  width:100%;font-size:12px;font-weight:800;text-align:center;
}
#aiRerankPanel .ai-rerank-export{background:#1b675d;color:#ecfff6;border-color:#6fc9b5}
#aiRerankPanel video{width:100%;max-width:100%;border-radius:10px}
#aiRerankPanel details summary{cursor:pointer;color:#b8e9da}
#aiRerankPanel .whisper-output strong{display:initial}
#aiRerankPanel #aiRerankMetrics{font-size:12px;color:#e1f3f4}
#aiRerankPanel [aria-label$="の実際の評価"]{min-height:43px}

/* PeakStamp local video motion exploration beta */
#videoExplorePanel{border-color:#417a82;background:linear-gradient(180deg,#0d2c3c,#0b2134);}
#videoExplorePanel .whisper-experiment-head strong{color:#8feccc;font-size:14px}
#videoExplorePanel select,#videoExplorePanel input{font-size:15px;max-width:100%;width:100%;min-height:42px;
  border-radius:8px;padding:9px;border:1px solid #55778b;background:#15354b;color:#eefcff;box-sizing:border-box}
#videoExplorePanel .whisper-output{margin-top:12px;padding:10px}
#videoExplorePanel button{cursor:pointer;touch-action:manipulation}
#videoExplorePanel button:disabled{opacity:.4;cursor:default}
#videoExplorePanel .video-explore-cancel{margin-top:10px;width:100%;min-height:40px;border-radius:8px;
  background:#432b36;border:1px solid #b87780;color:#ffe5e6}
#videoExplorePanel .video-ground-truth{margin-top:16px;border-top:1px solid #416773;
  padding:14px 0 4px;max-width:100%}
#videoExplorePanel .video-ground-truth strong{font-size:13px;color:#8feccc}
#videoExplorePanel .video-ground-truth p{font-size:12px;line-height:1.6;color:#c2d7e4}
#videoExplorePanel .video-ground-truth-save{width:100%;padding:11px;margin-top:10px;
  border-radius:8px;background:#225a54;border:1px solid #69bea7;color:#e7fff3;font-weight:700}
#videoExplorePanel #videoGroundTruthList{font-size:13px;line-height:1.7;padding:5px 0}
#videoExplorePanel video{max-width:100%;border-radius:9px}
#videoExplorePanel details>summary{cursor:pointer;color:#9be6d7;font-size:13px}


/* Gemini audio-only comparison pilot */
#cloudAudioPanel{border-color:#368f84;background:linear-gradient(180deg,#0b2b38,#0b2134)}
#cloudAudioPanel .whisper-experiment-head strong{color:#8feccc;font-size:14px}
#cloudAudioPanel .cloud-audio-steps{margin-top:16px;padding-top:10px;border-top:1px solid #355f70}
#cloudAudioPanel .cloud-audio-open{display:block;box-sizing:border-box;text-align:center;text-decoration:none;line-height:24px}
#cloudAudioPanel .cloud-audio-open-alt{display:block;text-align:center;margin:12px 0;color:#a2ddec;font-size:12px;text-decoration:underline}
#cloudAudioPanel textarea{display:block;width:100%;max-width:100%;min-height:100px;box-sizing:border-box;background:#10364b;color:#f1f8fb;border:1px solid #578193;border-radius:8px;padding:10px;font-size:12px;line-height:1.5}
#cloudAudioPanel .whisper-output{margin-top:12px;padding:10px}
#cloudAudioPanel .whisper-run{cursor:pointer;touch-action:manipulation}
#cloudAudioPanel .whisper-run:disabled{opacity:.4}
#cloudAudioPanel audio{width:100%;max-width:100%}

/* Cloud audio pilot: visible prompt copy fallback on iOS Safari. */
#cloudAudioPanel .cloud-audio-prompt-area{
  margin:10px 0 14px;padding:12px;border:1px solid #79bcbd;border-radius:10px;
  background:#16384b;
}
#cloudAudioPanel .cloud-audio-prompt-area[hidden]{display:none}
#cloudAudioPanel #cloudAudioPromptText{
  min-height:180px;max-height:300px;resize:vertical;
  -webkit-user-select:text;user-select:text;
  background:#f4fafc;color:#142b3e;
  font-size:13px;line-height:1.55;
}
#cloudAudioPanel #cloudAudioSelectPrompt{
  background:#346470;border-color:#8bd0c9;margin-top:8px;
}
#cloudAudioPanel #cloudAudioCopyStatus{color:#d8f2eb;margin:9px 0}

/* Cloud audio v17 — persistent, reusable iPhone review player */
#cloudAudioPanel #cloudAudioResults{overflow:visible;position:relative}
#cloudAudioPanel .cloud-audio-player{
 position:sticky;top:8px;z-index:8;display:flex;flex-direction:column;gap:7px;
 padding:9px;margin:12px -4px;border:1px solid #78beae;border-radius:12px;
 background:#0d3042;box-shadow:0 4px 20px rgba(0,0,0,.32);
}
#cloudAudioPanel .cloud-audio-player-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
#cloudAudioPanel .cloud-audio-player-title{color:#b7fff0;font-size:13px}
#cloudAudioPanel .cloud-audio-player-status{color:#dfecf2;font-size:11px;line-height:1.4;min-width:80px;flex:1}
#cloudAudioPanel .cloud-audio-player-video{
 width:100%;max-width:100%;height:auto;max-height:min(29vh,225px);
 aspect-ratio:16/9;object-fit:contain;background:#040e15;
 border-radius:7px;display:block;
}
#cloudAudioPanel .cloud-audio-player-nav{display:grid;grid-template-columns:1.5fr .9fr 1fr .9fr 1.5fr;gap:5px}
#cloudAudioPanel .cloud-audio-player-button{
 min-width:0;min-height:42px;padding:5px 2px;border-radius:8px;
 border:1px solid #78a8ad;background:#204b60;color:#eefbfb;font-size:11px;font-weight:700;
 touch-action:manipulation;
}
#cloudAudioPanel .cloud-audio-player-button:disabled{opacity:.35}
#cloudAudioPanel .cloud-audio-player-hint{line-height:1.4;font-size:10px;color:#b9d1da}
#cloudAudioPanel .cloud-audio-event-row{padding:12px 7px!important;border-radius:8px;scroll-margin-top:345px}
#cloudAudioPanel .cloud-audio-event-row.cloud-audio-active-event{
 background:#194b58;box-shadow:inset 3px 0 #91ebc9;
}
#cloudAudioPanel .cloud-audio-event-play{
 display:block;width:100%;min-height:44px;margin:9px 0;padding:10px;
 border-radius:7px;background:#285974;color:#fff;border:1px solid #699fa9;
 text-align:center;touch-action:manipulation;
}
#cloudAudioPanel .cloud-audio-event-row select{min-height:44px}

/* Gemini-first PeakStamp v18 */
.gemini-primary-panel{
 border:1px solid #4dbfae;
 background:linear-gradient(180deg,#0e3041 0%,#0b2439 100%);
 box-shadow:0 3px 21px rgba(16,134,117,.10);
}
.gemini-primary-panel .panel-label h2{color:#b9ffe8}
.gemini-primary-panel p{font-size:13px;line-height:1.65;color:#d0e6e8}
.gemini-primary-panel label:not(.gemini-consent){display:block;font-size:12px;color:#d0e7e8;margin:12px 0 7px}
.gemini-primary-panel select,.gemini-primary-panel input[type=password]{
 display:block;width:100%;max-width:100%;box-sizing:border-box;padding:12px 10px;
 min-height:46px;border-radius:9px;border:1px solid #699a9f;
 background:#173c50;color:#f6fdfd;font-size:16px;
}
.gemini-primary-panel .gemini-consent{
 display:flex;align-items:flex-start;gap:10px;padding:12px 10px;
 border:1px solid #4e7e86;border-radius:9px;background:#143346;
 font-size:12px;line-height:1.5;color:#d8f3f0;margin:13px 0;
}
.gemini-primary-panel .gemini-consent input{width:20px;height:20px;flex-shrink:0;margin:0}
.gemini-primary-panel .gemini-main-run{width:100%;min-height:51px;margin:4px 0}
.gemini-primary-panel .gemini-main-run:disabled{opacity:.48}
.gemini-primary-panel #geminiMainForce{background:#254b5a;border-color:#6b9fab}
.gemini-primary-panel #geminiMainForce[hidden],
.gemini-primary-panel #geminiMainCancel[hidden]{display:none}
.gemini-primary-panel .gemini-main-status{
 padding:8px 0;min-height:1.3em;overflow-wrap:anywhere;
 color:#a9efdf;font-size:12px;font-weight:650;
}
.legacy-audio-details,.legacy-gemini-details{
 margin:12px 0;border:1px solid #37586c;border-radius:10px;padding:12px;
 background:#0b2131;
}
.legacy-audio-details>summary,.legacy-gemini-details>summary{
 color:#9fc9cf;font-size:13px;cursor:pointer;line-height:1.5;
}
.legacy-audio-details .settings-panel{margin:12px 0 0}
.legacy-gemini-details #cloudAudioPanel{margin:12px 0 0}
#whisperExperiment,#aiRerankPanel,#videoExplorePanel{display:none}


/* v28: focused first-use interface and honest Gemini progress */
.header-help{
  flex:none;border:1px solid #426778;background:#17364a;color:#d9f6f1;
  border-radius:999px;padding:8px 11px;min-height:36px;font-size:11px;font-weight:750
}
.header-help span{display:inline-grid;place-items:center;margin-left:3px;width:15px;height:15px;
  border:1px solid #7faeb6;border-radius:50%;font-size:10px}
.hero{padding:25px 5px 16px}
.hero h1{font-size:clamp(30px,6.7vw,43px);margin:10px 0}
.hero p{line-height:1.6;font-size:13px}
.compact-details{margin-top:10px;padding:0;border:0;background:transparent}
.compact-details>summary{width:fit-content;color:#91b9c9;font-size:11px;
  line-height:1.6;cursor:pointer;padding:5px 0;touch-action:manipulation}
.compact-details[open]>summary{color:#b7e7dc}
.share-details .line-share-row{margin-top:7px}
.journey-nav{display:flex;align-items:center;justify-content:center;gap:7px;
  margin:0 0 15px;border:1px solid #2e4c60;border-radius:12px;
  background:#0e2539;padding:7px}
.journey-nav>span{color:#618395;flex:none;font-size:17px}
.journey-nav button{border:0;background:transparent;border-radius:8px;
  color:#8daabd;padding:9px 8px;font-size:12px;font-weight:850;flex:1;
  min-height:36px;white-space:nowrap}
.journey-nav button.current{background:#23574f;color:#d8fff0}
.journey-nav button.finished{color:#9ddcc9}
.journey-nav button span{margin-left:3px}
.gemini-primary-panel .gemini-brief{color:#b7dfda;font-size:12px;line-height:1.5;margin:0 0 8px}
.gemini-primary-panel .gemini-diagnostics>summary{font-size:11px!important;margin:3px 0}
.gemini-primary-panel .gemini-diagnostics .whisper-run{margin-top:7px}
.gemini-primary-panel .gemini-diagnostics .fine-print{margin:3px 0 6px;font-size:11px}
.gemini-progress{
  margin:13px 0 8px;padding:14px;background:#0a1f30;
  border:1px solid #3c7c70;border-radius:12px
}
.gemini-progress-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.gemini-progress-top strong{font-size:12px;color:#d9fff4;line-height:1.5}
.gemini-progress-top output{font-weight:950;font-size:23px;color:#83efd0;font-variant-numeric:tabular-nums}
.gemini-progress-track{height:11px;background:#29445a;border-radius:20px;overflow:hidden;margin:11px 0 7px}
#geminiProgressBar{height:100%;width:0;background:linear-gradient(90deg,#36bea7,#9bf7d6);
  border-radius:20px;transition:width .28s ease}
#geminiProgressDetail{display:block;font-size:11px;color:#9dbbc2;line-height:1.5}
.gemini-progress.progress-error{border-color:#986855}
.gemini-progress.progress-error #geminiProgressBar{background:#d0aa74}
.pinch-overlay-tip{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  background:#09263de3;border:1px solid #b0e8d3;color:#f4fff9;
  border-radius:999px;padding:7px 12px;font-size:12px;font-weight:850;
  white-space:nowrap;pointer-events:none;z-index:2;
  box-shadow:0 3px 12px #0009
}
.scene-pinch-toolbar{gap:7px;padding:10px 2px 6px}
.scene-pinch-hint{flex-basis:100%;min-width:0!important;font-size:11px!important;color:#a9cfcf}
.scene-zoom-action{width:47px;height:43px;border-radius:11px;border:1px solid #4f998c;
  background:#173f48;color:#b9ffe4;font-size:24px;font-weight:800;touch-action:manipulation}
.scene-zoom-action:disabled{opacity:.35}
.scene-pinch-value{min-width:47px;text-align:center;font-size:17px}
.scene-pinch-reset{height:42px;min-width:56px}
.first-run-overlay{position:fixed;inset:0;z-index:1000;
  background:rgba(3,14,24,.82);backdrop-filter:blur(8px);
  display:grid;place-items:center;padding:16px}
.first-run-card{width:min(100%,420px);padding:24px 22px 19px;
  background:linear-gradient(155deg,#1d4051,#102439 85%);
  border:1px solid #60998f;border-radius:21px;box-shadow:0 24px 60px #0009}
.first-run-top{display:flex;justify-content:space-between;align-items:center;
  color:#b6e3dd;letter-spacing:.08em;font-size:11px;font-weight:800}
.first-run-art{display:flex;align-items:center;justify-content:center;
  gap:9px;margin:21px 0 18px}
.first-run-art span{display:grid;place-items:center;width:65px;height:65px;border-radius:15px;
  background:#204659;border:1px solid #54837a;font-size:30px;color:#adf1d8}
.first-run-art span:nth-child(2){color:#ffc081}
.first-run-card h2{font-size:23px;line-height:1.35;margin:0 0 11px}
.first-run-card p{font-size:14px;line-height:1.75;color:#c1d7e2;min-height:65px;margin:0 0 17px}
.first-run-dots{display:flex;justify-content:center;gap:9px;margin:10px 0 20px}
.first-run-dots button{width:32px;height:32px;border-radius:50%;border:1px solid #526f80;
  background:#193448;color:#a4b9c6;font-size:12px;font-weight:800}
.first-run-dots button.active{background:#66d8b9;color:#0a2837;border-color:#66d8b9}
.first-run-next{justify-content:center}
.first-run-skip{display:block;margin:13px auto 0;border:0;background:none;color:#b0c4cf;
  font-size:12px;min-height:33px;padding:5px 17px}
@media(max-width:390px){
 .local-pill{font-size:9px;padding:6px;border:0}
 .header-help{padding:7px 9px;font-size:10px}
 .journey-nav{gap:3px;padding:5px}
 .journey-nav button{font-size:11px;padding:7px 3px}
 .journey-nav button span{margin-left:1px}
 .first-run-card{padding:21px 18px 16px}
 .scene-zoom-action{width:44px;height:42px}
}
@media(prefers-reduced-motion:reduce){#geminiProgressBar{transition:none}}

/* Moving glint means the app is still waiting, not that a chunk is complete. */
.gemini-progress-track{position:relative}
.gemini-progress.is-running .gemini-progress-track::after{
 content:'';position:absolute;top:0;bottom:0;left:0;width:20%;
 border-radius:999px;background:linear-gradient(90deg,transparent,#cbfff5aa,transparent);
 animation:gemini-progress-activity 1.8s linear infinite;pointer-events:none
}
@keyframes gemini-progress-activity{0%{left:-20%}100%{left:100%}}
@media(prefers-reduced-motion:reduce){
 .gemini-progress.is-running .gemini-progress-track::after{animation:none;display:none}
}

@media(max-width:480px){
 .topbar .local-pill{display:none}
 .topbar .header-help{margin-left:auto}
}


/* v29: compact play/pause and audio volume beside the trim preview */
.scene-playback-controls{
  display:flex;align-items:center;flex-wrap:wrap;gap:9px;
  padding:11px 2px 2px;max-width:100%
}
.scene-pause-button{
  min-height:44px;min-width:111px;padding:10px 13px;
  border:1px solid #69c7aa;border-radius:10px;
  background:#286759;color:#f1fff9;font-size:13px;font-weight:850;
  touch-action:manipulation
}
.scene-mute-button{
  min-height:44px;min-width:44px;padding:7px;border-radius:10px;
  background:#193e51;color:#fff;border:1px solid #5b8799;
  font-size:19px;touch-action:manipulation
}
.scene-volume-label{display:flex;align-items:center;gap:7px;flex:1;
  color:#c9e2e6;font-size:11px;min-width:132px}
.scene-volume-slider{flex:1;min-width:64px;max-width:260px;
  min-height:38px;accent-color:#7de3c8;touch-action:pan-y}
.scene-volume-value{font-size:12px;color:#a7f6dd;
  font-weight:800;min-width:35px;text-align:right;font-variant-numeric:tabular-nums}
.scene-volume-note{font-size:10px;line-height:1.5;color:#9db9c3;
  margin:0 0 3px;padding:0 2px}
@media(max-width:390px){
  .scene-playback-controls{gap:6px}
  .scene-pause-button{min-width:100px;padding:8px;font-size:12px}
  .scene-volume-label{min-width:115px;gap:5px}
  .scene-mute-button{min-width:42px}
}


/* v30: stay-foreground warning shown before and during Gemini work */
.gemini-stay-notice{
 display:flex;align-items:flex-start;gap:10px;margin:12px 0 14px;
 padding:11px 12px;border:1px solid #796c4c;border-radius:10px;
 background:#322f27;color:#f7e8cd;
}
.gemini-stay-icon{
 display:grid;place-items:center;flex:none;width:22px;height:22px;
 border-radius:50%;border:1px solid #e6c285;color:#ffe0a3;
 font-weight:950;font-size:13px;
}
.gemini-stay-notice strong{
 display:block;font-size:12px;font-weight:850;line-height:1.5;
 color:#ffedc9;
}
.gemini-primary-panel .gemini-stay-notice p{
 margin:4px 0 0;font-size:11px;line-height:1.65;color:#e0cfaf;
}
.gemini-stay-notice.is-processing{
 background:#473621;border-color:#e1a960;
 box-shadow:inset 3px 0 #ecc380;
}
.gemini-primary-panel[hidden]{display:none!important}

/* Keep the same editing data and viewport gestures while allowing much
   more of a mobile display to be used by the original video and trim bar.
   Large/tablet layouts retain their existing constrained presentation. */
@media(max-width:640px){
 .hero{padding:15px 5px 11px}
 .hero h1{font-size:clamp(29px,6.5vw,40px);margin:6px 0 7px}
 .hero p{font-size:12px}
 .results-panel{padding:12px 8px 14px}
 .results-panel .highlight-list{gap:12px}
 .highlight-entry.preview-active{overflow:visible;position:relative;z-index:2}
 .highlight-entry.preview-active .inline-preview,
 .highlight-entry.preview-active .range-editor{
   position:relative;
   left:50%;
   transform:translateX(-50%);
   width:calc(100vw - 12px);
   max-width:calc(100vw - 12px);
   box-sizing:border-box;
 }
 .highlight-entry.preview-active .inline-preview{
   padding:0 0 8px;
   margin:0 0 5px;
   background:#0c2335;
 }
 .highlight-entry.preview-active .zoom-video-viewport{
   width:100%!important;max-height:none;
   border-radius:7px;
   border:1px solid #3d6676;
 }
 .highlight-entry.preview-active .inline-caption,
 .highlight-entry.preview-active .scene-playback-controls,
 .highlight-entry.preview-active .scene-volume-note,
 .highlight-entry.preview-active .scene-pinch-toolbar{
   margin-inline:9px;
 }
 .highlight-entry.preview-active .range-editor{
   margin:0 0 11px;
   padding:12px 10px;
   border-radius:10px;
 }
 /* Original media preview is also full width when opened. */
 #videoWrapper #preview,
 #montagePanel #montagePreview{
   position:relative;left:50%;transform:translateX(-50%);
   width:calc(100vw - 12px);max-width:calc(100vw - 12px);
   max-height:75dvh;object-fit:contain;
 }
}

/* Progressive disclosure: show only the upload task before a file exists. */
.has-media .hero{display:none}
.legacy-audio-details{display:none}
.has-media .legacy-audio-details{display:block}
@media(max-width:640px){
 .page>.panel>.panel-label>.number{display:none}
 .source-board .fine-print{display:none}
}


/* v33: multi-file Gemini analysis — a second action only for multi-file selection */
.gemini-primary-panel .gemini-batch-run{
 display:block;width:100%;min-height:49px;margin:9px 0 7px;
 border:1px solid #89d6c9;border-radius:10px;
 background:#77dfc4;color:#092d35;font-size:14px;font-weight:900;
}
.gemini-primary-panel .gemini-batch-run:disabled{opacity:.45}
.gemini-primary-panel .gemini-batch-run[hidden],
.gemini-primary-panel .gemini-batch-progress[hidden]{display:none!important}
.gemini-batch-progress{
 margin:12px 0 10px;padding:11px 12px;
 border:1px solid #527f85;background:#0d2936;border-radius:10px
}
.gemini-batch-head{display:flex;align-items:center;justify-content:space-between;gap:9px}
.gemini-batch-head strong{font-size:12px;color:#ddfff6;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.gemini-batch-head output{flex:none;color:#89ead0;font-weight:900;font-size:18px;font-variant-numeric:tabular-nums}
.gemini-batch-track{height:7px;margin:9px 0 6px;border-radius:20px;background:#29485b;overflow:hidden}
#geminiBatchBar{height:100%;width:0;background:#75d9c0;border-radius:20px;transition:width .2s ease}
#geminiBatchDetail{display:block;color:#a7cbd0;font-size:11px;line-height:1.5}
.gemini-batch-progress.has-failures{border-color:#a77b58}
@media(prefers-reduced-motion:reduce){#geminiBatchBar{transition:none}}

.gemini-primary-panel .gemini-main-run.is-secondary{
 min-height:42px;margin:4px 0 0;
 border:1px solid #3f7180;background:transparent;
 color:#abd4d8;font-size:12px;font-weight:700;
}


/* v34: transparent, measurement-based time remaining estimates */
.gemini-time-remaining{
 font-size:12px!important;font-weight:750;line-height:1.55;
 color:#b7f0db!important;margin:8px 0 0!important;
 font-variant-numeric:tabular-nums;
}
.gemini-batch-progress .gemini-time-remaining{
 color:#acf3d5!important;padding-top:8px;
 border-top:1px solid #335965;
}
.gemini-progress .gemini-time-remaining{
 color:#a5e6d2!important;
}


/* Commentary transcript pilot: separate from main Gemini highlight detection */
.gemini-callout-panel{margin-top:12px}
.gemini-callout-panel>summary{font-size:14px;font-weight:800;cursor:pointer;padding:4px 0;line-height:1.5}
.gemini-callout-panel>p{margin-top:10px}
.gemini-callout-panel .callout-input-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:14px 0 8px}
.callout-input-row label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;min-width:0}
.callout-input-row select,.callout-rating{
 max-width:100%;width:100%;min-height:40px;padding:8px;
 background:#163444;color:#e8f8ff;border:1px solid #527181;border-radius:8px;
 font-size:13px
}
#calloutRun{width:100%;margin:8px 0}
#calloutRerun,#calloutStop,#calloutExport{margin:6px 0}
#calloutResultArea{margin-top:15px}
#calloutPreview{width:100%;max-height:270px;margin:10px 0;border-radius:9px;background:#071520}
.callout-list{display:grid;gap:10px;margin:12px 0 15px}
.callout-utterance{border:1px solid #4b6a76;background:#102a37;padding:12px;border-radius:10px}
.callout-utterance-head{display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.callout-utterance-head strong{color:#e6fff3;font-size:13px}
.callout-play{color:#b2e8d9;border:1px solid #638b89;border-radius:8px;background:#173e47;min-height:35px;padding:6px 10px;font-size:12px}
.callout-quote{color:#f0f6fa;font-size:14px;line-height:1.55;margin:9px 0 5px;overflow-wrap:anywhere}
.callout-fields{color:#afd3ce;display:block;font-size:12px;line-height:1.6}
.callout-check{margin-top:10px}
.callout-check label{display:flex;align-items:center;gap:12px;font-size:12px;color:#c3d9dd}
.callout-check select{width:auto;min-width:120px}
#calloutMissed{display:block;width:100%;margin:8px 0 10px;min-height:76px;resize:vertical}
@media(max-width:520px){.gemini-callout-panel .callout-input-row{grid-template-columns:1fr}}


/* v37: accessible iOS file-share / plain-text fallback for callout JSON */
.callout-export-options{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:12px 0}
.callout-export-options button{width:100%;min-height:44px;margin:0!important;line-height:1.4;white-space:normal}
.callout-json-area{margin:12px 0;border:1px solid #55747b;border-radius:10px;background:#0d2733;padding:12px}
.callout-json-area label{display:block;font-size:12px;font-weight:700;color:#d1e8e8;margin-bottom:8px}
.callout-json-area textarea{
 width:100%;min-height:175px;max-height:360px;resize:vertical;box-sizing:border-box;
 border-radius:7px;border:1px solid #6c8b95;background:#071b25;color:#f3f8ff;
 font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;
 line-height:1.5;padding:9px;overflow:auto;-webkit-user-select:text;user-select:text
}


/* v38: PS goal/assist verification stays separate from highlight decisions */
.goal-stats-panel{margin-top:14px}
.goal-stats-panel>label{display:block;font-size:13px;font-weight:800;margin:12px 0 7px}
#goalStatsSource{width:100%;min-height:45px;padding:9px;background:#183b49;color:#eaf8ff;
 border:1px solid #4d7280;border-radius:9px;font-size:14px}
.goal-review-summary{font-size:13px;font-weight:750;color:#b1f0d6;margin:12px 0}
#goalStatsPreview{display:block;width:100%;max-height:340px;margin:12px 0;
 background:#061923;border-radius:11px}
#goalStatsPreview[hidden]{display:none}
.goal-review-list{display:grid;gap:13px;margin:12px 0}
.goal-review-meta{color:#acc8d0;line-height:1.6;font-size:12px;overflow-wrap:anywhere}
.goal-review-card{border:1px solid #486c76;background:#0d2a36;border-radius:12px;
 padding:13px;display:flex;flex-direction:column;gap:12px}
.goal-review-head{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.goal-review-head strong{font-size:14px}
.goal-review-status{border-radius:99px;background:#41515a;padding:5px 9px;font-size:11px;font-weight:800;color:#fff}
.goal-review-status.confirmed{background:#1d6450;color:#d9ffec}
.goal-review-status.excluded{background:#594545;color:#fde0e0}
.goal-review-quote{font-size:14px;color:#e0f2f4;overflow-wrap:anywhere}
.goal-review-play{background:#143f4a;border:1px solid #587d85;border-radius:8px;
 padding:9px;color:#d1f5f8;font-size:13px;min-height:42px;width:100%}
.goal-review-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.goal-review-field{display:flex;flex-direction:column;gap:6px;min-width:0;
 font-size:12px;color:#bed7dc;font-weight:750}
.goal-review-field input,.goal-review-field select{
 width:100%;min-width:0;box-sizing:border-box;border:1px solid #567983;
 border-radius:8px;min-height:42px;background:#123743;color:#f1fbff;
 padding:8px;font-size:14px
}
.goal-review-actions{display:flex;flex-wrap:wrap;gap:8px}
.goal-review-actions button{flex:1;min-width:145px;padding:10px;border-radius:8px;min-height:43px}
.goal-review-confirm{background:#23644c;color:#fff;border:1px solid #60a58a;font-weight:800}
.goal-review-confirm:disabled{opacity:.5}
.goal-review-exclude{background:#273e4a;color:#d7e2e7;border:1px solid #64828e}
.scene-goal-note{display:block;width:100%;margin-top:10px;text-align:left;
 min-height:39px;border-radius:8px;background:#153f3f;color:#dbfff3;
 border:1px solid #5b9687;font-size:12px;padding:9px;font-weight:700}
.goal-review-export{border-top:1px solid #456572;margin-top:16px;padding-top:15px;
 display:flex;flex-direction:column;gap:10px}
.goal-review-export>button{width:100%;margin:0;min-height:43px}
#goalStatsAdd{width:100%;margin-top:8px}
#goalStatsJsonArea{padding:10px;background:#09232f;border:1px solid #517681;border-radius:8px}
#goalStatsJsonArea label{display:block;font-size:12px;margin-bottom:9px;color:#d0edf4}
#goalStatsJson{display:block;width:100%;box-sizing:border-box;min-height:160px;
 font:12px/1.5 ui-monospace,SFMono-Regular,monospace;
 color:#f0fcff;background:#071621;border:1px solid #4b6773;
 -webkit-user-select:text;user-select:text}
@media(max-width:560px){.goal-review-fields{grid-template-columns:1fr}}

.goal-review-open{display:block;width:100%;margin:10px 0 15px;min-height:43px;font-weight:800;text-align:center}


/* v39: priority goal scene review embedded in existing review section */
.results-panel>.goal-stats-panel{margin:12px 0 18px;padding:16px;border:1px solid #548f81;
 background:#0d3038;border-radius:14px}
.results-panel>.goal-stats-panel[hidden]{display:none}
.goal-review-time-adjust{display:flex;align-items:center;flex-wrap:wrap;gap:8px;
 padding:12px;border:1px solid #537780;border-radius:9px;background:#102f3d}
.goal-review-time-adjust>strong{flex:1 0 100%;font-size:13px}
.goal-review-time-adjust>small{flex:1 0 100%;color:#abcfd1;font-size:12px}
.goal-review-time-input{max-width:100px;width:100px;min-height:44px;
 background:#10242f;color:#f1fff9;border:1px solid #6e9998;border-radius:8px;
 text-align:center;font-size:15px;font-variant-numeric:tabular-nums;padding:6px}
.goal-review-adjust-button{min-width:68px;min-height:42px;border:1px solid #658f8c;
 border-radius:8px;color:#e4faf7;background:#1b4a52;font-weight:750}
.goal-review-timing{font-size:12px;color:#d3fae4;background:#18433f;
 padding:9px 11px;border-radius:8px;line-height:1.6}
.goal-review-controls{display:flex;flex-wrap:wrap;gap:8px}
.goal-review-controls>button{flex:1 1 200px}
.goal-review-keep-clip{background:#1d5c49;color:white;border:1px solid #6fb99a;
 padding:9px;border-radius:8px;font-size:13px;font-weight:800;min-height:42px}
.goal-review-keep-clip:disabled{opacity:.5}

.goal-review-mark-button{flex:1 0 100%;min-height:44px;background:#254f5a;
 border:1px solid #77a7ad;color:#effffb;border-radius:8px;font-size:13px;font-weight:800}


/* v40: one-column all-video queue, focused editor, one persistent media player */
.results-panel>.goal-stats-panel{padding:14px;margin:10px 0 20px;border:1px solid #427d76;
 background:#0c2731;border-radius:14px}
.goal-stats-panel .panel-label{margin-bottom:8px}
.goal-stats-panel .panel-label h2{font-size:17px;line-height:1.35}
.goal-stats-panel>.fine-print{font-size:12px;line-height:1.55;margin:6px 0 12px}
.goal-review-summary{margin:10px 0;padding:10px 12px;border-radius:8px;
 color:#e2fbf1;background:#153e41;font-size:13px;line-height:1.5}
.goal-review-viewer{margin:12px 0 14px}
.goal-review-viewer[hidden],#goalStatsPreview[hidden],#standardReviewArea[hidden],
#goalStatsManualWrap[hidden]{display:none!important}
.goal-review-viewer>strong{display:block;color:#e8faf5;font-size:13px;
 margin:0 0 8px;overflow-wrap:anywhere}
#goalStatsPreview{display:block;width:100%;height:auto;max-height:min(48vh,360px);
 margin:0;border:1px solid #315d63;border-radius:10px;background:#07141e}
#goalStatsVideoStatus:empty{display:none}
.goal-review-editor{margin:10px 0 18px;border:1px solid #4f8287;
 border-radius:12px;background:#103341;padding:13px}
.goal-review-editor:empty{display:none}
.goal-editor-title{display:flex;flex-direction:column;gap:5px;margin-bottom:8px}
.goal-editor-title>strong{font-size:15px;color:#f2fff9}
.goal-editor-title>small{color:#b6d9d9;font-size:11px;line-height:1.6}
.goal-review-quote{font-size:12px;color:#d7e9ec;line-height:1.55;margin:4px 0 10px}
.goal-review-editor .goal-review-play{width:100%;min-height:44px;margin-bottom:9px}
.goal-review-editor .goal-review-time-adjust{padding:10px;margin:0 0 11px;
 display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.goal-review-time-adjust>strong{flex:1 0 100%}
.goal-review-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.goal-review-field{min-width:0}
.goal-review-field input,.goal-review-field select{min-width:0;box-sizing:border-box}
.goal-optional-fields{border-top:1px solid #41636a;margin-top:12px;padding-top:10px}
.goal-optional-fields>summary{cursor:pointer;color:#b2d3d5;font-size:12px;font-weight:650}
.goal-optional-fields>.goal-review-fields{margin-top:12px}
.goal-review-editor .goal-review-actions{margin-top:13px;display:grid;
 grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px}
.goal-review-editor .goal-review-actions button{min-width:0;min-height:44px;
 border-radius:8px;padding:10px 8px;line-height:1.4;font-size:13px}
.goal-review-editor .goal-review-confirm{font-size:14px}
.goal-review-editor .goal-review-keep-clip{grid-column:1/-1}
.goal-review-done{color:#c0edda;font-size:13px;text-align:center;padding:10px}
.goal-review-queue-head{display:flex;justify-content:space-between;align-items:baseline;
 flex-wrap:wrap;gap:5px;padding:7px 0 9px;border-bottom:1px solid #395b67}
.goal-review-queue-head strong{font-size:14px}
.goal-review-queue-head small{font-size:11px;color:#b0cbd0}
.goal-review-list{display:flex;flex-direction:column;gap:7px;margin:9px 0}
.goal-queue-row{display:grid;grid-template-columns:1fr auto;align-items:center;
 width:100%;border:1px solid #41636d;border-radius:9px;background:#15313e;
 padding:11px 12px;text-align:left;min-height:72px;gap:5px 8px;color:#edf9f7}
.goal-queue-row.is-active{border-color:#6bc9a6;background:#1b4446;box-shadow:inset 3px 0 0 #61c79d}
.goal-queue-primary{font-size:12px;font-weight:800;grid-column:1/2;overflow-wrap:anywhere}
.goal-queue-secondary{font-size:11px;color:#c3d9dd;grid-column:1/2;overflow-wrap:anywhere}
.goal-queue-badge{grid-column:2/3;grid-row:1/3;white-space:nowrap;
 border-radius:99px;padding:5px 8px;background:#505d64;font-size:10px;font-weight:750}
.goal-queue-badge.confirmed{background:#1b5f48;color:#ceffe4}
.goal-queue-badge.excluded{background:#5b4850;color:#f5dde0}
.goal-queue-badge.draft{background:#375765;color:#e1f5ff}
.goal-review-manual-add{margin:11px 0}
.goal-review-manual-add label{font-size:12px;display:block;color:#c8dfe2;margin:9px 0 5px}
#goalStatsManualSource{width:100%;box-sizing:border-box;min-height:42px;
 background:#133746;color:#e4f4f7;border:1px solid #567b84;border-radius:8px;padding:8px}
#goalStatsAdd{width:100%;min-height:43px;margin-top:7px}
.goal-review-export{display:block!important;margin:13px 0;padding:11px 0 0;
 border-top:1px solid #466971}
.goal-review-export>summary{cursor:pointer;font-weight:750;color:#c4e6e7;font-size:13px;
 padding:7px 0}
.goal-review-export>button{width:100%;min-height:42px;margin:8px 0 0}
.goal-review-export>p{margin-top:10px}
.extra-analysis-tools{margin:20px 0 8px;border:1px solid #365c69;
 border-radius:10px;padding:12px}
.extra-analysis-tools>summary{cursor:pointer;font-size:13px;color:#c1d9df;font-weight:700}
.extra-analysis-tools>section{margin-top:12px}
@media(max-width:480px){
 .results-panel>.goal-stats-panel{padding:10px}
 .goal-review-editor{padding:11px}
 .goal-review-fields{grid-template-columns:1fr 1fr}
 .goal-queue-row{padding:10px}
}


/* v42: media recovery controls and copyable Safari diagnostics */
.goal-video-recovery{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 10px}
.goal-video-recovery button{min-height:43px;padding:10px 6px;margin:0!important;
 font-size:12px;line-height:1.45;white-space:normal}
.goal-video-debug{border:1px solid #476771;border-radius:9px;padding:9px 11px;margin:8px 0 12px}
.goal-video-debug>summary{font-size:12px;font-weight:650;cursor:pointer;color:#c2e0e3}
.goal-video-debug button{min-height:42px;width:100%;margin-top:9px}
#goalStatsDebugOutput{width:100%;display:block;box-sizing:border-box;margin:9px 0 0;
 min-height:120px;max-height:280px;resize:vertical;border:1px solid #4d6e78;
 border-radius:8px;padding:8px;font-size:11px;line-height:1.5;
 background:#081f29;color:#e9f9ff;-webkit-user-select:text;user-select:text}
@media(max-width:440px){.goal-video-recovery{grid-template-columns:1fr 1fr}}

/* Keep the iPhone video visible while reviewing the scorer and assist fields.
 * WebKit may suspend playback if the media element leaves the viewport. */
.goal-review-viewer:not([hidden]){position:sticky;top:4px;z-index:8;
 background:#0c2731;padding:6px 0 8px;border-radius:10px;
 box-shadow:0 7px 16px rgba(0,0,0,.22)}
.goal-review-viewer:not([hidden]) #goalStatsPreview{max-height:min(30vh,240px)}
@media(min-width:700px){.goal-review-viewer:not([hidden]) #goalStatsPreview{max-height:380px}}

/* v49: compact iPhone scene review. No second scrub bar or extra zoom buttons. */
.scene-pinch-toolbar{
 display:flex;flex-wrap:nowrap;align-items:center;gap:8px;
 margin:4px 0;padding:8px 10px;
 border:1px solid #4cae9a;border-radius:9px;
 background:#123a42;
}
.scene-pinch-hint{
 flex:1;flex-basis:auto;min-width:0!important;
 color:#ccfff0!important;font-size:12px!important;font-weight:850;line-height:1.3;
}
.scene-pinch-value{
 flex:none;min-width:40px;text-align:right;
 font-size:13px;font-variant-numeric:tabular-nums;
}
@media (max-width:640px){
 /* Video → shared trim/playhead → actions, all kept inside the same card. */
 .highlight-entry.preview-active{display:flex;flex-direction:column;}
 .highlight-entry.preview-active .inline-preview{
   order:1;margin:0;padding:0 0 2px;
 }
 .highlight-entry.preview-active .range-editor{
   order:2;margin:0!important;padding:6px 8px 6px;
 }
 .highlight-entry.preview-active .highlight-item{
   order:3;margin:0;padding:3px 8px 7px;gap:4px;
   border:0;
 }
 .highlight-entry.preview-active .zoom-video-viewport{
   border-radius:6px;margin:0 auto;
 }
 .highlight-entry.preview-active .scene-pinch-toolbar{
   margin:4px 7px 2px;
   padding:7px 9px;
 }
 .highlight-entry.preview-active .scene-pinch-hint{
   flex-basis:auto;min-width:0!important;
   font-size:clamp(11px,3.1vw,12px)!important;
 }
 .highlight-entry.preview-active .scene-playback-controls{
   margin:2px 7px 1px;
   padding:1px 0;
   gap:5px;flex-wrap:nowrap;
 }
 .highlight-entry.preview-active .scene-pause-button{
   min-height:40px;min-width:92px;padding:6px 8px;font-size:12px;
 }
 .highlight-entry.preview-active .scene-mute-button{
   min-height:40px;min-width:40px;padding:4px;font-size:17px;
 }
 .highlight-entry.preview-active .scene-volume-label{
   min-width:0;gap:4px;font-size:10px;
 }
 .highlight-entry.preview-active .scene-volume-slider{min-width:45px;min-height:36px;}
 .highlight-entry.preview-active .scene-volume-value{min-width:29px;font-size:11px;}
 .highlight-entry.preview-active .range-heading{margin-bottom:3px;}
 .highlight-entry.preview-active .range-title{margin:0;font-size:12px;}
 .highlight-entry.preview-active .range-current{font-size:11px;}
 .highlight-entry.preview-active .range-legend{margin-bottom:1px;gap:3px;}
 .highlight-entry.preview-active .range-track.interactive-range{
   height:42px;margin:3px 12px 4px;
 }
 .highlight-entry.preview-active .range-track .range-handle{
   top:5px;height:30px;
 }
 .highlight-entry.preview-active .range-track .range-playhead{
   top:-7px;height:54px;
 }
 .highlight-entry.preview-active .range-hint{
   margin:0 2px 4px;
   min-height:0;
   font-size:10px;line-height:1.35;
 }
 .highlight-entry.preview-active .range-inputs{gap:8px;}
 .highlight-entry.preview-active .range-field{gap:2px;}
 .highlight-entry.preview-active .range-field label{font-size:10px;}
 .highlight-entry.preview-active .range-field input{
   min-height:38px;padding:5px 8px;
   font-size:16px; /* iOS: avoid Safari zoom on editing time */
 }
 .highlight-entry.preview-active .time-row{gap:5px;flex-wrap:nowrap;}
 .highlight-entry.preview-active .time-row .selection-label,
 .highlight-entry.preview-active .time-row .scene-number{font-size:11px;}
 .highlight-entry.preview-active .item-fields{min-width:0;}
 .highlight-entry.preview-active .score{font-size:10px;}
 .highlight-entry.preview-active .review-decision-actions{
   gap:5px;padding:0;
 }
 .highlight-entry.preview-active .review-decision-actions button{
   min-height:44px;padding:6px 3px;font-size:13px;
 }
 .highlight-entry.preview-active .review-decision-actions .play-btn{
   min-height:44px;font-size:13px;
 }

}

/* Hidden audio volume control must remain hidden despite display:flex. */
.scene-volume-label[hidden]{display:none!important}

/* v50: bottom-only undo toast. No permanent export toolbar. */
.review-undo-toast{
 z-index:850;
 padding:7px 10px;
 min-height:50px;
 width:min(calc(100vw - 20px),520px);
 border-radius:11px;
 box-sizing:border-box;
}
.review-undo-toast button{
 min-height:36px;
 padding:7px 12px;
}
@media(max-width:640px){
 .review-undo-toast{font-size:11px;gap:7px;}
}
/* Room below the page only while the temporary Undo is visible. */
body:has(#undoReview:not([hidden])) .page{
 padding-bottom:calc(65px + env(safe-area-inset-bottom,0px));
}

/* v51: visible title lettering is bright white; intro video uses
   the same white color/outlined canvas renderer as exported MP4. */
.montage-title-preview strong,
.montage-title-input,
.intro-preview-header strong{color:#fff}
.montage-title-preview strong{text-shadow:0 2px 4px #061525,0 0 10px #061525}

/* v53: goal candidates use the SAME replay, pinch crop and shared trim timeline
   as regular highlight clips. One mounted video and no native control overlay. */
.goal-review-viewer:not([hidden]){
 position:relative;top:auto;z-index:1;
 margin:10px 0 0;padding:7px;
 border:1px solid #4f8287;border-bottom:0;border-radius:11px 11px 0 0;
 background:#103341;box-shadow:none;
}
.goal-review-viewer:not([hidden]) #goalStatsPreview{
 position:absolute;inset:0;display:block;width:100%;height:100%;
 max-height:none;object-fit:fill;margin:0;border:0;border-radius:0;
 pointer-events:none;transition:none;will-change:transform;transform-origin:center center;
}
.goal-scene-viewport{
 position:relative;aspect-ratio:16/9;width:100%;max-height:min(44dvh,390px);
 border-radius:9px;overflow:hidden;background:#071826;
 touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;
 border:1px solid #42697d;
}
.goal-scene-viewport:active{cursor:grabbing}
.goal-scene-viewport:focus-visible{outline:2px solid #8ee4ca;outline-offset:2px}
.goal-scene-viewport .pinch-overlay-tip{pointer-events:none}
.goal-review-viewer .scene-pinch-toolbar{
 margin:4px 0 2px;padding:7px 9px;background:#123a42;
 border:1px solid #4cae9a;border-radius:9px;
}
.goal-review-viewer .scene-pinch-hint{
 flex:1;flex-basis:auto;min-width:0!important;color:#ccfff0!important;
 font-size:12px!important;font-weight:850;line-height:1.3;
}
.goal-review-viewer .scene-pinch-value{font-size:13px;min-width:34px}
.goal-scene-playback{display:grid;grid-template-columns:1.5fr 1fr 42px;gap:6px;padding:3px 0}
.goal-scene-playback button{width:100%;max-width:none;min-height:43px;min-width:0;margin:0}
.goal-scene-playback .play-btn{
 display:flex;justify-content:center;align-items:center;
 border:1px solid #55a8b9;border-radius:9px;background:#1e5e72;color:#e8fdff;
 font-size:13px;font-weight:850;line-height:1.2;padding:7px 6px;
}
.goal-scene-playback .scene-pause-button{padding:7px 4px;font-size:12px}
.goal-scene-playback .scene-mute-button{padding:4px}
.goal-review-viewer .goal-scene-range{
 margin:6px 0 1px;padding:9px 8px 7px;box-sizing:border-box;
}
.goal-review-viewer .goal-scene-range .range-heading{margin-bottom:4px}
.goal-review-viewer .goal-scene-range .range-legend{margin-bottom:2px}
.goal-review-viewer .goal-scene-range .range-track{height:42px;margin:5px 12px 5px}
.goal-review-viewer .goal-scene-range .range-handle{top:5px;height:30px}
.goal-review-viewer .goal-scene-range .range-playhead{top:-7px;height:54px}
.goal-review-viewer .goal-scene-range .range-hint{margin:3px 0;font-size:10px}
.goal-review-viewer .goal-scene-range .range-field{gap:3px}
.goal-review-viewer .goal-scene-range .range-field span{font-size:11px;color:#cae0e4}
.goal-review-viewer .goal-scene-range .range-time{
 font-size:16px;min-height:40px;padding:7px 8px;box-sizing:border-box;
}
.goal-review-viewer #goalStatsVideoStatus{margin:5px 1px 0;font-size:11px}
.goal-review-viewer:not([hidden])+.goal-review-editor{
 margin:0 0 17px;border-top:0;border-radius:0 0 11px 11px;
}
.goal-review-editor .goal-review-fields{margin-top:7px}
.goal-review-editor .goal-review-time-adjust{
 margin:5px 0 10px;padding:8px 5px;
 border:1px solid #365e69;border-radius:9px;background:#12313d;
}
.goal-review-editor .goal-review-time-adjust>strong{font-size:12px}
.goal-review-quote-details{border-top:1px solid #3b5b65;padding-top:6px;margin-bottom:7px}
.goal-review-quote-details summary{font-size:11px;color:#c4dfe4;cursor:pointer}
.goal-review-quote-details .goal-review-quote{margin:7px 0}
@media(max-width:480px){
 .goal-review-viewer:not([hidden]){padding:4px;margin:8px 0 0}
 .goal-review-viewer .goal-scene-range{padding:6px 6px}
 .goal-scene-viewport{max-height:min(40dvh,330px)}
 .goal-scene-playback{grid-template-columns:1.2fr 1fr 40px;gap:5px}
 .goal-review-editor .goal-review-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .goal-review-editor .goal-review-field input,
 .goal-review-editor .goal-review-field select{font-size:16px}
}

/* v53 details: goal metadata comes immediately after the common scene editor;
   the infrequently needed goal timestamp correction is collapsed. */
.goal-review-editor details.goal-review-time-adjust{
 display:block;margin:10px 0 2px;padding:9px 10px;
 background:#12313d;border:1px solid #365e69;border-radius:9px;
}
.goal-review-editor .goal-review-time-adjust>summary{
 display:list-item;cursor:pointer;
 font-size:12px;font-weight:800;color:#d2f8ea;
}
.goal-review-time-tools{
 display:flex;gap:7px;align-items:center;flex-wrap:wrap;
 padding:10px 0 1px;
}
.goal-review-time-tools .goal-review-mark-button{flex:1 0 100%}
.goal-review-editor .goal-review-fields{margin:8px 0 3px}

/* v54: decide video inclusion directly in the goal editor, independently
   of scoring confirmation. Selection is explicit and visually persistent. */
.goal-review-video-status{
 margin:12px 0 7px;color:#d4f5ef;font-size:12px;font-weight:800;
 line-height:1.4;
}
.goal-review-video-actions{
 display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px;
}
.goal-review-video-actions button{
 min-width:0;min-height:50px;padding:10px 7px;
 border-radius:10px;font-size:13px;font-weight:850;
 white-space:normal;line-height:1.3;
}
.goal-review-video-keep{
 background:#1f5c4c;color:#ecfff3;border:1px solid #6fbaa0;
}
.goal-review-video-reject{
 background:#263f4a;color:#edf4f5;border:1px solid #728f9a;
}
.goal-review-video-actions button.is-active{
 box-shadow:inset 0 0 0 2px #d7fff1,0 0 0 1px #6ecbab;
}
.goal-review-video-actions .goal-review-video-reject.is-active{
 box-shadow:inset 0 0 0 2px #ffd9d9,0 0 0 1px #ddaaaa;
}
.goal-review-video-actions button:disabled{opacity:.5}
.goal-review-video-actions+ .goal-review-actions{margin-top:7px}
@media(max-width:400px){
 .goal-review-video-actions{gap:6px}
 .goal-review-video-actions button{font-size:12px;padding:9px 5px}
}

/* v55: goal-first review is an independent priority section above the
   regular highlight result panel and advanced analysis tools. */
.page>.goal-stats-panel{
 margin:14px 0 18px;padding:14px;
 background:#0c2731;border:1px solid #427d76;border-radius:14px;
 scroll-margin-top:8px;
}
.page>.goal-stats-panel[hidden]{display:none!important}
.goal-review-step{
 color:#f1fffa;background:#214a47;border:1px solid #67b6a0;
 border-radius:9px;padding:10px 12px;margin:8px 0 12px;
 font-size:13px;font-weight:850;line-height:1.55;
}
.goal-review-viewer:not([hidden]){margin-top:9px}
.goal-review-queue-fold{
 border-top:1px solid #395b67;margin:14px 0 2px;padding:9px 0 0;
}
.goal-review-queue-fold>summary{
 color:#d5f8ee;font-size:13px;font-weight:800;cursor:pointer;
 padding:9px 3px;
}
.goal-review-queue-fold .goal-review-list{margin:8px 0 11px}
.goal-review-viewer .goal-scene-replay{
 background:#1b6874!important;color:#fff!important;
 border:2px solid #7adecf!important;font-size:14px!important;
}
.goal-review-viewer .goal-scene-replay:focus-visible{
 outline:2px solid #fff;outline-offset:2px;
}
@media(max-width:480px){
 .page>.goal-stats-panel{padding:9px;margin:10px 0 16px}
 .goal-review-step{font-size:12px;padding:9px 10px;line-height:1.5}
 .goal-review-viewer .goal-scene-replay{font-size:13px!important}
}

/* v57: make it unambiguous when no second goal exists. */
.goal-review-completed{
 margin:8px 0 12px;padding:13px 12px;
 border:1px solid #66ad9d;border-radius:11px;background:#19433f;
 color:#f2fff8;line-height:1.5;
}
.goal-review-completed[hidden]{display:none!important}
.goal-review-completed strong{font-size:14px;font-weight:900;display:block}
.goal-review-completed p{font-size:12px;margin:5px 0 10px;color:#d1e7df}
.goal-review-completed-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.goal-review-completed-actions button{font-size:12px;min-height:41px;margin:0;padding:6px 5px}
.goal-review-completed-actions button[hidden]{display:none!important}
.goal-review-completed-actions:has(button[hidden]){grid-template-columns:1fr}
@media(max-width:440px){
 .goal-review-completed{padding:10px}
 .goal-review-completed-actions{grid-template-columns:1fr}
}

/* Goal video visibility/native player: iPhone Safari fallback.
 * The old goal element blocked all taps even when native controls were enabled.
 * Highlight video remains untouched. */
.goal-scene-viewport[hidden],#goalStatsPreview[hidden]{display:none!important}
.goal-review-viewer .goal-native-playback{
 display:block;width:100%;margin:7px 0 6px;padding:10px 12px;
 border:1px solid #80c7be;border-radius:9px;background:#183f4b;
 color:#effefa;font-size:13px;font-weight:700;min-height:44px;
}
.goal-review-viewer.goal-native-player .goal-scene-viewport{touch-action:manipulation}
.goal-review-viewer.goal-native-player #goalStatsPreview{
 pointer-events:auto!important;object-fit:contain!important;
}

/* Secondary pages are embedded rather than navigating away from uploaded MOVs.
   iPhone safe areas and a persistent close control are essential. */
.settings-inline-overlay[hidden]{display:none!important}
.settings-inline-overlay{
 position:fixed;inset:0;z-index:1250;background:rgba(0,12,24,.78);
 display:flex;align-items:stretch;justify-content:center;
 padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);
}
.settings-inline-sheet{
 display:flex;flex-direction:column;width:100%;max-width:920px;min-height:0;
 background:#091927;border:1px solid #386371;
}
.settings-inline-head{
 flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;
 gap:12px;padding:11px 14px;background:#123243;
 border-bottom:1px solid #42717b;color:#e8f8f2;min-height:58px;
}
.settings-inline-head strong{font-size:14px}
.settings-inline-close{
 border:1px solid #82cdbb;border-radius:9px;color:#e8fff6;background:#20594c;
 padding:9px 11px;min-height:44px;font-size:13px;font-weight:750;
}
#settingsOverlayFrame{
 display:block;width:100%;flex:1 1 auto;min-height:0;border:0;
 background:#091927;
}
@media (max-width:480px){
 .settings-inline-head{padding:8px 10px}
 .settings-inline-head strong{font-size:12px}
 .settings-inline-close{font-size:12px}
}

/* PeakStamp workflow UI v1. Hide stage sections without unmounting players,
   keeping the original JS File/Blob URL and scene edits in memory. */
body[data-ps-stage="analysis"] #goalStatsPanel,
body[data-ps-stage="analysis"] #resultsPanel,
body[data-ps-stage="analysis"] #montagePanel,
body[data-ps-stage="analysis"] #advancedTools,
body[data-ps-stage="edit"] #choosePanel,
body[data-ps-stage="edit"] #geminiPrimaryPanel,
body[data-ps-stage="edit"] #montagePanel,
body[data-ps-stage="export"] #choosePanel,
body[data-ps-stage="export"] #geminiPrimaryPanel,
body[data-ps-stage="export"] #goalStatsPanel,
body[data-ps-stage="export"] #resultsPanel,
body[data-ps-stage="export"] #advancedTools{display:none!important}
.workflow-nav{
 position:sticky;top:0;z-index:60;
 margin:0 0 5px;padding:5px;
 background:#102c3a;border:1px solid #487978;
 box-shadow:0 4px 16px rgba(0,0,0,.32);
}
.workflow-nav button{min-height:43px;font-size:13px;font-weight:850}
.workflow-nav button.current{background:#26765f;color:#eafff2;border:1px solid #5bcaa7}
.workflow-nav button:disabled{opacity:.45;cursor:not-allowed}
.workflow-stage-notice{
 color:#bedbdc;margin:4px 3px 14px;
 padding:4px 5px;font-size:12px;line-height:1.5;
}
.workflow-next-btn,.workflow-back-btn{
 min-height:46px;width:100%;box-sizing:border-box;
 padding:11px;border-radius:10px;font-size:14px;font-weight:850;
 border:1px solid #6bc9ad;background:#1f5e50;color:#edfff5;
 margin:12px 0;
}
.workflow-back-btn{
 border-color:#568c9a;background:#183c4a;color:#dcf6fa;
 text-align:left;min-height:42px;
}
.workflow-advanced-settings,.workflow-experiments{
 border:1px solid #3c6572;border-radius:11px;
 margin:14px 0 6px;padding:11px 12px;background:#102a38;
}
.workflow-advanced-settings>summary,
.workflow-experiments>summary{
 font-weight:850;color:#d4f3f0;cursor:pointer;
 padding:5px 3px;font-size:13px;
}
.workflow-advanced-settings>*:not(summary),
.workflow-experiments>*:not(summary){margin-top:12px}
.workflow-advanced-settings .legacy-audio-details{padding:10px;border-top:1px solid #365c68}
.workflow-experiments .extra-analysis-tools{margin:10px 0;padding:8px}
.workflow-experiments .gemini-callout-panel{margin:10px 0}
.goal-review-library{
 margin:12px 0 14px;padding:11px 10px;
 border:1px solid #3e877b;border-radius:12px;
 background:#0d2937;
}
.goal-review-library-head{
 display:flex;justify-content:space-between;align-items:center;
 flex-wrap:wrap;gap:4px 8px;margin-bottom:9px;
}
.goal-review-library-head strong{font-size:14px;color:#e2fff2}
.goal-review-library-head small{font-size:11px;color:#b0cdd2}
.goal-review-library-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.goal-review-library-tabs button{
 min-width:0;min-height:42px;white-space:normal;
 padding:8px 3px;color:#cde9e9;font-size:12px;font-weight:800;
 background:#1a4350;border:1px solid #426e78;border-radius:8px;
}
.goal-review-library-tabs button.is-active{
 background:#206b57;border-color:#6de0b0;color:#fff;
 box-shadow:inset 0 -2px 0 #83e5be;
}
.goal-review-library-tabs button span{
 display:inline-block;min-width:1.2em;padding:1px 3px;
 font-variant-numeric:tabular-nums;font-weight:900;
}
.goal-review-library .goal-review-queue-fold{
 border-top:0;padding-top:2px;margin:0;
}
.goal-review-library #goalStatsList{
 max-height:clamp(116px,29dvh,230px);overflow-y:auto;
 overscroll-behavior:contain;padding:2px 3px;
 scroll-padding-top:7px;
}
.goal-review-library .goal-queue-row{
 min-height:61px;padding:9px 10px;
}
.goal-review-library-empty{
 color:#bcd7da;text-align:center;font-size:12px;margin:15px 2px 7px;
}
.goal-review-editor .goal-score-details{
 border:1px solid #426a76;border-radius:10px;
 background:#102f3b;padding:9px 11px;margin:11px 0 2px;
}
.goal-review-editor .goal-score-details>summary{
 font-size:13px;line-height:1.6;cursor:pointer;
 color:#e6f9ed;font-weight:850;
 overflow-wrap:anywhere;padding:5px 1px;
}
.goal-review-editor .goal-score-details[open]>summary{
 padding-bottom:9px;border-bottom:1px solid #406773;
}
.goal-review-editor .goal-score-details .goal-review-fields{margin-top:12px}
.goal-review-editor .goal-score-details .goal-review-actions{
 margin:12px 0 4px;
}
.goal-review-editor .goal-review-video-status{margin:7px 0 6px}
.goal-review-editor .goal-review-video-actions{margin-bottom:5px}
@media(max-width:480px){
 .workflow-nav{top:0;border-radius:9px}
 .goal-review-library{padding:9px 7px}
 .goal-review-library-tabs button{font-size:11px}
 .goal-review-library #goalStatsList{max-height:24dvh}
 .goal-review-editor .goal-score-details>summary{font-size:12px}
}

.editor-quick-nav{display:none;position:sticky;top:55px;z-index:55;
 grid-template-columns:1fr 1fr;gap:7px;
 padding:7px;background:#0d2635;
 border:1px solid #386672;border-radius:9px;
 box-shadow:0 5px 13px rgba(0,0,0,.2);margin:2px 0 10px;
}
body[data-ps-stage="edit"] .editor-quick-nav{display:grid}
.editor-quick-nav button{
 border:1px solid #527f7f;border-radius:8px;
 color:#e2fff4;background:#185344;font-weight:850;
 font-size:12px;padding:10px 7px;min-height:40px;
}
.editor-quick-nav button:disabled{opacity:.4}
body[data-ps-stage="analysis"] .editor-quick-nav,
body[data-ps-stage="export"] .editor-quick-nav{display:none!important}
#goalStatsPanel,#resultsPanel,#montagePanel{scroll-margin-top:114px}

/* First-time editor UX: accessible color roles, compact labels, no video overlays. */
:root{
 --bg:#0b1828;--card:#152a3d;--line:#375267;--text:#f2f8fb;
 --muted:#bdcbd7;--mint:#8ce5cc;--orange:#f9c78a;
}
body{background:#0b1828}
.page>.panel{background:#12273a;border:1px solid #365468;box-shadow:none}
.workflow-nav,.editor-quick-nav{
 position:static!important;top:auto!important;
 z-index:auto!important;box-shadow:none!important;
}
.workflow-nav{background:#102538;border-color:#456577;border-radius:12px;margin-bottom:6px}
.workflow-nav button{font-size:13px;min-height:44px;border:1px solid transparent}
.workflow-nav button.current{
 background:#1b645b;color:#f4fffc;border-color:#7dd7bd;
}
.editor-quick-nav{margin:3px 0 12px;background:#132c3f;border-color:#42687c}
.editor-quick-nav button{border-radius:9px;background:#1a4457;border-color:#598d9d}
#goalStatsPanel,#resultsPanel,#montagePanel,
#goalStatsViewer,#goalStatsEditor{scroll-margin-top:12px!important}
.goal-review-step{background:#173c4a;border-color:#487b91;color:#ecfaff;font-size:12px}
.goal-review-summary{color:#e0eee9;font-size:12px}
.goal-review-library{background:#122f40;border-color:#456c7b;margin:8px 0 10px}
.goal-review-library-tabs button{background:#203e52;color:#e0edf4;border-color:#527487}
.goal-review-library-tabs button.is-active{background:#176b60;border-color:#7ee0ca;color:#fff}
.goal-review-viewer:not([hidden]){border-color:#577e90;background:#092637}
.goal-review-editor{background:#102e3e;border-color:#577e90}
.goal-review-video-keep{background:#21765c!important;color:#fff!important;border-color:#86e4c0!important}
.goal-review-video-reject{background:#263a4c!important;color:#dbe6ec!important;border-color:#6d8799!important}
.goal-review-viewer .goal-scene-replay{background:#135775!important;border-color:#69bddf!important}
.goal-review-video-status{font-size:12px;color:#d3e6ec}
#advancedTools,#advancedTools[hidden]{display:none!important}
.source-item{display:grid;grid-template-columns:24px minmax(0,1fr) 75px auto;gap:7px;align-items:center;padding:10px}
.source-order{width:24px;height:24px}
.source-info{min-width:0;gap:3px}
.source-match-title{font-size:15px!important;color:#eafaf8}
.source-match-editor{display:flex;flex-direction:column;gap:3px;min-width:0;color:#c5d9e4;font-size:11px;font-weight:750}
.source-match-number{width:100%;min-width:0;max-width:80px;border:1px solid #64a2a0;border-radius:8px;padding:8px 4px;text-align:center;background:#092b3b;color:#fff;font-size:16px;font-weight:850;min-height:43px}
.source-original-file{font-size:10px;opacity:.78}
.source-original-file summary{cursor:pointer;color:#b4cad4}
.source-original-file small{display:block;overflow-wrap:anywhere;padding-top:5px;font-size:10px}
.source-original-filename{
 display:block!important;color:#e1edf5!important;font-size:12px!important;
 overflow-wrap:anywhere;word-break:break-word;line-height:1.35;
}
.source-state{color:#97b3c5!important;font-size:10px!important}
.source-sort-btn{
 border:1px solid #648d9d;border-radius:8px;background:#1b4455;
 color:#e1f4f6;min-height:37px;padding:6px 9px;
 font-size:11px;font-weight:700;text-align:center;
}
@media(max-width:480px){
 .source-board-header{gap:5px}
 .source-board-header strong{font-size:12px}
 .source-sort-btn{font-size:10px;min-height:37px;max-width:132px}
 .source-item{
  grid-template-columns:24px minmax(0,1fr) 70px;
  grid-template-areas:"ordinal details match" ". buttons buttons";
  column-gap:9px;row-gap:7px;align-items:center;
 }
 .source-item .source-order{grid-area:ordinal}
 .source-item .source-info{grid-area:details}
 .source-item .source-match-editor{grid-area:match}
 .source-item .source-controls{grid-area:buttons;justify-self:end}
 .source-original-filename{font-size:12px!important}
}
.source-controls{gap:2px}
.gemini-brief{font-size:12px;line-height:1.5}
.goal-review-library #goalStatsList{max-height:min(25dvh,185px)}
.goal-review-editor .goal-score-details{background:#17374a;border-color:#50738a}
.goal-review-editor .goal-score-details>summary{font-weight:800}
@media(max-width:480px){
 .page{width:calc(100% - 20px)}
 .page>.panel{padding:12px}
 .workflow-nav{padding:4px}
 .workflow-nav button{font-size:12px;padding:10px 4px}
 .editor-quick-nav button{font-size:12px}
 .goal-review-library #goalStatsList{max-height:20dvh}
 .source-item{grid-template-columns:20px minmax(0,1fr) 66px auto;gap:5px;padding:8px 5px}
 .source-match-number{font-size:16px;padding:7px 3px}
 .source-match-title{font-size:14px!important}
}

/* Guided post-analysis, goal, highlight and export next actions. */
.journey-dialog[hidden]{display:none!important}
.journey-dialog{
 position:fixed;inset:0;z-index:2100;
 display:flex;align-items:center;justify-content:center;
 padding:calc(18px + env(safe-area-inset-top,0px)) 15px
         calc(18px + env(safe-area-inset-bottom,0px));
 background:rgba(2,12,25,.84);
}
.journey-dialog-card{
 background:#152d40;color:#f2f9fc;
 border:1px solid #6b9b9d;border-radius:17px;
 box-shadow:0 16px 52px #0008;
 width:min(100%,460px);max-height:88dvh;
 overflow:auto;padding:21px 17px 19px;position:relative;
}
.journey-dialog-card h2{
 font-size:19px;line-height:1.4;padding-right:32px;margin:7px 0 14px;
}
#journeyDialogBody{
 white-space:pre-line;font-size:14px;line-height:1.8;color:#e1edf4;
 overflow-wrap:anywhere;margin:0 0 21px;
}
.journey-dialog-dismiss{
 position:absolute;right:9px;top:8px;width:36px;height:36px;
 border-radius:50%;border:1px solid #647e91;
 color:#eaf4fb;background:#294456;font-size:24px;
}
.journey-dialog-actions{display:grid;gap:9px}
.journey-dialog-actions button{width:100%;min-height:48px;font-weight:800;margin:0}
.journey-dialog-actions .whisper-run{
 background:#28485a;color:#eff9fa;border:1px solid #698a99;
}
.goal-first-guide{
 border:1px solid #619c9b;border-radius:12px;
 padding:10px 12px;margin:0 0 13px;
 background:#173646;color:#e2f4f2;
}
.goal-first-guide summary{font-size:13px;cursor:pointer;font-weight:850}
.goal-first-guide ol{padding-left:22px;margin:12px 0 5px;line-height:1.75;font-size:12px}
.goal-first-guide li+li{margin-top:7px}
.goal-review-editor .goal-review-actions{margin:12px 0 8px}
.goal-review-editor .goal-review-actions .goal-review-confirm{
 min-height:45px;border:2px solid #80dab8;
}
.goal-review-editor .goal-review-video-actions{margin:8px 0 6px}
.missed-goal-add{
 display:block;width:100%;border-radius:8px;
 background:#1c3e4f;color:#f0fbff;border:1px solid #598b9a;
 font-size:12px;font-weight:800;padding:9px;margin:8px 0;
}
.export-steps{
 background:#153847;border:1px solid #5c9898;
 border-radius:13px;padding:13px;margin:6px 0 14px;
 color:#e6f9f9;
}
.export-steps strong{display:block;font-size:15px;margin-bottom:8px}
.export-steps p{font-size:13px;line-height:1.55;margin:8px 0}
.hs-json-reminder{
 padding:13px;background:#173d43;border:1px solid #83b2ac;
 border-radius:12px;margin:16px 0;
}
.hs-json-reminder strong{display:block;color:#e4fff2;font-size:15px}
.hs-json-reminder p{font-size:12px;line-height:1.7;color:#dfefed}
#hsJsonReminderStatus{font-size:12px}
@media(max-width:480px){
 .journey-dialog-card{padding:18px 13px 15px}
 .journey-dialog-card h2{font-size:18px}
 #journeyDialogBody{font-size:13px;line-height:1.7}
}

/* Manual goal creation is a last resort after BOTH goal and highlight reviews. */
.missing-goal-fallback{
 margin:20px 0 7px;
 padding:12px 13px;
 border:1px solid #456577;
 border-radius:11px;
 background:#122a3c;
 color:#dcecf2;
}
.missing-goal-fallback>summary{
 cursor:pointer;
 font-size:12px;
 font-weight:780;
 line-height:1.6;
 color:#b7d4df;
}
.missing-goal-fallback>p{
 font-size:12px;line-height:1.7;
 color:#c1d7e0;
 margin:12px 0;
}
.missing-goal-fallback .goal-review-manual-add{
 background:#152f42;
 border-radius:9px;
 margin:8px 0 2px;
 padding:11px;
}
.missing-goal-fallback #goalStatsAdd{
 width:100%;margin-top:8px;min-height:43px;
}
