:root {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #17202a;
  background: #f4f6f8;
  line-height: 1.5;
}
* { box-sizing: border-box; }
body { margin: 0; background: #f4f6f8; }
.wrap { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.site-header { background: #fff; border-bottom: 1px solid #dfe4e8; }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; }
.tagline { color: #68737d; font-size: .88rem; }
.header-user { font-weight: 700; }
.hero { display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; align-items: center; padding: 72px 0; }
.eyebrow { font-size: .72rem; font-weight: 800; letter-spacing: .13em; color: #6b7782; }
h1 { font-size: clamp(2.3rem, 6vw, 4.3rem); line-height: 1.02; letter-spacing: -.045em; margin: 10px 0 18px; }
h2 { font-size: 2rem; margin: 5px 0 0; letter-spacing: -.03em; }
h3 { margin: 5px 0; }
p { color: #5f6b75; }
.hero p { font-size: 1.1rem; max-width: 700px; }
.hero-card, .panel, .stat-card, .bird-card { background: #fff; border: 1px solid #dfe4e8; border-radius: 14px; box-shadow: 0 5px 20px rgba(20,30,40,.04); }
.hero-card { padding: 28px; }
.hero-card li { margin: 12px 0; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.button { border: 0; border-radius: 9px; padding: 12px 18px; font-weight: 750; cursor: pointer; font-size: .95rem; }
.button.primary { background: #17202a; color: #fff; }
.button.secondary { background: #e9edf0; color: #17202a; }
.panel { max-width: 560px; margin: 70px auto; padding: 30px; }
.panel-heading, .dashboard-top, .section-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.link-button, .switch-auth { border: 0; background: none; color: #52606d; cursor: pointer; padding: 6px 0; }
.form { display: grid; gap: 17px; margin-top: 26px; }
label { display: block; font-weight: 700; margin-bottom: 6px; }
input { width: 100%; border: 1px solid #cbd3d9; border-radius: 8px; padding: 12px; font: inherit; }
input:focus { outline: 2px solid #aab6bf; outline-offset: 1px; }
.message { min-height: 24px; margin: 0; }
.switch-auth { margin-top: 14px; }
.hidden { display: none !important; }
#dashboard { padding: 48px 0 30px; }
.dashboard-top h1 { font-size: 3rem; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 28px 0 50px; }
.stat-card { padding: 18px; }
.stat-card span { display: block; color: #6b7782; font-size: .8rem; }
.stat-card strong { display: block; font-size: 1.45rem; margin-top: 4px; }
.section-heading { align-items: end; margin-bottom: 16px; }
.muted { color: #7a858e; }
.bird-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding-bottom: 60px; }
.bird-card { padding: 17px; }
.bird-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .72rem; color: #78848e; }
.bird-card h3 { font-size: 1.15rem; }
.bird-meta { color: #6a7580; font-size: .84rem; margin-bottom: 15px; }
.bird-stat { display: flex; justify-content: space-between; border-top: 1px solid #edf0f2; padding: 8px 0; }
.bird-stat span { color: #66717b; font-size: .84rem; }
.mini-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 8px; color: #6a7580; font-size: .72rem; }
.footer { display: flex; justify-content: space-between; padding: 18px 0 35px; color: #7b858e; font-size: .8rem; border-top: 1px solid #dfe4e8; }
@media (max-width: 800px) { .hero { grid-template-columns: 1fr; padding: 45px 0; } .stats-grid { grid-template-columns: 1fr 1fr; } .bird-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .wrap { width: min(100% - 22px, 1120px); } .stats-grid, .bird-grid { grid-template-columns: 1fr; } .header-inner, .dashboard-top { align-items: flex-start; } .dashboard-top h1 { font-size: 2.25rem; } }

.bird-clickable { cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.bird-clickable:hover, .bird-clickable:focus { transform: translateY(-2px); box-shadow: 0 9px 26px rgba(20,30,40,.09); border-color: #aeb8c0; outline: none; }
.open-profile { margin-top: 13px; padding-top: 11px; border-top: 1px solid #edf0f2; font-weight: 750; font-size: .8rem; }
.profile-page { padding: 40px 0 70px; }
.back-birds { font-weight: 750; margin-bottom: 24px; }
.profile-hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-bottom: 28px; }
.profile-hero h1 { font-size: clamp(2.4rem, 5vw, 4rem); margin: 5px 0 8px; }
.profile-code { margin-top: 10px; }
.profile-summary { min-width: 190px; background: #17202a; color: #fff; border-radius: 14px; padding: 20px; }
.profile-summary span, .profile-summary small { display: block; opacity: .72; }
.profile-summary strong { display: block; font-size: 3rem; line-height: 1; margin: 5px 0 10px; }
.profile-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.profile-card { background: #fff; border: 1px solid #dfe4e8; border-radius: 14px; padding: 22px; box-shadow: 0 5px 20px rgba(20,30,40,.04); }
.profile-card h2 { font-size: 1.35rem; margin-bottom: 18px; }
.profile-stat { margin: 13px 0; }
.profile-stat > div:first-child, .detail-row { display: flex; justify-content: space-between; gap: 16px; }
.profile-stat span, .detail-row span, .pedigree-box span { color: #66717b; }
.stat-bar { height: 7px; border-radius: 99px; background: #e9edf0; overflow: hidden; margin-top: 6px; }
.stat-bar i { display: block; height: 100%; background: #17202a; border-radius: inherit; }
.detail-row { border-top: 1px solid #edf0f2; padding: 10px 0; }
.trait-list { display: flex; flex-wrap: wrap; gap: 9px; }
.trait-chip { background: #eef1f3; border-radius: 999px; padding: 8px 11px; font-weight: 700; font-size: .82rem; text-transform: capitalize; }
.pedigree-box { border: 1px solid #e4e8eb; border-radius: 10px; padding: 13px; margin: 10px 0; }
.pedigree-box span, .pedigree-box strong { display: block; }
.profile-note { font-size: .84rem; margin-bottom: 0; }
.profile-loading { padding: 60px 0; color: #6b7782; }
@media (max-width: 720px) { .profile-layout { grid-template-columns: 1fr; } .profile-hero { align-items: stretch; flex-direction: column; } .profile-summary { min-width: 0; } }


.game-nav { display:flex; flex-wrap:wrap; gap:10px; margin: 4px 0 34px; }
.training-page { padding: 40px 0 70px; }
.training-hero { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:20px; }
.training-hero h1 { font-size:clamp(2.4rem,5vw,4rem); margin:5px 0 8px; }
.training-balance { background:#fff; border:1px solid #dfe4e8; border-radius:14px; padding:16px 20px; color:#66717b; min-width:180px; }
.training-balance strong { display:block; color:#17202a; font-size:1.5rem; }
.training-message { background:#eef1f3; border-radius:10px; padding:12px 15px; margin-bottom:18px; color:#52606d; }
.training-options { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:42px; }
.training-option { text-align:left; background:#fff; border:2px solid #dfe4e8; border-radius:14px; padding:18px; cursor:pointer; font:inherit; color:#17202a; }
.training-option.selected { border-color:#17202a; box-shadow:0 6px 20px rgba(20,30,40,.08); }
.training-option strong,.training-option span,.training-option b { display:block; }
.training-option strong { font-size:1.12rem; margin:6px 0; }
.training-option span:not(.eyebrow) { color:#66717b; }
.training-option b { margin-top:10px; }
.training-select-heading { margin-top:0; }
.training-birds { display:grid; gap:8px; margin-bottom:20px; }
.training-bird { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; background:#fff; border:1px solid #dfe4e8; border-radius:11px; padding:13px 15px; cursor:pointer; }
.training-bird input { width:18px; height:18px; }
.training-bird div span { display:block; color:#66717b; font-size:.82rem; margin-top:2px; }
.training-bird > b { font-size:.8rem; }
.training-bird.unfit { opacity:.55; cursor:not-allowed; }
.training-action { position:sticky; bottom:10px; z-index:5; display:flex; justify-content:space-between; align-items:center; gap:18px; background:#17202a; color:#fff; border-radius:14px; padding:16px 18px; margin:20px 0; box-shadow:0 10px 30px rgba(20,30,40,.2); }
.training-action span { display:block; opacity:.7; font-size:.82rem; }
.training-action .button.primary { background:#fff; color:#17202a; }
.training-action .button:disabled { opacity:.45; cursor:not-allowed; }
.training-history { margin-top:28px; }
.history-row { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-top:1px solid #edf0f2; text-transform:capitalize; }
@media (max-width:800px){ .training-options{grid-template-columns:1fr 1fr;} .training-hero{align-items:stretch;flex-direction:column;} }
@media (max-width:520px){ .training-options{grid-template-columns:1fr;} .training-action{align-items:stretch;flex-direction:column;} .training-action .button{width:100%;} }

.race-options{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:42px}.race-result{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid #edf0f2}.race-result span{color:#66717b;text-align:right}@media(max-width:900px){.race-options{grid-template-columns:1fr 1fr}}@media(max-width:520px){.race-options{grid-template-columns:1fr}.race-result{flex-direction:column}.race-result span{text-align:left}}

.race-history-card{margin-top:16px;padding:14px;border:1px solid #e5e8eb;border-radius:12px}.race-history-card .history-row{padding-top:0}

.care-action-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #edf0f2;padding-top:16px}.care-action-row strong{font-size:1.4rem}.condition-line{display:block;color:#66717b;font-size:.82rem;margin-top:3px}.career-card{grid-column:span 1}.career-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.career-grid>div{background:#f4f6f8;border-radius:10px;padding:12px}.career-grid span{display:block;color:#66717b;font-size:.78rem}.career-grid strong{display:block;font-size:1.2rem;margin-top:2px}@media(max-width:520px){.game-nav{flex-wrap:wrap}.care-action-row{align-items:stretch;flex-direction:column}.care-action-row .button{width:100%}}

/* V1.6.1 pigeon status sections */
.bird-status-tabs { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 22px; }
.bird-status-tab span { display:inline-flex; min-width:1.7em; justify-content:center; margin-left:6px; padding:1px 6px; border-radius:999px; background:rgba(255,255,255,.12); }
.bird-status-badge { display:inline-block; margin-top:8px; padding:4px 8px; border-radius:999px; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; background:rgba(255,255,255,.1); }
.bird-card.status-missing, .bird-card.status-lost { opacity:.88; }

/* V1.7 seasons and league */
.season-calendar{display:grid;gap:10px}.calendar-race{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #edf0f2;padding:14px 0}.calendar-race>div strong,.calendar-race>div span{display:block}.calendar-race>div>span:not(.eyebrow){color:#66717b;font-size:.84rem;margin-top:3px}.calendar-race.completed{opacity:.65}.league-row{display:grid;grid-template-columns:45px 1fr 100px 80px 80px;gap:12px;align-items:center;border-top:1px solid #edf0f2;padding:12px 0}.league-row span:nth-child(n+3){color:#66717b;font-size:.84rem}@media(max-width:650px){.calendar-race{align-items:stretch;flex-direction:column}.league-row{grid-template-columns:35px 1fr auto}.league-row span:nth-child(3),.league-row span:nth-child(4){display:none}}


/* V1.8 finances, loft management and dashboard */
.finance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.small-stat{font-size:.95rem!important}.upgrade-box,.maintenance-box{display:grid;gap:7px;border-top:1px solid #edf0f2;padding-top:16px;margin-top:14px}.upgrade-box>span,.maintenance-box>span{color:#66717b}.upgrade-box .button,.maintenance-box .button{margin-top:6px}.money-in{white-space:nowrap}.money-out{white-space:nowrap}.dashboard-overview{margin:-12px 0 30px}.overview-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.overview-grid>div{background:#f4f6f8;border-radius:10px;padding:13px}.overview-grid strong{display:block;margin-top:5px}.recent-activity{margin-top:16px}.recent-activity h3{margin:0 0 8px}.activity-line{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-top:1px solid #edf0f2}.activity-line span{color:#66717b}@media(max-width:800px){.finance-summary{grid-template-columns:1fr 1fr}.overview-grid{grid-template-columns:1fr}}@media(max-width:520px){.finance-summary{grid-template-columns:1fr}.activity-line{flex-direction:column;gap:2px}}


/* V2.0 marketplace */
.market-list-form{display:grid;gap:12px}.market-list-form select,.market-list-form input{width:100%;padding:12px;border:1px solid #cfd6dc;border-radius:9px;background:#fff;font:inherit}.market-list-form label{display:grid;gap:6px;color:#66717b;font-size:.85rem}.market-grid{display:grid;gap:12px}.market-card{display:flex;justify-content:space-between;gap:22px;align-items:center;background:#fff;border:1px solid #dfe4e8;border-radius:14px;padding:18px}.market-card h3{margin:4px 0}.market-card p{color:#66717b;margin:4px 0 10px}.market-price{display:grid;gap:9px;min-width:150px;text-align:right}.market-price strong{font-size:1.35rem}.market-detail{margin-top:22px}.market-big-price{font-size:1.5rem!important}.market-buy{margin-top:20px;width:100%}@media(max-width:650px){.market-card{align-items:stretch;flex-direction:column}.market-price{text-align:left}.market-price .button{width:100%}}

/* V2.1 permanent pigeon portraits */
.bird-portrait{height:190px;margin:-18px -18px 14px;overflow:hidden;border-radius:14px 14px 0 0;position:relative;background:#e9edf0}.bird-portrait img,.profile-portrait img,.market-portrait img{width:100%;height:100%;object-fit:cover;display:block}.bird-portrait span{position:absolute;left:10px;bottom:9px;background:rgba(23,32,42,.82);color:#fff;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:750}.profile-portrait{width:210px;height:280px;flex:0 0 210px;border-radius:14px;overflow:hidden;border:1px solid #dfe4e8;background:#e9edf0}.profile-portrait span,.market-portrait span{display:none}.market-portrait{width:115px;height:145px;flex:0 0 115px;border-radius:10px;overflow:hidden;background:#e9edf0}@media(max-width:720px){.profile-portrait{width:100%;height:340px;flex-basis:auto}.market-portrait{width:100%;height:230px;flex-basis:auto}}


/* V2.1.1 compact bird gallery + colour-only plaques */
@media (min-width: 1000px){.bird-grid{grid-template-columns:repeat(5,1fr);gap:10px}}
.bird-card{padding:12px}.bird-card h3{font-size:1rem;margin:7px 0}.bird-meta{margin-bottom:9px}.bird-card .bird-stat{padding:6px 0}.bird-card .mini-stats{font-size:.68rem;gap:4px}.bird-card .open-profile{font-size:.76rem;margin-top:8px}
.bird-portrait{height:125px;margin:-12px -12px 9px;border-radius:12px 12px 0 0;display:flex;flex-direction:column;background:#e9edf0}
.bird-portrait img{height:101px;object-fit:cover;flex:0 0 101px}
.bird-portrait span{position:static;display:block;background:#f1e8d8;color:#17202a;border-top:1px solid #d6c8b3;border-radius:0;text-align:center;padding:4px 5px;font-size:.67rem;line-height:16px;font-weight:800;text-transform:uppercase;letter-spacing:.025em}
.market-portrait{width:100px;height:125px;flex:0 0 100px;display:flex;flex-direction:column;border:1px solid #e0e4e7}
.market-portrait img{height:101px;flex:0 0 101px}.market-portrait span{display:block;background:#f1e8d8;color:#17202a;text-align:center;padding:4px;font-size:.65rem;line-height:16px;font-weight:800;text-transform:uppercase}
.profile-portrait{display:flex;flex-direction:column;height:304px}.profile-portrait img{height:280px;flex:0 0 280px}.profile-portrait span{display:block;background:#f1e8d8;color:#17202a;border-top:1px solid #d6c8b3;text-align:center;padding:4px 6px;font-size:.72rem;line-height:16px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
@media(max-width:720px){.bird-portrait{height:145px}.bird-portrait img{height:121px;flex-basis:121px}.profile-portrait{height:364px}.profile-portrait img{height:340px;flex-basis:340px}.market-portrait{width:100%;height:230px;flex-basis:auto}.market-portrait img{height:206px;flex-basis:206px}}

/* V2.1.2 full-bird thumbnails: preserve the whole portrait instead of cropping it */
.bird-portrait{height:190px;background:#eee5d7}
.bird-portrait img{height:166px;flex:0 0 166px;object-fit:contain;object-position:center center;background:#eee5d7}
@media(max-width:720px){.bird-portrait{height:205px}.bird-portrait img{height:181px;flex-basis:181px;object-fit:contain}}

/* V2.2 visual identity — navy, racing green, warm loft cream */
:root{--navy:#122536;--navy2:#1b3448;--green:#2f6b4f;--green2:#24563f;--cream:#f5f0e7;--paper:#fffdf9;--tan:#dfd1b9;--ink:#17232d;--muted:#65727a;--line:#ddd6ca;--shadow:0 10px 28px rgba(20,34,45,.10)}
html{background:#e9e1d5}body{color:var(--ink);background:linear-gradient(rgba(245,240,231,.94),rgba(245,240,231,.97)),repeating-linear-gradient(90deg,#e7ddcf 0,#e7ddcf 1px,transparent 1px,transparent 120px);min-height:100vh}
.site-header{background:linear-gradient(135deg,var(--navy),var(--navy2));border-bottom:4px solid var(--green);color:#fff;box-shadow:0 5px 18px rgba(18,37,54,.18);position:relative;z-index:10}.header-inner{min-height:86px}.brand{font-size:1.42rem;letter-spacing:.01em}.brand:before{content:'◈';display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border:2px solid rgba(255,255,255,.65);border-radius:50%;font-size:.9rem;vertical-align:middle}.tagline{color:#d5dde2}.header-user{color:#fff;background:rgba(255,255,255,.10);padding:8px 12px;border-radius:999px}
.hero{padding:78px 0}.hero-card,.panel,.stat-card,.bird-card,.profile-card,.training-balance,.market-card,.training-option,.training-bird{background:var(--paper);border-color:var(--line);box-shadow:var(--shadow)}
h1,h2,h3,.brand{font-family:Georgia,"Times New Roman",serif}h1{color:var(--navy)}h2,h3{color:#203545}.eyebrow{color:var(--green);font-weight:900}.muted,p{color:var(--muted)}
.button{border:1px solid transparent;border-radius:10px;padding:11px 17px;box-shadow:0 3px 8px rgba(20,34,45,.10);transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px rgba(20,34,45,.16)}.button:active:not(:disabled){transform:translateY(0)}.button.primary{background:linear-gradient(#36785a,var(--green));color:#fff;border-color:#24563f}.button.primary:hover:not(:disabled){background:linear-gradient(#3f8465,var(--green2))}.button.secondary{background:#fffaf2;color:var(--navy);border-color:#d8cdbd}.button.secondary:hover:not(:disabled){background:#f0e7d8;border-color:#c8b99f}.button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.link-button,.switch-auth{color:var(--green);font-weight:800}.link-button:hover,.switch-auth:hover{text-decoration:underline}
.game-nav{background:rgba(255,253,249,.88);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 6px 18px rgba(20,34,45,.07);position:sticky;top:8px;z-index:8;backdrop-filter:blur(8px)}.game-nav .button{padding:9px 13px;font-size:.84rem;box-shadow:none}
#dashboard{padding-top:38px}.dashboard-top{padding:22px 24px;background:linear-gradient(135deg,#fffdf9,#f1e8d9);border:1px solid var(--line);border-left:5px solid var(--green);border-radius:16px;box-shadow:var(--shadow)}.dashboard-top h1{margin-bottom:5px}.stats-grid{gap:12px;margin:18px 0 26px}.stat-card{position:relative;overflow:hidden;border-radius:12px}.stat-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green)}.stat-card span{color:#72808a;text-transform:uppercase;letter-spacing:.05em;font-weight:800;font-size:.68rem}.stat-card strong{color:var(--navy)}
.dashboard-overview,.profile-card{border-radius:14px}.overview-grid>div,.career-grid>div{background:#f4eee4;border:1px solid #e6dccd}.section-heading{padding-top:12px;border-top:1px solid #d9d0c4}
.bird-card{border-radius:13px;overflow:hidden}.bird-clickable:hover,.bird-clickable:focus{border-color:#a9906c;box-shadow:0 12px 28px rgba(35,47,56,.15)}.bird-portrait{background:#e9dfd0}.bird-portrait img{background:#e9dfd0}.bird-portrait span,.profile-portrait span,.market-portrait span{background:#e8dcc8!important;color:#263847!important;border-color:#cdbb9d!important}.bird-code{color:#6e7b82}.open-profile{color:var(--green);border-color:#e3dacf}
.profile-summary,.training-action{background:linear-gradient(135deg,var(--navy),#1d3a50);box-shadow:0 12px 28px rgba(18,37,54,.24)}.profile-summary{border-bottom:4px solid var(--green)}.stat-bar{background:#e5ded3}.stat-bar i{background:linear-gradient(90deg,var(--green),#5b9275)}.trait-chip{background:#e8efe9;color:#315d49;border:1px solid #cedfd4}.pedigree-box,.race-history-card{border-color:#dfd5c6;background:#fffaf2}
.training-message{background:#e9f0eb;color:#355744;border:1px solid #cedfd4}.training-option.selected{border-color:var(--green);box-shadow:0 8px 20px rgba(47,107,79,.16);background:#f8fcf9}.training-bird:hover{border-color:#b8a98f}.training-action .button.primary{background:#fff;color:var(--navy);border-color:#fff}
.bird-status-tabs{padding:10px;background:#eee5d8;border-radius:12px;border:1px solid #ded2c0}.bird-status-tab span{background:rgba(18,37,54,.08)}.bird-status-tab.primary span{background:rgba(255,255,255,.18)}
.market-card{border-left:4px solid var(--green)}.market-price strong{color:var(--green)}input,select{border:1px solid #cfc3b2!important;background:#fffdf9!important;color:var(--ink);border-radius:9px!important}input:focus,select:focus{outline:2px solid rgba(47,107,79,.32)!important;border-color:var(--green)!important}
.calendar-race,.league-row,.history-row,.detail-row,.activity-line,.race-result{border-color:#e3dacf}.calendar-race.completed{background:#f3eee6;border-radius:9px;padding-left:10px;padding-right:10px}.money-in{color:var(--green);font-weight:800}.money-out{color:#934d42;font-weight:800}
.footer{border-color:#cfc4b5;color:#6f797f;margin-top:30px}.footer:before{content:'PIGEON RACING ONLINE';font-weight:900;color:var(--navy);letter-spacing:.06em}
@media(max-width:900px){.game-nav{position:static;overflow-x:auto;flex-wrap:nowrap}.game-nav .button{white-space:nowrap}.header-inner{min-height:74px}.dashboard-top{padding:18px}}
@media(max-width:520px){.site-header .tagline{display:none}.header-inner{align-items:center}.brand{font-size:1.1rem}.brand:before{width:28px;height:28px}.dashboard-top{flex-direction:column}.button{min-height:42px}.bird-status-tabs{gap:6px}.footer{flex-wrap:wrap;gap:8px}.footer:before{width:100%}}


/* V2.2.1 colour polish — richer club character without changing layout */
:root{--gold:#c7973e;--rust:#a85b3f;--sky:#4f7893;--sage:#78916f}
.site-header{background:linear-gradient(120deg,#102a3d 0%,#173d51 62%,#255943 100%);border-bottom-color:var(--gold)}
.brand:before{border-color:#e5c47c;color:#f0d28f;background:rgba(199,151,62,.12)}
.game-nav{border-top:3px solid var(--gold)}
.game-nav .button:nth-child(2){border-bottom:3px solid var(--green)}
.game-nav .button:nth-child(3){border-bottom:3px solid var(--sky)}
.game-nav .button:nth-child(4){border-bottom:3px solid var(--rust)}
.game-nav .button:nth-child(5){border-bottom:3px solid var(--gold)}
.dashboard-top{background:linear-gradient(125deg,#fffaf0 0%,#f3ead8 58%,#e5efe8 100%);border-left-color:var(--gold)}
.stats-grid .stat-card:nth-child(4n+1):before{background:var(--green)}
.stats-grid .stat-card:nth-child(4n+2):before{background:var(--gold)}
.stats-grid .stat-card:nth-child(4n+3):before{background:var(--sky)}
.stats-grid .stat-card:nth-child(4n+4):before{background:var(--rust)}
.stats-grid .stat-card:nth-child(4n+2) strong{color:#89621f}.stats-grid .stat-card:nth-child(4n+3) strong{color:#365f79}.stats-grid .stat-card:nth-child(4n+4) strong{color:#8b4834}
.section-heading h2{display:inline-block;border-bottom:3px solid var(--gold);padding-bottom:5px}
.eyebrow{color:#8a6729}.button.primary{background:linear-gradient(#438363,#2f6b4f);border-color:#24563f}.button.secondary{background:linear-gradient(#fffdf8,#f1e7d7);border-color:#cfbea1}
.bird-status-tabs{background:linear-gradient(90deg,#eee5d8,#e5eee8)}
.bird-status-tab.primary{background:linear-gradient(#438363,#2f6b4f)}
.bird-status-badge{background:#e8efe9;color:#315d49;border:1px solid #c5d9cc}
.status-injured .bird-status-badge{background:#f7e8d8;color:#8a542f;border-color:#e5c7a8}.status-missing .bird-status-badge{background:#e4edf3;color:#355e77;border-color:#bfd1dc}.status-lost .bird-status-badge{background:#eee5e3;color:#7d4941;border-color:#d8c1bc}
.training-option:nth-child(4n+1){border-top:4px solid var(--green)}.training-option:nth-child(4n+2){border-top:4px solid var(--sky)}.training-option:nth-child(4n+3){border-top:4px solid var(--gold)}.training-option:nth-child(4n+4){border-top:4px solid var(--rust)}
.race-options .training-option:nth-child(5n+1){border-top-color:var(--green)}.race-options .training-option:nth-child(5n+2){border-top-color:var(--sky)}.race-options .training-option:nth-child(5n+3){border-top-color:var(--gold)}.race-options .training-option:nth-child(5n+4){border-top-color:var(--rust)}.race-options .training-option:nth-child(5n+5){border-top-color:#66577c}
.profile-summary{border-bottom-color:var(--gold)}.stat-bar i{background:linear-gradient(90deg,#2f6b4f,#7ba178)}
.trait-chip:nth-child(3n+2){background:#f5ead5;color:#785c28;border-color:#e4d0a9}.trait-chip:nth-child(3n+3){background:#e4edf3;color:#355e77;border-color:#c5d5df}
.market-card{border-left-color:var(--gold)}.market-price strong{color:#8a6729}.training-message{border-left:4px solid var(--green)}
.money-in{color:#27704d}.money-out{color:#a04e3c}.footer:before{color:#8a6729}

/* V2.3 Auctions */
.auction-clock{display:inline-block;margin-top:6px;color:#9a5a2d;font-weight:800}.auction-bid-box{margin-top:20px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;background:#fffaf1;display:flex;gap:12px;align-items:end;flex-wrap:wrap}.auction-bid-box label{display:grid;gap:6px;min-width:180px}.auction-bid-box input{padding:11px;width:100%}@media(max-width:650px){.auction-bid-box>*{width:100%}}

/* V2.5 loft teams, Championship Centre and Trophy Cabinet */
.team-filter-row{display:flex;justify-content:flex-end;margin:10px 0 14px}.team-filter-row label,.profile-team-control{font-weight:700;color:var(--navy,#17324d)}.team-filter-row select,.profile-team-control select{margin-left:8px;padding:8px 10px;border:1px solid #c8bfae;border-radius:8px;background:#fff}.team-badge{display:inline-block;margin:6px 0;padding:3px 8px;border-radius:999px;background:#e8f0e8;color:#28583b;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.trophy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.trophy-card{text-align:center}.trophy-icon{font-size:2.4rem;margin-bottom:8px}@media(max-width:850px){.trophy-grid{grid-template-columns:1fr}.team-filter-row{justify-content:flex-start}}

/* V2.5.1 profile loft-team control */
.team-profile-control{display:flex;flex-direction:column;gap:8px;font-weight:700;margin-top:14px}.team-profile-control select{width:100%;padding:11px 12px;border:1px solid #c8c0ad;border-radius:9px;background:#fffdf7;color:#18263b;font:inherit}.team-profile-control select:focus{outline:2px solid rgba(26,101,73,.22);border-color:#1a6549}
/* V2.6 Championship Tournament */
#championshipTournament{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.championship-discipline{padding:18px;border:1px solid rgba(174,132,52,.35);border-radius:16px;background:linear-gradient(180deg,rgba(255,249,231,.96),rgba(248,241,219,.92));box-shadow:0 8px 24px rgba(21,39,55,.08)}.championship-discipline h3{margin-top:0;color:#17344a}.championship-discipline h4{margin:16px 0 8px;color:#315d45}.champ-entry{display:flex;gap:8px;align-items:center;margin:12px 0}.champ-entry select{min-width:0;flex:1}@media(max-width:950px){#championshipTournament{grid-template-columns:1fr}.champ-entry{align-items:stretch;flex-direction:column}}
\n/* V2.7 feed store and weekly preparation */\n.feed-store-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.feed-stock-card{padding:15px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:12px;background:#fffdf8}.feed-stock-card:nth-child(2){border-top-color:var(--sky)}.feed-stock-card:nth-child(3){border-top-color:var(--gold)}.feed-stock-card:nth-child(4){border-top-color:var(--rust)}.feed-stock-card:nth-child(5){border-top-color:#66577c}.feed-stock-card h3{margin:7px 0}.feed-stock-card p{min-height:54px}.profile-card label{display:grid;gap:6px;margin:10px 0;font-weight:700}.profile-card select{padding:10px;border:1px solid #c8c0ad;border-radius:8px;background:#fff}.prep-action{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.prep-action span{display:block;font-size:.84rem;color:#6b7280;margin-top:3px}@media(max-width:1050px){.feed-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.feed-store-grid{grid-template-columns:1fr}.prep-action{align-items:stretch;flex-direction:column}}\n/* V2.7.1 daily multi-week preparation planner */
.planner-controls{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0}.planner-controls label{min-width:180px}.planner-day{display:grid;grid-template-columns:minmax(155px,1.2fr) minmax(150px,1fr) 110px minmax(180px,1.2fr) auto;gap:10px;align-items:end;padding:12px 0;border-top:1px solid rgba(20,40,55,.12)}.planner-day label{margin:0}.planner-date{display:flex;flex-direction:column;gap:2px}.planner-race-day{padding:14px 12px;border:1px solid rgba(177,132,40,.35);border-radius:10px;background:rgba(240,226,188,.28);margin:6px 0}.planner-race-day .planner-date b{color:#7b5512;font-size:.85rem}@media(max-width:900px){.planner-day{grid-template-columns:1fr 1fr}.planner-date{grid-column:1/-1}.planner-day button{grid-column:1/-1}}

/* V2.7.5 preparation planner polish */
.planner-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}.planner-overview>div{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid rgba(20,40,55,.12);border-radius:12px;background:rgba(255,255,255,.55)}.planner-overview strong{font-size:1.02rem}.planner-overview span:last-child{font-size:.86rem;opacity:.75}.planner-completed-day{opacity:.72;background:rgba(20,40,55,.035)}.planner-completed-day select,.planner-completed-day button{cursor:not-allowed}.planner-status{display:inline-flex;width:max-content;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.05em}.planner-status.done{background:rgba(31,107,75,.12);color:#1f6b4b}.planner-status.future{background:rgba(40,91,140,.10);color:#285b8c}@media(max-width:900px){.planner-overview{grid-template-columns:1fr}}

/* V2.8 race-entry preparation integration */
.race-prep-target{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:-24px 0 28px;padding:16px 18px;border:1px solid #dfd5c6;border-left:5px solid var(--green);border-radius:11px;background:#fffaf2}.race-prep-target div{display:flex;flex-direction:column;gap:3px}.race-prep-target strong{font-size:1.08rem}.race-prep-target span:last-child{color:#66717b;font-size:.86rem}.race-entry-bird .race-team-label{font-weight:800;color:var(--green);text-transform:capitalize}.race-entry-bird .race-warning{color:#934d42;font-weight:700}.race-entry-bird .race-ready-note{color:var(--green);font-weight:700}@media(max-width:650px){.race-prep-target{margin-top:-18px}.race-entry-bird{grid-template-columns:auto 1fr}.race-entry-bird>b{grid-column:2}}

/* V3.0 new-player onboarding */
.onboarding-panel{margin:18px 0;padding:18px;border:1px solid #d8c7a7;border-left:5px solid var(--gold);border-radius:14px;background:linear-gradient(135deg,#fffaf0,#f4eee2);box-shadow:var(--shadow)}.onboarding-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.onboarding-head h2{margin:3px 0}.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.onboarding-step{padding:12px;border:1px solid #ddd2bf;border-radius:10px;background:#fffdf9;display:flex;gap:10px;align-items:flex-start}.onboarding-step.current{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.onboarding-num{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.onboarding-step div{min-width:0}.onboarding-step strong,.onboarding-step span{display:block}.onboarding-step span{font-size:.82rem;color:var(--muted);margin:3px 0 8px}.onboarding-help{padding:10px 12px;border-radius:9px;background:#eaf0eb;color:#355744;font-size:.88rem}@media(max-width:850px){.onboarding-steps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.onboarding-steps{grid-template-columns:1fr}.onboarding-head{flex-direction:column}}

/* V3.2 private offers & notifications */
.offer-box{margin-top:14px;padding:14px;border:1px solid #d8c7a7;border-radius:11px;background:#fffaf0;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.offer-box label{margin:0;min-width:170px}.offer-box input,.offer-actions input{padding:10px;border:1px solid #c8c0ad;border-radius:8px;background:#fff;font:inherit}.offer-box .muted{width:100%}.offer-actions{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-top:12px}.offer-actions label{margin:0;min-width:160px}.notification-unread{border-left:5px solid var(--gold)}#notificationBadge{font-weight:900;color:#8a4f21}@media(max-width:650px){.offer-box>*{width:100%}.offer-actions>*{width:100%}}

/* V3.2.1: keep expanded navigation contained after Notifications was added. */
.game-nav{flex-wrap:wrap;max-width:100%;}
/* Small screens keep the established horizontal scrolling navigation. */
@media(max-width:900px){.game-nav{flex-wrap:nowrap;max-width:100%;}}

/* V3.5.2 live race card readability */
.race-option{display:flex;flex-direction:column;gap:7px}.race-option>span,.race-option>strong,.race-option>b{display:block}.race-option .eyebrow{margin-bottom:1px}.race-prep-target>div{display:flex;flex-direction:column;gap:5px}

/* V3.6 closed-beta readiness and mobile polish */
.beta-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.beta-check-grid>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fffaf2}.beta-check-grid span{font-size:.86rem;color:var(--muted)}
@media(max-width:700px){.beta-check-grid{grid-template-columns:1fr}.training-hero{align-items:flex-start;gap:12px}.training-balance{width:100%;box-sizing:border-box}.training-action{align-items:stretch;flex-direction:column}.training-action .button{width:100%}.market-actions{align-items:stretch}.market-actions input,.market-actions .button{max-width:100%}.profile-layout{grid-template-columns:1fr}.game-nav{scrollbar-width:thin}.race-option{min-width:0}}
@media(max-width:520px){.container{width:min(94%,1200px)}.training-page,.profile-page{overflow-x:hidden}.detail-row{gap:8px;align-items:flex-start}.detail-row strong{text-align:right;overflow-wrap:anywhere}.planner-controls>*{width:100%}.planner-controls select{width:100%}}


/* V3.9.6 public homepage and SEO foundation */
.public-home{padding-bottom:42px}.public-home>.hero{margin-bottom:26px}.public-intro{max-width:850px;margin:10px auto 28px;text-align:center;padding:8px 18px}.public-intro h2,.public-how h2,.public-cta h2{margin:5px 0 10px;color:var(--navy)}.public-intro p,.public-how p,.public-cta p,.public-feature-grid p{color:var(--muted);line-height:1.65}.public-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 28px}.public-feature-grid article{padding:20px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:14px;background:#fffdf8;box-shadow:var(--shadow)}.public-feature-grid article:nth-child(2){border-top-color:var(--gold)}.public-feature-grid article:nth-child(3){border-top-color:var(--sky)}.public-feature-grid article:nth-child(4){border-top-color:var(--rust)}.public-feature-grid h3{margin:0 0 8px;color:var(--navy)}.public-feature-grid p{margin:0}.public-how,.public-cta{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center;margin:22px 0;padding:26px;border:1px solid var(--line);border-radius:16px;background:#f8f3e8}.public-cta{grid-template-columns:1fr auto;background:linear-gradient(135deg,#17344a,#244d62);color:#fff}.public-cta h2,.public-cta .eyebrow{color:#fff}.public-cta p{color:#e8edf0;margin-bottom:0}.public-cta .button-row{margin:0;white-space:nowrap}@media(max-width:900px){.public-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-how,.public-cta{grid-template-columns:1fr}.public-cta .button-row{white-space:normal}}@media(max-width:560px){.public-feature-grid{grid-template-columns:1fr}.public-how,.public-cta{padding:20px}.public-cta .button-row{display:grid;grid-template-columns:1fr}.public-cta .button{width:100%}}
