:root{color-scheme:dark;font-family:monospace;color:#fff0d4;background:#100e21}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:#24233e;border:1px solid #615374;box-shadow:0 3px 0 #100e24;padding:11px 18px;font-weight:bold;letter-spacing:1px}button:hover{background:#423451}button:focus-visible,select:focus-visible{outline:3px solid #8dffee;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary{background:#ffc877;color:#291a31;border-color:#fff0bc;box-shadow:0 4px 0 #a25369}.primary:hover{background:#ffe0a7}#arcade{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#302044,#0d0d1b 75%);padding:12px}#screen{position:relative;width:min(100%,calc((100dvh - 50px)*16/9));aspect-ratio:16/9;isolation:isolate;overflow:hidden;box-shadow:0 0 0 1px #594064,0 20px 80px #0008;background:#1b133c}canvas{display:block;width:100%;height:100%;image-rendering:auto}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#0906120b 3px 4px);z-index:2}.overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;background:#100d2560}.overlay[hidden]{display:none}.title-card{width:80%;max-width:810px;text-align:center;padding:18px 12px;background:radial-gradient(ellipse,#15132bda,transparent 72%)}.eyebrow{font-size:clamp(9px,1.3vw,14px);letter-spacing:3px;color:#d7badb;font-weight:bold}.eyebrow span{color:#7bf3de;margin:0 9px}h1{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(46px,9vw,110px);line-height:.87;letter-spacing:6px;margin:25px 0 18px;filter:drop-shadow(0 7px 0 #502652) drop-shadow(0 1px 0 #1c1230)}h1 span{display:block;color:#ffde9a;text-shadow:3px 0 #fff3cf,-3px 0 #d78979}h1 strong{display:block;font-size:.75em;color:#ff8ab8;letter-spacing:8px;text-shadow:2px 0 #ffc6d6,-2px 0 #81406f}#tagline{color:#dbcde3;font-size:clamp(10px,1.3vw,15px);margin:20px 0}.main-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.main-actions .primary{padding:14px 32px}.menu-bottom{display:flex;justify-content:center;align-items:center;gap:20px;font-size:11px;margin-top:25px;color:#b2a4c5}.menu-bottom button{padding:6px 8px;font-size:10px;background:transparent;border-color:transparent;box-shadow:none}.menu-bottom select{background:#1a1832;border:1px solid #594669;padding:5px;font-size:12px}.panel-card{background:#16162dec;border:1px solid #9d719b;box-shadow:0 7px 0 #0e0c21;padding:24px;width:min(86%,780px);max-height:91%;overflow:auto;text-align:center}.panel-card h2{font-size:clamp(20px,3vw,35px);color:#ffd995;margin:0 0 20px}.panel-card p{line-height:1.6;color:#d8cbe5;font-size:14px}.compact{max-width:390px;display:grid;gap:15px}.compact h2{margin:15px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin-bottom:18px}.help-grid article{border-left:2px solid #ff94bd;padding:8px 12px;background:#ffffff06}.help-grid b{color:#86edde}.help-grid p{margin:8px 0 0}.worlds{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:18px}.worlds button{font-size:12px;text-align:left;letter-spacing:0}.scores{width:100%;border-collapse:collapse;margin:0 auto 18px;font-size:15px;max-width:430px}.scores td{padding:6px;border-bottom:1px solid #ffffff10}.scores td:last-child{text-align:right;color:#ffe0a4}.end-card{max-width:580px;padding:20px}#finalScore{font-size:clamp(27px,4.4vw,54px);letter-spacing:4px;color:#80f1df}#endTitle{margin:12px 0 8px}#stats{margin:8px 0;font-size:12px}.initials{display:flex;justify-content:center;gap:10px;margin:12px 0 4px}.initials button{font-size:24px;padding:3px 14px;color:#ffe2a7}.initials button.active{border-color:#79efdd;background:#354056}#initialsLabel{font-size:13px}#initialHint{font-size:10px;margin:5px 0 8px}#saveStatus{font-size:12px;margin:9px 0}.end-actions{display:flex;justify-content:center;gap:10px;margin-top:12px}#tools{position:absolute;left:7px;top:35px;display:flex;gap:4px;z-index:7;opacity:.6}#tools:hover{opacity:1}#tools button{font-size:14px;padding:3px 6px;min-width:28px;box-shadow:none;background:#171329b3}#hint{padding:12px 8px 0;font-size:11px;color:#af9bbc;text-align:center;letter-spacing:1px}#touch{display:none;position:absolute;inset:0;z-index:3;pointer-events:none}body.touch #touch{display:block}#stick{position:absolute;bottom:16px;left:24px;width:105px;height:105px;border-radius:50%;border:2px solid #e9cfff66;background:#19183370;pointer-events:auto;touch-action:none}#stick:before,#stick:after{content:'';position:absolute;background:#ebd7ff25}#stick:before{width:70%;height:2px;top:50%;left:15%}#stick:after{width:2px;height:70%;left:50%;top:15%}#stick i{position:absolute;width:40px;height:40px;top:30px;left:30px;border:2px solid #abf8ed99;border-radius:50%;background:#90d9d333;pointer-events:none}.fire-buttons{position:absolute;right:20px;bottom:18px;display:flex;align-items:flex-end;gap:14px}.fire-buttons button{border-radius:50%;width:72px;height:72px;padding:0;pointer-events:auto;touch-action:none;font-size:24px;background:#ed8ba833;border:2px solid #ffc4d780;box-shadow:0 4px #0004}.fire-buttons button span{display:block;font-size:9px;margin-top:2px}#fireTouch{width:88px;height:88px;background:#84eedb33;border-color:#b9f8e4aa}.is-full #arcade,body.embedded #arcade{padding:0}.is-full #screen,body.embedded #screen{width:min(100vw,calc(100dvh*16/9));box-shadow:none}.is-full #hint,body.embedded #hint{display:none}.is-full #arcade{position:fixed;inset:0;z-index:100}.is-full #full{opacity:1}body.embedded #full{display:none}@media(max-height:520px){h1{font-size:clamp(40px,13vh,76px);margin:15px 0 10px}.title-card{width:92%;padding:10px}.eyebrow{font-size:9px;letter-spacing:2px}#tagline{margin:12px 0;font-size:11px}.main-actions button{padding:8px 14px;font-size:11px}.main-actions .primary{padding:10px 22px}.menu-bottom{margin-top:13px;gap:13px;font-size:9px}.panel-card{padding:14px}.panel-card h2{margin-bottom:12px;font-size:22px}.panel-card p{font-size:11px}.help-grid{gap:6px}.help-grid article{padding:5px 9px}.panel-card button{padding:7px 12px}.worlds{gap:4px}.worlds button{font-size:10px}#endTitle{font-size:22px;margin:5px}#finalScore{font-size:27px}#stats{font-size:10px;margin:4px}.initials{margin:5px}.initials button{font-size:19px;padding:2px 12px}#initialHint{font-size:9px}#saveStatus{font-size:10px}#tools{top:27px}#stick{width:80px;height:80px;bottom:8px;left:15px}#stick i{width:32px;height:32px;left:22px;top:22px}.fire-buttons{bottom:10px;right:15px}.fire-buttons button{width:56px;height:56px;font-size:19px}#fireTouch{width:69px;height:69px}}
@media(max-width:540px) and (orientation:portrait){#arcade{padding:0}#screen{overflow:visible}body.touch #touch{top:100%;height:150px;background:#141228}#stick{left:18px;bottom:15px}.fire-buttons{right:18px;bottom:15px}.overlay{overflow:auto}.title-card{padding:4px;width:98%}h1{font-size:45px;margin:10px 0;letter-spacing:4px}h1 strong{letter-spacing:5px}.eyebrow{font-size:7px;letter-spacing:1px}#tagline{font-size:9px;margin:9px 0}.main-actions{gap:5px}.main-actions button,.main-actions .primary{font-size:9px;padding:7px 9px}.menu-bottom{margin-top:10px;gap:6px;font-size:8px}.menu-bottom select{font-size:10px;padding:2px}.menu-bottom button{font-size:8px;padding:2px}.panel-card{padding:12px;max-height:100%;width:98%}.help-grid{display:block}.panel-card h2{font-size:18px}.panel-card p{font-size:11px}#tools{top:23px;gap:2px}#tools button{font-size:12px;min-width:25px;padding:2px 4px}body.touch #arcade{padding-bottom:145px}#hint{display:none}.end-card{padding:7px}.end-card h2{font-size:15px!important;margin:2px!important}#finalScore{font-size:21px}#stats{font-size:9px;margin:2px}#initialsLabel{font-size:9px}.initials{margin:4px}.initials button{font-size:14px;padding:1px 9px}#initialHint{display:none}.end-card button{padding:4px 9px;font-size:10px}#saveStatus{font-size:9px;margin:3px}.end-actions{margin-top:4px}#endLabel{font-size:7px}}

.practice-mode{display:block;margin:0 0 14px;font-size:13px;color:#ead5ed}.practice-mode select{background:#26213e;color:#ffe4b0;border:1px solid #716180;padding:7px;margin-left:8px}

#tools{top:calc(8.62% + 5px)}

body.embedded.full-display:not(.touch) #tools{display:none}
/* Revision 2: let the illustrated worlds and sprites carry the opening screen. */
.scanlines{opacity:.22;background:repeating-linear-gradient(transparent 0 3px,#08102017 3px 4px)}
#menu{background:linear-gradient(90deg,#091126b8,#14122a75 53%,#14122a08 83%)}
.title-card{width:90%;text-align:left;background:none;padding-left:5%}
h1{font-size:clamp(46px,8.4vw,106px);letter-spacing:3px;filter:drop-shadow(0 5px 0 #702c69) drop-shadow(0 8px 0 #152439)}
h1 span{color:#fff1bd;text-shadow:3px 0 #ffa678,-2px 0 #ffdfb9}
h1 strong{color:#ff72ad;text-shadow:2px 0 #ffd1d8,-2px 0 #80274d}
.main-actions{justify-content:flex-start}.menu-bottom{justify-content:flex-start;gap:14px}#tagline{color:#f9e3dc;text-shadow:0 2px 2px #080e24}.eyebrow{color:#adfff5;letter-spacing:2px}#assetLoading{font-size:12px;color:#b9f8ec;letter-spacing:2px}#screen{box-shadow:0 0 0 1px #3e6077,0 15px 70px #0009}.primary{background:#ffcb6b;border-color:#ffe5a2;box-shadow:0 4px 0 #a85349}.panel-card{background:#0e1c31f2;border-color:#53989d}
@media(max-width:540px) and (orientation:portrait){.title-card{width:100%;padding-left:6%}h1{font-size:39px}.eyebrow{font-size:7px;letter-spacing:.7px}.main-actions{gap:4px}.main-actions button,.main-actions .primary{font-size:8px;padding:7px}.menu-bottom{gap:5px;font-size:7px}.menu-bottom select{font-size:9px}#assetLoading{font-size:8px}}
@media(max-height:520px) and (orientation:landscape){h1{font-size:clamp(40px,14vh,76px)}.title-card{padding-left:6%}.menu-bottom{gap:10px}}

/* Same iOS selection protection as Monster's Cup, applied to button descendants too. */
html,body,#arcade,button,#tools *,#touch,#touch *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#touch button,#stick{-webkit-appearance:none;appearance:none}
#touch *::selection,#tools *::selection{background:transparent}
#touch button:active{background:#50687a66;border-color:#e8ffef}

/* Fullscreen controls live outside the 16:9 canvas. */
#arcade{position:relative}
body.full-display #screen,body.is-full #screen{flex:none;max-height:100%;aspect-ratio:16/9}
body.full-display #arcade,body.is-full #arcade{padding:0;overflow:hidden}
body.full-display #tools{display:none}
body.full-display.touch #tools{display:flex;left:50%;top:auto;bottom:12px;transform:translateX(-50%);opacity:1}
body.full-display #tools #touchToggle{display:none}
body.full-display #tools button{width:36px;height:36px;font-size:17px}
body.full-display.touch #touch,body.is-full.touch #touch{inset:0;height:auto;background:none}
body.full-display.touch #arcade,body.is-full.touch #arcade{padding-bottom:104px}
body.full-display.touch #screen,body.is-full.touch #screen{width:min(100%,calc((100dvh - 104px)*16/9))}
body.full-display #stick,body.is-full #stick{left:16px;bottom:10px;width:84px;height:84px}
body.full-display #stick i,body.is-full #stick i{width:32px;height:32px;left:24px;top:24px}
body.full-display .fire-buttons,body.is-full .fire-buttons{right:16px;bottom:10px;gap:14px}
body.full-display .fire-buttons button,body.is-full .fire-buttons button{width:68px;height:68px;font-size:22px}
body.full-display #fireTouch,body.is-full #fireTouch{width:82px;height:82px}
body.is-full #arcade{padding-top:40px}
body.is-full #screen{width:min(100%,calc((100dvh - 40px)*16/9))}
body.is-full.touch #screen{width:min(100%,calc((100dvh - 144px)*16/9))}
body.is-full #tools{left:8px;top:2px;bottom:auto;transform:none;opacity:1}
body.is-full #tools button{min-width:36px;height:36px}
@media(orientation:landscape) and (min-aspect-ratio:2/1){
 body.full-display.touch #arcade{padding:0 94px}
 body.full-display.touch #screen{width:min(100%,calc(100dvh*16/9))}
 body.is-full.touch #arcade{padding:40px 94px 0}
 body.is-full.touch #screen{width:min(100%,calc((100dvh - 40px)*16/9))}
 body.full-display #stick,body.is-full #stick{left:5px;bottom:14px}
 body.full-display .fire-buttons,body.is-full .fire-buttons{right:9px;bottom:14px;flex-direction:column;gap:14px}
 body.full-display .fire-buttons button,body.is-full .fire-buttons button{width:64px;height:64px}
 body.full-display #fireTouch,body.is-full #fireTouch{width:76px;height:76px}
 body.full-display.touch #tools{left:7px;top:8px;bottom:auto;transform:none;gap:4px}
}
@media(orientation:portrait){body.full-display.touch #arcade,body.is-full.touch #arcade{padding-bottom:120px}body.full-display.touch #screen{width:min(100%,calc((100dvh - 120px)*16/9))}body.is-full.touch #screen{width:min(100%,calc((100dvh - 160px)*16/9))}}
