@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap";:root{--content-width: 998px;--card-width: 190px;--grid-gap: 12px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:#fff;color:#18181b;font-family:Outfit,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif}button{font:inherit}.app-shell{min-height:100dvh;position:relative;overflow-x:hidden;padding:22px 36px;background:#fff}.bg-mesh{display:none}.page-panel{position:relative;max-width:var(--content-width);min-height:calc(100dvh - 44px);margin:0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.app-header{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:14px;align-items:center;margin-bottom:14px}.app-header h1{margin:0;color:#18181b;font-size:28px;line-height:1;letter-spacing:-.03em;font-weight:800}.result-count{min-width:116px;padding:8px 14px;border:1px solid #18181b;border-radius:999px;color:#18181b;background:#fff;text-align:center;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;font-weight:700;box-shadow:inset 0 -2px #18181b14}.filter-bar{display:grid;grid-template-columns:minmax(260px,.95fr) repeat(3,minmax(142px,.46fr)) auto;gap:12px;align-items:end;margin-bottom:20px;padding:0;border:0;border-radius:0;background:transparent}.filter-bar .field{display:grid;gap:5px;min-width:0}.filter-bar .field>span{height:16px;color:#71717a;font-size:12px;font-weight:700;letter-spacing:.02em;line-height:16px}.filter-bar .ant-input-affix-wrapper,.filter-bar .ant-select{height:40px}.filter-bar .ant-input-affix-wrapper,.filter-bar .ant-select-selector{min-height:40px;height:40px!important;border-color:#d8d8d2!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important}.filter-bar .ant-input-affix-wrapper{display:flex;align-items:center;padding-top:0;padding-bottom:0}.filter-bar .ant-input-prefix,.filter-bar .ant-input-clear-icon{display:flex;align-items:center;height:100%}.filter-bar .ant-input{line-height:1.2}.filter-bar .ant-select-selector{display:flex!important;align-items:center!important;padding-top:0!important;padding-bottom:0!important}.filter-bar .ant-select-selection-wrap{display:flex!important;align-items:center!important;align-self:stretch!important;height:40px!important;min-width:0}.filter-bar .ant-select-selection-search,.filter-bar .ant-select-selection-item,.filter-bar .ant-select-selection-placeholder{display:flex!important;align-items:center!important;height:100%!important;line-height:1.2!important}.filter-bar .ant-select-selection-search-input{height:40px!important}.filter-bar .ant-select-arrow,.filter-bar .ant-select-clear{display:flex;align-items:center;justify-content:center;width:16px;height:16px;top:50%;transform:translateY(-50%);margin-top:0;line-height:1}.filter-bar .ant-select-arrow .anticon,.filter-bar .ant-select-clear .anticon{display:flex;align-items:center;justify-content:center}.filter-bar .ant-input-affix-wrapper:hover,.filter-bar .ant-select-selector:hover{border-color:#18181b!important}.filter-actions{display:flex;gap:10px;justify-content:flex-end;white-space:nowrap}.filter-actions .ant-btn{min-width:82px;height:40px;box-shadow:none}.filter-actions .ant-btn-primary{background:#18181b}.ant-select-clear{color:#a1a1aa}.ant-select-clear:hover{color:#18181b}.ant-select-dropdown{padding:6px;border:1px solid #d8d8d2;border-radius:12px;background:#fff;box-shadow:0 18px 44px #18181b1f}.ant-select-dropdown .ant-select-item{min-height:34px;margin:2px 0;border-radius:8px;color:#18181b;font-size:14px;font-weight:600}.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){background:#f3f3ef!important}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:#f7f7f3!important;box-shadow:inset 0 0 0 1px #18181b;color:#18181b;font-weight:800}.ant-select-dropdown .ant-select-item-option-selected .ant-select-item-option-state{color:#18181b}.exercise-grid{display:grid;grid-template-columns:repeat(5,var(--card-width));gap:var(--grid-gap);width:min(100%,var(--content-width));margin:0 auto}.exercise-card{width:100%;min-width:0;overflow:hidden;padding:0;border:1px solid #e1e1dc;border-radius:12px;color:inherit;text-align:left;background:#fff;cursor:pointer;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.exercise-card:hover{transform:translateY(-3px);border-color:#18181b;box-shadow:0 16px 34px #18181b1a}.exercise-card:active{transform:translateY(-1px) scale(.99)}.gif-frame{position:relative;aspect-ratio:1.16/1;display:grid;place-items:center;border-bottom:1px solid #eeeeea;background:#fff}.gif-frame img{width:100%;height:100%;object-fit:contain;display:block;opacity:0}.gif-frame img.is-loaded{opacity:1}.gif-placeholder{position:absolute;top:10px;right:10px;bottom:10px;left:10px;display:block}.gif-placeholder .ant-skeleton-element,.gif-placeholder .ant-skeleton-image{width:100%!important;height:100%!important}.gif-placeholder .ant-skeleton-image{border-radius:10px}.card-copy{min-height:92px;padding:10px 11px 11px}.card-copy strong{display:-webkit-box;min-height:40px;overflow:hidden;color:#18181b;font-size:14px;line-height:1.42;font-weight:800;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tag-row,.muscle-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.modal-info .muscle-tags{margin-top:14px;margin-bottom:24px}.tag-row .ant-tag,.muscle-tags .ant-tag{margin:0;border:1px solid #dfdfd8;border-radius:999px;background:#f6f6f2;color:#5f5f58;font-size:12px}.skeleton-card{overflow:hidden;padding:12px;border:1px solid #e1e1dc;border-radius:12px;background:#fff}.skeleton-card .ant-skeleton-element{display:block;width:100%}.skeleton-card .ant-skeleton-image{width:100%!important;height:164px!important;border-radius:9px;margin-bottom:12px}.skeleton-card .ant-skeleton{padding:0}.skeleton-copy{display:grid;gap:12px}.skeleton-title-line,.skeleton-tag-line{display:block;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.5) 37%,transparent 63%),#eeeeeb;background-size:400% 100%,100% 100%;animation:skeleton-line-loading 1.4s ease infinite}.skeleton-title-line{width:42%;height:18px}.skeleton-tag-line{width:62%;height:22px}@keyframes skeleton-line-loading{0%{background-position:100% 50%,0 0}to{background-position:0 50%,0 0}}.empty-state{grid-column:1/-1;padding:54px 0}.pager-row{display:flex;justify-content:center;margin-top:14px;padding-top:14px;border-top:1px solid #e7e7e1}.exercise-modal .ant-modal-content{overflow:hidden;padding:0;border:1px solid #d8d8d2;border-radius:18px;background:#fff;box-shadow:0 30px 80px #18181b33}.exercise-modal .ant-modal-close{color:#18181b}.modal-content{display:grid;grid-template-columns:minmax(320px,1fr) minmax(300px,.86fr);gap:0;max-height:min(760px,86dvh)}.modal-media{display:grid;place-items:center;min-height:430px;background:#fff}.modal-media img{width:auto;height:auto;max-width:min(88%,520px);max-height:620px;object-fit:contain}.modal-info{overflow-y:auto;padding:26px;border-left:1px solid #e7e7e1}.modal-info h2{margin:0 0 16px;color:#18181b;font-size:25px;line-height:1.18;letter-spacing:-.02em}.modal-info .ant-descriptions-item-label{color:#71717a}.modal-info .ant-descriptions-item-content{color:#18181b;font-weight:700}.step-list{margin:28px 0 0;padding-left:20px;color:#27272a;font-size:15px;line-height:1.75}.step-list li+li{margin-top:7px}.primary-muscle-tag.ant-tag{border-color:#18181b;background:#18181b;color:#fff;font-weight:800}@media(max-width:1180px){.filter-bar{grid-template-columns:minmax(220px,.95fr) repeat(3,minmax(120px,.48fr)) auto;gap:10px}}@media(max-width:760px){.app-shell{padding:10px}.page-panel{min-height:calc(100dvh - 20px)}.app-header{grid-template-columns:1fr auto}.app-header h1{font-size:24px}.result-count{min-width:auto;padding:7px 10px;font-size:12px}.filter-bar{grid-template-columns:1fr}.filter-actions{justify-content:stretch}.filter-actions .ant-btn{flex:1}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}.card-copy{min-height:88px;padding:9px}.card-copy strong{min-height:38px;font-size:13px}.modal-content{grid-template-columns:1fr;max-height:88dvh}.modal-media{min-height:280px}.modal-info{padding:18px;border-left:0;border-top:1px solid #e7e7e1}.modal-info h2{font-size:21px}.step-list{font-size:14px}}
