:root{--color-work: #ff0000;--color-rest: #00ff00;--color-paused: #ffaa00;--color-bg: #000000;--color-text: currentColor;--color-text-white: #ffffff;--color-text-gray: #808080;--color-text-dimmed: #666666;--current-color: var(--color-work);--glow: none;--font-timer: ui-monospace, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--size-timer: clamp(6rem, 15vw, 20rem);--size-exercise: clamp(2rem, 5vw, 6rem);--size-preview: clamp(1.5rem, 3vw, 4rem);--size-round: clamp(2rem, 4vw, 5rem)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-ui);background:var(--color-bg);color:var(--current-color);min-height:100vh;min-height:100dvh;overflow-x:hidden}#app{padding-bottom:clamp(70px,15vh,100px)}.led-glow{color:var(--current-color);text-shadow:var(--glow)}.led-glow-box{box-shadow:var(--glow)}#timer-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem 2rem;border:3px solid var(--current-color);border-radius:12px;margin:1rem;margin-bottom:0;min-height:calc(100vh - clamp(70px,15vh,100px) - 2rem);max-height:85vh;overflow-y:auto}#timer-countdown{font-family:var(--font-timer);font-size:var(--size-timer);font-weight:700;color:var(--current-color);letter-spacing:.05em;font-variant-numeric:tabular-nums;text-shadow:var(--glow)}#exercise-name{font-family:var(--font-ui);font-size:var(--size-exercise);font-weight:500;color:var(--color-text-white);margin-bottom:1rem;text-align:center;max-width:90vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#up-next{text-align:right;font-family:var(--font-ui);font-size:clamp(1.25rem,3vw,2rem);font-weight:400;color:var(--color-text-gray);flex:1;min-width:0}#up-next.hidden{display:none}.up-next-label{opacity:.7}#up-next-exercise{color:var(--color-text-white);display:inline;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#control-dock{position:fixed;bottom:0;left:0;right:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(.5rem,2vw,1rem);padding:.5rem 1rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom));background:#000000f2;border-top:1px solid var(--color-text-dimmed);max-height:clamp(70px,15vh,100px);overflow:hidden}#dock-controls{display:flex;align-items:center;justify-content:center;gap:1rem}.control-btn{min-width:50px;min-height:50px;padding:.5rem 1rem;font-family:var(--font-ui);font-size:clamp(.875rem,2.5vw,1.25rem);border:2px solid var(--color-text-white);background:transparent;color:var(--color-text-white);border-radius:8px;cursor:pointer;transition:opacity .1s;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;line-height:1;display:inline-flex;align-items:center;justify-content:center}.control-btn:active{opacity:.7}.control-btn.hidden{display:none}#session-summary{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg);z-index:100;overflow-y:auto}#session-summary.hidden{display:none}#session-summary .summary-content{text-align:center;padding:2rem}#summary-message{font-family:var(--font-ui);font-size:clamp(2rem,8vw,4rem);margin-bottom:2rem;color:var(--color-rest)}#summary-workout-name{font-family:var(--font-ui);font-size:clamp(1.5rem,5vw,2.5rem);margin-bottom:3rem;color:var(--color-rest)}.summary-stats{margin-bottom:3rem}.stat-row{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1rem;font-family:var(--font-ui);font-size:clamp(1.25rem,4vw,2rem)}.stat-label{color:var(--color-text-dimmed)}#summary-duration,#summary-blocks{color:var(--color-rest)}#session-summary .control-btn{min-width:80px;min-height:80px;padding:1.5rem 3rem;border-color:var(--color-rest);color:var(--color-rest)}#manual-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem 2rem;color:var(--color-rest);font-family:var(--font-ui);border:3px solid var(--color-rest);border-radius:12px;margin:1rem;margin-bottom:0;min-height:calc(100vh - clamp(70px,15vh,100px) - 2rem);max-height:85vh;overflow-y:auto;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#manual-display.hidden{display:none}#round-counter{font-family:var(--font-ui);font-size:var(--size-round);font-weight:700;margin-bottom:2rem;color:var(--color-rest)}#exercise-list{list-style:none;padding:0;margin:0;font-family:var(--font-ui);font-size:clamp(2rem,5vw,5rem);width:80%;max-width:1200px;display:flex;flex-direction:column;gap:1rem;text-align:center}#exercise-list.exercise-list-two-column{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem;text-align:left}.exercise-item{padding:.5rem 0;color:var(--color-rest)}.hidden{display:none!important}#flash-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0;z-index:9999;background-color:transparent}@keyframes tap-flash{0%{opacity:0;background-color:var(--color-rest)}50%{opacity:.3;background-color:var(--color-text-white)}to{opacity:0;background-color:var(--color-rest)}}#flash-overlay.active{animation:tap-flash .2s ease-in-out}#elapsed-time{font-family:var(--font-timer);font-size:clamp(1.25rem,3vw,2rem);font-weight:400;color:var(--color-text-gray);text-align:left;flex:1;min-width:4em;font-variant-numeric:tabular-nums;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}.tap-hint{font-family:var(--font-ui);font-size:clamp(.875rem,2vw,1.125rem);color:var(--color-text-dimmed);text-align:center;margin-top:2rem}@media(max-width:767px),(max-height:500px){.tap-hint{display:none}}@media(orientation:portrait){#timer-display,#manual-display{padding:2rem 1.5rem 1.5rem;margin:.5rem;margin-bottom:0}#control-dock{padding:.75rem 1rem}#exercise-list.exercise-list-two-column{grid-template-columns:1fr}}@media(max-width:400px)and (max-height:900px){#exercise-list{font-size:clamp(1.5rem,4vw,3rem);gap:.5rem}.exercise-item{padding:.25rem 0}#round-counter{font-size:clamp(1.75rem,3.5vw,3.5rem);margin-bottom:1.5rem}#manual-display{padding:2rem 1.5rem 1.5rem}#session-summary .summary-content{padding:1rem}#summary-message{font-size:clamp(1.5rem,6vw,3rem);margin-bottom:1rem}#summary-workout-name{font-size:clamp(1.25rem,4vw,2rem);margin-bottom:1.5rem}.summary-stats{margin-bottom:1.5rem}.stat-row{margin-bottom:.75rem;font-size:clamp(1rem,3.5vw,1.75rem);gap:1rem}#session-summary .control-btn{min-width:60px;min-height:60px;padding:1rem 2rem}}
