.mobile-skill-float-controls{display:none}
@media(min-width:901px){
  .setup .race-condition-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;align-items:stretch;gap:10px 14px}
  .setup .race-condition-row>.course-distance-row{display:grid;grid-column:1;grid-row:1 / span 2;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto auto;align-content:start;align-items:end;gap:8px 10px}
  .setup .race-condition-row>.course-distance-row>.course-select-field{min-width:0}
  .setup .race-condition-row>.course-distance-row>.turn-readonly{grid-column:1 / -1;justify-self:start;align-self:start;min-height:30px}
  .setup .race-condition-row>.race-strip{display:contents}
  .setup .race-condition-row>.race-strip>.race-choice{align-self:stretch;min-width:0}
  .setup .race-condition-row>.race-strip>.race-choice:nth-child(1){grid-column:2;grid-row:1}
  .setup .race-condition-row>.race-strip>.race-choice:nth-child(2){grid-column:2;grid-row:2}
  .setup .race-condition-row>.race-strip>.race-choice:nth-child(3){grid-column:3;grid-row:1}
  .setup .race-condition-row>.race-strip>.race-choice:nth-child(4){grid-column:3;grid-row:2}
  .setup .race-condition-row .choice-pills{min-width:0}
  .setup .race-condition-row .choice-pills button{font-size:11px;padding-inline:6px}
}
@media(max-width:900px){
  .mobile-skill-float-controls.visible{position:fixed;z-index:120;right:max(16px,env(safe-area-inset-right));bottom:calc(104px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:12px}
  .mobile-skill-float-button{width:54px;height:54px;border:1px solid #d9d9e6;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#f6f5fb);color:#754b2e;box-shadow:0 5px 16px #28213b2b,0 1px 3px #28213b18;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .mobile-skill-float-button:active{transform:scale(.96);background:#f1f3ff}
  .mobile-skill-float-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .mobile-skill-float-button.filter{color:#6c482e}
  .mobile-skill-float-button.top{color:#755034}
  .mobile-skill-filter-menu{position:absolute;right:0;bottom:calc(100% + 14px);width:min(310px,calc(100vw - 32px));max-height:min(72dvh,620px);overflow-y:auto;overscroll-behavior:contain;padding:10px;border:1px solid #e5e3ee;border-radius:18px;background:#fff;box-shadow:0 12px 32px #211c3633;display:grid;align-content:start;gap:10px;transform-origin:bottom right;animation:mobile-filter-in .16s ease-out}
  .mobile-skill-filter-menu[hidden]{display:none}
  .mobile-skill-menu-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .mobile-skill-menu-section h3{grid-column:1/-1;margin:0;padding:3px 4px;color:#78817a;font-size:11px;font-weight:800;letter-spacing:.03em}
  .mobile-skill-filter-menu button{min-height:44px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid transparent;border-radius:11px;background:#f8f8fb;color:#45475b;text-align:left;font-size:13px;font-weight:650;line-height:1.25;touch-action:manipulation}
  .mobile-skill-filter-menu button:after{content:"";width:9px;height:9px;border:2px solid #b8bac8;border-radius:50%}
  .mobile-skill-filter-menu button.active{background:#edf7f1;border-color:#c4e3d0;color:#27784e}
  .mobile-skill-filter-menu button.active:after{border-color:#318957;background:#318957;box-shadow:inset 0 0 0 2px #edf7f1}
  .mobile-skill-menu-section.actions .menu-action{min-height:44px;border-color:#dce9df;background:#f5faf6;color:#276c43;font-weight:750}
  .mobile-skill-menu-section.actions .menu-action:after{content:"↗";width:auto;height:auto;border:0;border-radius:0;color:#46845a;font-size:16px}
  .skill-area>.knowledge-setting{margin:0 0 12px;padding:10px 12px}
  .skill-area>.knowledge-setting>label{font-size:13px;font-weight:800}
  .skill-area>.knowledge-setting .knowledge-options button{min-height:42px;font-size:13px}
  @keyframes mobile-filter-in{from{opacity:0;transform:translateY(5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
}
