/* Football credentials: a season rank is independent of search results. */
#playerCards{grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:22px;align-items:start}
#playerCards .player-pass{position:relative;display:block;padding:0;border:1px solid #8092a05e;border-radius:15px;overflow:hidden;min-width:0;background:#18263b;box-shadow:0 13px 25px #03091435;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
#playerCards .player-pass:hover{transform:translateY(-4px);border-color:#e7cb7a;box-shadow:0 17px 36px #02091266}.player-pass:focus-visible{outline:3px solid #ffe094;outline-offset:4px}
.player-pass-photo{position:relative;height:238px;isolation:isolate;background:radial-gradient(ellipse at 40% 15%,#688698,#274353 65%,#142c40);overflow:hidden}.player-pass-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;z-index:0}.player-pass-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09192d80,transparent 65%);z-index:1;pointer-events:none}.player-pass-season{position:absolute;left:13px;top:13px;z-index:3;font-size:9px;font-weight:800;letter-spacing:1.3px;background:#0e1d32c9;border:1px solid #e3e9f02b;border-radius:4px;padding:6px 8px;color:#f9f2d4}.player-pass-slot{position:absolute;width:34px;height:6px;border:1px solid #a9bcbd39;background:#091421bd;border-radius:8px;top:14px;left:calc(50% - 17px);z-index:3;box-shadow:inset 0 2px 2px #0008}.player-pass-initial{position:absolute;inset:0;display:grid;place-items:center;color:#e2d9ae;font:700 100px Georgia,serif;z-index:0}.player-pass-rank{position:absolute;right:-8px;bottom:-15px;z-index:2;pointer-events:none;font-size:155px;font-weight:950;letter-spacing:-12px;line-height:1;color:#fff7d433;text-shadow:0 2px 25px #10243715;font-variant-numeric:tabular-nums}
.player-pass-name{position:relative;z-index:3;background:linear-gradient(110deg,#ffda68,#edc14a);color:#29271b;padding:13px 16px;min-height:77px;box-shadow:0 -2px 12px #03102126}.player-pass-name small{display:block;font-size:8px;letter-spacing:2px;font-weight:850;color:#615126;margin-bottom:5px}.player-pass-name .roster-name{display:block;font-size:20px;line-height:1.3;overflow-wrap:anywhere;font-weight:850}.player-pass-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 16px 0;font-size:11px;color:#afc0d4}.player-pass-meta>b{color:#e8d596;font-size:11px}.player-pass .mini-stats{border:0;margin:0;padding:17px 12px}.player-pass .mini-stats strong{font-size:22px;color:#f0f3f5}.player-pass .mini-stats span{font-size:9px;letter-spacing:.7px;color:#94a8bd}.player-pass-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid #8a9db52b;font-size:10px;color:#a9bacb}.player-pass-barcode{display:block;width:72px;height:13px;opacity:.45;background:repeating-linear-gradient(90deg,#c6d2df 0 1px,transparent 1px 3px,#c6d2df 3px 5px,transparent 5px 6px,#c6d2df 6px 7px,transparent 7px 11px)}
/* Tabs sit in the album margin; edge hit areas leave sticker faces untouched. */
.world-album .book-cover{position:relative}
.album-page-edge{position:absolute;top:12px;bottom:20px;width:22px;z-index:9;border:0;padding:0;background:transparent;color:#21445b;cursor:pointer;outline-offset:-2px;touch-action:manipulation}.album-page-edge-prev{left:0}.album-page-edge-next{right:0}.album-page-edge>span{display:grid;place-items:center;font-size:34px;font-weight:400;width:100%;height:50px;background:#fff6caeb;box-shadow:0 4px 12px #17304730;border-radius:4px;opacity:0;transition:opacity .18s ease}.album-page-edge:hover>span,.album-page-edge:focus-visible>span{opacity:1}.album-page-edge:focus-visible{outline:2px solid #18789a}.album-page-edge:disabled{pointer-events:none}.album-ribbon-tabs{position:absolute;z-index:12;right:0;top:70px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.album-ribbon{--ribbon:#078fba;position:relative;width:27px;height:43px;border:0;border-radius:3px 0 0 3px;color:#fff9dd;background:linear-gradient(90deg,#ffffff14,transparent),var(--ribbon);box-shadow:-2px 2px 5px #16324230,inset 0 1px 0 #ffffff54;font-size:10px;font-weight:850;letter-spacing:.5px;cursor:pointer;transition:width .18s ease,filter .18s ease}.album-ribbon:after{content:'';position:absolute;right:0;top:0;bottom:0;width:3px;background:#0002}.album-ribbon:nth-child(2){--ribbon:#499f45}.album-ribbon:nth-child(3){--ribbon:#d75086}.album-ribbon:nth-child(4){--ribbon:#c69422}.album-ribbon:nth-child(5){--ribbon:#8765b3}.album-ribbon.is-current,.album-ribbon:hover,.album-ribbon:focus-visible{width:35px;filter:brightness(1.13)}.album-ribbon:focus-visible{outline:2px solid #173b55;outline-offset:2px}.album-ribbon:disabled{cursor:default;filter:saturate(.5)}
/* A golden display cabinet, with a separate engraved nameplate. */
#view-hall .hof-mvp.vitrine-award{position:relative;padding:20px 22px 18px;min-height:0;border:1px solid #e6c76b;border-radius:15px;background:radial-gradient(ellipse at 50% 10%,#b78c3540,transparent 65%),linear-gradient(145deg,#32250e,#15150f 65%,#3e2c12);box-shadow:inset 0 0 0 5px #73541e4f,0 12px 35px #0005;overflow:hidden;text-align:center}
#view-hall .vitrine-award:after{display:none}#view-hall .vitrine-award>*{position:relative;z-index:2}.vitrine-heading{display:block;font-size:9px;letter-spacing:1.6px;color:#d6b86c;margin-bottom:18px;font-weight:750}.vitrine-heading>span{margin:0 7px}.vitrine-frame{padding:10px;background:linear-gradient(135deg,#9b6723,#ffe697 15%,#87601f 29%,#d6ac4d 48%,#fff0a7 63%,#977026 79%,#e6c272);border:3px ridge #e6c776;border-radius:4px;box-shadow:0 0 0 2px #5e4219,inset 0 0 0 2px #fff4b389,0 8px 25px #0008}.vitrine-frame:before,.vitrine-frame:after{content:'✦';position:absolute;font-size:20px;color:#fff2bb;text-shadow:0 1px 2px #664112;top:-10px;z-index:3}.vitrine-frame:before{left:-9px}.vitrine-frame:after{right:-9px}.vitrine-portrait{position:relative;aspect-ratio:4/4.6;overflow:hidden;border:2px solid #4f3919;background:radial-gradient(ellipse at 40% 30%,#92733c,#2d2a1c);display:grid;place-items:center;font:700 90px Georgia,serif;color:#ead190}.vitrine-portrait>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}.vitrine-portrait:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 20px #040b1166;pointer-events:none}.vitrine-laurel{position:absolute;bottom:10px;right:10px;display:grid;place-items:center;width:39px;height:39px;background:linear-gradient(140deg,#fff0a9,#c49b39);border:3px double #76521c;border-radius:50%;font-size:20px;color:#6a4514;text-shadow:0 1px #fff7b5}
.vitrine-nameplate{margin:19px 6px 0;padding:12px 14px;border:3px ridge #bd9345;border-radius:3px;background:linear-gradient(165deg,#fff2b5,#d3ad57 42%,#edcf86 70%,#ac8137);box-shadow:inset 0 1px 3px #ffedb3,0 5px 9px #0005;color:#4c3519;text-shadow:0 1px #fff5bf9c}.vitrine-nameplate:before,.vitrine-nameplate:after{content:'•';position:absolute;top:calc(50% - 8px);font-size:13px;color:#916c30;text-shadow:0 1px #ffe9a6}.vitrine-nameplate:before{left:3px}.vitrine-nameplate:after{right:3px}.vitrine-nameplate>span{display:block;font-size:10px;font-weight:800;letter-spacing:2px}.vitrine-nameplate>strong{display:block;font:700 23px/1.35 Georgia,serif;margin-top:5px;overflow-wrap:anywhere}.vitrine-nameplate .pname{display:block;width:100%;text-align:center;justify-content:center;font:inherit;color:inherit;white-space:normal}.vitrine-nameplate .pname:hover{color:#2d210e;text-decoration:underline;text-underline-offset:4px}#view-hall .vitrine-award>small.vitrine-stats{display:block;font-size:12px;color:#d9c18d;margin:14px 0 0}
#view-hall .hof-record-title{justify-content:center;text-align:center}#view-hall .hof-record-title h3{font:700 22px/1.35 Georgia,serif}.hof-medallion{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:165px;height:170px;margin:23px auto 25px;background:radial-gradient(ellipse at 30% 20%,#fff4b8,#ddba62 45%,#a77629 83%,#ecd18a);color:#5e421b;filter:drop-shadow(0 8px 7px #0005);isolation:isolate}.hof-medallion:before{content:'';position:absolute;inset:6px;border:2px solid #805a22;border-radius:inherit;opacity:.65;pointer-events:none}.hof-medallion-icon{font-size:24px}.hof-medallion.medallion-0{clip-path:polygon(0 0,100% 0,96% 69%,83% 85%,50% 100%,17% 85%,4% 69%);border-radius:15px 15px 50% 50%}.hof-medallion.medallion-1{border-radius:50%;border:5px double #b08a3c}.hof-medallion.medallion-2{clip-path:polygon(26% 0,74% 0,100% 26%,100% 74%,74% 100%,26% 100%,0 74%,0 26%);border-radius:4px}#view-hall .hof-medallion .hof-record-value{margin:5px 0 9px;color:#66471e;text-shadow:0 1px #fff5c2;font-size:46px}#view-hall .hof-medallion .hof-record-value small{color:#72552a;font-size:10px;font-weight:750;text-shadow:none;max-width:135px;line-height:1.5}
/* Paper calendar with a desktop binding, retaining the special-date shimmer. */
#view-pizze .pizza-calendar{position:relative;isolation:isolate;background:repeating-linear-gradient(0deg,#a7936205 0,#a7936205 1px,transparent 1px,transparent 4px),linear-gradient(115deg,#fffdf0,#f4ecd7);color:#443d32;border:1px solid #f2e4bd;border-top:16px solid #e9dfc8;border-radius:5px 5px 11px 11px;padding:26px 20px 20px;margin-top:19px;box-shadow:0 6px 0 #d2c6aa,0 11px 0 #b5a788,0 25px 35px #0004}
#view-pizze .pizza-calendar:before{content:'';position:absolute;top:-31px;left:23px;right:23px;height:32px;background-image:radial-gradient(ellipse at center,#142332 0 31%,#87909a 34% 48%,#1d2e3d 52% 65%,transparent 69%);background-size:55px 31px;background-repeat:repeat-x;pointer-events:none;z-index:2}
#view-pizze .pizza-calendar-header{padding-bottom:18px;border-bottom:2px solid #8d7c532e}.pizza-calendar .pizza-month-title{font-family:Georgia,serif;font-size:27px;color:#473b28;letter-spacing:-.5px}.pizza-calendar .pizza-calendar-header .btn{background:#fbf5e5;color:#665238;border-color:#cabb97;box-shadow:0 2px 0 #dbcfae}.pizza-calendar .pizza-calendar-header .btn:hover{background:#f3df9b;border-color:#b99b42}.pizza-calendar .pizza-weekdays{color:#8e7655;font-weight:800;font-size:11px;margin:17px 0 9px}.pizza-calendar .pizza-day:not(.has-special-event){background:#fffdf4;color:#4b4436;border:1px solid #daceb3;border-radius:4px;box-shadow:0 2px 0 #a8936015}.pizza-calendar .pizza-day:not(.has-special-event):hover{border-color:#ae8a35;background:#fff4cf}.pizza-calendar .pizza-day-number{font-family:Georgia,serif;font-size:20px;font-weight:700}.pizza-calendar .pizza-day-names{color:#5c5445}.pizza-calendar .pizza-day-count{color:#9b6e36;background:#f2e5c1}.pizza-calendar .pizza-day.other-month:not(.has-special-event){background:#e9e1cd;color:#a49b87;opacity:.55}.pizza-calendar .pizza-day.is-today:not(.has-special-event){outline:2px solid #ae8131;outline-offset:-3px}.pizza-calendar .pizza-day.is-selected:not(.has-special-event){background:#ffe59b;border-color:#c7a342;box-shadow:inset 0 0 0 1px #e0bf68}.pizza-calendar .pizza-day.has-birthday:not(.has-special-event){border-color:#cfb26c}.pizza-calendar .pizza-selected{border-color:#b9a77f55;color:#544730}.pizza-calendar .pizza-selected h3{color:#544126;font-family:Georgia,serif;font-size:22px}.pizza-calendar .pizza-selected .muted,.pizza-calendar .pizza-calendar-hint{color:#8c7d61}.pizza-calendar .pizza-celebrants .pname{color:#66502a}.pizza-calendar .pizza-special-detail{background:linear-gradient(140deg,#ffeab3,#dec16b);color:#5d421b;border-color:#ba8f35}.pizza-calendar .pizza-special-detail h4,.pizza-calendar .pizza-special-detail p,.pizza-calendar .pizza-special-detail small{color:#5d421b}
/* Polaroids retain the existing upload, year filter and full-photo viewer. */
.gathering-photos{gap:25px;padding:12px 7px 22px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:start}.gathering-photos>button{position:relative;background:#fff9e9;color:#514a3d;border:1px solid #e5dbc4;border-radius:2px;padding:10px 10px 15px;box-shadow:0 7px 16px #020a1b59;transform:rotate(-1.3deg);transition:transform .2s ease,box-shadow .2s ease}.gathering-photos>button:nth-child(even){transform:rotate(1.2deg)}.gathering-photos>button:nth-child(3n){transform:rotate(-.5deg)}.gathering-photos>button:hover,.gathering-photos>button:focus-visible{transform:translateY(-4px) rotate(0);box-shadow:0 12px 25px #020a1b70}.gathering-photos>button:focus-visible{outline:3px solid #ffd56b;outline-offset:4px}.gathering-photos img{height:190px;border:1px solid #7f725c2b;border-radius:0;background:#d1cbbd}.gathering-photos .polaroid-caption{display:block;padding:13px 3px 4px;color:#514735;font:italic 18px/1.45 'Segoe Print','Bradley Hand','Comic Sans MS',cursive;overflow-wrap:anywhere;text-align:center}.gathering-photos .polaroid-date{display:block;padding:4px 2px 0;text-align:center;font:9px/1.6 Arial,sans-serif;letter-spacing:1.4px;color:#a18a63}
@media(max-width:650px){#playerCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.player-pass-photo{height:190px}.player-pass-season{font-size:7px;padding:5px;left:8px;top:9px;letter-spacing:.5px}.player-pass-slot{display:none}.player-pass-rank{font-size:115px;letter-spacing:-8px}.player-pass-name{padding:11px;min-height:75px}.player-pass-name .roster-name{font-size:17px}.player-pass-name small{font-size:7px;letter-spacing:.9px}.player-pass-meta{padding:12px 10px 0;font-size:9px;flex-wrap:wrap;gap:5px}.player-pass .mini-stats{padding:13px 7px}.player-pass .mini-stats strong{font-size:19px}.player-pass .mini-stats span{font-size:7px;letter-spacing:0}.player-pass-footer{padding:11px 10px;font-size:9px;gap:7px}.player-pass-barcode{width:43px}.gathering-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding-left:3px;padding-right:3px}.gathering-photos>button{padding:7px 7px 12px}.gathering-photos img{height:145px}.gathering-photos .polaroid-caption{font-size:15px}.gathering-photos .polaroid-date{font-size:8px;letter-spacing:.6px}#view-pizze .pizza-calendar{padding:23px 12px 15px}.pizza-calendar .pizza-month-title{font-size:23px}.album-ribbon{width:23px;height:36px;font-size:9px}.album-ribbon.is-current,.album-ribbon:hover{width:29px}.album-ribbon-tabs{top:60px;gap:7px}}
@media(max-width:370px){#playerCards{grid-template-columns:1fr}.player-pass-photo{height:250px}.player-pass-name .roster-name{font-size:22px}.player-pass .mini-stats span{font-size:9px}.player-pass-rank{font-size:150px}}
@media(prefers-reduced-motion:reduce){#playerCards .player-pass,.album-page-edge>span,.album-ribbon,.gathering-photos>button{transition:none}#playerCards .player-pass:hover,.gathering-photos>button:hover{transform:none}}
