:root{color-scheme:dark;--bg: #10131d;--bg-soft: rgba(16, 19, 29, .72);--panel: rgba(14, 18, 28, .82);--panel-strong: rgba(18, 24, 36, .94);--line: rgba(255, 255, 255, .08);--text: #f3f5f8;--muted: #b8c0cf;--mint: #8ff0d8;--sun: #ffbe6b;--coral: #ff8a6c;--danger: #ff7f7f;--shadow: 0 28px 80px rgba(0, 0, 0, .35);font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-height:100%;background:#17201f;overscroll-behavior-y:contain}html,body,#root{width:100%}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at top left,rgba(143,240,216,.16),transparent 28%),radial-gradient(circle at top right,rgba(255,138,108,.16),transparent 34%),linear-gradient(180deg,#0d1018,#121927);background-color:#17201f;color:var(--text);overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}#root{min-height:100vh;min-height:100dvh}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;min-height:100dvh;position:relative;overflow-x:clip;overscroll-behavior-y:contain;background:radial-gradient(circle at top left,rgba(143,240,216,.16),transparent 28%),radial-gradient(circle at top right,rgba(255,138,108,.16),transparent 34%),linear-gradient(180deg,#0d1018,#121927);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.backdrop-grid{position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent);mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent);pointer-events:none}.app{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:24px 0 72px;position:relative;z-index:1}.eyebrow,.section-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.18em;color:var(--sun);font-size:.72rem}.welcome-screen h1,.panel h2,.panel h3{margin:0;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;letter-spacing:.01em}.welcome-screen h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:.98;max-width:12ch}.welcome-screen{min-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;justify-content:center;padding:32px 0 72px}.welcome-screen p:not(.eyebrow){max-width:48ch;color:var(--muted);font-size:1rem;line-height:1.55;margin:18px 0 0}.welcome-actions{margin-top:34px}.welcome-button{min-height:62px;padding:18px 30px;font-size:1.08rem}.summary-grid,.control-grid,.focus-grid{display:grid;gap:14px}.summary-card,.pool-card,.control-card,.focus-card,.library-card,.exercise-chip,.complete-item{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.summary-card span,.pool-card span,.control-head span{display:block;color:var(--muted);font-size:.82rem}.summary-card strong,.pool-card strong,.control-head strong{display:block;margin-top:6px;font-size:1.2rem}.panel{background:#090d16b8;border:1px solid rgba(255,255,255,.08);border-radius:30px;padding:24px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.panel-header,.session-topline,.action-row,.session-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-header{margin-bottom:20px}.panel-header.compact{margin-bottom:14px}.tab-bar{display:inline-flex;gap:4px;margin:0 0 18px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a}.tab-bar button{min-width:120px;border:0;border-radius:999px;padding:10px 16px;background:transparent;color:var(--muted);font-weight:800}.tab-bar button.active{color:#051118;background:linear-gradient(135deg,var(--mint),var(--sun))}.panel-note,.muted-copy,.session-meta,.cue-text,.summary-card small,.complete-item p{color:var(--muted)}.panel-note,.muted-copy,.complete-item p{margin:0;line-height:1.5}.focus-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.focus-card{appearance:none;text-align:left;padding:18px;border-radius:22px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.focus-card span{display:block;font-size:1.12rem;font-weight:700}.focus-card small{display:block;margin-top:10px;color:var(--muted);line-height:1.45}.focus-card.active,.chip.active,.exercise-chip.current{border-color:#8ff0d86b;background:linear-gradient(145deg,#8ff0d829,#ffbe6b1f);transform:translateY(-2px)}.control-grid{margin-top:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.control-card{display:block;padding:18px;border-radius:22px}.control-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.stepper{display:grid;grid-template-columns:84px 1fr 84px;gap:12px;margin-top:18px;align-items:stretch}.stepper-button{min-height:84px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:#ffffff0f;color:var(--text);font-size:2rem;font-weight:800;line-height:1;touch-action:manipulation}.stepper-button:hover{transform:translateY(-1px)}.stepper-value{display:grid;place-items:center;min-height:84px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;text-align:center;padding:10px}.stepper-value strong{font-size:1.8rem;line-height:1}.stepper-value small{margin-top:8px;color:var(--muted);font-size:.82rem}.equipment-block{margin-top:22px}.chip-row,.exercise-strip,.complete-list{display:flex;flex-wrap:wrap;gap:12px}.chip{padding:12px 16px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--text)}.pool-card{margin-top:14px;padding:12px 16px;border-radius:18px;text-align:center}.pool-card small{display:block;margin-top:6px;color:var(--muted);font-size:.82rem;line-height:1.45}.pool-card strong{margin-top:4px}.summary-grid{margin-top:22px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.summary-card{padding:18px;border-radius:22px}.summary-card small{display:block;margin-top:10px;line-height:1.45}.action-row{margin-top:24px}.exercise-library{margin-top:2px}.library-header{margin-bottom:14px}.library-header p,.library-card-details p{margin:0;color:var(--muted);line-height:1.5}.library-header p{max-width:58ch}.exercise-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.exercise-filter-row button{border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:#ffffff09;color:var(--muted);font-weight:800}.exercise-filter-row button.active{border-color:#8ff0d870;background:#8ff0d824;color:var(--text)}.exercise-filter-row span{margin-left:auto;color:var(--muted);font-size:.86rem}.exercise-library-grid{display:grid;gap:10px}.library-card{display:grid;overflow:hidden;border-radius:18px}.library-card.training-focus{border-color:#ffbe6b6b;background:linear-gradient(145deg,#ffbe6b1f,#8ff0d814)}.library-card-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;padding:13px 14px;background:transparent;color:var(--text);text-align:left}.library-card-summary strong{display:block;font-size:1.04rem}.library-card-summary small,.library-meta{color:var(--muted)}.library-card-summary small{display:block;margin-top:4px;font-size:.84rem}.library-status{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.library-status span{padding:6px 9px;border-radius:999px;background:#ffffff0d;color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.library-status b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#ffffff0f;color:var(--sun);font-size:1.1rem}.library-card-details{display:grid;gap:12px;padding:0 14px 14px}.focus-toggle{border:1px solid var(--line);border-radius:999px;padding:10px 12px;background:#ffffff0a;color:var(--text);font-size:.82rem;font-weight:800}.focus-toggle.active{border-color:#ffbe6b7a;background:#ffbe6b29;color:var(--sun)}.library-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.84rem}.library-meta span{padding:6px 9px;border-radius:999px;background:#ffffff0d}.skill-row{display:grid;gap:10px}.skill-row>span{color:var(--muted);font-size:.82rem}.skill-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.skill-button{display:grid;place-items:center;gap:2px;min-height:36px;border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:#ffffff09;color:var(--muted);font-weight:800;text-align:center;line-height:1.1}.skill-stars{display:block;min-height:1.1em}.skill-button.no-selection{grid-column:1 / -1;border-style:dashed;background:#ffffff05;color:#b8c0cfb8}.skill-button.active{border-color:#8ff0d870;background:#8ff0d824;color:var(--text)}.skill-button.no-selection.active{border-color:#ffffff2e;background:#ffffff0f;color:var(--muted)}.primary-button,.secondary-button,.ghost-button{border:0;border-radius:999px;transition:transform .18s ease,opacity .18s ease,background .18s ease}.primary-button,.secondary-button{padding:14px 22px;font-weight:700}.primary-button{color:#051118;background:linear-gradient(135deg,var(--mint),var(--sun))}.primary-button.large{min-width:140px;font-size:1.02rem}.secondary-button{color:var(--text);background:#ffffff14}.ghost-button{color:var(--muted);background:transparent;padding:6px 0}.primary-button:hover,.secondary-button:hover,.focus-card:hover,.chip:hover,.exercise-filter-row button:hover,.library-card-summary:hover,.focus-toggle:hover,.skill-button:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.error-banner{margin:20px 0 0;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,127,127,.35);background:#ff7f7f1f;color:#ffd3d3}.exit-dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#05080db8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.exit-dialog{width:min(420px,100%);padding:22px;border:1px solid var(--line);border-radius:24px;background:#0e121cfa;box-shadow:var(--shadow)}.exit-dialog h2{margin:0;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:2rem}.exit-dialog p{margin:12px 0 0;color:var(--muted);line-height:1.5}.exit-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.session-panel.work .timer-card{background:linear-gradient(180deg,#8ff0d81f,#ffffff0a)}.session-panel.rest .timer-card{background:linear-gradient(180deg,#ffbe6b1f,#ffffff0a)}.session-topline{margin-bottom:16px}.session-status{text-align:center}.session-status span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.progress-rail{width:100%;height:10px;border-radius:999px;background:#ffffff14;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--coral))}.timer-card{margin-top:18px;padding:30px 22px;border:1px solid var(--line);border-radius:30px;text-align:center}.phase-label{margin:0;color:var(--sun);letter-spacing:.22em;text-transform:uppercase;font-size:.82rem}.timer-card h2{font-size:clamp(4rem,18vw,7rem);line-height:.9;margin:10px 0 18px}.timer-card h3{font-size:clamp(1.8rem,4vw,2.6rem)}.session-meta{margin:10px 0 0}.next-exercise-name{margin:12px 0 0;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:800;line-height:.98}.cue-text{max-width:48ch;margin:16px auto 0;line-height:1.55}.session-controls{margin-top:20px}.exercise-strip{margin-top:22px}.exercise-chip-wrap{flex:1 1 180px;position:relative;min-width:180px}.exercise-chip{width:100%;border:1px solid var(--line);border-radius:20px;padding:14px 16px;background:#ffffff0b;color:var(--text);text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none}.exercise-chip.selected{border-color:#8ff0d88a;background:#8ff0d81f}.exercise-chip.replacement-target{border-color:#ffbe6b9e;background:#ffbe6b24}.exercise-chip span,.complete-item span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#ffffff14;color:var(--sun);font-weight:700}.exercise-chip strong,.complete-item strong{display:block;margin-top:12px}.exercise-chip small{display:block;margin-top:8px;color:var(--muted)}.customize-hint{margin:10px 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.exercise-detail-card,.replacement-card{display:grid;gap:14px;margin-top:14px;border:1px solid rgba(143,240,216,.28);border-radius:22px;padding:18px;background:#0c1218c7}.exercise-detail-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#02060a94}.exercise-detail-card.floating{width:min(100%,520px);max-height:min(78vh,620px);margin:0;overflow:auto;border-color:#8ff0d861;background:#0c1218f5;box-shadow:0 28px 70px #00000070}.exercise-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.exercise-detail-head h3,.exercise-detail-card p,.exercise-detail-card ul{margin:0}.exercise-detail-card p,.exercise-detail-card li{color:var(--muted);line-height:1.55}.exercise-detail-card ul{display:grid;gap:8px;padding-left:20px}.exercise-detail-meta{display:flex;flex-wrap:wrap;gap:8px}.exercise-detail-meta span{border-radius:999px;padding:7px 10px;background:#ffffff0f;color:var(--text);font-size:.82rem;font-weight:800}.detail-close-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#ffffff0f;color:var(--text);font-size:1.25rem;line-height:1}.replacement-dropdown{z-index:20;display:grid;gap:8px;margin-top:8px;min-width:min(320px,calc(100vw - 48px));border:1px solid rgba(255,190,107,.36);border-radius:18px;padding:10px;background:#0c1218fa;box-shadow:0 22px 48px #00000059}.replacement-dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--sun);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.replacement-dropdown-head button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:999px;background:#ffffff0f;color:var(--text);font-size:1rem;line-height:1}.replacement-dropdown-list{display:grid;gap:7px;max-height:min(42vh,320px);overflow:auto;padding-right:2px}.replacement-dropdown-list button{border:1px solid var(--line);border-radius:12px;padding:10px;background:#ffffff0b;color:var(--text);text-align:left}.replacement-dropdown-list button.already-selected{opacity:.68}.replacement-dropdown-list strong,.replacement-dropdown-list small{display:block}.replacement-dropdown-list small{margin-top:6px;color:var(--muted);line-height:1.35}.complete-panel .complete-list{margin-top:24px;flex-direction:column}.complete-item{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;border-radius:22px;padding:16px}@media(max-width:720px){.app{width:min(100% - 20px,680px);padding-top:20px}.panel,.timer-card{border-radius:24px}.panel-header,.library-header,.action-row,.session-topline,.session-controls{flex-direction:column;align-items:stretch}.welcome-screen{min-height:calc(100vh - 40px);padding:20px 0 56px}.tab-bar{display:grid;grid-template-columns:1fr 1fr}.tab-bar button{min-width:0}.library-card-summary{flex-direction:column;align-items:stretch}.library-status{justify-content:flex-start;margin-left:0}.focus-toggle{width:100%}.session-status{text-align:left}.complete-item{grid-template-columns:44px 1fr}.stepper{grid-template-columns:76px 1fr 76px}.stepper-button,.stepper-value{min-height:76px}}
