/* 발표 리허설 타이머 */
[data-app="presentation-timer"].pt-anim{ transition:background .3s, border-color .3s; }   /* 처음 그린 뒤부터(열 때 흰색→어두운색 번짐 없게) */
/* 두 번 눌러 확인: 어두운 판에서도 빨간색으로(공통 .ndt-dark .ndt-btn 이 공통 빨강을 덮어서) · ✕는 확인 중에만 글자만큼 넓게 */
[data-app="presentation-timer"] .ndt-btn.ndt-arm{ background:#B42318; border-color:#B42318; color:#fff; }
[data-app="presentation-timer"] .pt-hdel.ndt-arm{ width:auto !important; padding:0 8px; white-space:nowrap; }
[data-app="presentation-timer"].pt-over{ background:#3D1717; border-color:#3D1717; }
[data-app="presentation-timer"] .pt-wrap{ display:flex; flex-direction:column; gap:8px; outline:none; word-break:keep-all; overflow-wrap:anywhere; }
[data-app="presentation-timer"] .pt-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:2px 10px; font-size:12.5px; color:#9BA3AE; font-variant-numeric:tabular-nums; }
[data-app="presentation-timer"] .pt-idx{ font-weight:800; color:#C7CCD4; }
[data-app="presentation-timer"] .pt-time{ text-align:center; font-size:56px; font-weight:900; line-height:1.05; letter-spacing:.01em; font-variant-numeric:tabular-nums; }
[data-app="presentation-timer"] .pt-cap{ margin:-4px 0 0; text-align:center; font-size:12.5px; color:#9BA3AE; }
[data-app="presentation-timer"].pt-over .pt-time, [data-app="presentation-timer"].pt-over .pt-cap{ color:#FF6B6B; }
[data-app="presentation-timer"].pt-over .pt-cap{ font-weight:700; }
[data-app="presentation-timer"] .pt-now{ margin:0; text-align:center; font-size:13.5px; color:#C7CCD4; font-variant-numeric:tabular-nums; }
[data-app="presentation-timer"] .pt-now b{ margin:0 2px; font-size:24px; font-weight:900; color:#E7E9EC; }
[data-app="presentation-timer"] .pt-now.over b{ color:#FFB547; }
[data-app="presentation-timer"] .pt-cells{ display:flex; flex-wrap:wrap; justify-content:center; gap:5px; padding:2px 0; }
[data-app="presentation-timer"] .pt-cells i{ width:14px; height:14px; border-radius:4px; background:#2B3240; }
[data-app="presentation-timer"] .pt-cells i.v{ background:#7AA6F0; }
[data-app="presentation-timer"] .pt-cells i.o{ background:#FF8A7A; }
[data-app="presentation-timer"] .pt-cells i.c{ background:#C7CCD4; box-shadow:0 0 0 2px #11151F, 0 0 0 4px #E7E9EC; }
[data-app="presentation-timer"] .pt-cells i.c.o{ background:#FFB547; }
[data-app="presentation-timer"] .pt-state{ margin:0; min-height:1.4em; text-align:center; font-size:12.5px; color:#C7CCD4; overflow-wrap:anywhere; }
/* 설정 */
[data-app="presentation-timer"] .pt-setup{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
[data-app="presentation-timer"] .pt-f{ display:flex; flex-direction:column; gap:4px; min-width:0; }
[data-app="presentation-timer"] .pt-fi{ display:flex; align-items:center; gap:6px; font-size:13.5px; color:#C7CCD4; }
[data-app="presentation-timer"] .pt-fi .ndt-in{ min-width:0; min-height:42px; text-align:right; font-size:16px; font-weight:800; }
/* 버튼 */
[data-app="presentation-timer"] .pt-main{ display:flex; gap:6px; }
[data-app="presentation-timer"] .pt-main .pt-start, [data-app="presentation-timer"] .pt-main .pt-next{ flex:1 1 auto; min-width:0; min-height:52px; font-size:16px; }
[data-app="presentation-timer"] .pt-main .pt-big{ flex:none; min-height:52px; }
[data-app="presentation-timer"] .pt-sub{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
[data-app="presentation-timer"] .pt-sub .ndt-btn{ min-width:0; padding:0 6px; font-size:13px; }
[data-app="presentation-timer"] .pt-keys{ margin:0; text-align:center; font-size:12px; color:#9BA3AE; }
[data-app="presentation-timer"] .pt-keys.pt-koff{ color:#FFCF4A; font-weight:700; }
/* 결과: 장별 막대 */
[data-app="presentation-timer"] .pt-res, [data-app="presentation-timer"] .pt-hist{ border-top:1px solid #2B3240; padding-top:10px; }
[data-app="presentation-timer"] .pt-h{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; margin:0 0 6px; font-size:14px; font-weight:800; color:#E7E9EC; }
[data-app="presentation-timer"] .pt-h span{ font-size:12px; font-weight:600; color:#9BA3AE; }
[data-app="presentation-timer"] .pt-sum{ margin:0 0 8px; font-size:13px; color:#C7CCD4; }
[data-app="presentation-timer"] .pt-sum > b:first-child{ font-size:18px; color:#E7E9EC; font-variant-numeric:tabular-nums; }
[data-app="presentation-timer"] .pt-sum .over, [data-app="presentation-timer"] .pt-hv .over{ color:#FF8A7A; font-weight:700; }
[data-app="presentation-timer"] .pt-sum .ok, [data-app="presentation-timer"] .pt-hv .ok{ color:#7FD69B; font-weight:700; }
[data-app="presentation-timer"] .pt-rows{ list-style:none; margin:0; padding:0 2px 0 0; display:flex; flex-direction:column; gap:5px; max-height:320px; overflow-y:auto; }
[data-app="presentation-timer"] .pt-rows li{ display:grid; grid-template-columns:32px minmax(0,1fr) 84px; gap:8px; align-items:center; font-size:12.5px; font-variant-numeric:tabular-nums; color:#C7CCD4; }
[data-app="presentation-timer"] .pt-rk{ text-align:right; color:#9BA3AE; }
[data-app="presentation-timer"] .pt-rb{ position:relative; height:12px; border-radius:3px; background:#1C2230; }
[data-app="presentation-timer"] .pt-rb i{ position:absolute; left:0; top:0; bottom:0; border-radius:3px; background:#7AA6F0; }
[data-app="presentation-timer"] .pt-rows li.over .pt-rb i{ background:#FF8A7A; }
[data-app="presentation-timer"] .pt-rb b, [data-app="presentation-timer"] .pt-hb b{ position:absolute; top:-3px; bottom:-3px; width:2px; margin-left:-1px; border-radius:1px; background:#E7E9EC; }
[data-app="presentation-timer"] .pt-rv{ text-align:right; white-space:nowrap; overflow:hidden; text-overflow:clip; }
[data-app="presentation-timer"] .pt-rv em{ font-style:normal; font-weight:800; color:#FF8A7A; }
[data-app="presentation-timer"] .pt-rows li.skip .pt-rv{ color:#6B7380; }
[data-app="presentation-timer"] .pt-leg{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; margin:8px 0 0; font-size:12px; color:#9BA3AE; }
[data-app="presentation-timer"] .pt-leg span{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
[data-app="presentation-timer"] .pt-lt{ display:inline-block; width:2px; height:12px; background:#E7E9EC; }
[data-app="presentation-timer"] .pt-lo{ display:inline-block; width:12px; height:10px; border-radius:2px; background:#FF8A7A; }
/* 최근 리허설 비교 */
[data-app="presentation-timer"] .pt-hlist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
[data-app="presentation-timer"] .pt-hl{ display:flex; justify-content:space-between; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:#C7CCD4; }
[data-app="presentation-timer"] .pt-hdel{ flex:none; min-width:32px; padding:0 8px; }
[data-app="presentation-timer"] .pt-tag{ display:inline-block; margin-left:2px; padding:0 6px; border-radius:6px; background:#2B3240; color:#C7CCD4; font-size:11px; font-weight:800; }
[data-app="presentation-timer"] .pt-tag.new{ background:#7AA6F0; color:#11151F; }
[data-app="presentation-timer"] .pt-hb{ position:relative; height:10px; margin:2px 0 4px; border-radius:3px; background:#1C2230; }
[data-app="presentation-timer"] .pt-hb i{ position:absolute; left:0; top:0; bottom:0; border-radius:3px; background:#7AA6F0; }
[data-app="presentation-timer"] .pt-hb i.over{ background:#FF8A7A; }
[data-app="presentation-timer"] .pt-hv{ margin:0; font-size:12.5px; color:#C7CCD4; overflow-wrap:anywhere; }
[data-app="presentation-timer"] .pt-hv > b{ font-size:15px; color:#E7E9EC; font-variant-numeric:tabular-nums; }
[data-app="presentation-timer"] .pt-cmp{ margin-top:8px; }
[data-app="presentation-timer"] .pt-cmp summary{ display:flex; align-items:center; min-height:36px; cursor:pointer; font-size:13px; font-weight:800; color:#C7CCD4; }
[data-app="presentation-timer"] .pt-tw{ overflow-x:auto; }
[data-app="presentation-timer"] .pt-tw table{ width:100%; border-collapse:collapse; font-size:12.5px; font-variant-numeric:tabular-nums; color:#C7CCD4; }
[data-app="presentation-timer"] .pt-tw th, [data-app="presentation-timer"] .pt-tw td{ padding:4px 6px; border-bottom:1px solid #2B3240; text-align:right; white-space:nowrap; }
[data-app="presentation-timer"] .pt-tw thead th{ font-size:11.5px; font-weight:700; color:#9BA3AE; white-space:normal; vertical-align:bottom; }
[data-app="presentation-timer"] .pt-tw tbody th{ font-weight:600; color:#9BA3AE; }
[data-app="presentation-timer"] .pt-tw td.over{ color:#FF8A7A; font-weight:800; }
[data-app="presentation-timer"] .pt-tw td.na{ color:#6B7380; }
[data-app="presentation-timer"] .pt-tw .pt-tot th, [data-app="presentation-timer"] .pt-tw .pt-tot td{ font-weight:800; color:#E7E9EC; border-bottom:0; }
[data-app="presentation-timer"] .pt-cmp .ndt-muted{ margin:6px 0 0; }
[data-app="presentation-timer"] .pt-foot{ margin-top:2px; }
[data-app="presentation-timer"] .pt-note{ margin:0; }
/* 크게 보기 */
[data-app="presentation-timer"].ndt-big .pt-wrap{ min-height:100%; justify-content:center; gap:10px; }
[data-app="presentation-timer"].ndt-big .pt-time{ font-size:clamp(72px,min(22vw,28vh),280px); }
[data-app="presentation-timer"].ndt-big .pt-now{ font-size:clamp(16px,min(2.4vw,3.4vh),28px); }
[data-app="presentation-timer"].ndt-big .pt-now b{ font-size:clamp(28px,min(5vw,7vh),64px); }
[data-app="presentation-timer"].ndt-big .pt-top, [data-app="presentation-timer"].ndt-big .pt-cap, [data-app="presentation-timer"].ndt-big .pt-state, [data-app="presentation-timer"].ndt-big .pt-keys{ font-size:clamp(14px,2vw,22px); }
[data-app="presentation-timer"].ndt-big .pt-cells i{ width:20px; height:20px; }
[data-app="presentation-timer"].ndt-big .pt-main, [data-app="presentation-timer"].ndt-big .pt-sub{ width:100%; max-width:640px; margin:0 auto; }
[data-app="presentation-timer"].ndt-big .pt-setup, [data-app="presentation-timer"].ndt-big .pt-res, [data-app="presentation-timer"].ndt-big .pt-hist,
[data-app="presentation-timer"].ndt-big .pt-foot, [data-app="presentation-timer"].ndt-big .pt-note{ display:none; }
@media (max-width:560px){
  [data-app="presentation-timer"] .pt-time{ font-size:48px; }
}
/* 아주 좁은 폰(320px): 윗줄을 늘 두 줄로 — 긴 리허설에서 「잠깐 멈춤」을 누르면 「· 멈춤」 때문에 한 줄→두 줄로 바뀌어 단추가 밀리던 것 */
@media (max-width:340px){
  [data-app="presentation-timer"] .pt-goal{ flex-basis:100%; }
}
/* 인쇄(페이지 인쇄·PDF로 저장): 브라우저가 배경을 빼고 찍어 장별 막대가 사라지던 것 → 막대만 색 그대로, 바탕은 연한 회색·목표선은 진하게 */
@media print{
  [data-app="presentation-timer"] .pt-rb, [data-app="presentation-timer"] .pt-hb{ background:#E6E7EB; }
  [data-app="presentation-timer"] .pt-rb b, [data-app="presentation-timer"] .pt-hb b, [data-app="presentation-timer"] .pt-lt{ background:#1A1A1A; }
  [data-app="presentation-timer"] .pt-rb, [data-app="presentation-timer"] .pt-rb i, [data-app="presentation-timer"] .pt-rb b,
  [data-app="presentation-timer"] .pt-hb, [data-app="presentation-timer"] .pt-hb i, [data-app="presentation-timer"] .pt-hb b,
  [data-app="presentation-timer"] .pt-lt, [data-app="presentation-timer"] .pt-lo{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
