:root{--cream:#f8eed7;--pink:#f3a092;--forest:#142d24;--dim:#a8b5a4;--gold:#dfc680;--line:#e7e8c726;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:var(--cream);background:#142d24;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b8dced;outline-offset:5px}button{transition:background .18s,transform .18s,filter .18s}button:hover{filter:brightness(1.09)}button:active{transform:translateY(2px)}button:disabled{opacity:.4;cursor:default}button:disabled:active{transform:none}button[hidden],[hidden]{display:none!important}#game{display:block;position:fixed;width:100%;height:100%;inset:0;touch-action:none}button svg{pointer-events:none}.screen{position:fixed;inset:0}.title-screen{overflow:auto;background:#173426}.hero-art,.hero-shade,.grain{position:absolute;inset:0;pointer-events:none}.hero-art{background:url('assets/title-garden.png') center center/cover no-repeat;animation:reveal 1.3s ease-out}.hero-shade{background:linear-gradient(90deg,rgba(9,30,23,.83) 0%,rgba(10,32,25,.46) 39%,transparent 65%),linear-gradient(0deg,#0e231e 0%,#0e231e99 8%,transparent 31%)}.grain{opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.masthead{position:relative;display:flex;justify-content:space-between;align-items:center;padding:30px 4.3%;z-index:2}.wordmark{display:flex;gap:12px;align-items:center;color:var(--cream);text-decoration:none;font:700 20px Georgia,serif;letter-spacing:1px}.floret{color:var(--pink);font-size:32px;font-family:Georgia}.studio{margin-left:16px;border-left:1px solid #ddd5b83d;padding-left:22px;font:9px Arial;letter-spacing:2px;color:#d3d7be}.icon-button{display:grid;place-items:center;background:#142d2499;border:1px solid #e4e7cc50;border-radius:50%;height:42px;width:42px;font-size:19px;backdrop-filter:blur(10px)}.title-content{position:relative;margin:3.5vh 0 120px 8%;width:580px;max-width:65%;animation:slide 1s ease-out}.eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:3px;font-size:10px;font-weight:700;color:#e9d7b2;margin-bottom:24px}.eyebrow span{width:21px;height:1px;background:var(--pink)}h1{font-family:Georgia,'Times New Roman',serif;font-weight:900;font-size:clamp(76px,8.3vw,132px);letter-spacing:-8px;line-height:.88;margin:0 0 30px;text-shadow:0 5px 22px #0a211d35;position:relative}h1 span{color:var(--pink)}h1 i{font:12px Arial;vertical-align:top;letter-spacing:0;margin-left:8px}.tagline{font:27px/1.3 Georgia,serif;letter-spacing:-.5px;margin:0 0 20px}.tagline em{color:#e5bd98}.intro-copy{font-size:13px;line-height:1.8;color:#c4cabc;margin:0 0 28px}.primary{background:var(--pink);color:#22352a;font-size:12px;font-weight:800;letter-spacing:1.5px;padding:18px 25px;border-radius:7px}.play-button{width:268px;display:flex;align-items:center;justify-content:space-between;height:60px;box-shadow:0 7px 25px #0a1b2250}.arrow{font-size:26px;line-height:1}.menu-links{margin-top:20px;display:grid;grid-template-columns:126px 126px;gap:0 17px}.menu-links button{display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border-bottom:1px solid #d8debf33;padding:12px 0;font-size:12px;color:#d9decc}.menu-links button span{color:var(--pink)}.input-note{display:flex;align-items:center;gap:9px;margin-top:26px;color:#aab8a9;font-size:8px;letter-spacing:1.1px}.input-note b{color:#cfaa6a}.key-icon{font-size:17px}.hero-stamp{position:absolute;right:6%;bottom:26%;width:103px;height:103px;border:1px solid #ece2c570;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(12deg);background:#15352855;backdrop-filter:blur(5px);box-shadow:0 0 0 5px #dfd2af10}.hero-stamp>span{font:italic 30px Georgia}.hero-stamp small{font-size:8px;text-align:center;letter-spacing:2px;line-height:1.4;margin-top:5px}.hero-stamp i{position:absolute;right:-5px;top:-8px;font-size:28px;color:var(--pink)}.title-footer{position:absolute;bottom:0;left:4.3%;right:4.3%;padding:24px 0;border-top:1px solid #d5debd33;display:flex;align-items:center;justify-content:space-between}.title-footer button{display:flex;gap:17px;align-items:center;background:none;text-align:left;padding:0}.garden-emblem{font-size:40px;color:#ccbd8b}.title-footer small{font-size:8px;letter-spacing:2px;color:#aebba3;display:block;margin-bottom:6px}.title-footer strong{font:17px Georgia;color:#e6e3ca}.garden-arrow{margin:0 25px;font-size:25px;color:var(--pink)}.footer-aside{font-size:8px;letter-spacing:1.5px}.footer-aside small{margin:10px 0 0;letter-spacing:.2px;font-size:10px;color:#8c9e90}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a7b998;margin-right:8px}.hud-top{position:absolute;top:22px;left:24px;right:24px;display:flex;align-items:center;gap:12px;pointer-events:none}.hud-top button{pointer-events:auto}.level-card,.objective-card,.score-card{background:#152f28ed;border:1px solid #e4dfc231;border-radius:10px;box-shadow:0 6px 24px #09271e33;backdrop-filter:blur(12px)}.level-card{display:flex;align-items:center;gap:13px;padding:13px 20px 13px 14px;min-width:246px}.level-number{font:32px Georgia;color:var(--pink);padding-right:12px;border-right:1px solid var(--line)}small{font-size:9px;letter-spacing:1.5px}.level-card small{display:block;font-size:7px;color:#a6bca8;letter-spacing:1.7px;margin-bottom:6px}.level-card strong{font:18px Georgia}.objective-card{display:flex;align-items:center;gap:12px;padding:13px 20px;position:relative;margin:auto;min-width:255px;overflow:hidden}.objective-card small{display:block;font-size:8px;margin-bottom:4px;color:#c4ceb6}.objective-card strong{font-size:17px}.objective-card strong span+span{font-size:13px;color:#a8b69f}.phone-symbol{color:var(--pink);font-size:33px}.phone-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#68745955}.phone-progress i{display:block;background:var(--pink);width:0;height:100%;transition:width .3s}.score-card{padding:12px 25px;min-width:128px;text-align:right}.score-card small{display:block;color:#b6c5ac;font-size:7px;margin-bottom:5px}.score-card strong{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:1px}.pink{color:#efa39c!important}.hud-bottom{position:absolute;bottom:22px;left:24px;right:24px;display:flex;gap:18px;align-items:end;pointer-events:none}.flower-button{display:flex;align-items:center;gap:12px;background:#17372de8;padding:12px 18px;border:1px solid #ebdebf44;border-radius:9px;pointer-events:auto}.flower-button>span{font-size:32px;color:var(--pink)}.flower-button div{text-align:left}.flower-button strong{display:block;font-size:8px;letter-spacing:1px}.flower-button b{display:inline-block;margin-left:8px;background:#efdfba;color:#1d382a;padding:3px 5px;border-radius:4px}.flower-button small{display:block;margin-top:6px;font-size:7px;color:#b5c2a8}.stud-panel{width:320px;background:#17372de8;padding:15px 17px;border:1px solid #cfd8ba33;border-radius:9px;margin:auto}.stud-panel>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:11px}.stud-panel strong,.stud-panel span{font-size:7px;letter-spacing:1.1px}.stud-panel span{color:#a8bbb4}.mode-track{height:5px;background:#718c751f;border-radius:9px;overflow:hidden}.mode-track i{display:block;width:0;background:#69cbff;height:100%;transition:width .1s}.stud-panel.active{border-color:#77c8f4;background:#143649ef;box-shadow:0 0 30px #69cbff22}.stud-panel.active strong{color:#9de0ff}.stud-panel.warning{animation:flash .4s steps(2) infinite}.sprint-panel{width:140px;padding:12px;background:#18392cce;border-radius:8px}.sprint-panel small{font-size:7px;display:block;margin-bottom:8px}.sprint-panel>div{height:3px;background:#697d5255}.sprint-panel i{height:100%;display:block;background:#dec685;width:100%}#toast{position:absolute;top:112px;left:50%;transform:translate(-50%,-8px);border:1px solid #efdfb666;background:#18372ced;color:#f9edcb;padding:15px 24px;border-radius:8px;box-shadow:0 8px 30px #081a1a40;text-align:center;opacity:0;transition:.25s;pointer-events:none;font-size:12px;max-width:min(500px,70%);line-height:1.5}#toast.show{opacity:1;transform:translate(-50%,0)}.overlay{position:fixed;inset:0;background:#071e17b5;backdrop-filter:blur(10px);display:grid;place-items:center;z-index:20;padding:24px}.overlay section{width:560px;max-width:100%;max-height:90dvh;overflow:auto;background:#18382e;border:1px solid #d4d8b742;border-radius:18px;padding:37px;position:relative;box-shadow:0 25px 80px #02181080;animation:slide .3s ease-out}.dialog-kicker{display:block;font-size:9px;letter-spacing:2.5px;color:var(--pink);margin-bottom:14px}h2{font:37px/1.06 Georgia;margin:0 0 16px;letter-spacing:-1px}.dialog-copy{color:#b9c9b5;font-size:13px;line-height:1.8;margin-bottom:22px}.close-dialog{position:absolute;top:19px;right:19px;width:28px;height:28px;border:1px solid #acb99d40;border-radius:50%;background:none;color:#c0ccb8;font-size:18px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.secondary{border:1px solid #cdd5b552;padding:16px 20px;border-radius:7px;background:transparent;font-size:11px}.instructions-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.instruction{padding:16px;background:#0e281e80;border:1px solid #cbd4ad20;border-radius:8px}.instruction b{display:block;color:var(--cream);font-size:12px;margin-bottom:8px}.instruction p{margin:0;font-size:11px;line-height:1.6;color:#acbfa9}.instruction em{color:#9fdaee;font-style:normal}.pill-icon{display:inline-block;width:17px;height:8px;border-radius:8px;background:linear-gradient(90deg,#55aeec 50%,#c1e9ff 50%);transform:rotate(-28deg)}.cast-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.cast-list>div{font-size:10px;color:#a9bda6;padding:7px 0}.cast-list b{font-size:11px;color:#e7e0c2}.setting{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.setting label{font-size:12px}.setting small{display:block;font-size:10px;letter-spacing:0;color:#a3b59f;margin-top:6px}.setting input[type=range]{width:150px;accent-color:var(--pink)}.setting input[type=checkbox]{accent-color:var(--pink);width:20px;height:20px}.setting select{background:#102c21;color:var(--cream);border:1px solid #cbd0ad40;padding:10px;border-radius:6px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:13px 8px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:8px;color:#a6b69f;letter-spacing:1px}td:last-child{text-align:right;color:var(--pink);font-variant-numeric:tabular-nums}.empty-scores{border:1px dashed #a9ba9955;padding:28px;text-align:center;color:#a9bba5;font:18px Georgia;line-height:1.5}.garden-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.garden-grid button{text-align:left;background:#0f2c2199;border:1px solid #c8d2af30;border-radius:8px;padding:13px;display:flex;gap:12px;align-items:center}.garden-grid button b{font:25px Georgia;color:var(--pink)}.garden-grid button span{font-size:11px;line-height:1.5}.stat-row{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.stat-row>div{flex:1;padding:18px 8px}.stat-row small{display:block;font-size:7px;color:#acb99e}.stat-row strong{display:block;font:26px Georgia;margin-top:8px;color:var(--pink)}.big-ring{font-size:70px;display:block;text-align:center;margin:0 0 12px;animation:ringdrop 1s cubic-bezier(.2,.9,.5,1.3)}#touch-controls{display:none;position:absolute;bottom:106px;left:27px;right:27px;pointer-events:none;justify-content:space-between;align-items:end}#joystick{width:110px;height:110px;border:1px solid #e5e9c757;border-radius:50%;background:#193e2d55;position:relative;pointer-events:auto;touch-action:none}#joystick div{position:absolute;left:32px;top:32px;width:44px;height:44px;border-radius:50%;background:#e2e4bf6b;border:1px solid #efecd491;pointer-events:none}#touch-sprint{width:68px;height:68px;border-radius:50%;background:#1f4237b3;border:1px solid #efd8b861;pointer-events:auto;touch-action:none;font-size:10px;letter-spacing:1px}#demo-label{position:absolute;inset:auto 0 20%;text-align:center;pointer-events:none;text-shadow:0 3px 12px #0c251b}#demo-label span{display:block;font-size:10px;letter-spacing:3px}#demo-label strong{display:block;font:40px Georgia;margin:10px 0}#demo-label button{pointer-events:auto;background:#173b2de0;border:1px solid var(--pink);border-radius:6px;padding:14px 24px;letter-spacing:2px;font-size:9px}kbd{background:#60715840;padding:2px 5px;border-radius:3px;font:10px Arial}.notice{font-size:11px;line-height:1.7;color:#bdd4ba;border-left:2px solid var(--pink);padding-left:13px;margin:20px 0}.volume-note{font-size:10px;color:#a9bca5;line-height:1.7;margin-top:17px}.credits-line{font-size:11px;line-height:1.9;color:#abc0a6}.credits-line b{color:#e9e4cb}
@keyframes slide{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal{from{opacity:.4;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes flash{50%{opacity:.48}}@keyframes ringdrop{from{transform:translateY(-120px) scale(2);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@media(min-height:850px){.title-content{margin-top:8vh}.title-content h1{margin-bottom:35px}.intro-copy{margin-top:26px;margin-bottom:34px}.menu-links{margin-top:24px}}
@media(max-width:1000px){.studio{display:none}.title-content{margin-left:6%;max-width:85%}h1{font-size:92px;letter-spacing:-6px}.hero-art{background-position:56% center}.hero-shade{background:linear-gradient(90deg,#0d291fe8 0%,#0d291f66 65%,transparent),linear-gradient(0deg,#0e231e,transparent 30%)}.title-footer{padding:19px 0}.footer-aside{display:none}.hud-top{gap:8px;left:15px;right:15px}.level-card{min-width:190px;padding:12px}.level-card strong{font-size:16px}.objective-card{min-width:200px;padding:13px}.score-card{padding:12px 15px;min-width:100px}.stud-panel{width:280px}}
@media(max-width:650px){.masthead{padding:20px 6%}.wordmark{font-size:16px}.title-content{margin-top:5vh;margin-bottom:110px;width:88%;max-width:88%}h1{font-size:clamp(55px,14vw,92px);letter-spacing:-4px;margin-bottom:25px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:22px}.tagline{font-size:24px}.intro-copy{font-size:12px}.hero-art{background-position:60% center}.hero-shade{background:linear-gradient(90deg,#0e2b21e8,#0d2b2185 80%),linear-gradient(0deg,#0e231e,transparent 40%)}.hero-stamp{right:8%;bottom:21%;width:80px;height:80px}.hero-stamp>span{font-size:25px}.hero-stamp small{font-size:6px}.title-footer{left:6%;right:6%}.title-footer strong{font-size:13px}.garden-emblem{font-size:33px}.garden-arrow{margin:0 5px}.title-footer small{font-size:7px}.hud-top{top:12px;left:10px;right:10px;flex-wrap:wrap;gap:7px}.level-card{min-width:0;flex:1;padding:9px}.level-card strong{font-size:14px}.level-card small{font-size:6px;letter-spacing:1px}.level-number{font-size:26px}.score-card{padding:8px 12px;min-width:92px}.score-card strong{font-size:17px}.objective-card{order:4;min-width:0;margin:0;width:185px;padding:8px 12px;gap:9px}.objective-card small{font-size:6px}.objective-card strong{font-size:13px}.phone-symbol{font-size:25px}.hud-bottom{bottom:15px;left:12px;right:12px;gap:10px;align-items:end}.flower-button{padding:8px 12px;gap:6px}.flower-button>span{font-size:25px}.flower-button strong{font-size:7px}.flower-button small{font-size:6px}.stud-panel{width:auto;flex:1;padding:13px 11px}.stud-panel strong,.stud-panel span{font-size:6px;letter-spacing:.6px}.sprint-panel{display:none}#toast{top:155px;max-width:80%;font-size:10px;padding:11px 16px}.overlay{padding:15px}.overlay section{padding:30px 23px}h2{font-size:31px}.instructions-grid{gap:8px}.instruction{padding:12px}.instruction p{font-size:10px}.instruction b{font-size:11px}#demo-label strong{font-size:30px}}
@media(pointer:coarse){#touch-controls{display:flex}.input-note{font-size:7px}.flower-button small{font-size:0}.flower-button small:after{content:'TAP TO THROW';font-size:7px}}
@media(max-width:650px){.hud-top{display:grid;grid-template-columns:minmax(0,1fr) 92px 42px;gap:7px}.level-card{min-height:57px;overflow:hidden}.level-card>div{min-width:0}.level-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-card small{white-space:nowrap}.objective-card{grid-column:1 / 3;grid-row:2;width:190px;min-height:52px}.score-card{min-height:57px}.hud-top>.icon-button{justify-self:end}}
@media(max-height:650px) and (min-width:651px){.masthead{padding-top:15px;padding-bottom:15px}.title-content{margin-top:10px;margin-bottom:100px}.eyebrow{margin-bottom:15px}h1{font-size:82px;margin-bottom:20px}.tagline{font-size:22px;margin-bottom:12px}.intro-copy{display:none}.play-button{height:49px;width:250px}.menu-links{margin-top:10px}.menu-links button{padding:10px 0}.input-note{margin-top:15px}.title-footer{padding:14px 0}.hero-stamp{bottom:20%}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
#hud.cinematic > *,#hud.cinematic button{visibility:hidden;pointer-events:none!important}

/* Fit the interface to the available window, including browser toolbars and notches. */
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
.screen,#hud,.overlay{height:100dvh}
#game{width:100vw;height:100dvh}
#hud{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.title-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:clip;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.masthead{padding:clamp(10px,2.5dvh,30px) 4.3%;min-width:0}
.title-content{align-self:center;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1.4dvh,18px);width:min(580px,88%);max-width:88%;margin:0 0 0 6%;min-height:0}
.title-content .eyebrow{margin:0;font-size:clamp(8px,1.2dvh,10px)}
.title-content h1{font-size:clamp(42px,min(8.3vw,12dvh),132px);letter-spacing:-.055em;line-height:.92;margin:0}
.title-content .tagline{font-size:clamp(18px,3.2dvh,27px);margin:0}
.title-content .intro-copy{font-size:12px;line-height:1.65;margin:0}
.play-button{width:min(268px,100%);height:clamp(44px,6.6dvh,60px);min-height:44px;flex:none}
.menu-links{width:min(268px,100%);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0;gap:0 17px}
.menu-links button{min-height:40px;padding:10px 0}
.menu-links .developer-link{grid-column:auto}
#developer-form label{display:block;margin-bottom:9px;color:var(--cream);font-size:12px}
#developer-password{width:100%;min-height:46px;padding:12px;border:1px solid #849782;border-radius:6px;background:#11281f;color:var(--cream);font:16px Arial,sans-serif}
#developer-password[aria-invalid="true"]{border-color:var(--pink)}
#developer-error{min-height:18px;margin:8px 0 0;color:var(--pink);font-size:12px;line-height:1.5}
.input-note{margin:0;flex-wrap:wrap;gap:8px}
.title-footer{position:relative;inset:auto;align-self:end;margin:0 4.3%;padding:clamp(10px,2.2dvh,24px) 0;min-width:0;gap:20px}
.title-footer button{min-width:0;min-height:44px;gap:12px}
.title-footer strong{font-size:clamp(12px,2dvh,17px)}
.title-footer small{letter-spacing:1.5px}
.garden-arrow{margin:0 12px}
.hero-stamp{pointer-events:none}
.hud-top{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}
.hud-bottom{bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}
.stud-panel{min-width:0}
.stud-panel>div:first-child{flex-wrap:wrap;row-gap:5px}
.overlay{--panel-gap:24px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:max(var(--panel-gap),env(safe-area-inset-top)) max(var(--panel-gap),env(safe-area-inset-right)) max(var(--panel-gap),env(safe-area-inset-bottom)) max(var(--panel-gap),env(safe-area-inset-left));overflow:hidden}
.overlay section{display:flex;flex-direction:column;width:min(560px,100%);min-width:0;max-height:100%;min-height:0;overflow:hidden;padding:clamp(18px,3.8dvh,37px);animation:dialog-appear .18s ease-out}
@keyframes dialog-appear{from{opacity:0}to{opacity:1}}
.dialog-heading{flex:none;padding-right:20px}
.dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#849782 #18382e;padding-right:5px}
.dialog-body>:first-child{margin-top:0}
.dialog-body>:last-child{margin-bottom:0}
.dialog-actions{flex:none;margin-top:clamp(12px,2.5dvh,25px)}
.dialog-actions button{min-height:44px}
.close-dialog{z-index:1}
.comedy-choices{display:grid;gap:12px;padding:6px}
.comedy-choice{display:flex;align-items:center;gap:16px;width:100%;padding:18px;text-align:left;letter-spacing:0}
.comedy-choice strong{display:block;font:700 19px Georgia,serif}
.comedy-choice small{display:block;margin-top:7px;font:12px/1.5 Arial,sans-serif;letter-spacing:0}
.comedy-icon{flex:none;font-size:28px}
.comedy-note{font-size:12px;line-height:1.6;color:#b9c9b5;margin:18px 6px 0}
@media(max-width:360px),(max-height:420px){.comedy-choice{padding:12px;gap:12px}.comedy-choice strong{font-size:17px}.comedy-choices{gap:8px}.comedy-note{margin-top:10px}}
@media(max-height:420px){#dialog[data-panel="comedy-style"] .dialog-kicker{display:none}#dialog[data-panel="comedy-style"] .dialog-copy{font-size:12px;line-height:1.6;margin-bottom:12px}.comedy-note{font-size:11px}}
@media(max-height:420px) and (min-aspect-ratio:4/3){.comedy-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.comedy-choice{align-items:flex-start;gap:8px}.comedy-icon{font-size:22px}.comedy-choice small{font-size:11px}}

@media(max-height:680px){
  .title-content .intro-copy{display:none}
  .hero-stamp{width:80px;height:80px;bottom:24%}
  .hero-stamp>span{font-size:25px}
  .hero-stamp small{font-size:6px}
  .overlay{--panel-gap:14px}
  .overlay section{padding:22px}
  .dialog-kicker{font-size:8px;margin-bottom:10px}
  .dialog-heading h2{font-size:29px;margin-bottom:12px}
  .dialog-actions .primary,.dialog-actions .secondary{padding:12px 16px}
  .big-ring{font-size:44px;margin-bottom:8px}
  .stat-row{margin:14px 0}
  .stat-row>div{padding:12px 6px}
}
@media(max-width:650px){
  .masthead{padding-left:6%;padding-right:6%}
  .title-content h1{font-size:clamp(42px,min(14vw,12dvh),92px)}
  .title-footer{margin:0 6%;gap:8px}
  .title-footer button{gap:9px}
  .garden-emblem{font-size:28px}
  .garden-arrow{margin:0 3px}
  .hero-stamp{display:none}
  .hud-top{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}
  .objective-card{width:min(190px,calc(100vw - 144px))}
  .overlay{--panel-gap:12px}
  .setting{gap:12px}
  .setting input[type=range]{width:110px;max-width:42%}
  .setting select{max-width:48%;min-width:0;font-size:11px}
  .dialog-actions{gap:8px}
  .dialog-actions .primary,.dialog-actions .secondary{padding:12px;font-size:10px;letter-spacing:.7px}
}
/* Short landscape windows use both columns instead of pushing the menu below the fold. */
@media(max-height:520px) and (min-aspect-ratio:4/3){
  .masthead{padding-top:8px;padding-bottom:8px}
  .masthead .icon-button{height:36px;width:36px}
  .title-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:7%;row-gap:10px;width:min(900px,88%)}
  .title-content h1{grid-column:1;grid-row:1;font-size:clamp(42px,7.8vw,78px);align-self:end}
  .title-content .tagline{grid-column:1;grid-row:2;align-self:start;font-size:clamp(17px,2.8vw,22px)}
  .title-content .play-button{grid-column:2;grid-row:1;align-self:end}
  .title-content .menu-links{grid-column:2;grid-row:2;align-self:start}
  .title-content .eyebrow,.title-content .intro-copy,.title-content .input-note,.hero-stamp{display:none}
  .title-footer{padding:8px 0}
  .title-footer .garden-emblem{font-size:28px}
  .title-footer strong{font-size:13px}
  .footer-aside{display:none}
  .hud-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,1fr) 84px 36px;gap:7px;top:max(8px,env(safe-area-inset-top));align-items:stretch}
  .hud-top .level-card,.hud-top .objective-card,.hud-top .score-card{min-width:0;min-height:48px;padding:7px 10px}
  .level-card{gap:8px}
  .level-card>div{min-width:0}
  .level-card strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .level-card small{font-size:6px;letter-spacing:.8px;white-space:nowrap}
  .level-number{font-size:25px;padding-right:8px}
  .hud-top .objective-card{grid-area:auto;order:initial;width:auto;margin:0;gap:8px}
  .objective-card small{font-size:6px}
  .objective-card strong{font-size:13px}
  .phone-symbol{font-size:25px}
  .score-card strong{font-size:16px}
  .hud-top .icon-button{width:36px;height:36px;align-self:center}
  
  .hud-bottom{bottom:max(8px,env(safe-area-inset-bottom));gap:12px}
  .flower-button{padding:8px 10px;gap:8px}
  .flower-button>span{font-size:24px}
  .stud-panel{width:280px;flex:0 1 280px;padding:10px 12px}
  .sprint-panel{width:120px;padding:10px}
  #touch-controls{bottom:max(80px,calc(env(safe-area-inset-bottom) + 68px));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}
  #joystick{width:88px;height:88px}
  #joystick div{left:21px;top:21px}
  #touch-sprint{width:60px;height:60px}
  #toast{top:68px;max-width:min(480px,calc(100% - 250px));font-size:10px;padding:8px 12px}
  .dialog-heading h2{font-size:24px;margin-bottom:10px}
  .dialog-kicker{margin-bottom:7px;font-size:7px}
  .overlay section{padding:18px}
}
@media(max-height:420px) and (min-aspect-ratio:4/3){
  
  .title-content{row-gap:8px}
}
@media(max-height:560px){.title-content .input-note{display:none}}
@media(max-height:480px) and (max-aspect-ratio:4/3){.title-content .eyebrow{display:none}}
@media(max-height:420px) and (max-aspect-ratio:4/3){.title-content{gap:4px}.title-content h1{font-size:42px}.title-content .tagline{font-size:16px}}

/* The garden guide lives in Pause, leaving the chase completely unobstructed. */
#dialog[data-panel="map"]{width:min(760px,100%);height:min(760px,100%)}
#dialog[data-panel="map"] .dialog-body{display:flex;flex-direction:column;flex:1;gap:10px;padding:0;overflow:hidden}
.map-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;flex:none;font-size:9px;line-height:1.4;color:#b9c9b5}
#map-progress{color:var(--pink);font-weight:bold}
.pause-map-frame{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1;min-height:0;background:#11281f;border:1px solid #d4d8b730;border-radius:10px;overflow:hidden}
#pause-map-canvas{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.map-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;flex:none;color:#d6dfc9;font-size:9px}
.map-legend span{display:flex;align-items:center;gap:6px}
.map-legend i{width:8px;height:8px;border-radius:50%;background:#fcf1c2;flex:none}
.map-legend .map-exit{border:2px solid #92c4ba;background:none;border-radius:0}
.map-legend .map-company{background:#ee9c9d}
.map-legend .map-company.fleeing{background:#8bc4e2}
.map-legend .map-pill{background:#7ed8ff}
.map-hint{font-size:11px;line-height:1.5;color:#b9c9b5;margin:0;flex:none}
@media(max-width:450px),(max-height:420px){
  #dialog[data-panel="map"] .dialog-body{gap:7px}
  .map-summary{font-size:8px;gap:5px}
  .map-summary span:last-child{font-size:7px}
  .map-legend{gap:9px;font-size:8px}
  .map-hint{font-size:10px}
}
/* Granny keeps the existing HUD footprint and input locations. */
.ring-counter{position:fixed;top:100px;left:24px;padding:9px 13px;border:1px solid #edc87966;border-radius:9px;background:#213226ed;color:#ffe2a3;font-size:12px;letter-spacing:.6px;pointer-events:none}
#boss-hud{position:fixed;top:99px;left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 32px));padding:13px 18px 10px;border:1px solid #ecc38277;border-radius:13px;background:#241525f2;box-shadow:0 8px 32px #11081780;pointer-events:none}
.boss-heading{display:flex;justify-content:space-between;gap:10px;font-size:16px;font-weight:900;letter-spacing:2px;color:#ffdfb0}.boss-heading small{display:block;font-size:8px;letter-spacing:2px;color:#c5aeb9;margin:4px 0 8px}.boss-heading b{font-size:12px;letter-spacing:0}
#boss-health{height:13px;overflow:hidden;border-radius:6px;background:#452a3e;border:1px solid #9c6979}#boss-health-fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,#b84871,#fb96a8);transition:width .2s ease}
.boss-health-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.boss-health-footer #boss-hearts{font-size:20px;letter-spacing:4px;color:#ffb5c8}#boss-hint{font-size:8px;letter-spacing:1px;text-align:right;color:#f7dab3}
.boss-active .ring-counter{display:none}.boss-active .objective-card{visibility:hidden}.boss-active .stud-panel{border-color:#b99867}.boss-active .flower-button{background:#f3cb8c;color:#362233}.boss-active .flower-button:disabled{opacity:.65}
@media(max-width:650px){.ring-counter{top:85px;left:auto;right:10px;max-width:calc(100% - 212px);padding:12px 7px;font-size:9px;letter-spacing:0}#boss-hud{top:81px;padding:10px 13px;width:calc(100% - 20px)}.boss-heading{font-size:14px}.boss-heading small{font-size:7px}#boss-hint{font-size:7px;letter-spacing:.2px}.boss-active .stud-panel strong{font-size:8px}.boss-active .stud-panel span{font-size:7px}}
@media(max-height:540px) and (min-aspect-ratio:4/3){.ring-counter{top:66px;left:12px;right:auto;font-size:9px;padding:6px 10px;max-width:none}#boss-hud{top:64px;width:400px;padding:7px 12px}.boss-heading small{display:none}#boss-health{height:8px;margin-top:5px}.boss-health-footer{margin-top:2px}.boss-health-footer #boss-hearts{font-size:15px}}
@media(prefers-reduced-motion:reduce){#boss-health-fill{transition:none}}
.boss-active .flower-button>span{width:32px;height:32px;flex:none;background:url('assets/granny/props.png') 66.6667% 33.3333%/400% 400% no-repeat}.boss-active .flower-button small{color:#715739}
.boss-health-footer #boss-hearts{font-size:15px;letter-spacing:2px;white-space:nowrap}
@media(max-height:540px) and (min-aspect-ratio:4/3){.boss-active .level-card{max-width:180px}#boss-hud{top:8px;width:min(400px,calc(100% - 370px));min-width:240px}.boss-heading{font-size:12px}#boss-hint{font-size:6px;letter-spacing:0}.boss-health-footer #boss-hearts{font-size:12px;letter-spacing:1px}}
@media(max-height:540px) and (max-width:700px) and (min-aspect-ratio:4/3){.boss-active .level-card{visibility:hidden}#boss-hud{left:12px;transform:none;width:calc(100% - 150px)}}
/* The boss room covers the display; compact overlays leave the fight visible. */
#boss-hud{padding:10px 14px 8px}
.boss-heading small{margin:3px 0 6px}
#boss-health{height:10px}
.boss-health-footer{margin-top:4px}
#rescue-count{display:block;margin-top:4px;font-size:9px;color:#aaf0cb}
.rescue-active .flower-button>span{background:none}
.rescue-active .flower-button>span::before{content:'⚿';font-size:28px;color:#44302b}
@media(min-width:1000px) and (min-height:541px){
  #boss-hud{top:14px;width:min(460px,calc(100% - 620px))}
  .boss-heading{font-size:14px}
  .boss-heading small{font-size:7px}
}
:fullscreen{background:#142c23}
@media(max-height:620px) and (max-width:650px) and (max-aspect-ratio:4/3){
  .boss-active .level-card{visibility:hidden}
  #boss-hud{top:8px;left:12px;transform:none;width:calc(100% - 152px);min-width:0;padding:7px 10px}
  .boss-heading{font-size:12px;letter-spacing:1px}
  .boss-heading small,#boss-hint{display:none}
  #boss-health{height:8px;margin-top:5px}
  .boss-health-footer{margin-top:2px}
  .boss-health-footer #boss-hearts{font-size:12px}
}
@media(pointer:coarse){.rescue-active .flower-button small:after{content:'TAP TO RESCUE'}}

/* The chase reversal uses a steady amber warning in either visual mode. */
.stud-panel.rival-active{border-color:#ffc979;background:#443035f5;box-shadow:0 0 24px #ffc97918;animation:none}.stud-panel.rival-active strong{color:#ffe0a6}.stud-panel.rival-active span{color:#f6d7b6}.stud-panel.rival-active .mode-track i,.map-legend .map-rival{background:#ffc979}

/* Website navigation stays in menus so it never covers the game. */
.jlg-menu-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.jlg-return{color:var(--cream);font:700 10px Arial,sans-serif;letter-spacing:.4px;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.jlg-return:hover{text-decoration:underline}.jlg-menu-actions .jlg-return{padding:0 10px;border:1px solid #e4e7cc50;border-radius:24px;background:#142d24ed}.dialog-actions .jlg-return{font-size:11px}@media(max-width:400px){.jlg-menu-actions{gap:8px}.jlg-menu-actions .jlg-return{padding:0 8px;font-size:9px}.masthead .wordmark{gap:7px}}
