:root { --league-ink:#26372b; --league-cream:#f2eddb; --league-green:#31533b; --league-gold:#d4a353; }
#league-open { position:fixed;top:100px;right:18px;z-index:40;border:1px solid #b9c5a4;background:#243d2b;color:#f2eddb;padding:12px 17px;border-radius:0;font:700 12px FarmPixel,monospace;letter-spacing:.08em;cursor:pointer;box-shadow:0 3px 0 #15291b; }
#league-open[hidden] { display:none; }
#league-dialog { margin:auto;padding:0;border:1px solid #809171;border-radius:0;background:var(--league-cream);color:var(--league-ink);width:min(820px,calc(100vw - 28px));max-height:calc(100dvh - 28px);font:18px/1.25 FarmPixel,monospace;box-shadow:0 0 0 3px #34452f,0 0 0 6px #aeb895,8px 10px 0 #17261d88; }
#league-dialog::backdrop { background:#0a201dc4; }
#league-dialog * { box-sizing:border-box; }
#league-dialog h2,#league-dialog h3,#league-dialog p { margin:0; }
#league-dialog button,#league-dialog select,#league-dialog input { font:inherit; }
#league-dialog button { cursor:pointer; }
.league-header { position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px 18px;border-bottom:1px solid #d4d5be;background:#e5e8d6; }
.league-eyebrow { font-size:10px;letter-spacing:.16em;font-weight:800;color:#65744e;text-transform:uppercase; }
.league-header h2 { font:700 29px FarmPixel,monospace; }
.league-close { border:1px solid #b5bea3;border-radius:0;background:transparent;padding:10px 14px;color:#30432d;white-space:nowrap; }
.league-topline { display:flex;flex-wrap:wrap;gap:9px 22px;padding:12px 26px;color:#576744;background:#eaeedc;font-size:12px; }
.league-tabs { display:flex;gap:20px;padding:0 26px;border-bottom:1px solid #d4d5be; }
.league-tabs button { padding:14px 0;border:0;border-bottom:3px solid transparent;color:#68765a;background:transparent;font-weight:700; }
.league-tabs button[aria-selected=true] { color:#243e2d;border-bottom-color:#426443; }
.league-content { padding:22px 26px 26px; }
.league-wallet{display:inline-flex;align-items:baseline;gap:7px;float:right;margin:0 0 10px 14px;padding:7px 10px;border:2px solid #9a825b;background:#f5ebcf;color:#5a4933;font:16px FarmPixel,monospace}.league-wallet strong{font-size:22px;color:#6b4a2e}
.league-note { color:#65715a;font-size:12px;margin:8px 0 18px!important; }
.league-roster { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px; }
.bird-card { border:1px solid #d0d5bc;border-radius:0;padding:16px;background:#faf7e9;position:relative; }
.bird-card.selected { border:2px solid #54774e;padding:15px; }
.bird-portrait { width:100%;height:90px;object-fit:contain;image-rendering:pixelated;background:#e5e9d1; }
.bird-heading { display:flex;justify-content:space-between;gap:6px;align-items:center; }
.bird-heading h3 { font-size:19px; }
.bird-meta { font-size:11px;color:#758162; }
.bird-stats { display:flex;gap:10px;font-size:11px;color:#5c6c50;margin:9px 0;flex-wrap:wrap; }
.bird-energy { color:#849536;font-size:14px;letter-spacing:3px; }
.league-button { border:1px solid #bdc6ab;border-radius:0;padding:9px 11px;background:#e9eddb;color:#344a30;font-weight:600;min-height:40px; }
.league-button.primary { background:#365e42;border-color:#365e42;color:#fff8e7; }
.league-button:disabled { cursor:default;opacity:.45; }
.bird-actions { display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:12px 0; }
 .bird-actions button { padding:8px 4px;font-size:11px; }
.bird-select { width:100%; }
.bird-special { display:block;margin:10px 0;font-size:11px;color:#586d4d; }
.bird-special select { width:100%;padding:7px;border:1px solid #c5cdb5;border-radius:0;background:#f8f5e7;color:#344a30;margin-top:4px; }
.league-recruit { display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:18px 0 0; }
.league-recruit p { flex:1;min-width:200px;font-size:12px;color:#65715a; }
.league-status { padding:10px 26px;background:#dce7ca;color:#355333;font-size:12px;min-height:38px;border-top:1px solid #c3d1b4; }
.league-rivals { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.rival-card { border-top:3px solid #8eaa6c;padding:16px;background:#e8ebd9;border-radius:0; }
.rival-card h3 { font:700 22px FarmPixel,monospace;margin:8px 0!important; }
.rival-card button { width:100%;margin-top:14px; }
.rival-locked { opacity:.6; }
.league-risk { color:#873d2e;font-size:12px;line-height:1.4;padding:10px 0;border-top:1px solid #c8cfb5; }
.league-kit { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.kit-item { border:1px solid #cdd3bc;padding:20px;border-radius:0;background:#faf7e9; }
.kit-icon { font-size:30px; }
.kit-item h3 { font-size:19px;margin:6px 0!important; }
.kit-item p { color:#63745a;font-size:13px;min-height:44px; }
.kit-item button { margin-top:16px; }
.battle-board { background:#d9e3bf;border:1px solid #afc399;border-radius:0;overflow:hidden; }
.battle-top { display:flex;justify-content:space-between;padding:10px 16px;font-size:11px;color:#55694c;background:#c7d6ae; }
.battle-stats { display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:18px 22px 0; }
.battle-name { display:flex;justify-content:space-between;font-weight:700;gap:8px; }
.battle-meter { height:8px;background:#b5c49e;border-radius:0;overflow:hidden;margin-top:7px; }
.battle-meter span { display:block;height:100%;background:#52794d;transition:width .25s ease; }
.battle-meter.enemy span { background:#ad774d; }
.battle-mini { font-size:11px;color:#5b6e4d;margin-top:4px; }
#battle-canvas { width:100%;height:170px;display:block;image-rendering:pixelated;object-fit:contain;background:#d9e3bf; }
.battle-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px; }
.rival-tell{display:flex;align-items:baseline;justify-content:center;gap:9px;margin:10px 0 4px;padding:7px 10px;border:2px solid #8f7047;background:#f2e2b9;color:#493923;text-align:center;font:16px/1.15 FarmPixel,monospace}.rival-tell strong{color:#7a3f28;white-space:nowrap}.rival-tell.uncertain{border-style:dashed;background:#e9ddbd}.rival-tell.uncertain strong{color:#765840}.road-fight-bottom>.rival-tell{margin:0 auto 6px;width:min(620px,calc(100% - 20px));box-sizing:border-box}
.battle-action { padding:14px 9px;text-align:left;border:1px solid #bdc9a9;border-radius:0;background:#faf7e9;color:#324c33;min-height:92px; }
.battle-action strong { display:block;font-size:16px;margin-bottom:5px; }
.battle-action small { display:block;font-size:11px;line-height:1.4;color:#6e7c5d; }
.battle-action:first-child { background:#375c41;border-color:#375c41;color:#f9f4e4; }
.battle-action:first-child small { color:#d0dfbd; }
.battle-action:disabled { opacity:.55;cursor:default; }
.battle-log { padding:12px 0 0;font-size:12px;color:#536346;min-height:65px; }
.battle-log p { padding:3px 0; }
.battle-result { text-align:center;padding:18px 12px 3px; }
.battle-result h3 { font:700 28px FarmPixel,monospace;margin-bottom:7px!important; }
.battle-result button { margin-top:12px; }
.league-help { display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px;border-top:1px solid #d2d6bf;padding-top:15px; }
.league-help p { color:#6b785c;font-size:11px; }
.league-lab-tag { color:#849a73;font-size:10px;letter-spacing:.1em; }
#league-onboarding { position:fixed;left:50%;top:80px;transform:translateX(-50%);z-index:39;max-width:440px;width:calc(100% - 36px);background:#eff0dcec;border:1px solid #a2b18d;border-radius:0;padding:14px 18px;color:#29432e;font:13px/1.5 FarmPixel,monospace;box-shadow:0 6px 25px #11241133; }
#league-onboarding button { border:0;background:#35583c;color:#faf6e3;border-radius:0;padding:7px 12px;margin-top:8px;cursor:pointer; }
@media(max-width:650px) {
 #league-dialog { width:calc(100vw - 14px);max-height:calc(100dvh - 14px);border-radius:0; }
 .league-header { padding:14px;gap:10px; }.league-header h2 { font-size:24px; }.league-close{padding:9px;font-size:12px;}
 .league-topline,.league-tabs { padding-left:14px;padding-right:14px; }.league-content { padding:16px 14px; }
 .league-roster,.league-rivals { grid-template-columns:1fr; }.bird-card { display:block; }.bird-portrait { height:75px; }
 .league-kit { grid-template-columns:1fr; }.league-status { padding:10px 14px; }
 .battle-stats { gap:15px;padding:14px 12px 0; }.battle-name{font-size:12px;}.battle-mini { font-size:10px; }
 #battle-canvas { height:135px; }.battle-action { padding:11px 8px;min-height:102px; }.battle-action strong { font-size:13px; }
 .battle-actions { gap:6px; }.battle-action small{font-size:10px;}
 #league-open { top:114px;right:12px;padding:11px 13px; }
 #league-onboarding { top:170px; }
}
@media(max-height:500px) { .league-header{padding:9px 16px;}.league-header h2{font-size:22px;}.league-topline{padding:6px 16px;} .league-content{padding:12px 16px;}#battle-canvas{height:90px;}.battle-action{min-height:65px;padding:8px;} .battle-log{min-height:0;}#league-open{top:105px;} }
@media(prefers-reduced-motion:reduce){.battle-meter span{transition:none;}}

#league-visitor { position:fixed;z-index:45;top:164px;right:14px;max-width:230px;min-height:46px;border:2px solid #826238;border-radius:0;background:#f1dfad;color:#423829;padding:10px 14px;font:700 13px sans-serif;cursor:pointer; }
#league-visitor[hidden] {display:none;}
.recruit-ad {display:flex;align-items:center;gap:16px;margin:18px 0;padding:14px;border:1px solid #d0c2a1;border-radius:0;background:#ece2c8;}
.recruit-ad img {width:88px;height:88px;object-fit:contain;}
.recruit-ad small {font-size:9px;letter-spacing:1.4px;color:#766749;}
.recruit-ad h4 {font-size:16px;margin:6px 0;color:#473e2c;}
.recruit-ad p {font-size:12px;margin:5px 0;color:#675e49;}
.recruit-ad span {font-size:10px;color:#766749;}
@media(max-height:500px){#league-visitor{top:154px;right:12px;max-width:200px;}.recruit-ad img{width:64px;height:64px;}}

/* Shared pixel menu system. Text stays large enough for phone screens. */
@font-face{font-family:FarmPixel;src:url('assets/fonts/VT323-Regular.ttf') format('truetype');font-display:swap;font-weight:100 900;}
:root{--league-cream:#eee7cb;--league-ink:#313e2b;}
#league-dialog{touch-action:pan-y;border:3px solid #e0d8b8;}
#league-dialog *{touch-action:pan-y;}
.league-header{padding:12px 18px;background:#3c5037;color:#f6edce;border-bottom:3px solid #293a29;}
.league-header-actions{display:flex;align-items:center;gap:7px;margin-left:auto;}
.league-eyebrow{font-size:14px;letter-spacing:2px;color:#baca9e;}
.league-header h2{font-size:32px;font-weight:400;letter-spacing:1px;}
.league-close{background:#ede5c8;border:2px solid #293a29;box-shadow:2px 2px 0 #233120;padding:6px 10px;min-height:42px;}
.league-topline{padding:7px 18px;gap:8px 20px;font-size:18px;background:#d9dfbc;}
.league-tabs{padding:8px 18px;gap:6px;border-bottom:2px solid #b4bc99;}
.league-tabs button{flex:1;padding:6px 8px;border:2px solid transparent;font-size:19px;min-height:42px;}
.league-tabs button[aria-selected=true]{background:#526d43;color:#fff2d1;border:2px solid #31462f;box-shadow:2px 2px 0 #aab78e;}
.league-content{padding:14px 18px;}
.league-note,.league-status,.league-risk{font-size:17px;}
.league-note{margin:4px 0 12px!important;}
.league-roster{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.bird-card{padding:12px;border:2px solid #b5bb98;display:grid;grid-template-columns:80px 1fr;gap:0 12px;align-content:start;}
.bird-card.selected{padding:12px;border:2px solid #4c6840;box-shadow:3px 3px 0 #c0c6a3;}
.bird-card .bird-portrait{grid-column:1;grid-row:1/4;height:82px;border-bottom:3px solid #c7d0aa;}
.bird-card .bird-heading,.bird-card .bird-meta,.bird-card .bird-stats{grid-column:2;}
.bird-card .bird-actions,.bird-card .bird-special,.bird-card .bird-select,.bird-card .bird-return{grid-column:1/-1;}
.bird-heading h3,.kit-item h3{font-size:25px;font-weight:400;}
.bird-meta,.bird-stats,.bird-special{font-size:16px;color:#526042;}
.bird-actions{margin:10px 0 4px;gap:7px;}
.bird-actions button{font-size:18px;}
.league-button,.battle-action{border:2px solid #667651;box-shadow:2px 2px 0 #b7bf99;min-height:44px;font-weight:400;}
.league-button:hover:not(:disabled),.battle-action:hover:not(:disabled){outline:2px solid #c49645;outline-offset:1px;}
.league-button:focus-visible,.battle-action:focus-visible{outline:3px solid #b78232;outline-offset:3px;}
.bird-special input,.bird-special select{border:2px solid #a0ad83;padding:5px;background:#f8f1d9;color:#31422c;max-width:100%;}
.bird-special{margin:6px 0;}
.bird-select{margin-top:6px;}
.league-recruit{border-top:2px solid #bec6a2;margin-top:16px;padding-top:12px;}
.league-recruit p,.league-help p,.kit-item p{font-size:17px;}
.league-help{display:none;}
.recruit-ad{padding:10px;margin:14px 0 0;border:2px solid #c2af7e;gap:12px;}
.recruit-ad img{width:60px;height:60px;}
.recruit-ad h4{font-size:21px;font-weight:400;}
.recruit-ad p{display:none;}.recruit-ad small,.recruit-ad span{font-size:13px;}
.league-status{padding:8px 18px;min-height:36px;border-top:2px solid #aeba91;}
.league-kit{gap:10px;}.kit-item{padding:12px;border:2px solid #a9b58d;}.kit-item p{min-height:0;}.kit-item button{margin-top:8px;}.kit-icon{font-size:22px;}
.kit-item{position:relative}.kit-item.equipped{border-color:#4e7146;background:#eef1d8;box-shadow:inset 4px 0 0 #5f844f}.kit-state{float:right;margin:0 0 6px 8px;padding:3px 6px;border:1px solid #aaa784;background:#e8e3c9;color:#6b6b55;font:13px FarmPixel,monospace;letter-spacing:.04em}.kit-item.equipped .kit-state{border-color:#5c764d;background:#496b43;color:#fff0cd}.equipment-effect{display:block;margin-top:6px;color:#526342;font:15px/1.2 FarmPixel,monospace}
.rival-card{padding:12px;border:2px solid #a5b389;}.rival-card h3{font-size:27px;font-weight:400;}.rival-card .league-eyebrow{color:#647744;}
.battle-board{border:2px solid #68774f;}.battle-top{font-size:18px;padding:6px 10px;}.battle-stats{padding:10px 12px;gap:25px;background:#e5e6c5;}
.battle-name{font-size:20px;font-weight:400;}.battle-mini{font-size:15px;}.battle-meter{height:10px;border:2px solid #819268;}
#battle-canvas{width:100%;height:auto;aspect-ratio:7/3;background:#76914d;}
.battle-actions{gap:8px;margin-top:10px;}.battle-action{min-height:76px;padding:9px;}.battle-action strong{font-size:24px;font-weight:400;}.battle-action small{font-size:16px;}
.battle-log{font-size:17px;min-height:0;padding-top:7px;}.battle-log p{padding:1px 0;}
.road-battle .league-topline{display:none;}.road-battle .league-content{padding:10px;}.road-battle .league-note{font-size:16px;margin-bottom:0!important;}
#league-open,#league-visitor,#league-onboarding{font-family:FarmPixel,monospace;font-size:19px;border:2px solid #303e2b;box-shadow:3px 3px 0 #1a2d23;}
#league-onboarding button{font-family:inherit;font-size:19px;min-height:42px;}
@media(max-width:650px){
 .league-header{padding:8px 10px;}.league-header h2{font-size:28px;}.league-eyebrow{font-size:12px;}.league-close{font-size:18px;}
 .league-content{padding:10px;}.league-tabs{padding:6px;}.league-tabs button{font-size:18px;padding:5px 3px;}.league-topline{padding:6px 10px;gap:4px 12px;font-size:16px;}
 .league-roster,.league-kit,.league-rivals{grid-template-columns:1fr;}.bird-card{grid-template-columns:72px 1fr;}.bird-portrait{height:75px;}
 .battle-stats{gap:12px;padding:7px;}.battle-name{font-size:18px;}.battle-mini{font-size:13px;}.battle-action strong{font-size:21px;}.battle-action small{font-size:15px;}.battle-action{padding:7px 5px;}
 #league-open{padding:8px 10px;}.league-status{padding:7px 10px;font-size:16px;}
}
@media(max-height:500px){.road-battle{width:min(900px,calc(100vw - 24px))!important;}.road-battle .league-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:8px;}.road-battle .battle-board{grid-row:1/4;}.road-battle .battle-actions{margin:0;grid-template-columns:1fr!important;gap:4px;}.road-battle .battle-action{min-height:40px;padding:4px 7px;}.road-battle .battle-action strong{font-size:20px;margin:0;}.road-battle .battle-action small{font-size:14px;}.road-battle .battle-log{font-size:15px;}.road-battle .league-status{display:none;}}

#road-fight-hud{position:fixed;inset:0;z-index:80;pointer-events:none;font:20px/1.1 FarmPixel,monospace;color:#eee6c5;overflow:hidden;}
#road-fight-hud[hidden]{display:none;}
#road-fight-hud button{pointer-events:auto;font:inherit;border:2px solid #b5c28d;background:#37533b;color:#fff0cf;min-height:44px;padding:6px 10px;box-shadow:2px 2px 0 #182e22;cursor:pointer;}
#road-fight-hud button:disabled{opacity:.5;cursor:default;}
#road-fight-hud button:focus-visible{outline:3px solid #e2bd66;outline-offset:2px;}
.road-fight-top{position:absolute;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 20px));display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:12px;padding:8px;background:#243c2ded;border:2px solid #849366;}
.road-vitals{min-width:0;}.road-vitals>div{display:flex;justify-content:space-between;gap:5px;}.road-vitals span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.road-vitals b{font-weight:400;white-space:nowrap;}.road-vitals meter{display:block;width:100%;height:12px;}.road-vitals small{font-size:15px;}.road-turn{font-size:17px;}
.road-fight-bottom{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(680px,calc(100% - 20px));}
.road-moves{display:grid;grid-template-columns:repeat(var(--moves),minmax(0,1fr));gap:7px;}.road-moves button{height:68px;}.road-moves strong{display:block;font-weight:400;font-size:22px;}.road-moves small{display:block;font-size:16px;color:#c5d3ac;margin-top:3px;}.road-event{margin:7px 0 0;padding:6px 9px;background:#243c2ded;font-size:17px;line-height:1.1;max-height:3.3em;overflow:hidden;}
.road-result{display:grid;gap:7px;padding:12px;background:#243c2df5;border:2px solid #849366;text-align:center;}.road-result strong{font-weight:400;font-size:25px;}.road-result span{font-size:18px;}
.road-fight-active #mobile-controls,.road-fight-active #hud,.road-fight-active #minimap-panel,.road-fight-active #league-visitor{display:none!important;}
@media(max-width:500px){.road-fight-top{gap:6px;padding:6px;font-size:17px;grid-template-columns:1fr 1fr auto;}.road-turn{display:none;}.road-vitals small{font-size:13px;}.road-moves strong{font-size:19px;}.road-moves small{font-size:14px;}.road-event{font-size:16px;}.road-moves button{padding:5px;height:72px;}}
@media(max-height:500px){.road-fight-top{padding:4px 8px;}.road-moves button{height:50px;}.road-moves strong{font-size:20px;}.road-moves small{font-size:14px;margin-top:0;}.road-event{font-size:15px;padding:3px 8px;margin-top:4px;}}

.road-fight-active #toast-container{display:none!important;}

#league-dialog.challenger-invite{width:min(520px,calc(100vw - 24px));}
.challenger-invite .league-topline,.challenger-invite .league-tabs,.challenger-invite .league-status,.challenger-invite .bird-heading,.challenger-invite .league-content>.league-note,.challenger-invite .bird-portrait{display:none;}
.challenger-invite .league-rivals{grid-template-columns:1fr;}.challenger-invite .rival-card{border:0;padding:4px;}.challenger-invite .league-content{padding:10px 14px;}
.invite-guidance{margin:0 0 8px;padding:7px 9px;background:#dce6c7;border:2px solid #a3b287;color:#3e5137;font-size:17px;line-height:1.15;}
@media(max-width:500px) and (orientation:portrait){
 .challenger-invite .league-header{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;width:100%;}
 .challenger-invite .league-header-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;margin:0;}
 .challenger-invite .league-header-actions .league-close{min-width:0;padding:5px 3px;font-size:16px;line-height:1;white-space:normal;}
}
@media(max-height:500px){.challenger-invite .league-header{padding:5px 12px;}.challenger-invite .league-header .league-eyebrow{display:none;}.challenger-invite .rival-card h3{margin:3px 0!important;}.challenger-invite .rival-card .league-note{margin:4px 0!important;}.challenger-invite .league-risk{padding:4px 0;}.challenger-invite .rival-card button{margin-top:5px;}}

/* Champion yard furniture and its persistent case. */
.yard-tools{display:grid;gap:8px;margin:14px 0;}
.yard-tool{display:flex;align-items:center;gap:16px;padding:12px;background:#faf7e9;border:1px solid #cbd3b7;}
.yard-tool>div{flex:1;}.yard-tool h4{margin:0 0 4px;font:22px FarmPixel,monospace;color:#3e5436;}
.yard-tool p{font:13px/1.35 Arial,sans-serif;color:#6b795f;}.yard-tool button{min-width:70px;}
.yard-spa{width:100%;margin:4px 0 12px;}
.yard-case{margin-top:18px;padding-top:14px;border-top:1px solid #c8d1b7;}
.case-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #d9dfc8;}
.case-row strong{display:block;font:20px FarmPixel,monospace;}.case-row small{display:block;color:#788468;font-size:15px;}.case-row button{min-width:58px;}
@media(max-width:600px){.league-tabs{justify-content:space-between;gap:8px;}.league-tabs button{font-size:18px;}.yard-tool{padding:10px;gap:10px;}.yard-tool h4{font-size:20px;}.yard-tool p{font-size:12px;}.case-row{gap:5px;}.case-row button{padding:7px;}}
.yard-name{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:0 0 10px}.yard-name label{display:grid;gap:3px;color:#66745a;font-size:14px}.yard-name input{box-sizing:border-box;width:100%;min-width:0;padding:8px;background:#fffdf1;border:1px solid #aab593;color:#394e32;font:19px FarmPixel,monospace}.yard-name-suggestions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px}.yard-name-suggestions button{padding:5px 8px;background:#e7e3ca;border:1px solid #b6aa86;color:#5a4935;font:15px FarmPixel,monospace;cursor:pointer}
.yard-tool .league-button{min-width:108px;white-space:nowrap;}
.yard-case:first-child{margin-top:0;padding-top:0;border-top:0;}
.yard-case>.league-button{margin-top:12px;}
@media(max-width:600px){.yard-tool .league-button{min-width:90px;font-size:16px}.yard-name{grid-template-columns:minmax(0,1fr) 76px}.yard-name input{font-size:16px}.yard-name-suggestions button{font-size:13px}}
.wager-choice{display:flex;gap:6px;margin:8px 0;}.wager-choice button{flex:1;}.wager-choice button[aria-pressed=true]{background:#dce6c7;border-color:#60794c;}.wager-amount{display:flex;align-items:center;gap:10px;font:18px FarmPixel,monospace;}.wager-amount input{width:76px;background:#faf6e7;color:#394e32;border:1px solid #aab593;padding:5px;font:20px FarmPixel,monospace;}.league-prize{padding:12px;border:1px solid #b8bc95;background:#e8ebd1;margin-bottom:12px;}

.payment-book{font:18px/1.3 FarmPixel,monospace}.payment-book table{width:100%;border-collapse:collapse;margin:12px 0}.payment-book th,.payment-book td{text-align:left;padding:8px;border-bottom:1px solid #b5a788}.payment-book th{font-weight:normal;color:#735535}.payment-book h3{font-size:26px;margin:0 0 10px}
.battle-history{margin:0 0 14px;padding:11px 13px;background:#f0eddc;border:1px solid #c7bea0}.battle-history h3{margin:0 0 8px;font:24px FarmPixel,monospace}.battle-history-head,.battle-history-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 58px;gap:8px;align-items:center}.battle-history-head{padding:0 0 5px;color:#75664e;font:14px FarmPixel,monospace}.battle-history-row{padding:7px 0;border-top:1px solid #d5ceb6;font:17px FarmPixel,monospace}.battle-history-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-history-row b{text-align:right}.battle-result-win{color:#527540}.battle-result-loss{color:#a25443}.battle-result-draw{color:#706a59}
.battle-history-entry{margin:0}.battle-history-entry summary{cursor:pointer;list-style-position:outside}.battle-history-row strong i{color:#8a7655;font-style:normal;font-size:.8em}.battle-history-detail{padding:4px 8px 10px 18px;border-top:1px dashed #d5ceb6;color:#615845}.battle-history-detail p{margin:5px 0;font:14px/1.25 FarmPixel,monospace}.battle-history-detail ol{max-height:180px;margin:7px 0 0;padding-left:22px;overflow:auto;font:13px/1.3 Arial,sans-serif}.battle-history-detail li{margin:3px 0}
@media(max-width:500px){.battle-history{padding:9px}.battle-history-head,.battle-history-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 45px;gap:5px}.battle-history-row{font-size:14px}.battle-history-head{font-size:12px}}

/* Keep all desk sections reachable without horizontal scrolling on phones. */
@media(max-width:600px){.league-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;}.league-tabs button{min-width:0;}}

/* Bedroom logbook. The center seam, paper grain and margin rule make the
   records read as a physical book while retaining the existing pixel UI. */
#league-dialog:not(.challenger-invite){position:relative;border:5px solid #5d4332;background:#eee0b8;box-shadow:0 0 0 3px #aa7d4e,9px 10px 0 #17261d99;}
/* Binding stays in the margin, never over full-width records or controls. */
#league-dialog:not(.challenger-invite){overflow-x:hidden;overflow-y:auto;}
#league-dialog:not(.challenger-invite) .league-header{position:sticky;top:0;z-index:3;background:#3b563b;color:#f5eac8;border-bottom-color:#263b2c;}
#league-dialog:not(.challenger-invite) .league-header .league-eyebrow{color:#c4d19e;}
#league-dialog:not(.challenger-invite) .league-header h2{font-weight:400;}
#league-dialog:not(.challenger-invite) .league-topline{background:#d5c596;color:#574b36;border-bottom:2px solid #aa9568;}
#league-dialog:not(.challenger-invite) .league-tabs{background:#eadbb3;border-bottom:2px solid #ad986b;gap:5px;padding-top:7px;}
#league-dialog:not(.challenger-invite) .league-tabs button{border:2px solid #a28b61;border-bottom:0;background:#dfcda1;color:#5d513b;padding:7px 6px;box-shadow:none;}
#league-dialog:not(.challenger-invite) .league-tabs button[aria-selected=true]{background:#526d43;color:#fff0cc;border-color:#33472f;}
#league-dialog:not(.challenger-invite) .league-content{position:relative;background:linear-gradient(90deg,#d7c395,#f5e9ca 16px,#eadbb4);min-height:320px;}
#league-dialog:not(.challenger-invite) .league-status{background:#d2c292;color:#5e5038;border-top:2px solid #a69063;}
.payment-book{position:relative}.payment-book h3{color:#3f583b;font-weight:400}.payment-book table{background:#f5ebce88}.payment-book th,.payment-book td{border-bottom:2px dotted #b19b6e}.book-margin-note{display:inline-block;margin:8px 0 14px;padding:4px 8px;border:2px solid #8d604c;color:#8d4b3e;transform:rotate(-2deg);letter-spacing:2px;}
@media(max-width:650px){#league-dialog:not(.challenger-invite):after{display:none}#league-dialog:not(.challenger-invite) .league-content{background:#f0e3c0}.payment-book{font-size:16px}.payment-book th,.payment-book td{padding:6px 4px}#league-dialog:not(.challenger-invite) .league-tabs{grid-template-columns:repeat(3,minmax(0,1fr));}.league-tabs button{font-size:16px!important;}}
