:root{--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--bg:#efe6d4;--ink:#2b2118;--muted:#5a4a39;--panel:#fffaf0;--card:#fff;--line:#d6c4a3;--wood:#3b2d20;--wood-ink:#fdf6e8;--primary:#2e6b30;--primary-hover:#245526;--danger:#b3261e;--info:#1d5f8f;--focus:#1a5fb4;--good:#3f8f3a;--warn:#c98f0c;--bad:#c0392b;--stat:#a55a1e;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}h1,h2,h3,h4{margin:0 0 8px;line-height:1.2}h2{font-size:1.3rem}h3{margin-top:16px;font-size:1.08rem}h4{font-size:1rem}p{margin:0 0 8px}ul,ol{margin:0;padding:0;list-style:none}button,select{font:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted);font-size:.92rem}.icon{vertical-align:-3px;flex:none}.art{vertical-align:middle;background-repeat:no-repeat;flex:none;display:inline-block}.art-icon{vertical-align:-.3em}.building-sprite{flex:none;justify-content:center;align-items:flex-end;display:inline-flex}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.btn{cursor:pointer;text-align:center;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 16px;font-weight:700;line-height:1.2;display:inline-flex}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.btn--secondary{color:var(--ink);background:#fff;border-color:#8a7355}.btn--secondary:hover:not(:disabled){background:#f6ecd9}.btn--danger{background:var(--danger);color:#fff}.btn--light{background:var(--panel);color:var(--ink);border-color:var(--wood)}.btn--ghost{color:var(--ink);background:0 0}.btn--small{min-height:34px;padding:4px 10px;font-size:.9rem}.btn--touch{min-height:44px}.btn--big{min-height:48px;padding:10px 22px;font-size:1.1rem}.btn--icon{width:40px;min-width:40px;padding:0;font-size:1.4rem}.btn:disabled{color:#4a4038;cursor:not-allowed;background:#ddd6ca;border-color:#0000}.link-button{color:var(--info);cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:700;text-decoration:underline}.choice-row{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.choice{min-width:48px;min-height:36px;color:var(--ink);cursor:pointer;background:#fff;border:2px solid #8a7355;border-radius:999px;padding:4px 12px;font-weight:700}.choice--active{background:var(--primary);border-color:var(--primary);color:#fff}.meter{margin:4px 0 8px}.meter--compact{margin:2px 0 6px}.meter__name{align-items:center;gap:4px;display:inline-flex}.meter__label{justify-content:space-between;gap:8px;font-size:.9rem;display:flex}.meter__value{font-weight:700}.meter__track{background:#ebe2d1;border:1px solid #b9a888;border-radius:6px;height:10px;overflow:hidden}.meter--compact .meter__track{height:8px}.meter__fill{border-radius:6px 0 0 6px;height:100%}.meter__track--good .meter__fill{background:var(--good)}.meter__track--warn .meter__fill{background:var(--warn)}.meter__track--bad .meter__fill{background:var(--bad)}.meter__track--info .meter__fill{background:#2f6fb3}.meter__track--stat .meter__fill{background:var(--stat)}.progress{background:#ebe2d1;border:1px solid #6b5a45;border-radius:6px;height:10px;overflow:hidden}.progress__fill{background:var(--good);height:100%;transition:width .4s linear}.timer-bar{gap:4px;margin:6px 0;display:grid}.timer-bar__left{font-size:.9rem;font-weight:700}.stars{vertical-align:middle;gap:1px;display:inline-flex}.stars__off{opacity:.25;filter:grayscale()}.stars--unknown{background:#e8dcc5;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:800;display:inline-grid}.badge{white-space:nowrap;border-radius:999px;margin:2px 4px 2px 0;padding:1px 8px;font-size:.82rem;font-weight:700;display:inline-block}.badge--good{color:#1f5a1d;background:#dff0dd}.badge--info{color:#174a70;background:#dcebf8}.badge--bad{color:#8a1d16;background:#fbe0dd}.badge--rodeo{color:#5a4300;background:#fff0c2}.badge--tier{vertical-align:2px;letter-spacing:.02em;font-size:.75rem}.badge--beginner{color:#1f5a1d;background:#d9f0d4;border:1px solid #8cc486}.badge--local{color:#4a3a28;background:#efe3cc;border:1px solid #cdb68c}.badge--fast{vertical-align:2px;color:#5a4300;background:#fff0c2;border:1px solid #c9962a;font-size:.78rem}.chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.chip{cursor:help;border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:700}.chip--good{color:#1f5a1d;background:#dff0dd}.chip--bad{color:#6b3a05;background:#fdebd3}.block-reason{color:#8a1d16;margin:4px 0;font-size:.9rem;font-weight:600}.warning-note{border-left:4px solid var(--warn);color:#4a3700;background:#fff3c4;border-radius:6px;padding:6px 10px;font-size:.92rem}.form-error{color:#8a1d16;background:#fdecea;border-radius:8px;padding:8px 12px;font-weight:600}.new-ranch,.notice{background:linear-gradient(#bfe3f5,#efe6d4 55%);place-items:center;min-height:100%;padding:24px 16px;display:grid}.new-ranch__card,.notice__card{border:3px solid var(--wood);background:var(--panel);border-radius:18px;width:min(760px,100%);padding:24px;box-shadow:0 10px 30px #2b211833}.notice__card{text-align:center}.notice__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.brand{color:#2f5d34;align-items:center;gap:10px;font-size:2rem;display:flex}.ellie-says{align-items:flex-start;gap:14px;margin:12px 0 16px;display:flex}.ellie-face{border-radius:8px;box-shadow:0 0 0 2px #c9962a}.speech{background:#fff6db;border:2px solid #c9962a;border-radius:14px;flex:1;padding:12px 16px;position:relative}.speech p:last-child{margin-bottom:0}.name-picker{justify-items:start;gap:12px;display:grid}.name-picker__preview{color:#2f5d34;margin:0;font-size:1.5rem;font-weight:800}.name-picker__parts{flex-wrap:wrap;gap:16px;display:flex}.name-part__label{margin-bottom:4px;font-size:.9rem;font-weight:700;display:block}.name-part__row{align-items:center;gap:6px;display:flex}.name-part__select{min-width:160px;min-height:40px;color:var(--ink);background:#fff;border:2px solid #8a7355;border-radius:10px;padding:6px 10px;font-weight:700}.new-ranch__nav{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.new-ranch__summary{font-size:1.05rem}.bg-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.bg-card{border:3px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:14px;justify-items:start;gap:6px;padding:14px;display:grid}.bg-card--selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary);background:#eef7ec}.bg-card__name{font-size:1.1rem;font-weight:800}.bg-card__money{color:#1f5a1d;font-weight:700}.game{height:100vh;grid-template-rows:auto auto minmax(0,1fr);height:100dvh;min-height:520px;display:grid}.game__main{grid-row:-2/-1;grid-template-columns:minmax(0,1fr) 400px;min-height:0;display:grid}.top-bar{z-index:55;background:var(--wood);color:var(--wood-ink);border-bottom:4px solid #1f1710;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:6px 12px;display:flex;position:relative}.top-bar__ranch{align-items:center;gap:8px;min-width:0;display:flex}.top-bar__name{font-size:1.05rem;font-weight:800}.top-bar__sub{color:#e6d6ba;font-size:.8rem}.top-bar__stats{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:6px;display:flex}.stat{white-space:nowrap;background:#ffffff1a;border-radius:8px;align-items:center;gap:5px;padding:3px 8px;font-size:.9rem;display:inline-flex}.stat__label{color:#e6d6ba;font-size:.78rem}.stat__value{font-weight:800}.stat--alert{color:#fff;background:#b3261e}.stat--alert .stat__label{color:#fff}.stat__flag{color:#8a1d16;background:#fff;border-radius:4px;padding:0 6px;font-size:.75rem;font-weight:900}.stat__bonus{color:var(--wood);cursor:help;background:#f6d77a;border-radius:999px;padding:0 6px;font-size:.72rem;font-weight:800}.mini-bar{background:#ffffff40;border-radius:3px;width:42px;height:6px;display:inline-block;overflow:hidden}.mini-bar>span{background:#9ccc65;height:100%;display:block}.mini-bar--skill{width:30px}.mini-bar--hay>span{background:#f2c14e}.mini-bar--water>span{background:#64b5f6}.mini-bar--water.mini-bar--over>span{background:#ff8a80}.conn{color:#e6d6ba;align-items:center;gap:5px;font-size:.8rem;display:inline-flex}.conn__dot{background:#f2c14e;border-radius:50%;width:9px;height:9px}.conn--live .conn__dot{background:#7ed957}.sound-btn{cursor:pointer;background:#ffffff1f;border:2px solid #8a7355;border-radius:10px;place-items:center;width:42px;height:42px;padding:0;display:grid}.sound-btn:hover{background:#ffffff3d}.sound-btn[aria-expanded=true]{background:#ffffff3d;border-color:#f2c14e}.sound-btn--muted .art-icon{opacity:.85}.sound-panel{border:3px solid var(--wood);border-radius:var(--radius);background:var(--panel);width:min(320px,100% - 24px);color:var(--ink);gap:10px;padding:12px 14px 14px;display:grid;position:absolute;top:calc(100% + 6px);right:12px;box-shadow:0 10px 24px #0000004d}.sound-panel__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sound-panel__head h2{margin:0;font-size:1.1rem}.sound-panel__row{grid-template-columns:minmax(0,1fr) 3.2em;grid-template-areas:"label label""slider value";align-items:center;gap:2px 8px;display:grid}.sound-panel__label{grid-area:label;align-items:center;gap:8px;font-weight:700;display:inline-flex}.sound-panel__row input[type=range]{width:100%;min-height:32px;accent-color:var(--primary);cursor:pointer;grid-area:slider;margin:0}.sound-panel__value{text-align:right;font-variant-numeric:tabular-nums;grid-area:value;font-weight:700}.sound-panel__mute{justify-self:start}.sound-panel__note{margin:0}.low-water{color:#fff;background:#b3261e;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 14px;display:flex}.low-water p{flex:1;min-width:240px;margin:0}.low-water__why{font-size:.9rem;font-weight:700}.map-area{background:#4f7f38;min-height:0;position:relative;overflow:hidden}.ranch-map,.ranch-map__canvas{position:absolute;inset:0}.ranch-map__canvas{touch-action:none}.ranch-map__canvas canvas{image-rendering:pixelated;display:block;width:100%!important;height:100%!important}.map-message{color:#fff;text-align:center;place-items:center;height:100%;padding:24px;font-weight:700;display:grid}.map-zoom{gap:6px;display:flex;position:absolute;top:10px;right:10px}.map-view{gap:6px;display:flex;position:absolute;top:56px;right:10px}.map-view__btn{min-width:44px}.map-view__btn[aria-pressed=true]{background:var(--wood);color:var(--wood-ink);box-shadow:inset 0 2px 5px #00000059}.ranch3d,.ranch3d__canvas{position:absolute;inset:0}.ranch3d--hidden{display:none}.ranch3d--loading{pointer-events:none}.ranch3d--loading .ranch3d__canvas{visibility:hidden}.ranch3d__canvas{touch-action:none}.ranch3d__canvas canvas{outline:none;width:100%;height:100%;display:block}.ranch3d__labels{pointer-events:none;isolation:isolate;position:absolute;inset:0;overflow:hidden}.ranch3d-label{color:#fff;white-space:nowrap;will-change:transform;background:#2a1f1bdb;border-radius:4px;padding:2px 5px;font-size:12px;font-weight:700;line-height:1.2;position:absolute;top:0;left:0}.ranch3d-label--name{color:#2a1f1b;background:#fff8e7d9;padding:1px 4px;font-size:11px}.ranch3d-label--selected{color:#2a1f1b;background:#ffd042}.ranch3d-label__bar{background:#85d450;border-radius:2px;height:3px;margin:2px 0 1px;display:block}.ranch3d-label__bar:has(>*){background:#ffffff40;overflow:hidden}.ranch3d-label__bar>*{background:#85d450;height:100%;display:block}.ranch3d__card{border:2px solid var(--wood);border-radius:var(--radius);background:var(--panel);width:min(320px,100% - 40px);padding:12px 14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #00000040}.ranch3d__title{margin:0 0 8px;font-weight:700}.ranch3d__step{color:var(--muted);margin:6px 0 0;font-size:.9rem}.placement{border:2px solid var(--wood);border-radius:var(--radius);background:var(--panel);width:min(540px,100% - 150px);padding:10px 12px;position:absolute;top:10px;left:10px;box-shadow:0 4px 14px #00000040}.placement__title{margin-bottom:4px}.placement__hint{color:var(--muted);font-size:.92rem}.placement__actions{gap:8px;display:flex}.building-panel{border:2px solid var(--wood);border-radius:var(--radius);background:var(--panel);width:min(360px,100% - 20px);max-height:calc(100% - 20px);padding:12px 14px;position:absolute;bottom:10px;left:10px;overflow-y:auto;box-shadow:0 4px 14px #00000040}.building-panel__head{align-items:center;gap:10px;display:flex}.building-panel__head>div{flex:1}.building-panel h2{margin:0;font-size:1.15rem}.effects{margin:6px 0 10px;padding-left:18px;font-size:.92rem;list-style:outside}.upgrade h3{margin-top:6px}.ellie-helper{border-radius:var(--radius);background:#fff6db;border:2px solid #c9962a;gap:10px;width:min(360px,100% - 20px);padding:10px 12px;display:flex;position:absolute;bottom:10px;left:10px;box-shadow:0 4px 14px #00000040}.ellie-helper__body{flex:1;min-width:0}.ellie-helper__body p{margin-bottom:4px;font-size:.92rem}.ellie-helper__name{font-weight:800}.ellie-helper__actions{gap:8px;margin-top:6px;display:flex}.ellie-bubble{cursor:pointer;background:#fff6db;border:3px solid #c9962a;border-radius:14px;padding:4px;line-height:0;position:absolute;bottom:10px;left:10px;box-shadow:0 4px 14px #00000040}.sidebar{border-left:4px solid var(--wood);background:var(--panel);flex-direction:column;min-height:0;display:flex}.tabs{background:var(--wood);grid-template-columns:repeat(5,1fr);display:grid}.tab{color:var(--wood-ink);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 6px;font-size:.85rem;font-weight:700;display:flex;position:relative}.tab__icon{place-items:center;height:34px;display:grid}.tab:hover{background:#ffffff14}.tab--active,.tab--active:hover{background:var(--panel);color:var(--ink)}.tab__hint{width:11px;height:11px;box-shadow:0 0 0 2px var(--wood);background:#ffd54f;border-radius:50%;animation:1.6s ease-in-out infinite pulse;position:absolute;top:6px;right:calc(50% - 20px)}@keyframes pulse{50%{transform:scale(1.35)}}.sidebar__panel{flex:1;min-height:0;position:relative;overflow-y:auto}.tab-content{padding:14px 14px 24px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:12px 0;padding:12px}.panel h3{margin-top:0}.empty{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;padding:14px}.builders{border-radius:var(--radius);background:#f3ead8;gap:8px;padding:10px 12px;display:grid}.builders p{margin:0}.builders__head{align-items:center;gap:8px;display:flex}.builders__head h3{margin:0;font-size:1.05rem}.jobs{gap:6px;display:grid}.job{border:1px solid var(--line);background:var(--card);border-radius:10px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.job__info{min-width:0;display:grid}.job__info .timer-bar{margin:2px 0 0}.job__name{overflow-wrap:anywhere;font-weight:700}.builders__free{font-weight:600}.builders__hire,.builders__home{justify-items:start;gap:4px;display:grid}.builders__row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.builders__wage{color:var(--muted);font-size:.9rem;font-weight:700}.builders__room{font-size:.88rem}.builders__confirm{background:#fff6db;border:2px solid #c9962a;border-radius:10px;padding:8px 10px}.builders__confirm-buttons{flex-wrap:wrap;gap:6px;display:inline-flex}.palette{gap:8px;margin-top:12px;display:grid}.palette__item{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.palette__item--active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.palette__name{font-weight:800}.palette__desc{font-size:.9rem}.palette__meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:.85rem;font-weight:600;display:flex}.palette__cost,.palette__time{align-items:center;gap:4px;display:inline-flex}.building-list{gap:6px;display:grid}.building-list__item{border:1px solid var(--line);background:var(--card);width:100%;min-height:40px;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:4px 10px;display:flex}.building-list__item span:nth-child(2){flex:1;font-weight:700}.building-list__item--active{background:#fff6db;border-color:#c9962a}.horse-list{gap:8px;margin-top:8px;display:grid}.horse-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);width:100%;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.horse-card:hover{border-color:#8a7355}.horse-card__info{gap:2px;display:grid}.horse-card__name{font-size:1.05rem;font-weight:800}.horse-card__care{justify-items:center;font-size:1.1rem;display:grid}.horse-detail__head{flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0;display:flex}.horse-detail__portrait{border:2px solid var(--line);border-radius:var(--radius);background:linear-gradient(#bfe6f5 0 55%,#85d450 55% 100%);place-items:center;width:118px;height:104px;display:grid}.horse-detail__head h2,.horse-detail__head p{margin:0 0 2px}.potential{align-items:center;gap:8px;margin:8px 0 0;display:flex}.care-meters{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.care-buttons{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.care-buttons__item{gap:3px;display:grid}.care-buttons__item .btn{justify-content:flex-start;min-height:44px}.care-buttons__note{color:var(--muted);font-size:.8rem}.session-list{gap:8px;display:grid}.session{border-top:1px solid #eee3cf;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;display:grid}.session__name{font-weight:800}.session__meta{color:var(--muted);flex-wrap:wrap;gap:2px 12px;font-size:.85rem;font-weight:600;display:flex}.offer-list{gap:10px;margin-top:8px;display:grid}.offer{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px}.offer__head{align-items:flex-start;gap:10px;display:flex}.offer__name{margin:0 0 2px}.offer__head p{margin:0}.offer__buy{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.price{font-size:1.15rem;font-weight:800}.sell-list{gap:8px;display:grid}.sell-list__item{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.sell-list__info{flex:1;min-width:140px;display:grid}.confirm{flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;display:flex}.hay-sale{justify-items:start;gap:6px;display:grid}.slot{margin:10px 0 14px}.slot__time{align-items:center;gap:6px;font-weight:800;display:flex}.event-list{gap:10px;display:grid}.event{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px}.event__head{align-items:flex-start;gap:8px;display:flex}.event__head h4{margin:0}.event__meta{flex-wrap:wrap;gap:2px 14px;font-size:.9rem;font-weight:700;display:flex}.event--beginner{background:#f6fbf3;border:2px solid #8cc486}.event__tagline{color:#1f5a1d;margin:2px 0;font-weight:700}.event--ineligible{border:1px dashed var(--line);background:#f3efe7}.event--ineligible .event__head,.event--ineligible .event__meta{opacity:.6;filter:grayscale()}.event__reason{color:var(--muted);margin:6px 0 0;font-weight:700}.beginner-note{background:#eef7ec;border-radius:8px;margin:4px 0 10px;padding:6px 10px;font-size:.92rem}.my-entries{gap:6px;margin:6px 0;display:grid}.my-entries li{background:#fff0c2;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.entry-form fieldset{border:0;margin:10px 0;padding:0}.entry-form legend{margin-bottom:6px;font-weight:800}.radio-cards{gap:6px;display:grid}.radio-card{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.radio-card input{width:20px;height:20px;accent-color:var(--primary);flex:none}.radio-card--active{border-color:var(--primary);background:#eef7ec}.radio-card--disabled{cursor:not-allowed;opacity:.8}.radio-card__text{gap:1px;font-size:.92rem;display:grid}.recent-list{gap:8px;display:grid}.latest-result{background:#fff6db;border:2px solid #c9962a}.latest-result p{margin:0}.latest-result .btn{margin-top:8px}.recent{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.recent p,.recent__mine{margin:2px 0 0;font-size:.9rem}.table-wrap{overflow-x:auto}.results{border-collapse:collapse;width:100%;font-size:.9rem}.results th,.results td{text-align:left;vertical-align:top;border-bottom:1px solid #eee3cf;padding:6px 4px}.results__mine{background:#eef7ec}.results__place,.results__time{white-space:nowrap}.results__prize{color:#1f5a1d;font-weight:800}.results__rider{align-items:flex-start;gap:6px;display:flex}.results__rider>span{display:grid}.results__horse{font-size:.85rem}.replay-backdrop{z-index:60;background:#2a1f1bb8;grid-template-columns:minmax(0,1fr);place-items:center;padding:12px;display:grid;position:fixed;inset:0;overflow-y:auto}.replay{border:4px solid var(--wood);border-radius:var(--radius);background:var(--panel);max-width:100%;padding:10px 12px 12px;box-shadow:0 10px 30px #0006}.replay__head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.replay__titles{flex:1;min-width:0}.replay__titles h2,.replay__titles p{margin:0}.replay__stage{border:3px solid var(--wood);background:#4eab3f;border-radius:6px;width:100%;margin:0 auto;position:relative;overflow:hidden}.replay__canvas canvas{image-rendering:pixelated;display:block;width:100%!important;height:auto!important}.replay__clock{color:#fff;font-variant-numeric:tabular-nums;background:#2a1f1be0;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:1.15rem;font-weight:800;display:flex;position:absolute;top:8px;right:8px}.replay__penalty{background:#eb4c46;border-radius:6px;padding:0 6px;font-size:.9rem}.replay__knock{color:#fff;background:#b53340;border-radius:8px;padding:4px 10px;font-weight:800;animation:1.6s ease-out forwards knock-pop;position:absolute;top:48px;right:8px}@keyframes knock-pop{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1.1)}75%{opacity:1}to{opacity:0}}.replay__banner,.replay__finish{color:#2a1f1b;white-space:nowrap;background:#ffd042;border:3px solid #2a1f1b;border-radius:10px;padding:8px 18px;font-size:1.5rem;font-weight:900;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.replay__finish{background:#fff8e7;align-items:center;gap:8px;padding:4px 12px;font-size:1.05rem;display:flex;top:8px;left:8px;transform:none}.replay--loading{min-width:280px;min-height:200px;color:var(--muted);place-items:center;display:grid}.replay__caption{text-align:center;margin:8px 0;font-weight:700}.replay__controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.steps{gap:6px;display:grid}.steps__item{border-radius:8px;align-items:center;gap:8px;padding:4px 8px;display:flex}.steps__title{flex:1}.steps__item--current{background:#fff6db;font-weight:800}.steps__item--done{color:#1f5a1d}.steps__dot{border:2px solid #8a7355;border-radius:50%;flex:none;width:18px;height:18px}.tips-panel{align-items:flex-start;gap:12px;display:flex}.reward{align-items:center;gap:6px;font-weight:700;display:flex}.tips{gap:6px;padding-left:18px;list-style:outside;display:grid}.ellie-song{gap:10px;display:grid}.ellie-song h3{align-items:center;gap:8px;margin:0;display:flex}.ellie-song p{margin:0}.ellie-song>.btn{justify-self:start}.ellie-song__muted{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.karaoke{background:#f6ecd9;border-radius:10px;gap:6px;min-height:118px;padding:12px 14px;display:grid}.karaoke__section{min-height:1em;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.karaoke__line{min-height:1.4em;font-size:1.2rem;font-weight:700;line-height:1.35}.karaoke__next{min-height:1.4em;color:var(--muted)}.karaoke__idle{color:var(--muted);font-size:1rem;font-weight:600}.syl{transition:color .12s linear}.syl--sung{color:#9a4a00}.song-progress{gap:4px;display:grid}.song-progress__bar{background:#ebe2d1;border:1px solid #6b5a45;border-radius:6px;height:8px;display:block;overflow:hidden}.song-progress__fill{background:#e8901c;width:0;height:100%;display:block}.song-progress__time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.toasts{z-index:50;pointer-events:none;gap:8px;width:min(460px,100% - 190px);display:grid;position:absolute;top:10px;left:10px}.toasts--low{top:auto;bottom:10px}.toast{border-radius:var(--radius);color:var(--ink);pointer-events:auto;border:2px solid;align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:0 6px 18px #0003}.toast__text{flex:1;font-weight:600}.toast__close{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;font-size:1.3rem;display:grid}.toast--success{background:#e7f5e8;border-color:#2e7d32}.toast--error{border-color:var(--danger);background:#fdecea}.toast--info{border-color:var(--info);background:#e8f1fb}.toast--ellie{background:#fff6db;border-color:#c9962a}.subtabs{border-radius:var(--radius);background:#e8dcc5;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 12px;padding:4px;display:grid}.subtab{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:4px 10px;font-weight:800;display:flex}.subtab:hover{background:#ffffff80}.subtab--active,.subtab--active:hover{background:var(--card);border-color:#8a7355}.subtab__count{color:var(--muted);font-weight:700}.badge--warn{color:#5a4300;background:#fff0c2}.cattle-list{gap:8px;margin-top:8px;display:grid}.cattle-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:96px minmax(0,1fr);align-items:start;gap:10px;padding:8px 10px;display:grid}.cattle-card__open{border:2px solid var(--line);cursor:pointer;background:linear-gradient(#bfe6f5 0 45%,#85d450 45% 100%);border-radius:10px;place-items:center;width:96px;height:72px;padding:0;display:grid}.cattle-card__open:hover{border-color:#8a7355}.cattle-card__info{gap:3px;min-width:0;display:grid}.cattle-card__title{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.cattle-card__name{color:var(--ink);font-size:1.05rem;font-weight:800}.cattle-card__value{font-size:.9rem;font-weight:700}.cattle-card__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.care-meters--two{margin:2px 0}.care-buttons--compact{flex-wrap:wrap;gap:8px;margin-top:0;display:flex}.care-buttons--compact .care-buttons__item .btn{min-height:36px}.dealer-note{background:#eef7ec;border-left:4px solid #8cc486;border-radius:8px;align-items:center;gap:10px;margin:6px 0;padding:8px 12px;display:flex}.dealer-note p{margin:0}.heading-with-icon{align-items:center;gap:6px;display:flex}.offer__pic{background:linear-gradient(#bfe6f5 0 45%,#85d450 45% 100%);border-radius:8px;flex:none;place-items:center;width:64px;height:56px;display:grid}.offer__note{margin:2px 0 0;font-size:.9rem}.sell-list__name{color:var(--ink);justify-self:start;font-weight:800}.team-explain{background:#fff6db;border-left:4px solid #c9962a;border-radius:8px;align-items:flex-start;gap:10px;margin:8px 0;padding:8px 12px;display:flex}.team-explain p{margin:0 0 6px}.team-explain__roles{gap:2px;margin:0 0 6px;padding-left:18px;list-style:outside;display:grid}.radio-card__good{color:#1f5a1d;font-weight:700}.recent__no-time,.results__nt-text{color:var(--muted)}.results__nt-text{white-space:normal;min-width:5.5em;display:block}.results__nt{font-weight:800}.results__horses{flex-direction:column;flex:none;gap:2px;display:flex}.results__fault{color:#8a1d16;white-space:normal;font-weight:700}.results .btn--small{padding-left:8px;padding-right:8px}.replay__horses{gap:2px;display:flex}.replay__slow{color:#fff4ad;background:#2a1f1bcc;border-radius:6px;padding:2px 8px;font-size:.85rem;font-weight:800;position:absolute;top:48px;left:8px}.replay__callout{animation:.35s ease-out callout-pop}.replay__callout--miss{background:#fff8e7}@keyframes callout-pop{0%{transform:translate(-50%,-50%)scale(.6)}70%{transform:translate(-50%,-50%)scale(1.08)}to{transform:translate(-50%,-50%)scale(1)}}.replay__finish--no-time{background:#eef2f7}.replay__note{text-align:center;margin:6px 0 0}.map-area:focus{outline:none}.list-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.list-heading h2{margin:0}.stable-invite{margin-top:10px}@media (min-width:901px){.toasts--stable{top:64px;left:auto;right:10px}}@media (max-width:900px){.game{grid-template-rows:auto auto 1fr;height:auto;min-height:100dvh}.game__main{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.map-area{height:58vh;min-height:320px}.sidebar{border-top:4px solid var(--wood);border-left:0}.sidebar__panel{overflow:visible}.top-bar__stats{justify-content:flex-start}.placement{width:auto;top:60px;right:10px}.toasts,.toasts--low{width:min(460px,100vw - 24px);position:fixed;top:auto;bottom:12px;left:50%;transform:translate(-50%)}.ellie-helper{width:min(320px,100% - 20px);padding:8px 10px}.ellie-helper__line{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (max-width:480px){.tab-content{padding:12px 10px 20px}.builders .btn{min-height:44px}.stat__label{display:none}.stat--skill .stat__label{display:inline}.care-buttons,.care-meters{grid-template-columns:1fr}.cattle-card{grid-template-columns:minmax(0,1fr)}.brand{font-size:1.6rem}.new-ranch__card,.notice__card{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:900px){.map-area--stable{min-height:max(480px, var(--stable-need,0px))}.map-area--range{min-height:560px}}@media (max-width:600px){.map-area--range{min-height:640px}}.herd-line{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0;display:flex}.herd-line p{flex:14rem;margin:0}.range-button{flex-wrap:wrap;align-items:center;gap:4px 8px;display:inline-flex}a{color:#1d5f8f;text-underline-offset:2px}a:hover{color:#13486d}.site{background:var(--bg);flex-direction:column;min-height:100%;display:flex}.skip-link{z-index:100;color:var(--ink);background:#fff;border-radius:0 0 10px 10px;padding:10px 14px;font-weight:700;position:absolute;top:-100px;left:12px}.skip-link:focus{top:0}.site-header{background:var(--wood);color:var(--wood-ink);border-bottom:4px solid #1f1710}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;max-width:1200px;margin:0 auto;padding:8px 16px;display:flex}.site-header :focus-visible,.site-footer :focus-visible,.top-bar :focus-visible{outline-color:#ffd166}.site-brand{color:var(--wood-ink);align-items:center;gap:8px;font-size:1.3rem;font-weight:800;text-decoration:none;display:inline-flex}.site-brand:hover{color:#fff}.site-nav{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.site-nav__link{color:var(--wood-ink);padding:6px 2px;font-weight:700}.site-nav__link:hover{color:#fff}.site-main{flex:1;width:100%;margin:0 auto;padding:28px 16px 48px}.site-main:focus{outline:none}.site-main--narrow{max-width:640px}.site-main--normal{max-width:920px}.site-main--wide{max-width:none;padding:0}.site-footer{background:var(--wood);color:var(--wood-ink);border-top:4px solid #1f1710}.site-footer__inner{max-width:1200px;margin:0 auto;padding:20px 16px 28px}.site-footer__links{flex-wrap:wrap;gap:8px 20px;margin-bottom:10px;display:flex}.site-footer a{color:var(--wood-ink);font-weight:700}.site-footer a:hover{color:#fff}.site-footer__note{color:#e9dcc4;margin:4px 0 0;font-size:.92rem}.site-card{border:2px solid var(--line);background:var(--panel);border-radius:16px;margin:0 0 20px;padding:24px;box-shadow:0 8px 24px #2b21181f}.site-card>.ellie-face{margin-bottom:12px}.site-card h1{font-size:1.7rem}.site-card h1:focus,.grownup h2:focus{outline:none}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.site-card>p.muted,.site-card>.form-links{margin-top:16px}a.btn{text-decoration:none}a.btn--primary,a.btn--primary:hover{color:#fff}a.btn--secondary,a.btn--secondary:hover{color:var(--ink)}.field{margin:16px 0}.field__label{margin-bottom:4px;font-weight:700;display:block}.field__hint{color:var(--muted);margin:0 0 6px;font-size:.92rem}.field__input,.field__select{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:2px solid #8a7355;border-radius:10px;padding:8px 12px}.field__input[aria-invalid=true]{border-color:var(--danger)}.field__input:disabled,.field__select:disabled{background:#f1ebe0}.field__row{align-items:stretch;gap:8px;display:flex}.field__input--password{flex:1;min-width:0}.field__toggle{flex:none;min-width:72px}.field__actions{margin-top:8px}.field__error{color:#8a1d16;margin:6px 0 0;font-weight:600}.check{align-items:flex-start;gap:10px;margin:16px 0;display:flex}.check input{width:22px;height:22px;accent-color:var(--primary);flex:none;margin:1px 0 0}.check label{font-weight:600}.form-ok,.form-info{border-radius:8px;margin:12px 0 0;padding:8px 12px;font-weight:600}.form-ok{color:#1f5a1d;background:#e6f4e3}.form-info{color:#17466b;background:#e8f1f8}.form-error{margin:12px 0 0}.form-links{gap:6px;margin:18px 0 10px;display:grid}.secret{white-space:nowrap;background:#fff;border-radius:6px;padding:1px 6px;font-family:ui-monospace,Cascadia Mono,Consolas,Menlo,monospace}.confirm-box{background:#fff4f2;border:2px solid #c0392b;border-radius:12px;margin-top:14px;padding:12px 14px}.confirm-box .actions{margin-top:8px}.bullets{margin:6px 0 12px;padding-left:22px;list-style:outside}.bullets li{margin:4px 0}.lead{font-size:1.1rem}.age-selects{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;display:grid}.age-selects .field{margin:12px 0 0}.names{border:0;min-width:0;margin:16px 0;padding:0}.names__list{flex-wrap:wrap;gap:8px;margin:6px 0 12px;display:flex}.name-choice{cursor:pointer;overflow-wrap:anywhere;background:#fff;border:2px solid #8a7355;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:6px 14px;font-weight:700;display:inline-flex}.name-choice input{width:18px;height:18px;accent-color:var(--primary);margin:0}.name-choice:focus-within{outline:3px solid var(--focus);outline-offset:2px}.name-choice--on{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary);background:#eef7ec}.notice__card .ellie-face{margin-bottom:10px}.notice__card h1:focus,.notice:focus{outline:none}.notice__card .muted{margin-top:14px}.grownup{scroll-margin-top:16px}.grownup h2{font-size:1.35rem}.grownup .ellie-face{margin-bottom:10px}.section-title{text-align:center;font-size:1.7rem}.hero{text-align:center;background:linear-gradient(#bfe3f5,#dff0f8 60%,#eaf5f9)}.hero__text{max-width:760px;margin:0 auto;padding:36px 16px 8px}.hero h1{color:#24502a;margin-bottom:12px;font-size:clamp(2rem,4.6vw,3.1rem)}.hero__lead{max-width:620px;margin:0 auto 18px;font-size:1.18rem}.hero__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero__note{background:#fff;border-radius:999px;align-items:center;gap:8px;margin:16px 0 0;padding:6px 12px;font-weight:600;display:inline-flex}.hero__scene{width:100%;height:302px;margin:18px auto 0;position:relative;overflow:hidden}.hero__img{width:546px;max-width:none;height:302px;image-rendering:pixelated;position:absolute;top:0;left:50%;transform:translate(-50%)}.hero__ground{background:linear-gradient(#0000 50px,#b2653b 50px 54px,#db9353 54px 82px,#b2653b 82px 86px,#0000 86px),#85d450;border-top:4px solid #4eab3f;height:96px;position:relative;overflow:hidden}.hero__gallop{animation:12s linear infinite gallop-across;position:absolute;bottom:10px;left:62%}@keyframes gallop-across{0%{left:-110px}to{left:100%}}@media (min-width:600px){.hero__scene{width:546px}}@media (min-width:1150px){.hero__scene,.hero__img{width:1092px;height:604px}}.features,.meet,.parents-strip,.cta{padding:44px max(16px,50% - 560px)}.features__list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:20px;display:grid}.feature{border:2px solid var(--line);background:#fff;border-radius:16px;padding:20px}.feature__art{align-items:flex-end;gap:10px;min-height:100px;margin-bottom:12px;display:flex}.feature h3{margin-top:0;font-size:1.2rem}.meet{background:var(--panel);border-block:2px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.meet__art{align-items:flex-end;gap:18px;display:flex}.meet__text{flex:320px;max-width:620px}.meet__text .speech{margin:10px 0 14px}.parents-strip{background:#eef7ec}.parents-strip__lead{text-align:center}.parents-strip__list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px 24px;margin:20px 0;display:grid}.parents-strip__list li{align-items:flex-start;gap:12px;display:flex}.parents-strip__list h3{margin:0 0 4px}.parents-strip__list p{margin:0}.parents-strip__links{text-align:center;font-weight:700}.cta{text-align:center}.cta h2{font-size:1.7rem}.prose{max-width:820px}.prose h1{font-size:2rem}.prose h2{margin-top:30px;font-size:1.4rem}.prose h3{margin-top:18px}.prose p,.prose li{line-height:1.55}.prose__intro{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:8px;display:flex}.prose__intro>div{flex:280px}.icon-list li{align-items:flex-start;gap:10px;margin:12px 0;display:flex}.collect{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:12px 0;display:grid}.collect__col{border:2px solid var(--line);background:#fff;border-radius:14px;padding:16px}.collect__col h3{margin-top:0}.manage-form{margin-top:30px}.draft-note{border-left:5px solid var(--warn);color:#4a3700;background:#fff3c4;border-radius:8px;align-items:flex-start;gap:10px;margin:8px 0 16px;padding:10px 14px;display:flex}.summary{background:#fff6db;border:2px solid #c9962a;border-radius:14px;margin:16px 0 8px;padding:14px 18px}.summary h2{margin-top:0;font-size:1.2rem}.contact-card{border:2px solid var(--line);background:#fff;border-radius:12px;margin:6px 0 12px;padding:12px 16px;font-style:normal;line-height:1.6;display:inline-block}.table-wrap{max-width:100%;overflow-x:auto}.legal-table{border-collapse:collapse;background:#fff;width:100%}.legal-table th,.legal-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.legal-table th{background:#f6ecd9}.account__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:18px;display:flex}.account__head h1{flex:100%;margin:0}.account__head p{overflow-wrap:anywhere;margin:0}.account__section h2{margin-top:0}.account__danger{border-color:#e3b1aa}.parent-dash__head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.parent-dash__head>div{flex:280px}.children{gap:16px;margin:16px 0;display:grid}.child h2{overflow-wrap:anywhere;margin-top:0}.child__facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0;display:grid}.child__facts dt{color:var(--muted);font-size:.85rem;font-weight:700}.child__facts dd{margin:0;font-weight:600}.child__form{margin-top:12px}.ranch-menu{min-width:0;position:relative}.ranch-menu__button{cursor:pointer;border-radius:8px;flex-wrap:wrap;align-items:center;gap:0 8px;padding:3px 6px;list-style:none;display:flex}.ranch-menu__button::-webkit-details-marker{display:none}.ranch-menu__button:hover,.ranch-menu[open] .ranch-menu__button{background:#ffffff1f}.ranch-menu__chevron{color:#e6d6ba;font-size:.8rem}.ranch-menu__panel{z-index:70;background:var(--panel);border:2px solid #1f1710;border-radius:10px;min-width:180px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 20px #2b21184d}.ranch-menu__item{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-weight:700;text-decoration:none;display:block}.ranch-menu__item:hover,.ranch-menu__item:focus-visible{color:var(--ink);background:#f6ecd9}.ranch-menu__panel :focus-visible{outline-color:var(--focus)}@media (max-width:480px){.site-card{padding:18px 16px}.site-brand{font-size:1.15rem}.hero__text{padding-top:26px}.hero__lead{font-size:1.08rem}.features,.meet,.parents-strip,.cta{padding-block:32px}}.child-trading{border-top:1px solid #e3d5b8;margin:14px 0;padding-top:10px}.child-trading h4{margin:14px 0 6px}.switch-group{border:1px solid #e3d5b8;border-radius:10px;margin:10px 0;padding:6px 12px 10px}.switch-group legend{padding:0 4px;font-weight:700}.switch-group .check{align-items:center;min-height:44px;margin:0}.parent-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.parent-list li{border-bottom:1px solid #efe3cc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:6px 0;display:flex}.parent-list .actions{margin:0}@media (max-width:480px),(pointer:coarse){.children .btn{min-height:44px}}
