:root {
  --bg: #07101d;
  --bg2: #0a1728;
  --panel: rgba(13, 27, 43, .78);
  --panel-strong: #101e31;
  --text: #f4f8fb;
  --muted: #91a5bb;
  --line: #223850;
  --green: #72e3bb;
  --blue: #6f9edb;
  --gold: #f1cd8a;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 80% 10%, #142842 0, transparent 32%), linear-gradient(180deg, #07101d 0%, #091523 65%, #07101d 100%); color: var(--text); line-height: 1.5; }
a { color: inherit; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 5vw; border-bottom:1px solid rgba(43,63,87,.72); position:relative; z-index:10; background:rgba(7,16,29,.82); backdrop-filter:blur(12px); }
.site-header.compact { position:sticky; top:0; }
.site-header nav,.site-footer nav { display:flex; gap:20px; flex-wrap:wrap; }
.site-header a,.site-footer a { text-decoration:none; color:#aec0d1; }
.site-header nav a:hover,.site-footer a:hover { color:#f1f7fb; }
.brand { font-weight:900; font-size:1.18rem; letter-spacing:.02em; color:#f5f9fc !important; }
main { min-height: calc(100vh - 160px); }
.hero { max-width:1220px; margin:0 auto; padding:78px 5vw 74px; }
.hero-modern { display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
.hero-kicker { display:inline-flex; align-items:center; gap:9px; color:#8fe8c5; font-weight:800; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; }
.pulse { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 7px rgba(114,227,187,.08), 0 0 20px rgba(114,227,187,.55); }
.hero h1 { font-size:clamp(3rem,6vw,6rem); line-height:.96; letter-spacing:-.055em; max-width:720px; margin:16px 0 22px; }
.lead { max-width:620px; color:#a3b5c8; font-size:1.1rem; }
.cta-row { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 17px; border:1px solid var(--line); border-radius:12px; font-weight:800; cursor:pointer; text-decoration:none; }
.button.large { min-height:54px; padding:13px 20px; }
.button.primary { background:var(--green); color:#061712; border-color:var(--green); }
.button.secondary { background:#132238; color:#edf5fb; }
.button.ghost { background:rgba(19,34,56,.5); color:#edf5fb; }
.hero-note { margin-top:18px; color:#71869e; font-size:13px; }
.hero-note span { color:var(--green); margin-right:6px; }
.hero-scene { position:relative; min-height:520px; border:1px solid #243b56; border-radius:30px; overflow:hidden; background:linear-gradient(180deg,#0d2036,#0b3140); box-shadow:0 30px 80px rgba(0,0,0,.32); }
.glow { position:absolute; width:360px; height:360px; right:7%; top:8%; border-radius:50%; background:radial-gradient(circle, rgba(114,227,187,.22), transparent 70%); filter:blur(8px); }
.water-grid { position:absolute; inset:0; opacity:.35; background:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size:44px 44px; transform:perspective(650px) rotateX(58deg) scale(1.45) translateY(160px); transform-origin:center bottom; }
.island { position:absolute; background:#1f4a3c; border:1px solid rgba(148,218,176,.15); border-radius:45px; box-shadow:inset 0 0 0 14px rgba(255,255,255,.015); }
.island-a { width:71%; height:47%; left:16%; top:30%; transform:rotate(-3deg); }
.island-b { width:44%; height:24%; left:32%; top:54%; transform:rotate(4deg); }
.building-card { position:absolute; padding:14px 15px; min-width:145px; display:grid; grid-template-columns:auto 1fr; gap:1px 10px; border:1px solid #35516e; border-radius:17px; background:rgba(10,23,38,.86); backdrop-filter:blur(8px); box-shadow:0 12px 28px rgba(0,0,0,.22); }
.building-card .building-icon { grid-row:span 3; width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#193149; color:#85e4c0; }
.building-card strong { font-size:13px; }
.building-card small,.building-card b { color:#7f97af; font-size:11px; }
.building-card b { color:#8fe8c5; }
.workshop-card { left:18%; top:40%; }
.dock-card { right:14%; top:28%; }
.warehouse-card { right:22%; bottom:18%; }
.mini-boat { position:absolute; width:74px; height:24px; border-radius:0 0 28px 28px; background:#e28769; box-shadow:0 10px 18px rgba(0,0,0,.16); }
.mini-boat::before { content:""; position:absolute; left:35px; bottom:22px; width:3px; height:35px; background:#e8cb9e; }
.mini-boat::after { content:""; position:absolute; left:38px; bottom:27px; border-left:0 solid transparent; border-right:30px solid transparent; border-bottom:24px solid #f3f6f7; }
.boat-a { left:18%; bottom:19%; }
.boat-b { right:12%; bottom:32%; background:#6da2d5; transform:scale(.82); }
.hero-coins { position:absolute; right:9%; top:11%; display:flex; align-items:baseline; gap:8px; padding:10px 14px; border-radius:14px; background:#0a1726; border:1px solid #28425f; }
.hero-coins span { color:var(--gold); }
.hero-coins strong { font-size:18px; }
.hero-coins small { color:#7890a8; }
.feature-grid { max-width:1220px; margin:0 auto; padding:0 5vw 70px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature-grid article { padding:24px; border:1px solid #223850; border-radius:22px; background:linear-gradient(180deg,rgba(15,29,47,.92),rgba(11,23,37,.72)); }
.feature-icon { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; font-weight:900; margin-bottom:18px; }
.feature-icon.green { background:rgba(114,227,187,.12); color:#8fe8c5; }
.feature-icon.blue { background:rgba(111,158,219,.12); color:#90b9ea; }
.feature-icon.gold { background:rgba(241,205,138,.12); color:#f1cd8a; }
.feature-grid h2 { font-size:1.06rem; margin:0 0 8px; }
.feature-grid p { color:var(--muted); margin:0; }
.showcase { max-width:1220px; margin:0 auto 80px; padding:30px 5vw 0; display:grid; grid-template-columns:1fr 1.25fr; gap:50px; align-items:center; }
.eyebrow { margin:0 0 8px; color:#80ddba; text-transform:uppercase; letter-spacing:.09em; font-size:.74rem; font-weight:900; }
.showcase h2 { font-size:clamp(2rem,4vw,3.6rem); line-height:1.02; margin:0; max-width:500px; letter-spacing:-.04em; }
.timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.timeline div { min-height:140px; padding:20px; border-radius:18px; background:#0f1c2e; border:1px solid #223850; }
.timeline span { color:#6f9edb; font-size:12px; font-weight:900; }
.timeline strong { display:block; margin:28px 0 4px; font-size:14px; }
.timeline small { color:#6f8399; }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 5vw; border-top:1px solid rgba(43,63,87,.72); color:#6e849b; flex-wrap:wrap; }
.cookie-banner { position:fixed; left:18px; right:18px; bottom:18px; display:flex; gap:14px; align-items:center; justify-content:space-between; padding:16px; background:#0b1625; border:1px solid #2b435f; border-radius:16px; box-shadow:0 16px 50px rgba(0,0,0,.35); z-index:1000; }
.cookie-banner p { margin:.35rem 0 0; color:#8ea1b6; }
.cookie-banner .button { flex:0 0 auto; }
.game-page { overflow-x:hidden; }
.game-page main { padding:18px 0 36px; }
.game-shell { max-width:1320px; margin:0 auto; padding:0 12px; }
.ad-slot { min-height:44px; margin:10px auto; max-width:980px; text-align:center; color:#6f8399; border:1px dashed #2a4059; border-radius:12px; padding:9px; display:flex; align-items:center; justify-content:center; }
.narrow { max-width:920px; margin:0 auto; padding:56px 6vw; }
.narrow h1 { font-size:clamp(2.2rem,5vw,4rem); line-height:1; }
.narrow h2 { margin-top:2em; }
.narrow p,.narrow li { color:#a3b2c3; }
.hidden { display:none!important; }
@media (max-width: 960px) { .hero-modern,.showcase { grid-template-columns:1fr; } .hero-scene { min-height:440px; } .feature-grid { grid-template-columns:1fr; } .timeline { grid-template-columns:1fr; } }
@media (max-width: 640px) { .site-header { padding:14px 18px; } .site-header nav { gap:10px; font-size:13px; } .hero { padding:48px 18px 52px; } .hero h1 { font-size:3rem; } .hero-scene { min-height:380px; border-radius:22px; } .building-card { transform:scale(.78); transform-origin:center; } .hero-coins { right:5%; top:6%; transform:scale(.86); } .feature-grid,.showcase { padding-left:18px; padding-right:18px; } .cookie-banner { align-items:stretch; flex-direction:column; } .cookie-banner .button { width:100%; } .site-footer { padding:20px 18px; } }
