/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--spacing:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.row-1{grid-row:1}.contents{display:contents}.flex{display:flex}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.text-red-500{color:var(--color-red-500)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#0f1722;--panel:#0c1421b8;--panel-strong:#0e1827eb;--surface:#1a2940;--surface-soft:#223452;--text:#eff6ff;--muted:#9ab0ca;--line:#9ab0ca29;--brand:#70f0c0;--brand-deep:#173e35;--partner:#ff9f7a;--cardio:#8cb7ff;--warning:#ffd26d;--shadow:0 24px 70px #00000047;--radius-xl:32px;--radius-lg:22px;--radius-md:16px;--app-font:"Nunito", "M PLUS Rounded 1c", "PingFang SC", "Microsoft YaHei", sans-serif;--title-font:"Nunito", "M PLUS Rounded 1c", "PingFang SC", sans-serif;--mono-font:"Cascadia Code", "Consolas", monospace}[data-theme=light]{--bg:#fdfbf7;--panel:#ffffffd9;--panel-strong:#fffffffa;--surface:#f5f0e6;--surface-soft:#e8e0d5;--text:#2c2825;--muted:#8c8273;--line:#8c827326;--brand:#d4af37;--brand-deep:#fdfbf7;--partner:#e28743;--cardio:#6b9ac4;--warning:#e5a93b;--shadow:0 12px 40px #00000014}[data-theme=matcha]{--bg:#f3f6f0;--panel:#f8faf5d9;--panel-strong:#fffffffa;--surface:#e5eadc;--surface-soft:#d8e0cc;--text:#2c3e2d;--muted:#6b7a6c;--line:#2c3e2d1a;--brand:#70a05a;--brand-deep:#e8f0e1;--partner:#d97757;--cardio:#5c8d99;--warning:#d4a348;--shadow:0 12px 40px #2c3e2d0f}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:var(--bg);font-family:var(--app-font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;transition:background-color .4s,color .4s;overflow-x:hidden}body[data-theme=dark]{background:radial-gradient(circle at 0 0,#70f0c026,#0000 30%),radial-gradient(circle at 100% 0,#ff9f7a24,#0000 24%),linear-gradient(#081019,#101b2a 45%,#0d1522)}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:28px 16px 120px;position:relative}.ambient{filter:blur(70px);opacity:.25;pointer-events:none;border-radius:50%;width:320px;height:320px;position:fixed}.ambient-left{background:#70f0c057;top:-60px;left:-120px}.ambient-right{background:#ff9f7a38;bottom:60px;right:-120px}.app-frame{flex-direction:column;gap:20px;max-width:1180px;margin:0 auto;display:flex}.beta-login-card{max-width:480px;margin:10vh auto 0;padding:28px}.beta-login-card h1{font-family:var(--title-font);letter-spacing:-.04em;margin:8px 0 14px;font-size:clamp(2rem,5vw,3rem)}.beta-login-form{flex-direction:column;gap:14px;margin-top:20px;display:flex}.beta-login-field{flex-direction:column;gap:8px;display:flex}.beta-login-field span{color:var(--muted);font-size:.9rem}.beta-login-field input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text);outline:none;padding:14px 16px}.beta-login-field input:focus{border-color:#70f0c073}.beta-login-error{color:#ff8d8d;margin:0;font-size:.92rem}.beta-login-submit{justify-content:center;width:100%;margin-top:6px}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.app-header h1{font-family:var(--title-font);letter-spacing:-.04em;margin:6px 0 10px;font-size:clamp(2.6rem,5vw,4.6rem);line-height:.95}.app-eyebrow,.section-kicker{font-family:var(--mono-font);letter-spacing:.2em;text-transform:uppercase;color:var(--warning);margin:0;font-size:.74rem}.onboarding-step{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:40px;min-height:70vh;display:flex}.onboarding-content{flex-direction:column;align-items:center;gap:16px;display:flex}.magazine-tag{font-family:var(--mono-font);letter-spacing:.1em;color:var(--brand);border:1px solid var(--brand);border-radius:20px;margin-bottom:12px;padding:4px 12px;font-size:.8rem}.magazine-title{font-family:var(--title-font);letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:4rem;font-weight:800;line-height:.9}.magazine-title-sm{font-family:var(--title-font);margin:0;font-size:2.5rem;font-weight:700;line-height:1}.magazine-line{background:var(--brand);width:60px;height:4px;margin:16px 0}.onboarding-subtitle{color:var(--muted);margin:0;font-size:1.2rem}.pixel-btn{background:var(--brand);color:var(--bg);border:none;border-radius:12px;align-items:center;gap:8px;padding:16px 32px;font-size:1.1rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 8px 24px #70f0c033}.pixel-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #70f0c04d}.avatar-upload-box{border-radius:var(--radius-lg);background:var(--surface);border:2px dashed var(--line);cursor:pointer;justify-content:center;align-items:center;width:160px;height:160px;margin-top:24px;transition:all .2s;display:flex;overflow:hidden}.avatar-upload-box:hover{border-color:var(--brand);background:var(--surface-soft)}.upload-placeholder{color:var(--muted);flex-direction:column;align-items:center;gap:12px;display:flex}.upload-placeholder span{font-size:.9rem}.pixelated-avatar{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:4px}.pixelated-avatar-fill{grid-area:1/1/-1/-1;display:block}.hidden-input{display:none}.gold-icon{color:var(--warning);margin-bottom:16px}.invite-code-box{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:320px;margin-top:24px;padding:24px}.invite-label{color:var(--muted);margin:0 0 12px;font-size:.9rem}.invite-row{background:var(--bg);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.invite-code{font-family:var(--mono-font);letter-spacing:.04em;color:var(--brand);word-break:break-all;font-size:.95rem;font-weight:700}.invite-actions{gap:8px;display:flex}.icon-button{color:var(--muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.icon-button:hover{background:var(--surface-soft);color:var(--text)}.success-text{color:var(--brand)}.waiting-box{flex-direction:column;align-items:center;gap:16px;margin-top:32px;display:flex}.pair-panel{width:100%;margin-top:24px}.pair-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.pair-connect-box,.pair-login-box{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);padding:18px}.pair-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.pair-connect-btn{min-width:140px}.pair-status{color:var(--muted);margin:14px 0 0;font-size:.92rem}.pulse-dots{gap:8px;display:flex}.pulse-dots .dot{background:var(--brand);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}.pulse-dots .dot:nth-child(2){animation-delay:.2s}.pulse-dots .dot:nth-child(3){animation-delay:.4s}@keyframes pulse{50%{opacity:.5}}.simulate-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.9rem;text-decoration:underline}.simulate-btn:hover{color:var(--text)}.app-subtitle{max-width:620px;color:var(--muted);margin:0;font-size:1rem;line-height:1.7}.header-actions{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.cloud-sync-actions{flex-wrap:wrap;gap:8px;display:flex}.theme-switcher{background:var(--surface);border:1px solid var(--line);border-radius:20px;gap:4px;padding:4px;display:flex}.theme-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:16px;padding:4px 10px;font-size:11px;transition:all .2s}.theme-btn.active{background:var(--brand);color:var(--brand-deep);font-weight:600}.safe-badge,.partner-chip,.legend-pill,.score-pill,.muscle-chip,.chip-button,.status-toggle,.secondary-button,.primary-button,.summary-toggle{border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;display:inline-flex}.safe-badge,.partner-chip{background:var(--surface);color:var(--text);padding:10px 14px}.partner-chip{transition:transform .2s,border-color .2s}.partner-chip:hover{border-color:#70f0c059;transform:translateY(-1px)}.content-stack{flex-direction:column;gap:18px;display:flex}.hero-board,.glass-panel,.metric-chart,.match-card{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.hero-board,.glass-panel,.match-card{border-radius:var(--radius-xl)}.hero-board{grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);gap:28px;padding:28px;display:grid;position:relative;overflow:hidden}.hero-board:after{content:"";opacity:.35;pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:24px 24px;position:absolute;top:0;right:0;bottom:0;left:0}.hero-copy{z-index:1;position:relative}.hero-copy h2,.glass-panel h3,.metric-chart h3,.match-copy h3{font-family:var(--title-font);letter-spacing:-.03em;margin:8px 0 12px;font-size:clamp(1.45rem,3vw,2.2rem)}.hero-copy p:last-child,.match-copy p,.muted-copy,.helper-copy,.feature-list,.calendar-detail p,.match-meta{color:var(--muted);line-height:1.7}.hero-stage{justify-content:center;align-items:center;gap:40px;min-height:300px;display:flex;position:relative}.sync-orb{background:radial-gradient(circle,#70f0c0d9,#70f0c02e 38%,#0000 70%);border-radius:50%;width:80px;height:80px;position:absolute}.pixel-buddy-wrap{z-index:1;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.pixel-buddy-label{background:var(--surface);border:1px solid var(--line);font-family:var(--mono-font);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:6px 12px;font-size:.72rem}.pixel-buddy{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);border-radius:28px;grid-template-columns:repeat(8,1fr);gap:4px;width:160px;padding:16px;display:grid}.pixel-cell{border-radius:4px;box-shadow:inset 0 1px #ffffff14}.stat-grid,.dual-column,.body-layout,.calendar-summary-grid{gap:16px;display:grid}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-panel{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);padding:18px 20px}.stat-panel span,.stat-panel small{color:var(--muted)}.stat-panel strong{margin:10px 0 8px;font-size:2rem;line-height:1;display:block}.metric-chart{border-radius:var(--radius-xl);background:var(--surface);padding:24px}.metric-chart-head,.panel-head,.body-title-row,.match-title-row{justify-content:space-between;gap:16px;display:flex}.metric-legend,.toggle-pair,.composer-actions,.calendar-nav{flex-wrap:wrap;gap:10px;display:flex}.legend-pill,.safe-badge,.partner-chip,.score-pill{font-family:var(--mono-font);font-size:.8rem}.legend-pill{padding:10px 12px}.weight-pill{background:#70f0c01f}.fat-pill{background:#ff9f7a1f}.metric-svg{width:100%;height:220px;margin-top:12px}.metric-grid-line{stroke:#9ab0ca1f;stroke-width:1px}.metric-zero-line{stroke:#ffffff47;stroke-width:1.5px;stroke-dasharray:6 6}.metric-path{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.metric-path-weight,.metric-dot-weight{stroke:var(--brand);fill:var(--brand)}.metric-path-fat,.metric-dot-fat{stroke:var(--partner);fill:var(--partner)}.metric-footer{color:var(--muted);font-family:var(--mono-font);grid-template-columns:repeat(8,1fr);gap:8px;font-size:.72rem;display:grid}.metric-empty-state{margin-top:14px}.dual-column{grid-template-columns:repeat(2,minmax(0,1fr))}.glass-panel{padding:24px}.feature-list,.plain-list{margin:0;padding-left:18px}.feature-list li,.plain-list li{margin:10px 0}.chip-row{flex-wrap:wrap;gap:10px;display:flex}.muscle-chip,.chip-button{background:var(--surface);color:var(--text);padding:8px 14px}.active-chip,.chip-button.active{background:#70f0c024;border-color:#70f0c052}.panel-head{margin-bottom:20px}.panel-head.compact{align-items:center}.status-toggle,.secondary-button,.primary-button,.summary-toggle{background:var(--surface);color:var(--text);padding:10px 14px;transition:transform .18s,border-color .18s}.status-toggle.active,.summary-toggle.active{background:#70f0c029;border-color:#70f0c057}.status-toggle.partner.active,.summary-toggle.partner.active{background:#ff9f7a29;border-color:#ff9f7a57}.summary-toggle.cardio.active{background:#8cb7ff24;border-color:#8cb7ff57}.secondary-button,.primary-button{font-family:var(--mono-font)}.secondary-button.recording{background:#ff9f7a24;border-color:#ff9f7a59}.primary-button,.selected-button{background:linear-gradient(135deg,#70f0c038,#70f0c014);border-color:#70f0c057}.primary-button:hover,.secondary-button:hover,.status-toggle:hover,.summary-toggle:hover,.chip-button:hover{transform:translateY(-1px)}.exercise-stack,.match-list{flex-direction:column;gap:12px;display:flex}.exercise-row,.composer-grid,.search-box{gap:10px;display:grid}.exercise-row{grid-template-columns:1.2fr 1fr auto}.composer-grid{grid-template-columns:1.2fr 1fr}.exercise-row input,.composer-grid input,.search-box input,.minutes-input input,textarea{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text);outline:none;padding:14px 16px}.icon-button{border:1px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--text);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.composer-card{border-radius:var(--radius-lg);background:var(--surface);border:1px dashed #9ab0ca42;margin-top:16px;padding:16px}.helper-copy{margin:12px 0 0;font-size:.9rem}.minutes-input{align-items:center;gap:12px;margin-top:18px;display:inline-flex}.minutes-input span,.minutes-input strong{color:var(--muted)}.minutes-input input{text-align:center;width:110px}textarea{resize:vertical;min-height:170px}.legend-row,.calendar-dots,.match-meta{flex-wrap:wrap;gap:14px;display:flex}.legend-row{color:var(--muted);margin-bottom:18px}.dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.me-dot{background:var(--brand)}.partner-dot{background:var(--partner)}.cardio-dot{background:var(--cardio)}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.weekday-cell{text-align:center;color:var(--muted);font-family:var(--mono-font);font-size:.76rem}.calendar-cell{border:1px solid var(--line);background:var(--surface);min-height:92px;color:var(--text);border-radius:18px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:12px;display:flex}.calendar-cell strong{font-size:1.02rem}.calendar-cell.selected{border-color:var(--brand);background:var(--brand-light)}.calendar-cell.faded{opacity:.45}.calendar-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.calendar-detail{grid-template-columns:1.15fr .85fr;gap:22px;display:grid}.body-layout{justify-content:center;align-items:center;padding:20px 0;display:flex}.body-map-container{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:300px;display:flex}.body-map-toggle{background:var(--surface-soft);border-radius:20px;padding:4px;display:flex}.body-map-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:16px;padding:6px 16px;font-size:14px;font-weight:600;transition:all .2s}.body-map-toggle button.active{background:var(--brand);color:var(--brand-deep)}.body-map-svg{width:100%;height:auto;overflow:visible}.body-part-head{fill:var(--surface-soft)}.body-part{fill:var(--surface-soft);stroke:var(--line);stroke-width:2px;cursor:pointer;transition:all .3s}.body-part:hover{fill:var(--surface-hover)}.body-part.active{fill:var(--brand);stroke:var(--brand-deep)}.body-part-text{fill:var(--muted);text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-size:12px;font-weight:600;transition:fill .3s}.body-part.active+.body-part-text,.body-part.active~.body-part-text{fill:var(--brand-deep)}.cardio-focus{justify-content:space-between;align-items:center;gap:20px;display:flex}.search-box{border:1px solid var(--line);background:var(--surface);border-radius:999px;grid-template-columns:auto 1fr;align-items:center;min-width:280px;padding:0 14px}.search-box input{background:0 0;border:none;padding-left:0}.match-list{gap:16px}.match-card{grid-template-columns:180px 1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.match-card.current{border-color:#70f0c066}.match-avatar{justify-content:center;align-items:center;display:flex}.match-copy p{margin-top:0}.match-meta{font-size:.92rem}.voice-message-section{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.voice-record-btn{border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text);border:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:500;transition:all .2s;display:flex}.voice-record-btn:active{transform:scale(.98)}.voice-record-btn.recording{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.voice-player-wrap{align-items:center;gap:12px;display:flex}.voice-player{border-radius:20px;flex:1;height:40px}.icon-btn.danger{color:#ef4444;background:#ef44441a;border:none}.icon-btn.danger:hover{background:#ef444433}.score-pill{background:#70f0c01f;padding:8px 12px}.empty-state{border-radius:var(--radius-lg);color:var(--muted);border:1px dashed #9ab0ca42;padding:18px 20px}.tab-bar{z-index:30;background:var(--panel-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px;display:grid;position:sticky;bottom:16px}.tab-button{min-height:62px;color:var(--muted);background:0 0;border:none;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.tab-button.active{color:var(--text);background:#70f0c01c;box-shadow:inset 0 0 0 1px #70f0c03d}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:#70f0c047;border-radius:999px}@media(max-width:980px){.app-header,.hero-board,.metric-chart-head,.panel-head,.cardio-focus,.match-card{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.header-actions{align-items:flex-start}.hero-stage{min-height:220px}.stat-grid,.dual-column,.body-layout,.calendar-summary-grid,.calendar-detail,.pair-grid{grid-template-columns:1fr}.match-card{flex-direction:column;display:flex}}@media(max-width:720px){.app-shell{padding:20px 12px 110px}.app-header h1{font-size:2.8rem}.hero-board,.glass-panel,.metric-chart,.match-card{border-radius:24px;padding:18px}.hero-board{gap:16px}.pixel-buddy{gap:3px;width:124px}.exercise-row,.composer-grid{grid-template-columns:1fr}.search-box{min-width:0}.calendar-cell{min-height:76px;padding:10px}.body-figure{width:100%;max-width:220px}.tab-bar{gap:8px}.tab-button span{font-size:.75rem}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal-content{background:var(--bg);width:100%;max-width:400px;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:24px;flex-direction:column;max-height:90vh;display:flex}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{margin:0;font-size:1.1rem}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex;overflow-y:auto}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--muted);font-size:.85rem;font-weight:500}.form-group input{border:1px solid var(--line);background:var(--surface);color:var(--text);font-family:var(--app-font);border-radius:12px;outline:none;padding:12px 16px;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:var(--brand)}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;padding:20px 24px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}
