.practice-stage .practice-progress{border:1px solid #343434;border-radius:12px;margin-bottom:26px}
.practice-stage h2{font-size:24px;line-height:1.5}
.practice-selector h2{margin-bottom:14px}
.practice-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:28px}
.practice-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:106px;padding:16px 10px;border:1px solid #343434;background:#050505;color:#f7f5f0;border-radius:12px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.practice-tabs button svg{width:34px;height:34px;color:inherit}
.practice-tabs button[aria-pressed=true]{background:#f5f5f5;color:#101010;border-color:#f5f5f5}
.practice-tabs button:hover{border-color:#999}
.practice-results-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.practice-results-head p{color:#aaa;margin-top:4px}
.practice-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.practice-controls input,.practice-controls select{background:#050505;color:#f7f5f0;border:1px solid #555;border-radius:10px;min-height:46px;padding:10px 14px;font:inherit;max-width:100%}
.practice-controls input{width:220px}
.practice-v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.practice-v2-card{border:1px solid #454545;border-radius:14px;padding:22px;min-width:0;background:#050505;display:flex;flex-direction:column;overflow:hidden}
.practice-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;color:#bbb}
.practice-card-top>span:first-child{display:flex;align-items:center;gap:9px}
.practice-card-top svg{width:22px;height:22px}
.practice-difficulty{border:1px solid #626262;padding:3px 16px;border-radius:100px;white-space:nowrap}
.practice-card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;flex:1;min-height:228px}
.practice-card-copy{align-self:start;padding-top:22px;position:relative;z-index:1}
.practice-card-copy h3{font-size:25px;line-height:1.6}
.practice-card-copy p{font-size:15px;line-height:1.9;color:#bbb;margin-top:10px;overflow-wrap:anywhere}
.practice-card-art{min-width:0;align-self:center}
.practice-card-art svg{display:block;width:100%;height:auto;overflow:visible}
.practice-card-art text{fill:#c8c8c8;stroke:none;font-family:monospace;font-size:16px;direction:ltr;unicode-bidi:isolate}
.practice-card-bottom{width:58%;margin-top:15px}
.practice-card-meta{display:flex;flex-wrap:wrap;gap:10px;color:#bbb;font-size:14px;margin-bottom:15px}
.practice-card-meta span+span{border-inline-start:1px solid #555;padding-inline-start:10px}
.practice-card-bottom .dash-primary{width:100%;min-width:0}
.practice-no-results{grid-column:1/-1;padding:44px 24px;text-align:center;color:#bbb;border:1px solid #343434;border-radius:12px}
@media(min-width:1450px){.practice-stage h2{font-size:28px}.practice-tabs{gap:14px;margin-bottom:34px}.practice-tabs button{min-height:128px;font-size:20px}.practice-tabs button svg{width:42px;height:42px}.practice-v2-card{padding:25px}.practice-card-body{min-height:260px}.practice-card-copy h3{font-size:30px}.practice-card-copy p{font-size:17px}.practice-card-meta{font-size:16px}.practice-controls input{width:240px}}
@media(max-width:1150px){.practice-results-head{align-items:stretch;flex-direction:column}.practice-card-body{grid-template-columns:1fr}.practice-card-art{height:170px}.practice-card-art svg{height:100%}.practice-card-bottom{width:100%}.practice-card-copy{padding-top:14px}}
@media(max-width:700px){.practice-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.practice-tabs button{min-height:96px;font-size:16px}.practice-v2-grid{grid-template-columns:1fr}.practice-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}.practice-controls label:first-child{grid-column:1/-1}.practice-controls input,.practice-controls select{width:100%;font-size:16px}.practice-stage .practice-progress{font-size:13px;padding:16px;gap:10px}.practice-v2-card{padding:20px}.practice-card-body{grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}.practice-card-copy h3{font-size:23px}.practice-card-art{height:auto}.practice-card-art svg{height:auto}.practice-card-bottom{width:100%}}
@media(prefers-reduced-motion:no-preference){.practice-art-object{animation:practice-float 7s ease-in-out infinite}.practice-v2-card:nth-child(even) .practice-art-object{animation-delay:-3s}@keyframes practice-float{50%{transform:translateY(-5px)}}}
@media(prefers-reduced-motion:reduce){.practice-tabs button{transition:none}}
