*{box-sizing:border-box}html,body{margin:0;background:#061421;color:#eef6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh}.rotate{display:none}.app{min-height:100vh;background:radial-gradient(circle at 72% 0,#17384c 0,#071622 42%,#030a10 100%)}header{height:74px;display:flex;align-items:center;padding:10px 22px;border-bottom:1px solid #d8b76a24;background:#04101ae8;backdrop-filter:blur(16px);position:relative;z-index:5}.brand{width:220px}.logo{font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:500;letter-spacing:1.5px}.logo span{color:#e2b75f}.brand small{font-size:9px;letter-spacing:3px;color:#8da6b7}.stats{display:flex;gap:10px;flex:1;justify-content:center}.stats div,.finance-top div{min-width:120px;padding:7px 14px;border:1px solid #ffffff16;border-radius:9px;background:#ffffff08}.stats small,.finance-top small,.ship-card small,.status-card small,.modal small{display:block;font-size:8px;letter-spacing:1.7px;color:#88a2b4}.stats b{font-size:15px}.tools{display:flex;gap:6px}.tools input{width:170px;background:#0b2030;border:1px solid #ffffff22;border-radius:7px;color:white;padding:8px}.tools button,button{font:inherit}.tools button{background:#112b3d;color:#dce8ef;border:1px solid #ffffff20;border-radius:7px;padding:8px 10px;font-size:10px}.hero{height:300px;position:relative;overflow:hidden;border-bottom:1px solid #ffffff18;background:#07131d}
.hero-photo{position:absolute;inset:0;background-image:url("cruise-hero.jpg");background-size:cover;background-position:center 53%;transform:scale(1.015)}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#03101bcf 0%,#06172488 25%,transparent 51%,#04131d44 74%,#03101ba6 100%)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#05131db8 0%,transparent 37%,#03101b31 100%)}
.hero-copy{position:absolute;left:32px;top:34px;width:300px;text-shadow:0 2px 14px #000}
.hero-copy small{display:block;font-size:8px;letter-spacing:2.5px;color:#d7b56c;margin-bottom:7px}
.hero-copy b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:500;line-height:1.03;color:#f5eddc}
.hero-copy span{display:block;margin-top:8px;font-size:9px;letter-spacing:.5px;color:#c3d2da}
.ship-wrap{position:absolute;right:22px;top:22px;width:auto;height:auto;filter:none;transition:.3s;z-index:2}
.ship-wrap span{font-size:8px;letter-spacing:1.6px;color:#ffffffba;background:#05172399;border:1px solid #ffffff21;padding:6px 9px;border-radius:6px;backdrop-filter:blur(8px)}
.ship-wrap.sailing{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{50%{opacity:.72}}
.ship-card{position:absolute;left:24px;bottom:18px;top:auto;width:285px;padding:14px 16px;border:1px solid #d9bb7755;border-radius:12px;background:linear-gradient(145deg,#071824df,#0a2434c9);backdrop-filter:blur(16px);box-shadow:0 14px 32px #0007}
.ship-card h2{margin:4px 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:500}
.ship-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ship-grid span{font-size:9px;color:#91a8b7}
.ship-grid b{display:block;color:white;font-size:12px}
.status-card{position:absolute;right:24px;bottom:18px;width:205px;padding:12px 14px;border:1px solid #d9bb7748;border-radius:10px;background:#061725d9;backdrop-filter:blur(14px);box-shadow:0 14px 32px #0006}
.status-card b,.status-card span{display:block}.status-card b{font-size:12px;margin:3px 0}.status-card span{font-size:10px;color:#e2b75f}nav{height:52px;display:flex;justify-content:center;gap:4px;padding:7px;background:#07131e;border-bottom:1px solid #ffffff14;position:sticky;top:0;z-index:4}nav button{border:0;border-radius:7px;background:transparent;color:#91a7b6;padding:0 22px;font-size:10px;font-weight:800;letter-spacing:.6px}nav button.active{background:#16374b;color:white;box-shadow:inset 0 -2px #d7ad5b}.map-tab em{font-style:normal;font-size:6px;color:#d7ad5b;margin-left:4px}main{max-width:1180px;margin:auto;padding:14px 18px 28px}.content{display:none}.content.active{display:block}.planner{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.fare-panel,.forecast-panel{border:1px solid #ffffff18;border-radius:12px;background:#091b29;padding:12px}.section-title{font-size:11px;font-weight:900;letter-spacing:1.3px;margin:2px 0 10px}.section-title span{font-weight:400;letter-spacing:0;color:#7f98a8;margin-left:7px}.fare-row{display:grid;grid-template-columns:125px 1fr 90px;align-items:center;gap:9px;margin:7px 0}.fare-row label{font-size:10px}.fare-row label b{color:#e2b75f;margin-left:5px}.fare-row small{text-align:right;color:#91a7b6;font-size:9px}.fare-row input{accent-color:#d7ad5b}.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.forecast-grid span{background:#ffffff08;border-radius:7px;padding:8px;font-size:8px;color:#8ea4b3}.forecast-grid b{display:block;font-size:13px;color:#fff;margin-top:2px}.forecast-grid .profit{grid-column:span 2;border:1px solid #d7ad5b55}.forecast-grid .profit b{color:#e7c77d}.list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.card{min-height:82px;border:1px solid #ffffff18;border-radius:11px;background:linear-gradient(145deg,#0b2131,#081925);padding:12px 12px 11px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 10px 24px #0002}.card.selected{border-color:#d7ad5b99}.card.locked{opacity:.48}.card b{font-size:12px}.desc{font-size:9px;color:#839ba9;margin:3px 0 7px}.pills{display:flex;gap:5px;flex-wrap:wrap}.pill{font-size:8px;padding:4px 6px;border-radius:5px;background:#ffffff0c;color:#b7c8d1}.action{border:1px solid #d7ad5b77;background:linear-gradient(#d9b665,#a97d32);color:#07131e;border-radius:7px;min-width:82px;padding:9px 10px;font-size:9px;font-weight:900}.action:disabled{filter:grayscale(1);opacity:.35}.action.buy{background:#173d52;color:#eef6fb;border-color:#2c607a}.finance-top{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:15px}.finance-top div{min-width:0}.finance-top b{display:block;margin-top:3px;font-size:17px}.log-list{display:flex;flex-direction:column;gap:7px}.log-entry{display:grid;grid-template-columns:100px 1fr auto;gap:12px;padding:10px 12px;border:1px solid #ffffff14;border-radius:8px;background:#ffffff06;font-size:9px}.log-entry b{font-size:10px}.log-entry .good{color:#7fd6a2}.log-entry .bad{color:#ef9b8e}.map-preview{height:300px;border:1px solid #ffffff18;border-radius:13px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 30% 40%,#173d4d 0 12%,transparent 13%),radial-gradient(ellipse at 65% 52%,#163d4e 0 18%,transparent 19%),radial-gradient(ellipse at 80% 30%,#173d4d 0 8%,transparent 9%),#071a29}.map-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:50px 50px}.map-copy{position:absolute;left:28px;top:28px;width:330px}.map-copy b{font-size:25px;letter-spacing:2px;color:#e2b75f}.map-copy span,.map-copy small{display:block;margin-top:7px}.map-copy span{font-size:14px}.map-copy small{font-size:10px;color:#89a2b2;line-height:1.5}.map-ship{position:absolute;color:#e2b75f;text-shadow:0 0 12px #e2b75f}.map-ship.one{right:27%;top:47%}.map-ship.two{right:12%;top:27%;opacity:.45}.modal{display:none;position:fixed;inset:0;background:#02070dbd;z-index:20;align-items:center;justify-content:center;backdrop-filter:blur(8px)}.modal.show{display:flex}.modal-box{width:min(480px,90vw);border:1px solid #d7ad5b66;border-radius:14px;background:#091b29;padding:22px;box-shadow:0 30px 80px #000}.modal-box h2{margin:4px 0 14px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.result-grid span{background:#ffffff08;border-radius:7px;padding:9px;font-size:9px;color:#8da3b2}.result-grid b{display:block;color:white;font-size:14px;margin-top:2px}.event{margin-top:10px;padding:10px;border-left:3px solid #d7ad5b;background:#ffffff07;font-size:10px;line-height:1.4}.modal-box button{width:100%;margin-top:14px;padding:11px;border:0;border-radius:7px;background:#d7ad5b;font-weight:900;color:#08131b}#toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;z-index:30;background:#e5c476;color:#07131e;padding:9px 16px;border-radius:8px;font-size:10px;font-weight:900;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:820px){header{height:62px;padding:7px 10px}.brand{width:160px}.logo{font-size:16px}.stats div{min-width:88px;padding:5px 8px}.tools input{display:none}.hero{height:220px}.ship-wrap{left:38%;transform:scale(.8);transform-origin:left center}.ship-card{left:10px;top:16px;width:235px}.status-card{right:10px}.planner{grid-template-columns:1fr}.list{grid-template-columns:1fr 1fr}nav button{padding:0 12px}.finance-top{grid-template-columns:1fr 1fr}}@media(orientation:portrait) and (max-width:700px){.app{display:none}.rotate{display:flex;height:100vh;align-items:center;justify-content:center;text-align:center;padding:30px;font-weight:800;color:#e2b75f}}
.logo em{font-family:Inter,ui-sans-serif,system-ui;font-style:normal;font-size:6px;letter-spacing:1px;margin-left:7px;color:#d9b75f;border:1px solid #d9b75f66;border-radius:4px;padding:2px 4px;vertical-align:middle}
.stats div,.finance-top div{background:linear-gradient(145deg,#0b2232a8,#061622b8)!important;border-color:#ffffff16!important;box-shadow:inset 0 1px #ffffff09}
nav{background:#04111be8!important;backdrop-filter:blur(16px)}
nav button.active{background:linear-gradient(#173a50,#102b3d)!important;box-shadow:inset 0 -2px #d7ad5b,0 8px 20px #0003!important}
.fare-panel,.forecast-panel,.card{background:linear-gradient(145deg,#0b2130e8,#061722f0)!important;border-color:#ffffff17!important}
.card:hover{border-color:#d7ad5b66!important}
.action{box-shadow:inset 0 1px #fff7,0 5px 14px #0004}
main{background:linear-gradient(180deg,#07172500,#030b12 70%)}
