.camera-methods { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.camera-methods .camera-score-button { white-space: nowrap; }
.live-entry { background: #233e2a; color: #e1f96d; border-color: #233e2a; }
.live-dot { display: inline-block; width: 6px; height: 6px; background: currentColor; border-radius: 50%; }
.live-dialog { width: min(1060px, calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 0; border: 1px solid #def46b40; border-radius: 28px; background: #10281e; color: #f5f0de; box-shadow: 0 30px 120px #0009; overflow: auto; overscroll-behavior: contain; }
.live-dialog::backdrop { background: #06100de8; backdrop-filter: blur(12px); }
.live-dialog [hidden] { display: none !important; }
.live-shell { padding: 28px; }
.live-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.live-header .eyebrow { color: #b9ce8f; font-size: 10px; letter-spacing: .14em; margin: 0 0 9px; }
.live-header h2 { font: 500 clamp(42px, 6vw, 64px)/.95 Club, sans-serif; letter-spacing: -.06em; margin: 0; }
.live-header h2 span { color: #def46b; }
.live-intro { font-size: 13px; line-height: 1.6; color: #b9c9ad; max-width: 680px; margin: 18px 0 22px; }
.live-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.live-stage { background: radial-gradient(ellipse at center, #284732, #081810); border: 1px solid #def46b25; border-radius: 20px; overflow: hidden; position: relative; min-height: 200px; max-height: 52dvh; }
#liveVideo { display: block; width: 100%; height: auto; min-height: 200px; max-height: 52dvh; object-fit: contain; }
#liveOverlay { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.live-phase { position: absolute; top: 12px; left: 12px; border: 1px solid #cbe29a50; background: #10281ee8; color: #c5d8a6; font-size: 9px; letter-spacing: .14em; padding: 9px 12px; border-radius: 30px; }
.live-phase.is-watching { background: #def46b; color: #1e3524; border-color: #def46b; }
.live-phase.is-watching::before { content: ''; display: inline-block; width: 5px; height: 5px; background: currentColor; border-radius: 50%; margin-right: 7px; }
.live-camera-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: #99b487; font-size: 8px; letter-spacing: .07em; padding: 12px 3px; }
#liveStatus { color: #d5e3c2; font-size: 13px; line-height: 1.6; padding: 14px 16px; border: 1px solid #def46b25; border-radius: 14px; margin: 4px 0 0; min-height: 70px; }
#liveStatus.is-error { color: #ffc38d; border-color: #ffc38d60; }
.live-score-panel { color: #263a2b; background: #f1f2e7; border-radius: 22px; padding: 22px; }
.live-turn { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.live-turn > div:first-child { min-width: 0; }
.live-turn .eyebrow { color: #72825a; font-size: 8px; margin: 0 0 7px; }
#livePlayer { font: 500 30px/1.1 Club, sans-serif; letter-spacing: -.045em; overflow-wrap: anywhere; margin: 0; }
#liveRemaining { font-size: 12px; color: #738562; margin: 7px 0 0; }
.live-total { display: flex; flex-direction: column; align-items: flex-end; }
.live-total strong { font: 500 62px/.9 Club, sans-serif; letter-spacing: -.06em; }
.live-total span { font-size: 8px; letter-spacing: .08em; margin-top: 8px; color: #72825a; white-space: nowrap; }
.live-hits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 22px 0; }
.live-hits > div { display: flex; flex-direction: column; border: 1px dashed #b6c3a3; border-radius: 12px; padding: 12px 10px; min-height: 98px; }
.live-hits > .has-hit { background: #223f2c; color: #def46b; border: 1px solid #223f2c; }
.live-hits span { font-size: 9px; opacity: .6; }
.live-hits strong { font: 500 27px/1 Club, sans-serif; letter-spacing: -.04em; margin: 10px 0 6px; }
.live-hits small { font-size: 9px; opacity: .7; }
.live-auto { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.5; cursor: pointer; }
.live-auto input { accent-color: #284b30; width: 20px; height: 20px; flex-shrink: 0; margin: 0; }
.live-auto small { display: block; color: #70825b; font-size: 10px; margin-top: 2px; }
.live-countdown { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-radius: 12px; background: #def46b; padding: 8px 12px; font-size: 13px; }
.live-countdown button { color: #254029; border: 1px solid #25402950; background: transparent; min-height: 44px; padding: 8px; border-radius: 8px; font: inherit; cursor: pointer; }
.live-actions { display: grid; grid-template-columns: 1fr 1.5fr; gap: 8px; margin: 20px 0 4px; }
.live-dialog .button { min-height: 48px; font-size: 12px; padding: 10px 8px; border-radius: 12px; }
.live-dialog .button-primary { background: #233e2a; color: #e3f578; border-color: #233e2a; }
.live-dialog .button-secondary { background: #e4e9d8; color: #31482b; border-color: #bcc9a7; }
.live-secondary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px; }
.live-secondary .mini-button { min-height: 44px; font-size: 11px; color: #47643b; background: transparent; border-color: #bdc9ad; }
.live-note { color: #738562; font-size: 10px; line-height: 1.5; margin: 10px 0 0; }
.live-last-visit { font-size: 12px; color: #47643b; background: #e0e9ce; padding: 10px 12px; border-radius: 10px; margin: 16px 0 0; }
.live-footer { color: #92ae80; font-size: 10px; line-height: 1.7; border-top: 1px solid #c2d79025; padding-top: 16px; margin-top: 24px; }
.live-footer a { color: #c2d790; }
.live-dialog button:disabled { opacity: .4; cursor: default; }
.live-dialog button:focus-visible, .live-dialog input:focus-visible { outline: 3px solid #87a82b; outline-offset: 3px; }
@media (max-width: 760px) {
  .live-layout { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .live-stage { max-height: 44dvh; }
  #liveVideo { max-height: 44dvh; }
}
@media (max-width: 520px) {
  .visit-tools { flex-wrap: wrap; }
  .camera-methods { justify-content: flex-start; }
  .live-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; }
  .live-shell { padding: 22px 18px max(24px, env(safe-area-inset-bottom)); }
  .live-intro { margin: 14px 0 16px; font-size: 12px; }
  .live-score-panel { padding: 20px; }
  .live-countdown { position: fixed; bottom: max(12px, env(safe-area-inset-bottom)); left: 12px; right: 12px; z-index: 3; box-shadow: 0 6px 30px #071b1360; border: 1px solid #b2c54b; }
}
