:root{font-family:system-ui,-apple-system,"Malgun Gothic",sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);color:#193e4b;background:#193e4b;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{min-height:100dvh}button,input{font:inherit}button{border:0;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button{transition:transform .12s}button:active{transform:translateY(1px)}#app{position:relative;isolation:isolate;width:100%;height:100dvh;overflow:hidden;margin:auto;background:#bce3d9}#world{position:absolute;inset:0;touch-action:none}canvas{display:block;touch-action:none;outline-offset:-5px}
#world>canvas{width:100%;height:100%}
.boot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#d9eee2;color:#193e4b;font-size:13px;line-height:1.8}.boot button{padding:12px 25px;margin-top:15px;border-radius:12px;background:#267f81;color:#fff5da}
.home-art,.home-shade,.map-art{position:absolute;inset:0;pointer-events:none}.topbar{position:absolute;top:0;left:0;right:0;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-tag{display:flex;align-items:center;gap:7px}.brand-tag i{display:inline-block;border-radius:50%}.icon-button{background:none;width:44px;height:44px;padding:0}.original-icon{display:inline-block;width:100%;height:100%;object-fit:contain}.home-title{position:absolute;z-index:2}.home-title p{line-height:1.5}.eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.7px}.home-title h1{margin:12px 0}.showcase{display:none}.home-bottom{position:absolute;z-index:4;left:22px;right:22px;bottom:calc(var(--safe-bottom) + 20px)}.adventure-info{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.adventure-info strong{display:block;margin-top:4px;white-space:nowrap}.adventure-info strong small{font-size:10px;font-weight:600}.star-count{display:flex;align-items:center;gap:4px;font-weight:900;font-size:13px}.star-count .original-icon{width:19px;height:19px}.star-count small{font-size:9px;font-weight:600}.primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 16px;font-size:18px;font-weight:900}.button-arrow{font-size:23px}.home-links{display:flex;margin-top:15px;gap:10px}.home-links button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;min-height:44px;font-weight:800}.home-links .original-icon{width:19px;height:19px;flex:none}.help-icon{display:inline-grid;place-items:center;width:19px;height:19px;border:1px solid;border-radius:50%;font-size:12px;font-weight:900}.home-note{display:block;text-align:center;margin-top:14px;line-height:1.4}
.game-top{position:absolute;z-index:4;top:calc(var(--safe-top) + 14px);left:14px;right:14px;display:flex;align-items:flex-start;pointer-events:none}.game-top #pause{position:absolute;right:0;pointer-events:auto;color:transparent;border:0}.stage-label{position:absolute;text-align:center}.stage-label span,.stage-label b{display:block}.ammo{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ammo>.original-icon,#turn-total{display:none}.ammo strong{font-variant-numeric:tabular-nums}.ammo span{font-weight:800}.progress-card{position:absolute;z-index:4;pointer-events:none}.progress-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress-track{overflow:hidden;border-radius:8px}.progress-track i{display:block;width:0;height:100%;border-radius:inherit;transition:width .15s}.game-bottom{position:absolute;z-index:4;bottom:calc(var(--safe-bottom) + 18px);left:16px;right:16px;text-align:center;pointer-events:none}.game-bottom #hint{display:inline-block;margin:0;line-height:1.5}.boost-note{display:none}#turn-warning{position:absolute;z-index:5;left:50%;transform:translateX(-50%);white-space:nowrap;padding:6px 12px;border-radius:20px;opacity:0;pointer-events:none;font-size:11px;font-weight:900}#turn-warning.visible{opacity:1}#combo{display:none!important}.loading-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center}.loader{width:34px;height:34px;border:4px solid;border-radius:50%;animation:spin .8s linear infinite}
.modal-layer{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:calc(var(--safe-top) + 20px) 22px calc(var(--safe-bottom) + 20px);animation:appear .15s ease-out}.modal{width:100%;padding:25px 23px 21px;text-align:center;overflow:auto;overscroll-behavior:contain}.modal h2{font-size:25px;margin:10px 0 16px;line-height:1.25}.modal p{font-size:12px;line-height:1.8}.modal-kicker{font-size:9px;letter-spacing:1px;font-weight:800}.modal .primary{margin-top:19px;font-size:16px}.secondary{display:block;width:100%;padding:13px 15px;min-height:47px;margin-top:13px;font-weight:900;font-size:13px}.text-button{padding:9px 12px;margin-top:10px;background:none;font-size:12px}.round-button{display:grid;place-items:center;font-size:27px;border-radius:50%;padding:0;width:44px;height:44px;flex:none}.toggle-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:16px 0;font-size:14px;font-weight:800;border-bottom:1px solid}.toggle-row input{position:absolute;right:0;width:45px;height:28px;opacity:0;cursor:pointer;z-index:1}.toggle{pointer-events:none;width:44px;height:26px;border-radius:20px;background:#c1cfc3;padding:3px}.toggle:after{content:'';display:block;width:20px;height:20px;background:white;border-radius:50%;box-shadow:0 1px 3px #193e4b33;transition:transform .15s}input:checked+.toggle:after{transform:translateX(18px)}input:focus-visible+.toggle{outline:3px solid #f47565;outline-offset:3px}.tutorial-hero{text-align:center}.tutorial-hero img{width:85px;height:85px}.instructions{counter-reset:step;text-align:left;padding:0;list-style:none;margin:17px 0}.instructions li{position:relative;counter-increment:step;padding-left:33px;margin:14px 0}.instructions li:before{content:counter(step);display:grid;place-items:center;position:absolute;left:0;top:2px;width:23px;height:23px;border-radius:7px;background:#d4e6d8;color:#267f81;font-size:12px;font-weight:900}.instructions b{display:block;font-size:13px;margin-bottom:4px}.instructions span{display:block;font-size:11px;line-height:1.7}.modal .modal-note{font-size:10px;background:#e8ecda;padding:10px;border-radius:11px}.result-art{height:76px;margin:10px 0}.result-art img{width:76px;height:76px}.result-stars{display:flex;align-items:center;justify-content:center;gap:9px;margin:15px 0}.result-stars img{width:43px;height:43px}.result-stars img:nth-child(2){transform:translateY(-5px) scale(1.12)}.result-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;margin:14px 0;font-size:12px}.result-stat b{font:900 23px/1.2 system-ui}.result-stat small{font-size:12px;color:#608580;font-weight:700}
.levels-page{padding:0}.page-header{position:relative;z-index:2;display:flex;align-items:center;gap:13px;padding:calc(var(--safe-top) + 22px) 22px 11px}.page-header h1{margin:5px 0 0;font-size:24px}.map-tabs,.map-pagination{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;margin:9px 20px}.map-tabs button{flex:1;font-weight:900;padding:10px 8px}.map-pagination button{font-weight:800;padding:8px 12px}.map-pagination span{text-align:center;min-width:95px;font-weight:900}.map-intro{position:relative;text-align:center;margin:10px 15px;font-size:11px}.level-scroll{position:relative;height:calc(100% - 233px - var(--safe-top));overflow:auto;overscroll-behavior:contain;padding:10px 20px 35px}.level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px 9px}.level-tile{min-width:0;min-height:89px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:9px 3px;font-size:18px;font-weight:900}.level-tile small{display:block;white-space:nowrap;font-size:10px;font-weight:700}
#toast{position:fixed;z-index:100;bottom:calc(var(--safe-bottom) + 26px);left:50%;transform:translate(-50%,10px);width:max-content;max-width:min(90vw,420px);padding:12px 17px;border-radius:13px;line-height:1.5;text-align:center;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0}}@media(min-width:600px){body{display:flex;align-items:center;justify-content:center}#app{max-width:460px;height:min(920px,100dvh)}}@media(max-width:370px){.level-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-bottom{left:17px;right:17px}.modal-layer{padding-left:17px;padding-right:17px}.modal{padding:22px 19px}}@media(max-height:650px){.modal h2{font-size:22px}.modal{padding:20px}.instructions li{margin:10px 0}.modal .primary{margin-top:13px}.page-header{padding-top:calc(var(--safe-top) + 15px)}}

/* Pirate Cargo: all product chrome is separate from the physics and source art. */
.pirate-skin{background:#193e4b;color:#193e4b;color-scheme:light}
.pirate-skin body{background:#193e4b;color:#193e4b}
.pirate-skin #app{background:#bce3d9;box-shadow:0 0 100px #082d3866}
.pirate-skin button{font-family:inherit;-webkit-tap-highlight-color:transparent}
.pirate-skin button:focus-visible,.pirate-skin input:focus-visible{outline:3px solid #f47565;outline-offset:4px}
.pirate-skin .home-art{background:#f5d293 url('./pirate/beach-sunny-v3.png') center/cover no-repeat}
.pirate-skin .home-art:before,.pirate-skin .home-art:after{display:none}
.pirate-skin .home-shade{background:linear-gradient(#082f5c00 0%,#082f5c00 42%,#07364b11 61%,#062b55ed 100%)}
.pirate-skin .topbar{z-index:5;padding-top:calc(var(--safe-top) + 18px)}
.pirate-skin .brand-tag{visibility:hidden}
.pirate-skin .brand-tag i{background:#f47565;width:7px;height:7px}
.pirate-skin .home #settings{width:44px;height:44px;padding:0;background:none;box-shadow:none}
.pirate-crest{position:absolute;left:50%;top:9%;transform:translateX(-50%) rotate(-5deg);width:208px;z-index:2;text-align:center;filter:drop-shadow(0 8px 9px #052e7590)}
.pirate-crest img{display:block;width:100%;height:auto}
.pirate-crest span{position:absolute;bottom:-1px;left:11px;right:11px;background:linear-gradient(#277db9,#073e76);border:2px solid #ffd15b;color:#fff7d4;border-radius:10px;padding:6px;font-size:11px;font-weight:900;letter-spacing:2px;transform:rotate(3deg);box-shadow:inset 0 2px #97dfff77,0 3px 5px #032c5c88;text-shadow:0 2px #022247}
.pirate-skin .home-title{display:block;top:39%;left:15px;right:15px;text-align:center}
.pirate-skin .home-title .eyebrow{font-size:10px;letter-spacing:2px;color:#fff5bf;font-weight:900;text-shadow:0 2px 3px #064684}
.pirate-skin .home-title h1{font:1000 44px/.96 system-ui;margin:12px 0 10px;letter-spacing:-3px;color:#ffdb45;-webkit-text-stroke:1px #fff1a0;text-shadow:0 3px #b85c0a,0 5px #083569,2px 5px #083569,-2px 5px #083569,0 8px 7px #08356970;transform:rotate(-3deg)}
.pirate-skin .home-title h1 span{display:block;font-size:64px;color:#fff4c8;-webkit-text-stroke:1px #ffde78;text-shadow:0 3px #d79826,0 6px #073b73,2px 5px #073b73,-2px 5px #073b73,0 8px 8px #03295090;letter-spacing:-4px;margin-top:5px}
.pirate-skin .home-title p{color:#fff;font-size:12px;font-weight:800;margin:13px 0;text-shadow:0 2px 3px #034676}
.pirate-skin .home-bottom{bottom:calc(var(--safe-bottom) + 20px);left:22px;right:22px;color:#193e4b}
.pirate-skin .home .adventure-info{background:linear-gradient(#155d94ef,#073568f2);border:2px solid #dca84b;border-radius:16px;padding:11px 14px;box-shadow:inset 0 2px #76b8e466,0 4px 9px #05204370;color:#fff5c9}
.pirate-skin .home .adventure-info strong{color:#fff5c9;font-size:17px}
.pirate-skin .home .adventure-info strong small,.pirate-skin .home .adventure-info .eyebrow{color:#adddf5}
.pirate-skin .home .star-count{color:#ffdd5d}
.pirate-skin .home .star-count small{color:#a9d6ef}
.pirate-skin .primary{background:linear-gradient(#83de46 0%,#4ebe1f 47%,#289f19 49%,#187b17 100%);border:2px solid #ffc948;color:#fffde4;border-radius:16px;text-shadow:0 2px #176517;box-shadow:inset 0 3px #d4ff8e,inset 0 -3px #075a1e,0 5px #053a40,0 7px 10px #032e5755;font-weight:1000;min-height:54px}
.pirate-skin .primary:active{transform:translateY(3px);box-shadow:inset 0 2px #b2ef75,0 2px #053a40}
.pirate-skin .home-links{gap:10px}
.pirate-skin .home-links button{background:linear-gradient(#227fba,#0a4b84);border:2px solid #dca84b;color:#fff7d4;border-radius:13px;font-size:11px;box-shadow:inset 0 2px #87d4ff55,0 3px #052c57;text-shadow:0 1px #052c57}
.pirate-skin .home-note{color:#fff5da;font-size:10px;font-weight:700;margin-top:12px;letter-spacing:.4px}
.pirate-skin .help-icon{color:#fff5da;background:#267f81;border-color:#193e4b}
.pirate-skin #pause{top:6px;width:48px;height:48px;background:transparent url('./pirate/icon-settings.png') center/contain no-repeat;border:0}
.pirate-skin .stage-label{top:8px;left:105px;right:58px;padding:9px 4px;background:linear-gradient(#146ba4ed,#073b6df5);border:2px solid #edb34e;border-radius:13px;box-shadow:inset 0 2px #87d9ff66,0 3px 6px #04336755}
.pirate-skin .stage-label span{color:#b4eaff;font-size:8px;font-weight:800;letter-spacing:.3px}
.pirate-skin .stage-label b{color:#fff5ca;font-size:13px;margin-top:3px;text-shadow:0 2px #043264}
.pirate-skin .ammo{width:89px;height:98px;padding:23px 3px 3px;background:linear-gradient(#ffffed,#e1f2ff);border:3px solid #ffd36a;border-radius:18px;box-shadow:inset 0 2px white,0 0 0 2px #0a3c70,0 5px 8px #073e6488;color:#12538c}
.pirate-skin .ammo:before{content:'남은 포탄';top:-4px;left:-1px;right:-1px;height:25px;border:2px solid #ffd36a;border-radius:12px;background:linear-gradient(#1982bd,#083e73);color:#fff5ca;font:900 11px/20px system-ui;text-shadow:0 1px #062d53;letter-spacing:1px}
.pirate-skin .ammo strong{font:1000 44px/1 system-ui;text-shadow:0 2px white,0 3px #7caece}
.pirate-skin .ammo span{font-size:9px;color:#587c79;margin:2px 0 0}
.pirate-skin .ammo.low-turns{background:#ffe1ca;border-color:#a8483f;color:#a8483f;box-shadow:0 4px #a8483f33}
.pirate-skin .ammo.low-turns:before{background:#d56151;border-color:#a8483f}
.pirate-skin .difficulty-2 .ammo{background:#f8e3c7}
.pirate-skin .difficulty-3 .ammo{background:#f9d4d0;color:#913e3b}
.pirate-skin .difficulty-3 .ammo span{color:#913e3b}
.pirate-skin .progress-card{opacity:1;top:calc(var(--safe-top) + 119px);left:20px;right:20px;background:#063d6ac9;border:1px solid #74b9e399;border-radius:10px;padding:7px 10px;box-shadow:inset 0 1px #a0e5ff44;color:#edf8ff}
.pirate-skin .progress-card>div:first-child{margin-bottom:4px;font-size:10px}
.pirate-skin #progress-label{color:#ffec9a;font-size:10px}
.pirate-skin .progress-track{height:5px;background:#082c56;box-shadow:inset 0 1px #021e3e}
.pirate-skin .progress-track i{background:linear-gradient(#ffef8a,#ffb820)}
.pirate-skin #hint{color:#193e4b;background:#fff5daed;border:1px solid #193e4b55;border-radius:20px;padding:8px 13px;box-shadow:0 3px #193e4b13;font-weight:800;font-size:10px}
.pirate-skin #turn-warning{top:calc(var(--safe-top) + 164px);color:#fff5da;background:#b95049;border:2px solid #193e4b}
.pirate-skin .loading-overlay{background:#d9eee2;color:#193e4b;font-size:12px;gap:16px}
.pirate-skin .loader{border-color:#b2d4c6;border-top-color:#f47565}
.pirate-skin .modal-layer{background:#123c4f80;backdrop-filter:blur(4px)}
.pirate-skin .modal{background:linear-gradient(#fffdf2,#f0e7cd);border:3px solid #f5c45c;border-radius:26px;color:#193e4b;box-shadow:inset 0 2px white,0 0 0 3px #0b3a69,0 12px 28px #02255288;max-height:calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom));overflow:auto}
.pirate-skin .modal h2{color:#193e4b;font-weight:1000;letter-spacing:-1px}
.pirate-skin .modal-kicker{color:#267f81;font-weight:900;letter-spacing:1.4px}
.pirate-skin .modal p,.pirate-skin .instructions span{color:#5b7777}
.pirate-skin .instructions b{color:#193e4b}
.pirate-skin .secondary{border:2px solid #9cc1b6;background:#e0ece0;color:#28535d;border-radius:14px}
.pirate-skin .text-button{color:#567c79;font-weight:800;min-height:44px}
.pirate-skin .toggle-row{color:#193e4b;border-color:#d5d5bd}
.pirate-skin .toggle-row input:checked+span{background:#267f81}
.pirate-skin .result-stat{background:#e5e8d4;color:#456a68;border-radius:13px}
.pirate-skin .result-stat b{color:#193e4b}
.pirate-skin .result-stars .unearned{filter:grayscale(1);opacity:.3}
.pirate-skin .tutorial-hero{height:85px;margin:12px 0}
.pirate-skin .tutorial-hero img{width:85px}
.pirate-skin .levels-page{background:#e6eddb!important;color:#193e4b}
.pirate-skin .map-art{background:radial-gradient(ellipse at 50% -20%,#fff5da,transparent 68%),repeating-linear-gradient(-25deg,#267f8105 0 22px,transparent 22px 50px)}
.pirate-skin .page-header h1{font-size:24px;letter-spacing:-1px;color:#193e4b}
.pirate-skin .page-header .eyebrow{color:#5b8076;font-size:9px}
.pirate-skin .round-button{border:2px solid #193e4b;color:#193e4b;background:#fff5da;min-width:44px;min-height:44px;box-shadow:0 3px #193e4b22}
.pirate-skin .map-intro{color:#58796e;font-size:11px}
.pirate-skin .map-tabs button,.pirate-skin .map-pagination button{background:#fff5da;border:2px solid #72978c;color:#28535d;font-size:11px;border-radius:12px;min-height:44px}
.pirate-skin .map-tabs button.selected{background:#267f81;border-color:#193e4b;color:#fff5da}
.pirate-skin .map-pagination span{color:#28535d;font-size:13px}
.pirate-skin .level-tile{background:linear-gradient(#fffdf0,#f2dfae);border:2px solid #c6a66d;border-radius:15px;color:#24527b;box-shadow:inset 0 2px white,0 3px #937f59}
.pirate-skin .level-tile.current{background:linear-gradient(#2c94d4,#0e5599);border-color:#ffc948;color:#fff5da;box-shadow:inset 0 2px #95e1ff,0 3px #07386c}
.pirate-skin .level-tile.locked{background:#cbd8c8;border-color:#b3c6b7;color:#7f978a;opacity:.7;box-shadow:none}
.pirate-skin .level-tile small{font-size:10px;color:inherit}
.pirate-skin #toast{background:#193e4bf5;color:#fff5da;border:1px solid #aacfc5;bottom:calc(var(--safe-bottom) + 26px);font-size:12px}
@media(min-width:600px){.pirate-skin body{background:radial-gradient(ellipse at 50% 40%,#3f8e8a,#193e4b 85%)}}
@media(max-height:740px){.pirate-crest{top:11%;width:150px}.pirate-crest span{font-size:9px;padding:4px}.pirate-skin .home-title{top:36%}.pirate-skin .home-title h1{font-size:32px;margin:9px 0}.pirate-skin .home-title h1 span{font-size:49px}.pirate-skin .home-title p{font-size:10px;margin:10px 0}.pirate-skin .home-title .eyebrow{font-size:8px;letter-spacing:1px}.pirate-skin .home-bottom{bottom:calc(var(--safe-bottom) + 17px)}.pirate-skin .home-note{display:none}.pirate-skin .home .adventure-info{padding:8px 12px}.pirate-skin .home .adventure-info strong{font-size:15px}}
@media(max-height:600px){.pirate-crest{width:110px;top:12%}.pirate-skin .home-title{top:35%}.pirate-skin .home-title h1{font-size:24px}.pirate-skin .home-title h1 span{font-size:37px}.pirate-skin .home-title p{display:none}.pirate-skin .home-title .eyebrow{display:none}.pirate-skin .primary{min-height:46px}.pirate-skin .home-bottom{bottom:12px}.pirate-skin .home-links button{padding:7px;min-height:39px}}
@media(prefers-reduced-motion:reduce){.pirate-skin *, .pirate-skin *:before,.pirate-skin *:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Flow-based HUD and menu layout. The renderer/camera remain unchanged. */
:root{--native-nav:0px}.in-toss{--native-nav:44px}
[hidden]{display:none!important}
.pirate-skin button{line-height:1.35;overflow-wrap:anywhere}
.pirate-skin button:disabled{cursor:default}
.pirate-skin .topbar{padding:calc(var(--safe-top) + var(--native-nav) + 12px) 18px 8px}
.pirate-skin #app.home{display:grid;grid-template-rows:minmax(0,1fr) auto}
.pirate-skin .home-hero{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:0;padding:calc(var(--safe-top) + var(--native-nav) + 50px) 16px 12px;overflow:auto;overscroll-behavior:contain}
.pirate-skin .pirate-crest{position:relative;inset:auto;left:auto;top:auto;transform:rotate(-4deg);width:clamp(116px,23vh,208px);flex:none}
.pirate-skin .home-title{position:static;inset:auto;text-align:center;flex:none}
.pirate-skin .home-title h1{font-size:clamp(29px,5vh,42px);line-height:1.05;margin:8px 0}
.pirate-skin .home-title h1 span{font-size:clamp(42px,7vh,62px);line-height:1.08;margin-top:2px}
.pirate-skin .home-title p{font-size:12px;line-height:1.5;margin:10px 0 0}
.pirate-skin .home-title .eyebrow{font-size:10px;line-height:1.5;letter-spacing:1px}
.pirate-skin .home-bottom{position:relative;inset:auto;left:auto;right:auto;bottom:auto;padding:0 20px calc(var(--safe-bottom) + 18px);min-width:0}
.pirate-skin .adventure-info{min-width:0;margin-bottom:12px}
.pirate-skin .adventure-info strong{white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.pirate-skin .star-count{flex:none;white-space:nowrap}
.pirate-skin .home-links{margin-top:12px}
.pirate-skin .home-links button{min-width:0}
.pirate-skin .home-note{margin-top:10px}

.pirate-skin .play-hud{position:absolute;z-index:4;top:calc(var(--safe-top) + var(--native-nav) + 12px);left:calc(var(--safe-left) + 12px);right:calc(var(--safe-right) + 12px);pointer-events:none;min-width:0}
.pirate-skin .game-top{position:static;inset:auto;display:grid;grid-template-columns:86px minmax(0,1fr) 44px;gap:10px;align-items:center;min-width:0}
.pirate-skin .game-top .ammo{position:relative;inset:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:86px;min-height:76px;height:auto;padding:8px 6px;min-width:0;border-radius:20px;background:linear-gradient(150deg,#fffef6,#eaf6f6);border:1px solid #fff9;box-shadow:0 4px 12px #123c5926,inset 0 -3px #c4dddf;color:#183b55;text-shadow:none}
.pirate-skin .ammo:before{display:none;content:none}
.pirate-skin .ammo .ammo-caption{font-size:11px;line-height:1.5;font-weight:800;color:#426879;margin:0;white-space:nowrap}
.pirate-skin .ammo-value{display:flex;align-items:baseline;justify-content:center;gap:3px}
.pirate-skin .ammo strong{font-size:34px;line-height:1.1;letter-spacing:-1px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:none}
.pirate-skin .ammo-value span{font-size:12px;font-weight:700;line-height:1.4;color:#527380;margin:0}
.pirate-skin .ammo.low-turns{background:linear-gradient(#fff6e8,#ffe3cc);border-color:#fff2dc;color:#b4432e;box-shadow:0 4px 12px #91371322,inset 0 -3px #eebd9c}
.pirate-skin .ammo.low-turns .ammo-caption{color:#9b513b}
.pirate-skin .stage-label{position:static;inset:auto;min-width:0;padding:8px 5px;background:none;border:0;box-shadow:none;text-align:center;white-space:normal;filter:drop-shadow(0 1px 2px #fff9)}
.pirate-skin .stage-label span{font-size:10px;line-height:1.5;letter-spacing:.5px;word-break:keep-all;color:#315e74;font-weight:800}
.pirate-skin .stage-label b{display:block;font-size:clamp(15px,4.4vw,19px);line-height:1.35;overflow-wrap:anywhere;word-break:keep-all;margin-top:2px;color:#153f59;text-shadow:0 1px #fff8;font-weight:900;letter-spacing:-.6px}
.pirate-skin .stage-label .weapon-label{display:block;margin-top:3px;color:#325a6f;font-size:10px;line-height:1.45;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
.pirate-skin .game-top #pause{position:relative;inset:auto;right:auto;top:auto;width:44px;height:44px;min-width:44px;min-height:44px;pointer-events:auto;background:linear-gradient(#fffef6,#e7f0ed);border:1px solid #fff9;border-radius:15px;box-shadow:0 3px 8px #123c5920,inset 0 -2px #c4dddf}
.pirate-skin #pause:before,.pirate-skin #pause:after{content:'';position:absolute;top:13px;height:17px;width:5px;background:#284d65;border-radius:2px}.pirate-skin #pause:before{left:14px}.pirate-skin #pause:after{right:14px}
.pirate-skin .progress-card{position:static;inset:auto;margin-top:10px;padding:8px 12px;min-width:0;background:#173e57e8;border:1px solid #ffffff40;border-radius:14px;box-shadow:0 3px 8px #143e5520;color:#ecf9ff}
.pirate-skin .progress-card>div:first-child{font-size:11px;line-height:1.4;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.pirate-skin #progress-label{font-size:12px;line-height:1.4;color:#fff3ca;font-variant-numeric:tabular-nums}
.pirate-skin .progress-track{height:6px;border-radius:4px;background:#09273b;box-shadow:none;overflow:hidden}
.pirate-skin .progress-track i{background:linear-gradient(90deg,#65d7be,#c8ee92);border-radius:4px;box-shadow:none}
.pirate-skin #hint{display:block;margin:7px auto 0;max-width:100%;width:fit-content;padding:4px 10px;border:0;border-radius:12px;color:#244d62;background:#fff7e3d9;text-shadow:none;font-size:11px;font-weight:700;line-height:1.5;text-align:center;word-break:keep-all;overflow-wrap:anywhere;box-shadow:0 2px 6px #143e5510}
.pirate-skin #turn-warning{display:none;position:static;inset:auto;transform:none;max-width:100%;width:fit-content;margin:7px auto 0;white-space:normal;word-break:keep-all;font-size:11px;line-height:1.45}
.pirate-skin #turn-warning.visible{display:block;opacity:1}

.pirate-skin .booster-dock{position:absolute;z-index:5;left:calc(var(--safe-left) + 12px);right:calc(var(--safe-right) + 12px);bottom:calc(var(--safe-bottom) + 14px);display:grid;grid-template-columns:repeat(2,clamp(64px,18vw,78px));justify-content:space-between;gap:12px 0;pointer-events:none}
.pirate-skin .boost-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding:0 1px 3px;min-height:94px;min-width:0;background:none;color:#163f56;pointer-events:auto;filter:none;text-shadow:0 1px #fff9;border-radius:15px}
.pirate-skin .boost-image{position:relative;display:block;width:clamp(52px,15vw,62px);height:clamp(52px,15vw,62px);flex:none}
.pirate-skin .boost-image img{display:block;width:100%;height:100%;object-fit:contain}
.pirate-skin .boost-card strong{font-size:11px;font-weight:900;line-height:1.35;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.pirate-skin .boost-status{display:block;max-width:100%;background:#fff8e8e8;border:1px solid #fff8;border-radius:8px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.35;white-space:normal;color:#31536a;word-break:keep-all;text-shadow:none}
.pirate-skin .boost-badge{position:absolute;right:-2px;bottom:2px;display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:#173f59;border:1px solid #ffffffb0;text-shadow:none;box-shadow:0 2px 3px #23475a33}
.pirate-skin .boost-badge[data-state=ad]:after{content:'';border-left:6px solid #fff6d5;border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}
.pirate-skin .boost-badge[data-state=locked]:before{content:'';position:absolute;width:7px;height:7px;left:5px;top:3px;border:2px solid #e8f3ed;border-radius:5px}
.pirate-skin .boost-badge[data-state=locked]:after{content:'';position:absolute;width:10px;height:8px;left:4px;top:8px;background:#e8f3ed;border-radius:2px}
.pirate-skin .boost-badge[data-state=ready]{background:#278760}.pirate-skin .boost-badge[data-state=ready]:after{content:'';width:8px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg);margin-top:-2px}
.pirate-skin .boost-card.locked .boost-image{filter:saturate(.3) brightness(.82)}
.pirate-skin .boost-card:disabled{opacity:.65}
.pirate-skin .boost-card.selected .boost-image{filter:drop-shadow(0 0 4px #fff7a5);outline:2px solid #f4b53c;outline-offset:2px;border-radius:16px}
.pirate-skin .boost-card.selected .boost-status{background:#2b802e;border-color:#e8fb9c;color:white}
.pirate-skin .item-hero{height:88px;margin:0 auto 6px}.pirate-skin .item-hero img{height:88px;width:88px;object-fit:contain}
.pirate-skin .item-details{border:1px solid #b9c9c5;background:#e1ede5;border-radius:10px;padding:9px;font-size:12px;font-weight:800;line-height:1.5;color:#28536a;word-break:keep-all}
.pirate-skin .preview-only{font-size:12px;background:#e2eef9;border-style:dashed;border-color:#5490b1;color:#215275}
.pirate-skin .primary:disabled{background:linear-gradient(#d6d7c3,#a8b4a2);box-shadow:inset 0 2px #eef0df,0 3px #6a7c79;color:#f6f6ed;text-shadow:0 1px #657b71;opacity:1;transform:none}
.pirate-skin .modal-layer{padding:calc(var(--safe-top) + var(--native-nav) + 16px) 18px calc(var(--safe-bottom) + 16px)}
.pirate-skin .modal{max-height:100%;min-height:0;padding:23px 20px 19px;scrollbar-width:thin}
.pirate-skin .modal h2{font-size:clamp(21px,6vw,27px);line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.pirate-skin .modal p{font-size:12px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.pirate-skin .modal .primary,.pirate-skin .modal .secondary{height:auto;min-height:50px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;line-height:1.5;padding:12px}
.pirate-skin .sound-credit{font-size:10px!important;color:#5c7d88!important;word-break:normal!important}
.pirate-skin #app.levels-page{display:flex;flex-direction:column}
.pirate-skin .levels-page .page-header{flex:none;padding-top:calc(var(--safe-top) + var(--native-nav) + 16px)}
.pirate-skin .map-tabs,.pirate-skin .map-pagination,.pirate-skin .map-intro{flex:none}
.pirate-skin .level-scroll{height:auto;flex:1;min-height:0;padding-bottom:calc(var(--safe-bottom) + 24px)}
.pirate-skin .map-tabs button,.pirate-skin .map-pagination button{min-width:0;white-space:normal}
.pirate-skin .level-tile small{max-width:100%;overflow-wrap:anywhere;line-height:1.4}
@media(max-width:350px){.pirate-skin .game-top{grid-template-columns:70px minmax(0,1fr) 44px;gap:7px}.pirate-skin .game-top .ammo{width:70px}.pirate-skin .stage-label{padding:7px 5px}.pirate-skin .stage-label span{font-size:8px}.pirate-skin .weapon-label{font-size:9px}.pirate-skin .modal{padding:20px 16px}.pirate-skin .home-bottom{padding-left:16px;padding-right:16px}}
@media(max-height:660px){.pirate-skin .pirate-crest{width:124px}.pirate-skin .home-title .eyebrow{display:none}.pirate-skin .home-title p{font-size:10px;margin-top:6px}.pirate-skin .home-title h1{font-size:28px}.pirate-skin .home-title h1 span{font-size:42px}.pirate-skin .home-hero{gap:5px}.pirate-skin .booster-dock{gap:7px 0;bottom:calc(var(--safe-bottom) + 8px)}.pirate-skin .boost-image{width:48px;height:48px}.pirate-skin .boost-card{min-height:77px}}
@media(max-height:540px){.pirate-skin .home-hero{flex-direction:row;gap:14px;padding-top:calc(var(--safe-top) + var(--native-nav) + 45px)}.pirate-skin .pirate-crest{width:100px}.pirate-skin .home-title h1{font-size:24px}.pirate-skin .home-title h1 span{font-size:34px}.pirate-skin .home-title p,.pirate-skin .home-note{display:none}.pirate-skin .home-bottom{padding-bottom:calc(var(--safe-bottom) + 10px)}.pirate-skin .home .adventure-info{padding:6px 10px;margin-bottom:8px}.pirate-skin .home-links{margin-top:8px}}

/* Game presentation: HUD, star results and a winding island route. */
.ui-glyph { display:block; width:24px; height:24px; flex:none; }
.pirate-skin .play-hud { left:calc(var(--safe-left) + 14px); right:calc(var(--safe-right) + 14px); }
.pirate-skin .game-top { grid-template-columns:86px minmax(0,1fr) 46px; gap:12px; align-items:start; }
.pirate-skin .game-top .ammo {
 min-height:89px; border:3px solid #ffd56a; border-radius:22px;
 background:linear-gradient(150deg,#197bab 0%,#0c4f80 54%,#092e55 100%);
 box-shadow:inset 0 2px #b6ecf970,inset 0 -4px #052647,0 0 0 2px #10344d,0 5px 10px #062f5140;
 padding:9px 5px 10px; color:#fff9dc;
}
.pirate-skin .ammo .ammo-caption { color:#d6f1f5; font-size:10px; letter-spacing:.2px; }
.pirate-skin .ammo-value { gap:4px; margin-top:3px; }
.pirate-skin .ammo strong { font-size:38px; text-shadow:0 2px #0a355b,0 3px #0a355b; color:#fff8da; }
.pirate-skin .ammo-value span { color:#abd8e8; font-size:12px; }
.pirate-skin .game-top .ammo.low-turns { background:linear-gradient(#e27943,#ae352e); color:#fff4dc; border-color:#ffe08a; box-shadow:inset 0 2px #ffca9780,inset 0 -4px #7d2527,0 0 0 2px #633646,0 5px 10px #062f5140; }
.pirate-skin .ammo.low-turns .ammo-caption,.pirate-skin .ammo.low-turns .ammo-value span { color:#ffe0bd; }
.pirate-skin .stage-label { padding:9px 7px 10px; margin-top:5px; border-radius:0 0 17px 17px; background:linear-gradient(#154f75ed,#123b5de8); border:1px solid #91cee24d; border-top:3px solid #ffd270; box-shadow:inset 0 1px #daf4ff45,0 3px 7px #082d5230; filter:none; }
.pirate-skin .stage-label span { color:#b2d7e5; font-size:9px; letter-spacing:.4px; }
.pirate-skin .stage-label b { color:#fff7d2; font-size:17px; line-height:1.45; margin:2px 0 0; text-shadow:0 2px #082b4b; }
.pirate-skin .stage-label .weapon-label { color:#ffdd8b; font-size:10px; }
.pirate-skin .game-top #pause { width:46px; height:46px; margin-top:6px; color:#fff3c6; border:2px solid #ffd475; border-radius:16px; background:linear-gradient(#2682b4,#104d7d); box-shadow:inset 0 2px #a0e8ff70,0 3px #072c4c,0 5px 8px #103e5140; }
.pirate-skin #pause:before,.pirate-skin #pause:after { display:none; }
.pirate-skin #pause .ui-glyph { width:23px; height:23px; stroke-width:3.5; }
.pirate-skin .progress-card { margin-top:11px; border:0; padding:7px 10px 9px; background:#0c3558d9; border-radius:13px; box-shadow:inset 0 1px #bfe7fa35,0 3px 6px #07315318; }
.pirate-skin .progress-card>div:first-child { font-size:10px; margin-bottom:5px; color:#c7e3ee; }
.pirate-skin #progress-label { color:#fff3c7; font-size:12px; }
.pirate-skin .progress-card>div:first-child { justify-content:flex-start; gap:6px; }
.pirate-skin .star-goal { margin-left:auto; color:#ffe293; font-size:10px; line-height:1.4; font-weight:800; white-space:nowrap; }
.pirate-skin .star-goal[data-rating="2"] { color:#c4e5ee; }
.pirate-skin .star-goal[data-rating="1"] { color:#c8d7df; }
.pirate-skin .progress-track { height:12px; padding:2px; border:1px solid #052a48; border-radius:8px; background:#05273d; box-shadow:inset 0 2px 3px #031d35; }
.pirate-skin .progress-track i { height:100%; background:linear-gradient(#dcff9c,#7ed957 55%,#2daa65); box-shadow:inset 0 1px #fff7; border-radius:6px; }
.pirate-skin #hint { margin-top:8px; font-size:10px; padding:4px 10px; color:#15465d; background:#fff6dcce; box-shadow:none; }
.pirate-skin .booster-dock { bottom:calc(var(--safe-bottom) + 15px); gap:13px 0; }
.pirate-skin .boost-card { gap:0; color:#fff6d6; text-shadow:0 1px 2px #083651; }
.pirate-skin .boost-image { width:62px; height:62px; filter:drop-shadow(0 4px 4px #09354c55); }
.pirate-skin .boost-card strong { background:#123d59ed; padding:3px 8px 1px; border-radius:8px 8px 0 0; min-width:62px; font-size:10px; box-sizing:border-box; }
.pirate-skin .boost-status { border:0; background:#123d59ed; color:#c8e7ed; border-radius:0 0 8px 8px; min-width:62px; padding:1px 5px 4px; font-size:9px; box-sizing:border-box; }
.pirate-skin .boost-card.selected strong,.pirate-skin .boost-card.selected .boost-status { background:#246b48; color:#fff4bd; }
.pirate-skin .boost-card.locked .boost-image { filter:saturate(.25) brightness(.84) drop-shadow(0 3px 3px #153d4d55); }
.pirate-skin .boost-card:disabled { opacity:.83; }
.pirate-skin .boost-badge { bottom:4px; right:-1px; background:#0b3c5e; border:2px solid #fff1bc; border-radius:8px; }

/* A result is a game reward scene, with one dominant next action. */
.pirate-skin .result-layer { background:radial-gradient(ellipse at 50% 38%,#277d9e6b,#031e3bdb 78%); backdrop-filter:blur(7px); }
.pirate-skin .result-dialog { position:relative; isolation:isolate; width:min(100%,370px); padding:22px 22px 15px; border:3px solid #ffd16b; border-radius:34px; color:#fff8df; background:linear-gradient(155deg,#1c78a5,#0f466f 57%,#092f55); box-shadow:inset 0 2px #b8e6f480,inset 0 -5px #062943,0 0 0 3px #082a48,0 22px 60px #00182ca8; overflow:auto; }
.pirate-skin .result-dialog:before { content:''; position:absolute; inset:4px; border-radius:28px; border:1px solid #b0dff62b; pointer-events:none; z-index:-1; }
.pirate-skin .result-stage { display:inline-block; padding:4px 14px; background:#082e50; border:1px solid #80b1c753; border-radius:20px; color:#c8e7f0; font-size:11px; font-weight:800; line-height:1.5; }
.pirate-skin .result-portrait { position:relative; height:116px; display:grid; place-items:center; margin:8px 0 0; }
.pirate-skin .result-portrait:before { content:''; position:absolute; width:160px; height:160px; background:radial-gradient(#ffe48d80,transparent 68%); z-index:-1; }
.pirate-skin .result-portrait img { width:116px; height:116px; object-fit:contain; filter:drop-shadow(0 5px 3px #042b5480); transform:rotate(-5deg); }
.pirate-skin .result-dialog h2 { color:#fff2b5; font-size:clamp(23px,7vw,30px); line-height:1.35; letter-spacing:-1.2px; text-shadow:0 2px #a05e16,0 4px #062d50; margin:7px 0 8px; }
.pirate-skin .result-stars { justify-content:center; align-items:center; gap:5px; height:77px; margin:4px 0 7px; }
.pirate-skin .result-stars img { width:59px; height:59px; transform:rotate(-12deg); filter:drop-shadow(0 4px 3px #04264e66); }
.pirate-skin .result-stars img:nth-child(2) { width:76px; height:76px; transform:translateY(-7px); }
.pirate-skin .result-stars img:nth-child(3) { transform:rotate(12deg); }
.pirate-skin .result-stars .earned { animation:earned-star .45s cubic-bezier(.17,.84,.3,1.35) both; }
.pirate-skin .result-stars .earned:nth-child(2) { animation-delay:.13s; }
.pirate-skin .result-stars .earned:nth-child(3) { animation-delay:.26s; }
.pirate-skin .result-stars .unearned { filter:grayscale(1) brightness(.7); opacity:.45; }
.pirate-skin .result-dialog .result-caption { color:#d0e7ee; font-size:12px; line-height:1.5; margin:0 0 15px; }
.pirate-skin .result-ledger { display:flex; justify-content:center; gap:23px; align-items:center; padding:12px 8px; border-radius:17px; border:1px solid #76a4bc35; background:#062d5080; margin:0 0 16px; }
.pirate-skin .result-ledger>div { display:flex; flex-direction:column; gap:4px; min-width:85px; }
.pirate-skin .result-ledger span { font-size:10px; color:#a9cedd; line-height:1.4; font-weight:700; }
.pirate-skin .result-ledger b { font-size:25px; line-height:1.1; color:#fff6d3; font-variant-numeric:tabular-nums; }
.pirate-skin .result-ledger small { font-size:11px; color:#bedde6; margin-left:4px; }
.pirate-skin .result-ledger>i { display:block; height:28px; width:1px; background:#74a2b93d; }
.pirate-skin .result-dialog .result-next { display:flex; justify-content:center; align-items:center; gap:13px; margin-top:0; min-height:57px; border-radius:18px; font-size:18px; }
.pirate-skin .result-next .ui-glyph { width:22px; height:22px; }
.pirate-skin .result-shortcuts { display:flex; align-items:center; justify-content:center; gap:30px; margin:17px 0 0; }
.pirate-skin .game-shortcut { display:flex; flex-direction:column; align-items:center; gap:4px; min-width:64px; min-height:48px; padding:2px 8px; background:none; border:0; box-shadow:none; color:#c0dce5; font-size:10px; font-weight:800; }
.pirate-skin .game-shortcut .ui-glyph { width:22px; height:22px; }
.pirate-skin .result-dialog.is-lose { border-color:#b6d3e5; background:linear-gradient(155deg,#386d97,#183c66); }
.pirate-skin .result-dialog.is-lose .result-portrait img { width:90px; height:90px; transform:rotate(8deg); }
.pirate-skin .result-dialog.is-lose h2 { color:#fff2dc; text-shadow:0 3px #173956; }
@keyframes earned-star { from { opacity:0; scale:.35; translate:0 14px; } 65% { scale:1.13; } to { opacity:1; scale:1; translate:0 0; } }

/* Four-column route nodes follow the rope, not a table of rectangular cards. */
.pirate-skin #app.levels-page { position:relative; isolation:isolate; background:#f3ddb2!important; }
.pirate-skin .levels-page .map-art { position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 0 45%,#e3bb7f88,transparent 34%),radial-gradient(ellipse at 100% 74%,#c7b98655,transparent 30%),repeating-radial-gradient(ellipse at 20% 40%,transparent 0 36px,#cba67e18 38px 39px,transparent 41px 78px),linear-gradient(#d6ebdc 0,#f7e7c5 210px,#efd7a9); }
.pirate-skin .levels-page .page-header { display:flex; align-items:center; gap:13px; padding-left:20px; padding-right:18px; padding-bottom:13px; background:linear-gradient(#0c4d79,#164b6b); border-bottom:3px solid #d4ae68; box-shadow:0 3px 9px #113a5430; }
.pirate-skin .levels-page .page-header .round-button { width:44px; height:44px; color:#fff2c5; background:linear-gradient(#317eaa,#194e7b); border:2px solid #edcc85; border-radius:15px; box-shadow:inset 0 2px #b9e2f23d,0 3px #082f50; }
.pirate-skin .levels-page .page-header .eyebrow { display:block; color:#a9d3de; font-size:9px; line-height:1.5; }
.pirate-skin .levels-page .page-header h1 { margin:4px 0 0; font-size:25px; line-height:1.2; color:#fff3cb; letter-spacing:-1px; text-shadow:0 2px #062f51; }
.pirate-skin .map-captain { width:61px; height:61px; object-fit:contain; margin-left:auto; filter:drop-shadow(0 4px 3px #062e4d70); }
.pirate-skin .map-tabs { display:flex; align-items:center; gap:5px; margin:13px 20px 0; padding:4px; background:#d7b98b; border-radius:17px; box-shadow:inset 0 2px 3px #a9835b3d,0 1px #fff7; }
.pirate-skin .map-tabs button { display:flex; flex:1; justify-content:center; align-items:center; gap:7px; padding:9px 5px; margin:0; min-height:42px; font-size:12px; background:none; color:#715636; border:0; box-shadow:none; border-radius:13px; }
.pirate-skin .map-tabs .ui-glyph { width:17px; height:17px; }
.pirate-skin .map-tabs button.selected { color:#fff4c6; background:linear-gradient(#378ca5,#17617c); border:0; box-shadow:inset 0 1px #a6e7ea80,0 2px #123f5b; }
.pirate-skin .map-pagination { display:flex; align-items:center; justify-content:space-between; padding:12px 25px 8px; gap:10px; margin:0; }
.pirate-skin .map-pagination button { display:grid; place-items:center; padding:0; min-width:40px; min-height:40px; width:40px; height:40px; border:1px solid #bf9d65; border-radius:14px; color:#6c532d; background:linear-gradient(#fff7da,#e9d0a2); box-shadow:inset 0 1px white,0 2px #bea170; }
.pirate-skin .map-pagination button:disabled { opacity:.35; box-shadow:none; }
.pirate-skin .map-pagination>div { display:flex; flex-direction:column; gap:3px; align-items:center; }
.pirate-skin .map-pagination b { font-size:15px; color:#725333; line-height:1.4; }
.pirate-skin .map-pagination span { font-size:10px; color:#92714c; line-height:1.4; }
.pirate-skin .level-scroll { padding:0 18px calc(var(--safe-bottom) + 20px); scrollbar-width:thin; scrollbar-color:#b49a6a transparent; }
.pirate-skin .route-map { position:relative; min-height:var(--route-height); }
.pirate-skin .route-line { position:absolute; top:0; left:0; width:100%; height:var(--route-height); overflow:visible; pointer-events:none; }
.pirate-skin .route-line path { fill:none; stroke-linecap:round; stroke-linejoin:round; }
.pirate-skin .route-shadow { stroke:#a77e4e; stroke-width:10; opacity:.3; }
.pirate-skin .route-dashes { stroke:#fff1ce; stroke-width:6; stroke-dasharray:1 12; }
.pirate-skin .route-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:112px; gap:0; padding:24px 0 20px; }
.pirate-skin .level-tile.route-node { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:0; position:relative; width:100%; height:112px; min-height:0; min-width:0; margin:0; padding:0; background:none; border:0; border-radius:18px; box-shadow:none; color:#fff9d9; overflow:visible; opacity:1; }
.pirate-skin .route-node .stage-number { display:grid; place-items:center; flex:none; width:61px; height:61px; border-radius:50%; font-size:23px; line-height:1; font-weight:1000; font-variant-numeric:tabular-nums; color:#fff5d6; background:radial-gradient(ellipse at 34% 18%,#6ed0e5 0,#258ea7 44%,#125a7b 78%); border:3px solid #fff0ae; box-shadow:inset 0 3px #c7f6f680,inset 0 -4px #104264,0 0 0 2px #947344,0 5px #9e8053,0 8px 8px #70563025; text-shadow:0 2px #17516c; }
.pirate-skin .route-node .route-stars { display:flex; align-items:center; justify-content:center; gap:0; height:21px; margin-top:6px; background:none; }
.pirate-skin .route-stars img { width:18px; height:18px; object-fit:contain; filter:drop-shadow(0 1px 1px #8a673e66); }
.pirate-skin .route-stars img:nth-child(2) { width:21px; height:21px; transform:translateY(-2px); }
.pirate-skin .route-stars .unearned { filter:grayscale(1) sepia(.6) brightness(.6); opacity:.35; }
.pirate-skin .level-tile .route-turns { font-size:9px; line-height:1.5; font-weight:800; color:#8b6845; background:#fff0cb90; border-radius:8px; padding:1px 8px; }
.pirate-skin .route-node.current .stage-number { background:radial-gradient(ellipse at 35% 18%,#ffe99b,#f7bb32 50%,#d68116 84%); color:#754318; border-color:#fff7cb; box-shadow:inset 0 3px #fffee0b0,inset 0 -4px #b76812,0 0 0 2px #9c642f,0 5px #a27a45,0 8px 10px #926d3540; text-shadow:0 1px #fff1ae; }
.pirate-skin .route-current { position:absolute; z-index:1; top:-18px; left:50%; transform:translateX(-50%); padding:3px 10px; border-radius:9px; font-size:10px; line-height:1.3; white-space:nowrap; font-style:normal; font-weight:900; color:#fff3cc; background:#c94f38; border:1px solid #ffcc76; box-shadow:0 2px #9c5039; animation:route-bob 1.3s ease-in-out infinite; }
.pirate-skin .route-node.locked .stage-number { color:#82958c; background:radial-gradient(ellipse at 30% 15%,#dce4ce,#a7b9ab 65%,#8b9e94); border-color:#e6e7cf; box-shadow:inset 0 2px #f7f7e780,inset 0 -4px #809588,0 0 0 2px #b0a27e,0 5px #ac9977; text-shadow:0 1px #e0e5d1; }
.pirate-skin .route-node.locked .route-stars { opacity:.45; }
.pirate-skin .map-intro { text-align:center; padding:4px 0 12px; color:#8f704d; font-size:10px; margin:0; }
@keyframes route-bob { 0%,100% { translate:0 0; } 50% { translate:0 -3px; } }
@media(max-width:350px) {
 .pirate-skin .game-top { grid-template-columns:74px minmax(0,1fr) 44px; gap:8px; }
 .pirate-skin .game-top .ammo { width:74px; min-height:83px; }
 .pirate-skin .ammo strong { font-size:34px; }
 .pirate-skin .stage-label b { font-size:15px; }
 .pirate-skin .level-scroll { padding-left:10px; padding-right:10px; }
 .pirate-skin .route-node .stage-number { width:56px; height:56px; font-size:21px; }
 .pirate-skin .result-dialog { padding-left:17px; padding-right:17px; }
}
@media(max-height:660px) {
 .pirate-skin .game-top .ammo { min-height:72px; padding:6px 5px 7px; }
 .pirate-skin .ammo strong { font-size:30px; }
 .pirate-skin .stage-label { padding:6px 5px; }
 .pirate-skin .stage-label b { font-size:14px; }
 .pirate-skin .progress-card { margin-top:8px; padding:5px 9px 7px; }
 .pirate-skin .progress-track { height:10px; }
 .pirate-skin #hint { display:none; }
 .pirate-skin .boost-image { width:51px; height:51px; }
 .pirate-skin .boost-card { min-height:82px; }
 .pirate-skin .booster-dock { gap:8px 0; bottom:calc(var(--safe-bottom) + 9px); }
 .pirate-skin .result-portrait { height:86px; }
 .pirate-skin .result-portrait img { width:88px; height:88px; }
 .pirate-skin .result-stars { height:63px; }
 .pirate-skin .result-stars img { width:49px; height:49px; }
 .pirate-skin .result-stars img:nth-child(2) { width:62px; height:62px; }
 .pirate-skin .result-dialog { padding-top:16px; padding-bottom:12px; }
 .pirate-skin .result-ledger { padding:9px 7px; margin-bottom:12px; }
 .pirate-skin .result-shortcuts { margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) { .pirate-skin .result-stars .earned,.pirate-skin .route-current { animation:none; } }

/* Instructions belong to the HUD, with no floating speech bubbles. */
.pirate-skin .hud-guidance { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:7px; padding-top:6px; border-top:1px solid #ccefff20; color:#c4e2ee; transition:opacity .16s; }
.pirate-skin .hud-guidance[hidden] { display:none; }
.pirate-skin .aim-cue .ui-glyph { width:14px; height:14px; stroke-width:1.8; color:#ffde8e; }
.pirate-skin .hud-guidance #hint { display:block; position:static; inset:auto; margin:0; padding:0; width:auto; max-width:100%; background:none; border:0; border-radius:0; box-shadow:none; font-size:10px; font-weight:600; letter-spacing:.1px; line-height:1.5; color:inherit; text-shadow:none; }
.pirate-skin .play-hud.is-aiming .hud-guidance { opacity:.35; }
.pirate-skin #turn-warning,.pirate-skin #turn-warning.visible { display:block; position:absolute; inset:auto; width:1px; height:1px; padding:0; margin:-1px; border:0; overflow:hidden; clip-path:inset(50%); transform:none; background:none; box-shadow:none; }
.pirate-skin .game-top .ammo { transition:background .2s,border-color .2s; }
.pirate-skin .continue-button { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:70px; padding:11px 13px; background:linear-gradient(#b8ed77,#75cc5b 52%,#42a64c); border:2px solid #e4f8a2; border-radius:19px; box-shadow:inset 0 2px #f7ffd799,inset 0 -4px #24814c,0 4px #164e48; color:#153f36; text-shadow:0 1px #ebffb870; }
.pirate-skin .continue-button:disabled { opacity:.50; filter:saturate(.4); cursor:default; }
.pirate-skin .continue-button>.ui-glyph { width:24px; height:24px; stroke-width:2; }
.pirate-skin .continue-button>span { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; font-size:16px; line-height:1.3; letter-spacing:-.5px; white-space:normal; word-break:keep-all; }
.pirate-skin .continue-button small { font-size:10px; font-weight:700; letter-spacing:0; color:#245645; }
.pirate-skin .continue-button>b { margin-left:auto; padding:7px 8px; border-radius:11px; background:#1a724c; box-shadow:inset 0 1px 3px #124c4b55,0 1px #e4ffb180; color:#ffffd8; font-size:23px; line-height:1; text-shadow:0 2px #1d4d3d; }
.pirate-skin .continue-note { margin:8px 0 4px; font-size:10px; color:#bbd6df; }
.pirate-skin .result-retry { display:flex; justify-content:center; align-items:center; gap:8px; width:100%; margin-top:12px; min-height:43px; padding:10px; border:1px solid #9cc9df70; background:linear-gradient(#286f96,#1b537b); border-radius:14px; color:#d8edf3; font-size:13px; box-shadow:inset 0 1px #c3edff25,0 2px #082d4e; }
.pirate-skin .result-retry .ui-glyph { width:18px; height:18px; }
.pirate-skin .is-lose .result-stars { display:none; }
.pirate-skin .is-lose .result-portrait { height:82px; }
.pirate-skin .is-lose .result-portrait img { width:78px; height:78px; }
.pirate-skin .is-lose h2 { font-size:clamp(23px,6.5vw,27px); margin:5px 0 9px; }
.pirate-skin .sound-credit a { color:#ffe29b; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:350px) { .pirate-skin .continue-button>span { font-size:14px; } .pirate-skin .continue-button { gap:7px; padding:10px; } .pirate-skin .continue-button>b { font-size:21px; padding:7px; } }
@media(max-height:660px) { .pirate-skin .hud-guidance { display:none; } .pirate-skin .is-lose.result-dialog { padding-top:15px; padding-bottom:10px; } .pirate-skin .is-lose .result-portrait { height:59px; } .pirate-skin .is-lose .result-portrait img { width:57px; height:57px; } .pirate-skin .is-lose .result-ledger { padding:9px; margin-bottom:12px; } }

/* Lobby and results only. No world, HUD, timing or scoring selectors. */
.pirate-skin .lobby-v2 .home-shade{background:linear-gradient(180deg,#052e4b18,transparent 34%,#073a4c08 54%,#07364bd9 83%,#082e46 100%)}
.pirate-skin .lobby-v2 .topbar{z-index:5;align-items:center;padding:calc(var(--safe-top) + var(--native-nav) + 16px) 20px 0}
.pirate-skin .lobby-v2 .lobby-stars{height:37px;min-width:78px;gap:7px;padding:0 13px 0 8px;border:1px solid #fff3bc63;border-radius:22px;background:#073c5bc4;box-shadow:inset 0 1px #ffffff24,0 3px 10px #063a4b25;color:#fff3bc;backdrop-filter:blur(8px)}
.pirate-skin .lobby-v2 .lobby-stars img{width:26px;height:26px;filter:drop-shadow(0 2px 1px #031c3f66)}
.pirate-skin .lobby-v2 .lobby-stars b{font-size:14px;letter-spacing:.3px;font-variant-numeric:tabular-nums}
.pirate-skin .lobby-v2 .home-hero{padding:calc(var(--safe-top) + var(--native-nav) + 58px) 18px 16px;overflow:visible;justify-content:center}
.pirate-skin .lobby-brand{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;flex:none;animation:lobby-arrive .6s ease-out both}
.pirate-skin .lobby-halo{position:absolute;z-index:-1;top:-10%;left:3%;right:3%;height:95%;border-radius:50%;background:radial-gradient(ellipse,#fff0b269,transparent 65%);pointer-events:none}
.pirate-skin .lobby-v2 .pirate-crest{width:clamp(175px,32dvh,276px);filter:drop-shadow(0 12px 12px #0634584d);transform:rotate(-5deg);animation:captain-bob 5s ease-in-out infinite}
.pirate-skin .lobby-v2 .home-title{position:relative;z-index:2;margin-top:-21px;flex:none;filter:drop-shadow(0 6px 6px #123f5359)}
.pirate-skin .lobby-v2 .home-title h1{font-size:clamp(34px,5.3dvh,46px);line-height:1.04;margin:0;letter-spacing:-2.8px;color:#fff5ce;-webkit-text-stroke:.65px #ffe7aa;text-shadow:0 3px #cb8c28,0 5px #124364,2px 5px #124364,-2px 5px #124364;transform:rotate(-4deg)}
.pirate-skin .lobby-v2 .home-title h1 span{font-size:clamp(48px,8dvh,70px);line-height:1.1;margin-top:-1px;color:#ffdc65;-webkit-text-stroke:.7px #fff0b0;text-shadow:0 3px #b66a1d,0 6px #104163,2px 6px #104163,-2px 6px #104163;letter-spacing:-4px}
.pirate-skin .lobby-v2 .home-title p{display:block;margin:16px 0 0;color:#fff9e5;text-shadow:0 2px 3px #194455;font-size:13px;letter-spacing:1px;font-weight:800}
.pirate-skin .lobby-v2 .home-bottom{padding:0 24px calc(var(--safe-bottom) + 22px)}
.pirate-skin .lobby-v2 .adventure-info{justify-content:center;gap:7px;min-height:34px;padding:0;margin:0 0 10px;border:0;box-shadow:none;background:none;border-radius:0;color:#d1e6e7;font-size:11px;text-shadow:0 1px 2px #07364b}
.pirate-skin .lobby-v2 .adventure-info .ui-glyph{width:15px;height:15px;color:#ffd877;stroke-width:2}
.pirate-skin .lobby-v2 .adventure-info strong{display:inline;margin:0 0 0 2px;font-size:14px;line-height:1.5;color:#fff3bf}
.pirate-skin .lobby-v2 .home-links{gap:12px;margin-top:15px}
.pirate-skin .lobby-v2 .home-links button{gap:7px;min-height:44px;padding:8px 5px;border:1px solid #d8f1f02b;border-radius:13px;background:#082e4866;color:#e4f1ee;box-shadow:inset 0 1px #e7ffff0d;text-shadow:0 1px #092f48;font-size:11px}
.pirate-skin .lobby-v2 .home-links .ui-glyph{width:19px;height:19px;color:#f2d899;stroke-width:1.8}
.pirate-skin .lobby-v2 .help-icon{width:19px;height:19px;font-size:11px;border-color:#f2d89970;color:#f2d899}

.pirate-skin .result-layer{background:radial-gradient(ellipse at 50% 40%,#0b627f75,#041e35eb 82%);backdrop-filter:blur(6px)}
.pirate-skin .result-v2.result-dialog{width:min(100%,380px);padding:23px 24px 17px;border:1px solid #bfefff30;border-radius:30px;background:radial-gradient(ellipse at 50% 5%,#247c9b70,transparent 66%),linear-gradient(165deg,#104b6cfa,#082e48fa 75%);box-shadow:inset 0 1px #d8f5ff38,0 24px 70px #00142680;overflow:auto;isolation:isolate}
.pirate-skin .result-v2.result-dialog{overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}
.pirate-skin .result-v2.result-dialog:before{display:none}
.pirate-skin .result-v2 .result-stage{padding:3px 12px;border:1px solid #d9eeef24;border-radius:12px;background:#082f4866;color:#d5edf1;font-size:10px;letter-spacing:.3px}
.pirate-skin .result-v2 .result-hero{position:relative;isolation:isolate;padding-top:10px}
.pirate-skin .result-v2 .result-captain{position:absolute;right:-5px;top:1px;z-index:1;display:grid;place-items:center;width:111px;height:111px;pointer-events:none}
.pirate-skin .result-v2 .result-captain img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 7px #001c3a66);animation:captain-cheer .75s .12s cubic-bezier(.2,.8,.3,1) both}
.pirate-skin .result-v2 h2{position:relative;z-index:2;display:flex;align-items:center;text-align:left;min-height:89px;margin:0 102px 10px 2px;color:#fff1ad;line-height:1.14;font-size:35px;letter-spacing:-1.6px;font-weight:1000;text-shadow:0 3px #b67c28,0 5px #082f4b;word-break:keep-all;animation:result-title-land .45s cubic-bezier(.16,.9,.3,1.15) both}
.pirate-skin .result-v2 .result-stars{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:7px;height:111px;margin:8px 0 2px;overflow:visible}
.pirate-skin .result-v2 .result-stars img{flex:none;transform:rotate(var(--tilt,0deg));filter:none;width:78px;height:78px}
.pirate-skin .result-v2 .result-stars .earned{--tilt:-10deg;filter:drop-shadow(0 5px 0 #a76c21) drop-shadow(0 0 12px #ffcf6159);animation:victory-star-land .62s cubic-bezier(.18,.85,.25,1.15) both;animation-delay:.19s}
.pirate-skin .result-v2 .result-stars .earned:nth-child(2){--tilt:0deg;animation-delay:.36s}
.pirate-skin .result-v2 .result-stars .earned:nth-child(3){--tilt:10deg;animation-delay:.53s}
.pirate-skin .result-v2 .result-stars[data-earned="3"] .earned:nth-child(2){width:97px;height:97px;translate:0 -7px}
.pirate-skin .result-v2 .result-stars .unearned{width:22px;height:22px;opacity:.16;filter:grayscale(1) brightness(1.5);transform:none;animation:none}
.pirate-skin .result-v2 .result-stars[data-earned="1"] .earned{order:2;width:100px;height:100px;--tilt:0deg}
.pirate-skin .result-v2 .result-stars[data-earned="1"] .unearned:nth-child(2){order:1}
.pirate-skin .result-v2 .result-stars[data-earned="1"] .unearned:nth-child(3){order:3}
.pirate-skin .result-v2 .result-stars[data-earned="2"] .earned{width:88px;height:88px}
.pirate-skin .result-v2 .result-stars[data-earned="2"] .earned:nth-child(2){--tilt:8deg}
.pirate-skin .result-v2 .result-caption{position:relative;z-index:3;margin:2px 0 20px;color:#f1f6df;font-size:13px;font-weight:700;line-height:1.5}
.pirate-skin .result-v2 .victory-rays{position:absolute;z-index:-1;inset:-50px -18px -20px;pointer-events:none;background:repeating-conic-gradient(from 7deg at 50% 66%,#fadd7f1a 0deg 9deg,transparent 9deg 26deg);mask-image:radial-gradient(ellipse,black 5%,transparent 67%);animation:victory-light .85s ease-out both}
.pirate-skin .result-v2 .victory-sparks{position:absolute;z-index:4;left:50%;top:61%;width:0;height:0;pointer-events:none}
.pirate-skin .result-v2 .victory-sparks i{position:absolute;display:block;left:-3px;top:-3px;width:5px;height:8px;border-radius:2px;background:#ffe399;box-shadow:0 0 5px #ffcf5a;opacity:0;animation:victory-spark .78s var(--delay) ease-out both}
.pirate-skin .result-v2 .victory-sparks i:nth-child(3n){background:#a9f5e6;box-shadow:0 0 5px #8de4e1;width:4px;height:4px}
.pirate-skin .result-v2 .result-ledger{gap:24px;padding:10px 5px 13px;margin:0 0 17px;background:none;border:0;border-top:1px solid #b4e6eb26;border-radius:0}
.pirate-skin .result-v2 .result-ledger>div{gap:3px;min-width:87px}
.pirate-skin .result-v2 .result-ledger span{font-size:10px;letter-spacing:.2px;color:#a9ccd8}
.pirate-skin .result-v2 .result-ledger b{font-size:22px;color:#f5f4df}
.pirate-skin .result-v2 .result-ledger small{font-size:10px;font-weight:600;color:#b4d1db}
.pirate-skin .result-v2 .result-ledger>i{height:24px;background:#c5edf326}
.pirate-skin .result-v2 .result-shortcuts{gap:27px;margin-top:14px}
.pirate-skin .result-v2 .game-shortcut{min-height:44px;min-width:78px;flex-direction:row;justify-content:center;gap:6px;padding:7px 3px;font-size:11px;color:#bddee7}
.pirate-skin .result-v2 .game-shortcut .ui-glyph{width:18px;height:18px;stroke-width:1.8}
.pirate-skin .result-v2 .result-goal{margin:8px 0 0;padding:0;color:#90b5c5;font-size:10px;line-height:1.5;font-weight:600}
.pirate-skin .result-v2 .result-goal span{padding:0 4px;color:#6a96aa}

.pirate-skin .lobby-v2 .lobby-play,.pirate-skin .result-v2 .result-next,.pirate-skin .result-v2 .result-retry-main,.pirate-skin .result-v2 .continue-button:not(:disabled){position:relative;isolation:isolate;min-height:62px;margin-top:0;padding:13px 17px;gap:16px;border:1px solid #fff0ab;border-bottom-color:#c88423;border-radius:19px;background:linear-gradient(180deg,#ffe79d,#ffc54b 53%,#eea42a);box-shadow:inset 0 2px #fff6cc,inset 0 -4px #d48a24,0 5px #895021,0 10px 20px #031d3a4d;color:#153d51;text-shadow:0 1px #fff0a8;font-size:20px;font-weight:1000;letter-spacing:-.5px;overflow:hidden}
.pirate-skin .lobby-v2 .lobby-play:before,.pirate-skin .result-v2 .result-next:after,.pirate-skin .result-v2 .result-retry-main:after,.pirate-skin .result-v2 .continue-button:not(:disabled):after{content:'';position:absolute;z-index:-1;inset:3px 5px 48%;border-radius:14px 14px 7px 7px;background:linear-gradient(#fff6ca8c,#fff0a800);pointer-events:none}
.pirate-skin .lobby-v2 .lobby-play .ui-glyph,.pirate-skin .result-v2 .result-next .ui-glyph,.pirate-skin .result-v2 .result-retry-main .ui-glyph{width:24px;height:24px;stroke-width:2.7}
.pirate-skin .lobby-v2 .lobby-play:active,.pirate-skin .result-v2 .primary:active{transform:translateY(3px);box-shadow:inset 0 2px #fff6cc,inset 0 -2px #d48a24,0 2px #895021}
.pirate-skin .lobby-v2 button:focus-visible,.pirate-skin .result-v2 button:focus-visible{outline:3px solid #f4fcff;outline-offset:4px}
.pirate-skin .result-v2.is-lose{border-color:#bedef036;background:linear-gradient(155deg,#154f6f,#082d48)}
.pirate-skin .result-v2.is-lose h2{font-size:28px;color:#fff4d9;text-shadow:0 3px #092e49;min-height:105px;margin-bottom:5px}
.pirate-skin .result-v2.is-lose .result-captain{width:109px;height:109px;right:-3px;top:0}
.pirate-skin .result-v2.is-lose .result-captain img{animation:retry-captain-arrive .45s ease-out both;transform:rotate(4deg)}
.pirate-skin .result-v2.is-lose .result-caption{color:#c1e2e9;font-size:12px;margin-bottom:18px}
.pirate-skin .result-v2 .result-retry:not(.result-retry-main){background:none;box-shadow:none;border:1px solid #bad9e536;color:#c8e2ea;min-height:44px;margin-top:14px;border-radius:13px}
.pirate-skin .result-v2 .continue-button>span{font-size:15px;letter-spacing:-.5px}
.pirate-skin .result-v2 .continue-button small{font-size:10px;color:#526346}
.pirate-skin .result-v2 .continue-button>b{padding:8px;background:#fff0b3;color:#80511d;box-shadow:inset 0 1px #ffffffb3;text-shadow:none}
.pirate-skin .result-v2 .continue-note{font-size:10px;color:#9fbdcb;margin:7px 0 0}
.pirate-skin .result-v2 #preview-continue{display:block;margin:4px auto 9px;min-height:30px;padding:5px;font-size:10px;color:#b0d2e0}

@keyframes lobby-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes captain-bob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(-3deg)}}
@keyframes captain-cheer{0%{transform:translateY(12px) rotate(-8deg) scale(.86);opacity:0}52%{transform:translateY(-5px) rotate(5deg) scale(1.05);opacity:1}100%{transform:translateY(0) rotate(-3deg) scale(1);opacity:1}}
@keyframes result-title-land{from{opacity:0;transform:translateY(9px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes retry-captain-arrive{from{opacity:0;transform:translateY(7px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(4deg)}}
@keyframes victory-star-land{0%{opacity:0;transform:translateY(-30px) rotate(var(--tilt)) scale(1.7)}56%{opacity:1;transform:translateY(3px) rotate(var(--tilt)) scale(.9)}78%{transform:translateY(-4px) rotate(var(--tilt)) scale(1.08)}100%{opacity:1;transform:translateY(0) rotate(var(--tilt)) scale(1)}}
@keyframes victory-light{0%{opacity:0;transform:scale(.6) rotate(-5deg)}55%{opacity:1}100%{opacity:.65;transform:scale(1) rotate(5deg)}}
@keyframes victory-spark{0%{opacity:0;transform:rotate(var(--angle)) translateY(18px) scale(.3)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--distance))) rotate(100deg) scale(.6)}}
@media(max-height:700px){
 .pirate-skin .lobby-v2 .home-hero{padding-top:calc(var(--safe-top) + var(--native-nav) + 48px);padding-bottom:8px}
 .pirate-skin .lobby-v2 .pirate-crest{width:clamp(132px,26dvh,182px)}
 .pirate-skin .lobby-v2 .home-title{margin-top:-16px}.pirate-skin .lobby-v2 .home-title h1{font-size:31px}.pirate-skin .lobby-v2 .home-title h1 span{font-size:47px}.pirate-skin .lobby-v2 .home-title p{font-size:11px;margin-top:12px}
 .pirate-skin .lobby-v2 .home-bottom{padding:0 18px calc(var(--safe-bottom) + 15px)}.pirate-skin .lobby-v2 .home-links{margin-top:12px}.pirate-skin .lobby-v2 .adventure-info{margin-bottom:6px}
 .pirate-skin .lobby-v2 .lobby-play{min-height:55px;font-size:18px}
 .pirate-skin .result-v2.result-dialog{padding:16px 19px 12px;border-radius:25px}
 .pirate-skin .result-v2 .result-stage{font-size:9px;padding:2px 10px}
 .pirate-skin .result-v2 .result-hero{padding-top:7px}
 .pirate-skin .result-v2 .result-captain{width:86px;height:86px;right:0}
 .pirate-skin .result-v2 h2{font-size:29px;min-height:71px;margin:0 84px 4px 0}
 .pirate-skin .result-v2 .result-stars{height:85px;margin:6px 0 0;gap:5px}
 .pirate-skin .result-v2 .result-stars .earned{width:62px;height:62px}
 .pirate-skin .result-v2 .result-stars[data-earned="3"] .earned:nth-child(2){width:77px;height:77px;translate:0 -4px}
 .pirate-skin .result-v2 .result-stars[data-earned="1"] .earned{width:79px;height:79px}
 .pirate-skin .result-v2 .result-stars[data-earned="2"] .earned{width:69px;height:69px}
 .pirate-skin .result-v2 .result-stars .unearned{width:17px;height:17px}
 .pirate-skin .result-v2 .result-caption{font-size:11px;margin:1px 0 13px}
 .pirate-skin .result-v2 .result-ledger{padding:8px 0 9px;margin-bottom:13px;gap:20px}.pirate-skin .result-v2 .result-ledger b{font-size:20px}
 .pirate-skin .result-v2 .result-next,.pirate-skin .result-v2 .result-retry-main{min-height:53px;padding:11px;font-size:17px}
 .pirate-skin .result-v2 .result-shortcuts{margin-top:8px;gap:22px}.pirate-skin .result-v2 .game-shortcut{min-height:44px;font-size:10px;padding:6px 2px}
 .pirate-skin .result-v2 .result-goal{margin-top:5px;font-size:9px}
 .pirate-skin .result-v2.is-lose h2{font-size:25px;min-height:84px;margin-bottom:5px}.pirate-skin .result-v2.is-lose .result-captain{width:88px;height:88px;top:0}
 .pirate-skin .result-v2.is-lose .result-caption{font-size:11px;margin-bottom:8px}
}
@media(max-width:350px){
 .pirate-skin .result-v2 .continue-button:not(:disabled){gap:8px;padding:10px 11px;min-height:66px}
 .pirate-skin .result-v2 .continue-button>.ui-glyph{width:18px;height:18px}
 .pirate-skin .result-v2 .continue-button>span{font-size:14px;gap:3px;line-height:1.25}
 .pirate-skin .result-v2 .continue-button>b{font-size:21px;padding:6px}
}
@media(prefers-reduced-motion:reduce){.pirate-skin .lobby-brand,.pirate-skin .lobby-v2 .pirate-crest,.pirate-skin .result-v2 *{animation:none!important;transition:none!important}.pirate-skin .result-v2 .victory-sparks{display:none}.pirate-skin .result-v2 .earned{opacity:1}}

/* Stage selection only. Matches the lobby/result navy, warm gold and bevels. */
.pirate-skin #app.levels-page.map-v2{isolation:isolate;display:flex;flex-direction:column;background:#082f48!important;color:#e9f5f1;overflow:hidden}
.pirate-skin .map-v2 .map-art{background:radial-gradient(ellipse at 5% 5%,#30829b70,transparent 58%),radial-gradient(ellipse at 100% 70%,#19657d40,transparent 55%),linear-gradient(150deg,#124c66,#082d47 78%)}
.pirate-skin .map-v2 .page-header{flex:none;gap:13px;min-height:89px;padding:calc(var(--safe-top) + var(--native-nav) + 18px) 20px 16px;border:0;background:none;box-shadow:none}
.pirate-skin .map-v2 .page-header .round-button{flex:none;width:44px;height:44px;border:1px solid #d0e8eb40;border-radius:15px;color:#f8e6b1;background:#173e57;box-shadow:inset 0 1px #cceff126,0 3px #03223880}
.pirate-skin .map-v2 .map-heading{min-width:0}
.pirate-skin .map-v2 .page-header .eyebrow{color:#9cbfcc;font-size:9px;letter-spacing:.7px;line-height:1.5}
.pirate-skin .map-v2 .page-header h1{font-size:25px;line-height:1.2;letter-spacing:-.8px;margin:3px 0 0;color:#fff1c4;text-shadow:0 2px #08273f}
.pirate-skin .map-v2 .map-star-total{display:flex;align-items:center;gap:5px;flex:none;margin-left:auto;padding:5px 10px 5px 5px;height:34px;border:1px solid #f3d78b40;border-radius:20px;background:#082d47a6;color:#fff1ba;box-shadow:inset 0 1px #ffffff12}
.pirate-skin .map-v2 .map-star-total img{width:24px;height:24px;filter:drop-shadow(0 2px #05213d80)}
.pirate-skin .map-v2 .map-star-total b{font-size:12px;font-variant-numeric:tabular-nums}
.pirate-skin .map-v2 .map-tabs{flex:none;gap:5px;margin:0 20px;padding:4px;border:1px solid #beddeb22;border-radius:17px;background:#06283f80;box-shadow:inset 0 2px 5px #001b3040}
.pirate-skin .map-v2 .map-tabs button{min-height:44px;border:0;border-radius:12px;background:none;box-shadow:none;color:#98bdcc;font-size:12px;gap:7px;padding:8px 5px}
.pirate-skin .map-v2 .map-tabs button.selected{color:#153d51;background:linear-gradient(#ffe9a7,#f9c653);box-shadow:inset 0 1px #fff9d6,inset 0 -2px #cc912f,0 2px 5px #001e3a40;text-shadow:0 1px #fff4c3}
.pirate-skin .map-v2 .map-tabs .ui-glyph{width:17px;height:17px;stroke-width:2}
.pirate-skin .map-v2 .map-pagination{flex:none;margin:0;padding:13px 23px 12px;gap:10px}
.pirate-skin .map-v2 .map-pagination button{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid #beddeb30;border-radius:14px;background:#0e3d57;box-shadow:inset 0 1px #d9faff18;color:#e6d59f}
.pirate-skin .map-v2 .map-pagination button:disabled{opacity:.26;box-shadow:none}
.pirate-skin .map-v2 .map-pagination>div{gap:3px}
.pirate-skin .map-v2 .map-pagination b{color:#fff0c7;font-size:14px;letter-spacing:.4px}
.pirate-skin .map-v2 .map-pagination span{color:#89b2c4;font-size:10px;line-height:1.4}
.pirate-skin .map-v2 .level-scroll{flex:1;min-height:0;height:auto;padding:5px 13px 24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#558295 transparent;border-top:1px solid #c7eef01c;background:radial-gradient(ellipse at 55% 3%,#236c812b,transparent 75%);box-shadow:inset 0 10px 18px -16px #001321}
.pirate-skin .map-v2 .route-map{isolation:isolate;min-height:var(--route-height)}
.pirate-skin .map-v2 .map-compass{position:absolute;right:12px;top:310px;color:#7fb5c00c;pointer-events:none;transform:rotate(-18deg)}
.pirate-skin .map-v2 .map-compass .ui-glyph{width:210px;height:210px;stroke-width:.6}
.pirate-skin .map-v2 .route-line{z-index:-1}
.pirate-skin .map-v2 .route-shadow{stroke:#001d33;stroke-width:9;opacity:.6}
.pirate-skin .map-v2 .route-dashes{stroke:#7093a150;stroke-width:3;stroke-dasharray:1 10}
.pirate-skin .map-v2 .route-progress{stroke:#e8c477b3;stroke-width:3;stroke-dasharray:1 10;filter:drop-shadow(0 1px 1px #00182a)}
.pirate-skin .map-v2 .route-grid{padding:24px 0 20px;grid-auto-rows:112px;gap:0}
.pirate-skin .map-v2 .level-tile.route-node{width:100%;height:112px;min-height:112px;min-width:0;gap:0;border:0;border-radius:20px;background:none;box-shadow:none;opacity:1;overflow:visible;color:#e3eff3}
.pirate-skin .map-v2 .stage-number{position:relative;isolation:isolate;width:64px;height:64px;border:2px solid #c8a75e;border-radius:50%;color:#e8f9fa;font-size:24px;background:radial-gradient(ellipse at 33% 18%,#448c9f,#206076 50%,#153c59 85%);box-shadow:inset 0 2px #d2f9ff50,inset 0 -4px #082d4c,0 0 0 2px #05253e,0 5px #041d33,0 8px 9px #001c2e4d;text-shadow:0 2px #06324c}
.pirate-skin .map-v2 .stage-number:before{content:'';position:absolute;z-index:-1;inset:3px 8px 51%;border-radius:50%;background:linear-gradient(#ffffff20,transparent);pointer-events:none}
.pirate-skin .map-v2 .route-stars{height:21px;margin-top:6px;gap:0}
.pirate-skin .map-v2 .route-stars img{width:18px;height:18px;filter:drop-shadow(0 2px 1px #021a31b3)}
.pirate-skin .map-v2 .route-stars img:nth-child(2){width:21px;height:21px;transform:translateY(-2px)}
.pirate-skin .map-v2 .route-stars .unearned{filter:grayscale(1) brightness(1.8);opacity:.14}
.pirate-skin .map-v2 .route-turns{padding:0;background:none;color:#9fc3d1;font-size:9px;line-height:1.5;font-weight:600}
.pirate-skin .map-v2 .route-node.current .stage-number{border-color:#fff0b6;color:#4c4428;background:radial-gradient(ellipse at 35% 17%,#fff2bf,#ffd363 50%,#eda737 84%);text-shadow:0 1px #fff5ca;box-shadow:inset 0 2px #fffae4,inset 0 -4px #c08225,0 0 0 2px #b68a40,0 5px #76502b,0 0 24px #ffd96b33}
.pirate-skin .map-v2 .route-current{top:-19px;padding:3px 9px;border:1px solid #ffe9a480;border-radius:8px;background:#fff0b6;color:#294556;font-size:9px;line-height:1.3;box-shadow:0 2px 5px #001a31a6;animation:none}
.pirate-skin .map-v2 .route-current:after{content:'';position:absolute;left:calc(50% - 4px);bottom:-4px;width:7px;height:7px;transform:rotate(45deg);background:#fff0b6;z-index:-1}
.pirate-skin .map-v2 .route-node.current .route-turns{color:#ffdf94}
.pirate-skin .map-v2 .route-node.locked .stage-number{border-color:#527486;color:#8baebc;background:radial-gradient(ellipse at 35% 15%,#31576a,#1d4158 60%,#17374f);text-shadow:0 2px #142f46;box-shadow:inset 0 2px #8db4c526,inset 0 -4px #112c43,0 0 0 2px #082c43,0 5px #071f34}
.pirate-skin .map-v2 .route-locked{display:grid;place-items:center;height:27px;color:#769eaf}
.pirate-skin .map-v2 .map-lock{width:15px;height:15px}
.pirate-skin .map-v2 .route-node.locked .route-turns{color:#7a9dac}
.pirate-skin .map-v2 .map-intro{padding:8px 0 0;margin:0;color:#82aab9;font-size:10px;line-height:1.6}
.pirate-skin .map-v2 .map-departure{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;flex:none;gap:16px;padding:15px 24px calc(var(--safe-bottom) + 18px);border-top:1px solid #c9e7ec24;background:linear-gradient(135deg,#114a66,#082e47);box-shadow:0 -10px 22px #031f3a40}
.pirate-skin .map-v2 .map-departure>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.pirate-skin .map-v2 .map-departure>div>span{font-size:9px;font-weight:700;color:#b3d1d9;letter-spacing:.4px}
.pirate-skin .map-v2 .map-departure strong{font-size:17px;font-weight:900;line-height:1.3;color:#fff0c4;white-space:nowrap}
.pirate-skin .map-v2 .map-departure small{font-size:10px;color:#91b9c8;line-height:1.5}
.pirate-skin .map-v2 .map-play{flex:none;width:135px;min-height:53px;padding:10px 15px;gap:19px;border:1px solid #fff0ab;border-bottom-color:#c88423;border-radius:17px;background:linear-gradient(#ffe79d,#ffc54b 53%,#eea42a);box-shadow:inset 0 2px #fff6cc,inset 0 -4px #d48a24,0 4px #895021,0 8px 15px #031d3a4d;color:#153d51;text-shadow:0 1px #fff0a8;font-size:18px;font-weight:1000}
.pirate-skin .map-v2 .map-play .ui-glyph{width:23px;height:23px}
.pirate-skin .map-v2 .map-play:active{transform:translateY(2px);box-shadow:inset 0 2px #fff6cc,inset 0 -2px #d48a24,0 2px #895021}
.pirate-skin .map-v2 button:focus-visible,.pirate-skin .map-v2 .level-scroll:focus-visible{outline:2px solid #fff2b1;outline-offset:-2px}
.pirate-skin .map-v2 .level-tile:not(:disabled):active .stage-number{transform:translateY(3px);filter:brightness(1.1)}
@media(max-width:350px){
 .pirate-skin .map-v2 .page-header{padding-left:16px;padding-right:16px;gap:10px}.pirate-skin .map-v2 .page-header h1{font-size:23px}
 .pirate-skin .map-v2 .map-tabs{margin-left:16px;margin-right:16px}.pirate-skin .map-v2 .map-pagination{padding-left:19px;padding-right:19px}
 .pirate-skin .map-v2 .level-scroll{padding-left:9px;padding-right:9px}.pirate-skin .map-v2 .stage-number{width:56px;height:56px;font-size:21px}
 .pirate-skin .map-v2 .route-stars{height:23px;margin-top:7px}.pirate-skin .map-v2 .route-locked{height:30px}
 .pirate-skin .map-v2 .map-departure{gap:10px;padding-left:19px;padding-right:19px}.pirate-skin .map-v2 .map-play{width:115px;gap:12px}
}
@media(max-height:650px){
 .pirate-skin .map-v2 .page-header{min-height:0;padding-top:calc(var(--safe-top) + var(--native-nav) + 10px);padding-bottom:12px}
 .pirate-skin .map-v2 .map-pagination{padding-top:8px;padding-bottom:8px}.pirate-skin .map-v2 .map-departure{padding-top:10px;padding-bottom:calc(var(--safe-bottom) + 12px)}
}

/* Presentation only: all gameplay, source budgets and ad handlers are unchanged. */
.pirate-skin .playing .play-hud{top:calc(var(--safe-top) + var(--native-nav) + 12px);left:calc(var(--safe-left) + 14px);right:calc(var(--safe-right) + 14px)}
.pirate-skin .playing .game-top{grid-template-columns:77px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:8px 10px 9px 0;border:1px solid #c9edf03b;border-radius:23px;background:linear-gradient(135deg,#144f6ce8,#082f49f2);box-shadow:inset 0 1px #e1f8ff2b,0 5px 14px #062a3c33;backdrop-filter:blur(8px)}
.pirate-skin .playing .game-top .ammo{width:auto;min-height:63px;margin:0;padding:0 5px 0 8px;border:0;border-right:1px solid #afdae536;border-radius:0;background:none;box-shadow:none;color:#fff3c7}
.pirate-skin .playing .ammo .ammo-caption{font-size:9px;letter-spacing:.3px;line-height:1.5;color:#b7d7df;white-space:nowrap}
.pirate-skin .playing .ammo-value{gap:4px;margin-top:2px}
.pirate-skin .playing .ammo strong{font-size:35px;line-height:1.05;color:#fff0bc;font-weight:1000;text-shadow:0 2px #082d45;letter-spacing:-1px}
.pirate-skin .playing .ammo-value span{color:#a8cdd8;font-size:10px;margin:0}
.pirate-skin .playing .game-top .ammo.low-turns{border:0;border-right:1px solid #ffc17b55;border-radius:17px 0 0 17px;background:linear-gradient(90deg,#984b33bd,#793d2e33);box-shadow:none}
.pirate-skin .playing .ammo.low-turns .ammo-caption{color:#ffd1a7}.pirate-skin .playing .ammo.low-turns strong{color:#ffe9b2}.pirate-skin .playing .ammo.low-turns .ammo-value span{color:#ffd0aa}
.pirate-skin .playing .stage-label{align-self:center;padding:0;margin:0;border:0;background:none;box-shadow:none;border-radius:0;filter:none;text-align:center}
.pirate-skin .playing .stage-label span{font-size:8px;line-height:1.5;letter-spacing:.7px;color:#9fc4d3;font-weight:700}
.pirate-skin .playing .stage-label b{font-size:18px;line-height:1.35;letter-spacing:-.7px;color:#fff2cb;margin:3px 0 0;text-shadow:0 2px #062b45}
.pirate-skin .playing .stage-label .weapon-label{display:inline-block;font-size:9px;line-height:1.4;margin-top:4px;padding:2px 7px;border:1px solid #ffe1a12e;border-radius:7px;background:#062a435e;color:#f4d99a}
.pirate-skin .playing .game-top #pause{margin:0;width:44px;height:44px;min-height:44px;border:1px solid #cce5ec38;border-radius:14px;background:#143e57;box-shadow:inset 0 1px #dbf9fc24,0 2px #05263b;color:#f6df9d}
.pirate-skin .playing #pause .ui-glyph{width:20px;height:20px;stroke-width:2.6}
.pirate-skin .playing .progress-card{margin-top:7px;padding:8px 11px 9px;border:1px solid #cbe9ed24;border-radius:14px;background:#082f48d9;box-shadow:inset 0 1px #ddf9ff12;backdrop-filter:blur(6px)}
.pirate-skin .playing .progress-card>div:first-child{gap:5px;flex-wrap:wrap;font-size:9px;color:#afd1de;margin:0 0 6px;line-height:1.4}
.pirate-skin .playing #progress-label{color:#f0f6e9;font-size:11px;font-weight:900}
.pirate-skin .playing .star-goal{margin-left:auto;padding:0;color:#ffe19a;font-size:9px;font-weight:700;line-height:1.5;letter-spacing:-.2px}
.pirate-skin .playing .star-goal[data-rating="2"]{color:#b4d9e6}.pirate-skin .playing .star-goal[data-rating="1"]{color:#a3becb}
.pirate-skin .playing .progress-track{height:8px;padding:1px;border:0;border-radius:6px;background:#031f34;box-shadow:inset 0 1px 2px #00122180}
.pirate-skin .playing .progress-track i{border-radius:5px;background:linear-gradient(90deg,#e5af49,#ffe7a2);box-shadow:inset 0 1px #fff7ce70;transition:width .16s ease-out}
.pirate-skin .playing .hud-guidance{gap:6px;margin-top:7px;padding-top:6px;border-color:#afd9e521;color:#b4d1db}
.pirate-skin .playing .hud-guidance #hint{font-size:9px;line-height:1.5;letter-spacing:0}
.pirate-skin .playing .aim-cue .ui-glyph{width:13px;height:13px;color:#f8d68c}

.pirate-skin .playing .booster-dock{left:calc(var(--safe-left) + 15px);right:calc(var(--safe-right) + 15px);bottom:calc(var(--safe-bottom) + 15px);grid-template-columns:repeat(2,74px);gap:10px 0}
.pirate-skin .playing .boost-card{gap:1px;min-height:95px;padding:5px 3px 6px;border:1px solid #bddfec38;border-radius:18px;background:linear-gradient(150deg,#174c66e8,#082e47f2);box-shadow:inset 0 1px #e0f6ff24,0 4px 9px #07273c33;color:#edf5e6;text-shadow:none;backdrop-filter:blur(5px)}
.pirate-skin .playing .boost-image{width:53px;height:53px;filter:drop-shadow(0 3px 2px #041d31a0);outline:0!important;border-radius:0!important;outline-offset:0}
.pirate-skin .playing .boost-card strong{min-width:0;max-width:100%;padding:0;margin:0;border:0;border-radius:0;background:none;color:#edf5e6;font-size:10px;line-height:1.4;font-weight:800}
.pirate-skin .playing .boost-card .boost-status{min-width:0;padding:0;margin:0;border:0;border-radius:0;background:none;color:#a9ccd8;font-size:9px;line-height:1.5;font-weight:600}
.pirate-skin .playing .boost-badge{width:18px;height:18px;right:-1px;bottom:1px;border:1px solid #e7d59d;border-radius:6px;background:#123b55;box-shadow:0 2px 3px #00192da0}
.pirate-skin .playing .boost-badge[data-state=locked]:before{left:5px;top:3px;width:6px;height:6px;border-width:1.5px}.pirate-skin .playing .boost-badge[data-state=locked]:after{left:4px;top:8px;width:9px;height:7px}
.pirate-skin .playing .boost-badge[data-state=ready]{background:#287358}
.pirate-skin .playing .boost-card.selected{border-color:#ffe296;background:linear-gradient(145deg,#3b6267,#143b52);box-shadow:inset 0 1px #fff1bc7a,0 0 13px #ffda6b33,0 4px 9px #07273c33}
.pirate-skin .playing .boost-card.selected strong,.pirate-skin .playing .boost-card.selected .boost-status{background:none;color:#ffe8a2}
.pirate-skin .playing .boost-card.selected .boost-image{filter:drop-shadow(0 2px 3px #ffe29a40)}
.pirate-skin .playing .boost-card.locked .boost-image{filter:saturate(.22) brightness(.86) drop-shadow(0 3px 2px #041d31a0)}
.pirate-skin .playing .boost-card:disabled{opacity:.72}
.pirate-skin .playing .boost-card:active{transform:translateY(2px)}
.pirate-skin .playing .game-top,.pirate-skin .playing .progress-card,.pirate-skin .playing .boost-card{backdrop-filter:none}

/* All in-game dialogs share the navy shell; item-specific layout uses its art. */
.pirate-skin .playing .modal-layer:not(.result-layer){background:radial-gradient(ellipse at 50% 40%,#0b627f75,#041e35e6 82%);backdrop-filter:blur(6px)}
.pirate-skin .playing .modal:not(.result-dialog){position:relative;isolation:isolate;width:min(100%,380px);padding:23px 24px 17px;border:1px solid #bfefff30;border-radius:30px;background:radial-gradient(ellipse at 50% 5%,#247c9b70,transparent 66%),linear-gradient(165deg,#104b6cfa,#082e48fa 75%);box-shadow:inset 0 1px #d8f5ff38,0 24px 70px #00142680;color:#e2eff1;overflow-x:hidden;scrollbar-color:#517f96 transparent}
.pirate-skin .playing .modal:not(.result-dialog) h2{color:#fff0c4;font-size:27px;font-weight:1000;letter-spacing:-1px;text-shadow:0 2px #082d47;line-height:1.25;margin:6px 0 14px}
.pirate-skin .playing .modal:not(.result-dialog) .modal-kicker{color:#a6cad6;letter-spacing:1px;font-size:9px;font-weight:700;line-height:1.5}
.pirate-skin .playing .modal:not(.result-dialog) p,.pirate-skin .playing .modal .instructions span{color:#b9d8e2;font-size:12px;line-height:1.7}
.pirate-skin .playing .modal:not(.result-dialog) .modal-note{font-size:10px;line-height:1.7;color:#98bdcc;margin:13px 0 17px;padding:0;background:none;border:0}
.pirate-skin .playing .modal:not(.result-dialog) .primary{min-height:54px;padding:12px 14px;gap:10px;border:1px solid #fff0ab;border-bottom-color:#c88423;border-radius:17px;background:linear-gradient(#ffe79d,#ffc54b 53%,#eea42a);box-shadow:inset 0 2px #fff6cc,inset 0 -4px #d48a24,0 4px #895021,0 9px 16px #031d3a4d;color:#153d51;text-shadow:0 1px #fff0a8;font-size:16px;font-weight:900;line-height:1.4}
.pirate-skin .playing .modal:not(.result-dialog) .primary:disabled{border-color:#9cbdca30;background:#2c5267;box-shadow:inset 0 1px #b6d3df26;color:#adc5d0;text-shadow:none;font-size:13px;opacity:1}
.pirate-skin .playing .modal:not(.result-dialog) .secondary{min-height:44px;padding:11px;border:1px solid #b6d8e638;border-radius:13px;background:#0a304b66;box-shadow:inset 0 1px #deffff0d;color:#c2e0e8;font-size:12px}
.pirate-skin .playing .modal:not(.result-dialog) .text-button{min-height:44px;padding:8px;color:#afd2df;font-size:12px;line-height:1.5}
.pirate-skin .playing .item-hero{position:relative;isolation:isolate;display:grid;place-items:center;height:100px;width:100px;margin:0 auto 10px}
.pirate-skin .playing .item-hero:before{content:'';position:absolute;z-index:-1;inset:4px;border:1px solid #b1deeb2b;border-radius:50%;background:radial-gradient(#79bfd15c,#124d6a55 65%);box-shadow:inset 0 1px #e7ffff26,0 0 28px #8be0e818}
.pirate-skin .playing .item-hero img{width:94px;height:94px;filter:drop-shadow(0 5px 4px #001a33a0);transform:rotate(-6deg)}
.pirate-skin .playing .item-details{padding:11px 12px;border:1px solid #e8d29b26;border-left:3px solid #efcd7e;border-radius:11px;background:#062b446e;color:#ffe7ab;font-size:12px;line-height:1.5;font-weight:800;text-shadow:0 1px #082b40}
.pirate-skin .playing .modal:has(.item-hero){display:grid;grid-template-columns:minmax(0,1fr) 100px;column-gap:8px;text-align:left}
.pirate-skin .playing .modal:has(.item-hero)>.item-hero{grid-column:2;grid-row:1/3;align-self:center;margin:0}
.pirate-skin .playing .modal:has(.item-hero)>.modal-kicker{grid-column:1;grid-row:1;align-self:end;padding-top:10px}
.pirate-skin .playing .modal:has(.item-hero)>h2{grid-column:1;grid-row:2;align-self:start;margin:6px 0 15px;font-size:28px}
.pirate-skin .playing .modal:has(.item-hero)>p,.pirate-skin .playing .modal:has(.item-hero)>.item-details,.pirate-skin .playing .modal:has(.item-hero)>button{grid-column:1/-1}
.pirate-skin .playing .modal:has(.item-hero)>p:first-of-type{margin:8px 0 15px;min-height:0;color:#d0e5eb;font-size:12px}
.pirate-skin .playing #watch-item{margin-top:0}
.pirate-skin .playing #preview-item{margin-top:14px;border-style:dashed;font-size:10px;color:#a9cddd;background:none}
.pirate-skin .playing #item-cancel{margin:9px auto 0;min-width:110px;text-align:center;justify-self:center}
.pirate-skin .playing .toggle-row{color:#d2e7ec;border-color:#adcdd82e}
.pirate-skin .playing .instructions b{color:#fce9b9}.pirate-skin .playing .instructions{padding-left:23px}
.pirate-skin .playing button:focus-visible{outline:2px solid #fff0b8;outline-offset:3px}
@media(max-width:350px){
 .pirate-skin .playing .play-hud{left:calc(var(--safe-left) + 10px);right:calc(var(--safe-right) + 10px)}
 .pirate-skin .playing .game-top{grid-template-columns:69px minmax(0,1fr) 44px;gap:7px;padding-right:8px;border-radius:20px}
 .pirate-skin .playing .stage-label b{font-size:16px}.pirate-skin .playing .stage-label span{font-size:7px}.pirate-skin .playing .stage-label .weapon-label{font-size:8px}
 .pirate-skin .playing .progress-card{padding-left:9px;padding-right:9px}.pirate-skin .playing .progress-card>div:first-child{font-size:8px}.pirate-skin .playing .star-goal{font-size:8px}
 .pirate-skin .playing .modal:not(.result-dialog){padding-left:20px;padding-right:20px}
 .pirate-skin .playing .modal:has(.item-hero)>h2{font-size:25px}
}
@media(max-height:650px){
 .pirate-skin .playing .play-hud{top:calc(var(--safe-top) + var(--native-nav) + 9px)}
 .pirate-skin .playing .game-top{padding-top:5px;padding-bottom:6px}.pirate-skin .playing .game-top .ammo{min-height:53px}.pirate-skin .playing .ammo strong{font-size:30px}
 .pirate-skin .playing .progress-card{margin-top:5px;padding-top:7px;padding-bottom:7px}.pirate-skin .playing .progress-track{height:6px}
 .pirate-skin .playing .booster-dock{bottom:calc(var(--safe-bottom) + 10px);grid-template-columns:repeat(2,66px);gap:9px 0}
 .pirate-skin .playing .boost-card{min-height:81px;padding:4px 2px}.pirate-skin .playing .boost-image{width:43px;height:43px}.pirate-skin .playing .boost-card strong{font-size:9px}.pirate-skin .playing .boost-card .boost-status{font-size:8px}
 .pirate-skin .playing .modal:not(.result-dialog){padding-top:16px;padding-bottom:11px;border-radius:25px}
 .pirate-skin .playing .modal:has(.item-hero){grid-template-columns:minmax(0,1fr) 80px}
 .pirate-skin .playing .item-hero{width:80px;height:80px}.pirate-skin .playing .item-hero img{width:77px;height:77px}
 .pirate-skin .playing .modal:has(.item-hero)>.modal-kicker{padding-top:4px}.pirate-skin .playing .modal:has(.item-hero)>h2{font-size:25px;margin-bottom:10px}
 .pirate-skin .playing .modal:has(.item-hero)>p:first-of-type{font-size:11px;line-height:1.6;margin:5px 0 11px}
 .pirate-skin .playing .item-details{padding:8px 10px;font-size:11px}.pirate-skin .playing .modal:not(.result-dialog) .modal-note{font-size:9px;margin:10px 0 13px}
 .pirate-skin .playing .modal:not(.result-dialog) .primary{min-height:50px;font-size:14px}.pirate-skin .playing .modal:not(.result-dialog) .primary:disabled{font-size:12px}
 .pirate-skin .playing #preview-item{margin-top:12px}.pirate-skin .playing #item-cancel{margin-top:5px}
}
@media(prefers-reduced-motion:reduce){.pirate-skin .playing .progress-track i{transition:none}}

/* Settings, instructions and their supporting dialogs. No gameplay mutations. */
.pirate-skin #app .modal-layer:has(#resume,#got-it,#about-back,#exit-confirm){background:radial-gradient(ellipse at 50% 40%,#0b627f75,#041e35e6 82%);backdrop-filter:blur(6px)}
.pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm){position:relative;isolation:isolate;width:min(100%,380px);padding:24px 24px 16px;border:1px solid #bfefff30;border-radius:30px;background:radial-gradient(ellipse at 50% 5%,#247c9b70,transparent 66%),linear-gradient(165deg,#104b6cfa,#082e48fa 75%);box-shadow:inset 0 1px #d8f5ff38,0 24px 70px #00142680;color:#e2eff1;overflow-x:hidden;scrollbar-color:#55869a transparent;scrollbar-width:thin}
.pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) h2{color:#fff0c4;font-size:28px;line-height:1.25;font-weight:1000;letter-spacing:-1px;margin:6px 0 17px;text-shadow:0 2px #082d47}
.pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) .modal-kicker{color:#a6cad6;letter-spacing:1px;font-size:9px;line-height:1.5;font-weight:700}
.pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) p{color:#b9d8e2;font-size:12px;line-height:1.8}
.pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) .primary{min-height:54px;margin-top:14px;padding:12px 14px;border:1px solid #fff0ab;border-bottom-color:#c88423;border-radius:17px;background:linear-gradient(#ffe79d,#ffc54b 53%,#eea42a);box-shadow:inset 0 2px #fff6cc,inset 0 -4px #d48a24,0 4px #895021,0 9px 16px #031d3a4d;color:#153d51;text-shadow:0 1px #fff0a8;font-size:16px;font-weight:900;line-height:1.4}
.pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) .secondary{min-height:44px;padding:10px;margin-top:12px;border:1px solid #b6d8e638;border-radius:13px;background:#0a304b66;box-shadow:inset 0 1px #deffff0d;color:#c2e0e8;font-size:12px;line-height:1.5}
.pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) .text-button{min-height:44px;padding:8px;color:#afd2df;font-size:11px;line-height:1.5;font-weight:700}
.pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) button:focus-visible{outline:2px solid #fff2bc;outline-offset:3px}

.pirate-skin #app .modal:has(#resume){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px}
.pirate-skin #app .modal:has(#resume)>*{grid-column:1/-1;min-width:0}
.pirate-skin #app .modal:has(#resume)>#go-home{grid-column:1;margin-top:10px;font-size:10px}
.pirate-skin #app .modal:has(#resume)>#close-game{grid-column:2;margin-top:10px;font-size:10px}
.pirate-skin #app .modal:has(#resume)>#close-app{margin:10px 0 0}
.pirate-skin #app .modal:has(#resume)>#game-about{margin:6px 0 0;color:#a0c2d1;font-size:10px}
.pirate-skin #app .modal:has(#resume) .toggle-row{position:relative;justify-content:flex-start;gap:10px;min-height:58px;padding:12px 0;text-align:left;font-size:13px;font-weight:800;color:#e4eff0;border-bottom:1px solid #afdae524}
.pirate-skin #app .modal:has(#resume) .toggle-row:before{content:'';flex:none;width:28px;height:28px;border:1px solid #bee6ed21;border-radius:9px;background-color:#082d4770;background-position:center;background-repeat:no-repeat;background-size:17px;box-shadow:inset 0 1px #dbf9ff12}
.pirate-skin #app .toggle-row:has(#music-toggle):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8d39c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 18V5l10-2v13M10 8l10-2'/%3E%3Cellipse cx='7' cy='18' rx='3' ry='2.5'/%3E%3Cellipse cx='17' cy='16' rx='3' ry='2.5'/%3E%3C/svg%3E")}
.pirate-skin #app .toggle-row:has(#sound-toggle):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8d39c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h4l5-5v16l-5-5H4zM17 8a6 6 0 0 1 0 8M20 5a10 10 0 0 1 0 14'/%3E%3C/svg%3E")}
.pirate-skin #app .toggle-row:has(#haptic-toggle):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8d39c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3' width='10' height='18' rx='2'/%3E%3Cpath d='M11 18h2M3 8l-1 4 1 4M21 8l1 4-1 4'/%3E%3C/svg%3E")}
.pirate-skin #app .modal:has(#resume) .toggle{position:relative;flex:none;margin-left:auto;width:48px;height:28px;padding:3px;border:1px solid #b3d3e53b;border-radius:18px;background:#062940;box-shadow:inset 0 2px 4px #001e3480;transition:background .18s}
.pirate-skin #app .modal:has(#resume) .toggle:after{width:20px;height:20px;border-radius:50%;background:linear-gradient(#e1f0f2,#9bb9c7);box-shadow:0 2px 3px #001a3b70,inset 0 1px #fff9;transition:transform .18s}
.pirate-skin #app .modal:has(#resume) input:checked+.toggle{border-color:#ffe5a18c;background:linear-gradient(#ffda7e,#dba63d);box-shadow:inset 0 1px #fff1bb80}
.pirate-skin #app .modal:has(#resume) input:checked+.toggle:before{content:'';position:absolute;left:8px;top:9px;width:9px;height:6px;border-left:2px solid #705a2a;border-bottom:2px solid #705a2a;transform:rotate(-45deg)}
.pirate-skin #app .modal:has(#resume) input:checked+.toggle:after{transform:translateX(19px);background:linear-gradient(#fffbed,#ffedb9)}
.pirate-skin #app .modal:has(#resume) .toggle-row input{top:50%;right:0;width:52px;height:44px;transform:translateY(-50%);margin:0}
.pirate-skin #app .modal:has(#resume) input:focus-visible+.toggle{outline:2px solid #fff2bc;outline-offset:3px}

.pirate-skin #app .modal:has(#got-it){display:grid;grid-template-columns:minmax(0,1fr) 88px;grid-template-rows:auto auto minmax(0,1fr) auto auto;column-gap:10px;height:min(630px,calc(100dvh - var(--safe-top) - var(--native-nav) - var(--safe-bottom) - 32px));text-align:left;overflow:hidden}
.pirate-skin #app .modal:has(#got-it)>.modal-kicker{grid-column:1;grid-row:1;align-self:end;padding-top:7px;font-size:8px;letter-spacing:.8px;color:#b4d3dd}
.pirate-skin #app .modal:has(#got-it)>h2{grid-column:1;grid-row:2;align-self:start;margin:6px 0 13px;font-size:27px;line-height:1.15;color:#fff0c4;word-break:keep-all}
.pirate-skin #app .modal:has(#got-it)>.tutorial-hero{grid-column:2;grid-row:1/3;align-self:center;display:grid;place-items:center;position:relative;isolation:isolate;height:88px;width:88px;margin:0}
.pirate-skin #app .modal:has(#got-it)>.tutorial-hero:before{content:'';position:absolute;z-index:-1;inset:4px;border:1px solid #c5e9ed20;border-radius:50%;background:radial-gradient(#7ac5d344,#124d6a40)}
.pirate-skin #app .modal:has(#got-it) .tutorial-hero img{height:84px;width:84px;object-fit:contain;filter:drop-shadow(0 4px 3px #031e3870);transform:rotate(-7deg)}
.pirate-skin #app .modal:has(#got-it) .instructions{grid-column:1/-1;grid-row:3;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#55869a transparent;list-style:none;counter-reset:step;margin:3px -5px 0 0;padding:0 5px 2px 0}
.pirate-skin #app .modal:has(#got-it) .instructions li{counter-increment:step;position:relative;margin:0 0 9px;padding:13px 12px 13px 48px;border:1px solid #c7e3ed1c;border-radius:15px;background:#062d476b;box-shadow:inset 0 1px #dff9ff0a}
.pirate-skin #app .modal:has(#got-it) .instructions li:last-child{margin-bottom:0}
.pirate-skin #app .modal:has(#got-it) .instructions li:before{content:counter(step);display:grid;place-items:center;position:absolute;top:13px;left:11px;width:26px;height:26px;border:1px solid #ffedb4;border-radius:9px;background:linear-gradient(#ffe7a2,#edb947);box-shadow:inset 0 1px #fff4c9,0 2px #91692e;color:#315162;font-size:12px;font-weight:1000;line-height:1}
.pirate-skin #app .modal:has(#got-it) .instructions b{display:block;margin:0 0 4px;color:#ffe9b4;font-size:13px;line-height:1.4;font-weight:900;letter-spacing:-.2px}
.pirate-skin #app .modal:has(#got-it) .instructions span{display:block;color:#c1dce5;font-size:11px;line-height:1.65;font-weight:500;word-break:keep-all;overflow-wrap:anywhere}
.pirate-skin #app .modal:has(#got-it)>.modal-note{grid-column:1/-1;grid-row:4;margin:10px 0 0;padding:8px 2px 0;border:0;border-top:1px solid #b8dde526;border-radius:0;background:none;color:#98bdcc;font-size:10px;line-height:1.6;word-break:keep-all}
.pirate-skin #app .modal:has(#got-it)>#got-it{grid-column:1/-1;grid-row:5;margin:13px 0 5px;align-self:end}
.pirate-skin #app .modal:has(#about-back) .sound-credit{padding:12px;border:1px solid #b6dce724;border-radius:13px;background:#062c4566;color:#a7c9d7!important;font-size:10px!important;text-align:left}
.pirate-skin #app .modal:has(#about-back) .sound-credit a{color:#ffe2a0;text-decoration:underline;text-underline-offset:3px}
@media(max-height:650px){
 .pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm){padding:14px 19px 12px;border-radius:25px}
 .pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) h2{font-size:25px;margin-top:4px;margin-bottom:10px}
 .pirate-skin #app .modal:has(#resume,#got-it,#about-back,#exit-confirm) .primary{min-height:50px;margin-top:9px;font-size:15px}
 .pirate-skin #app .modal:has(#resume) .toggle-row{min-height:44px;padding:7px 0;font-size:12px}
 .pirate-skin #app .modal:has(#resume) .toggle-row:before{width:26px;height:26px;background-size:16px}
 .pirate-skin #app .modal:has(#resume)>#game-about{margin-top:2px}
 .pirate-skin #app .modal:has(#resume)>#retry{margin-top:9px}
 .pirate-skin #app .modal:has(#resume)>#go-home,.pirate-skin #app .modal:has(#resume)>#close-game,.pirate-skin #app .modal:has(#resume)>#close-app{margin-top:5px;font-size:9px}
 .pirate-skin #app .modal:has(#got-it){grid-template-columns:minmax(0,1fr) 66px;column-gap:6px}
 .pirate-skin #app .modal:has(#got-it)>h2{font-size:23px;margin:4px 0 10px}
 .pirate-skin #app .modal:has(#got-it)>.tutorial-hero{width:66px;height:66px}.pirate-skin #app .modal:has(#got-it) .tutorial-hero img{width:64px;height:64px}
 .pirate-skin #app .modal:has(#got-it) .instructions li{margin-bottom:7px;padding:10px 10px 10px 43px;border-radius:12px}
 .pirate-skin #app .modal:has(#got-it) .instructions li:before{top:11px;left:10px;width:23px;height:23px;font-size:11px;border-radius:8px}
 .pirate-skin #app .modal:has(#got-it) .instructions b{font-size:12px}.pirate-skin #app .modal:has(#got-it) .instructions span{font-size:10px;line-height:1.6}
 .pirate-skin #app .modal:has(#got-it)>.modal-note{font-size:9px;margin-top:8px;padding-top:7px}
 .pirate-skin #app .modal:has(#got-it)>#got-it{margin-top:9px;margin-bottom:3px}
 .pirate-skin #app .modal:has(#about-back)>p{margin:8px 0;font-size:11px;line-height:1.6}
 .pirate-skin #app .modal:has(#about-back) .sound-credit{padding:10px;font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){.pirate-skin #app .modal:has(#resume) .toggle,.pirate-skin #app .modal:has(#resume) .toggle:after{transition:none}}
