*{box-sizing:border-box}html{background:#172426;color:#f0e6cd;color-scheme:dark}body{margin:0;font:16px/1.45 system-ui,sans-serif;background:radial-gradient(ellipse at top,#31433e,transparent 65%),#182627;min-height:100vh;min-height:100svh}header,main,nav{max-width:880px;margin:auto}header{display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));border-bottom:1px solid #596752}header strong{font: bold 24px Georgia,serif;letter-spacing:.14em}small,.scene-caption span,.kicker,#season,.ledger label{display:block;font:10px/1.5 ui-monospace,Menlo,monospace;letter-spacing:.13em;color:#d3bf8f}.seal{border:1px solid #c4ab70;color:#e9c984;padding:0 6px;font:29px Georgia}#season{margin-left:auto;text-align:right}main{padding:14px max(14px,env(safe-area-inset-right)) calc(100px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.scene{position:relative;overflow:hidden;border:1px solid #7d8065;background:#334b51}.scene img{width:100%;height:clamp(214px,34vw,310px);display:block;object-fit:cover;image-rendering:pixelated}.scene-caption{position:absolute;inset:auto 0 0;padding:35px 18px 12px;background:linear-gradient(transparent,#122225eb)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:normal}h1{font-size:clamp(32px,6vw,46px);line-height:1.05}.ledger{display:grid;grid-template-columns:repeat(3,1fr);background:#253536;border:1px solid #586457;border-top:0}.ledger div{padding:8px 12px}.ledger div+div{border-left:1px solid #535e50}.ledger b{font: bold 19px Georgia;color:#f3db9d}.ledger label{font-size:9px}#panel{padding:18px 0}.kicker{color:#ceb276}h2{font-size:28px}.row,.card{background:#253636;border:1px solid #586758;padding:14px;margin-top:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left}.row strong,.card h3{display:block;font:21px Georgia;color:#f1e7cc}.row small{margin-top:4px}.muted,p{color:#c5cec0;font-size:14px}.card p{margin:6px 0 12px}.actions{display:flex;gap:8px;flex-wrap:wrap}button,select{font:inherit;color:inherit;touch-action:manipulation}button{min-height:46px;cursor:pointer}.action,.secondary,select{padding:10px 14px;border:1px solid #baa16b;background:#dfc58d;color:#182522;font-weight:650}.secondary,select{background:#30433f;color:#eadfbf;border-color:#72816c}button:disabled{opacity:.5;cursor:default}.row em{font:24px Georgia;color:#d2b677}nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#152222f8;border:1px solid #556250;padding:4px max(5px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));z-index:2}nav button{flex:1;border:0;background:none;font:11px ui-monospace,Menlo,monospace;color:#b3beb1}nav b{display:block;font:21px Georgia}nav [aria-current=page]{color:#efd098;background:#32403a}#notice:not(:empty){margin-top:12px;background:#35473b;padding:10px 14px;color:#f2dfaa;font-size:14px}dialog{width:min(92vw,460px);max-height:84svh;overflow:auto;background:#203231;color:#f1e7ce;border:1px solid #a08d60;padding:22px}dialog::backdrop{background:#081413ba}.close{float:right;border:0;background:transparent;color:#e5d8bc;font-size:24px;width:46px}dialog p{margin:10px 0 16px}select{width:100%;margin-top:12px;font-size:16px}.bar{height:5px;background:#435346;margin:12px 0}.bar i{display:block;background:#ceb675;height:100%}:focus-visible{outline:3px solid #f5cf7f;outline-offset:2px}
.skyline{position:relative}.skyline img{height:clamp(120px,25vw,180px);object-position:center 52%}.skyline .scene-caption{padding-top:14px}.skyline h1{font-size:29px}#harbor{display:block;width:100%;height:auto;image-rendering:pixelated;touch-action:manipulation;cursor:crosshair}.harbor-controls{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:3px 9px;background:#203130;border-top:1px solid #606753}.harbor-controls span{font:12px system-ui;color:#ded8ba}.harbor-controls button{font-size:13px;min-height:44px;padding:6px 10px}
#harbor{cursor:default}
