@import url('https://fonts.googleapis.com/css2?family=Pirata+One&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap');

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
:root{
  --ocean:#0F5E9C;--deep-ocean:#07355B;--wood:#6F4E37;--dark-wood:#4A3324;
  --gold:#FFD700;--dark-gold:#B8860B;--parchment:#F5DEB3;--dark-parchment:#D2B48C;
  --text:#2E1A0F;--glow:0 0 15px rgba(255,215,0,0.5);
}
html,body{width:100%;height:100%;overflow:hidden;background:var(--ocean);font-family:'Crimson Text',serif;color:var(--text);}

/* ── SPLASH ── */
#splash-screen{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,var(--deep-ocean),#000);flex-direction:column;color:var(--parchment);}
#splashCanvas{position:absolute;inset:0;width:100%;height:100%;}
.splash-ui{position:relative;z-index:2;text-align:center;}
.pirate-icon{font-size:5rem;animation:rock 3s infinite ease-in-out;filter:drop-shadow(var(--glow));}
@keyframes rock{0%,100%{transform:rotate(-5deg) translateY(0);}50%{transform:rotate(5deg) translateY(-10px);}}
.splash-ui h1{font-family:'Pirata One',cursive;font-size:clamp(3rem,8vw,5rem);color:var(--gold);margin:10px 0;line-height:0.9;text-shadow:3px 3px 0 var(--text);}
.splash-ui h1 span{font-family:'Crimson Text',serif;font-size:0.4em;letter-spacing:6px;display:block;color:var(--parchment);text-transform:uppercase;}
.load-bar{width:300px;height:12px;background:var(--dark-wood);border:2px solid var(--gold);border-radius:6px;margin:20px auto 10px;overflow:hidden;box-shadow:var(--glow);}
#splashProgress{height:100%;width:0%;background:linear-gradient(90deg,var(--dark-gold),var(--gold));transition:width 0.3s;}
#splashText{font-size:1.1rem;font-style:italic;color:var(--parchment);}

/* ── MAIN MENU ── */
#main-menu{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" opacity="0.05"><path d="M0,50 Q25,25 50,50 T100,50" stroke="white" fill="none" stroke-width="2"/></svg>') var(--deep-ocean);}
#menuBg{position:absolute;inset:0;width:100%;height:100%;z-index:1;}
.menu-ui{position:relative;z-index:2;background:var(--parchment);border:4px solid var(--wood);border-radius:12px;padding:30px;width:90%;max-width:450px;text-align:center;box-shadow:10px 10px 30px rgba(0,0,0,0.8);background-image:linear-gradient(to bottom, rgba(255,255,255,0.2), rgba(0,0,0,0.05));}
.pir-logo{font-size:4rem;margin-bottom:5px;filter:drop-shadow(2px 2px 0 rgba(0,0,0,0.3));}
.menu-ui h1{font-family:'Pirata One',cursive;font-size:3.5rem;color:var(--text);line-height:1;margin-bottom:20px;text-shadow:1px 1px 0 var(--gold);}
.menu-ui h1 span{font-family:'Crimson Text',serif;font-size:0.4em;color:var(--ocean);letter-spacing:4px;display:block;text-transform:uppercase;}

.stats-row{display:flex;justify-content:space-around;background:var(--dark-parchment);border:2px solid var(--wood);border-radius:6px;padding:15px;margin-bottom:20px;box-shadow:inset 0 2px 5px rgba(0,0,0,0.2);}
.stats-row div{font-size:0.8rem;color:var(--text);text-transform:uppercase;font-weight:600;}
.stats-row span{display:block;font-size:1.5rem;font-family:'Pirata One',cursive;color:var(--dark-gold);margin-bottom:2px;}

.ship-display{background:var(--dark-wood);color:var(--parchment);border:2px solid var(--gold);border-radius:6px;padding:10px;margin-bottom:20px;}
#shipName{font-family:'Pirata One',cursive;font-size:1.5rem;color:var(--gold);}
#shipStats{font-size:0.9rem;font-style:italic;}

.menu-btns{display:flex;flex-direction:column;gap:12px;}
.pir-btn{background:linear-gradient(to bottom,var(--gold),var(--dark-gold));border:2px solid var(--wood);border-radius:6px;color:var(--text);font-family:'Pirata One',cursive;font-size:1.8rem;padding:10px;cursor:pointer;transition:all 0.2s;box-shadow:0 4px 0 var(--dark-wood), var(--glow);letter-spacing:1px;}
.pir-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--dark-wood), var(--glow);}
.pir-btn:active{transform:translateY(4px);box-shadow:none;}
.pir-btn2{background:var(--wood);border:2px solid var(--dark-wood);border-radius:6px;color:var(--parchment);font-family:'Crimson Text',serif;font-size:1.1rem;font-weight:600;padding:10px;cursor:pointer;transition:all 0.2s;box-shadow:0 3px 0 var(--text);}
.pir-btn2:hover{background:var(--dark-wood);color:var(--gold);}
.pir-btn2:active{transform:translateY(3px);box-shadow:none;}

/* ── GAME SCREEN ── */
#game-screen{position:fixed;inset:0;display:flex;flex-direction:column;}
.hud{position:absolute;top:0;left:0;width:100%;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABZJREFUeNpi2P//vwMTAwMQMAIzAAgwABsEAx3+tQ0bAAAAAElFTkSuQmCC') var(--wood);border-bottom:3px solid var(--dark-wood);padding:10px 15px;display:flex;align-items:center;justify-content:space-between;z-index:10;box-shadow:0 5px 15px rgba(0,0,0,0.5);}
.pause-btn{background:var(--parchment);border:2px solid var(--dark-wood);color:var(--text);width:40px;height:40px;border-radius:6px;font-size:1.2rem;font-weight:bold;cursor:pointer;}
.hud-res{display:flex;gap:12px;flex-wrap:wrap;}
.hud-res > span{background:var(--dark-wood);color:var(--parchment);padding:4px 10px;border:2px solid var(--gold);border-radius:4px;font-size:1rem;font-family:'Pirata One',cursive;}
.hud-res span span{color:var(--gold);}
.compass{font-size:2rem;animation:spin-slow 10s linear infinite;}
@keyframes spin-slow{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}

#gameCanvas{flex:1;width:100%;height:100%;touch-action:none;background:var(--ocean);}

.mobile-controls{position:absolute;bottom:20px;left:0;width:100%;padding:0 20px;display:flex;justify-content:space-between;z-index:10;}
.ctrl-left{display:grid;grid-template-columns:50px 50px 50px;grid-template-rows:50px 50px;gap:5px;}
.ctrl-left .ctrl-btn:nth-child(1){grid-column:1;grid-row:2;}
.ctrl-left .ctrl-btn:nth-child(2){grid-column:2;grid-row:1;}
.ctrl-left .ctrl-btn:nth-child(3){grid-column:2;grid-row:2;}
.ctrl-left .ctrl-btn:nth-child(4){grid-column:3;grid-row:2;}
.ctrl-right{display:flex;gap:10px;align-items:flex-end;}

.ctrl-btn{width:50px;height:50px;border-radius:50%;background:rgba(245,222,179,0.7);border:2px solid var(--wood);color:var(--text);font-size:1.5rem;font-weight:bold;display:flex;align-items:center;justify-content:center;user-select:none;backdrop-filter:blur(5px);box-shadow:0 4px 0 var(--dark-wood);}
.ctrl-btn:active{transform:translateY(4px);box-shadow:none;background:var(--gold);}
.sword-btn, .bomb-btn{background:rgba(255,215,0,0.7);width:60px;height:60px;font-size:1.8rem;}

.treasure-map-btn{position:absolute;top:75px;right:15px;z-index:10;}
.treasure-map-btn button{background:var(--parchment);border:2px solid var(--wood);color:var(--text);font-family:'Pirata One',cursive;font-size:1.2rem;padding:8px 15px;border-radius:6px;cursor:pointer;box-shadow:3px 3px 0 rgba(0,0,0,0.3);}

.inventory-quick{position:absolute;bottom:90px;right:20px;display:flex;flex-direction:column;gap:5px;z-index:10;}
.qi-item{width:40px;height:40px;background:rgba(111,78,55,0.8);border:2px solid var(--gold);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;}

.interact-prompt{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.7);color:var(--gold);font-family:'Pirata One',cursive;font-size:1.5rem;padding:10px 20px;border:2px solid var(--gold);border-radius:8px;pointer-events:none;z-index:10;animation:pulse-gold 1s infinite alternate;}
@keyframes pulse-gold{from{box-shadow:0 0 5px var(--gold);}to{box-shadow:0 0 20px var(--gold);}}

/* ── OVERLAYS ── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.8);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;}
.overlay-box{background:var(--parchment);border:4px solid var(--wood);border-radius:12px;padding:30px;width:100%;max-width:400px;text-align:center;box-shadow:10px 10px 30px rgba(0,0,0,0.8);}
.big-box{max-width:600px;max-height:85vh;display:flex;flex-direction:column;}
.overlay-box h2{font-family:'Pirata One',cursive;font-size:2.5rem;color:var(--text);margin-bottom:20px;text-shadow:1px 1px 0 var(--gold);}
.overlay-box button{width:100%;margin-top:10px;}
#mapCanvas{width:100%;max-width:400px;height:auto;border:2px solid var(--wood);background:var(--dark-parchment);margin:0 auto 15px;}

.ship-list, .inv-grid, #achieveList{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:15px;padding-right:5px;}
.ship-list::-webkit-scrollbar, .inv-grid::-webkit-scrollbar, #achieveList::-webkit-scrollbar{width:6px;}
.ship-list::-webkit-scrollbar-thumb, .inv-grid::-webkit-scrollbar-thumb, #achieveList::-webkit-scrollbar-thumb{background:var(--wood);border-radius:3px;}

.list-item{background:rgba(255,255,255,0.3);border:2px solid var(--dark-parchment);padding:15px;border-radius:8px;text-align:left;display:flex;align-items:center;gap:15px;}
.list-icon{font-size:2.5rem;background:var(--dark-wood);padding:10px;border-radius:8px;border:2px solid var(--gold);}
.list-info flex{flex:1;}
.list-info h4{color:var(--text);font-size:1.2rem;font-family:'Pirata One',cursive;}
.list-info p{color:var(--wood);font-size:0.9rem;font-weight:600;}
.buy-btn{background:var(--gold);border:2px solid var(--wood);color:var(--text);font-family:'Pirata One',cursive;font-size:1.2rem;padding:5px 15px;border-radius:4px;cursor:pointer;}

/* ── TOAST ── */
.toast{position:fixed;bottom:140px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--dark-wood);border:2px solid var(--gold);color:var(--parchment);font-family:'Crimson Text',serif;font-weight:700;font-size:1.1rem;padding:12px 25px;border-radius:8px;opacity:0;pointer-events:none;transition:0.3s;z-index:200;box-shadow:var(--glow);}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media(max-width:480px){
  .hud-res > span{font-size:0.8rem;padding:2px 6px;}
  .treasure-map-btn{top:85px;}
  .ctrl-btn{width:45px;height:45px;font-size:1.2rem;}
  .ctrl-left{grid-template-columns:45px 45px 45px;grid-template-rows:45px 45px;}
}