:root{
  --ocean:#087f9d;--deep:#07566e;--water:#36d5e5;--foam:#eaffff;
  --sun:#ffd23f;--coral:#ff645a;--leaf:#36ad6a;--ink:#17384a;
  --sand:#f7e5b4;--paper:#fffdf0;--line:#17384a24;--shadow:#08455b2e;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;color:var(--ink)
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;overflow-x:hidden;background:linear-gradient(#9ce9ef 0,#d6f5ed 48%,#83d6b0 48%,#5fbd8f 100%);font-weight:600}
button,input{font:inherit}button{color:inherit}.sun{position:fixed;width:110px;height:110px;border-radius:50%;right:6vw;top:55px;background:var(--sun);box-shadow:0 0 0 15px #ffd23f2c,0 0 55px #ffd23f88}.cloud{position:fixed;width:120px;height:34px;border-radius:50px;background:#fff9;filter:blur(.2px)}.cloud::before,.cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud::before{width:50px;height:50px;left:20px;bottom:0}.cloud::after{width:65px;height:65px;right:15px;bottom:0}.cloud-one{top:95px;left:4vw}.cloud-two{top:170px;right:18vw;transform:scale(.7)}
.game-shell{position:relative;z-index:1;min-height:100vh;padding:14px}
.topbar{min-height:76px;display:flex;align-items:center;gap:24px;padding:8px 18px;border:3px solid var(--ink);border-radius:15px 15px 7px 7px;background:var(--paper);box-shadow:0 8px 0 var(--ink),0 17px 34px #07566e38}
.brand{display:flex;align-items:center;gap:3px;min-width:190px;transform:rotate(-2deg)}.brand-splash{width:52px;height:52px;display:grid;place-items:center;border-radius:48% 52% 44% 56%;background:var(--water);border:3px solid var(--ink);color:white;font:900 50px/1 Arial;transform:rotate(-14deg);text-shadow:2px 2px 0 var(--deep)}.brand div{display:flex;flex-direction:column;line-height:.82}.brand strong:first-child{font-size:21px;letter-spacing:.08em;color:var(--ocean)}.brand strong:last-child{font:900 25px/1 "Arial Black",sans-serif;color:var(--coral);text-shadow:1px 1px 0 var(--ink)}
.park-name-wrap{display:flex;flex-direction:column;min-width:165px}.park-name-wrap label,.utility-label{font:900 9px/1.4 "Courier New",monospace;letter-spacing:.13em;color:var(--ocean)}.park-name-wrap input{width:100%;padding:4px 0;border:0;border-bottom:2px dashed #17384a55;background:transparent;font-weight:900;color:var(--ink);outline:0}.park-name-wrap input:focus{border-color:var(--coral)}
.stats{display:flex;justify-content:flex-end;gap:10px;margin-left:auto}.stat{min-width:105px;display:flex;align-items:center;gap:8px;padding:7px 10px;border:2px solid var(--ink);border-radius:10px;background:#fff;box-shadow:3px 3px 0 var(--ink)}.stat>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--water);font-size:19px}.coin-stat>span{background:var(--sun);color:#d68c00}.stat small{display:block;font:900 7px "Courier New",monospace;letter-spacing:.08em}.stat strong{display:block;font:900 18px/1 Arial,sans-serif}.sound-button{flex:0 0 42px;height:42px;border:2px solid var(--ink);border-radius:50%;background:var(--sun);box-shadow:3px 3px 0 var(--ink);font-size:21px;cursor:pointer}.sound-button.muted{background:#d9e4e5;color:#71848b}
.workspace{display:grid;grid-template-columns:250px minmax(520px,1fr) 245px;gap:12px;margin-top:17px;min-height:calc(100vh - 125px)}.panel{border:3px solid var(--ink);background:var(--paper);box-shadow:6px 7px 0 var(--ink)}.catalog{border-radius:9px 5px 5px 12px;padding:17px 14px}.panel-title h1{margin:4px 0 5px;font:900 24px/1 "Arial Black",sans-serif}.panel-title p{margin:0 0 14px;font-size:11px;line-height:1.35;color:#52717d}
.catalog-list{display:grid;gap:8px}.catalog-card{position:relative;display:grid;grid-template-columns:54px 1fr auto;gap:8px;align-items:center;width:100%;min-height:66px;padding:6px 7px;border:2px solid #17384a33;border-radius:10px;background:white;text-align:left;cursor:pointer;transition:.15s transform,.15s box-shadow,.15s border}.catalog-card:hover,.catalog-card:focus-visible{transform:translateX(3px);border-color:var(--ocean);outline:none}.catalog-card.selected{border-color:var(--ink);background:#e4fbf7;box-shadow:4px 4px 0 var(--ink)}.catalog-copy strong{display:block;font-size:12px}.catalog-copy small{display:block;margin-top:3px;font-size:9px;line-height:1.2;color:#63808a}.price{align-self:start;padding:4px 5px;border-radius:10px;background:var(--sun);font:900 9px Arial}.price::before{content:"● ";color:#d48a00}
.miniature{position:relative;width:52px;height:48px;display:block;border-radius:50%;background:#91e9e4;overflow:hidden}.miniature i,.miniature::before,.miniature::after{content:"";position:absolute;display:block}.mini-pool{border:4px solid #fff;background:repeating-radial-gradient(ellipse at center,#1cbfd4 0 4px,#78edf0 5px 8px)}.mini-pool i{width:25px;height:8px;left:12px;top:19px;border:3px solid var(--sun);border-radius:50%}.mini-slide{background:#bceace}.mini-slide::before{width:33px;height:32px;left:7px;top:5px;border:8px solid var(--coral);border-left-color:transparent;border-radius:50%;transform:rotate(30deg)}.mini-slide::after{width:19px;height:7px;bottom:4px;right:2px;border-radius:50%;background:var(--water)}.mini-spray{background:#a6e6f4}.mini-spray::before{width:7px;height:32px;bottom:2px;left:22px;background:#80562f;border-radius:7px}.mini-spray::after{width:32px;height:18px;top:3px;left:10px;background:var(--leaf);clip-path:polygon(50% 50%,0 0,40% 25%,50% 0,60% 25%,100% 0)}.mini-river{background:#b7e8b9}.mini-river::before{inset:3px;border:9px solid var(--water);border-radius:50%}.mini-river::after{width:10px;height:10px;border-radius:50%;background:var(--sun);left:7px;top:18px}.mini-snack{background:#ffe2b0}.mini-snack::before{width:34px;height:27px;left:9px;bottom:3px;background:var(--coral);border:3px solid var(--ink);border-radius:3px}.mini-snack::after{width:38px;height:9px;left:7px;top:8px;background:repeating-linear-gradient(90deg,#fff 0 7px,var(--coral) 7px 14px);border:2px solid var(--ink)}
.tool-card{width:100%;display:flex;align-items:center;gap:10px;margin-top:13px;padding:9px;border:2px dashed #17384a66;border-radius:9px;background:#fff8dc;text-align:left;cursor:pointer}.tool-card>span{font-size:25px}.tool-card strong,.tool-card small{display:block}.tool-card strong{font-size:10px}.tool-card small{font-size:8px;color:#64808a}.tool-card.active{background:#ffd8d4;border:2px solid var(--coral);box-shadow:3px 3px 0 var(--ink)}.reset-button{width:100%;margin-top:11px;border:0;background:transparent;color:#8c5c5a;font:900 8px "Courier New",monospace;letter-spacing:.08em;text-decoration:underline;cursor:pointer}
.park-stage{min-width:0;display:flex;flex-direction:column;gap:8px}.stage-banner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:7px 13px;border:2px solid var(--ink);border-radius:8px;background:var(--paper);font-size:10px}.stage-banner>div{display:flex;align-items:center;gap:7px}.stage-banner>span{color:#577682;text-align:right}.live-dot{width:10px;height:10px;border-radius:50%;background:var(--leaf);box-shadow:0 0 0 4px #36ad6a25}.stage-banner.open .live-dot{background:var(--coral);animation:blink 1s steps(2,end) infinite}
.park-frame{position:relative;flex:1;min-height:520px;overflow:hidden;border:3px solid var(--ink);border-radius:12px;background:linear-gradient(#8edbe7 0 31%,#c4eab5 31% 100%);box-shadow:6px 7px 0 var(--ink)}.mountains{position:absolute;inset:8% 0 auto;height:27%;opacity:.7}.mountains i{position:absolute;bottom:0;width:250px;height:120px;background:#69b791;clip-path:polygon(50% 0,100% 100%,0 100%)}.mountains i:nth-child(1){left:-60px}.mountains i:nth-child(2){left:30%;transform:scale(.8)}.mountains i:nth-child(3){right:-40px;transform:scale(1.15)}.sea{position:absolute;inset:28% 0 0;background:repeating-linear-gradient(0deg,transparent 0 19px,#fff2 20px 21px),#7dccaa}.sea::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff2,transparent 40%)}
.park-grid{position:absolute;z-index:2;left:7%;right:7%;top:32%;bottom:7%;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(6,1fr);gap:3px;padding:8px;border:4px solid #bf9a62;border-radius:16px;background:#eed39e;box-shadow:0 15px 0 #9b7548,0 19px 30px #0d5d6455;transform:perspective(900px) rotateX(6deg)}.tile{position:relative;min-width:0;border:1px dashed #9fc58d;border-radius:6px;background:#d8edb6;cursor:pointer;overflow:visible;transition:.14s}.tile:nth-child(10n+1),.tile:nth-child(10n+2),.tile:nth-child(10n+3){background:#cce9af}.tile:hover,.tile:focus-visible{z-index:3;transform:translateY(-3px);background:#edfacf;outline:3px solid #fff}.tile.path{background:repeating-linear-gradient(135deg,#f3d69d 0 7px,#e7c586 7px 14px);cursor:default}.tile.path:hover{transform:none;outline:none}.tile.occupied{background:#c4e6b1}.tile.erase-target:hover{outline-color:var(--coral);filter:saturate(.6)}
.attraction{position:absolute;z-index:2;inset:3%;pointer-events:none;filter:drop-shadow(0 5px 2px #174c5850);animation:placePop .32s cubic-bezier(.2,1.6,.5,1)}.attraction::before,.attraction::after,.attraction i{content:"";position:absolute;display:block}.attraction.pool{inset:17% 4%;border:4px solid #fff;border-radius:45%;background:repeating-radial-gradient(ellipse,#1cbfd4 0 5px,#75e7ef 6px 11px);box-shadow:0 0 0 2px #2797a7}.attraction.pool::after{width:25%;height:28%;left:35%;top:32%;border:4px solid var(--sun);border-radius:50%}.attraction.slide::before{width:58%;height:65%;left:11%;top:1%;border:10px solid var(--coral);border-left-color:transparent;border-bottom-color:#ff9b43;border-radius:50%;transform:rotate(28deg)}.attraction.slide::after{width:48%;height:25%;right:0;bottom:3%;border-radius:50%;background:var(--water);border:3px solid white}.attraction.slide i{width:8%;height:70%;left:19%;top:12%;border-left:3px solid var(--ink);border-right:3px solid var(--ink)}.attraction.spray::before{width:12%;height:65%;left:44%;bottom:0;border-radius:30%;background:#8b5932}.attraction.spray::after{width:75%;height:40%;left:13%;top:0;background:var(--leaf);clip-path:polygon(50% 50%,0 0,39% 23%,50% 0,61% 23%,100% 0,72% 55%,100% 70%,58% 66%,50% 100%,42% 66%,0 70%,28% 55%)}.attraction.spray i{width:75%;height:65%;left:13%;top:15%;border:4px dotted var(--water);border-bottom:0;border-radius:50%}.attraction.river{inset:8%;border:10px solid var(--water);border-radius:48% 52% 45% 55%;background:#bdebb8;box-shadow:0 0 0 3px white}.attraction.river::after{width:20%;height:20%;left:-7%;top:38%;border-radius:50%;background:var(--sun);border:2px solid #fff}.attraction.snack::before{inset:24% 13% 3%;background:var(--coral);border:3px solid var(--ink);border-radius:3px}.attraction.snack::after{width:85%;height:25%;top:12%;left:7%;background:repeating-linear-gradient(90deg,#fff 0 8px,var(--coral) 8px 16px);border:3px solid var(--ink)}.attraction.snack i{z-index:2;width:14%;height:20%;left:43%;bottom:8%;background:#ffefc6}
.attraction.running.pool{animation:waterPulse 1s ease-in-out infinite}.attraction.running.slide::before{animation:slideWiggle .7s ease-in-out infinite}.attraction.running.spray i{animation:sprayDance .8s ease-in-out infinite}.attraction.running.river::after{animation:floatRound 2.2s linear infinite}
.gate{position:absolute;z-index:4;left:4%;bottom:5%;display:flex;flex-direction:column;align-items:center;padding:5px 15px;border:3px solid var(--ink);border-radius:6px;background:var(--coral);box-shadow:4px 5px 0 var(--ink);transform:rotate(-4deg)}.gate span{font:900 13px "Arial Black";color:white;text-shadow:1px 1px var(--ink)}.gate b{font:900 7px "Courier New";letter-spacing:.12em}.guest-layer{position:absolute;z-index:5;inset:0;pointer-events:none}.guest{position:absolute;left:7%;bottom:8%;width:15px;height:15px;border:2px solid var(--ink);border-radius:50% 50% 45% 45%;background:var(--sun);box-shadow:0 8px 0 -3px var(--coral);transition:left 1.4s linear,bottom 1.4s linear;animation:guestBob .45s ease-in-out infinite alternate}.guest.alt{background:#ff9cce}.guest.blue{background:#74ddff}.guest::before{content:"••";position:absolute;inset:-2px 0 0;font:900 6px/13px Arial;text-align:center}.park-message{position:absolute;z-index:9;left:50%;top:12%;max-width:75%;padding:9px 15px;border:2px solid var(--ink);border-radius:20px;background:var(--paper);box-shadow:4px 4px 0 var(--ink);font-size:11px;opacity:0;transform:translate(-50%,-12px);pointer-events:none;transition:.2s}.park-message.show{opacity:1;transform:translate(-50%,0)}
.stage-controls{display:flex;gap:8px}.open-button{flex:1;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;column-gap:11px;padding:9px 17px;border:3px solid var(--ink);border-radius:9px;background:var(--sun);box-shadow:5px 5px 0 var(--ink);text-align:left;cursor:pointer;transition:.15s}.open-button:hover{transform:translateY(-2px);box-shadow:5px 7px 0 var(--ink)}.open-button>span{grid-row:1/3;align-self:center;font-size:25px}.open-button strong{font:900 13px "Arial Black"}.open-button small{font-size:9px}.open-button.open{background:var(--coral);color:white}.speed-control{display:flex;align-items:center;gap:5px;padding:7px 9px;border:3px solid var(--ink);border-radius:9px;background:var(--paper);box-shadow:4px 5px 0 var(--ink)}.speed-control>span{font:900 7px "Courier New"}.speed-control button{height:28px;border:1px solid var(--ink);border-radius:5px;background:#fff;cursor:pointer;font-size:8px}.speed-control button.active{background:var(--water)}
.missions{border-radius:5px 9px 12px 5px;padding:14px}.weather-card{display:grid;grid-template-columns:45px 1fr 34px;gap:11px;align-items:center;padding:10px;border:2px solid var(--ink);border-radius:10px;background:#dff8f2;box-shadow:3px 3px 0 var(--ink)}.weather-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:var(--sun);font-size:30px}.weather-card small,.weather-card strong,.weather-card span{display:block}.weather-card small{font:900 7px "Courier New"}.weather-card strong{font-size:13px}.weather-card span{font-size:9px;color:#57747e}.night-toggle{width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;background:#17384a;color:#fff7c8;box-shadow:2px 3px 0 var(--ink);cursor:pointer;font-size:18px}.night-toggle:hover,.night-toggle:focus-visible{transform:translateY(-2px);outline:2px solid #fff}.night-toggle[aria-pressed="true"]{background:#ffd23f;color:#17384a}.mission-head{margin:20px 0 10px}.mission-head h2{margin:4px 0;font:900 20px "Arial Black"}.mission-list{display:grid;gap:8px}.mission{display:grid;grid-template-columns:24px 1fr auto;gap:7px;align-items:center;padding:10px 7px;border-bottom:2px dashed #17384a24}.mission .check{width:22px;height:22px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:#fff}.mission strong,.mission small{display:block}.mission strong{font-size:11px}.mission small{margin:2px 0 5px;font-size:8px;color:#69818b}.mission b{align-self:start;padding:3px;border-radius:8px;background:var(--sun);font-size:8px}.mission.done{opacity:.65}.mission.done .check{background:var(--leaf);color:white}.mission progress{display:block;width:100%;height:6px;accent-color:var(--ocean)}
.inspector{position:relative;display:flex;gap:10px;align-items:flex-start;margin-top:19px;padding:12px 9px 10px;border:2px solid var(--ink);border-radius:6px;background:#fff0d0;box-shadow:3px 3px 0 var(--ink);transform:rotate(1deg)}.inspector::before{content:"";position:absolute;width:28px;height:8px;left:44%;top:-7px;background:#ffd23fa8;transform:rotate(-4deg)}.inspector-face{font-size:29px}.inspector small{font:900 7px "Courier New";color:var(--coral)}.inspector p{margin:4px 0 0;font-size:10px;line-height:1.35}.legend-card{margin-top:15px;padding-top:12px;border-top:2px dashed #17384a33}.legend-card strong{font-size:10px}.legend-card p{display:inline-flex;align-items:center;gap:5px;margin:7px 8px 0 0;font-size:8px}.legend-card i{width:13px;height:13px;border:1px solid var(--ink);border-radius:3px}.legend-place{background:#d8edb6}.legend-path{background:#e7c586}
dialog{border:3px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:9px 10px 0 var(--ink);text-align:center}dialog::backdrop{background:#07566ecc;backdrop-filter:blur(4px)}.welcome-dialog{width:min(510px,90vw);padding:34px}.dialog-wave{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 15px;border:3px solid var(--ink);border-radius:50%;background:var(--water);color:white;font:900 70px/1 Arial;text-shadow:3px 3px var(--deep);transform:rotate(-8deg)}.welcome-dialog h2{margin:8px 0;font:900 28px/1.08 "Arial Black"}.welcome-dialog p{color:#5d7680;line-height:1.5}.dialog-steps{display:flex;justify-content:center;gap:20px;margin:22px 0}.dialog-steps span{display:flex;align-items:center;gap:5px;font-size:11px}.dialog-steps b{width:25px;height:25px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--sun)}.welcome-dialog button,.confirm-dialog button{padding:12px 19px;border:2px solid var(--ink);border-radius:7px;background:var(--coral);color:white;box-shadow:4px 4px 0 var(--ink);font:900 11px "Arial Black";cursor:pointer}.confirm-dialog{width:min(420px,88vw);padding:25px}.confirm-dialog h2{font-family:"Arial Black"}.confirm-dialog>div{display:flex;justify-content:center;gap:10px;margin-top:20px}.confirm-dialog #cancelReset{background:white;color:var(--ink)}
@keyframes placePop{from{transform:scale(.2) rotate(-12deg)}to{transform:scale(1)}}@keyframes blink{50%{opacity:.25}}@keyframes waterPulse{50%{filter:brightness(1.2);transform:scale(1.04)}}@keyframes slideWiggle{50%{transform:rotate(34deg)}}@keyframes sprayDance{50%{transform:scaleX(1.22) translateY(-4px)}}@keyframes floatRound{to{left:86%;transform:rotate(360deg)}}@keyframes guestBob{to{transform:translateY(-3px)}}
@media(max-width:1100px){.workspace{grid-template-columns:230px 1fr}.missions{grid-column:1/-1;display:grid;grid-template-columns:210px 1fr 260px;gap:16px;align-items:start}.mission-head{display:none}.mission-list{grid-template-columns:repeat(3,1fr)}.inspector{margin-top:0}.legend-card{display:none}.stats .stat{min-width:90px}.stat:nth-child(2){display:none}}
@media(max-width:790px){.game-shell{padding:8px}.topbar{gap:10px;flex-wrap:wrap}.brand{min-width:155px}.brand strong:last-child{font-size:20px}.park-name-wrap{order:3;width:100%}.stats{margin-left:auto}.stat{min-width:78px}.stat:nth-child(3){display:none}.workspace{display:flex;flex-direction:column}.catalog{order:2}.park-stage{order:1}.missions{order:3;display:block}.catalog-list{grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto;padding:3px 3px 9px}.catalog-card{grid-template-columns:43px 1fr;min-height:58px}.miniature{width:42px;height:42px}.catalog-card .price{position:absolute;right:4px;top:4px}.catalog-copy small{display:none}.tool-card{max-width:240px}.park-frame{min-height:510px}.missions .weather-card{display:none}.mission-list{grid-template-columns:1fr}.inspector{margin-top:15px}.panel-title p{margin-bottom:8px}}
@media(max-width:520px){.topbar{padding:8px}.brand{min-width:0}.brand-splash{width:42px;height:42px;font-size:40px}.brand strong:first-child{font-size:16px}.brand strong:last-child{font-size:17px}.stats{gap:5px}.stat{min-width:70px;padding:5px}.stat>span{display:none}.sound-button{width:36px;height:36px;flex-basis:36px}.park-frame{min-height:440px}.park-grid{left:2%;right:2%;top:30%;bottom:9%;gap:2px;padding:5px}.tile{border-radius:3px}.gate{left:1%;bottom:2%;transform:scale(.75) rotate(-4deg);transform-origin:left bottom}.stage-banner>span{display:none}.stage-controls{align-items:stretch}.speed-control{flex-direction:column}.speed-control>span{display:none}.open-button{padding:8px}.open-button small{display:none}.open-button strong{align-self:center}.missions{padding:12px}.welcome-dialog{padding:25px 18px}.welcome-dialog h2{font-size:23px}.dialog-steps{gap:7px}.dialog-steps span{font-size:9px}.guest{width:12px;height:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ——— AQUA 2.5D: tropical diorama upgrade ——— */
:root{
  --lagoon:#18c9d4;--lagoon-deep:#057a9a;--lagoon-light:#a7fbef;
  --grass:#78c96b;--grass-dark:#3d9556;--sand-deep:#c7995d;
  --violet:#6758e8;--magenta:#e84c97;--orange:#ff8a34;
}
body{
  background:
    radial-gradient(circle at 76% 11%,#fff8b8 0 2%,transparent 13%),
    linear-gradient(180deg,#62c9e7 0,#c9f4ed 44%,#72c78c 44%,#459c69 100%);
  background-attachment:fixed;
}
.sun{width:132px;height:132px;background:radial-gradient(circle at 38% 35%,#fffbd0 0 7%,#ffe167 25%,#ffc42c 72%);border:1px solid #fff7;box-shadow:0 0 45px 18px #ffe99588,0 0 120px 50px #fff07a33}
.cloud{filter:drop-shadow(0 10px 12px #257f9f20);animation:cloudDrift 16s ease-in-out infinite alternate}.cloud-two{animation-duration:22s}
.topbar,.panel,.stage-banner{backdrop-filter:blur(13px);background:linear-gradient(145deg,#fffffff5,#eefdf4ed)}
.topbar{border-color:#0b4057;box-shadow:0 7px 0 #0b4057,0 18px 40px #064c6842}
.panel{border-color:#0b4057;box-shadow:6px 7px 0 #0b4057,0 20px 35px #07566e24}
.brand-splash{background:radial-gradient(circle at 35% 25%,#baffff 0 7%,#28d7e5 30%,#0789ad 100%);box-shadow:inset -7px -8px 15px #075d7a66,inset 5px 5px 10px #fff9}
.catalog-card{background:linear-gradient(145deg,#fff,#f5fffaf0);box-shadow:inset 0 1px 0 #fff;overflow:hidden}
.catalog-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 46%,#fff7 50%,transparent 54%);transform:translateX(-120%);transition:transform .55s}
.catalog-card:hover::after{transform:translateX(120%)}
.catalog-card.selected{background:linear-gradient(135deg,#eafff4,#c9f7ed);box-shadow:4px 4px 0 #0b4057,0 8px 18px #087f9d22}
.miniature{box-shadow:inset 0 -7px 13px #076a7950,inset 0 3px 5px #fff8,0 2px 0 #fff;border:1px solid #0b526a35}
.mini-slide::before{border-color:#ff775e;border-left-color:transparent;box-shadow:3px 3px 0 #c84153}.mini-slide::after{background:radial-gradient(ellipse,#d8ffff 0 15%,#26d2df 20% 68%,#0787a2 72%)}
.mini-racer{background:linear-gradient(#bdeff0 0 38%,#81c96f 39%)}
.mini-racer::before{width:30px;height:34px;left:11px;top:4px;background:repeating-linear-gradient(90deg,#ffbd32 0 5px,#fff3a6 5px 8px,#e84c97 8px 13px,#ffd8ed 13px 16px);clip-path:polygon(17% 0,83% 0,100% 100%,0 100%);transform:skewX(-10deg);filter:drop-shadow(3px 3px 0 #6d5365)}
.mini-racer::after{width:36px;height:9px;left:8px;bottom:3px;border-radius:50%;background:#1bc7d6;border:2px solid #eaffff}
.mini-rocket{background:radial-gradient(circle at 55% 38%,#b9f9f5 0 12%,#7ed6c5 50%,#479879 100%)}
.mini-rocket::before{width:29px;height:29px;left:10px;top:4px;border:7px solid var(--violet);border-right-color:#f459a6;border-radius:50%;transform:rotate(-25deg);filter:drop-shadow(3px 3px 0 #394884)}
.mini-rocket::after{width:29px;height:9px;right:1px;bottom:3px;border-radius:50%;background:#20ccdb;border:2px solid #fff}
.mini-rocket i{width:5px;height:35px;left:12px;bottom:1px;background:linear-gradient(90deg,#344958,#bfd3d5,#344958);transform:skewX(-6deg)}

.park-frame{
  min-height:540px;
  border-color:#093f55;
  background:linear-gradient(#5bc9e5 0 24%,#bcebd9 24% 32%,#7bc76d 32% 100%);
  box-shadow:7px 9px 0 #093f55,0 24px 55px #064f6860;
  isolation:isolate;
}
.park-frame::before{content:"";position:absolute;z-index:1;left:-15%;right:-15%;top:26%;height:15%;background:linear-gradient(180deg,#fff8,#d5f9ed00),repeating-radial-gradient(ellipse at 20% 100%,transparent 0 8px,#fff7 9px 10px,transparent 11px 22px);opacity:.8}
.atmosphere{position:absolute;z-index:2;inset:0;pointer-events:none}.bird{position:absolute;color:#245d6f;font:900 18px/1 Arial;opacity:.55;animation:birdFloat 5s ease-in-out infinite alternate}.bird-one{left:17%;top:12%}.bird-two{right:25%;top:18%;animation-delay:-2s;transform:scale(.7)}
.sparkle{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 9px 3px #fff;animation:sparkle 2.2s ease-in-out infinite}.sparkle-one{left:20%;top:30%}.sparkle-two{left:62%;top:28%;animation-delay:-.8s}.sparkle-three{right:12%;top:33%;animation-delay:-1.4s}
.mountains{top:9%;height:25%;filter:drop-shadow(0 -8px 18px #fff5)}.mountains i{background:linear-gradient(135deg,#bdebd8 0 21%,#78bd98 22% 57%,#4b9b79 58%);opacity:.88}.mountains i::after{content:"";position:absolute;left:50%;top:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:33px solid #eafff6aa;transform:translateX(-50%)}
.sea{top:25%;background:linear-gradient(180deg,#62e6e0 0,#1ebbc3 48%,#1090ad 100%);box-shadow:inset 0 12px 22px #fff7}
.sea::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(170deg,transparent 0 18px,#d9ffff55 20px 22px,transparent 24px 40px);background-size:150% 100%;animation:waterFlow 8s linear infinite}
.sea::after{background:linear-gradient(105deg,#fff6 0 6%,transparent 12% 37%,#fff2 43%,transparent 50%)}
.shore{position:absolute;z-index:1;left:0;right:0;top:37%;height:8%;background:linear-gradient(#f8dda0,#d9ad6d);box-shadow:inset 0 5px 0 #fff6;clip-path:polygon(0 20%,8% 4%,17% 27%,28% 8%,38% 22%,51% 0,65% 26%,79% 6%,90% 20%,100% 3%,100% 100%,0 100%)}
.park-grid{
  top:34%;bottom:6%;left:6%;right:6%;gap:4px;padding:10px;
  border:6px solid #d4a469;border-radius:20px;
  background:linear-gradient(135deg,#efd39a,#c58d53);
  box-shadow:0 8px 0 #a16b3e,0 20px 0 #805230,0 33px 45px #064f6870,inset 0 3px 0 #fff7;
  transform:perspective(850px) rotateX(10deg);
}
.tile,.tile:nth-child(10n+1),.tile:nth-child(10n+2),.tile:nth-child(10n+3){border:0;border-radius:7px;background:linear-gradient(145deg,#b6e587,#75bd67);box-shadow:inset 0 2px 1px #e6ffc6,inset -2px -3px 3px #3d95564d,0 1px 0 #527d43}
.tile::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 22% 25%,#ddffbc 0 1px,transparent 2px),radial-gradient(circle at 73% 65%,#519d4d 0 1px,transparent 2px);background-size:17px 15px,19px 18px;opacity:.55}
.tile.path{background:linear-gradient(145deg,#f4dda8,#d8ad71);box-shadow:inset 0 2px 0 #fff8,inset -2px -3px 4px #9d74494f}
.tile.path::after{background:repeating-linear-gradient(120deg,transparent 0 12px,#a77d5030 13px 14px);opacity:1}
.tile.occupied{background:linear-gradient(145deg,#aade82,#66b660)}
.tile:hover,.tile:focus-visible{background:linear-gradient(145deg,#e4ffb9,#91dc71);transform:translateY(-5px) scale(1.035);outline:3px solid #fff;box-shadow:0 8px 13px #245b3f55,inset 0 2px 0 #fff}

.attraction{inset:-12% -7% 0;z-index:4;filter:drop-shadow(3px 8px 3px #16474e55)}
.attraction::selection{background:transparent}
.attraction.pool{inset:18% 2% 8%;border:3px solid #eefeff;background:radial-gradient(ellipse at 30% 30%,#c4ffff 0 7%,#42e2e6 8% 36%,#0ba2be 68%,#087a9b);box-shadow:0 0 0 2px #87bcb7,0 5px 0 #447f76,inset 0 0 12px #fff9}
.attraction.pool::before{content:"";inset:7%;border-radius:50%;background:repeating-radial-gradient(ellipse,transparent 0 5px,#fff5 6px 7px,transparent 8px 12px);animation:poolRipples 2s linear infinite}
.attraction.pool::after{background:radial-gradient(circle at 38% 34%,#fff6 0 10%,#ffdd42 11% 54%,#e7951d 58%);box-shadow:0 2px 2px #07566e55}

.attraction.slide::before{width:61%;height:68%;left:9%;top:-3%;border:11px solid transparent;border-top-color:#ff765f;border-right-color:#f14e62;border-bottom-color:#ff9b43;border-radius:52% 54% 48% 52%;transform:rotate(28deg);box-shadow:inset -3px -2px 0 #a52f51,3px 3px 0 #9c3b4f;filter:drop-shadow(0 2px 0 #fff7)}
.attraction.slide::after{width:52%;height:23%;right:-2%;bottom:3%;background:radial-gradient(ellipse at 40% 30%,#d7ffff 0 8%,#29d6df 12% 55%,#078da9 90%);border:3px solid #eaffff;box-shadow:0 4px 0 #08738b}
.attraction.slide i{width:12%;height:75%;left:14%;top:8%;border:0;background:repeating-linear-gradient(0deg,#3d5260 0 3px,transparent 3px 11px),linear-gradient(90deg,#3d5260 0 22%,transparent 23% 72%,#3d5260 73%);filter:drop-shadow(2px 2px 0 #17384a55)}

.attraction.racer::before{width:63%;height:83%;left:18%;top:-9%;background:repeating-linear-gradient(90deg,#ffbd32 0 15%,#ffe78e 15% 20%,#ec4d98 20% 36%,#ffd6ec 36% 41%);clip-path:polygon(12% 0,83% 0,100% 92%,82% 100%,16% 100%,0 91%);transform:skewX(-8deg);box-shadow:6px 6px 0 #574767}
.attraction.racer::after{width:75%;height:23%;left:15%;bottom:-3%;border:3px solid #efffff;border-radius:50%;background:radial-gradient(ellipse at 40% 30%,#c9ffff,#23cbd8 55%,#087f9d);box-shadow:0 4px 0 #08758a}
.attraction.racer i{width:13%;height:79%;left:13%;top:-3%;background:repeating-linear-gradient(0deg,#344e5b 0 3px,transparent 3px 10px),linear-gradient(90deg,#344e5b 0 24%,transparent 25% 70%,#344e5b 71%);transform:skewX(-5deg)}
.attraction.rocket::before{width:64%;height:68%;left:18%;top:-10%;border:12px solid var(--violet);border-right-color:var(--magenta);border-bottom-color:#ff9a3e;border-radius:50%;transform:rotate(-23deg);box-shadow:inset 3px 2px 0 #fff6,4px 5px 0 #3d4581}
.attraction.rocket::after{width:59%;height:25%;right:-3%;bottom:0;border:3px solid white;border-radius:50%;background:radial-gradient(ellipse at 40% 30%,#d8ffff,#25d3dd 58%,#067d9e);box-shadow:0 4px 0 #075e79}
.attraction.rocket i{width:15%;height:84%;left:13%;top:-5%;background:repeating-linear-gradient(0deg,#334d5c 0 3px,transparent 3px 10px),linear-gradient(90deg,#334d5c 0 22%,transparent 23% 71%,#334d5c 72%);transform:skewX(-5deg);filter:drop-shadow(3px 2px 0 #19394755)}
.attraction.spray::before{background:linear-gradient(90deg,#684225,#a86f38 43%,#6b4327);box-shadow:2px 2px 0 #4b4433}.attraction.spray::after{filter:drop-shadow(2px 4px 1px #28653a);background:linear-gradient(135deg,#74db71,#259c5d)}.attraction.spray i{border-color:#8ef9ff;border-width:3px;filter:drop-shadow(0 0 2px #fff)}
.attraction.river{border-color:#26cdd7;background:linear-gradient(145deg,#aade82,#62b85e);box-shadow:0 0 0 3px #f5ffff,0 5px 0 #08758a,inset 0 0 9px #057e9f99}.attraction.river::before{inset:-6px;border-radius:inherit;background:repeating-radial-gradient(ellipse,transparent 0 7px,#fff6 8px 9px,transparent 10px 15px);animation:poolRipples 2.8s linear infinite}.attraction.river::after{box-shadow:inset 0 0 0 3px #fff8,0 2px 2px #07566e55}
.attraction.snack::before{background:linear-gradient(135deg,#ff775f,#df435d);box-shadow:0 5px 0 #8d3548}.attraction.snack::after{box-shadow:0 3px 0 #854052}.attraction.snack i{border-radius:2px 2px 0 0;box-shadow:0 -5px 0 #5f3746}
.attraction.running.racer::before{animation:racerRush .55s ease-in-out infinite alternate}.attraction.running.rocket::before{animation:orbitSpin 1.2s ease-in-out infinite}.attraction.running.slide::before{animation:slideWiggle .7s ease-in-out infinite}

.gate{padding:8px 18px;background:linear-gradient(145deg,#ff795e,#e74265);border-color:#143b4b;box-shadow:5px 7px 0 #143b4b,0 13px 20px #074b5c44}.gate::before,.gate::after{content:"";position:absolute;bottom:-24px;width:7px;height:27px;background:#304f5a}.gate::before{left:12px}.gate::after{right:12px}
.guest{width:16px;height:17px;border:2px solid #193e4c;background:radial-gradient(circle at 35% 25%,#fff3b1 0 9%,#ffd849 11% 58%,#e4a928);box-shadow:0 10px 0 -3px #ef5b68,0 13px 0 -5px #284b57;transition:left 1.1s cubic-bezier(.2,.7,.3,1),bottom 1.1s cubic-bezier(.2,.7,.3,1),opacity .35s}.guest::before{content:"••";color:#193e4c}.guest.splashing{animation:guestJoy .22s ease-in-out infinite alternate}.guest.leaving{opacity:.65;transform:scale(.85)}
.fx-layer{position:absolute;z-index:8;inset:0;pointer-events:none}.splash-fx{position:absolute;width:10px;height:10px;transform:translate(-50%,-50%);animation:fxFade 1s ease-out forwards}.splash-fx i{position:absolute;width:7px;height:15px;border-radius:50%;background:linear-gradient(#fff,#41e6ef);box-shadow:0 0 7px #fff}.splash-fx i:nth-child(1){transform:rotate(-45deg) translateY(-12px)}.splash-fx i:nth-child(2){transform:translateY(-20px)}.splash-fx i:nth-child(3){transform:rotate(45deg) translateY(-12px)}.splash-fx.big i{width:9px;height:21px}.splash-fx b{position:absolute;left:13px;top:-28px;padding:4px 7px;border-radius:10px;background:#ffd83f;color:#17384a;box-shadow:2px 2px 0 #17384a;font:900 9px Arial;white-space:nowrap}
.park-message{top:8%;background:linear-gradient(145deg,#fff,#eafff7);box-shadow:4px 5px 0 #143b4b,0 12px 24px #064f6845}
.park-rating{min-width:135px;display:grid;align-content:center;padding:5px 12px;border:3px solid #17384a;border-radius:9px;background:linear-gradient(145deg,#fff8d2,#ffe16a);box-shadow:4px 5px 0 #17384a}.park-rating small{font:900 7px "Courier New";letter-spacing:.08em}.park-rating strong{font:900 11px "Arial Black"}.park-rating span{color:#ef8d1f;font-size:10px;letter-spacing:1px;text-shadow:0 1px #fff}
.open-button{background:linear-gradient(145deg,#ffe873,#ffc72e);box-shadow:5px 6px 0 #17384a,0 11px 20px #07566e26}.open-button.open{background:linear-gradient(145deg,#ff775f,#dd3d68)}

@keyframes cloudDrift{to{transform:translateX(24px)}}
@keyframes birdFloat{to{transform:translate(32px,-8px)}}
@keyframes sparkle{50%{opacity:.15;transform:scale(.4)}}
@keyframes waterFlow{to{background-position:170px 0}}
@keyframes poolRipples{to{transform:rotate(7deg) scale(1.04)}}
@keyframes racerRush{to{filter:brightness(1.18);transform:skewX(-8deg) translateY(2px)}}
@keyframes orbitSpin{50%{filter:hue-rotate(25deg) brightness(1.15);transform:rotate(-18deg) scale(1.04)}}
@keyframes guestJoy{to{transform:translateY(-5px) rotate(8deg)}}
@keyframes fxFade{0%{opacity:0;transform:translate(-50%,-20%) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-110%) scale(1.25)}}

/* Noche: show de luces para la piscina de olas */
body.night{
  --ink:#d9fbff;
  background:
    radial-gradient(circle at 18% 12%,#ffffff 0 1px,transparent 2px),
    radial-gradient(circle at 42% 18%,#ffffffcc 0 1px,transparent 2px),
    radial-gradient(circle at 68% 9%,#ffffffdd 0 1px,transparent 2px),
    linear-gradient(180deg,#081737 0,#123a69 44%,#245f65 44%,#267054 100%);
  color:#0c3545;
}
body.night .sun{
  right:7vw;top:58px;width:104px;height:104px;
  background:radial-gradient(circle at 36% 34%,#fff 0 10%,#d8efff 34%,#8fb8ff 76%);
  box-shadow:0 0 35px 12px #c8e9ff80,0 0 95px 35px #689cff33;
}
body.night .sun::after{
  content:"";position:absolute;width:82%;height:82%;right:-12%;top:-6%;border-radius:50%;
  background:#081737;
}
body.night .cloud{background:#dff6ff5c}
body.night .topbar,body.night .panel,body.night .stage-banner{background:linear-gradient(145deg,#f4fffff2,#dceef5e8)}
body.night .park-frame{
  background:linear-gradient(#0e234c 0 24%,#1f5582 24% 32%,#3a8761 32% 100%);
  box-shadow:7px 9px 0 #06213a,0 0 70px #0da8ce44;
}
body.night .mountains i{background:linear-gradient(135deg,#7899b3 0 21%,#426f82 22% 57%,#234b63 58%)}
body.night .sea{background:linear-gradient(180deg,#1b92bd 0,#126f9c 48%,#0a4169 100%);box-shadow:inset 0 12px 24px #b6ffff38}
body.night .shore{background:linear-gradient(#d2ad75,#9b774e)}
body.night .park-grid{box-shadow:0 8px 0 #835638,0 20px 0 #5d3927,0 33px 45px #001d3375,inset 0 3px 0 #fff5}
body.night .tile{filter:saturate(.85) brightness(.9)}
body.night .weather-card{background:linear-gradient(135deg,#d9f9ff,#c7ddff)}
body.night .weather-icon{background:#17384a;color:#fff7c8;box-shadow:inset -8px -6px 0 #2c5c94,0 0 18px #86dfff88}
body.night .sparkle{background:#9dffff;box-shadow:0 0 13px 5px #66f5ff}
body.night .bird{color:#c7eef8}
body.night .attraction.pool{
  border-color:#eaffff;
  background:
    linear-gradient(115deg,#ff4fa3 0 11%,#ffe45b 18% 27%,#54f487 35% 43%,#4eeaff 51% 60%,#7b6cff 70% 78%,#ff4fa3 88% 100%),
    radial-gradient(ellipse at 30% 30%,#d7ffff 0 7%,#42e2e6 8% 36%,#0ba2be 68%,#075b86);
  background-size:220% 100%,100% 100%;
  background-blend-mode:screen,normal;
  box-shadow:0 0 0 2px #b7ffff,0 5px 0 #2c6d7a,inset 0 0 16px #fff,0 0 24px #36f0ff80;
  animation:waveLightSweep 3.6s linear infinite;
}
body.night .attraction.pool::before{
  opacity:.92;
  background:
    repeating-radial-gradient(ellipse,transparent 0 5px,#ffffff80 6px 7px,transparent 8px 12px),
    conic-gradient(from 90deg,#ff4fa3,#ffe45b,#54f487,#4eeaff,#7b6cff,#ff4fa3);
  mix-blend-mode:screen;
  animation:poolRipples 1.6s linear infinite,lightSpin 5s linear infinite;
}
body.night .attraction.pool i{
  left:6%;right:6%;bottom:-2%;height:12%;border-radius:999px;
  background:linear-gradient(90deg,#ff4fa3,#ffe45b,#54f487,#4eeaff,#7b6cff,#ff4fa3);
  box-shadow:0 0 11px #fff,0 0 18px #54f4ff,0 -28px 30px #ff4fa355;
  animation:poolLampGlow 1.4s ease-in-out infinite alternate;
}
body.night .attraction.running.pool{animation:waterPulse 1s ease-in-out infinite,waveLightSweep 3.6s linear infinite}
body.night .attraction.slide::before{
  border-top-color:#ff5ab1;border-right-color:#46f4ff;border-bottom-color:#ffe45b;
  box-shadow:inset 0 0 10px #fff8,0 0 12px #ff5ab1,0 0 24px #46f4ff,3px 3px 0 #3b2e6f;
  filter:drop-shadow(0 0 7px #ffeb72);
}
body.night .attraction.slide::after,
body.night .attraction.racer::after,
body.night .attraction.rocket::after{
  background:radial-gradient(ellipse at 40% 30%,#ffffff 0 8%,#79ffff 12% 52%,#1d74ff 90%);
  box-shadow:0 4px 0 #074a7a,0 0 18px #46f4ff99;
}
body.night .attraction.slide i,
body.night .attraction.racer i,
body.night .attraction.rocket i{
  background:
    radial-gradient(circle at 50% 8%,#fff 0 5%,transparent 6%),
    repeating-linear-gradient(0deg,#bffcff 0 3px,transparent 3px 10px),
    linear-gradient(90deg,#1a3553 0 24%,transparent 25% 70%,#1a3553 71%);
  filter:drop-shadow(0 0 5px #8ffcff);
}
body.night .attraction.racer::before{
  background:
    linear-gradient(90deg,#ff4fa3 0 12%,#fff 13% 15%,#ffe45b 16% 29%,#fff 30% 32%,#4eeaff 33% 46%,#fff 47% 49%,#54f487 50% 63%,#fff 64% 66%,#7b6cff 67% 80%,#fff 81% 83%,#ff4fa3 84%);
  box-shadow:0 0 14px #ff4fa3,0 0 22px #4eeaff,6px 6px 0 #2c2d69;
  animation:nightLaneGlow 1.1s ease-in-out infinite alternate;
}
body.night .attraction.rocket::before{
  border-color:#7b6cff;border-right-color:#ff4fa3;border-bottom-color:#ffe45b;
  box-shadow:inset 0 0 12px #fff8,0 0 14px #7b6cff,0 0 28px #ff4fa3,4px 5px 0 #26305f;
  animation:nightOrbitGlow 1.8s ease-in-out infinite;
}
body.night .attraction.spray::before{
  background:linear-gradient(90deg,#3b2a1e,#7fefff 45%,#3b2a1e);
  box-shadow:0 0 12px #7fefff,2px 2px 0 #193947;
}
body.night .attraction.spray::after{
  background:linear-gradient(135deg,#67ff98,#19d3ff);
  filter:drop-shadow(0 0 8px #55ffb8);
}
body.night .attraction.spray i{
  border-color:#ffffff;border-width:4px;
  box-shadow:0 -2px 14px #54f4ff,0 -15px 28px #ff4fa366;
  animation:nightSprayGlow .95s ease-in-out infinite alternate;
}
body.night .attraction.river{
  border-color:#4eeaff;
  background:linear-gradient(145deg,#427b61,#236b77);
  box-shadow:0 0 0 3px #f5ffff,0 5px 0 #07526c,inset 0 0 15px #4eeaff,0 0 22px #4eeaff88;
}
body.night .attraction.river::before{
  background:
    repeating-radial-gradient(ellipse,transparent 0 7px,#ffffff8c 8px 9px,transparent 10px 15px),
    conic-gradient(from 180deg,#4eeaff,#54f487,#ffe45b,#4eeaff);
  mix-blend-mode:screen;
}
body.night .attraction.river::after{
  background:radial-gradient(circle at 38% 34%,#fff 0 10%,#ffe45b 11% 54%,#ff4fa3 58%);
  box-shadow:inset 0 0 0 3px #fff8,0 0 12px #ffe45b;
}
body.night .attraction.snack::before{
  background:linear-gradient(135deg,#ff4fa3,#7b6cff);
  box-shadow:0 5px 0 #27305f,0 0 17px #ff4fa3;
}
body.night .attraction.snack::after{
  background:repeating-linear-gradient(90deg,#fff6c7 0 8px,#ff4fa3 8px 16px,#4eeaff 16px 24px);
  box-shadow:0 3px 0 #27305f,0 0 14px #ffe45b;
}
body.night .attraction.snack i{
  background:#fff8b8;
  box-shadow:0 -5px 0 #4eeaff,0 0 14px #fff8b8;
}
body.night .gate{
  box-shadow:5px 7px 0 #0b2238,0 0 22px #ff4fa3,0 0 34px #4eeaff66;
}
body.night .park-message{background:linear-gradient(145deg,#eaffff,#cfebff)}

@media(max-width:1100px){.park-rating{display:none}}
@media(max-width:790px){.catalog-list{grid-template-columns:repeat(7,minmax(130px,1fr))}.park-frame{min-height:520px}}
@media(max-width:520px){.park-grid{left:2%;right:2%;top:31%;bottom:10%;gap:2px;padding:5px;border-width:4px}.attraction{inset:-6% -4% 0}.attraction.slide::before,.attraction.rocket::before{border-width:7px}.park-frame{min-height:455px}}
@keyframes waveLightSweep{to{background-position:220% 0,0 0}}
@keyframes lightSpin{to{transform:rotate(1turn) scale(1.04)}}
@keyframes poolLampGlow{to{filter:hue-rotate(75deg) brightness(1.25);transform:translateY(-2px)}}
@keyframes nightLaneGlow{to{filter:hue-rotate(55deg) brightness(1.18);transform:skewX(-8deg) translateY(2px)}}
@keyframes nightOrbitGlow{50%{filter:hue-rotate(90deg) brightness(1.22);transform:rotate(-18deg) scale(1.05)}}
@keyframes nightSprayGlow{to{transform:scaleX(1.22) translateY(-5px);filter:hue-rotate(55deg)}}
@media(prefers-reduced-motion:reduce){.sea::before,.cloud,.bird,.sparkle,body.night .attraction.pool,body.night .attraction.pool::before,body.night .attraction.pool i,body.night .attraction.racer::before,body.night .attraction.rocket::before,body.night .attraction.spray i{animation:none!important}}
@media(max-width:1100px){
  .game-shell,.workspace,.park-stage,.missions,.catalog{min-width:0;max-width:100%}
  .workspace{grid-template-columns:minmax(180px,230px) minmax(0,1fr)}
  .missions{grid-template-columns:180px minmax(0,1fr) 220px}
  .mission-list{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}
  .inspector{min-width:0;max-width:100%}
}
@media(max-width:790px){
  .workspace,.catalog-list,.park-stage,.missions,.catalog{min-width:0;max-width:100%}
  .catalog-list{width:100%}
}
@media(max-width:520px){
  .game-shell{overflow-x:hidden}
  .park-grid{transform:none}
  #parkName{min-height:44px}
}
