:root{color:#f7f3e8;font-synthesis:none;text-rendering:optimizelegibility;background:#25402f;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-width:320px;min-height:100dvh}button,select,summary{touch-action:manipulation}input[type=range]{appearance:none;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;min-height:3.25rem}input[type=range]::-webkit-slider-runnable-track{background:#f7f3e833;border:1px solid #f7f3e85c;border-radius:999px;height:.45rem}input[type=range]::-webkit-slider-thumb{appearance:none;background:#d5efb5;border:2px solid #f7f3e8;border-radius:50%;width:2rem;height:2rem;margin-top:-.79rem;box-shadow:0 .2rem .45rem #13241a47}input[type=range]::-moz-range-track{background:#f7f3e833;border:1px solid #f7f3e85c;border-radius:999px;height:.45rem}input[type=range]::-moz-range-thumb{background:#d5efb5;border:2px solid #f7f3e8;border-radius:50%;width:2rem;height:2rem;box-shadow:0 .2rem .45rem #13241a47}[data-allow-browser-touch]{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}button:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #fff0a8}#mission-setup-screen{z-index:30;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));color:#f7f3e8;touch-action:pan-y;background:radial-gradient(circle at 78% 12%,#dfefc23d,#0000 30%),linear-gradient(162deg,#849e60eb 0 42%,#0000 42.2%),linear-gradient(18deg,#527145 0 28%,#78945c 28.2% 58%,#9fb48d 58.2%);position:fixed;inset:0;overflow-y:auto}#mission-setup-screen:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(12deg,#0000 0 45%,#4255364d 45.2% 46%,#0000 46.2%),linear-gradient(165deg,#0000 0 62%,#2a3d2a42 62.2% 63%,#0000 63.2%);position:fixed;inset:0}#mission-setup-screen[hidden]{display:none}.mission-setup-shell{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#193023e8;border:1px solid #ffffff2e;border-radius:1.35rem;gap:1rem;width:min(70rem,100%);min-height:100%;margin:0 auto;padding:clamp(1rem,2.2vw,1.7rem);display:grid;box-shadow:0 1.5rem 4rem #1222185c}.mission-setup-header{justify-content:space-between;align-items:end;gap:2rem;display:flex}.mission-setup-header h1{font-size:clamp(1.65rem,3.1vw,2.6rem)}.mission-setup-header>p{color:#c9d9b3;max-width:34rem;margin:0;font-size:.84rem;line-height:1.45}.mission-setup-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.22fr) minmax(0,.82fr);align-items:stretch;gap:.8rem;display:grid}.mission-setup-card{background:#f7f3e812;border:1px solid #f7f3e826;border-radius:.95rem;min-width:0;padding:1rem}.mission-setup-card h2{margin:0;font-size:1.15rem}.mission-setup-card>p:not(.eyebrow),.mission-team-card>p{color:#c9d9b3;margin:.65rem 0;font-size:.76rem;line-height:1.4}.mission-setup-card-heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.mission-setup-card-heading>span{color:#25402f;text-transform:uppercase;background:#d5efb5;border-radius:999px;padding:.3rem .55rem;font-size:.62rem;font-weight:750}.mission-choice-card label{color:#c9d9b3;letter-spacing:.08em;text-transform:uppercase;gap:.3rem;margin-top:1rem;font-size:.65rem;font-weight:700;display:grid}.farm-overview{background:#0a1c1247;border:1px solid #d5efb52e;border-radius:.75rem;margin-top:.75rem;padding:.6rem}.farm-overview-heading{justify-content:space-between;align-items:end;gap:.5rem;margin-bottom:.45rem;display:flex}.farm-overview h3{margin:.08rem 0 0;font-size:.76rem}.farm-overview-heading>span{color:#aebfa8;white-space:nowrap;font-size:.5rem}.farm-overview-heading i{background:#d5efb5;border-radius:50%;width:.45rem;height:.45rem;margin:0 .12rem 0 .28rem;display:inline-block}.farm-overview-heading i[data-complete]{background:#fff0a8}.farm-map{background:radial-gradient(circle at 43% 77%,#f0e7cd2e,#0000 8%),#9eb394;border:1px solid #f7f3e838;border-radius:.55rem;height:11.5rem;position:relative;overflow:hidden;box-shadow:inset 0 .3rem 1rem #1930233d}.farm-map-svg,.farm-map-markers{width:100%;height:100%;position:absolute;inset:0}.farm-map-svg polygon{fill:#78985b;stroke:#d8cfaa;stroke-linejoin:round;stroke-width:.9px}.farm-map-svg polygon[data-ground=rough-pasture]{fill:#668150}.farm-map-svg polygon[data-ground=yard]{fill:#a28f70}.farm-map-svg polygon[data-ground=track]{fill:#b9a47c;stroke-width:.35px}.farm-map-gate{fill:#4f351c;stroke:#f7f3e8;stroke-width:.5px}.farm-map-gate[data-open=true]{fill:#d5efb5}.farm-map-marker{color:#f7f3e8;min-width:2.75rem;min-height:2.75rem;font:inherit;touch-action:manipulation;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.farm-map-marker-dot{background:#d5efb5;border:2px solid #25402f;border-radius:50%;width:.75rem;height:.75rem;display:block;box-shadow:0 .15rem .35rem #13241a61}.farm-map-marker-label{color:#f7f3e8;white-space:nowrap;background:#193023c7;border-radius:.2rem;padding:.08rem .22rem;font-size:.46rem;font-weight:700;line-height:1.05;position:absolute;top:calc(50% + .48rem);left:50%;transform:translate(-50%)}.farm-map-marker[data-selected=true] .farm-map-marker-dot{border-color:#fff0a8;width:1rem;height:1rem;box-shadow:0 0 0 .2rem #fff0a847}.farm-map-marker[data-completed=true] .farm-map-marker-dot{background:#fff0a8}.farm-map-marker:disabled{opacity:.62}.farm-map-marker:disabled .farm-map-marker-dot{background:#829080}.farm-map-note{color:#aebfa8;margin:.42rem 0 0;font-size:.54rem;line-height:1.25}.farm-map-note strong{color:#d5efb5}#mission-setup-conditions,#mission-setup-herd,#mission-setup-second-herd{color:#f7f3e8;width:100%;min-height:2.75rem;font:inherit;text-transform:none;background:#314c3a;border:1px solid #f7f3e838;border-radius:.6rem;padding:.45rem .6rem;font-size:.78rem;font-weight:650}.mission-herd-picker{color:#c9d9b3;letter-spacing:.08em;text-transform:uppercase;gap:.25rem;margin-top:.65rem;font-size:.6rem;font-weight:700;display:grid}.mission-herd-picker[hidden]{display:none}#mission-setup-herd-description{min-height:2.15rem}#mission-setup-manage-dogs,.mission-setup-card-heading #shepherd-profile-open,.mission-dog-order-actions button,#mission-setup-start{color:#f7f3e8;min-height:2.75rem;font:inherit;background:#f7f3e817;border:1px solid #f7f3e833;border-radius:.65rem;font-size:.7rem;font-weight:750}#mission-setup-manage-dogs{flex:none;padding:.4rem .7rem}.mission-setup-card-heading #shepherd-profile-open{flex:none;min-height:2.25rem;padding:.35rem .55rem}.mission-dog-list{gap:.42rem;display:grid}.mission-dog-row{grid-template-columns:minmax(0,1fr) auto;gap:.35rem;display:grid}.mission-dog-toggle{color:#f7f3e8c2;min-width:0;min-height:3rem;font:inherit;text-align:left;background:#f7f3e80f;border:1px solid #f7f3e829;border-radius:.65rem;grid-template-columns:2.1rem minmax(0,1fr);gap:.55rem;padding:.35rem .55rem;display:grid}.mission-dog-row[data-selected=true] .mission-dog-toggle{color:#f7f3e8;background:#d5efb521;border-color:#d5efb56b}.mission-dog-order{color:#25402f;background:var(--mission-dog-coat,#d5efb5);border:2px solid #f7f3e8cc;border-radius:50%;align-self:center;place-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:800;display:grid}.mission-dog-identity{align-content:center;min-width:0;display:grid}.mission-dog-identity strong,.mission-dog-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mission-dog-identity strong{font-size:.78rem}.mission-dog-identity small{color:#aebfa8;margin-top:.12rem;font-size:.6rem}.mission-dog-order-actions{grid-template-columns:repeat(2,2.75rem);gap:.25rem;display:grid}.mission-dog-order-actions button{width:2.75rem;padding:0;font-size:1rem}.mission-dog-order-actions button:disabled{opacity:.25}#mission-setup-team-summary{color:#d5efb5;margin-top:.55rem;font-size:.68rem;line-height:1.35;display:block}.mission-setup-details{gap:.8rem;display:grid}.mission-setup-details dl{gap:.3rem;margin:.7rem 0;font-size:.72rem}.mission-setup-details small{color:#aebfa8;font-size:.64rem;line-height:1.35}.mission-setup-footer{justify-content:space-between;align-self:end;align-items:center;gap:1rem;display:flex}#mission-setup-status{color:#c9d9b3;margin:0;font-size:.72rem}#mission-setup-status[data-storage=unavailable]:after{color:#ffd1c7;content:" Setup will not survive a reload because browser storage is unavailable."}#mission-setup-start{color:#25402f;background:#d5efb5;border-color:#d5efb5;border-radius:999px;min-width:10rem;padding:.55rem 1.25rem;font-size:.82rem}#mission-setup-start:disabled{opacity:.6}#loading-screen{z-index:20;color:#f7f3e8;background:#25402f;align-content:center;justify-items:center;gap:.45rem;transition:visibility 0s linear .32s,opacity .32s;display:grid;position:fixed;inset:0}#loading-screen[data-state=ready]{visibility:hidden;opacity:0}#loading-screen[data-state=error]{color:#ffd1c7}.loading-mark{width:6rem;height:3.4rem;position:relative}.loading-sheep,.loading-sheep:before,.loading-sheep:after{content:"";background:#f1ead8;border-radius:50%;display:block;position:absolute}.loading-sheep{width:2.75rem;height:1.8rem;top:.7rem;left:.35rem}.loading-sheep:before{background:#464b45;width:1rem;height:1rem;top:.08rem;left:2.2rem}.loading-sheep:after{background:#464b45;border-radius:999px;width:.24rem;height:.8rem;top:1.45rem;left:.6rem;box-shadow:1.3rem 0 #464b45}.loading-dog{background:#252b27;border-radius:60% 50% 45% 55%;width:1.5rem;height:.75rem;animation:1.8s ease-in-out infinite loading-dog-work;position:absolute;bottom:.4rem;right:.3rem}.loading-dog:before{content:"";background:#252b27;border-radius:50%;width:.75rem;height:.7rem;position:absolute;top:-.35rem;left:-.15rem}@keyframes loading-dog-work{0%,to{transform:translate(0)rotate(-3deg)}50%{transform:translate(-.7rem)rotate(3deg)}}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block}#weather-overlay{z-index:1;opacity:0;pointer-events:none;transition:opacity .7s;position:fixed;inset:0}body[data-weather=mist] #weather-overlay{opacity:.22;background:radial-gradient(circle at 28% 34%,#f0ebdc6b,#0000 36%),linear-gradient(115deg,#e0e3da47,#0000 65%)}body[data-weather=overcast-drizzle] #weather-overlay{opacity:.1;background-image:repeating-linear-gradient(108deg,#0000 0 1.65rem,#dde9e373 1.7rem 1.76rem,#0000 1.8rem 3.55rem);background-size:6rem 6rem;animation:1.1s linear infinite restrained-drizzle}body[data-weather=post-rain-sunbreak] #weather-overlay{opacity:.18;background:linear-gradient(118deg,#0000 42%,#ffd99770 64%,#0000 82%)}body[data-time-of-day=blue-hour] #weather-overlay{opacity:.28;background:radial-gradient(circle,#0000 38%,#1d253a8a 100%)}.panel-toggle{top:max(.75rem, env(safe-area-inset-top));z-index:7;color:#f7f3e8;width:3.75rem;height:3.75rem;font:inherit;-webkit-backdrop-filter:blur(.65rem);backdrop-filter:blur(.65rem);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#193023e0;border:1px solid #ffffff38;border-radius:50%;place-items:center;padding:0;font-size:1.25rem;line-height:1;display:grid;position:fixed;box-shadow:0 .45rem 1.2rem #13241a3d}.panel-toggle-left{left:max(.75rem, env(safe-area-inset-left))}.panel-toggle-right{right:max(.75rem, env(safe-area-inset-right))}.panel-toggle-lab{left:max(5rem, calc(env(safe-area-inset-left) + 5rem))}.panel-icon{width:1.5rem;height:1.5rem}.panel-toggle[aria-expanded=true]{color:#25402f;background:#d5efb5;border-color:#d5efb5}#mission-hud[hidden],#diagnostics[hidden],#simulation-controls[hidden]{display:none}@keyframes restrained-drizzle{0%{background-position:0 0}to{background-position:-2.4rem 6rem}}#mission-hud{top:max(5rem, calc(env(safe-area-inset-top) + 5rem));left:max(1rem, env(safe-area-inset-left));z-index:3;color:#f7f3e8;-webkit-backdrop-filter:blur(.65rem);backdrop-filter:blur(.65rem);background:#193023e0;border:1px solid #ffffff29;border-radius:.9rem;gap:.55rem;width:min(30rem,100vw - 2rem);padding:.8rem;display:grid;position:fixed;box-shadow:0 .6rem 1.6rem #13241a38}.mission-heading,.mission-progress{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.mission-heading{flex-wrap:wrap}.mission-actions{flex-wrap:wrap;flex:100%;align-items:end;gap:.4rem;display:flex}.mission-actions label{color:#c9d9b3;letter-spacing:.08em;text-transform:uppercase;flex:none;gap:.12rem;font-size:.52rem;font-weight:700;display:grid}#mission-conditions{color:#f7f3e8;max-width:5.3rem;min-height:2.75rem;font:inherit;text-transform:none;background:#314c3a;border:1px solid #f7f3e82e;border-radius:.45rem;width:8.2rem;max-width:8.2rem;padding:.28rem .35rem;font-size:.62rem;font-weight:650}#mission-phase{font-size:1rem}#mission-farmyard,#mission-restart{color:#dce7cf;min-height:2.75rem;font:inherit;background:#f7f3e81a;border:1px solid #f7f3e82e;border-radius:999px;padding:.3rem .65rem;font-size:.66rem;font-weight:700}#sound-toggle{color:#dce7cf;min-width:4.8rem;min-height:2.75rem;font:inherit;background:#f7f3e81a;border:1px solid #f7f3e82e;border-radius:999px;padding:.3rem .6rem;font-size:.66rem;font-weight:700}#sound-toggle[aria-pressed=true]{color:#25402f;background:#d5efb5}#dog-roster-toggle{color:#dce7cf;min-width:5.6rem;min-height:2.75rem;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:#f7f3e81a;border:1px solid #f7f3e82e;border-radius:999px;padding:.3rem .65rem;font-size:.66rem;font-weight:700;overflow:hidden}#dog-roster-toggle[aria-expanded=true]{color:#25402f;background:#d5efb5}#mission-progress{color:#d5efb5;font-variant-numeric:tabular-nums;font-size:.7rem}.mission-progress progress{accent-color:#d5efb5;background:#f7f3e81f;border:0;border-radius:999px;width:100%;height:.42rem;overflow:hidden}.mission-progress progress::-webkit-progress-bar{background:#f7f3e81f}.mission-progress progress::-webkit-progress-value{background:#d5efb5}#mission-prompt{color:#dce7cf;margin:0;font-size:.76rem;line-height:1.35}#movement-controls{--joystick-size:clamp(5.5rem, 28vh, 8rem);bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));width:var(--joystick-size);color:#f7f3e8;pointer-events:none;justify-items:center;gap:.45rem;display:grid;position:fixed}#joystick-base{width:var(--joystick-size);height:var(--joystick-size);pointer-events:auto;touch-action:none;background:#1930238a;border:2px solid #f7f3e86b;border-radius:50%;position:relative;box-shadow:inset 0 0 1.2rem #ffffff14,0 .5rem 1.5rem #13241a2e}#joystick-base[data-active=true]{background:#193023ad;border-color:#f7f3e89e}#joystick-thumb{will-change:transform;background:#f1ead8;border:.2rem solid #2f4c42b8;border-radius:50%;width:42%;height:42%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 .35rem .8rem #13241a47}#movement-controls p{white-space:nowrap;background:#193023a8;border-radius:999px;margin:0;padding:.3rem .6rem;font-size:.72rem;font-weight:650}#movement-controls p span{color:#c9d9b3;font-weight:500}#simulation-controls{top:max(5rem, calc(env(safe-area-inset-top) + 5rem));left:max(1rem, env(safe-area-inset-left));z-index:3;color:#f7f3e8;-webkit-backdrop-filter:blur(.65rem);backdrop-filter:blur(.65rem);background:#193023d6;border:1px solid #ffffff24;border-radius:.85rem;width:min(15rem,100vw - 2rem);padding:.55rem .7rem;position:fixed;box-shadow:0 .6rem 1.6rem #13241a33}.simulation-controls-body{gap:.55rem;display:grid}#dog-command-controls{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:3;color:#f7f3e8;-webkit-backdrop-filter:blur(.65rem);backdrop-filter:blur(.65rem);background:#193023e0;border:1px solid #ffffff29;border-radius:.85rem;width:min(13.75rem,100vw - 2rem);padding:.65rem;position:fixed;box-shadow:0 .6rem 1.6rem #13241a38}.dog-command-heading{gap:.3rem;margin-bottom:.4rem;display:grid}#dog-selector{touch-action:pan-y;-webkit-user-select:none;user-select:none;gap:.25rem;display:flex}#dog-selector button{color:#f7f3e8b8;min-width:0;min-height:2.75rem;font:inherit;text-align:center;background:#f7f3e80f;border:1px solid #f7f3e824;border-bottom:.22rem solid #81c7d4;border-radius:.55rem;flex:1 1 0;place-content:center;padding:.25rem .3rem .35rem;font-size:.69rem;font-weight:750;line-height:1.05;display:grid;position:relative;overflow:hidden}#dog-selector button[data-dog-marker="2"]{border-bottom-color:#e7a85c}#dog-selector button[data-dog-marker="3"]{border-bottom-color:#d69bd8}#dog-selector button[aria-selected=true]{color:#f7f3e8;background:#d5efb529;border-top-color:#d5efb585;border-left-color:#d5efb585;border-right-color:#d5efb585}#dog-selector small{text-overflow:ellipsis;white-space:nowrap;opacity:.76;margin-top:.18rem;font-size:.48rem;font-weight:550;overflow:hidden}#command-acknowledgement{color:#d5efb5;text-align:left;font-size:.56rem;font-weight:600;line-height:1.25}.dog-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.dog-command-grid button{color:#f7f3e8;min-height:2.75rem;font:inherit;background:#f7f3e81a;border:1px solid #f7f3e833;border-radius:.65rem;place-content:center;padding:.35rem .45rem;font-size:.76rem;font-weight:700;line-height:1.1;display:grid}.dog-command-grid button:last-child{grid-column:1/-1}.dog-command-grid button[data-cue-active]{color:#25402f;background:rgb(213 239 181/var(--dog-cue-alpha,1));border-color:rgb(213 239 181/var(--dog-cue-border-alpha,1))}.dog-command-grid small{opacity:.78;margin-top:.15rem;font-size:.55rem;font-weight:500}#dog-roster-panel{z-index:40;color:#f7f3e8;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#193023f5;border:1px solid #fff3;border-radius:1rem;gap:.8rem;width:min(38rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1rem;display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 1.4rem 4rem #0a160f7a}#dog-roster-panel[hidden]{display:none}#shepherd-profile-panel{z-index:42;color:#f7f3e8;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#193023f7;border:1px solid #fff3;border-radius:1rem;grid-template-columns:10rem minmax(0,1fr);gap:.8rem 1rem;width:min(40rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1rem;display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 1.4rem 4rem #0a160f7a}#shepherd-profile-panel[hidden]{display:none}.shepherd-profile-header{grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.shepherd-profile-header h2{margin:.12rem 0 0;font-size:1.25rem}.shepherd-profile-header button{color:#f7f3e8;min-height:2.75rem;font:inherit;background:#f7f3e81a;border:1px solid #f7f3e833;border-radius:.65rem;padding:.45rem .8rem;font-size:.72rem;font-weight:700}.shepherd-profile-preview{--shepherd-skin:#d9a777;--shepherd-hair:#4b3328;--shepherd-coat:#9d4f34;--shepherd-trousers:#3c4038;background:radial-gradient(at 50% 82%,#20362652,#0000 30%),linear-gradient(#abc4b8 0 42%,#759355 42%);border:1px solid #f7f3e82e;border-radius:.85rem;align-self:stretch;min-height:14rem;position:relative;overflow:hidden}.shepherd-profile-preview span{display:block;position:absolute}.shepherd-preview-shadow{background:#16241a57;border-radius:50%;width:4.4rem;height:1.25rem;bottom:1.4rem;left:50%;transform:translate(-50%)}.shepherd-preview-leg{background:var(--shepherd-trousers);border-radius:.25rem;width:.65rem;height:3.2rem;bottom:1.8rem;left:calc(50% - .72rem);transform:rotate(2deg)}.shepherd-preview-leg.right{left:calc(50% + .08rem);transform:rotate(-2deg)}.shepherd-preview-coat{background:var(--shepherd-coat);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);border-radius:1.55rem 1.55rem .65rem .65rem;width:4.5rem;height:5.6rem;bottom:4.25rem;left:50%;transform:translate(-50%)}.shepherd-profile-preview[data-presentation=feminine] .shepherd-preview-coat{clip-path:polygon(24% 0,76% 0,100% 100%,0 100%);width:4.15rem}.shepherd-profile-preview[data-presentation=masculine] .shepherd-preview-coat{clip-path:polygon(13% 0,87% 0,94% 100%,6% 100%);width:4.8rem}.shepherd-preview-head{background:var(--shepherd-skin);border-radius:48% 48% 44% 44%;width:2.5rem;height:2.8rem;bottom:9.25rem;left:50%;transform:translate(-50%)}.shepherd-preview-hair{background:var(--shepherd-hair);border-radius:1.2rem 1.2rem .35rem .35rem;width:2.65rem;height:1.35rem;bottom:11.2rem;left:50%;transform:translate(-50%)}.shepherd-profile-preview[data-hair-style=tied-back] .shepherd-preview-hair:after{background:var(--shepherd-hair);content:"";border-radius:50%;width:.85rem;height:1.25rem;position:absolute;top:.85rem;right:-.5rem}.shepherd-profile-preview[data-hair-style=curly] .shepherd-preview-hair{height:1.8rem;box-shadow:-.4rem .25rem 0 -.05rem var(--shepherd-hair), .4rem .25rem 0 -.05rem var(--shepherd-hair);border-radius:50% 50% 35% 35%}.shepherd-profile-preview[data-hair-style=covered] .shepherd-preview-hair{background:var(--shepherd-coat);border-radius:1.4rem 1.4rem .25rem .25rem;height:1.5rem}.shepherd-preview-crook{background:#5b4430;border-radius:999px;width:.18rem;height:9.2rem;bottom:2.6rem;right:1.65rem;transform:rotate(3deg)}.shepherd-preview-crook:before{content:"";border-top:.18rem solid #5b4430;border-right:.18rem solid #5b4430;border-radius:0 1rem 0 0;width:1.4rem;height:1.25rem;position:absolute;top:-.1rem;right:-.04rem}.shepherd-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.65rem;display:grid}.shepherd-profile-fields label{color:#c9d9b3;letter-spacing:.04em;text-transform:uppercase;gap:.25rem;font-size:.64rem;font-weight:700;display:grid}.shepherd-profile-fields label:first-child,.shepherd-profile-fields label:last-child{grid-column:1/-1}.shepherd-profile-fields input,.shepherd-profile-fields select{color:#f7f3e8;width:100%;min-height:2.75rem;font:inherit;text-transform:none;background:#314c3a;border:1px solid #f7f3e833;border-radius:.55rem;padding:.45rem .55rem;font-size:.78rem}.shepherd-profile-note,#shepherd-profile-status{color:#aebfa8;grid-column:1/-1;margin:0;font-size:.66rem;line-height:1.35}#shepherd-profile-status{color:#d5efb5}.dog-roster-header,.dog-roster-picker,.dog-profile-range span{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dog-roster-header h2{margin:.15rem 0 0;font-size:1.25rem}.dog-roster-header button,.dog-roster-picker button,#dog-profile-use{color:#f7f3e8;min-height:2.75rem;font:inherit;background:#f7f3e81a;border:1px solid #f7f3e833;border-radius:.65rem;padding:.45rem .8rem;font-size:.72rem;font-weight:700}.dog-roster-picker label,.dog-profile-editor>label{color:#c9d9b3;letter-spacing:.04em;text-transform:uppercase;gap:.25rem;font-size:.64rem;font-weight:700;display:grid}.dog-roster-picker label{flex:1}#dog-profile-select,#dog-profile-name,#dog-profile-coat,#dog-profile-life-stage{color:#f7f3e8;width:100%;min-height:2.75rem;font:inherit;text-transform:none;background:#314c3a;border:1px solid #f7f3e833;border-radius:.55rem;padding:.45rem .55rem;font-size:.78rem}.dog-profile-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.dog-profile-editor>label[for=dog-profile-life-stage]{grid-column:1/-1}.dog-profile-editor>label[for=dog-profile-life-stage] small{color:#aebfa8;letter-spacing:0;text-transform:none;font-size:.64rem;font-weight:500}.dog-character-card{color:#dce7cf;background:#f7f3e812;border:1px solid #f7f3e824;border-radius:.7rem;grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(12rem,1fr);gap:.45rem .8rem;padding:.7rem;display:grid}#dog-profile-summary,.dog-suitable-work{margin:0;font-size:.68rem;line-height:1.35}.dog-suitable-work{color:#bcd0b2}.dog-suitable-work strong{color:#d5efb5}.dog-trait-grid{grid-area:1/2/span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .6rem;margin:0;display:grid}.dog-trait-grid div{min-width:0}.dog-trait-grid dt{color:#9fb69d;letter-spacing:.04em;text-transform:uppercase;font-size:.56rem;font-weight:700}.dog-trait-grid dd{color:#f7f3e8;margin:.08rem 0 0;font-size:.62rem;font-weight:650;line-height:1.15}@media (width<=520px){.dog-character-card{grid-template-columns:1fr}.dog-trait-grid{grid-area:auto/1}}.dog-profile-editor .dog-profile-range{color:#dce7cf;letter-spacing:0;text-transform:none;grid-column:auto;gap:.28rem}.dog-profile-range output{color:#f7f3e8;font-variant-numeric:tabular-nums}.dog-profile-range input{accent-color:#d5efb5;width:100%;margin:0}.dog-profile-range small{color:#aebfa8;font-size:.64rem;font-weight:500}#dog-roster-status{color:#c9d9b3;margin:0;font-size:.7rem;line-height:1.35}#dog-roster-status[data-storage=unavailable]:after{content:" Browser storage is unavailable, so this change cannot survive a reload.";color:#ffd1c7}#dog-profile-use{color:#25402f;background:#d5efb5;border-color:#d5efb5}.simulation-controls-heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}#simulation-controls h2{margin:0;font-size:.95rem}#pressure-status{color:#c9d9b3;text-align:right;max-width:6.5rem;font-size:.62rem;line-height:1.25}#simulation-controls label{color:#dce7cf;gap:.2rem;font-size:.72rem;display:grid}#simulation-controls label span{justify-content:space-between;gap:.75rem;display:flex}#simulation-controls output{color:#f7f3e8;font-variant-numeric:tabular-nums}#simulation-controls input[type=range]{accent-color:#d5efb5;width:100%;margin:0}#simulation-controls button{color:#25402f;min-height:2rem;font:inherit;background:#d5efb5;border:0;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:700}#simulation-controls button[aria-pressed=true]{color:#f7f3e8;background:#c85f49}.sheep-state-legend{color:#dce7cf;flex-wrap:wrap;gap:.25rem .55rem;font-size:.56rem;display:flex}.sheep-state-legend span:before{content:"";vertical-align:-.04rem;border-radius:50%;width:.48rem;height:.48rem;margin-right:.2rem;display:inline-block}.sheep-state-legend [data-state=calm]:before{background:#f2ead5}.sheep-state-legend [data-state=alert]:before{background:#f3d795}.sheep-state-legend [data-state=pressured]:before{background:#e9957f}.sheep-state-legend [data-state=separated]:before{background:#c6b7dc}#simulation-controls details{color:#c9d9b3;font-size:.7rem}#simulation-controls summary{cursor:pointer}#simulation-controls details[open]{gap:.5rem;display:grid}#diagnostics{top:max(5rem, calc(env(safe-area-inset-top) + 5rem));right:max(1rem, env(safe-area-inset-right));z-index:3;color:#f7f3e8;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);pointer-events:none;background:#193023e0;border:1px solid #ffffff29;border-radius:1rem;width:min(17rem,100vw - 2rem);padding:1rem;position:fixed;box-shadow:0 .75rem 2rem #13241a3d}@media (height<=600px) and (orientation:landscape){#mission-setup-screen{padding:max(.45rem, env(safe-area-inset-top)) max(.45rem, env(safe-area-inset-right)) max(.45rem, env(safe-area-inset-bottom)) max(.45rem, env(safe-area-inset-left))}.mission-setup-shell{border-radius:.9rem;gap:.5rem;min-height:100%;padding:.65rem}.mission-setup-header{align-items:center;gap:1rem}.mission-setup-header h1{font-size:1.45rem}.mission-setup-header>p{max-width:28rem;font-size:.68rem;line-height:1.3}.mission-setup-grid,.mission-setup-details{gap:.5rem}.mission-setup-card{padding:.65rem}.mission-setup-card h2{font-size:.95rem}.mission-setup-card .eyebrow{font-size:.56rem}.mission-setup-card>p:not(.eyebrow),.mission-team-card>p{margin:.35rem 0;font-size:.64rem;line-height:1.3}.mission-choice-card label{margin-top:.55rem}.farm-overview{margin-top:.4rem;padding:.4rem}.farm-overview-heading{margin-bottom:.3rem}.farm-map{height:7.5rem}.farm-map-note{margin-top:.25rem;font-size:.48rem}.mission-dog-list{gap:.28rem}.mission-dog-toggle{min-height:2.75rem;padding-top:.25rem;padding-bottom:.25rem}.mission-dog-order-actions{gap:.18rem}#mission-setup-team-summary{margin-top:.35rem;font-size:.62rem}.mission-setup-details dl{margin:.45rem 0;font-size:.64rem}.mission-setup-details small{font-size:.56rem}#mission-setup-status{font-size:.64rem}#shepherd-profile-panel{grid-template-columns:7.5rem minmax(0,1fr);gap:.45rem .7rem;width:min(42rem,100vw - 1rem);max-height:calc(100dvh - 1rem);padding:.65rem}.shepherd-profile-header h2{font-size:1rem}.shepherd-profile-preview{min-height:13rem}.shepherd-profile-fields{gap:.4rem}.shepherd-profile-fields input,.shepherd-profile-fields select{min-height:2.35rem;padding:.32rem .45rem}.shepherd-profile-note{display:none}.panel-toggle{top:max(.8rem, env(safe-area-inset-top))}.panel-toggle-left{left:max(.8rem, env(safe-area-inset-left))}.panel-toggle-right{right:max(.8rem, env(safe-area-inset-right))}.panel-toggle-lab{left:max(5rem, calc(env(safe-area-inset-left) + 5rem))}#mission-hud,#diagnostics,#simulation-controls{top:max(5.15rem, calc(env(safe-area-inset-top) + 5.15rem));max-height:calc(100dvh - 5.7rem - env(safe-area-inset-bottom));overflow-y:auto}}#mission-complete{z-index:9;padding:max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(.55rem);backdrop-filter:blur(.55rem);background:#193023a8;place-items:center;display:grid;position:fixed;inset:0}#mission-complete[hidden]{display:none}.mission-summary-card{color:#f7f3e8;background:#25402f;border:1px solid #ffffff2e;border-radius:1.2rem;width:min(23rem,100%);padding:1.4rem;box-shadow:0 1rem 3rem #13241a61}.mission-summary-card h2{margin:0;font-size:1.5rem}.mission-summary-card>p:not(.eyebrow){color:#c9d9b3;margin:.45rem 0 0;font-size:.84rem;line-height:1.4}.mission-summary-card dl{margin:1rem 0;font-size:.84rem}#mission-play-again{color:#25402f;width:100%;min-height:2.5rem;font:inherit;background:#d5efb5;border:0;border-radius:999px;font-weight:750}#mission-next-conditions{color:#dce7cf;width:100%;min-height:2.75rem;font:inherit;background:0 0;border:1px solid #f7f3e847;border-radius:999px;margin-top:.45rem;font-size:.78rem;font-weight:700}.eyebrow{color:#c9d9b3;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .2rem;font-size:.72rem;font-weight:700}h1{letter-spacing:-.02em;margin:0;font-size:1.4rem;font-weight:650}dl{gap:.45rem;margin:1rem 0;display:grid}dl div{justify-content:space-between;gap:1rem;display:flex}dt{color:#c9d9b3}dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.status{color:#dce7cf;border-top:1px solid #ffffff1f;margin:0;padding-top:.75rem;font-size:.82rem;line-height:1.35}.status[data-state=ready]{color:#d5efb5}.status[data-state=error]{color:#ffd1c7}#orientation-hint{z-index:10;padding:max(2rem, env(safe-area-inset-top)) max(2rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(2rem, env(safe-area-inset-left));color:#f7f3e8;text-align:center;pointer-events:none;background:#193023f0;place-content:center;gap:.4rem;display:none;position:fixed;inset:0}#orientation-hint strong{font-size:1.35rem}#orientation-hint span{color:#c9d9b3;max-width:18rem;line-height:1.4}@media (height<=430px) and (orientation:landscape){#mission-hud{gap:.35rem;width:min(30rem,100vw - 1rem);padding:.65rem}#mission-prompt{font-size:.68rem}#mission-phase{font-size:.86rem}.mission-heading{align-items:start}.mission-actions{justify-content:start;max-width:none}#mission-conditions,#dog-roster-toggle,#sound-toggle,#mission-farmyard,#mission-restart{min-height:2.75rem}#mission-conditions{max-width:7.5rem}#diagnostics{width:14.5rem;padding:.75rem}#diagnostics h1{font-size:1.15rem}#diagnostics dl{gap:.25rem;margin:.55rem 0;font-size:.82rem}#diagnostics .status,#diagnostics .diagnostic-secondary{display:none}#simulation-controls{gap:.35rem;width:14.5rem;padding:.6rem}#dog-command-controls{width:13.75rem;padding:.55rem}#dog-roster-panel{grid-template-columns:11rem minmax(0,1fr);gap:.6rem .9rem;width:min(42rem,100vw - 2rem);padding:.8rem}.dog-roster-header,.dog-roster-picker,#dog-roster-status,#dog-profile-use{grid-column:1}.dog-roster-picker{flex-direction:column;align-items:stretch}.dog-profile-editor{grid-area:1/2/span 4;align-content:start;gap:.5rem .75rem}.dog-profile-range small{display:none}.dog-command-heading{margin-bottom:.35rem}.dog-command-grid{gap:.3rem}.dog-command-grid button{min-height:2.75rem}#simulation-controls h2{font-size:.82rem}#simulation-controls .eyebrow,#pressure-status{display:none}#simulation-controls button{min-height:1.7rem}.sheep-state-legend{gap:.18rem .4rem}.mission-summary-card{grid-template-columns:1.2fr 1fr;gap:.35rem 1rem;width:min(34rem,100%);padding:1rem;display:grid}.mission-summary-card .eyebrow,.mission-summary-card h2,.mission-summary-card>p{grid-column:1}.mission-summary-card dl{grid-area:1/2/span 4;margin:0}#mission-play-again{grid-column:1}#mission-next-conditions{grid-column:1;margin-top:0}}@media (width<=700px) and (orientation:portrait){.mission-setup-header{gap:.7rem;display:grid}.mission-setup-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){#loading-screen,#weather-overlay{transition:none}.loading-dog,body[data-weather=overcast-drizzle] #weather-overlay{animation:none}}@media (width<=560px) and (orientation:portrait){#orientation-hint{display:grid}}
