:root{--font-playful:"Cooper Black","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;--font-ui:"Trebuchet MS","Arial Rounded MT Bold",system-ui,sans-serif;
  --bg:#061b1d;--bg2:#0a2a2d;--panel:#0b3034;--panel2:#0d3a3f;--cream:#fff8dc;--gold:#f2d46a;--green:#8bc853;--border:#2b3b34;--muted:#9fb3aa;--danger:#f06457;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--cream);font-family:var(--font-ui)}
body{min-height:100dvh;background:radial-gradient(circle at 50% -10%,rgba(139,200,83,.09),transparent 34%),var(--bg)}
button,select{font:inherit}.hidden{display:none!important}
button{color:inherit}
.siteHeader{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,64px);border-bottom:1px solid rgba(255,248,220,.08);background:rgba(6,27,29,.92);position:relative;z-index:100}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--cream)}.brandMark{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--gold);color:var(--bg);font-weight:1000}.brand b,.brand small{display:block}.brand b{font-size:13px;letter-spacing:.08em}.brand small{font-size:8px;letter-spacing:.12em;color:#80988c;margin-top:2px}
.headerActions{display:flex;align-items:center;gap:12px}.textBtn{border:0;background:transparent;color:#a8bcb2;font-size:10px;font-weight:900;letter-spacing:.1em;cursor:pointer;padding:10px}.prototypePill{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--gold);border:1px solid rgba(242,212,106,.22);border-radius:999px;padding:7px 10px;background:rgba(242,212,106,.05)}
.home{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:54px 0 34px}.homeTitle{text-align:center;margin-bottom:28px}.kicker{margin:0 0 9px;color:var(--gold);font-size:10px;font-weight:1000;letter-spacing:.18em}.homeTitle h1{margin:0;font-size:clamp(38px,6vw,72px);line-height:.98;letter-spacing:-.055em}.homeTitle h1 span{color:var(--green)}
.modeGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modeCard{padding:0;border:1px solid rgba(255,248,220,.1);border-radius:22px;overflow:hidden;background:#0a292d;cursor:pointer;text-align:left;box-shadow:0 20px 60px rgba(0,0,0,.2);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.modeCard:hover{transform:translateY(-2px);border-color:rgba(242,212,106,.35)}.modeCard.selected{border-color:var(--gold);box-shadow:0 0 0 1px rgba(242,212,106,.14),0 24px 70px rgba(0,0,0,.26)}
.modeScene{display:block;height:220px;position:relative;overflow:hidden;background:#2f7c64}.gamelleScene{background:linear-gradient(#1c6170 0 16%,#7ac650 16% 84%,#1c6170 84%)}.gamelleScene:before{content:"";position:absolute;inset:28px 42px;border:7px solid rgba(255,248,220,.78);border-radius:54px}.gamelleScene:after{content:"";position:absolute;left:50%;top:50%;width:105px;height:68px;transform:translate(-50%,-76%);border:6px solid #82552f;border-radius:16px;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(242,212,106,.75) 18px 23px)}
.sceneBall{position:absolute;width:28px;height:28px;border-radius:50%;background:var(--gold);border:3px solid var(--cream);left:50%;top:62%;transform:translate(-50%,-50%);box-shadow:0 5px 0 rgba(0,0,0,.12)}.sceneAxie{position:absolute;width:42px;height:34px;border-radius:50% 50% 44% 44%;background:#70d8ef;box-shadow:inset 0 -6px rgba(0,0,0,.08),0 7px 0 rgba(0,0,0,.08)}.sceneAxie:before,.sceneAxie:after{content:"";position:absolute;top:-8px;width:12px;height:15px;border-radius:60% 60% 20% 20%;background:inherit}.sceneAxie:before{left:5px;transform:rotate(-20deg)}.sceneAxie:after{right:5px;transform:rotate(20deg)}.gamelleScene .a1{left:25%;top:58%}.gamelleScene .a2{right:24%;top:35%;background:#a6db63}.gamelleScene .hunter{right:18%;bottom:20%;width:52px;height:42px;background:#f08b63;box-shadow:0 0 0 7px rgba(240,100,87,.12)}
.golfScene{background:linear-gradient(#214e40,#173c34)}.golfLane{position:absolute;left:9%;right:9%;top:25%;bottom:20%;border:8px solid #eadfb8;border-radius:70px 26px 70px 32px;background:#7ac650;transform:skewX(-6deg)}.golfLane:after{content:"";position:absolute;left:45%;top:0;bottom:0;width:72px;background:#2e91b3;opacity:.9}.golfBall{left:28%;top:57%;width:22px;height:22px;background:#fff;border-color:#d7d7d7}.golfHole{position:absolute;right:18%;top:43%;width:28px;height:28px;border-radius:50%;background:#101816;box-shadow:0 0 0 4px rgba(255,248,220,.82)}.golfHole:after{content:"";position:absolute;width:4px;height:56px;background:var(--danger);left:12px;bottom:12px}.golfScene .golfer{left:17%;top:61%;background:#8fd45a}
.modeContent{display:flex;justify-content:space-between;align-items:flex-end;padding:20px 22px 22px;gap:12px}.modeContent small,.modeContent strong{display:block}.modeContent small{font-size:9px;color:#91a79c;letter-spacing:.11em;font-weight:900;margin-bottom:6px}.modeContent strong{font-size:26px;letter-spacing:-.035em}.playTag{font-size:10px;font-weight:1000;letter-spacing:.08em;color:var(--gold)}
.setupBar{display:flex;align-items:end;gap:10px;margin-top:16px;padding:14px;border:1px solid rgba(255,248,220,.1);border-radius:17px;background:rgba(7,34,37,.94)}.setupGroup{display:grid;gap:6px;min-width:150px;flex:1}.setupGroup label{font-size:8px;font-weight:1000;letter-spacing:.13em;color:#8fa49a}.setupGroup select{width:100%;height:46px;border:1px solid rgba(255,248,220,.12);border-radius:11px;background:#061f22;color:var(--cream);padding:0 12px;outline:none;cursor:pointer}.setupGroup select:focus{border-color:rgba(242,212,106,.55)}.launchButtons{display:flex;gap:8px;min-width:320px}.launch{height:46px;border:1px solid rgba(255,248,220,.13);border-radius:11px;background:#0e3a3f;padding:0 18px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-width:145px;transition:transform .12s ease,filter .12s ease}.launch:hover{filter:brightness(1.08);transform:translateY(-1px)}.launch small{font-size:7px;letter-spacing:.12em;opacity:.65}.launch b{font-size:12px;letter-spacing:.03em}.launch.primary{background:var(--green);color:#071c1d;border-color:#a8e37e}.launch.wide{min-width:280px}.homeFootnote{display:flex;justify-content:space-between;color:#6f897d;font-size:9px;letter-spacing:.05em;padding:12px 4px}
.gameScreen{position:relative;height:calc(100dvh - 64px);padding:10px clamp(8px,2vw,24px) 12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.topHud,.bottomHud{width:min(1280px,100%);margin:0 auto;display:flex;align-items:center;gap:10px}.topHud{justify-content:space-between}.iconBtn{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,248,220,.12);background:#0a2b2f;color:var(--cream);cursor:pointer;font-weight:900}.hudIdentity{flex:1}.hudIdentity b,.hudIdentity small{display:block}.hudIdentity b{font-size:12px;letter-spacing:.08em}.hudIdentity small{font-size:9px;color:#83998f;margin-top:2px}.hudStats{display:flex;gap:6px}.hudStats span{background:#0a2b2f;border:1px solid rgba(255,248,220,.09);padding:8px 10px;border-radius:9px;font-size:9px;letter-spacing:.07em}.hudStats b{color:var(--gold)}
.gameStage{position:relative;isolation:isolate;width:min(1280px,calc(100vw - 36px),calc((100dvh - 165px)*16/9));height:min(720px,calc(100dvh - 165px),calc((100vw - 36px)*9/16));margin:8px auto;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,248,220,.14);border-radius:17px;background:#0b383c;box-shadow:0 28px 90px rgba(0,0,0,.35)}#game-root,#mixer-root{position:absolute;inset:0;width:100%;height:100%}#game-root{z-index:1}#mixer-root{z-index:4;pointer-events:none}#game-root canvas,#mixer-root canvas,.mixerCanvas{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;object-fit:contain}.mixerStatus{position:absolute;z-index:8;left:50%;top:12px;transform:translateX(-50%);padding:7px 10px;border-radius:999px;background:rgba(6,27,29,.88);border:1px solid rgba(242,212,106,.35);font-size:8px;font-weight:900;letter-spacing:.06em}.mixerStatus[data-state="error"]{border-color:rgba(240,100,87,.6);color:#ffd1c7}
.bottomHud{justify-content:space-between}.meterCard{width:210px;padding:8px 10px;border-radius:10px;background:#0a2b2f;border:1px solid rgba(255,248,220,.09)}.meterCard>div:first-child{display:flex;justify-content:space-between;font-size:9px}.meter{height:6px;background:#05191b;border-radius:999px;overflow:hidden;margin:6px 0 4px}.meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:inherit;transition:width .06s linear}.meterCard small{font-size:7px;color:#839a8f;letter-spacing:.08em}.meterCard.isSprinting{border-color:rgba(242,212,106,.48);box-shadow:0 0 24px rgba(242,212,106,.1)}.meterCard.isLocked{border-color:rgba(240,100,87,.3)}.controlHint{flex:1;text-align:center;color:#90a69b;font-size:9px}
.result{min-height:calc(100dvh - 64px);display:grid;place-items:center;padding:30px}.resultCard{width:min(620px,100%);padding:34px;border-radius:22px;background:#092a2e;border:1px solid rgba(255,248,220,.12);text-align:center;box-shadow:0 28px 90px rgba(0,0,0,.28)}.resultCard h2{font-size:clamp(34px,6vw,56px);margin:3px 0 9px}.resultCard>p:not(.kicker){color:#a9bbb2}.resultActions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:22px}
.modal{position:fixed;inset:0;z-index:200;background:rgba(1,10,11,.72);display:grid;place-items:center;padding:20px;backdrop-filter:blur(10px)}.modalCard{position:relative;width:min(680px,100%);padding:30px;border-radius:20px;background:#092a2e;border:1px solid rgba(255,248,220,.12);box-shadow:0 30px 100px rgba(0,0,0,.45)}.modalCard h2{font-size:34px;margin:0 0 20px}.modalClose{position:absolute;right:15px;top:14px;width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,248,220,.1);background:#0e383c;color:var(--cream);cursor:pointer;font-size:20px}.howGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.howGrid div{padding:15px;border:1px solid rgba(255,248,220,.08);border-radius:12px;background:#071f22}.howGrid b,.howGrid span{display:block}.howGrid b{font-size:10px;color:var(--gold);letter-spacing:.1em}.howGrid span{font-size:12px;color:#a8bab1;line-height:1.45;margin-top:6px}
.mobileControls{display:none;position:fixed;z-index:90;left:0;right:0;bottom:max(14px,env(safe-area-inset-bottom));padding:0 22px;pointer-events:none;justify-content:space-between;align-items:end}.stick,.mobileButtons button{pointer-events:auto;touch-action:none;user-select:none}.stick{width:122px;height:122px;border-radius:50%;border:2px solid rgba(255,248,220,.18);background:rgba(6,27,29,.4);position:relative;backdrop-filter:blur(7px)}.stick:after{content:"";position:absolute;inset:33%;border:1px solid rgba(255,255,255,.12);border-radius:50%}.stick i{width:48px;height:48px;border-radius:50%;background:rgba(255,248,220,.78);position:absolute;left:calc(50% - 24px);top:calc(50% - 24px);box-shadow:0 8px 20px rgba(0,0,0,.25)}.mobileButtons{display:flex;gap:10px;align-items:end}.mobileButtons button{width:78px;height:78px;border-radius:50%;border:2px solid rgba(255,248,220,.22);background:rgba(6,27,29,.66);color:var(--cream);font-weight:1000;font-size:9px;backdrop-filter:blur(7px)}.mobileButtons button.action{width:94px;height:94px;border-color:rgba(242,212,106,.52);background:rgba(242,212,106,.16)}.mobileButtons button.roar{width:72px;height:72px;border-color:rgba(139,200,83,.55);background:rgba(139,200,83,.18);box-shadow:0 0 24px rgba(139,200,83,.10)}.mobileButtons button.pressed{transform:scale(.95);background:rgba(139,200,83,.32)}
body.is-playing{overflow:hidden}
@media(max-width:850px){.modeScene{height:190px}.setupBar{flex-wrap:wrap}.setupGroup{min-width:calc(50% - 5px)}.launchButtons{width:100%;min-width:0}.launch{flex:1}.homeFootnote{display:block;text-align:center}.homeFootnote span{display:block;margin:4px}.headerActions .prototypePill{display:none}}
@media(max-width:680px){.siteHeader{height:56px;padding:0 14px}.brand small{display:none}.home{width:min(100% - 20px,600px);padding:26px 0 24px}.homeTitle{margin-bottom:18px}.homeTitle h1{font-size:42px}.modeGrid{grid-template-columns:1fr}.modeScene{height:165px}.modeContent{padding:16px 18px}.modeContent strong{font-size:22px}.setupBar{padding:10px}.setupGroup{min-width:100%}.gameScreen{height:calc(100dvh - 56px);padding:5px 5px max(6px,env(safe-area-inset-bottom))}.gameStage{width:min(calc(100vw - 10px),calc((100dvh - 175px)*16/9));height:min(calc(100dvh - 175px),calc((100vw - 10px)*9/16));border-radius:11px;margin:4px auto}.hudIdentity small{display:none}.hudStats{gap:3px}.hudStats span{padding:6px 7px;font-size:7px}.bottomHud{padding-bottom:108px}.meterCard{width:48%;padding:6px 8px}.controlHint{display:none}.mobileControls{display:flex}.howGrid{grid-template-columns:1fr}.modalCard{padding:24px 18px}.resultActions{display:grid;grid-template-columns:1fr;width:100%}.resultActions .launch{width:100%}}
@media(pointer:coarse){.mobileControls{display:flex}.bottomHud{padding-bottom:108px}}
@media(max-height:620px){.siteHeader{display:none}.gameScreen{height:100dvh;padding-top:4px}.gameStage{width:min(1280px,calc(100vw - 16px),calc((100dvh - 105px)*16/9));height:min(720px,calc(100dvh - 105px),calc((100vw - 16px)*9/16))}.bottomHud{padding-bottom:0}.mobileControls{bottom:6px}.stick{width:96px;height:96px}.mobileButtons button{width:64px;height:64px}.mobileButtons button.action{width:76px;height:76px}.mobileButtons button.roar{width:58px;height:58px}}




/* V0.23.8 — Axie/cartoon match announcements */
.gameAnnouncement{position:absolute;z-index:48;left:50%;top:70px;transform:translate(-50%,-20px) scale(.7) rotate(-1.2deg);opacity:0;pointer-events:none;max-width:min(90vw,960px);padding:9px 24px 12px;border-radius:24px;text-align:center;text-transform:uppercase;font-family:"Cooper Black","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;font-weight:1000;font-style:italic;font-size:clamp(22px,3.25vw,42px);line-height:.98;letter-spacing:.025em;color:#fff8dc;-webkit-text-stroke:1.5px #173b38;text-shadow:0 2px 0 #173b38,0 4px 0 #173b38,0 7px 0 rgba(0,0,0,.22),3px 3px 0 rgba(23,59,56,.8),0 12px 22px rgba(0,0,0,.28);background:linear-gradient(180deg,rgba(92,177,106,.97),rgba(28,105,83,.96));border:4px solid #fff0a7;box-shadow:0 6px 0 #315f48,0 10px 0 rgba(6,27,29,.7),0 16px 30px rgba(0,0,0,.24)}
.gameAnnouncement:before,.gameAnnouncement:after{content:"✦";display:inline-block;color:#f2d46a;-webkit-text-stroke:0;text-shadow:0 2px 0 rgba(72,54,17,.35);margin:0 .28em;font-size:.65em;vertical-align:.14em}
.gameAnnouncement.show{animation:announcement-pop .98s cubic-bezier(.16,1.15,.3,1) both}
.gameAnnouncement.danger{background:linear-gradient(180deg,#f68168,#c44d54);border-color:#fff1ab;box-shadow:0 6px 0 #7e3741,0 10px 0 rgba(65,22,27,.72),0 16px 30px rgba(0,0,0,.24)}
.gameAnnouncement.success{background:linear-gradient(180deg,#a5d85c,#4eaa67);border-color:#fff1a8;box-shadow:0 6px 0 #3d7a52,0 10px 0 rgba(21,68,48,.72),0 16px 30px rgba(0,0,0,.24)}
@keyframes announcement-pop{0%{opacity:0;transform:translate(-50%,-24px) scale(.56) rotate(-4deg)}12%{opacity:1;transform:translate(-50%,2px) scale(1.16) rotate(1.8deg)}24%{transform:translate(-50%,0) scale(.94) rotate(-.8deg)}38%{transform:translate(-50%,0) scale(1.03) rotate(.3deg)}76%{opacity:1;transform:translate(-50%,0) scale(1) rotate(0)}100%{opacity:0;transform:translate(-50%,-8px) scale(.92) rotate(-.4deg)}}
@media(max-width:760px){.gameAnnouncement{top:58px;padding:7px 13px 9px;border-width:3px;font-size:clamp(19px,6.4vw,30px);-webkit-text-stroke:1px #173b38}}

/* V0.23.9 — playful authored UI typography */
.brand b,.homeTitle h1,.modeContent strong,.launch b,.modalCard h2,.resultCard h2,.resultIcon{font-family:var(--font-playful);font-weight:900;letter-spacing:-.02em}
.brand b{letter-spacing:.035em}.homeTitle h1{line-height:.96}.modeContent strong{letter-spacing:-.015em}.launch b{font-size:13px}.textBtn,.prototypePill,.setupGroup label,.launch small,.playTag,.kicker{font-family:var(--font-ui);text-transform:none;letter-spacing:.045em}
.setupGroup label{font-size:10px}.launch small{font-size:9px}.modeContent small{text-transform:none;letter-spacing:.035em}.hudIdentity b{font-family:var(--font-playful);letter-spacing:.01em}

/* Gamelle kick state lives where the player's eyes already are: directly over the ball. */

/* Result screens: celebrate the round instead of looking like a neutral modal. */
.result{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(139,200,83,.12),transparent 44%),linear-gradient(180deg,#061b1d,#041416)}
.result:before,.result:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.result:before{width:420px;height:420px;left:-170px;top:12%;background:radial-gradient(circle,rgba(242,212,106,.10),transparent 67%)}.result:after{width:500px;height:500px;right:-220px;bottom:-120px;background:radial-gradient(circle,rgba(139,200,83,.10),transparent 67%)}
.resultCard{position:relative;isolation:isolate;overflow:hidden;width:min(680px,100%);padding:42px 38px 34px;border-radius:32px;background:linear-gradient(180deg,rgba(17,63,65,.98),rgba(7,35,38,.99));border:2px solid rgba(255,248,220,.20);box-shadow:0 10px 0 rgba(2,15,16,.45),0 34px 100px rgba(0,0,0,.38);transform:rotate(-.25deg)}
.resultCard:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 0%,rgba(255,248,220,.11),transparent 38%)}
.resultCard:after{content:"";position:absolute;left:9%;right:9%;top:0;height:8px;border-radius:0 0 12px 12px;background:linear-gradient(90deg,var(--green),var(--gold),var(--green));opacity:.9}
.resultCard.golfResult{background:linear-gradient(180deg,rgba(21,82,72,.99),rgba(7,43,45,.99));border-color:rgba(242,212,106,.42)}
.resultCard.gamelleResult{background:linear-gradient(180deg,rgba(25,72,66,.99),rgba(8,38,41,.99));border-color:rgba(139,200,83,.38)}
.resultCard.dangerResult{background:linear-gradient(180deg,rgba(84,48,47,.98),rgba(38,29,32,.99));border-color:rgba(246,129,104,.48)}
.resultIcon{position:relative;width:82px;height:82px;margin:-2px auto 14px;border-radius:30px;display:grid;place-items:center;font-size:42px;color:#173b38;background:linear-gradient(180deg,#fff2a6,#f2d46a);border:5px solid #fff8dc;box-shadow:0 7px 0 #8a7637,0 14px 32px rgba(0,0,0,.26);transform:rotate(4deg)}
.gamelleResult .resultIcon{background:linear-gradient(180deg,#b8ed7a,#77c957);box-shadow:0 7px 0 #3f7a45,0 14px 32px rgba(0,0,0,.26)}
.dangerResult .resultIcon{background:linear-gradient(180deg,#ffb080,#ee6d62);box-shadow:0 7px 0 #8d4142,0 14px 32px rgba(0,0,0,.26)}
.resultCard .kicker{margin:5px 0 4px;color:#f2d46a;font-size:12px;font-weight:900}.resultCard h2{font-size:clamp(38px,7vw,64px);line-height:.92;margin:8px 0 14px;color:#fff8dc;text-shadow:0 4px 0 rgba(6,27,29,.68)}
.resultCard>p:not(.kicker){max-width:560px;margin:0 auto;color:#c4d5cc;font-size:14px;line-height:1.5}
.resultStats{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:20px 0 4px}.resultStats span{padding:9px 13px;border-radius:999px;background:rgba(4,24,26,.48);border:1px solid rgba(255,248,220,.15);color:#fff8dc;font-size:11px;font-weight:800;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.resultActions{margin-top:26px}.resultActions .launch{min-width:150px;border-radius:15px}.resultActions .launch.primary{box-shadow:0 5px 0 rgba(44,105,48,.9)}
.resultBurst{position:absolute;inset:0;z-index:-1;pointer-events:none}.resultBurst i{position:absolute;width:10px;height:10px;border-radius:3px;background:#f2d46a;opacity:.55;transform:rotate(45deg)}.resultBurst i:nth-child(1){left:13%;top:18%}.resultBurst i:nth-child(2){right:15%;top:22%;width:7px;height:7px}.resultBurst i:nth-child(3){left:18%;bottom:21%;width:6px;height:6px}.resultBurst i:nth-child(4){right:12%;bottom:17%;width:12px;height:12px}
@media(max-width:680px){.resultCard{padding:34px 18px 24px;border-radius:24px}.resultIcon{width:68px;height:68px;border-radius:24px;font-size:34px}.resultCard h2{font-size:40px}.resultStats{margin-top:16px}}

/* V0.24.0 — adventure golf selector */
.gateNote{display:block;margin-top:6px;color:#93a89e;font-size:9px;line-height:1.25;font-weight:700;letter-spacing:.02em}.setupGroup select optgroup{font-weight:800}

/* V0.24.1 — JSON-first UGC map editor */
.editorScreen{width:min(1500px,calc(100% - 28px));margin:0 auto;padding:28px 0 36px}.editorTop{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:16px}.editorTop h2{font-family:var(--font-playful);font-size:clamp(28px,4vw,48px);margin:0 0 7px}.editorTop p:last-child{margin:0;color:#9bb0a6;font-size:12px}.editorToolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding:12px;border:1px solid rgba(255,248,220,.1);border-radius:15px;background:#092a2e;margin-bottom:12px}.editorToolbar label{display:grid;gap:5px;font-size:9px;font-weight:800;color:#9db1a8}.editorToolbar select,.editorToolbar input{height:40px;border:1px solid rgba(255,248,220,.13);border-radius:9px;background:#061f22;color:#fff8dc;padding:0 9px;min-width:120px}.editorToolbar input{width:76px;min-width:76px}.editorMiniBtn,.editorActions button,.editorApply{height:40px;border:1px solid rgba(255,248,220,.13);border-radius:9px;background:#0f3a3f;color:#fff8dc;padding:0 12px;font-weight:800;cursor:pointer}.editorWorkspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:12px;align-items:start}.editorCanvasWrap{min-width:0;overflow:auto;border-radius:16px;border:1px solid rgba(255,248,220,.12);background:#061b1d;padding:10px;max-height:72vh}.editorCanvasWrap canvas{display:block;max-width:none;border-radius:8px;cursor:crosshair;touch-action:none}.editorJsonPanel{display:grid;gap:10px}.editorActions{display:flex;gap:7px;flex-wrap:wrap}.editorActions button:nth-child(2){background:var(--green);color:#061b1d;border-color:#a8e37e}.editorActions button:nth-child(3){background:rgba(242,212,106,.13);border-color:rgba(242,212,106,.35)}#editorStatus{min-height:34px;margin:0;padding:9px 11px;border-radius:9px;background:#071f22;color:#a8bbb2;font-size:10px;line-height:1.45}#editorJson{width:100%;height:470px;resize:vertical;border:1px solid rgba(255,248,220,.11);border-radius:12px;background:#041719;color:#d6e5dd;padding:12px;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;outline:none}.editorApply{width:100%}
@media(max-width:980px){.editorWorkspace{grid-template-columns:1fr}.editorJsonPanel{grid-template-columns:1fr}#editorJson{height:300px}.editorCanvasWrap{max-height:58vh}}
@media(max-width:680px){.editorScreen{width:calc(100% - 14px);padding-top:14px}.editorTop{align-items:flex-start;flex-direction:column}.editorToolbar label{flex:1;min-width:120px}.editorToolbar select,.editorToolbar input{width:100%}.editorCanvasWrap{padding:6px}}

/* V0.24.2 — visual JSON tile palette */
.editorPalettePanel{margin-top:12px;border:1px solid rgba(255,248,220,.12);border-radius:16px;background:#092a2e;padding:12px}.editorPaletteHead{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:10px}.editorPaletteHead>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.editorPaletteHead b{font-family:var(--font-playful);font-size:18px}.editorPaletteHead span{color:var(--gold);font-weight:800;font-size:11px}.editorPaletteHead small{color:#91a79d;font-size:9px}.editorToolPalette{display:grid;gap:12px}.editorToolGroup{display:grid;gap:6px}.editorToolGroupTitle{font-size:9px;letter-spacing:.07em;color:#9eb2aa;text-transform:uppercase}.editorToolRow{display:flex;gap:7px;flex-wrap:wrap}.editorToolTile{width:76px;min-height:82px;border:1px solid rgba(255,248,220,.12);border-radius:11px;background:#061f22;color:#fff8dc;padding:6px;display:grid;grid-template-rows:52px auto;gap:4px;align-items:center;justify-items:center;cursor:pointer;transition:border-color .15s ease,transform .15s ease,background .15s ease}.editorToolTile:hover{border-color:rgba(242,212,106,.38);background:#0b3034}.editorToolTile.selected{border-color:var(--gold);background:rgba(242,212,106,.10);box-shadow:inset 0 0 0 1px rgba(242,212,106,.22)}.editorToolTile small{font-size:8px;line-height:1.1;text-align:center;color:#d9e3de}.toolPreview{width:52px;height:52px;display:grid;place-items:center;overflow:hidden;border-radius:7px;font-family:var(--font-playful);font-size:25px;font-weight:900}.toolPreview img{display:block;width:52px;height:52px;object-fit:contain}.toolPreview-terrain{border:1px solid rgba(255,255,255,.08);border-radius:4px}.toolPreview-wall{background:rgba(120,160,120,.08)}.toolPreview-slope{background:linear-gradient(135deg,rgba(255,244,190,.20) 0 50%,rgba(4,22,24,.18) 50%);color:#fff0a5;text-shadow:0 2px 0 #574827}.toolPreview-icon{background:#0e383d;color:#fff8dc;border:1px solid rgba(255,248,220,.1)}.editorToolSettings{margin-top:12px;padding:10px;border-radius:12px;background:#061f22;border:1px solid rgba(242,212,106,.2);display:flex;gap:10px;align-items:end;flex-wrap:wrap}.editorToolSettings.hidden{display:none}.editorToolSettings>b{font-family:var(--font-playful);font-size:13px;margin-right:4px;align-self:center}.editorToolSettings label{display:grid;gap:4px;font-size:8px;font-weight:800;color:#9db1a8}.editorToolSettings input{width:118px;height:36px;border:1px solid rgba(255,248,220,.13);border-radius:8px;background:#041719;color:#fff8dc;padding:0 8px}.editorCanvasWrap canvas{border-radius:0;background:#174b52}.editorToolbar select{min-width:230px}
@media(max-width:680px){.editorPaletteHead{align-items:flex-start;flex-direction:column}.editorToolTile{width:68px}.toolPreview,.toolPreview img{width:46px;height:46px}.editorToolSettings label{flex:1;min-width:120px}.editorToolSettings input{width:100%}}

/* V0.24.4 — state-of-the-art UGC terrain editor */
.editorScreen{width:min(1680px,calc(100% - 24px));padding:22px 0 40px}
.editorToolbar{position:sticky;top:0;z-index:12;backdrop-filter:blur(10px);background:rgba(9,42,46,.94)}
.editorWorkbench{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;align-items:start}
.editorMapColumn{min-width:0;display:grid;gap:8px}
.editorViewBar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 10px;border:1px solid rgba(255,248,220,.11);background:#092a2e;border-radius:13px}
.editorViewGroup{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.editorViewBar button,.editorBrushLabel select{height:34px;border:1px solid rgba(255,248,220,.13);border-radius:8px;background:#0b3438;color:#fff8dc;padding:0 10px;font:800 10px/1 var(--font-body);cursor:pointer}
.editorViewBar button:hover{border-color:rgba(242,212,106,.42)}
.editorViewBar button.active{background:rgba(139,200,83,.16);border-color:rgba(139,200,83,.48);color:#c9f0a8}
#editorZoomLabel{min-width:52px;text-align:center;font:900 10px/1 var(--font-playful);color:var(--gold)}
.editorBrushLabel{display:flex;align-items:center;gap:6px;color:#94aaa0;font-size:9px;font-weight:800}
.editorBrushLabel select{min-width:68px;padding:0 7px}
.editorCursorInfo{margin-left:auto;color:#a6bbb2;font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}
.editorCanvasWrap{height:min(68vh,760px);min-height:420px;overflow:auto;padding:18px;background:#061b1d;border:1px solid rgba(255,248,220,.13);border-radius:16px;overscroll-behavior:contain;scrollbar-color:#37615b #061b1d;scrollbar-width:thin}
.editorCanvasWrap.panning{cursor:grabbing}
.editorCanvasWrap canvas{display:block;max-width:none;max-height:none;background:#174b52;image-rendering:auto;cursor:crosshair;touch-action:none;box-shadow:0 0 0 1px rgba(255,248,220,.08)}
.editorCanvasWrap.panning canvas{cursor:grabbing}
.editorHint{margin:0 4px;color:#829990;font-size:9px;font-weight:700}
.editorSidePanel{position:sticky;top:74px;display:grid;gap:10px;max-height:calc(100vh - 90px);overflow:auto;padding-right:2px}
.editorPrimaryActions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.editorPrimaryActions #editorTest{grid-column:1/-1;height:48px;background:var(--green);color:#061b1d;border-color:#a8e37e;font-family:var(--font-playful);font-size:15px;box-shadow:0 3px 0 #315c2f}
.editorPrimaryActions #editorTest:hover{transform:translateY(-1px)}
.editorPrimaryActions button{height:38px}
#editorStatus{font-size:9px;line-height:1.55;min-height:44px}
.editorSidePanel .editorPalettePanel{margin:0;padding:10px;border-radius:14px}
.editorPaletteHead{align-items:center;margin-bottom:8px}
.editorPaletteHead b{font-size:17px}.editorPaletteHead span{font-size:10px}
.editorToolPalette{gap:10px}
.editorToolGroup{gap:5px}
.editorToolGroupTitle{font-size:8px}
.editorToolRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.editorToolTile{width:100%;min-width:0;min-height:66px;padding:4px;grid-template-rows:40px auto;border-radius:9px}
.editorToolTile small{font-size:7px;line-height:1.05}
.toolPreview,.toolPreview img{width:40px;height:40px}.toolPreview{font-size:21px;border-radius:6px}
.editorToolSettings{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px;margin-top:9px}.editorToolSettings>b{grid-column:1/-1}.editorToolSettings label{font-size:7px}.editorToolSettings input{width:100%;height:32px}
.editorJsonPanel{margin-top:12px;border:1px solid rgba(255,248,220,.11);border-radius:15px;background:#092a2e;overflow:hidden}
.editorJsonPanel summary{cursor:pointer;display:flex;align-items:baseline;gap:10px;padding:11px 13px;list-style:none}.editorJsonPanel summary::-webkit-details-marker{display:none}.editorJsonPanel summary b{font-family:var(--font-playful);font-size:16px}.editorJsonPanel summary span{font-size:9px;color:#8fa69c}
.editorJsonInner{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:9px;padding:0 11px 11px}
#editorJson{height:260px;min-height:160px;resize:vertical;border-radius:10px}
.editorApply{height:auto;min-height:48px;align-self:stretch;font-family:var(--font-playful);font-size:13px}
@media(max-width:1100px){.editorWorkbench{grid-template-columns:minmax(0,1fr) 285px}.editorToolRow{grid-template-columns:repeat(3,minmax(0,1fr))}.editorCanvasWrap{min-height:360px}}
@media(max-width:860px){.editorWorkbench{grid-template-columns:1fr}.editorSidePanel{position:static;max-height:none;overflow:visible}.editorPrimaryActions{grid-template-columns:2fr 1fr 1fr}.editorPrimaryActions #editorTest{grid-column:auto}.editorToolRow{grid-template-columns:repeat(5,minmax(0,1fr))}.editorJsonInner{grid-template-columns:1fr}.editorApply{min-height:42px}.editorCanvasWrap{height:56vh}.editorCursorInfo{width:100%;margin-left:0}}
@media(max-width:600px){.editorToolRow{grid-template-columns:repeat(4,minmax(0,1fr))}.editorViewBar{align-items:flex-start}.editorPrimaryActions{grid-template-columns:1fr 1fr}.editorPrimaryActions #editorTest{grid-column:1/-1}.editorCanvasWrap{height:50vh;min-height:300px;padding:10px}.editorJsonPanel summary{flex-direction:column;gap:2px}}
.editorJsonPanel{display:block}
.editorPrimaryActions button:nth-child(2){background:#0f3a3f;color:#fff8dc;border-color:rgba(255,248,220,.13)}

.editorToolGroupHead{display:flex;align-items:center;gap:6px;position:relative}.editorSectionHelp{width:17px;height:17px;border-radius:50%;border:1px solid rgba(255,248,220,.28);background:#061f22;color:#b8cbc2;font:800 10px/15px sans-serif;padding:0;cursor:help;position:relative}.editorSectionHelp:hover,.editorSectionHelp:focus{border-color:var(--gold);color:var(--gold);outline:none}.editorSectionHelp:hover::after,.editorSectionHelp:focus::after{content:attr(data-tip);position:absolute;z-index:50;left:22px;top:-5px;width:220px;padding:8px 9px;border:1px solid rgba(255,248,220,.16);border-radius:8px;background:#041719;color:#d9e3de;font:600 9px/1.35 sans-serif;text-transform:none;letter-spacing:0;box-shadow:0 8px 24px rgba(0,0,0,.28);pointer-events:none}.toolPreview-bridgeWall{background:rgba(185,120,67,.10)}

/* V0.26.0 — sponsor course page */
.sponsorScreen{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:54px 0 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:start}.sponsorHero,.sponsorPricing{border:1px solid rgba(255,248,220,.12);border-radius:20px;background:#092a2e;padding:28px}.sponsorHero h1{margin:6px 0 18px;font-family:var(--font-playful);font-size:clamp(38px,6vw,68px);line-height:.95;color:var(--gold)}.sponsorHero p{color:#d6e1dc;line-height:1.65;font-size:14px}.sponsorHighlights{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.sponsorHighlights span{padding:9px 11px;border-radius:999px;border:1px solid rgba(242,212,106,.28);background:rgba(242,212,106,.08);color:#fff8dc;font-size:10px;font-weight:900}.sponsorPricing h2{font-family:var(--font-playful);font-size:28px;margin:0 0 16px}.sponsorPricing table{width:100%;border-collapse:collapse;font-size:12px}.sponsorPricing th,.sponsorPricing td{padding:13px 10px;text-align:left;border-bottom:1px solid rgba(255,248,220,.10)}.sponsorPricing th{color:#9fb4aa;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.sponsorPricing tr.featured td{color:#fff8dc;background:rgba(242,212,106,.08)}.sponsorPricing td:nth-child(3){font-weight:900;color:var(--gold)}.sponsorNote{color:#8fa69c;font-size:10px;line-height:1.5;margin:15px 0 20px}.toolPreview-cliff{background:rgba(94,73,56,.13)}.toolPreview-sponsor{background:#061f22;border:1px solid rgba(242,212,106,.22)}
@media(max-width:800px){.sponsorScreen{grid-template-columns:1fr;padding-top:28px}.sponsorHero,.sponsorPricing{padding:20px}.sponsorPricing{overflow-x:auto}.sponsorPricing table{min-width:560px}}

/* V0.26.1 — in-game sponsor popup */
.sponsorModalCard{width:min(560px,100%)}.sponsorModalCopy{color:#c9d9d1;font-size:13px;line-height:1.6;margin:0 0 18px}.sponsorModalStats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px}.sponsorModalStats span{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid rgba(242,212,106,.18);border-radius:12px;background:rgba(242,212,106,.06)}.sponsorModalStats b{color:#f2d46a;font-size:18px}.sponsorModalStats small{color:#98ada3;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.sponsorModalLink{display:flex;text-decoration:none;justify-content:center;width:100%;box-sizing:border-box}.sponsorModalHint{display:block;text-align:center;color:#789188;margin-top:10px;font-size:9px}

.abilityBadge{padding:.45rem .7rem;border:1px solid rgba(242,212,106,.55);border-radius:999px;background:rgba(6,27,29,.86);color:#fff8dc;font-size:.72rem;font-weight:900;letter-spacing:.06em;white-space:nowrap}
.mobileButtons .ability{background:#70d8ef;color:#061b1d;border-color:#bcefff}
.editorCheckLabel{display:flex!important;align-items:center;gap:.45rem}.editorCheckLabel input{width:auto!important}
