.lobby-actions #open-kicking-practice{width:280px;max-width:100%;min-height:52px}
.practice-heading{display:flex;align-items:center;gap:24px;margin-bottom:22px}
.practice-heading h1{font:700 clamp(30px,4vw,52px)/1 var(--display);letter-spacing:-.5px;margin:0}
.practice-heading h1:focus{outline:none}
.practice-heading .text-button{min-height:44px;white-space:nowrap}
.practice-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(340px,480px);gap:32px;max-width:900px;margin:auto}
.practice-controls{min-width:0}
.practice-player{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:20px}
.practice-player img{width:84px;height:84px;object-fit:contain;image-rendering:pixelated;background:#e3e9d6}
.practice-player strong{display:block;font:700 29px var(--display)}
.practice-player small{display:block;font:8px var(--mono);color:var(--muted);margin-top:5px}
.practice-rating{margin-left:auto;text-align:right}
.practice-rating span{display:block;font:9px var(--mono);letter-spacing:1px}
.practice-rating b{font:700 43px var(--display)}
#practice-settings{border:0;padding:0;margin:0;min-width:0}
.practice-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font:9px var(--mono);letter-spacing:.7px;margin:16px 0 8px}
.practice-label output{font-size:12px;letter-spacing:0;white-space:nowrap}
#practice-search,#practice-kicker{width:100%;min-width:0;min-height:44px;background:var(--paper);border:1px solid #a7b299;border-radius:0;color:var(--ink);padding:10px;font:12px var(--mono)}
#practice-search:focus-visible,#practice-settings input[type=range]:focus-visible{outline:3px solid #338d78;outline-offset:3px}
.practice-types{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:22px 0 18px}
.practice-types button{min-height:45px;padding:10px;background:var(--paper);border:1px solid #a7b299;font:700 19px var(--display)}
.practice-types button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--lime)}
#practice-settings input[type=range]{width:100%;margin:4px 0;min-height:32px;accent-color:var(--ink)}
.practice-fixed-spot{font:12px var(--mono);margin:24px 0;color:#53694f}
#practice-settings:disabled{opacity:.65}
.practice-stage{background:var(--ink);color:var(--paper);min-width:0;border:1px solid #173d35}
.practice-field-wrap{position:relative;height:clamp(330px,38vw,440px);overflow:hidden;background:#28684e}
#practice-field{width:100%;height:100%;display:block}
.practice-console{padding:16px}
.practice-result{min-height:62px;display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.practice-result strong{font:700 27px/1.05 var(--display);color:var(--lime)}
.practice-result span{font:10px/1.6 var(--mono);color:#c2d4b8}
.practice-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.practice-actions .primary-button{padding:11px 14px;font-size:20px;min-height:48px;gap:8px}
.practice-actions .outline-button{color:var(--paper);border-color:#637f61;justify-content:center;min-height:48px;font-size:10px}
.practice-actions button:disabled{opacity:.5}
.practice-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:#c2d4b8;font:9px var(--mono)}
.practice-tools .text-button{min-height:36px;color:inherit}
.practice-tools button:disabled{opacity:.4}
.practice-results{max-width:900px;margin:30px auto 0;border-top:1px solid var(--line);padding-top:16px}
.practice-results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.practice-results h2{font:700 24px var(--display);margin:0}
#practice-clear{min-height:44px}
#practice-clear:disabled{opacity:.4}
#practice-empty{font-size:12px;color:var(--muted)}
#practice-comparison{width:100%;border-collapse:collapse;margin-top:10px;text-align:left;font:11px/1.5 var(--mono)}
#practice-comparison th,#practice-comparison td{padding:13px 9px;border-bottom:1px solid var(--line);vertical-align:middle}
#practice-comparison thead th{font-weight:400;font-size:9px;color:var(--muted)}
#practice-comparison th:first-child{padding-left:0}
#practice-comparison th[scope=row]{font-weight:400}
#practice-comparison th[scope=row]>span{font:700 19px var(--display)}
#practice-comparison small{display:block;font:9px/1.6 var(--mono);color:#5d7056;margin-top:3px}
#practice-comparison span small{display:inline;margin-left:6px}
#practice-comparison td:nth-child(2){width:12%}
#practice-comparison td:last-child{width:36%;padding-right:0}
#practice-recent{margin-top:20px;font:10px var(--mono)}
#practice-recent summary{cursor:pointer;padding:12px 0}
#practice-recent ol{list-style:none;margin:0;padding:0}
#practice-recent li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);line-height:1.6}
#practice-recent small{display:block;color:var(--muted);font-size:9px}
#practice-recent b{text-align:right;font-weight:400}
@media(max-width:720px){
  .lobby-actions #open-kicking-practice{width:100%;min-height:46px}
  .practice-heading{gap:14px;margin-bottom:18px;align-items:center}
  .practice-heading h1{font-size:30px}
  .practice-layout{grid-template-columns:1fr;gap:20px}
  .practice-player{margin-bottom:12px;padding-bottom:10px}
  .practice-player img{width:62px;height:62px}
  .practice-player strong{font-size:27px}
  .practice-rating b{font-size:36px}
  .practice-types{margin:16px 0 12px}
  .practice-types button{font-size:18px}
  .practice-field-wrap{height:330px}
  .practice-console{padding:13px}
  .practice-result strong{font-size:25px}
  #practice-comparison{font-size:10px}
  #practice-comparison th,#practice-comparison td{padding:12px 6px}
  #practice-comparison span small{display:block;margin-left:0}
  #practice-comparison td:last-child{width:39%}
}
@media(max-width:359px){
  .practice-actions .primary-button{font-size:18px;padding:10px;gap:6px;white-space:nowrap}
  .practice-actions .primary-button span{font-size:18px}
  .practice-actions .outline-button{font-size:9px;padding:10px 7px}
}
