.trainer-card,.gym-directory{max-width:720px;margin:auto}.trainer-identity{display:flex;align-items:center;gap:24px;padding:16px;background:linear-gradient(135deg,#283e46,#142630);border:1px solid #80928f;border-radius:8px}.trainer-identity canvas{width:114px;height:112px;image-rendering:pixelated;background:radial-gradient(ellipse at 50% 82%,#b7c78c42,transparent 60%)}.trainer-identity h3{font-size:26px;margin:8px 0;color:#ead99c}.trainer-kicker{letter-spacing:2px;color:#b5c8ca}.trainer-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.trainer-metrics div{display:flex;flex-direction:column;padding:14px 8px;text-align:center;background:#10232c;border:1px solid #45606b}.trainer-metrics strong{font-size:21px;color:#e0d5aa}.trainer-metrics small{margin-top:6px;color:#acc2ca}.trainer-public-team{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.trainer-public-team>div{display:flex;align-items:center;flex-direction:column;gap:5px;padding:10px 4px;background:#132730;border:1px solid #47616b;border-radius:5px;min-width:0}.trainer-public-team img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}.trainer-public-team strong{font-size:11px;max-width:100%;overflow-wrap:anywhere;text-transform:capitalize}.trainer-public-team small{font-size:11px}.trainer-badges{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.trainer-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 4px;background:#142630;border:1px solid #4b6269;border-radius:5px;cursor:pointer}.trainer-badge img{width:32px;height:32px;filter:grayscale(1);opacity:.3}.trainer-badge small{font-size:10px;text-align:center}.trainer-badge.earned{border-color:#bba56a;background:#3a3c2e}.trainer-badge.earned img{filter:none;opacity:1}.trainer-badge:focus-visible,.trainer-badge:hover{outline:2px solid #d5c18b}.trainer-actions{display:flex;gap:8px;margin:18px 0}.trainer-privacy{color:#91a9b3}.gym-card{display:grid;grid-template-columns:64px 1fr 74px;gap:12px;border:1px solid #526976;border-radius:7px;padding:16px;margin:12px 0;background:linear-gradient(140deg,#233843,#14232b)}.gym-card h3{margin:5px 0}.gym-portrait{width:64px;height:64px;image-rendering:pixelated}.gym-team{grid-column:1/-1;display:flex;gap:10px}.gym-team span{display:flex;flex-direction:column;align-items:center;background:#102129;border:1px solid #435b65;padding:4px;min-width:45px}.gym-team img{width:32px;height:32px;image-rendering:pixelated}.gym-card p{grid-column:1/-1;font-size:12px;color:#d0c69b}.gym-card button{min-height:42px}.gym-directory>p{line-height:1.6}.gym-card.complete{border-color:#a39362}@media(max-width:600px){.trainer-identity{gap:10px;padding:10px}.trainer-identity h3{font-size:21px}.trainer-metrics{grid-template-columns:repeat(2,1fr)}.trainer-public-team{grid-template-columns:repeat(3,1fr)}.trainer-badges{grid-template-columns:repeat(4,1fr)}.gym-card{padding:10px;gap:8px}.gym-card button{grid-column:1/-1}.trainer-actions{flex-wrap:wrap}}
.gym-card button,.trainer-actions button{border:1px solid #84959a;background:linear-gradient(#3b5562,#223c49);color:#f1e9d1;border-radius:4px;padding:10px 12px;font:inherit;font-weight:700;cursor:pointer}.gym-card button:hover,.trainer-actions button:hover{background:#48616b;border-color:#e0c680}.gym-card button:focus-visible,.trainer-actions button:focus-visible{outline:2px solid #e0c680;outline-offset:2px}.gym-card button:disabled{opacity:.45;cursor:not-allowed}.gym-portrait{background-repeat:no-repeat}.gym-card .pk-type{width:max-content}.trainer-empty{opacity:.4;border-style:dashed!important;justify-content:center;min-height:90px}.trainer-empty span{font-size:24px}
.gym-team{flex-wrap:wrap}.trainer-card button.trainer-badge{font:inherit;color:inherit}

.gym-rematch-team{border-top:1px solid #68795d;padding-top:14px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.gym-rematch-team>span{display:flex;flex-direction:column;align-items:center;min-width:0}.gym-rematch-team small{max-width:100%;overflow-wrap:anywhere;font-size:10px}.gym-rematch-team b{font-size:10px;color:#d4c084}@media(max-width:500px){.gym-rematch-team{grid-template-columns:repeat(3,1fr)}}

.gym-card h4{grid-column:1/-1;margin:12px 0 0;color:#e2ce8e;font-size:16px}.gym-card .progression-checklist{grid-column:1/-1}.gym-card .gym-rematch-team{grid-column:1/-1}.gym-card button{min-height:44px}

.gym-card>button{grid-column:1/-1;width:100%;min-height:44px}
