:root{--paper: #faf6ee;--ink: #1a1a1a;--ink-soft: #2d2d2d;--muted: #565248;--faint: #b5b0a3;--accent: #ff5a1f;--accent-2: #ffd23f;--accent-3: #2ec4b6;--accent-4: #e71d36;--accent-5: #3a86ff;--accent-6: #8338ec;--accent-work: #ff6b35;--accent-rest: #1b493e;--accent-rest-text: #06d6a0;--brand: var(--accent);--highlight: var(--accent-2);--success: var(--accent-3);--error: var(--accent-4);--info: var(--accent-5);--r-sm: 8px;--r-md: 12px;--r-lg: 14px;--r-xl: 18px;--r-pill: 99px;--shadow-ink: #1a1a1a;--surface: #ffffff;--surface-strong: #1a1a1a;--on-strong: #fbf8f1;--border: var(--ink);--shadow-sm: 2px 2px 0 var(--shadow-ink);--shadow-md: 3px 3px 0 var(--shadow-ink);--shadow-lg: 4px 4px 0 var(--shadow-ink)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}html{background:var(--paper);color:var(--ink);font-family:Archivo,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;user-select:none;-webkit-user-select:none}body{min-height:100vh;min-height:100dvh;background:var(--paper)}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%;max-width:480px;margin:0 auto;position:relative;overflow:hidden;background:var(--paper)}@media (min-width: 768px){body{background:var(--paper)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#00000008,#00000012);z-index:-1;pointer-events:none}#root{max-width:700px;min-height:100vh;border-left:2.5px solid var(--border);border-right:2.5px solid var(--border);box-shadow:0 0 0 1px #0000000f,0 4px 24px #00000014}}@media (min-width: 1024px){#root{max-width:800px;box-shadow:0 0 0 1px #00000014,0 8px 40px #0000001f}}.responsive-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 600px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.responsive-grid.responsive-grid-3col{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.tablet-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.tablet-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.tablet-split-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start}.exercise-detail-grid{display:grid;grid-template-columns:240px 1fr;grid-template-areas:"photo title" "photo info" "meta  info" "video info";gap:14px 24px;align-items:start}.ex-grid-photo{grid-area:photo;margin:0!important;width:240px!important;height:240px!important}.ex-grid-title{grid-area:title;text-align:left!important}.ex-grid-meta{grid-area:meta;justify-content:flex-start!important}.ex-grid-info{grid-area:info;margin-top:0!important}.ex-grid-video{grid-area:video;margin-top:10px!important}}input,textarea{user-select:auto;-webkit-user-select:auto}button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0;color:inherit;-webkit-tap-highlight-color:transparent}button:focus{outline:none}button:focus-visible{outline:3px solid var(--info);outline-offset:2px;border-radius:4px}a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--info);outline-offset:2px;border-radius:4px}button:active{transform:translateY(1px)}.display{font-family:Archivo Black,sans-serif;letter-spacing:-1.5px;line-height:.95}.black{font-family:Archivo Black,sans-serif;letter-spacing:-.3px}.hand{font-family:Caveat,cursive}.marker{position:relative;display:inline-block;padding:0 4px;background:linear-gradient(transparent 60%,var(--accent-2) 60% 92%,transparent 92%)}.scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll::-webkit-scrollbar{display:none}.scroll{scrollbar-width:none}.page-enter{animation:pageIn .28s cubic-bezier(.2,.8,.2,1) both}@keyframes pageIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.fade-in{animation:fade .25s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse-bg{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}.pulse-bg{animation:pulse-bg 1s ease-in-out infinite}@keyframes count-pop{0%{transform:scale(.92);opacity:.7}to{transform:scale(1);opacity:1}}.count-pop{animation:count-pop .25s ease both}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease-out both}.bottom-sheet-content{background:var(--paper);width:100%;max-width:450px;border-top-left-radius:20px;border-top-right-radius:20px;border-top:3.5px solid var(--border);border-left:2.5px solid var(--border);border-right:2.5px solid var(--border);max-height:85vh;display:flex;flex-direction:column;padding:16px 18px 24px;animation:slideUp .28s cubic-bezier(.16,1,.3,1) both;box-shadow:0 -4px 10px #0000001a;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.nav-active:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:0;width:24px;height:3px;background:var(--accent);border-radius:2px}@keyframes confetti{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(900px) rotate(720deg);opacity:0}}.confetti{position:absolute;width:10px;height:10px;border-radius:2px;animation:confetti 2.4s ease-in forwards}.app-shell{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--paper);position:relative;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.input-wrap{display:flex;flex-direction:column;border:2.5px solid var(--border);border-radius:var(--r-md);padding:8px 12px;background:var(--surface);transition:box-shadow .15s,transform .15s}.input-wrap.focus,.input-wrap:focus-within{box-shadow:3px 3px 0 var(--shadow-ink);transform:translate(-1px,-1px)}.input-wrap label{font-size:9px;font-weight:800;letter-spacing:.5px;color:var(--muted);text-transform:uppercase}.input-wrap input{border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);padding:4px 0;width:100%}.btn{font-family:Archivo Black,sans-serif;letter-spacing:.3px;border:2.5px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s,box-shadow .12s}.btn-primary{background:var(--accent);color:#1a1a1a;box-shadow:4px 4px 0 var(--shadow-ink)}.btn-primary:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--shadow-ink)}.btn-dark{background:var(--surface-strong);color:var(--on-strong);box-shadow:4px 4px 0 var(--accent)}.btn-dark:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent)}.btn-secondary{background:var(--paper);color:var(--ink);box-shadow:3px 3px 0 var(--shadow-ink)}.btn-ghost{background:transparent;border:none;color:var(--muted);padding:8px;font-size:13px;box-shadow:none}.btn-block{width:100%}.btn:disabled,.btn[disabled]{cursor:not-allowed;box-shadow:none}.btn-dark:disabled,.btn-dark[disabled],.btn-primary:disabled,.btn-primary[disabled]{background:var(--surface);color:var(--muted);border:2.5px solid var(--border)}.warn-rx{background:#ff5a1f14;border:1.5px solid var(--accent);color:var(--accent)}[data-theme=dark] .warn-rx{background:#ff5a1f29;border-color:#ff8a5c;color:#ff8a5c}.divider{display:flex;align-items:center;text-align:center;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:14px 0 8px}.divider:before,.divider:after{content:"";flex:1;border-top:1px dashed var(--faint)}.divider:before{margin-right:10px}.divider:after{margin-left:10px}.phone-screen{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--paper);color:var(--ink)}[data-theme=dark]{--paper: #181510;--ink: #ece4d4;--muted: #a99e89;--faint: #857c6b;--shadow-ink: rgba(0, 0, 0, .7);--surface: #24201a;--surface-strong: #2d2820;--on-strong: #ece4d4;--border: rgba(236, 228, 212, .12);--accent-5: #6aa6ff;--accent-6: #b07ff0;color-scheme:dark}[data-theme=dark] .nav-active span{color:var(--accent)}[data-theme=dark] input,[data-theme=dark] textarea{background:var(--surface);color:var(--ink);border-color:var(--border)}[data-theme=dark] .marker{background:var(--accent-2);color:#1a1a1a;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.nb-card{border:2px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-md);transition:transform .12s,box-shadow .12s}.nb-card-soft{border:1.5px solid var(--border);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .12s}@keyframes pulseHighlight{0%{transform:scale(1);color:var(--accent)}50%{transform:scale(1.12);color:var(--accent-4)}to{transform:scale(1);color:var(--ink)}}.pulse-highlight{animation:pulseHighlight .4s ease-out;display:inline-block}@keyframes spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-icon{animation:spin-anim .5s ease-in-out}@keyframes card-pop{0%{transform:scale(.96);opacity:.7}to{transform:scale(1);opacity:1}}.card-reroll{animation:card-pop .4s cubic-bezier(.175,.885,.32,1.275)}@media (orientation: landscape){.training-stage{flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:24px!important;padding:6px 24px!important}.training-photo-container{width:45%!important;max-width:45vw!important;height:auto!important;max-height:100%!important;aspect-ratio:1 / 1!important;flex-shrink:0!important}.training-info-container{flex:1!important;align-items:flex-start!important;text-align:left!important}}.flip-card-container{perspective:1000px;cursor:pointer}.flip-card-inner{position:relative;width:100%;height:110px;transition:transform .6s cubic-bezier(.175,.885,.32,1.275);transform-style:preserve-3d}.flip-card-container.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column}.flip-card-back{transform:rotateY(180deg)}@keyframes splash-bounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1);opacity:1}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes splash-circle-out{0%{clip-path:circle(150% at 50% 50%);opacity:1}to{clip-path:circle(0% at 50% 50%);opacity:0}}@keyframes splash-fade-out{0%{opacity:1}to{opacity:0;visibility:hidden}}.splash-container{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#111;z-index:99999;display:flex;align-items:center;justify-content:center}.splash-container.hiding{animation:splash-circle-out .8s cubic-bezier(.7,0,.3,1) forwards}.splash-container.fade{animation:splash-fade-out .5s ease forwards}.splash-logo{animation:splash-bounce .8s cubic-bezier(.175,.885,.32,1.275) forwards;width:90px;height:90px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px #ff6b3566}
