.park{height:620px;position:relative;background:#cfe6bb;overflow:hidden}#parkViewport{position:absolute;inset:0}#parkViewport canvas{display:block;width:100%;height:100%;touch-action:none}.park-title{position:absolute;left:4%;top:30px;pointer-events:none}.park-title p{font-size:12px;max-width:260px}.park-camera{position:absolute;right:3%;top:30px;display:flex;gap:6px}.park-camera button{background:#f9ffefdd;border-radius:12px;min-width:44px;height:44px;padding:10px}.park-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:#f9fff0ed;border-radius:16px;padding:12px 20px;max-width:90%;text-align:center;font-size:13px;pointer-events:none}.park-tools{padding:24px 4%;background:#f7faef}.park-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.park-heading>div{flex:1}.park-heading h2{font:600 26px Outfit;margin:6px 0 15px}.park-tools button,.park-tools select{padding:13px 16px;background:#e1edcf;border-radius:12px;font:600 13px 'DM Sans',sans-serif;min-height:46px;border:1px solid #c9d9bb}.park-tools .primary{background:#124d3b;color:#effbcf}.tool-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.tool-row label{font-size:13px}.tool-row select{max-width:230px}.park-note,#routeEditor p{font-size:13px;line-height:1.6;color:#50705a}#routeEditor{background:#eaf2dc;border-radius:16px;padding:12px 18px;margin-top:16px}#routeFeedback{font-weight:bold}#routeMarkers{position:absolute;inset:0;pointer-events:none}#routeMarkers button{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:2px solid #fff;border-radius:50%;background:#1c6651;color:white;font-weight:800}#routeMarkers button.selected{background:#d5a934;color:#143c2c;outline:3px solid white}#routeMarkers button.drain{background:#f1d880;color:#234c35}.park-tools button:disabled{opacity:.45}#parkViewport:focus-visible{outline:4px solid #daa832;outline-offset:-5px}@media(max-width:600px){.park{height:540px}.park-title{left:16px;top:20px}.park-title h1{font-size:27px}.park-camera{right:12px;top:150px;flex-direction:column}.park-tools{padding:20px 14px}.park-heading h2{font-size:23px}.park-heading>div{flex-basis:100%}.park-title p{max-width:210px}.park-hint{font-size:11px;min-width:85%;padding:10px}.tool-row button{flex:1 1 130px}.tool-row label{flex-basis:100%}.tool-row select{max-width:100%}}

.placement-options{padding:12px 0;font-size:13px}.placement-options summary{cursor:pointer;padding:10px 0}.placement-options input{max-width:150px;padding:10px;border-radius:8px;border:1px solid #a6be95;background:white;color:#123f35}

[aria-label="Construction tools"]{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.park-tools .preview-card,.park-tools .river-card{display:flex;flex-direction:column;align-items:center;background:#fffef7;border:1px solid #d0ddc1;padding:10px 12px 16px;text-align:center;border-radius:18px;overflow:hidden}.preview-card canvas{width:100%;height:135px;object-fit:contain;background:radial-gradient(ellipse,#e5efda,transparent 70%)}.preview-card strong,.river-card strong{font:600 17px Outfit}.preview-card small,.river-card small{font-size:10px;margin-top:6px;color:#63805c}.preview-card.chosen{outline:3px solid #508866;background:#edf6d9}.river-card>span{font-size:95px;height:135px;color:#54b9a5;line-height:1.2}.river-card>span{animation:river-sway 3s ease-in-out infinite alternate}@keyframes river-sway{to{transform:translateX(12px) scaleX(1.1)}}#placementPreview{position:absolute;left:50%;bottom:74px;transform:translateX(-50%);background:#fffef4f5;border:2px solid #699a67;padding:12px 18px;border-radius:16px;max-width:94%;text-align:center;box-shadow:0 6px 25px #163c3422}#placementPreview strong{display:block;margin-bottom:9px}#placementPreview button{background:#17533d;color:white;border-radius:10px;min-height:44px;padding:10px 15px;margin:0 4px}#placementPreview button:last-child{background:#e3edda;color:#17402e}@media(max-width:600px){[aria-label="Construction tools"]{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-card canvas{height:120px}.river-card>span{height:120px;font-size:85px}#placementPreview{min-width:85%;bottom:78px}.preview-card strong,.river-card strong{font-size:15px}}@media(prefers-reduced-motion:reduce){.river-card>span{animation:none}}

.park-tools .work-cue{background:#8cf238;color:#143b20;border:2px solid #397e20;font-weight:800;box-shadow:0 4px 0 #397e20}

.park{height:700px;background:#a9cfd8}.park-title{color:#173f38;text-shadow:0 1px 10px #f3f5e4}.park-title h1{font-size:36px;max-width:340px}.park-camera{max-width:40%;flex-wrap:wrap;justify-content:flex-end}#walkPad{position:absolute;bottom:95px;right:3%;text-align:center;touch-action:none}#walkPad button{width:48px;height:48px;border-radius:12px;background:#f4f8e7dd;margin:3px;font-size:21px}.customer-order{font-size:55px;text-align:center;padding:20px;background:#e4efdb;border-radius:20px}.food-choices{display:flex;gap:12px;margin:18px 0}.food-choices button{flex:1;font-size:48px;background:#eef4e4;border-radius:15px;padding:15px}#parkDay{font-size:12px;color:#52735a;margin:0 0 14px}@media(max-width:600px){.park{height:590px}.park-title h1{font-size:26px;max-width:270px}.park-camera{max-width:120px}.park-camera button{font-size:12px}#walkPad{bottom:100px;right:10px}}

.park-camera #guestView,#buildPark,#placementPreview #confirmPlacement{background:linear-gradient(#b8ff65,#72ed27);color:#143c20;border:3px solid #388219;box-shadow:0 5px 0 #2e6b17,0 7px 18px #27542230;font-size:18px;font-weight:900;min-height:62px;border-radius:18px;padding:12px 20px;height:auto}.park-camera #guestView{min-width:190px}.park-camera #guestView:focus-visible,#buildPark:focus-visible,#placementPreview #confirmPlacement:focus-visible{outline:5px solid #fff;outline-offset:4px}#buildPark{position:absolute;bottom:90px;left:4%;z-index:2}#placementPreview{z-index:5;min-width:340px;border:3px solid #58ac32;padding:16px;bottom:78px}#placementPreview #confirmPlacement{display:block;width:100%;margin:10px 0 14px;font-size:23px;min-height:66px}#placementPreview #cancelPlacement{background:transparent;box-shadow:none;color:#4d6957;min-height:44px}.preview-card{position:relative}.preview-card .add-badge{position:absolute;right:9px;top:9px;width:42px;height:42px;border-radius:50%;background:#8df33d;border:2px solid #398020;display:grid;place-items:center;color:#164422;font-size:32px;font-weight:900;box-shadow:0 3px 0 #397421}.park-tools .preview-card{border:2px solid #afc69a}.preview-card.chosen{outline:4px solid #66c934}.park-camera #guestView:hover,#buildPark:hover,#placementPreview #confirmPlacement:hover{filter:brightness(1.05);transform:translateY(-1px)}[aria-label="Construction tools"]{scroll-margin-top:16px}@media(max-width:600px){.park-camera{top:130px;max-width:170px}.park-camera #guestView{min-width:160px;font-size:16px;min-height:58px}.park-camera button:not(#guestView){align-self:flex-end;min-width:44px}.park-camera{gap:5px}#buildPark{left:12px;bottom:82px;font-size:15px;padding:10px 12px;min-height:56px}#placementPreview{min-width:0;width:calc(100% - 24px);bottom:64px}#placementPreview #confirmPlacement{font-size:21px}.park:has(#placementPreview:not([hidden])) #buildPark{display:none}}
.park:has(#placementPreview:not([hidden])) #buildPark{display:none}
.park-tools #ride,.park-tools #interact{background:linear-gradient(#b7ff67,#7af02b);color:#173f23;border:2px solid #3c8420;box-shadow:0 4px 0 #36701e;font-size:16px;min-height:54px;font-weight:800}

#quickRide{position:absolute;bottom:90px;right:4%;z-index:2;background:#f8dd84;color:#244522;border:3px solid #a17d33;box-shadow:0 5px 0 #a17d33;font-size:18px;font-weight:900;min-height:62px;border-radius:18px;padding:12px 20px}.park:has(#placementPreview:not([hidden])) #quickRide,.park:has(#walkPad:not([hidden])) #quickRide{display:none}#quickRide:focus-visible{outline:4px solid white;outline-offset:3px}@media(max-width:600px){#quickRide{right:12px;bottom:82px;font-size:15px;padding:10px 12px;min-height:56px}}

@media(max-width:600px){.park-camera{left:12px;right:12px;top:170px;max-width:none;display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:6px}.park-camera #guestView{grid-column:1/-1;min-width:0;min-height:48px;padding:8px;font-size:16px}.park-camera button:not(#guestView){width:100%;padding:8px;min-height:44px}.park-title h1{font-size:24px;line-height:1.1;max-width:290px}.park-title p{max-width:100%;font-size:11px}#walkPad{left:12px;right:auto;bottom:155px}}
