:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1c130c;--wood:#2e2017;--wood-2:#3a291d;--wood-line:#7d592f;--copper:#c58a3d;--gold:#f2cb68;--paper:#f4e7c8;--ink:#f7e9cb;--muted:#cbb693;--pasture:#5d7f2f;--field:#b88f22;--locked:#4a3a2c;--ok:#7fbf5a;--err:#f08a6e;--warn:#f2cb68;--focus:#ffd98a;--radius:6px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}h1,h2,.brand{font-family:Georgia,Times New Roman,serif}h2{border-bottom:1px solid var(--wood-line);margin:0 0 .6rem;padding-bottom:.4rem;font-size:1.2rem}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only,.skip:not(:focus){clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip:focus{z-index:10;background:var(--paper);color:#2b1d12;padding:8px;position:fixed;top:8px;left:8px}.panel{background:linear-gradient(180deg, var(--wood-2), var(--wood));border:2px solid var(--wood-line);border-radius:var(--radius);padding:14px;box-shadow:0 2px #0006}.btn{font:inherit;border-radius:var(--radius);border:1px solid var(--wood-line);color:var(--ink);cursor:pointer;background:#4a3524;min-height:44px;padding:.55rem 1rem}.btn:hover:not(:disabled){background:#5a4130}.btn.primary{color:#2b1d12;background:linear-gradient(#e7b85a,#b7832f);border-color:#8a5d22;font-weight:700}.btn:disabled,.btn.primary:disabled{color:#a8957a;cursor:not-allowed;background:#3a3029;border-style:dashed;border-color:#5a4a3a}.btn.small{min-height:36px;padding:.3rem .8rem}.link{color:var(--gold);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;text-decoration:underline}.banner{border-radius:var(--radius);background:#0004;border-left:4px solid;margin:.5rem 0;padding:.55rem .8rem}.banner.error{border-color:var(--err)}.banner.warn{border-color:var(--warn)}.banner.ok{border-color:var(--ok)}.warn-text{color:var(--warn)}.hint{color:var(--muted);font-size:.875rem}.empty{color:var(--muted)}.transit-empty{flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:8px 14px;display:flex}.transit-empty h3,.transit-empty .empty{margin:0}.auth{background:linear-gradient(#140c0673,#140c06a6),#7b5a2d url(/assets/ranch-panorama-C4QEfrml.jpg) 50% 60%/cover no-repeat;place-items:center;min-height:100dvh;padding:16px;display:grid}.auth-card{border:2px solid var(--gold);gap:.6rem;width:min(420px,100%);display:grid;box-shadow:0 0 0 4px #140c06b3,0 18px 48px #000000bf}.auth-card .brand{color:var(--gold);margin:0;font-size:2rem}.auth form{gap:.8rem;display:grid}.auth label{gap:.25rem;display:grid}.auth input{font:inherit;border-radius:var(--radius);border:1px solid var(--wood-line);background:var(--paper);color:#2b1d12;min-height:44px;padding:.6rem}.auth small,.loading{color:var(--muted)}.app{max-width:1440px;margin:0 auto;padding:0 12px 16px}.topbar{border-bottom:2px solid var(--wood-line);align-items:center;gap:12px;padding:8px 0;display:flex}.topbar .brand{color:var(--gold);white-space:nowrap;flex:1;font-size:1.5rem;font-weight:700}.topnav{flex:1}.topnav ul,.sidebar ul,.bottomnav ul{margin:0;padding:0;list-style:none}.topnav ul{flex-wrap:wrap;gap:4px;display:flex}.topnav a{border-radius:var(--radius);padding:10px 12px;text-decoration:none;display:block}.topnav a[aria-current=page],.sidebar a[aria-current=page]{outline:1px solid var(--copper);background:linear-gradient(#e7b85a55,#b7832f55)}.topbar-end{white-space:nowrap;align-items:center;gap:10px;display:flex}.conn{border:1px solid;border-radius:99px;padding:2px 8px;font-size:.8rem}.conn.on{color:var(--ok)}.conn.off{color:var(--warn)}.clock{font-variant-numeric:tabular-nums}.resources dl{grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0 14px;display:grid}.res{background:var(--wood);border:1px solid var(--wood-line);border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:6px 10px;display:grid}.res-icon{color:var(--gold);grid-row:span 2;font-size:1.6rem}.res dt{color:var(--muted);font-size:.8rem}.res dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.res-rate{color:var(--muted);font-size:.8rem;font-weight:400}.layout{grid-template-columns:240px 1fr;align-items:start;gap:12px;display:grid}.sidebar{gap:12px;display:grid}.profile{align-items:center;gap:10px;display:flex}.avatar{background:var(--locked);border:1px solid var(--copper);border-radius:var(--radius);place-items:center;width:56px;height:56px;font-size:2.2rem;display:grid}.who{text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:block;overflow:hidden}.profile small{color:var(--muted)}.sidebar a{border-radius:var(--radius);padding:9px 10px;text-decoration:none;display:block}.content{gap:12px;min-width:0;display:grid}.content:focus{outline:none}.landscape{border-radius:var(--radius);border:2px solid var(--wood-line);background:#7b5a2d url(/assets/ranch-panorama-C4QEfrml.jpg) 50% 60%/cover no-repeat;height:180px}.ranch-row{grid-template-columns:minmax(0,556px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.grid-summary{color:var(--muted);margin:0 0 8px}.grid{aspect-ratio:1;grid-template-columns:repeat(5,1fr);gap:6px;max-width:520px;margin:0 auto;display:grid}.cell{cursor:pointer;color:var(--ink);border:2px solid #0006;border-radius:4px;place-items:center;min-width:44px;min-height:44px;padding:0;font-size:clamp(1rem,3.5vw,1.6rem);display:grid;position:relative}.cell.owned.pasture{background:var(--pasture)}.cell.owned.field{background:var(--field)}.cell.purchasable{border:2px dashed var(--gold);color:var(--gold);background:repeating-linear-gradient(45deg,#5a4632,#5a4632 6px,#4d3b2a 6px 12px);font-weight:700}.cell.locked{background:var(--locked);color:var(--muted);font-size:1rem}.cell.selected{outline:3px solid var(--gold);outline-offset:1px;box-shadow:0 0 12px #f2cb6888}.cell-count{background:#0008;border-radius:3px;padding:0 4px;font-size:.75rem;font-weight:700;position:absolute;bottom:2px;right:4px}.cell-hay{background:#0008;border-radius:3px;place-items:center;padding:1px 2px;font-size:1.35rem;line-height:1;display:grid;position:absolute;top:2px;left:3px}.cell-hay.hungry{background:0 0;padding:0}.cell.owned.pasture.hay-hungry{border:3px solid #e0442e;animation:1.6s ease-in-out infinite hay-hungry-pulse}.cell.owned.pasture.hay-fed{border:2px solid #e3b84f}@keyframes hay-hungry-pulse{0%,to{box-shadow:0 0 #e0442e00}50%{box-shadow:0 0 10px 2px #e0442eaa}}@media (prefers-reduced-motion:reduce){.cell.owned.pasture.hay-hungry{animation:none;box-shadow:0 0 8px 1px #e0442e88}}.hay-tip{z-index:5;white-space:nowrap;pointer-events:none;opacity:0;background:#1d140c;border:1px solid;border-radius:4px;padding:3px 7px;font-size:.75rem;font-weight:700;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:0}.cell-hay.fed .hay-tip{color:var(--gold)}.cell-hay.hungry .hay-tip{color:#ff6b57}.cell-hay:hover .hay-tip{opacity:1}.legend-hay{vertical-align:middle;margin-right:4px;display:inline-grid}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.sw{vertical-align:-1px;border-radius:2px;width:12px;height:12px;margin-right:5px;display:inline-block}.sw.pasture{background:var(--pasture)}.sw.field{background:var(--field)}.sw.locked{background:var(--locked)}.sw.purchasable{border:1px dashed var(--gold)}.facts{gap:6px;margin:0 0 10px;display:grid}.facts>div{justify-content:space-between;gap:10px;display:flex}.facts dt{color:var(--muted)}.facts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}meter{width:140px;height:14px}.choice{border:1px solid var(--wood-line);border-radius:var(--radius);gap:16px;margin:0 0 10px;display:flex}.choice label{align-items:center;gap:6px;min-height:36px;display:flex}.plot-panel{align-content:start;gap:6px;display:grid}.countdown{color:var(--gold);font-family:ui-monospace,Menlo,monospace;font-size:1.1rem;font-weight:700}.dialog{color:var(--ink);max-width:min(440px,100vw - 32px)}.dialog::backdrop{background:#000a}.dialog .actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.bottomnav{display:none}@media (width<=1100px){.ranch-row{grid-template-columns:1fr}.grid{max-width:none}}@media (width<=760px){.app{padding:0 8px 80px}.topnav,.sidebar nav{display:none}.topbar .brand{flex:1;font-size:1.2rem}.layout{grid-template-columns:1fr}.sidebar{order:2}.resources dl{grid-template-columns:repeat(3,1fr);gap:4px}.res{grid-template-columns:1fr;padding:4px 6px}.res-icon{display:none}.res dd{font-size:.85rem}.res-rate{display:block}.landscape{height:110px}.panel{padding:10px}.bottomnav{background:var(--wood);border-top:2px solid var(--wood-line);padding-bottom:env(safe-area-inset-bottom);z-index:5;display:block;position:fixed;inset:auto 0 0}.bottomnav ul{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.bottomnav a{white-space:nowrap;text-overflow:ellipsis;justify-items:center;min-height:52px;padding:6px 0;font-size:.52rem;text-decoration:none;display:grid;overflow:hidden}.bottomnav a span:first-child{font-size:1.2rem}.bottomnav a[aria-current=page]{color:var(--gold);background:#ffffff10}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.subpanel{border-top:1px solid var(--wood-line);gap:6px;margin-top:8px;padding-top:8px;display:grid}.subpanel h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.section-title{margin:0}.production{gap:10px;display:grid}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.card{align-content:start;gap:6px;display:grid}.card h3{justify-content:space-between;gap:8px;margin:0;font-family:Georgia,Times New Roman,serif;display:flex}.level{border:1px solid var(--copper);background:#0005;border-radius:4px;padding:1px 6px;font-family:system-ui,sans-serif;font-size:.8rem}.merchant{gap:10px;display:grid}.prices{border-collapse:collapse;width:100%}.prices th,.prices td{text-align:left;border-bottom:1px solid #ffffff14;padding:4px 0}.prices td{text-align:right;font-variant-numeric:tabular-nums}.field{gap:4px;display:grid}.field select,.qty{font:inherit;border-radius:var(--radius);border:1px solid var(--wood-line);background:var(--paper);color:#2b1d12;min-height:44px;padding:.4rem}.cities,.planner{gap:12px;display:grid}.planner{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.table-wrap{overflow-x:auto}.city-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.city-table th,.city-table td{text-align:left;border-bottom:1px solid #ffffff14;padding:8px 6px}.city-table tr.selected{background:#f2cb6822}.grid-form{border:1px solid var(--wood-line);border-radius:var(--radius);gap:8px;display:grid}.grid-form label{gap:4px;display:grid}.grid-form input{font:inherit;border-radius:var(--radius);border:1px solid var(--wood-line);background:var(--paper);color:#2b1d12;min-height:44px;padding:.4rem}.stepper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.stepper [role=group]{align-items:center;gap:8px;display:flex}.stepper output{text-align:center;min-width:2ch;font-weight:700}.risks{gap:4px;margin:0;padding-left:1.2rem;display:grid}.quote h4{margin:6px 0 0}.ok-text{color:var(--ok)}.content>*,.cities>*,.planner>*{min-width:0}@media (width<=760px){.city-table thead{display:none}.city-table tr{border-bottom:1px solid var(--wood-line);grid-template-columns:1fr 1fr;gap:2px 12px;padding:8px 0;display:grid}.city-table th,.city-table td{border:0;padding:2px 0}.city-table th[scope=row]{grid-column:1/-1;font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.city-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted)}.city-table td:last-child{grid-column:1/-1}}.caravans{gap:12px;display:grid}.caravans h3,.report h3{margin:0 0 8px;font-family:Georgia,Times New Roman,serif}.list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.list li{background:#0003;border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 12px;display:flex}.list li>div{flex:200px}.list small{color:var(--muted);display:block}.report .prices th,.report .prices td{text-align:right}.report .prices th[scope=row],.report .prices thead th:first-child{text-align:left}.defense{gap:12px;display:grid}.buy-row{border-bottom:1px solid #ffffff14;gap:6px;padding-bottom:8px;display:grid}button.avatar{cursor:pointer;color:inherit;font:inherit;padding:0;font-size:2.2rem;position:relative}button.avatar:hover{border-color:var(--gold)}.profile small.who{font-size:.75rem}.profile-dialog form{gap:8px;display:grid}.profile-dialog p{margin:4px 0 0}.avatar-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.avatar-choice{border-radius:var(--radius);border:2px solid var(--wood-line);cursor:pointer;background:#0004;min-height:56px;font-size:1.8rem}.avatar-choice.selected{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold);background:#f2cb6833}.edit-badge{background:var(--gold);width:22px;height:22px;box-shadow:0 0 0 2px var(--wood);border-radius:50%;place-items:center;font-size:.8rem;display:grid;position:absolute;bottom:-6px;right:-6px}.nick-edit{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;max-width:170px;padding:2px 0;display:flex}.nick-edit span{font-size:.8rem}.nick-edit:hover .who{text-decoration:underline}.icon-svg{vertical-align:-.15em;display:inline-block}.card{flex-direction:column;gap:6px;display:flex}.card-foot{gap:6px;margin-top:auto;display:grid}.gold-progress{margin:.4rem 0 .6rem}.gold-progress-label{color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.9rem;display:flex}.progress{background:var(--wood);border:1px solid var(--wood-line);border-radius:999px;height:10px;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--copper), var(--gold));height:100%;transition:width 1s linear;display:block}@media (prefers-reduced-motion:reduce){.progress>span{transition:none}}.landscape{align-items:flex-end;display:flex;position:relative;overflow:hidden}.landscape-art{position:absolute;inset:0}.ranch-title{color:#fff8e8;text-shadow:0 1px 2px #000000b3;background:#0000009e;border-radius:0 6px 6px 0;max-width:calc(100% - 16px);margin:0 0 14px;padding:6px 16px 6px 14px;font-size:1.4rem;position:relative}.title-edit{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;display:inline-flex}.title-edit>span{font-size:.9rem}.title-edit:hover{text-decoration:underline}.title-edit:focus-visible{outline-offset:2px;outline:2px solid #fff8e8}@media (width<=600px){.ranch-title{margin-bottom:10px;padding:4px 12px 4px 10px;font-size:1.15rem}}.art-head{align-items:center;min-height:56px;display:flex;position:relative}.art-head:after{content:"";border-radius:var(--radius);pointer-events:none;background:100%/cover no-repeat;width:420px;max-width:58%;position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40%);mask-image:linear-gradient(90deg,#0000,#000 40%)}.art-town:after{background-image:url(/assets/town-street-ChwIvH5v.jpg)}.art-wagon:after{background-image:url(/assets/caravan-wagon-N_p3iiIn.jpg);width:250px}.report-art{border-radius:var(--radius);border:1px solid var(--wood-line);background:#4a3424 url(/assets/caravan-raid-BeYq3Kk8.jpg) 50%/cover no-repeat;height:76px;margin:-4px 0 10px}.plot-art{aspect-ratio:228/145;border-radius:var(--radius);border:1px solid var(--wood-line);background:#5d7f2f;width:100%;max-width:260px;margin-bottom:10px;display:block;overflow:hidden}.plot-art.art-field{background:#b88f22}.plot-art.art-horses img,.plot-art.art-field img{object-position:center 72%}.plot-art img{object-fit:cover;object-position:center 65%;width:100%;height:100%;display:block}.legend li{white-space:nowrap;align-items:center;display:flex}.countdown{white-space:nowrap}.objectives{margin-bottom:12px}.objectives-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.objectives-head h2{margin-bottom:.4rem}.obj-count{color:var(--muted);font-size:.9rem}.obj-steps{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.obj-steps li{background:var(--wood);border:1px solid var(--wood-line);border-radius:999px;flex:1;height:6px}.obj-steps li.claimed{background:var(--ok);border-color:var(--ok)}.obj-steps li.current{background:var(--gold);border-color:var(--gold)}.obj-title{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0 0 6px;display:flex}.obj-reward{color:var(--gold);font-weight:700}.btn.linkish{margin-top:6px}.obj-list li{align-items:center}.objectives{gap:10px;display:grid}.nav-badge{background:var(--gold);color:#2a1a0c;border-radius:999px;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:.72rem;font-weight:800;line-height:1;display:inline-grid}.bottomnav .nav-badge{margin:0;position:absolute;top:2px;right:6px}.bottomnav a{position:relative}.icon-btn{border-radius:var(--radius);border:1px solid var(--wood-line);background:var(--wood);width:36px;height:36px;color:var(--ink);cursor:pointer;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--wood-2);color:var(--gold)}.herd-harvest input[type=range]{width:100%;accent-color:var(--gold);margin:4px 0 6px}.harvest-preview{margin:4px 0}fieldset.stock-picker{gap:6px;margin-top:10px;display:grid}.stock-picker label{align-items:center;gap:8px;display:flex}.stock-picker input[type=range]{width:100%;accent-color:var(--gold)}.harvest-all{margin-bottom:12px}.harvest-all-row{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.harvest-all-slider{flex:240px;gap:2px;display:grid}.harvest-all-slider input[type=range]{width:100%;accent-color:var(--gold)}.plot-head{border-bottom:1px solid var(--wood-line);justify-content:space-between;align-items:center;gap:8px;margin:0 0 .6rem;padding-bottom:.4rem;display:flex}.plot-head h2,.plot-head h3{border:0;margin:0;padding:0}.harvest-select-all{gap:6px;display:flex}.harvest-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.harvest-card{text-align:left;border-radius:var(--radius);border:2px solid var(--wood-line);width:100%;height:100%;color:inherit;font:inherit;cursor:pointer;background:#0000002e;gap:4px;padding:10px 12px;display:grid}.harvest-card.on{border-color:var(--gold);background:#d6a84a24}.harvest-card:disabled{cursor:default;opacity:.7}.harvest-card-top{align-items:center;gap:8px;min-height:26px;display:flex}.harvest-card-icon{font-size:1.2rem}.harvest-check{border:2px solid var(--gold);width:22px;height:22px;color:var(--gold);border-radius:4px;place-items:center;margin-left:auto;font-weight:700;display:grid}.harvest-card-state{color:var(--muted);font-size:.92rem}.harvest-card .plot-art.card-art{aspect-ratio:auto;max-width:none;height:96px;margin:0 0 4px}.harvest-card:disabled .card-art img{filter:grayscale(.4)}.upgrade-running,.upgrade-max{color:var(--muted);font-size:.85rem}.harvest-groups{gap:14px;display:grid}.harvest-group-title{margin:0 0 6px;font-size:.95rem}.harvest-group-title .hint{font-weight:400}.harvest-grid{grid-template-columns:repeat(auto-fill,minmax(130px,150px));gap:6px;display:grid}@media (width<=600px){.harvest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.harvest-tile{aspect-ratio:1;background:var(--pasture);color:#fff8e8;min-width:0;font:inherit;text-align:left;cursor:pointer;border:3px solid #0006;border-radius:6px;padding:0;position:relative;overflow:hidden}.harvest-tile.field{background:var(--field)}.harvest-tile.on{border-color:var(--gold)}.harvest-tile:disabled{cursor:default}.harvest-tile:disabled .tile-art img{filter:grayscale(.5)brightness(.8)}.harvest-tile .plot-art.tile-art{aspect-ratio:auto;border:0;border-radius:0;width:100%;max-width:none;height:100%;margin:0;position:absolute;inset:0}.harvest-tile .harvest-check{background:#0000008c;position:absolute;top:5px;right:5px}.harvest-tile-text{text-shadow:0 1px 2px #000000e6;background:linear-gradient(#0000,#000000bf);gap:1px;padding:14px 6px 5px;font-size:.72rem;line-height:1.2;display:grid;position:absolute;bottom:0;left:0;right:0}.harvest-tile-text strong{font-size:.8rem}@media (width<=600px){.harvest-tile-text{padding:10px 3px 3px;font-size:.6rem}.harvest-tile-text strong{font-size:.64rem}.harvest-tile .harvest-check{width:16px;height:16px;font-size:.7rem}}.harvest-tile-text time{font-size:inherit}.qty-slider{width:100%;accent-color:var(--gold)}.qty-label{margin-top:10px;display:block}.merchant-banner{aspect-ratio:3;object-fit:cover;object-position:center 30%;border:2px solid var(--wood-line);border-radius:var(--radius);width:100%;height:auto;max-height:280px;display:block}@media (width<=600px){.merchant-banner{aspect-ratio:2;object-position:66% 30%}}.city-map-scroll{border:2px solid var(--wood-line);border-radius:var(--radius);overscroll-behavior-x:contain;max-width:960px;overflow:auto}.city-map{aspect-ratio:3/2;min-width:640px;position:relative;container-type:inline-size}.city-map>img{width:100%;height:auto;display:block}.city-rank{vertical-align:middle;gap:.15em;display:inline-flex}.city-rank img{filter:drop-shadow(0 .05em .08em #000000f2)drop-shadow(0 .1em .22em #000000d9);width:1.1em;height:auto}.map-rank{pointer-events:none;gap:.1cqw;position:absolute;transform:translate(-50%,-50%)}.map-rank img{filter:drop-shadow(0 .12cqw .2cqw #000000f2)drop-shadow(0 .25cqw .6cqw #000000d9);width:2.6cqw}.map-spot{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;padding:0;position:absolute}.map-spot:hover,.map-spot[aria-pressed=true]{background:#fff3c41a;border-color:#fff3c4d9}.map-spot:focus-visible{outline-offset:2px;outline:3px solid #fff3c4}.map-chip{white-space:nowrap;border:1px solid #00000073;border-radius:999px;padding:.35em .7em;font-size:max(.62rem,1.1cqw);font-weight:700;line-height:1;position:absolute;top:0;left:50%;transform:translate(-50%,-70%);box-shadow:0 1px 3px #00000080}.map-spot.open .map-chip{background:var(--gold);color:#2a1a0b}.map-spot.locked .map-chip{color:#f3e6cc;background:#1e140ad1}.map-spot.soon .map-chip{color:#d8c7a6;background:#1e140a99;font-weight:500}.city-card{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:16px;max-width:960px;display:grid}.city-art{border:2px solid var(--wood-line);border-radius:var(--radius);width:100%;height:auto;display:block}.city-info h3{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px;display:flex}.city-facts{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px 16px;margin-bottom:14px}.city-facts>div{justify-content:start;gap:2px;display:grid}@media (width<=600px){.city-card{grid-template-columns:minmax(0,1fr)}}.city-browse{align-items:start;gap:12px;display:grid}.city-browse>*{min-width:0}@media (width>=1100px){.city-browse{grid-template-columns:minmax(0,960px) minmax(240px,300px);align-items:stretch}.city-browse .city-card{flex-direction:column;align-items:stretch;gap:12px;display:flex}.city-browse .city-info{flex-direction:column;flex:1;display:flex}.city-browse .city-info .btn,.city-browse .city-info>.hint{margin-top:auto}.city-browse .city-facts{flex-direction:column;flex:1;justify-content:space-evenly;gap:0;margin:4px 0 16px;display:flex}.city-browse .city-facts>div{border-bottom:1px solid #d8c7a624;justify-content:space-between;align-items:center;padding:10px 2px;display:flex}.city-browse .city-facts>div:last-child{border-bottom:0}.city-browse .city-info .btn{width:100%}}.cargo-row{gap:4px;display:grid}.crew-carts,.crew-cost{margin:0}.crew-level{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.segmented{gap:0;display:inline-flex}.segmented .btn{border-radius:0;min-width:64px}.segmented .btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.segmented .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.segmented .btn[aria-checked=true]{background:var(--gold);color:#2a1a0b;border-color:var(--gold)}.grid-form .qty-label{display:block}.grid-form .qty-slider{background:0 0;border:0;min-height:0;padding:0}.topbar .brand img{border-radius:4px;width:auto;height:52px;display:block}img.res-icon{object-fit:contain;width:36px;height:36px}.nav-icon{object-fit:contain;vertical-align:middle;width:22px;height:22px;margin-right:4px}.bottomnav .nav-icon{width:24px;height:24px;margin:0}.player-level{gap:3px;margin-top:4px;font-size:.85rem;display:grid}.level-bar{border:1px solid var(--wood-line);background:#1c130c;border-radius:4px;height:18px;position:relative;overflow:hidden}.level-fill{background:linear-gradient(#f5d47c,#c48a2c);position:absolute;inset:0 auto 0 0}.level-text{text-align:center;color:#fff8e6;text-shadow:0 1px 2px #000;white-space:nowrap;font-size:.7rem;font-weight:700;line-height:16px;display:block;position:relative}@media (width<=600px){.topbar .brand img{height:40px}}.city-danger{vertical-align:middle;gap:.1em;display:inline-flex}.city-danger img{filter:drop-shadow(0 .05em .08em #000000f2)drop-shadow(0 .1em .22em #000000d9);width:1.5em;height:auto}.map-danger{pointer-events:none;gap:.2cqw;position:absolute;transform:translate(-50%,-50%)}.map-danger img{filter:drop-shadow(0 .12cqw .2cqw #000000f2)drop-shadow(0 .25cqw .6cqw #000000d9);width:3.2cqw}.avatar{overflow:hidden}.avatar img,.avatar-choice img{object-fit:cover;width:100%;height:100%;display:block}.profile .avatar{border:2px solid var(--copper);width:64px;height:64px;box-shadow:inset 0 0 0 1px #0008}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.avatar-choice{aspect-ratio:1;padding:0;overflow:hidden}.avatar-choice:focus-visible{outline-offset:2px;outline:3px solid #fff3c4}.cards-wide{grid-column:1/-1}.section-subtitle{color:var(--gold);margin:8px 0 0;font-family:Georgia,Times New Roman,serif}.army-summary{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.army-summary>div{color:var(--muted);gap:2px;font-size:.85rem;display:grid}.army-big{color:var(--gold);font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:700}.unit-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.unit-art{aspect-ratio:4/3;border-radius:var(--radius);border:1px solid var(--wood-line);background:#3a291d;width:100%;display:block;overflow:hidden}.unit-art img{object-fit:cover;width:100%;height:100%;display:block}.unit-stats{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;display:grid}.unit-stats>div{background:#0003;border:1px solid #ffffff14;border-radius:4px;padding:4px}.unit-stats dt{color:var(--muted);font-size:.75rem}.unit-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.raid-incoming.warning{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn) inset}.raid-band strong{color:var(--gold)}.army-result{grid-column:1/-1}.county-top{top:calc(var(--ruler) + 8px);left:calc(var(--ruler) + 8px);z-index:3;pointer-events:none;flex-wrap:wrap;align-items:stretch;gap:6px 10px;display:flex;position:absolute;right:8px}.county-top>*{pointer-events:auto}.county-head{border:1px solid var(--wood-line);border-radius:var(--radius);background:#2a1a0dd9;align-items:center;padding:4px 12px;display:flex;box-shadow:0 2px 8px #0006}.county-stats{bottom:8px;left:calc(var(--ruler) + 8px);width:fit-content;max-width:calc(100% - var(--ruler) - 16px);z-index:3;border:1px solid var(--wood-line);border-radius:var(--radius);color:var(--muted);background:#2a1a0dd9;margin:0;padding:4px 10px;font-size:.85rem;position:absolute;right:8px;box-shadow:0 2px 8px #0006}.county-head h1{margin:0;font-size:1.45rem;line-height:1.1}.county-head p{margin:2px 0 0;font-size:.85rem}.muted{color:var(--muted)}.county-toolbar{background:#2a1a0dd9;flex-wrap:wrap;flex:0 auto;justify-content:space-between;align-items:center;gap:10px 18px;margin:0 0 0 auto;padding:4px 8px;display:flex;box-shadow:0 2px 8px #0006}.county-zoom,.county-goto{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.county-zoom .btn[aria-label]{min-width:36px;font-size:1.1rem;line-height:1}.county-goto input{border-radius:var(--radius);border:1px solid var(--wood-line);background:var(--paper);color:#2a1a0d;width:3.9em;font:inherit;text-align:center;padding:5px 6px}.county-goto-error{color:var(--err);font-size:.85rem}.county-body{grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:12px;display:grid}.county-frame{grid-template-columns:var(--ruler) minmax(0, 1fr);grid-template-rows:var(--ruler) auto;border:3px solid var(--wood-line);border-radius:var(--radius);background:var(--wood);display:grid;position:relative;overflow:hidden;box-shadow:0 4px 14px #0008}.county-corner{background:var(--wood-2);border-right:1px solid var(--wood-line);border-bottom:1px solid var(--wood-line)}.county-ruler{background:var(--wood-2);color:var(--muted);font-variant-numeric:tabular-nums;font-size:.68rem;position:relative;overflow:hidden}.county-ruler.top{border-bottom:1px solid var(--wood-line)}.county-ruler.left{border-right:1px solid var(--wood-line)}.county-ruler{min-width:0;min-height:0}.county-ruler>div{position:absolute;top:0;left:0}.county-ruler.top>div{height:100%}.county-ruler.left>div{width:100%}.county-ruler span{line-height:1;position:absolute}.county-ruler.top span{top:50%;transform:translate(-50%,-50%)}.county-ruler.left span{left:50%;transform:translate(-50%,-50%)}.county-viewport{overscroll-behavior:contain;cursor:grab;touch-action:pan-x pan-y;background:#8fbd55;height:max(360px,min(100dvh - 210px,860px));overflow:auto}.county-viewport:active{cursor:grabbing}.county-sheet{-webkit-user-select:none;user-select:none;background-color:#a8d06b;position:relative}.county-terrain{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.county-grid{pointer-events:none;background-image:linear-gradient(90deg,#3c541e38 1px,#0000 1px),linear-gradient(#3c541e38 1px,#0000 1px),linear-gradient(90deg,#ffffff2e 1px,#0000 1px),linear-gradient(#ffffff2e 1px,#0000 1px);background-size:calc(var(--cell) * 10) calc(var(--cell) * 10), calc(var(--cell) * 10) calc(var(--cell) * 10), var(--cell) var(--cell), var(--cell) var(--cell);position:absolute;inset:0}.county-sheet.fine .county-grid{background-image:linear-gradient(90deg,#3c541e38 1px,#0000 1px),linear-gradient(#3c541e38 1px,#0000 1px);background-size:calc(var(--cell) * 10) calc(var(--cell) * 10), calc(var(--cell) * 10) calc(var(--cell) * 10)}.county-ranch{cursor:pointer;background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid;position:absolute}.county-ranch:before{content:"";background:#8a4b1f;border:2px solid #3a1f0b;border-radius:50%;position:absolute;inset:12%;box-shadow:0 1px 3px #0007}.county-ranch.as-dot:before{border-width:1px;inset:14%}.county-ranch.mine{z-index:1}.county-ranch.mine:before{background:var(--gold);box-shadow:0 0 0 3px var(--gold), 0 0 14px 4px var(--gold);border-color:#3a1f0b}.county-ranch.as-avatar img{object-fit:cover;pointer-events:none;border:2px solid #5a3414;border-radius:50%;width:76%;height:76%;position:relative}.county-ranch.as-avatar:before{inset:6%}.county-ranch.mine.as-avatar img{border-color:var(--gold)}.county-ranch.human:not(.mine):before{border:3px solid #f4e7c8}.county-ranch.human:not(.mine).as-avatar img{border-color:#f4e7c8}.county-ranch.online:not(.mine):before{border:3px solid #3fae4a;box-shadow:0 0 0 1px #1d5a23,0 0 8px 2px #3fae4a99}.county-ranch.online:not(.mine).as-avatar img{border-color:#3fae4a}.county-ranch.as-dot.human:not(.mine):before{border-width:2px}.county-ranch.online.selected:before,.county-ranch.selected:before{box-shadow:0 0 0 3px #fff8, 0 0 0 5px var(--copper)}.county-ranch:hover:before{filter:brightness(1.2)}.county-mark{pointer-events:none;border:2px solid #7a2e12;border-radius:3px;animation:1.4s ease-in-out 3 county-pulse;position:absolute;box-shadow:0 0 0 2px #f4e7c8aa}@keyframes county-pulse{50%{box-shadow:0 0 0 6px #f4e7c855}}.county-side{gap:12px;display:grid}.county-mini canvas{border:2px solid var(--wood-line);cursor:crosshair;touch-action:none;border-radius:4px;display:block}.county-legend{margin:8px 0 0;font-size:.78rem}.county-legend .dot{vertical-align:-1px;background:#8a4b1f;border:1px solid #3a1f0b;border-radius:50%;width:10px;height:10px;display:inline-block}.county-legend .dot.human{border:2px solid #f4e7c8}.county-legend .dot.online{border:2px solid #3fae4a}.county-legend .dot.mine{background:var(--gold)}.county-legend .swatch.river{vertical-align:1px;background:#4f8cbb;border:1px solid #55734a;border-radius:3px;width:16px;height:6px;display:inline-block}.county-hover{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:.8rem}.county-detail-head{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;display:flex}.county-detail-head img{border:2px solid var(--copper);object-fit:cover;border-radius:50%;width:52px;height:52px}.county-status{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 6px;display:inline-flex}.status-dot{border-radius:50%;flex:none;width:9px;height:9px}.status-dot.on{background:#3fae4a;box-shadow:0 0 5px #3fae4a}.status-dot.off{background:#c8432f}.status-dot.fake{background:#8a4b1f}.county-side,.county-side>.panel{min-width:0}.county-detail-head strong{overflow-wrap:anywhere;font-family:Georgia,serif}.county-detail dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 6px;font-size:.9rem;display:grid}.county-detail dt{color:var(--muted)}.county-detail dd{margin:0}.county-detail p{margin:0;font-size:.88rem}@media (width<=760px){.county-body{grid-template-columns:minmax(0,1fr)}.county-top{background:var(--wood);grid-column:1/-1;padding:6px;position:static}.county-frame{grid-template-rows:auto var(--ruler) auto}.county-viewport{height:58vh}.county-side{grid-template-columns:auto minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.county-mark{animation:none}}.upgrade-status{border-radius:var(--radius);background:#0003;border:1px solid #0006;gap:2px;margin-top:10px;padding:8px 10px;font-size:.85rem;line-height:1.35;display:grid}.upgrade-status-title{text-transform:uppercase;letter-spacing:.04em;opacity:.8;font-size:.75rem}.upgrade-status.busy{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}.upgrade-status.busy strong{color:var(--gold)}.upgrade-status.idle span:last-child{opacity:.75}.army-roster{gap:6px;margin:0 0 12px;padding:8px 12px;list-style:none;display:grid}.army-roster li{grid-template-columns:48px 1fr auto;grid-template-areas:"art name count""art stats stats";align-items:center;column-gap:10px;display:grid}.army-roster .unit-art{aspect-ratio:auto;grid-area:art;width:48px;height:48px}.army-roster-name{grid-area:name;font-weight:700}.army-roster-count{color:var(--gold);grid-area:count}.army-roster-stats{opacity:.8;grid-area:stats;font-size:.85rem}.visit-dialog{max-width:380px}.visit-dialog h2{margin:0;font-size:1.1rem}.visit-avatar{border:3px solid #5a3414;border-radius:50%}.visit-avatar.human{border-color:#f4e7c8}.visit-avatar.online{border-color:#3fae4a}.visit-grid{grid-template-columns:repeat(5,1fr);gap:4px;margin:10px 0;display:grid}.visit-cell{aspect-ratio:1;color:#fff;text-shadow:0 1px 2px #0009;border:1px solid #0003;border-radius:4px;place-items:center;font-weight:700;display:grid}.visit-cell.free{background:#c9b48a55}.visit-cell.owned{background:#a08a5c}.visit-cell.pasture{background:#6f9b3c}.visit-cell.field{background:#c9a13b}.visit-buildings{grid-template-columns:1fr 1fr;gap:4px 12px;margin:0 0 8px;display:grid}.visit-buildings div{justify-content:space-between;display:flex}.visit-buildings dd{margin:0}.obj-daily li{gap:10px}.obj-daily li.claimed{opacity:.75}.obj-daily-main{flex:1;gap:4px;min-width:0;display:grid}.obj-progress{align-items:center;gap:8px;display:flex}.obj-progress progress{max-width:220px;height:8px;accent-color:var(--gold);flex:1}.obj-daily small a{white-space:nowrap}
