/* Navy community surfaces; feature styles retain token fallbacks.
 * Feature-local profile customisation. Accent only decorates surfaces; text keeps site contrast. */
.profile-hero{--profile-accent:#2563eb;--profile-soft:var(--academy-raised,#182a3d);overflow:hidden;padding-top:0}
.profile-hero>.profile-cover{height:88px;margin:0 -22px 22px;border-radius:0;background:linear-gradient(120deg,var(--profile-accent),var(--academy-raised,#182a3d))}
.profile-banner-waves>.profile-cover{background:radial-gradient(ellipse at 25% 150%,#fff8 0 40%,transparent 41%),radial-gradient(ellipse at 85% -50%,#fff6 0 55%,transparent 56%),var(--profile-accent)}
.profile-banner-dots>.profile-cover{background:radial-gradient(#ffffff80 2px,transparent 3px) 0 0/18px 18px,var(--profile-accent)}
.profile-banner-grid>.profile-cover{background:linear-gradient(#fff5 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,#fff5 1px,transparent 1px) 0 0/22px 22px,var(--profile-accent)}
.profile-banner-sunrise>.profile-cover{background:radial-gradient(circle at 80% 100%,#fff5ca 0 24px,transparent 25px),linear-gradient(150deg,var(--profile-accent),#ffc88c)}
.profile-banner-diagonal>.profile-cover{background:repeating-linear-gradient(135deg,#fff4 0 12px,transparent 12px 28px),var(--profile-accent)}
.profile-avatar{--profile-soft:var(--academy-raised,#182a3d);background:var(--profile-soft)}
.profile-frame-dotted{border-style:dotted;border-width:5px}.profile-frame-rounded{border-radius:22%}.profile-frame-diamond{border-radius:22%;transform:rotate(45deg);margin:8px}.profile-frame-diamond>span{transform:rotate(-45deg)}
.featured-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.profile-custom-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}
.profile-custom-fields input[type=color]{width:100%;height:48px;padding:4px;cursor:pointer}.profile-custom-fields label>span{display:block;margin-top:6px}
.profile-avatar-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px;margin-top:20px}
.profile-avatar-picker label{display:flex;position:relative;flex-direction:column;justify-content:center;gap:3px;border:1px solid var(--academy-line,#2b4056);border-radius:12px;padding:10px 4px;margin:0;cursor:pointer}
.profile-avatar-picker label:has(input:checked){border:2px solid var(--academy-accent,#62dfba);background:var(--academy-success-bg,#17392e);padding:9px 3px}
.profile-avatar-picker input{position:absolute;top:8px;left:8px;min-height:0}.profile-avatar-picker span{font-size:32px}.profile-avatar-picker small{font-size:14px}
.featured-picker{border:1px solid var(--academy-line,#2b4056);border-radius:12px;padding:16px}.featured-picker label{display:inline-flex;align-items:center;gap:8px;margin:6px 18px 6px 0;font-size:14px;font-weight:400}.featured-picker input{width:auto;margin:0}.featured-picker label:has(input:disabled){opacity:.65}
#profile-live-preview .profile-stats{display:none}#profile-live-preview .profile-hero{margin-bottom:12px}#profile-live-preview .profile-name h2{font-size:24px}
.achievement-panel{margin-top:20px}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:16px 0 24px}.achievement-grid .profile-badge{border:1px solid var(--academy-line,#2b4056);border-radius:12px;padding:16px}.achievement-grid .profile-badge.earned{background:var(--academy-success-bg,#17392e)}.achievement-grid .profile-badge.locked{background:var(--academy-input,#0c1928)}.achievement-grid .progressbar{margin-top:12px;height:6px}.achievement-panel summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 0}
.member-search .form-row{align-items:stretch}.member-search input{flex:1;min-width:0;margin:0}.member-search button{flex:0 0 auto}.member-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px 0}.member-card{margin-bottom:0}
@media(max-width:700px){.profile-hero>.profile-cover{margin-left:-18px;margin-right:-18px;height:70px}.profile-custom-fields{grid-template-columns:1fr}.profile-avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-avatar-picker small{font-size:14px}.profile-avatar-picker label{min-width:0}.member-grid{gap:14px}.member-pagination{gap:8px}.member-pagination button{font-size:14px;padding:10px}.member-pagination span{font-size:14px}}
/* Collectible Hall medals: current podium and best observed rank are separate. */
.trophy-gallery{margin-top:24px;background:linear-gradient(145deg,var(--academy-surface,#111f30),var(--academy-input,#0c1928));overflow:hidden}.trophy-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.trophy-heading h2{margin:6px 0}.trophy-heading p{margin:0}.trophy-eyebrow{font-size:14px;letter-spacing:.18em;font-weight:700;color:var(--academy-muted,#a4b7cb)}.trophy-count{display:grid;text-align:center;min-width:110px;padding:14px;border-radius:16px;background:var(--academy-raised,#182a3d);color:var(--academy-text,#e8f0f8)}.trophy-count strong{font-size:32px;line-height:1.2}.trophy-count span{font-size:14px;margin-top:4px}.trophy-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 20px}.trophy-tabs button{border:1px solid var(--academy-line,#2b4056);background:var(--academy-input,#0c1928);color:var(--academy-muted,#a4b7cb);border-radius:24px;padding:10px 18px;min-height:44px;font:inherit;cursor:pointer}.trophy-tabs button[aria-pressed=true]{background:var(--academy-accent,#62dfba);border-color:var(--academy-accent,#62dfba);color:var(--academy-accent-ink,#082b20);box-shadow:none}.trophy-filters{display:grid;grid-template-columns:minmax(160px,2fr) minmax(130px,1fr) minmax(120px,1fr) auto;align-items:end;gap:12px}.trophy-filters input,.trophy-filters select{margin:6px 0 0}.trophy-filters button{margin-bottom:0;min-height:46px}.trophy-filters label{margin:0}.trophy-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:16px}.trophy-card{--medal:#e4c77e;--medal-soft:#293041;position:relative;border:1px solid var(--academy-line,#2b4056);border-radius:16px;background:linear-gradient(155deg,var(--medal-soft),var(--academy-surface,#111f30) 65%);padding:20px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 5px 16px #00000018}.trophy-metal-2{--medal:#bacadd;--medal-soft:#243346;border-color:var(--academy-line,#2b4056)}.trophy-metal-3{--medal:#d1a58b;--medal-soft:#2c2d3a;border-color:var(--academy-line,#2b4056)}.trophy-medallion{position:relative;display:grid;place-items:center;flex-shrink:0;width:58px;height:66px;font-size:40px;filter:drop-shadow(0 4px 3px #58412120)}.trophy-card-body{min-width:0;flex:1}.trophy-category{font-size:14px;color:var(--academy-muted,#a4b7cb);font-weight:600}.trophy-card h3{margin:5px 0;font-size:23px;overflow-wrap:anywhere}.trophy-card h3 a{color:var(--academy-text,#e8f0f8);text-decoration:none}.trophy-card h3 a:hover{text-decoration:underline}.trophy-card p{margin:4px 0}.trophy-ranks{display:grid;gap:5px;margin:12px 0;font-size:14px;line-height:1.6}.trophy-ranks strong{color:var(--academy-text,#e8f0f8)}.trophy-ranks span{color:var(--academy-muted,#a4b7cb)}.trophy-empty{grid-column:1/-1;text-align:center;padding:36px 20px;border:1px dashed var(--academy-line,#2b4056);border-radius:16px;background:var(--academy-input,#0c1928)}.trophy-empty>span{font-size:40px}.trophy-empty p{margin:8px 0}.trophy-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px 0 8px}.trophy-pagination span{font-size:14px}.trophy-footnote{padding-top:16px;margin-top:20px;border-top:1px solid var(--academy-line,#2b4056);line-height:1.7}.trophy-sync-status{margin:14px 0;min-height:24px}.featured-badges .pill{white-space:normal;text-align:left;line-height:1.6}.featured-picker{max-height:360px;overflow:auto}
@media(max-width:700px){.trophy-heading{align-items:flex-start;gap:12px}.trophy-count{min-width:84px;padding:12px 8px}.trophy-count strong{font-size:27px}.trophy-count span{max-width:84px}.trophy-heading h2{font-size:23px}.trophy-heading p{font-size:14px}.trophy-filters{grid-template-columns:1fr 1fr}.trophy-filters label:first-child{grid-column:1/-1}.trophy-filters button{grid-column:1/-1}.trophy-card{padding:16px}.trophy-tabs button{font-size:14px;padding:10px 13px}.trophy-pagination{gap:8px}.trophy-pagination button{padding:10px;font-size:14px}}
.featured-selected{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.featured-selected button{font-size:14px;text-align:left;white-space:normal}.featured-search{display:block!important;margin:0!important}.featured-search input{width:100%!important}.featured-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px;margin-top:12px}.featured-options label{border:1px solid var(--academy-line,#2b4056);border-radius:10px;padding:10px;margin:0;font-size:14px;align-items:flex-start}.featured-options input{margin-top:5px;flex-shrink:0}.featured-pagination{display:flex;gap:16px;align-items:center;justify-content:center;margin-top:14px}.featured-picker{max-height:none}

/* Current records and permanent recognition have distinct collectible faces. */
.trophy-state{display:block;font-size:14px;font-weight:700;margin-bottom:10px;color:var(--academy-muted,#a4b7cb)}.trophy-current{background:linear-gradient(135deg,#283146,var(--academy-surface,#111f30))!important;border-color:#8c7847!important;color:var(--academy-text,#e8f0f8)}.trophy-current .trophy-state{color:var(--academy-success,#7be0ad)}.trophy-current .trophy-category,.trophy-current .muted{color:var(--academy-muted,#a4b7cb)}.trophy-current h3 a,.trophy-current .trophy-ranks strong{color:#f9e3a2}.trophy-current .trophy-ranks span{color:var(--academy-muted,#a4b7cb)}.trophy-current .trophy-medallion{border-radius:50%;background:#3b3526;box-shadow:0 0 0 4px #cba95416,0 0 22px #d6ac471a}.trophy-ever .trophy-medallion{border-radius:50%;background:var(--academy-raised,#182a3d);box-shadow:0 0 0 3px #7890b014;filter:saturate(.65)}.trophy-ever .trophy-state{letter-spacing:.03em}

/* Keep arbitrary accents on decorative covers/frames; never put copy on them. */
.profile-hero,.member-card,#profile-editor>.panel,.achievement-panel,.trophy-gallery{color:var(--academy-text,#e8f0f8);background-color:var(--academy-surface,#111f30);border-color:var(--academy-line,#2b4056);border-radius:16px}
.profile-avatar{background:var(--academy-raised,#182a3d)}
.profile-banner-waves>.profile-cover{background:radial-gradient(ellipse at 25% 150%,#09132070 0 40%,transparent 41%),radial-gradient(ellipse at 85% -50%,#09132060 0 55%,transparent 56%),var(--profile-accent)}
.profile-banner-dots>.profile-cover{background:radial-gradient(#09132070 2px,transparent 3px) 0 0/18px 18px,var(--profile-accent)}
.profile-banner-grid>.profile-cover{background:linear-gradient(#09132060 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,#09132060 1px,transparent 1px) 0 0/22px 22px,var(--profile-accent)}
.profile-banner-diagonal>.profile-cover{background:repeating-linear-gradient(135deg,#09132040 0 12px,transparent 12px 28px),var(--profile-accent)}
.profile-avatar-picker label,.featured-options label{color:var(--academy-text,#e8f0f8);background:var(--academy-input,#0c1928);border-radius:10px}
.profile-avatar-picker label:has(input:focus-visible),.featured-options label:has(input:focus-visible){outline:3px solid var(--academy-focus,#7ac8ff);outline-offset:3px}
.profile-avatar-picker input,.featured-picker input{accent-color:var(--academy-accent,#62dfba)}
.profile-custom-fields input[type=color]{background:var(--academy-input,#0c1928);border-color:var(--academy-line,#2b4056);border-radius:10px}
.featured-options label:has(input:checked){border-color:var(--academy-accent,#62dfba);background:var(--academy-success-bg,#17392e)}
.featured-picker label:has(input:disabled){opacity:1;color:var(--academy-muted,#a4b7cb)}
.trophy-tabs button,.trophy-filters input,.trophy-filters select{border-radius:10px}
.trophy-gallery :focus-visible,.profile-hero :focus-visible,.achievement-panel :focus-visible,.member-card :focus-visible,.featured-picker :focus-visible{outline:3px solid var(--academy-focus,#7ac8ff);outline-offset:3px}
.trophy-gallery .trophy-state{font-size:14px}.trophy-ever{box-shadow:inset 0 1px 0 #ffffff04}.trophy-ever .trophy-state{color:var(--academy-muted,#a4b7cb)}
.trophy-current .trophy-state{color:#f4d38b}.trophy-current .trophy-category{color:var(--academy-muted,#a4b7cb)}
.trophy-ever .trophy-ranks strong{color:var(--academy-text,#e8f0f8)}
@media(prefers-reduced-motion:reduce){.profile-hero *,.trophy-gallery *,.profile-avatar-picker *{animation:none!important;transition:none!important}}
/* Interactive boundaries use the shared higher-contrast control token. */
.profile-avatar-picker label,.featured-options label,.profile-custom-fields input[type=color],.trophy-tabs button{border-color:var(--academy-control,#647d94)}

/* Four current collections replace the unbounded wall of historical medals. */
.cabinet-cups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}
.cabinet-cup{--cup:#8ca3b9;position:relative;min-width:0;display:flex;flex-direction:column;border:1px solid var(--academy-line,#2b4056);border-top:3px solid var(--cup);border-radius:16px;padding:20px;background:linear-gradient(155deg,#203047,var(--academy-input,#0c1928) 75%)}
.cabinet-cup-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.cabinet-icon{font-size:46px;line-height:1.4;filter:drop-shadow(0 6px 10px #0005)}
.cabinet-cup h3{margin:16px 0;font-size:19px;line-height:1.6;overflow-wrap:anywhere;color:var(--cup)}
.cabinet-rank-1{--cup:#f4d38b;background:radial-gradient(ellipse at 0 0,#735d3038,transparent 75%),var(--academy-input,#0c1928)}
.cabinet-rank-2{--cup:#d1e2f3;background:radial-gradient(ellipse at 0 0,#7899ba30,transparent 75%),var(--academy-input,#0c1928)}
.cabinet-rank-3{--cup:#e4b49a;background:radial-gradient(ellipse at 0 0,#a16b4933,transparent 75%),var(--academy-input,#0c1928)}
.cabinet-rank-2 .cabinet-icon{filter:grayscale(1) drop-shadow(0 6px 10px #0005)}.cabinet-rank-3 .cabinet-icon{filter:sepia(.7) saturate(.7) drop-shadow(0 6px 10px #0005)}.cabinet-empty .cabinet-icon{filter:grayscale(1);opacity:.6}
.cabinet-medal-counts{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px;font-size:18px}.cabinet-medal-counts span{white-space:nowrap}.cabinet-cup button{width:100%;margin-top:auto;white-space:normal;min-height:44px;font-size:14px}
.cabinet-cup button[aria-expanded=true]{border-color:var(--academy-accent,#62dfba);background:var(--academy-success-bg,#17392e)}
.cabinet-records{padding:20px 0;border-top:1px solid var(--academy-line,#2b4056)}.cabinet-records[hidden]{display:none}
.cabinet-records-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.cabinet-records-heading h3{margin:0}.cabinet-filters{grid-template-columns:minmax(120px,2fr) minmax(120px,1fr) auto}
.cabinet-history{border-top:1px solid var(--academy-line,#2b4056);padding-top:8px}.cabinet-history>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}.cabinet-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.cabinet-history-card{border:1px solid var(--academy-line,#2b4056);border-radius:12px;padding:16px;background:var(--academy-input,#0c1928)}.cabinet-history-card h3{font-size:16px;margin:0 0 12px}.cabinet-history-card strong{display:block;color:var(--academy-text,#e8f0f8)}.cabinet-history-card p{margin:8px 0 0}
@media(max-width:1100px){.cabinet-cups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cabinet-cups{grid-template-columns:1fr;gap:12px}.cabinet-cup{padding:18px}.cabinet-cup h3{margin:8px 0 14px}.cabinet-cup-top{justify-content:flex-start;gap:16px}.cabinet-icon{font-size:38px}.cabinet-medal-counts{gap:24px}.cabinet-history-grid{grid-template-columns:1fr}.cabinet-records-heading{align-items:flex-start;flex-direction:column}.cabinet-filters{grid-template-columns:1fr}.cabinet-filters label,.cabinet-filters button{grid-column:auto}}
