.tv-stage{display:none}
body.presentation-mode .app{visibility:hidden}
body.presentation-mode .tv-stage{position:fixed;display:grid;inset:0 0 62px;z-index:45;padding:clamp(10px,1.4vw,26px);background:radial-gradient(circle at 45% -20%,#193827,#07100c 42%);grid-template-columns:38% 62%;grid-template-rows:auto auto 1fr auto;gap:clamp(8px,1.2vw,20px);overflow:hidden;color:#f4f7f5}
.tv-brand{grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:11px;min-height:46px;padding:0 110px 8px 0;border-bottom:1px solid #294034}.tv-brand img{width:58px;height:42px;object-fit:contain;filter:drop-shadow(0 0 8px #75f08d35)}.tv-brand b{font-size:clamp(15px,1.5vw,24px);letter-spacing:3px}.tv-brand b span,.tv-brand small{color:#75f08d}.tv-brand small{display:block;margin-top:3px;font-size:clamp(6px,.6vw,9px);font-weight:900;letter-spacing:2px}
.tv-head{grid-column:1;grid-row:2;min-width:0;padding:clamp(8px,1vw,14px);border:1px solid #294034;border-radius:14px;background:linear-gradient(145deg,#121e17,#0b1510)}
.tv-block{color:#75f08d;font-size:clamp(9px,1.1vw,17px);font-weight:950;letter-spacing:2px}
.tv-name{margin:5px 0 2px;font-size:clamp(24px,3.5vw,62px);line-height:.98;white-space:normal}
.tv-count{color:#8fa096;font-size:clamp(9px,1vw,16px)}
.tv-visual-wrap{grid-column:1;grid-row:3;display:grid;place-items:center;min-height:0;padding:clamp(6px,.7vw,12px);border:1px solid #294034;border-radius:16px;background:linear-gradient(145deg,#121e17,#0b1510)}
.tv-visual{position:relative;height:min(100%,55vh);max-width:100%;aspect-ratio:1;overflow:hidden;border:1px solid #2f6240;border-radius:16px;background:#07100c}
.tv-visual img{position:absolute;width:300%;height:300%;max-width:none}
.tv-timer-card{grid-column:1;grid-row:4;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:8px 14px;border:1px solid #31583e;border-radius:14px;background:linear-gradient(145deg,#15231b,#0b1510)}.tv-timer-card small{display:block;color:#8fa096;font-size:clamp(6px,.55vw,9px);margin-top:3px}
.tv-timer-label{color:#75f08d;font-size:clamp(8px,.8vw,12px);font-weight:900;letter-spacing:1.5px}
.tv-timer{font-variant-numeric:tabular-nums;font-size:clamp(28px,4.3vw,72px);line-height:1;text-align:right}
.tv-panel{grid-column:2;grid-row:2/5;display:grid;grid-template-rows:auto 1fr auto auto;gap:clamp(8px,1vw,16px);min-width:0;min-height:0;padding:clamp(10px,1.1vw,18px);border:1px solid #294034;border-radius:16px;background:linear-gradient(145deg,#121e17,#0b1510)}
.tv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tv-stat{min-width:0;padding:clamp(7px,1vw,15px);border:1px solid #294034;border-radius:13px;background:#132119}
.tv-stat small{display:block;color:#8fa096;font-size:clamp(7px,.75vw,11px);letter-spacing:1px}
.tv-stat strong{display:block;margin-top:4px;font-size:clamp(13px,1.45vw,24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-current{align-self:center;padding:clamp(14px,2vw,32px);border:1px solid #3f7550;border-radius:16px;background:#17261c;box-shadow:inset 4px 0 0 #75f08d,0 0 35px #75f08d0d}
.tv-current-label{color:#75f08d;font-size:clamp(9px,.9vw,14px);font-weight:950;letter-spacing:2px;text-align:center}
.tv-set-number{text-align:center;font-size:clamp(18px,2vw,32px);margin:6px 0 12px}
.tv-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tv-value{padding:clamp(10px,1.5vw,24px);border:1px solid #355342;border-radius:13px;background:#09140e;text-align:center}
.tv-value small{display:block;color:#8fa096;font-size:clamp(7px,.8vw,12px);letter-spacing:1px}
.tv-value strong{display:block;margin-top:5px;font-size:clamp(22px,3.2vw,54px);line-height:1}
.tv-set-progress{display:flex;justify-content:center;gap:10px;min-height:22px}
.tv-dot{display:grid;place-items:center;min-width:34px;height:28px;padding:0 9px;border:1px solid #355342;border-radius:16px;color:#9cada2;font-weight:900;font-size:11px}
.tv-dot.done{background:#75f08d;color:#07100c;border-color:#75f08d}.tv-dot.current{border-color:#75f08d;color:#75f08d;box-shadow:0 0 10px #75f08d33}
.tv-heard{display:flex;align-items:center;gap:10px;min-height:36px;padding:9px 12px;border:1px solid #294034;border-radius:10px;color:#b7c4bc;background:#0c1711;font-size:clamp(9px,.9vw,14px);white-space:nowrap;overflow:hidden}.tv-heard b{flex:0 0 auto;color:#75f08d;font-size:.72em;letter-spacing:1px}.tv-heard span{overflow:hidden;text-overflow:ellipsis}
body.presentation-mode .presentation-exit{top:7px;right:7px;padding:5px 8px;font-size:7px;opacity:.58}
body.presentation-mode .mobile-dock{height:62px;padding:3px 8px;background:#06100bea}
body.presentation-mode .mobile-dock button{min-height:48px}
body.presentation-mode .mobile-dock .mobile-done{width:50px;height:50px;min-height:50px;transform:translateY(-5px)}
@media(max-height:500px){body.presentation-mode .tv-stage{inset-bottom:50px;padding:7px 10px;gap:7px}.tv-name{font-size:23px}.tv-visual{height:min(100%,42vh)}.tv-current{padding:9px 13px}.tv-set-number{font-size:17px;margin:3px 0 6px}.tv-value{padding:7px}.tv-value strong{font-size:24px}.tv-timer-card{padding:4px 9px}.tv-timer{font-size:30px}.tv-heard{min-height:28px;padding:5px 9px}body.presentation-mode .mobile-dock{height:50px}body.presentation-mode .mobile-dock button{min-height:40px}body.presentation-mode .mobile-dock .mobile-done{width:44px;height:44px;min-height:44px}}
.tv-visual.fallback{display:grid;place-items:center;border:2px solid #4bbd66;background:radial-gradient(circle,#183e27,#07140d 68%)}.tv-visual.fallback img{display:none}.tv-visual.fallback:before{content:"VISUAL GUIDE\A" attr(data-exercise) "\A\A FOLLOW THE TRAINING TIP";white-space:pre-wrap;padding:8%;color:#72ed8b;text-align:center;font-size:clamp(14px,2vw,30px);font-weight:900;letter-spacing:2px;line-height:1.5}
