.kk-page{--kk-ink:#253e2e;--kk-muted:#66745c;--kk-paper:#f3efdf;--kk-field:#e4e7cd;--kk-accent:#366447;--kk-line:#c9cfb5;--kk-own:#3e7757;max-width:1540px;margin:auto;color:var(--kk-ink);font-family:"Trebuchet MS",sans-serif}
.kk-page[data-world=orbit]{--kk-ink:#e5e5d8;--kk-muted:#a3b5b9;--kk-paper:#1c303c;--kk-field:#10232e;--kk-accent:#dfb36d;--kk-line:#3e5661;--kk-own:#e8ba74}
.kk-page>.game-toolbar,.kk-page>.kk-notice{color:var(--ink)}
.kk-page>.kk-help{color:var(--ink)}
.kk-page button,.kk-page input,.kk-page select{font:inherit}
.kk-page button{cursor:pointer}.kk-page button:disabled{cursor:default;opacity:.43}
.kk-page button:focus-visible,.kk-page select:focus-visible,.kk-page input:focus-visible{outline:3px solid #c68c37;outline-offset:4px}
.kk-page [hidden]{display:none!important}.kk-page small{font-size:10px;font-weight:700;letter-spacing:1.6px}
.kk-page h2,.kk-page h3,.kk-page p{margin:0}.kk-page h2,.kk-page h3{font-family:Georgia,serif;font-weight:600}
.kk-primary,.kk-secondary,.kk-text-button{border:0;border-radius:4px;padding:12px 16px;transition:background .16s,transform .16s}
.kk-primary{background:var(--kk-accent);color:var(--kk-paper);font-weight:700!important}
.kk-secondary{background:transparent;color:var(--kk-ink);box-shadow:inset 0 0 0 1px var(--kk-line)}
.kk-primary:hover:not(:disabled),.kk-secondary:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.07)}
.kk-text-button{background:transparent;color:var(--kk-muted);padding:9px}
.kk-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 24px}
.kk-scenarios>button{min-width:0;text-align:left;position:relative;display:flex;gap:20px;align-items:center;padding:0 22px 0 0;border:1px solid #bfc5b5;background:#eeeede;color:#2c4434;overflow:hidden;border-radius:7px;transition:border-color .2s,box-shadow .2s}
.kk-scenarios>button[aria-pressed=true]{border:2px solid var(--kk-accent);box-shadow:0 4px 15px #15271812}
.kk-scenarios>button[data-scenario-choice=orbit]{background:#182c38;color:#e3e2d2;border-color:#3f5763}
.kk-scenarios>button[data-scenario-choice=orbit][aria-pressed=true]{border-color:#e0b471}
.kk-scenarios strong{display:block;font:600 clamp(18px,1.7vw,27px) Georgia,serif;margin:6px 0}
.kk-scenarios em{font-size:12px;font-style:normal;opacity:.75}.kk-scenarios small{font-size:9px;letter-spacing:1.1px}
.kk-scenario-arrow{margin-left:auto;font-size:26px;padding-left:7px}
.kk-scenario-art{flex:0 0 118px;height:120px;position:relative;display:grid;place-items:center;overflow:hidden}
.kk-scenario-art b{font:70px Georgia,serif;z-index:1;transform:rotate(-14deg)}
.kk-garden-art{color:#f0d8a3;background:#627a4d;background-image:radial-gradient(ellipse at 0 95%,#aab776 0 30%,transparent 31%),radial-gradient(ellipse at 100% 5%,#879b5a 0 35%,transparent 36%)}
.kk-garden-art i{position:absolute;width:86px;height:86px;border-radius:50%;border:1px dashed #d8e0a787}
.kk-orbit-art{background:radial-gradient(ellipse at center,#3a5865,transparent 66%);color:#e2b879}
.kk-orbit-art i{position:absolute;width:138px;height:67px;border:1px solid #9fafac;border-radius:50%;transform:rotate(-35deg)}
.kk-orbit-art:after{content:"";position:absolute;inset:10px;background-image:radial-gradient(circle at 15% 20%,#ece4ca 0 1px,transparent 2px),radial-gradient(circle at 80% 83%,#ece4ca 0 1px,transparent 2px)}
.kk-launch{background:var(--kk-paper);display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding:50px 60px;min-height:350px;border-radius:6px}
.kk-intro h2{font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-1.7px;margin:15px 0 20px}
.kk-intro p{max-width:390px;font-size:15px;line-height:1.7;color:var(--kk-muted)}
.kk-intro button{margin-top:26px}.kk-intro button span{display:block;font-size:11px;color:var(--kk-muted);margin-top:5px}
.kk-launch form{display:grid;gap:15px}.kk-page label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:bold}
.kk-page input,.kk-page select{background:var(--kk-paper);color:var(--kk-ink);border:1px solid var(--kk-line);border-radius:3px;padding:10px;min-width:0}
.kk-lobby-heading{display:flex;justify-content:space-between;align-items:center;margin-top:23px}.kk-lobby-heading h3{font-size:18px}
#kk-list-status{font-size:12px;color:var(--kk-muted);margin:8px 0}#kk-public-list{list-style:none;padding:0;margin:0}
#kk-public-list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--kk-line)}
#kk-public-list strong,#kk-public-list small{display:block}#kk-public-list small{font-weight:normal;letter-spacing:0;margin-top:5px;color:var(--kk-muted)}
.kk-session{background:var(--kk-paper);border-radius:6px;overflow:hidden}
.kk-session-top{display:flex;align-items:center;justify-content:space-between;padding:22px 26px 15px}.kk-session-top h2{font-size:32px;margin-top:6px;letter-spacing:-.7px}
.kk-room-actions{display:flex;gap:12px;align-items:center}.kk-room-actions input{width:300px}
.kk-roster{display:flex;border-top:1px solid var(--kk-line);border-bottom:1px solid var(--kk-line);padding:0 26px;gap:28px;flex-wrap:wrap}
.kk-member{position:relative;padding:12px 0 12px 18px;min-width:145px;font-size:12px}.kk-member:before{position:absolute;content:"";width:8px;height:8px;left:0;top:17px;background:var(--member);border-radius:50%}
.kk-member b{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kk-member small{display:block;letter-spacing:.3px;font-size:10px;font-weight:400;color:var(--kk-muted);margin-top:4px}
.kk-member.kk-current{border-bottom:3px solid var(--member)}.kk-member.kk-disconnected{opacity:.5}
.kk-waiting{padding:30px 26px;display:flex;align-items:center;gap:14px}.kk-waiting>div{flex:1}.kk-waiting h3{font-size:25px;margin-bottom:8px}.kk-waiting p{color:var(--kk-muted);font-size:13px}
.kk-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px}
.kk-map-column{min-width:0}.kk-resourcebar{display:flex;border-bottom:1px solid var(--kk-line);padding:16px 25px;gap:15px;justify-content:space-between}
.kk-resource{display:flex;align-items:center;gap:9px;min-width:0}.kk-resource i{width:24px;height:28px;background:var(--resource);border-radius:45% 45% 35% 35%;box-shadow:inset -4px -4px 0 #00000015;transform:rotate(-12deg)}
.kk-page[data-world=orbit] .kk-resource i{border-radius:3px;transform:rotate(25deg);width:24px;height:24px}
.kk-resource strong{font-size:22px;font-family:Georgia,serif}.kk-resource small{display:block;font-size:9px;letter-spacing:.4px;color:var(--kk-muted)}
.kk-map-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 25px;background:var(--kk-field);font-size:11px}
.kk-map-heading>span:first-child{font-size:10px;letter-spacing:1px}.kk-map-heading strong{font-weight:normal}.kk-map-heading>span:last-child{font-variant-numeric:tabular-nums}
.kk-board-wrap{position:relative;background:var(--kk-field)}#kk-board{display:block;width:100%;color:var(--kk-ink)}
.kk-map-caption{font:9px "Trebuchet MS",sans-serif;letter-spacing:2px;fill:var(--kk-muted)}
.kk-link{fill:none;stroke:#93a67c;stroke-width:3;stroke-linecap:round;stroke-dasharray:3 9}
.kk-page[data-world=orbit] .kk-link{stroke:#466772;stroke-width:2;stroke-dasharray:5 6}
.kk-link.kk-owned-link{stroke:var(--kk-own);stroke-width:5;stroke-dasharray:none}
.kk-site{cursor:pointer;outline:none}.kk-site .kk-halo{fill:transparent;stroke:transparent;stroke-width:2}.kk-site .kk-land{fill:#eae6ca;stroke:#ced3b7;stroke-width:2;transition:fill .2s,stroke .2s}
.kk-page[data-world=orbit] .kk-site .kk-land{fill:#203943;stroke:#52717b}
.kk-site .kk-motif{color:var(--resource);opacity:.9;transition:transform .2s}
.kk-site:hover .kk-motif{transform:translateY(-4px)}.kk-site:hover .kk-land,.kk-site:focus-visible .kk-land{stroke:var(--kk-accent);stroke-width:4}
.kk-site.kk-selected-site .kk-halo{stroke:var(--kk-accent);stroke-dasharray:4 5}
.kk-site.kk-available .kk-land{stroke:var(--kk-own);stroke-dasharray:3 4}
.kk-site .kk-site-label{font:10px "Trebuchet MS",sans-serif;fill:var(--kk-ink);text-anchor:middle}
.kk-site .kk-site-detail{font:9px "Trebuchet MS",sans-serif;fill:var(--kk-muted);text-anchor:middle}
.kk-site .kk-owner{fill:var(--member);stroke:var(--kk-paper);stroke-width:3}
.kk-site .kk-owner-text{font:bold 9px "Trebuchet MS",sans-serif;fill:white;text-anchor:middle}
.kk-site.kk-solar .kk-halo{stroke:#e7b65f;stroke-width:2;stroke-dasharray:2 5}
.kk-leaf{fill:#c1cd9c;opacity:.4}.kk-page[data-world=orbit] .kk-leaf{fill:#96b8bc;opacity:.35}
.kk-map-footer{display:flex;justify-content:space-between;gap:10px;padding:13px 25px;color:var(--kk-muted);font-size:10px;border-top:1px solid var(--kk-line)}
.kk-map-footer i{display:inline-block;width:8px;height:8px;margin-right:6px;background:var(--kk-own);border-radius:50%}
.kk-inspector{border-left:1px solid var(--kk-line);padding:0 22px}.kk-inspector>section{padding:23px 0;border-bottom:1px solid var(--kk-line)}
.kk-turn-panel>div{display:flex;align-items:center;gap:12px;margin:10px 0 16px}.kk-turn-panel strong{font:52px Georgia,serif;line-height:1}.kk-turn-panel span{max-width:80px;font-size:12px;color:var(--kk-muted)}
.kk-turn-panel button{width:100%}.kk-inspector h3{font-size:24px;line-height:1.15;margin:10px 0}.kk-inspector p{font-size:12px;color:var(--kk-muted);line-height:1.6}
#kk-site-actions{display:grid;gap:8px;margin:15px 0 10px}#kk-site-actions button{padding:10px;font-size:12px;text-align:left}
.kk-cost{font-size:10px!important}.kk-special progress{width:100%;height:8px;accent-color:var(--kk-accent);margin:15px 0}.kk-special button{width:100%;font-size:12px}
.kk-trading{grid-column:1/-1;display:flex;align-items:center;gap:28px;padding:25px;border-top:1px solid var(--kk-line);flex-wrap:wrap}
.kk-trading h3,.kk-contracts h3{font-size:24px;margin:6px 0}.kk-trading p{font-size:11px;color:var(--kk-muted);max-width:240px;line-height:1.5}
.kk-trading form{display:flex;align-items:end;gap:10px;flex:1;flex-wrap:wrap}.kk-trading form>span{align-self:center;font-size:23px}
.kk-trading select{max-width:150px;padding:9px;font-size:12px}.kk-trading button{font-size:12px;padding:11px 12px}
.kk-offer-view{width:100%;display:flex;align-items:center;gap:15px;border-top:1px dashed var(--kk-line);padding-top:15px}
.kk-offer-view p{max-width:none;flex:1;font-size:13px}
.kk-contracts{grid-column:1/-1;display:grid;grid-template-columns:195px 1fr;gap:25px;padding:25px;border-top:1px solid var(--kk-line)}
.kk-contracts-title p{font-size:12px;color:var(--kk-muted);line-height:1.7}#kk-contract-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.kk-contract{border-left:1px solid var(--kk-line);padding-left:20px;display:flex;flex-direction:column;align-items:start}.kk-contract h4{margin:0 0 12px;font-size:14px;font-family:Georgia,serif;font-weight:normal}.kk-contract p{font-size:11px;color:var(--kk-muted);margin-bottom:12px;flex:1;line-height:1.7}.kk-contract button{font-size:11px}
.kk-journal{grid-column:1/-1;border-top:1px solid var(--kk-line);padding:22px 25px}.kk-journal ol{padding:0;margin:12px 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 30px}.kk-journal li{font-size:11px;color:var(--kk-muted)}
.kk-notice{padding:16px 0 25px;color:var(--kk-muted);font-size:12px;min-height:56px}
.kk-result{position:absolute;inset:0;background:color-mix(in srgb,var(--kk-paper) 94%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;gap:18px}
.kk-result h2{font-size:50px;letter-spacing:-1px}.kk-result p{font-size:15px;max-width:440px;line-height:1.7}
.kk-page .kk-help p{margin:0 0 18px;line-height:1.7}
@keyframes kk-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes kk-site-enter{from{opacity:0}to{opacity:1}}
.kk-launch,.kk-session{animation:kk-enter .3s ease-out}.kk-site{animation:kk-site-enter .35s ease-out both}
@media(min-width:1600px){.kk-workspace{grid-template-columns:minmax(0,1fr) 300px}.kk-inspector{padding:0 28px}}
@media(max-width:1150px){.kk-launch{gap:35px;padding:35px}.kk-scenario-art{flex-basis:80px}.kk-scenarios>button{gap:13px}.kk-workspace{grid-template-columns:minmax(0,1fr) 245px}.kk-resourcebar{padding:14px;gap:8px}.kk-resource{gap:6px}.kk-resource i{width:18px;height:23px}.kk-resource small{font-size:8px}.kk-map-footer{padding:12px;font-size:9px}.kk-contracts{grid-template-columns:155px 1fr}.kk-contracts-title h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.kk-page *{animation:none!important;transition:none!important}}
