/* OnlyGirth v97 — Siege Honors: earned crest + consistent badge tooltips + Siege Profile */
.gh-award-siegeBreaker{padding:3px 8px;font-weight:700;position:relative;isolation:isolate;overflow:visible;color:#ffe2a0;background:linear-gradient(115deg,#431610 0%,#872d1d 39%,#2a0e0b 100%);border-color:#e8b753;box-shadow:inset 0 1px 0 #ffcf7955,0 0 10px #eaa53b52;order:-2}
.gh-award-siegeBreaker::before{content:'';position:absolute;inset:-3px;border:1px solid #f2cc7866;border-radius:6px;pointer-events:none;animation:sg97-crest-pulse 5s ease-in-out infinite;z-index:-1}
.gh-award-siegeBreaker .sg-breaker-crest{width:14px;height:14px;object-fit:contain;filter:drop-shadow(0 0 5px #ff5b37aa);flex:none}
.gh-award-siegeBreaker .og-award-fx::before{content:'✦';position:absolute;top:-9px;right:1px;color:#ffd489;font-size:9px;animation:sg97-spark 4.8s ease-in-out infinite}
.gh-award-siegeBreaker .og-award-fx::after{content:'✧';position:absolute;bottom:-7px;left:-3px;color:#ffa45d;font-size:8px;animation:sg97-spark 4.8s ease-in-out -2.2s infinite}
@keyframes sg97-spark{0%,55%,100%{opacity:0;transform:scale(.4) rotate(0)}64%{opacity:.95;transform:scale(1.2) rotate(45deg)}78%{opacity:0;transform:scale(.5) rotate(90deg)}}
@keyframes sg97-crest-pulse{0%,100%{box-shadow:0 0 3px #d29a2b33}50%{box-shadow:0 0 11px #fdac497d}}
.gh-badge-check-siegeBreaker{order:-3}
.gh-badge-check-siegeBreaker > span{border-color:#dcad60!important;background:linear-gradient(110deg,#4b170f,#28100b)!important;color:#f8cf83!important;box-shadow:0 0 11px #b957292c}
.gh-badge-check-siegeBreaker img{width:16px;height:16px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 0 4px #e75d3f9b)}
.og50-mini-badge.is-siegeBreaker{border-color:#edae5b;box-shadow:0 0 9px #fe8d3280;background:#581f14!important;position:relative;order:-3;animation:sg97-crest-pulse 5s ease-in-out infinite}
.og50-mini-badge.is-siegeBreaker img{width:15px;height:15px;object-fit:contain;display:block}
/* Tooltip popover — keyboard reachable, no script, all award types. */
.gh-award[data-badge-tip],.og50-mini-badge[data-badge-tip],.gh-member-badge[data-badge-tip],.gh-admin-badge[data-badge-tip],.og-developer-badge[data-badge-tip],.gh-class-badge[data-badge-tip]{position:relative;cursor:help}
.gh-award[data-badge-tip]::after,.og50-mini-badge[data-badge-tip]::after,.gh-member-badge[data-badge-tip]::after,.gh-admin-badge[data-badge-tip]::after,.og-developer-badge[data-badge-tip]::after,.gh-class-badge[data-badge-tip]::after{content:attr(data-badge-tip);position:absolute;z-index:9999;left:50%;bottom:calc(100% + 12px);transform:translate(-50%,5px);display:block;width:max-content;max-width:min(280px,75vw);white-space:normal;text-align:center;background:#1e100d;color:#ffe5b7;border:1px solid #a77542;box-shadow:0 8px 25px #060303e0,0 0 11px #c8793040;border-radius:7px;padding:10px 13px;font:500 12px/1.5 Inter,Arial,sans-serif;letter-spacing:0;opacity:0;pointer-events:none;visibility:hidden;text-transform:none;transition:opacity .15s,transform .15s,visibility .15s}
.gh-award[data-badge-tip]:hover::after,.gh-award[data-badge-tip]:focus-visible::after,.og50-mini-badge[data-badge-tip]:hover::after,.og50-mini-badge[data-badge-tip]:focus-visible::after,.gh-member-badge[data-badge-tip]:hover::after,.gh-member-badge[data-badge-tip]:focus-visible::after,.gh-admin-badge[data-badge-tip]:hover::after,.gh-admin-badge[data-badge-tip]:focus-visible::after,.og-developer-badge[data-badge-tip]:hover::after,.og-developer-badge[data-badge-tip]:focus-visible::after,.gh-class-badge[data-badge-tip]:hover::after,.gh-class-badge[data-badge-tip]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.og50-mini-badges,.pub-card-badges,.pub-profile-badges,.account-role-badges{overflow:visible!important}
.sp-shell{--sp-gold:#e9b96b;--sp-amber:#ffdb9e;--sp-line:#8a4c2f;color:#f3dcb9;max-width:1420px;margin:0 auto;padding:8px 4px 40px;font-family:Inter,Arial,sans-serif}
.sp-shell *{box-sizing:border-box}
.sp-hero{min-height:310px;position:relative;overflow:hidden;border:1px solid #8a4b2c;border-radius:12px;background:radial-gradient(circle at 79% 45%,#7f281a 0%,#37140f 33%,#160b09 73%),linear-gradient(135deg,#4e1b11,#120808);display:grid;grid-template-columns:minmax(0,1.7fr) minmax(200px,1fr);align-items:center;padding:36px clamp(20px,5vw,65px);box-shadow:inset 0 0 55px #0f0605,0 9px 29px #0007}
.sp-hero:after{content:'';position:absolute;inset:14px;border:1px solid #d3a15a30;pointer-events:none;border-radius:6px}
.sp-hero-copy{position:relative;z-index:1}
.sp-overline{font:800 11px/1.6 Inter,Arial,sans-serif;letter-spacing:2.3px;color:#e6a258;text-transform:uppercase}
.sp-hero h1{font:800 clamp(38px,5.4vw,75px)/1.04 Georgia,serif;color:#ffdea7;margin:10px 0 14px;letter-spacing:-1px;text-shadow:0 3px 18px #000a}
.sp-hero h1 em{font-style:normal;color:#ef8e58}
.sp-hero-copy p{max-width:580px;color:#ddbfab;line-height:1.7;font-size:13px}
.sp-hero-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sp-hero-art{display:flex;align-items:center;flex-direction:column;gap:5px;position:relative;z-index:1}
.sp-hero-art img{width:min(95%,275px);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 0 28px #d65b288a)}
.sp-hero-art span{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#e5b67c}
.sp-status{background:linear-gradient(115deg,#2b1510,#160c0b);border:1px solid #75452b;border-radius:8px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;flex-wrap:wrap}
.sp-status h2{font:700 24px Georgia,serif;color:#f7d6a0;margin:3px 0}
.sp-status p{font-size:12px;color:#bda18a;margin:0}
.sp-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.sp-unearned{font:800 10px Inter,sans-serif;letter-spacing:1px;border:1px dashed #76573a;color:#b89570;padding:9px;border-radius:5px}
.sp-mastery{margin-top:20px;padding:25px 30px;background:linear-gradient(120deg,#512217,#25120f 65%,#180c0b);border:1px solid #a56734;border-radius:10px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:inset 0 1px 0 #eda65f30}
.sp-mastery-text{flex:1;min-width:220px;max-width:560px}
.sp-mastery-level{font:800 25px Georgia,serif;color:#f9d8a7;margin:3px 0 5px}
.sp-mastery-level strong{font-size:47px;color:#ffcf74;margin-left:10px;text-shadow:0 0 23px #df7b3766}
.sp-mastery p{font-size:12px;color:#dcb58a}
.sp-mastery-marks{display:flex;gap:10px;flex-wrap:wrap}
.sp-mastery-marks span{min-width:115px;text-align:center;padding:13px;border:1px solid #77432e;background:#1a0d0bb0;border-radius:7px;color:#c7a989;font-size:11px}
.sp-mastery-marks b{display:block;font:800 23px Georgia,serif;color:#ffd28e;margin-bottom:4px}
.sp-progress{height:7px;width:100%;max-width:500px;border-radius:99px;background:#130806;border:1px solid #633726;overflow:hidden}
.sp-progress span{height:100%;display:block;background:linear-gradient(90deg,#ad3b23,#efae56,#ffe9b6);box-shadow:0 0 9px #f5bc6580;border-radius:99px}
.sp-section{margin-top:24px}
.sp-section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #7f442d;padding:5px 0 12px;margin-bottom:14px;gap:8px;flex-wrap:wrap}
.sp-section-head h2{font:800 clamp(18px,2.3vw,25px) Georgia,serif;color:#f6d19a;margin:4px 0 0}
.sp-subcount{color:#c49b63;font-weight:800;font-size:11px;letter-spacing:.7px}
.sp-refresh{color:#ffdbab;background:linear-gradient(#71301b,#4d1b14);border:1px solid #ca874b;border-radius:7px;padding:10px 13px;font:800 11px Inter,sans-serif;cursor:pointer}
.sp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sp-stat{border:1px solid #7b432c;background:linear-gradient(135deg,#311912,#190d0b);border-radius:8px;padding:16px}
.sp-stat small{display:block;font:800 10px Inter,sans-serif;text-transform:uppercase;letter-spacing:1.3px;color:#d59a67}
.sp-stat strong{display:block;font:800 clamp(20px,2.5vw,31px) Georgia,serif;color:#ffe0a5;margin-top:7px}
.sp-achievements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sp-achievement{display:flex;gap:14px;align-items:flex-start;padding:17px;border-radius:8px;border:1px solid #76452a;background:linear-gradient(120deg,#341911,#1a0e0c);min-width:0;transition:transform .15s,border-color .15s}
.sp-achievement:hover{transform:translateY(-2px);border-color:#d2a15f}
.sp-achievement.is-locked{filter:saturate(.5);opacity:.72}
.sp-ach-icon{flex:0 0 53px;width:53px;height:53px;display:grid;place-items:center;border:1px solid #d39a4c;border-radius:10px;color:#ffe6ad;font-size:32px;background:radial-gradient(circle,#703121,#24110e);text-shadow:0 0 12px #fa9f59}
.sp-achievement.is-locked .sp-ach-icon{color:#967a61;border-color:#57402d;background:#21130e}
.sp-ach-copy{flex:1;min-width:0}
.sp-ach-copy small{display:block;font:800 9px/1.5 Inter,sans-serif;letter-spacing:1px;color:#d99c5a;text-transform:uppercase}
.sp-ach-copy h3{font:800 17px Georgia,serif;color:#f7d49e;margin:4px 0}
.sp-ach-copy p{font-size:12px;color:#ceb4a0;line-height:1.4;min-height:30px;margin:5px 0 10px}
.sp-ach-copy .sp-progress{margin-bottom:7px;height:5px}
.sp-relics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sp-relic{padding:19px 12px;text-align:center;border:1px solid #87532b;border-radius:9px;background:radial-gradient(ellipse at 50% 12%,#57311a,#28130e 58%,#170b0a);display:flex;align-items:center;flex-direction:column;gap:8px;box-shadow:inset 0 0 18px #0007;min-height:200px}
.sp-relic.is-locked{filter:grayscale(.85);opacity:.63}
.sp-relic-icon{font-size:54px;display:grid;place-items:center;width:81px;height:81px;border:1px solid #b97c3d;border-radius:50%;background:radial-gradient(circle,#85421e,#26110c);color:#f5c67f;text-shadow:0 0 16px #ec8135;box-shadow:0 0 14px #e67b2833}
.sp-relic strong{color:#f6d39a;font:800 14px Georgia,serif}
.sp-relic small{color:#cda98b;font:500 11px/1.35 Inter,sans-serif;max-width:225px}
.sp-relic span{color:#e9b165;font-size:10px;font-weight:800;letter-spacing:1.2px;margin-top:auto}
.sp-runlist{border:1px solid #753f2c;border-radius:9px;overflow:hidden;background:#1d100d}
.sp-run{display:grid;grid-template-columns:minmax(180px,1.5fr) 95px 105px 125px;gap:10px;align-items:center;border-bottom:1px solid #603526;padding:14px 17px;font-size:12px}
.sp-run:last-child{border:0}
.sp-run-hero b{display:block;color:#f6d09b;font:700 15px Georgia,serif}
.sp-run-hero small{display:block;color:#b9977d;margin-top:5px}
.sp-run-wave{font-weight:800;color:#dbad72}
.sp-run>strong{color:#f4d6aa;font-size:13px}
.sp-state{font-size:9px;font-weight:800;letter-spacing:.6px;color:#b6e2b0}
.sp-state.is-pending{color:#f5c76c}
.sp-footnote{font-size:11px;color:#ba987e;line-height:1.7;margin-top:13px;max-width:900px}
.sp-loading,.sp-guest,.sp-warning,.sp-none{padding:40px 26px;border:1px solid #89512e;border-radius:10px;background:#27130f;color:#e4bd89;text-align:center;margin:20px 0}
.sp-guest h1{font:800 38px Georgia,serif;color:#ffd59d}
.sp-guest p{margin:10px auto 24px;max-width:540px}
.sp-warning{border-color:#aa7437}
@media(max-width:1000px){.sp-mastery-marks{width:100%}.sp-hero{grid-template-columns:minmax(0,1fr) 205px}.sp-hero-art img{max-width:190px}}
@media(max-width:750px){.sp-shell{padding:0}.sp-hero{grid-template-columns:1fr;gap:10px;padding:26px 20px}.sp-hero-art{flex-direction:row}.sp-hero-art img{width:94px}.sp-hero-art span{font-size:9px}.sp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-achievements{grid-template-columns:1fr}.sp-relics{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-run{grid-template-columns:1fr 1fr;padding:13px}.sp-status{padding:16px}.sp-mastery{padding:18px}}
@media(max-width:380px){.sp-relics{grid-template-columns:1fr}.sp-mastery-marks span{flex:1;min-width:0}}
@media(prefers-reduced-motion:reduce){.gh-award-siegeBreaker::before,.gh-award-siegeBreaker .og-award-fx::before,.gh-award-siegeBreaker .og-award-fx::after,.og50-mini-badge.is-siegeBreaker{animation:none!important}}

/* v97.1: visual privilege must match the actual Firestore award. */
.sp-hero-art.sp-honor-unearned img{width:min(75%,195px);max-height:218px;filter:grayscale(.65) sepia(.32) drop-shadow(0 0 14px #9a4d2744);opacity:.64}
.sp-hero-art.sp-honor-unearned span{color:#bd997b}
.sp-hero-art.sp-honor-earned img{filter:drop-shadow(0 0 30px #e56f3877);animation:sg97-crest-pulse 5s ease-in-out infinite}
.sp-no-awards{font:600 11px/1.5 Inter,sans-serif;color:#b69c88}
.gh-award-siegeBreaker > .sg-breaker-crest{position:relative;z-index:3}
.gh-badge-check-siegeBreaker:not(.is-awarded) > span{border-color:#5d4334!important;background:#201410!important;color:#9d8170!important;box-shadow:none!important;opacity:.68}
.gh-badge-check-siegeBreaker:not(.is-awarded) img{filter:grayscale(1);opacity:.5}
.gh-badge-check.is-awarded > span{border-color:#d7a35a!important;box-shadow:0 0 9px #cc874b3d,inset 0 0 0 1px #fbc47850}
.gh-badge-check.is-unawarded > span{border-color:#534039;background:#1d1312;color:#9f8980;box-shadow:none}
.gh-badge-check > span{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.gh-badge-check-state{font:800 9px/1.1 Inter,Arial,sans-serif;letter-spacing:.7px;color:#9e8373}
.gh-badge-check.is-awarded .gh-badge-check-state{color:#ffcb80}
.gh-badge-check.is-awarded .gh-badge-check-state::before{content:'✓ '}
.gh-badge-check.is-unawarded .gh-badge-check-state::before{content:'○ '}
.gh-badge-check input:focus-visible + span{outline:2px solid #ffe0a0}
.gh-badge-revoke{border-color:#b95340!important;color:#ffb19f!important;font-size:10px!important}
.gh-badge-mirror-error{font:600 11px/1.5 Inter,Arial,sans-serif;color:#ffab9a;max-width:500px}
.gh-badge-controls{align-items:stretch}
@media(prefers-reduced-motion:reduce){.sp-hero-art.sp-honor-earned img{animation:none!important}}

.gh-badge-check-name{white-space:nowrap}
.gh-badge-check .gh-badge-check-name{border:0;background:transparent;padding:0;box-shadow:none!important;color:inherit;font:inherit;display:inline}

.gh-badge-sync-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;border:1px solid #785334;background:linear-gradient(110deg,#341a13,#1c1010);border-radius:7px;padding:12px 14px;margin:0 0 17px}
.gh-badge-sync-bar strong{font-size:12px;color:#efc589}
.gh-badge-sync-bar span{color:#c39f87;font-size:11px;flex:1;min-width:180px}
.gh-badge-sync-bar .button{font-size:10px!important}

/* v97.2: member badge size parity and shared award help in the admin selector. */
.gh-badge-check[data-badge-tip]{position:relative}
.gh-badge-check[data-badge-tip]::after{content:attr(data-badge-tip);position:absolute;z-index:1000;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);width:max-content;max-width:min(300px,80vw);white-space:normal;text-align:center;background:#1e100d;color:#ffe5b7;border:1px solid #a77542;border-radius:6px;padding:8px 11px;box-shadow:0 8px 22px #000b;font:500 12px/1.5 Inter,Arial,sans-serif;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,transform .15s}
.gh-badge-check[data-badge-tip]:hover::after,.gh-badge-check[data-badge-tip]:focus-within::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
