@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap";:root{font-family:DM Sans,sans-serif;color:#233d37;background:#eee8d9;font-synthesis:none;--ink:#183f39;--gold:#c9a45f;--line:#d7cdb7;--muted:#746f5e;--paper:#faf6ea}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#8678500c .7px,transparent .7px);background-size:5px 5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #bd8230;outline-offset:4px}button{transition:background .16s,box-shadow .16s,transform .16s}p{line-height:1.65}header{min-height:84px;padding:15px max(4%,calc((100% - 1370px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:#163c37;color:#eadcb8;border-bottom:1px solid #a98b4e}.brand{display:flex;align-items:center;gap:14px;color:#f3e6c7;text-decoration:none}.brand>span:not(.royal-seal){font-family:Georgia,serif;font-size:23px;letter-spacing:3px}.brand small{display:block;font-family:DM Sans,sans-serif;font-size:8px;letter-spacing:2.3px;margin-top:6px;color:#cbb786}.royal-seal{border:1px solid #b89c61;outline:1px solid #b89c6155;outline-offset:4px;width:38px;height:38px;display:grid;place-items:center;color:#d8b16a;font-size:27px}.edition{font-size:9px;letter-spacing:2px;color:#c5cfbc}.edition span{margin:0 12px;color:#b79a5d}.quiet{color:#f0e5c8;border:1px solid #759083;background:transparent;min-height:42px;padding:10px 14px;font-size:11px;border-radius:3px}.quiet:hover{background:#2b5148}.quiet span{margin-left:14px}.resources{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0 max(4%,calc((100% - 1370px)/2));background:#fbf7ebf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #cdbd99;box-shadow:0 4px 14px #30291708}.resource{display:flex;gap:14px;align-items:center;padding:15px 20px;border-right:1px solid #e2d9c6;min-width:0}.resource:first-child{padding-left:0}.resource:last-child{border:0}.resource-icon{font-size:24px;color:#a07a37}.resource div>span{display:block;text-transform:uppercase;letter-spacing:1.6px;font-size:9px;color:#6f6a59;font-weight:600}.resource strong{font-size:25px;font-weight:500;display:block;margin-top:1px;font-variant-numeric:tabular-nums}.resource small{font-size:10px;color:#777563;font-weight:400}main{max-width:1480px;margin:auto;padding:30px 4% 0}.intro{isolation:isolate;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px 38px;margin-bottom:32px;background:linear-gradient(110deg,#153e39,#214d45 70%,#173d38);color:#f4e6c4;border:1px solid #446054;border-radius:5px;box-shadow:0 8px 20px #17362b12}.intro:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid #d3ae6630;pointer-events:none;z-index:-1}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;color:#977436}.intro .eyebrow{color:#d7b979}.intro-copy{z-index:1}.intro h1{font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(45px,4.5vw,66px);font-weight:400;line-height:1.01;letter-spacing:-.6px;margin:18px 0}.intro p{font-size:12px;color:#c5d0bb;margin-bottom:0}.maritime-art{display:block;width:100%;height:100%;object-fit:cover}.hero-art{position:absolute;z-index:-1;width:620px;height:245px;bottom:-12px;left:27%;color:#c6af79;opacity:.38;pointer-events:none}.year{z-index:1;min-width:270px;background:#123b35cf;padding:20px 22px;border:1px solid #b19a6155;border-radius:3px}.year>strong{font-family:Libre Caslon Display,Georgia,serif;font-size:62px;font-weight:400;line-height:1.1;display:block;margin:5px 0 12px}.year strong small{font-size:23px;color:#c3d0b9}.season{display:flex;gap:11px;align-items:center;border-top:1px solid #5f796333;border-bottom:1px solid #5f796366;padding:10px 0;color:#e3c78f}.season>span{font-size:32px;line-height:1}.season b{font-size:12px;font-weight:500}.season small{display:block;font-size:10px;margin-top:3px;color:#b9cbb7}.rough{color:#e2b196}.turn{display:flex;align-items:center;gap:9px;font-size:11px;color:#cad5bf;margin:15px 0}.dots{display:flex;gap:4px}.dots i{height:7px;width:7px;border-radius:50%;background:#557366}.dots .available{background:#e0b968;box-shadow:0 0 5px #caa85433}.end{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:44px;background:#d0ac65;border:1px solid #e0c07f;color:#193e35;font-size:12px;font-weight:700;padding:12px 16px;border-radius:3px}.end:hover:enabled{background:#e5c484;transform:translateY(-1px)}.end:disabled{opacity:.5}.income{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#bdcdb6;margin-top:12px}.income b{color:#e2c789;font-weight:500}.workspace,.bottom{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(350px,1fr);gap:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.section-heading h2{font-family:Libre Caslon Display,Georgia,serif;font-size:30px;font-weight:400;margin:0}.section-heading h2 small{font-family:DM Sans,sans-serif;font-size:10px;color:#8e7848;background:#e4dbc5;padding:4px 6px;vertical-align:middle;margin-left:7px}.section-heading>span{font-size:8px;letter-spacing:1.2px;color:#81745b}.ports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.port{position:relative;overflow:hidden;text-align:left;border:1px solid #cfc3a9;background:var(--paper);padding:18px;color:var(--ink);border-radius:5px;box-shadow:0 3px 8px #4d3c1407}.port:hover{border-color:#9a8b62;box-shadow:0 5px 15px #4d3c1414;transform:translateY(-2px)}.port.selected{border-color:#537464;box-shadow:inset 0 0 0 1px #537464,0 4px 12px #203f2910}.port-top{position:relative;z-index:1;display:flex;align-items:center;gap:8px}.port-number{font-size:9px;color:#7d755d}.badge{font-size:8px;font-weight:600;letter-spacing:1px;padding:5px 7px;background:#e9e0c9;color:#776137;border:1px solid #d3c49e;border-radius:2px}.port-arrow{margin-left:auto;font-size:8px;color:#456553;font-weight:700;letter-spacing:.5px}.port-art{height:88px;margin:10px -18px -5px;background:linear-gradient(0deg,#dadfcf33,transparent);color:#5b7a65}.port-art-1{color:#7c8852}.port-art-2{color:#497b80}.port-art-3{color:#927647}.port-art svg{transform:scale(1.1)}.port h3{font-family:Libre Caslon Display,Georgia,serif;font-size:35px;line-height:1.1;font-weight:400;margin:10px 0 3px}.port p{font-size:11px;color:#777663;margin:0 0 16px}.port-stats{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e0d8c6;border-bottom:1px solid #e0d8c6;padding:12px 0;margin-bottom:14px}.port-stats span{display:block;font-size:10px;color:#716d5b}.port-stats b{display:block;margin-top:6px;font-size:14px;font-weight:500}.port-stats small{font-size:10px;font-weight:400;color:#716e5c}.port-stats .relationship{display:inline-block;padding:4px 7px;border:1px solid transparent;border-radius:3px;font-size:10px}.relationship small{margin-left:4px;font-size:9px;color:inherit}.relationship.friendly{background:#e1eadc;color:#375e3d;border-color:#c8d9bd}.relationship.neutral{background:#eee7d2;color:#776023;border-color:#ddcfa5}.relationship.strained{background:#f1e0d3;color:#904c30;border-color:#e2c1aa}.meter-label{display:flex;justify-content:space-between;font-size:10px;color:#6b715c;margin:12px 0 6px}.meter-label b{font-size:11px;color:#365442;font-weight:600}.meter{position:relative;height:6px;background:#e4decc;border-radius:2px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#557861,#2b5d4e);transition:width .25s}.influence{height:8px}.control-mark{position:absolute;top:0;bottom:0;left:60%;width:1px;background:#faf5e5b3}.stability i{background:#b39957}.rival i{background:#ad7356}.neglect{margin-top:15px;border-top:1px dashed #d5ccb6;padding-top:10px;font-size:9px;line-height:1.6;color:#7e6a46;min-height:40px}.command-panel{background:#f6f1e4;border:1px solid #c9bea3;border-radius:5px;overflow:hidden}.target{display:flex;align-items:center;justify-content:space-between;padding:16px 19px;background:#244c41;color:#ecdfbd;border-bottom:2px solid #b99858}.target>span{font-size:9px;letter-spacing:1.5px;color:#c4cdb4}.target strong{font-family:Libre Caslon Display,Georgia,serif;font-size:24px;font-weight:400}.target strong span{font-size:14px;margin-left:10px;color:#b6ba91}.action-list{display:grid;gap:8px;padding:12px}.action{display:flex;align-items:flex-start;width:100%;gap:11px;text-align:left;border:1px solid #ddd2b9;background:#fffaf0;color:var(--ink);padding:13px 11px;min-height:74px;border-radius:3px}.action:hover:enabled{border-color:#72917b;background:#eff2e5;box-shadow:0 2px 6px #203f2910}.action-icon{flex-shrink:0;display:grid;place-items:center;border:1px solid #d6c6a0;background:#f0e8d4;width:31px;height:34px;color:#967b40;font-size:20px}.action-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.action-copy b{font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:5px;flex-wrap:wrap}.chance{font-size:10px;white-space:nowrap;background:#e6ecde;padding:3px 5px;border-radius:2px;color:#3c6046;font-weight:500}.action-copy .chance small{font-size:8px;color:inherit}.cost{font-size:10px;color:#86662d;font-weight:500}.action-copy small{font-size:10px;line-height:1.55;color:#716f5d}.plus{color:#56745b;font-size:17px;margin-top:5px}.action-copy .blocked{color:#8e513a}.action:disabled{background:#eee9dc;border-color:#ddd6c4}.action:disabled .action-icon{opacity:.6}.action:disabled .plus{visibility:hidden}.military{border-color:#dac0a9;background:#fbf1e6}.military .chance{color:#914e32;background:#f2e0cf}.command-note{text-align:center;padding:13px 10px;border-top:1px solid #d9ceb3;font-size:9px;color:#796e52;background:#eee6d3}.bottom{margin-top:28px;align-items:start}.chronicle{min-width:0}.log{border:1px solid #d4c8af;background:#f7f2e6;border-radius:4px;padding:0 18px;max-height:266px;overflow:auto;scrollbar-color:#a99b78 #ede5d3;scrollbar-width:thin}.log-entry{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid #e2d8c3;align-items:flex-start}.log-entry:last-child{border:0}.log-entry>span{flex-shrink:0;color:#846e3d;font-size:9px;padding-top:3px;font-weight:600;letter-spacing:.4px}.log-entry p{font-size:11px;line-height:1.75;margin:0;color:#666b57}.log-entry:first-child p{color:#355448}.ambition{position:relative;background:#e5e9da;border:1px solid #c4ccb3;border-top:3px solid #a58a4d;padding:24px;border-radius:4px}.ambition h2{font-family:Libre Caslon Display,Georgia,serif;font-weight:400;font-size:30px;margin:10px 0}.ambition p{font-size:12px;color:#677257;margin-bottom:20px}.ambition>div:not(.meter){display:flex;justify-content:space-between;font-size:11px;margin:12px 0;color:#5f6d51}.ambition b{font-weight:600;color:#3e5d3c}.ambition>.meter{margin:16px 0}.ambition>small{font-size:10px;color:#646f54}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-top:1px solid #cfc2a6;margin-top:35px;font-size:8px;letter-spacing:1.2px;color:#847657}.guide{border:1px solid #cfc1a0;background:var(--paper);padding:24px;margin-bottom:25px;border-radius:4px;font-size:12px;line-height:1.65}.guide h3{font-family:Georgia,serif;font-weight:400;margin-top:0;font-size:22px}.guide p:last-child{margin-bottom:0}.result{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#e3e8d5;border:1px solid #b3be99;padding:25px;margin-bottom:30px}.result h2{font-family:Georgia,serif;font-weight:400}.result p{font-size:12px}.result .end{width:auto}.event-dialog{padding:0;width:min(640px,calc(100% - 40px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #b49a62;border-radius:6px;background:#f9f2e0;color:var(--ink);box-shadow:0 30px 100px #08211c70}.event-dialog::backdrop{background:#092b29b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.court-event{padding:32px;background:radial-gradient(ellipse at top,#e8d7ac55,transparent 65%)}.event-ornament{display:grid;place-items:center;width:48px;height:48px;border:1px solid #bea574;transform:rotate(45deg);margin:0 auto 28px;color:#a08041;font-size:31px}.court-event>.eyebrow{text-align:center;font-size:9px;line-height:1.7}.court-event h2{font-family:Libre Caslon Display,Georgia,serif;font-size:39px;font-weight:400;line-height:1.1;text-align:center;margin:16px 0}.court-event>p{font-size:13px;text-align:center;color:#686a56;margin:0 auto;max-width:475px}.event-choices{display:grid;gap:10px;margin:25px 0 20px}.event-choices button{text-align:left;padding:17px 19px;background:#fffaf0;border:1px solid #cfc2a1;color:#244b3f;border-radius:3px;min-height:70px}.event-choices button:hover:enabled{background:#e7eddf;border-color:#6c8d6f}.event-choices b{display:block;font-size:13px}.event-choices span{display:block;font-size:11px;line-height:1.6;color:#726c55;margin-top:6px}.event-choices small{display:block;color:#965936;margin-top:8px}.event-choices button:disabled{background:#ece7da;color:#837f6e}.court-event>small{display:block;text-align:center;font-size:9px;line-height:1.6;color:#7a725c}@media(min-width:1500px){main{padding-left:55px;padding-right:55px}}@media(max-width:1100px){.workspace,.bottom{gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr)}.port{padding:15px}.port-art{margin-left:-15px;margin-right:-15px}.port-top{gap:5px}.port-arrow{font-size:7px}.port-number{display:none}.section-heading>span{font-size:7px}.resource{padding:14px 12px;gap:10px}.resource-icon{font-size:21px}.intro{padding:28px}.port-stats{flex-wrap:wrap}.action-copy b{font-size:11px}}@media(max-width:900px){.edition{display:none}.workspace,.bottom{grid-template-columns:1fr}.port{padding:20px}.port-art{height:105px;margin-left:-20px;margin-right:-20px}.port-stats{flex-wrap:nowrap}.action-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px;gap:12px}.action-copy b{font-size:12px}.military{grid-column:1/-1}.port-arrow{font-size:9px}.section-heading>span{font-size:8px}.intro{padding:27px}.intro h1{font-size:49px}.year{min-width:245px;padding:17px}.intro .eyebrow{font-size:8px}.hero-art{left:12%;opacity:.25}.resource{gap:8px;padding:12px 9px}.resource-icon{font-size:18px}.resource strong{font-size:23px}.resource div>span{font-size:8px;letter-spacing:1px}.bottom{gap:25px}.ambition{max-width:none}}@media(max-width:600px){header{padding:16px 5%;min-height:77px}.brand>span:not(.royal-seal){font-size:18px}.brand small{font-size:7px;letter-spacing:1.3px}.royal-seal{width:30px;height:30px;font-size:23px}.quiet{font-size:10px;padding:8px}.quiet span{display:none}.resources{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 5%}.resource,.resource:first-child{padding:9px 10px}.resource:nth-child(3){border-right:0}.resource:nth-child(-n+3){border-bottom:1px solid #e0d4bd}.resource strong{font-size:22px}.intro{flex-direction:column;align-items:stretch;padding:25px}.intro h1{font-size:53px}.intro p{font-size:11px}.intro-copy{padding-bottom:5px}.year{min-width:0;width:100%}.year>strong{font-size:52px}.hero-art{left:0;top:20px;bottom:auto;width:100%;opacity:.25}.ports{gap:12px}.port{padding:13px}.port-art{height:70px;margin-left:-13px;margin-right:-13px}.port h3{font-size:30px}.port p{font-size:10px}.port-top{flex-wrap:wrap}.port-arrow,.badge{font-size:7px}.port-stats{flex-direction:column;gap:9px}.port-stats .relationship{font-size:9px;padding:4px}.action-list{grid-template-columns:1fr}.section-heading h2{font-size:28px}.section-heading>span{font-size:7px}.court-event{padding:24px 20px}.court-event h2{font-size:33px}.event-dialog{max-height:calc(100dvh - 24px);width:calc(100% - 24px)}footer{flex-direction:column;gap:7px;line-height:1.5}.result{flex-direction:column;align-items:stretch}.log{padding:0 13px}.log-entry{gap:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.map-section{margin-bottom:32px}.map-frame{border:1px solid #b6a77f;border-radius:5px;overflow:hidden;background:#f6f0e0}.map-topline{display:flex;justify-content:space-between;gap:16px;padding:14px 20px;background:#204a41;color:#ded2ae;font-size:9px;letter-spacing:1.4px}.map-topline span:last-child{letter-spacing:.3px;color:#c6d4bf}.port-map{position:relative;aspect-ratio:9/5;background:radial-gradient(ellipse at 50% 50%,#28534c,#173d38);isolation:isolate}.chart{display:block;width:100%;height:100%}.land{fill:#c6c5a4;stroke:#e2d7ac;stroke-width:1.5;stroke-linejoin:round}.river{fill:none;stroke:#36665b;stroke-width:3;opacity:.8}.land-label{fill:#556554;font-size:12px;letter-spacing:3px;font-family:Georgia,serif}.sea-label{fill:#b4c4b0;opacity:.65;font:italic 12px Georgia,serif;letter-spacing:3px}.route{fill:none;stroke:#849e89;stroke-width:1.6;stroke-dasharray:5 6;opacity:.55;transition:stroke .2s,opacity .2s}.active-route{stroke:#efd095;stroke-width:2.5;opacity:1;stroke-dasharray:6 5}.compass{fill:none;stroke:#bec8a6;stroke-width:.7;opacity:.65}.compass text{stroke:none;fill:#d3d2b1;font:11px Georgia,serif;text-anchor:middle}.chart-note{fill:#b8c5ac;font:9px DM Sans,sans-serif;letter-spacing:.5px}.map-port{position:absolute;display:flex;align-items:center;gap:5px;transform:translate(-20px,-20px);padding:0 5px 0 0;border:1px solid transparent;border-radius:24px 4px 4px 24px;background:#163d36e8;color:#f9edcb;min-height:42px;text-align:left;box-shadow:0 2px 9px #0d292755;z-index:1}.map-port:hover{background:#315b4b;border-color:#b9ad73;z-index:3}.map-port.is-selected{border-color:#e6bf74;box-shadow:0 0 0 3px #d2ba7733,0 2px 9px #0d292755;z-index:2;background:#244f42}.map-port:focus-visible{outline:3px solid #f6d791;outline-offset:4px;z-index:4}.port-ring{width:40px;height:40px;flex-shrink:0;overflow:visible}.ring-track{fill:none;stroke:#819883;stroke-width:3;opacity:.4}.ring-value{fill:none;stroke:#dfbd72;stroke-width:3}.port-dot{fill:#e3ddab;stroke:#183d34;stroke-width:2}.map-port-label{display:flex;flex-direction:column;gap:3px;padding:5px 6px 5px 0}.map-port-label>b{font-family:Georgia,serif;font-size:14px;font-weight:400}.map-port-label>b small{color:#e5bb73;font-size:10px}.map-port-label>span{display:flex;align-items:center;gap:5px;font-size:9px;white-space:nowrap;color:#e3dec1}.map-port-label small{font-size:9px}.relation-dot{display:inline-block;border-radius:50%;width:7px;height:7px;flex-shrink:0;background:#e9bf65}.relation-dot.friendly{background:#93bb8a}.relation-dot.neutral{background:#e1bd6b}.relation-dot.strained{background:#d59272}.map-legend{display:flex;flex-wrap:wrap;gap:12px 22px;padding:13px 20px;border-bottom:1px solid #d8cdb3;color:#6a6b53;font-size:10px}.map-legend>span{display:flex;align-items:center;gap:7px}.legend-ring{display:inline-block;width:12px;height:12px;border:2px solid #99783e;border-left-color:#d5ccb1;border-radius:50%}.legend-route{display:inline-block;width:22px;border-top:2px dashed #947239}.map-selection{display:flex;gap:24px;align-items:center;padding:20px}.map-selection>div{display:flex;flex-direction:column;gap:6px}.map-selection strong{font-family:Libre Caslon Display,Georgia,serif;font-weight:400;font-size:28px}.map-selection div>span:not(.eyebrow){font-size:10px;color:#766b52}.map-selection b{font-size:12px;font-weight:500}.map-selection a{margin-left:auto;color:#f3e5bd;background:#244c41;border:1px solid #45664f;padding:13px 17px;min-height:44px;font-size:11px;text-decoration:none;border-radius:3px;white-space:nowrap}.map-selection a:hover{background:#35604d}.map-selection a span{margin-left:14px}.map-caption{margin:0;padding:0 20px 16px;font-size:10px;color:#756d55}.orders{scroll-margin-top:100px}@media(max-width:900px){.map-port-label>span{font-size:8px}.map-port-label small{font-size:8px}.map-port-label>b{font-size:13px}.map-port{gap:2px}.map-selection{gap:18px;flex-wrap:wrap}.map-selection a{margin-left:0}.map-legend{gap:10px 14px}}@media(max-width:600px){.port-map{aspect-ratio:9/6}.chart{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-port-label>span small,.map-port-label>span .relation-dot{display:none}.map-port-label>b{font-size:11px}.map-port-label>span{font-size:8px}.map-port-label{padding-right:0}.map-port{transform:translate(-15px,-20px);gap:0;padding-right:4px}.port-ring{width:30px;height:30px}.map-topline{flex-direction:column;gap:7px;padding:12px 15px}.map-selection{padding:15px;gap:15px}.map-selection>div{min-width:40%}.map-selection a{width:100%;text-align:center}.map-caption{padding:0 15px 15px}.map-legend{padding:12px 15px}.orders{scroll-margin-top:140px}}
