:root{color-scheme:dark;--bg:#091b23;--panel:#102932;--border:#29434a;--muted:#8fa8ac;--gold:#edc16d;--green:#83c7aa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#ecf1e9;font-family:Segoe UI,Arial,sans-serif}button,a,input{font:inherit}button{cursor:pointer;border:1px solid #725c35;border-radius:7px;background:linear-gradient(#efd08a,#d4a74f);color:#282619;padding:11px 17px;font-weight:700}button:hover{filter:brightness(1.1)}button:disabled{cursor:default;filter:grayscale(.6);opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}header{min-height:88px;display:flex;align-items:center;gap:30px;padding:16px 32px;background:#0b2028;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--gold);font-family:Georgia,serif;font-size:25px;letter-spacing:2px;white-space:nowrap}.brand small{display:block;font:9px Segoe UI,sans-serif;letter-spacing:4px;color:var(--muted);margin-top:6px}#resources{display:flex;gap:26px;flex:1;justify-content:center}.res{font-size:20px;font-weight:600}.res small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin:4px 0 0 30px;letter-spacing:1px}.quiet{background:transparent;border-color:var(--border);color:var(--muted);font-size:12px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 88px)}aside{padding:28px 20px;border-right:1px solid var(--border);background:#0c222b;display:flex;flex-direction:column}.captain{display:flex;gap:12px;align-items:center}.portrait{font-size:35px;width:56px;height:60px;display:grid;place-items:center;background:#163b42;border:1px solid #b18c48;border-radius:12px}.captain h2{font:22px Georgia;margin:5px 0}.captain b{font-size:12px;color:var(--gold)}small{color:var(--muted);font-size:11px;letter-spacing:.6px}.captain small{font-size:9px}.xp{height:5px;background:#263e43;border-radius:5px;margin:20px 0 8px;overflow:hidden}.xp i{display:block;height:100%;background:var(--gold)}nav{display:grid;gap:8px;margin-top:32px}nav button{text-align:left;background:none;border:1px solid transparent;color:var(--muted);font-weight:500;font-size:14px;padding:13px 10px}nav button.active{background:#203b3f;border-color:#5d603e;color:var(--gold)}.aside-bottom{margin-top:auto;padding-top:50px;color:var(--green);font-size:12px;line-height:1.7}.dot{display:inline-block;background:var(--green);width:7px;height:7px;border-radius:100%;margin-right:7px}.import{display:block;color:var(--muted);cursor:pointer;text-decoration:underline;margin-top:14px}.import input{display:none}main{padding:30px 36px;min-width:0;max-width:1600px;width:100%;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title small{letter-spacing:3px;font-size:9px;color:var(--gold)}h1{font:36px Georgia,serif;margin:7px 0}h2{font-family:Georgia,serif}h3{margin:0 0 10px;font-family:Georgia;font-size:20px}.objective{border:1px solid #4b5944;border-radius:8px;padding:15px 20px;background:linear-gradient(100deg,#273e35,#112a30);margin-bottom:22px;display:flex;gap:15px;align-items:center;font-size:14px}.objective strong{color:var(--gold)}.objective small{display:block;margin-top:5px}.island-scene{position:relative;aspect-ratio:1.65;background:#167779 url('assets/island.jpg') center/cover;border-radius:12px;overflow:hidden;border:1px solid #376569;box-shadow:0 15px 50px #0004}.scene-label{position:absolute;left:20px;top:20px;background:#09252ad9;border:1px solid #6c835b;padding:11px 15px;border-radius:6px;font:20px Georgia}.scene-label small{display:block;font:10px Segoe UI;color:#b6cbbf;margin-top:5px}.plot{position:absolute;transform:translate(-50%,-50%);background:#123139db;color:#f3e7c6;border-color:#a79258;padding:8px 13px;min-width:100px;font-size:11px;box-shadow:0 5px 12px #0005}.plot .symbol{display:block;font-size:29px;margin-bottom:4px}.plot.empty{border-style:dashed;opacity:.85}.gather-bar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 25px}.gather-bar button{flex:1;background:#183940;color:#dfe9db;border-color:#3a5858}.gather-bar button small{display:block;margin-top:5px;font-size:10px;font-weight:400}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:25px 0 15px}.section-head h2{margin:0;font-size:24px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:linear-gradient(135deg,#16343c,#102830);border:1px solid var(--border);border-radius:10px;padding:20px}.card.selected{border-color:var(--gold)}.card .icon{font-size:34px;display:block;margin-bottom:12px}.card p{color:var(--muted);font-size:13px;line-height:1.7}.card button{width:100%;margin-top:12px;font-size:12px}.cost{font-size:12px;line-height:1.8;color:#c0cdbf}.badge{display:inline-block;background:#284346;border-radius:4px;padding:4px 7px;color:var(--gold);font-size:10px;margin-bottom:10px}.map{background:radial-gradient(ellipse at center,#1e6065,#0d323d 75%);border:1px solid #37616a;padding:28px;border-radius:12px;position:relative}.map:before{content:'';position:absolute;inset:15px;border:1px dashed #8da99a36;pointer-events:none}.map .cards{position:relative}.map .card{background:#112d35eb}.map h2{margin-top:0;color:var(--gold)}.progress{height:7px;background:#071d25;border-radius:10px;overflow:hidden}.progress i{display:block;background:var(--green);height:100%}.fleet-banner{display:flex;gap:30px;align-items:center;background:linear-gradient(110deg,#1b4a50,#122c35);padding:35px;border:1px solid var(--border);border-radius:12px}.fleet-banner>span{font-size:85px}.fleet-banner h2{margin:0 0 10px}.fleet-banner p{color:var(--muted)}.slot{max-width:760px;margin:20px auto;text-align:center;background:radial-gradient(ellipse at top,#32473c,#102932 70%);padding:35px;border:1px solid #9d8146;border-radius:16px;box-shadow:0 20px 60px #0005}.slot h2{color:var(--gold);font-size:32px}.reels{display:flex;justify-content:center;gap:12px;margin:28px 0}.reel{width:140px;height:155px;border:3px solid #b99a57;display:grid;place-items:center;font-size:70px;background:linear-gradient(#ddd2a9,#fcf2d7,#d6c89d);border-radius:10px;box-shadow:inset 0 7px 20px #0003}.spinning .reel{animation:wobble .12s infinite alternate}@keyframes wobble{to{transform:translateY(5px);filter:blur(3px)}}.slot button{min-width:230px;font-size:18px;padding:15px}.slot p{color:var(--muted);font-size:13px;line-height:1.7}.slot #result{min-height:36px;color:var(--gold)}.log{list-style:none;padding:0}.log li{border-bottom:1px solid var(--border);padding:15px 0;color:#bbcfc9;font-size:14px}.log li:first-child{color:var(--gold)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(120px);transition:.25s;background:#e9ce8b;color:#1d2d2d;padding:14px 24px;border-radius:8px;box-shadow:0 10px 30px #0008;max-width:90vw;z-index:5;font-size:14px}#toast.show{transform:translateX(-50%) translateY(0)}dialog{background:#102c35;color:#edf1e8;border:1px solid #927c4b;border-radius:15px;max-width:940px;width:92vw;padding:36px}dialog::backdrop{background:#03141de8;backdrop-filter:blur(8px)}dialog>p{color:var(--muted)}#islands{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}#islands .card{padding-top:90px;background:linear-gradient(0deg,#102a32 30%,#102a3222),url('assets/island.jpg') center/cover}#islands .card:nth-child(2){background-position:right}#islands .card:nth-child(3){background-position:left}#islands h3{font-size:22px}.highlight{outline:2px solid var(--gold);outline-offset:4px}.empty-state{padding:50px;text-align:center;color:var(--muted)}@media(min-width:1550px){.island-scene{max-height:580px;aspect-ratio:auto;height:580px}}@media(max-width:1050px){header{gap:14px;padding:14px 18px}.brand{font-size:18px}#resources{gap:14px}.res{font-size:16px}.shell{grid-template-columns:190px 1fr}aside{padding:22px 13px}main{padding:25px 22px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.plot{min-width:75px;padding:5px;font-size:9px}.plot .symbol{font-size:22px}header .quiet{display:none}}@media(max-width:700px){header{flex-wrap:wrap;justify-content:center}.brand{font-size:21px}#resources{flex-basis:100%;gap:25px}.res small{margin-left:0;text-align:center}.shell{display:block}aside{padding:10px;border-right:0;border-bottom:1px solid var(--border)}.captain,.xp,#xptext,.aside-bottom{display:none}nav{display:flex;margin:0;overflow-x:auto;gap:3px}nav button{white-space:nowrap;font-size:12px;padding:10px}main{padding:20px 14px}.page-title h1{font-size:28px}.page-title small{font-size:8px;letter-spacing:1px}.page-title button{font-size:11px;padding:10px}.objective{font-size:12px;padding:12px}.cards{gap:10px}.card{padding:14px}.card h3{font-size:17px}.island-scene{aspect-ratio:1.15}.plot{min-width:65px;font-size:8px}.plot .symbol{font-size:20px}.gather-bar button{padding:9px 7px;font-size:12px}.gather-bar small{font-size:8px!important}.slot{padding:18px}.reel{width:85px;height:105px;font-size:44px}.fleet-banner{padding:20px;gap:15px}.fleet-banner>span{font-size:55px}#islands{grid-template-columns:1fr}#islands .card{padding-top:25px}dialog{padding:23px}dialog h1{font-size:28px}.map{padding:15px}}
