@import url("/fanstrand-college-crests-20260722.css");
/* Original Fanstrand Crests: city-coded, sport-shaped, and free of official team marks. */
.team-badge{--sz:54px;width:var(--sz);height:var(--sz);position:relative;flex:0 0 auto;display:grid;place-items:center;isolation:isolate;overflow:hidden;clip-path:polygon(var(--crest-cut) 0,100% 0,100% calc(100% - var(--crest-cut)),calc(100% - var(--crest-cut)) 100%,0 100%,0 var(--crest-cut));border:1px solid color-mix(in srgb,var(--accent) 58%,white 22%);border-radius:14px 5px 14px 5px;background:radial-gradient(circle at var(--crest-shift) 20%,color-mix(in srgb,var(--accent) 52%,white 8%),transparent 31%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 25%,#111b28),color-mix(in srgb,var(--accent2) 18%,#050a11));box-shadow:inset 0 0 0 3px rgba(255,255,255,.035),0 8px 22px color-mix(in srgb,var(--accent) 18%,transparent)}
.team-badge::before{content:"";position:absolute;inset:4px;z-index:-1;border:1px solid color-mix(in srgb,var(--accent2) 34%,transparent);clip-path:inherit}.team-badge::after{content:"";position:absolute;inset:0;z-index:-2;opacity:.26;background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,255,255,.13) 8px 9px)}
.crest-weave{position:absolute;inset:-12%;z-index:-1;transform:rotate(var(--crest-angle));opacity:.78}.crest-weave>span{position:absolute;left:-8%;width:116%;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 82%,white 12%),transparent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 34%,transparent)}.crest-weave>span:nth-child(1){top:34%;transform:rotate(18deg)}.crest-weave>span:nth-child(2){top:50%;transform:rotate(-16deg);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent2) 78%,white 10%),transparent)}.crest-weave>span:nth-child(3){top:66%;transform:rotate(8deg)}
.team-badge>b{position:relative;z-index:2;color:#f8fbff;font:italic 900 15px/.8 var(--font-display);letter-spacing:-.02em;text-shadow:2px 2px 0 rgba(0,0,0,.45)}.team-badge>em{position:absolute;z-index:2;left:7px;top:6px;color:rgba(255,255,255,.72);font:800 5px/1 var(--font-body);letter-spacing:.08em;font-style:normal}
.team-badge[data-crest="1"]{border-radius:5px 16px 5px 16px}.team-badge[data-crest="2"]{clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%)}.team-badge[data-crest="3"]{border-radius:50% 10px 50% 10px}.team-badge[data-crest="4"]{clip-path:polygon(50% 0,100% 18%,94% 82%,50% 100%,6% 82%,0 18%)}.team-badge[data-crest="5"]{border-radius:18px 18px 5px 5px;clip-path:polygon(16% 0,84% 0,100% 16%,92% 84%,50% 100%,8% 84%,0 16%)}
.team-badge[data-sport="mlb"]::after{background:radial-gradient(circle at 18% 50%,transparent 0 38%,rgba(255,255,255,.22) 39% 41%,transparent 42%),radial-gradient(circle at 82% 50%,transparent 0 38%,rgba(255,255,255,.15) 39% 41%,transparent 42%)}.team-badge[data-sport="nfl"]::after,.team-badge[data-sport="ncaaf"]::after{background:repeating-linear-gradient(0deg,transparent 0 9px,rgba(255,255,255,.17) 9px 10px),linear-gradient(90deg,transparent 46%,rgba(255,255,255,.22) 47% 53%,transparent 54%)}.team-badge[data-sport="nba"]::after{background:radial-gradient(circle at 50% 50%,transparent 0 38%,rgba(255,255,255,.2) 39% 41%,transparent 42%),linear-gradient(74deg,transparent 48%,rgba(255,255,255,.17) 49% 51%,transparent 52%)}.team-badge[data-sport="nhl"]::after{background:repeating-linear-gradient(-18deg,transparent 0 8px,rgba(255,255,255,.16) 8px 9px)}
.crest-place{position:absolute;left:8%;right:8%;bottom:7%;height:34%;z-index:0;color:color-mix(in srgb,var(--accent2) 58%,white 25%);opacity:.52;pointer-events:none;transform:scale(var(--place-scale));transform-origin:50% 100%}.crest-place::before,.crest-place::after{content:"";position:absolute}
.crest-college-mark{display:none}
.team-badge[data-place="skyline"] .crest-place{background:linear-gradient(currentColor,currentColor) 3% 100%/10% 38% no-repeat,linear-gradient(currentColor,currentColor) 17% 100%/13% 68% no-repeat,linear-gradient(currentColor,currentColor) 35% 100%/11% 49% no-repeat,linear-gradient(currentColor,currentColor) 52% 100%/15% 82% no-repeat,linear-gradient(currentColor,currentColor) 73% 100%/10% 57% no-repeat,linear-gradient(currentColor,currentColor) 91% 100%/8% 42% no-repeat}.team-badge[data-place="skyline"] .crest-place::after{left:58%;bottom:80%;width:1px;height:28%;background:currentColor}
.team-badge[data-place="lake"] .crest-place{background:repeating-radial-gradient(ellipse at 50% 150%,transparent 0 6px,currentColor 7px 8px,transparent 9px 13px)}.team-badge[data-place="lake"] .crest-place::before{left:var(--place-shift);bottom:1px;width:18%;height:52%;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:skewX(-20deg)}
.team-badge[data-place="bridge"] .crest-place{bottom:-3%;height:43%;border-top:2px solid currentColor;border-radius:50% 50% 0 0}.team-badge[data-place="bridge"] .crest-place::before{inset:0 15%;border-left:2px solid currentColor;border-right:2px solid currentColor;background:repeating-linear-gradient(90deg,transparent 0 13%,currentColor 14% 16%,transparent 17% 27%)}
.team-badge[data-place="coast"] .crest-place{background:radial-gradient(circle at var(--place-shift) 18%,currentColor 0 10%,transparent 11%),repeating-radial-gradient(ellipse at 38% 135%,transparent 0 7px,currentColor 8px 9px,transparent 10px 14px)}
.team-badge[data-place="evergreen"] .crest-place::before{left:11%;bottom:0;width:30%;height:92%;background:currentColor;clip-path:polygon(50% 0,76% 38%,64% 38%,92% 72%,61% 72%,61% 100%,39% 100%,39% 72%,8% 72%,36% 38%,24% 38%)}.team-badge[data-place="evergreen"] .crest-place::after{right:6%;bottom:0;width:46%;height:72%;background:currentColor;opacity:.66;clip-path:polygon(0 100%,43% 18%,58% 48%,72% 31%,100% 100%)}
.team-badge[data-place="mountain"] .crest-place{background:linear-gradient(135deg,transparent 49%,currentColor 50% 53%,transparent 54%) 0 100%/55% 90% no-repeat,linear-gradient(45deg,transparent 49%,currentColor 50% 53%,transparent 54%) 100% 100%/62% 100% no-repeat}.team-badge[data-place="mountain"] .crest-place::after{left:39%;top:10%;width:22%;height:28%;background:currentColor;clip-path:polygon(50% 0,100% 100%,65% 77%,48% 100%,32% 73%,0 100%)}
.team-badge[data-place="desert"] .crest-place{background:radial-gradient(circle at var(--place-shift) 20%,currentColor 0 11%,transparent 12%)}.team-badge[data-place="desert"] .crest-place::before{left:0;right:0;bottom:0;height:46%;background:currentColor;clip-path:polygon(0 100%,0 74%,17% 74%,24% 27%,42% 27%,48% 67%,66% 67%,75% 45%,100% 45%,100% 100%)}
.team-badge[data-place="orbit"] .crest-place::before{left:18%;top:3%;width:62%;height:68%;border:1px solid currentColor;border-radius:50%;transform:rotate(-17deg)}.team-badge[data-place="orbit"] .crest-place::after{left:calc(var(--place-shift) - 4px);top:5%;width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:-13px 15px 0 -1px currentColor}
.team-badge[data-place="star"] .crest-place::before{left:33%;top:1%;width:36%;height:94%;background:currentColor;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 95%,50% 70%,21% 95%,32% 56%,2% 35%,39% 35%)}
.team-badge[data-place="music"] .crest-place{background:repeating-linear-gradient(90deg,transparent 0 8%,currentColor 9% 13%,transparent 14% 20%);clip-path:polygon(0 72%,10% 28%,20% 63%,30% 12%,40% 78%,50% 34%,60% 68%,70% 20%,80% 61%,90% 35%,100% 75%,100% 100%,0 100%)}
.team-badge[data-place="monument"] .crest-place::before{left:39%;bottom:0;width:22%;height:90%;background:currentColor;clip-path:polygon(50% 0,67% 15%,62% 25%,78% 100%,22% 100%,38% 25%,33% 15%)}.team-badge[data-place="monument"] .crest-place::after{left:13%;right:13%;bottom:0;height:2px;background:currentColor;box-shadow:0 -4px 0 -1px currentColor}
.team-badge[data-place="harbor"] .crest-place{background:repeating-radial-gradient(ellipse at 55% 145%,transparent 0 7px,currentColor 8px 9px,transparent 10px 14px)}.team-badge[data-place="harbor"] .crest-place::before{left:var(--place-shift);bottom:5%;width:12%;height:79%;background:currentColor;clip-path:polygon(27% 0,73% 0,100% 20%,78% 20%,78% 100%,22% 100%,22% 20%,0 20%)}
.team-badge[data-place="plains"] .crest-place{background:linear-gradient(173deg,transparent 0 47%,currentColor 49% 52%,transparent 54%) 0 30%/100% 37% no-repeat,repeating-linear-gradient(0deg,currentColor 0 1px,transparent 2px 6px)}
.team-badge[data-place="campus"] .crest-place::before{inset:4% 14% 0;background:currentColor;clip-path:polygon(50% 0,100% 28%,92% 28%,92% 37%,85% 37%,85% 92%,100% 92%,100% 100%,0 100%,0 92%,15% 92%,15% 37%,8% 37%,8% 28%)}.team-badge[data-place="campus"] .crest-place::after{left:31%;right:31%;top:39%;bottom:7%;background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 4px 9px)}
.team-badge--sm{--sz:38px;--crest-cut:8px!important;border-radius:10px 4px}.team-badge--sm>b{font-size:11px}.team-badge--sm>em{display:none}.team-badge--lg{--sz:72px}.team-badge--lg>b{font-size:21px}.team-badge--lg>em{left:9px;top:8px;font-size:6px}
