:root{color-scheme:dark;--ink:#f9f4ec;--muted:#c3c9e0;--accent:#f4cf95;--glass:rgba(13,24,59,.82)}
*{box-sizing:border-box}body{margin:0;background:#152453;color:var(--ink);font-family:'Trebuchet MS',sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #fff1bc;outline-offset:5px}button{touch-action:manipulation}#universe{position:relative;width:100%;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline-offset:-6px}.masthead{position:absolute;top:25px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.masthead>*{pointer-events:auto}.wordmark{text-decoration:none;font:40px/1 Georgia,serif;letter-spacing:-2px;color:var(--ink);display:flex;align-items:center;gap:11px}.brand-eye{display:block;width:22px;height:13px;border:1px solid #e8e1e0;border-radius:80% 20%;transform:rotate(45deg)}.brand-eye i{display:block;margin:3px auto;width:5px;height:5px;border-radius:50%;background:#f8d59d}.edition{font-size:10px;letter-spacing:3px;color:#d1d4e5}.round-button{border:1px solid #ffffff40;border-radius:50%;background:#ffffff06;width:37px;height:37px;font:19px Georgia,serif}.round-button:hover{background:#ffffff18}.world-heading{position:absolute;left:5.2%;top:120px;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--muted);margin:0 0 14px}.world-heading h1{font:normal 58px/.95 Georgia,serif;letter-spacing:-2px;margin:0 0 16px}.world-heading p:not(.eyebrow){color:#d7d8e7;font-size:13px;margin:0 0 15px}.population{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#e6e2df}.population:before{content:'';width:5px;height:5px;border-radius:100%;background:#f4cf95;box-shadow:0 0 12px #f4cf9590}
#planet-nav{position:absolute;right:5%;top:125px;display:flex;align-items:center;gap:11px}.planet-chip{border:0;background:none;display:flex;align-items:center;flex-direction:column;gap:7px;padding:4px 7px;color:#dadcec;font-size:11px;position:relative}.planet-chip small{font-size:9px;letter-spacing:1px;color:#b6bdd8}.orb{display:block;border-radius:50%;width:42px;height:42px;box-shadow:inset -12px -8px 15px #0b0d4080,inset 5px 4px 8px #ffffff38,0 5px 15px #080e3440;transition:transform .25s}.orb-0{background:radial-gradient(at 30% 25%,#c5bcf5,#667cce 40%,#6d4a97)}.orb-1{background:radial-gradient(at 30% 25%,#fbd9b6,#de9879 45%,#a45885)}.orb-2{background:radial-gradient(at 30% 25%,#b3efd9,#469ba6 45%,#2c677e)}.planet-chip[aria-current=true] .orb{outline:1px solid #f7e0ba;outline-offset:5px;transform:scale(1.04)}.planet-chip.locked{opacity:.48}.planet-chip.locked .orb{filter:saturate(.45)}.orbit-thread{width:17px;height:1px;background:#e3e2f14a;margin-bottom:31px}.planet-chip:hover:not(:disabled) .orb{transform:translateY(-3px)}
#draw-hint{position:absolute;left:50%;top:30%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none;transition:opacity .6s;color:#e3def0;font-size:12px;letter-spacing:.3px;white-space:nowrap}#draw-hint svg{width:140px;height:42px;overflow:visible}#draw-hint path{fill:none;stroke:#f2c895;stroke-width:2;stroke-linecap:round;stroke-dasharray:250;stroke-dashoffset:0;filter:drop-shadow(0 0 7px #f28a9d);animation:trace 5s ease-in-out infinite}@keyframes trace{0%{stroke-dashoffset:250;opacity:0}20%,70%{opacity:.8}70%,100%{stroke-dashoffset:0}100%{opacity:0}}#draw-hint.hidden{opacity:0}#toast{position:absolute;left:50%;top:93px;transform:translate(-50%,-8px);max-width:70%;padding:10px 18px;border-radius:30px;background:#111d45de;border:1px solid #ffffff1c;color:#fff1d8;text-align:center;font-size:12px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:3}#toast.show{opacity:1;transform:translate(-50%,0)}
.interaction{position:absolute;bottom:49px;left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 40px));background:var(--glass);border:1px solid #ffffff23;border-radius:22px;box-shadow:0 12px 45px #050b2d40;backdrop-filter:blur(18px);padding:12px 17px 14px}.specimen-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:11px;border-bottom:1px solid #ffffff18;margin-bottom:11px}.specimen-button{display:flex;align-items:center;gap:9px;background:none;border:0;padding:0;text-align:left}.specimen-button canvas{width:44px;height:44px}.specimen-button strong{display:block;font-size:12px;font-weight:normal;letter-spacing:.3px}.specimen-button small{display:block;font-size:10px;margin-top:5px;color:#b5bfd9}.detail-mark{font-size:16px;color:#afbad1;margin-left:5px}.readiness{text-align:right;font-size:10px;color:#bfc9e2}.pips{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}.pips i{height:4px;width:26px;background:#ffffff20;border-radius:9px;transition:background .25s,box-shadow .25s}.pips i.lit{background:#f5cfa0;box-shadow:0 0 9px #facf8770}.actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px}.actions button{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 8px;border:1px solid #ffffff25;border-radius:12px;background:#ffffff06;text-align:left;transition:background .2s,border-color .2s,transform .2s}.actions button svg{width:25px;height:25px;stroke:#f3d1a7;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.actions button span{font-size:12px}.actions button small{display:block;font-size:9px;margin-top:4px;color:#bec7dc}.actions button:disabled{opacity:.38}.actions button:not(:disabled){border-color:#f1cc9780;background:#eac49114}.actions button:hover:not(:disabled){background:#eac49129;transform:translateY(-2px)}footer{position:absolute;bottom:19px;left:36px;right:36px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.3px;color:#c4cae1}.footer-credit{color:#b4bed7}#save-status.warning{color:#ffe3ac}
dialog{border:1px solid #ffffff26;border-radius:24px;padding:35px;width:min(520px,calc(100% - 30px));max-height:88svh;background:#17234c;color:var(--ink);box-shadow:0 25px 100px #05091c70;overflow:auto}dialog::backdrop{background:#07102a99;backdrop-filter:blur(7px)}dialog h2{font:normal 35px/1.08 Georgia,serif;letter-spacing:-.7px;margin:10px 0 22px}dialog p,dialog li{font-size:13px;line-height:1.75;color:#dde1ee}dialog ol{padding-left:20px}dialog li{padding:0 0 10px 4px}.close-dialog{position:absolute;right:15px;top:12px;border:0;background:none;font-size:26px;color:#aebbd8;padding:5px 10px}.fine-print{font-size:11px!important;color:#adb9d4!important}.lore{border-left:1px solid #dcb88d;padding-left:16px;font-family:Georgia,serif;color:#e3cdb4!important}.save-tools{display:flex;gap:8px;margin:22px 0 12px}.save-tools button{border:1px solid #ffffff40;border-radius:10px;padding:10px 13px;font-size:11px;background:#ffffff0a}.text-button{font-size:11px;border:0;border-bottom:1px solid #ffffff35;background:none;padding:4px 0;color:#c7cde0}#file-status{color:#f3cda2}#large-portrait{display:block;max-width:100%;height:auto;margin:-20px auto -10px;width:280px}dl{margin:0}dl>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #ffffff18;font-size:12px}dt{color:#b7c1d8}dd{margin:0;text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#loading{position:absolute;inset:0;background:#152453;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;letter-spacing:1px;color:#d4d8ee;transition:opacity .6s;font-size:12px}#loading.done{opacity:0;pointer-events:none}.loading-orb{width:44px;height:44px;border-radius:50%;background:radial-gradient(at 35% 30%,#b1e4ea,#6072ba 50%,#a374ae);box-shadow:0 0 70px #c8b8ef33}#arrival{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;pointer-events:none;background:radial-gradient(ellipse at center,#6c7bb8e0,#182552f0);opacity:0;transition:opacity .55s}#arrival.visible{opacity:1}#arrival span{font-size:11px;letter-spacing:3px;text-transform:uppercase}#arrival strong{font:normal 70px Georgia,serif}
.orba-cursor-dot,.orba-cursor-ring{display:none}@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body.orba-cursor-enabled,body.orba-cursor-enabled *{cursor:none!important}.orba-cursor-dot,.orba-cursor-ring{display:block;position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:50%;mix-blend-mode:difference;will-change:transform;transform:translate3d(-100px,-100px,0)}.orba-cursor-dot{width:4px;height:4px;background:#fff}.orba-cursor-ring{width:24px;height:24px;border:1px solid #fff;transition:width .2s,height .2s,opacity .2s}body.orba-cursor-hover .orba-cursor-ring{width:42px;height:42px;opacity:.55}}
@media(max-width:700px){#universe{min-height:650px}.masthead{top:21px;left:22px;right:22px}.wordmark{font-size:33px}.edition{font-size:8px;letter-spacing:1.6px}.world-heading{left:25px;top:105px}.world-heading h1{font-size:43px}.world-heading .eyebrow{font-size:8px;margin-bottom:10px}.world-heading p:not(.eyebrow){font-size:11px;margin-bottom:10px}#planet-nav{right:18px;top:111px;gap:1px}.planet-chip{padding:3px 6px;gap:6px;font-size:9px}.planet-chip small{font-size:8px}.orb{width:29px;height:29px}.orbit-thread{width:8px;margin-bottom:28px}#draw-hint{top:33%;font-size:11px}#draw-hint svg{width:110px;height:33px}#toast{top:69px;max-width:92%;width:max-content;font-size:11px;padding:9px 13px}.interaction{bottom:45px;padding:10px 10px 12px;width:calc(100% - 24px);border-radius:18px}.specimen-row{gap:6px;padding-bottom:9px;margin-bottom:9px}.specimen-button{gap:4px}.specimen-button strong{font-size:11px}.specimen-button small{font-size:9px}.specimen-button canvas{width:35px;height:40px}.detail-mark{display:none}.readiness{font-size:9px;max-width:132px}.pips i{width:21px}.actions{gap:6px;grid-template-columns:1fr 1fr 1.15fr}.actions button{gap:5px;padding:10px 4px}.actions button svg{width:19px;height:19px}.actions button span{font-size:11px}.actions button small{font-size:8px}.footer-credit{display:none}footer{left:22px;right:22px;bottom:17px;font-size:9px}dialog{padding:30px 23px}.save-tools button{padding:10px}.world-heading{max-width:45%}}
@media(max-height:620px) and (min-width:701px){#universe{min-height:500px}.world-heading{top:95px}.world-heading h1{font-size:42px}#planet-nav{top:100px}.interaction{bottom:32px;padding:7px 14px}.specimen-row{padding-bottom:4px;margin-bottom:6px}.actions button{padding:7px}footer{bottom:10px}#draw-hint{top:32%}.masthead{top:16px}}
body:not(.keyboard-input) #world:focus-visible{outline:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}#draw-hint path{stroke-dashoffset:0}}
/* Soft, inflated lettering and a planet-coloured drawing desk. */
:root{--pen:#ffbf97}
.wordmark,.world-heading h1,#arrival strong,dialog h2{font-family:'Arial Rounded MT Bold','Trebuchet MS',sans-serif;font-weight:900;letter-spacing:-1.6px;color:#fff1e4;text-shadow:0 -1px 0 #fff,0 1px 0 #ddc5c4,0 2px 0 #b59fae,0 3px 0 #8e7c9b,0 4px 0 #625b83,0 7px 9px #0c143b60}
.wordmark{letter-spacing:-2px}.world-heading h1{letter-spacing:-2.5px}dialog h2{line-height:1.2}
.draw-tools{display:flex;align-items:center;gap:9px;padding:0 0 11px;margin-bottom:10px;border-bottom:1px solid #ffffff18}
.pen-icon{font-size:24px;color:var(--pen);padding:0 4px}.pen-sizes{display:flex;gap:4px}
.draw-tools button{height:38px;min-width:40px;border-radius:11px;border:1px solid #ffffff25;background:#ffffff06;display:flex;align-items:center;justify-content:center;gap:7px}
.pen-sizes i{display:block;width:var(--size);height:var(--size);background:var(--pen);border-radius:50%;box-shadow:inset 0 1px 1px #ffffff80,0 2px 4px #0004}
.pen-sizes button[aria-pressed=true]{border-color:var(--pen);background:#ffffff12;box-shadow:inset 0 0 12px #ffffff09}
#undo-line{font-size:25px}#finish-drawing{margin-left:auto;padding:0 19px;background:var(--pen);color:#243149;border-color:#fff8;font-weight:bold;box-shadow:inset 0 2px 0 #ffffff66,0 3px 0 #0004}
#finish-drawing b{font-size:21px}.draw-tools button:disabled{opacity:.35;box-shadow:none}.draw-tools button:hover:not(:disabled){filter:brightness(1.12)}
.pips i{width:42px}.pips i.lit{background:var(--pen);box-shadow:0 0 9px var(--pen)}#draw-hint path{stroke:var(--pen);filter:drop-shadow(0 0 7px var(--pen))}
.orba-cursor-dot,.orba-cursor-ring{mix-blend-mode:normal}.orba-cursor-dot{background:var(--pen);box-shadow:0 0 5px #111b3b}.orba-cursor-ring{border-color:var(--pen);box-shadow:0 0 5px #111b3b80}
@media(max-width:700px){.draw-tools{gap:6px;padding-bottom:9px;margin-bottom:9px}.draw-tools button{min-width:42px;height:42px}.pen-icon{padding:0;font-size:21px}#finish-drawing{padding:0 14px}.actions button{min-height:44px}.world-heading h1{font-size:43px}.specimen-row{padding-bottom:6px;margin-bottom:7px}}
/* A loose constellation, with no route, ordinal labels or total-world counter. */
#planet-nav{inset:0;display:block;pointer-events:none}
.planet-chip{position:absolute;pointer-events:auto;min-width:48px;min-height:48px;padding:8px;gap:8px}
.planet-chip[data-slot="0"]{left:76%;top:21%}
.planet-chip[data-slot="1"]{left:46%;top:13%}
.planet-chip[data-slot="2"]{left:89%;top:35%}
.planet-chip .orb-0{width:38px;height:38px}.planet-chip .orb-1{width:26px;height:26px}.planet-chip .orb-2{width:49px;height:49px}
.planet-chip.locked{opacity:.55}.planet-chip.locked .orb{filter:none}.planet-name:empty{display:none}
.planet-name{color:#eee6f6;text-shadow:0 2px 5px #07102a}
.planet-chip[aria-current=true] .orb{outline-color:#ffffff8a;outline-offset:7px}
@media(max-width:700px){.planet-chip[data-slot="0"]{left:68%;top:13%}.planet-chip[data-slot="1"]{left:53%;top:25%}.planet-chip[data-slot="2"]{left:auto;right:2%;top:23%}.planet-chip .orb-0{width:29px;height:29px}.planet-chip .orb-1{width:20px;height:20px}.planet-chip .orb-2{width:33px;height:33px}.planet-chip{font-size:10px}}
.actions{grid-template-columns:1fr 1fr 1.2fr}
.actions button:disabled{opacity:.55}
.actions .discovered{animation:seed-discovery .8s ease-out}@keyframes seed-discovery{0%{transform:scale(1)}55%{transform:scale(1.04);box-shadow:0 0 25px var(--pen)}100%{transform:scale(1)}}
#journey{position:absolute;inset:0;z-index:8;pointer-events:none;display:none}#journey.active{display:block}
.travel-seed,.seed-halo,.seed-spark{position:absolute;left:var(--seed-x);top:var(--seed-y)}
.travel-seed{width:39px;height:56px;margin:-28px -19px;border-radius:65% 35% 62% 38%;background:radial-gradient(ellipse at 27% 23%,#fffce9 0%,var(--pen) 38%,#a36baa 80%,#48395d);box-shadow:inset -5px -5px 9px #45335470,inset 3px 2px 5px #fff9,0 0 27px var(--pen);transform:rotate(28deg);animation:seed-jump 1.1s both cubic-bezier(.2,.8,.2,1)}
.travel-seed:after{content:'';position:absolute;inset:7px 14px 7px 15px;border-left:2px solid #fff9;border-radius:50%;transform:rotate(12deg)}
.seed-halo{width:90px;height:90px;margin:-45px;border:2px solid var(--pen);border-radius:50%;box-shadow:0 0 22px var(--pen);animation:seed-ring 1.1s both}
.seed-spark{color:#fff5db;font-size:65px;line-height:1;margin:-32px;animation:seed-flash 1.1s both}
@keyframes seed-jump{0%{opacity:0;transform:translateY(20px) rotate(-15deg) scale(.05)}28%{opacity:1;transform:translateY(-18px) rotate(30deg) scale(1.25)}46%{transform:translateY(-10px) rotate(24deg) scale(1)}75%{opacity:1;transform:translate(28px,-75px) rotate(55deg) scale(.8)}92%,100%{opacity:0;transform:translate(65px,-130px) rotate(80deg) scale(0)}}
@keyframes seed-ring{0%,45%{opacity:0;transform:translate(0,0) scale(.3)}65%{opacity:.8;transform:translate(28px,-75px) scale(.7)}100%{opacity:0;transform:translate(65px,-130px) scale(2.2)}}
@keyframes seed-flash{0%,70%{opacity:0;transform:translate(65px,-130px) scale(.1)}82%{opacity:.9;transform:translate(65px,-130px) scale(1)}100%{opacity:0;transform:translate(65px,-130px) scale(.4)}}
@media(prefers-reduced-motion:reduce){.seed-halo,.seed-spark{display:none}.travel-seed{transform:rotate(28deg);opacity:1}}
/* Both pointer modes stay usable in the browser's top-layer dialogs. */
body.orba-cursor-enabled dialog,body.orba-cursor-enabled dialog *{cursor:auto!important}body.orba-cursor-enabled dialog button{cursor:pointer!important}
#universe{min-height:0;height:100svh}.actions button{min-height:48px}.actions button svg{width:29px;height:29px}.actions button span{font-size:13px}.actions button small{display:none}
.readiness{font-size:12px}.specimen-button strong{font-size:13px}.specimen-button small{font-size:11px}.draw-tools button{min-width:44px;height:44px}
dialog p,dialog li{font-size:14px;line-height:1.6}.fine-print{font-size:12px!important}
.orb-3{background:radial-gradient(at 30% 25%,#fff0b6,#dc9f6e 45%,#925c79)}.orb-4{background:radial-gradient(at 30% 25%,#f4c9e6,#9b8bd1 45%,#504785)}
.planet-chip[data-slot="3"]{left:33%;top:21%}.planet-chip[data-slot="4"]{left:64%;top:10%}.planet-chip .orb-3{width:33px;height:33px}.planet-chip .orb-4{width:22px;height:22px}
#colony-nav{pointer-events:auto;display:flex;align-items:center;gap:7px;margin-top:7px;font-size:11px}#colony-nav[hidden]{display:none}#colony-nav button{width:44px;height:35px;border:1px solid #ffffff40;border-radius:10px;background:#16244e80;font-size:24px}
@media(max-width:700px){.planet-chip[data-slot="3"]{left:47%;top:12%}.planet-chip[data-slot="4"]{left:80%;top:32%}.planet-chip .orb-3{width:24px;height:24px}.planet-chip .orb-4{width:18px;height:18px}.interaction{bottom:38px}.actions button{min-height:48px;padding:7px 4px}.actions button svg{width:23px;height:23px}.actions button span{font-size:12px}.specimen-button strong{font-size:12px}.specimen-button small{font-size:11px}.readiness{font-size:11px}.draw-tools button{min-width:44px;height:44px}.world-heading{max-width:44%}.world-heading p:not(.eyebrow){font-size:12px}#colony-nav{gap:3px}#colony-nav button{width:35px;height:32px}.edition{font-size:8px;letter-spacing:1px}}
@media(max-height:650px) and (max-width:599px){.masthead{top:12px;left:16px;right:16px}.wordmark{font-size:28px}.edition{display:none}.world-heading{top:75px;left:20px}.world-heading h1{font-size:35px;margin-bottom:10px}.world-heading p:not(.eyebrow){display:none}.planet-chip[data-slot="0"]{top:17%}.planet-chip[data-slot="1"]{top:29%}.planet-chip[data-slot="2"]{top:28%}.planet-chip[data-slot="3"]{top:16%}.planet-chip[data-slot="4"]{top:37%}.interaction{padding:8px;bottom:31px}.specimen-row{padding-bottom:3px;margin-bottom:4px}.draw-tools{padding-bottom:6px;margin-bottom:6px;gap:3px}.pen-icon{display:none}#finish-drawing{padding:0 10px}#draw-hint{top:36%;font-size:11px}#draw-hint svg{display:none}footer{bottom:11px;font-size:10px}}
@media(max-height:500px) and (min-width:600px){.masthead{top:12px;left:22px;right:22px}.wordmark{font-size:29px}.edition{display:none}.interaction{left:auto;right:12px;transform:none;width:310px;bottom:14px;padding:10px}.world-heading{top:70px;left:22px}.world-heading h1{font-size:32px;margin-bottom:8px}.world-heading p:not(.eyebrow){display:none}.world-heading .eyebrow{font-size:8px;margin-bottom:7px}#planet-nav{left:150px;right:340px;top:58px;bottom:auto;height:85px}.planet-chip[data-slot="0"]{left:15%;top:4px}.planet-chip[data-slot="1"]{left:43%;top:37px}.planet-chip[data-slot="2"]{left:70%;right:auto;top:10px}.planet-chip[data-slot="3"]{left:0;top:49px}.planet-chip[data-slot="4"]{left:80%;top:65px}.planet-chip .orb{width:23px;height:23px}.planet-chip{font-size:10px;padding:4px}.planet-name{font-size:10px}.specimen-button canvas{width:32px;height:36px}.specimen-button small{font-size:10px}.specimen-button strong{font-size:12px}.detail-mark{display:none}.readiness{font-size:10px}.draw-tools{gap:4px}.pen-icon{display:none}.actions button{gap:4px;min-height:46px}.actions button svg{width:21px;height:21px}.actions button span{font-size:12px}.actions button small{display:none}#finish-drawing{padding:0 12px}#draw-hint{left:29%;top:43%;font-size:11px}#draw-hint svg{display:none}footer{left:22px;right:auto;bottom:10px}.footer-credit,#save-status{display:none}#colony-nav{position:absolute;left:0;top:91px;margin:0}#colony-nav button{height:27px}}
/* Colony navigation occupies the control panel, never the drawing stage. */
#colony-nav{position:static;flex:0 0 auto;display:flex;align-items:center;gap:6px;margin:0;font-size:12px}
#colony-nav[hidden]{display:none}#colony-nav button{flex:0 0 44px;width:44px;height:44px;padding:0;font-size:25px}
#colony-page{white-space:nowrap;min-width:33px;text-align:center;font-variant-numeric:tabular-nums}
.has-colony-pages .readiness{display:none}.has-colony-pages .detail-mark{display:none}.has-colony-pages .specimen-button{min-width:0}.has-colony-pages .specimen-button strong{white-space:nowrap}
@media(max-width:359px){#colony-nav{gap:3px}.has-colony-pages .specimen-button canvas{width:30px}.has-colony-pages .specimen-button small{font-size:10px}}

/* View control and expandable planet atlas; capacity stays hidden. */
.header-tools{display:flex;gap:10px;pointer-events:auto}.header-tools button{min-width:44px;min-height:44px}
.sound-control{position:relative;display:flex;align-items:center}#sound-volume{position:absolute;top:43px;left:50%;transform:translateX(-50%);width:72px;height:44px;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;touch-action:pan-y}#sound-volume::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:#e4d6ee80}#sound-volume::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-4px;border-radius:50%;background:#fff1e4;box-shadow:0 0 0 2px #1b254b66}#sound-volume::-moz-range-track{height:2px;border-radius:2px;background:#e4d6ee80}#sound-volume::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#fff1e4}#sound-volume:disabled{opacity:.35}#sound-volume:focus-visible{outline:1px solid #fff1e4;outline-offset:1px;border-radius:8px}
#sound-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sound-muted{display:none}#sound-toggle[data-sound="muted"] .sound-muted{display:block}#sound-toggle[data-sound="muted"] .sound-waves{display:none}#sound-toggle[data-sound="waiting"]{opacity:.65}@media(max-width:700px){.masthead .edition{display:none}.header-tools{gap:5px}}
.population-row{display:flex;align-items:center;gap:8px}.population.complete:before{background:#b5ffe0;box-shadow:0 0 10px #b5ffe0}
#view-toggle{pointer-events:auto;width:44px;height:44px;padding:0;border:1px solid #ffffff40;border-radius:50%;background:#15234c88;font-size:28px;color:#f9e9db}
#view-toggle[hidden]{display:none}
.actions button.complete{border-color:#b5ffe055}
#galaxy-select{width:100%;min-height:44px;margin:0 0 16px;padding:8px 12px;border:1px solid #ffffff40;border-radius:14px;background:#20284a;color:#fff;font:inherit}#galaxy-select[hidden],.planet-chip[hidden]{display:none}
#world-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#world-list button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:128px;padding:12px 4px;background:#ffffff06;border:1px solid #ffffff20;border-radius:20px}
#world-list button[aria-current="true"]{border-color:#f3c793}#world-list button:disabled{opacity:.45}#world-list strong{font-weight:normal;font-size:13px;overflow-wrap:anywhere}#world-list small{font-size:10px;color:#c9d3e2}.map-orb{width:46px;height:46px;border-radius:50%;box-shadow:inset -7px -6px 10px #090d3480,0 5px 15px #090d3440}
@media(max-width:359px){#world-list{grid-template-columns:repeat(2,minmax(0,1fr))}.population-row{gap:4px}.population{font-size:10px}}

/* Roomy touch close control in every dialog. */
.close-dialog{width:48px;height:48px;min-width:48px;min-height:48px;padding:0;display:grid;place-items:center;border:1px solid #ffffff25;border-radius:50%;background:#ffffff08;font-size:32px;line-height:1;color:#edf1ff;right:10px;top:10px}
.close-dialog:hover{background:#ffffff18}dialog>.eyebrow{padding-right:38px}
.population-row{max-width:100%}.population{flex-wrap:wrap}
@media(max-height:500px) and (min-width:600px){.population-row{max-width:120px;flex-wrap:wrap;gap:4px}.population{flex:1 1 100%;font-size:10px}}

/* Hold a size button for the colour table; short taps still select width. */
.pen-sizes button{touch-action:none;user-select:none;-webkit-touch-callout:none;position:relative}
.pen-sizes button::after{content:'';position:absolute;bottom:4px;left:12px;right:12px;height:2px;border-radius:2px;background:linear-gradient(90deg,#ff365b,#ffc928,#41dd4e,#23a5ff,#d943f2);opacity:.8}
.draw-tools .pen-icon{min-width:30px;width:30px;border:0;background:none;padding:0;color:var(--pen)}
#colour-dialog{width:min(420px,calc(100% - 24px));padding:20px}
#colour-dialog h2{font-size:28px;margin:4px 0 18px}#colour-dialog .eyebrow{margin:0}
#ink-colours{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
#ink-colours button{height:44px;min-width:44px;border:2px solid transparent;border-radius:12px;background:var(--swatch);box-shadow:inset 0 2px 2px #ffffff80,inset 0 -3px 5px #0002;color:#132447;font-size:25px;font-weight:bold;text-shadow:0 1px 2px #fff}
#ink-colours button[aria-pressed=true]{border-color:white;box-shadow:0 0 0 2px #16214b,inset 0 2px 2px #ffffff80}
#planet-colour{width:100%;min-height:44px;border:1px solid #ffffff40;background:#ffffff09;border-radius:12px;margin-top:12px}
@media(min-width:400px){#ink-colours{grid-template-columns:repeat(6,1fr)}}
@media(max-height:500px) and (min-width:600px){#colour-dialog{width:480px}#ink-colours{grid-template-columns:repeat(8,1fr)}}

/* A separate camera row keeps drawing gestures dedicated to the pen. */
.view-tools{display:flex;align-items:center;justify-content:flex-end;gap:0;margin:0 0 2px;padding:0;border:0}
.view-tools button{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;font-size:20px;line-height:1;color:#d4d8e8}
.view-tools button:hover{background:#ffffff0b}.view-tools button[aria-pressed=true]{color:#b5ffe0}
#zoom{appearance:none;-webkit-appearance:none;flex:1 1 124px;max-width:144px;min-width:36px;width:100%;height:44px;margin:0;background:transparent;cursor:pointer;touch-action:pan-x}
#zoom::-webkit-slider-runnable-track{height:2px;background:#d6d6ed55;border-radius:2px}
#zoom::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:11px;margin-top:-4.5px;border:2px solid #dedaf5;border-radius:50%;background:#7f84b5;box-shadow:0 0 7px #d6caff35}
#zoom::-moz-range-track{height:2px;background:#d6d6ed55;border-radius:2px}
#zoom::-moz-range-thumb{width:7px;height:7px;border:2px solid #dedaf5;border-radius:50%;background:#7f84b5;box-shadow:0 0 7px #d6caff35}
#zoom:focus-visible{outline:1px solid #fff1bc;outline-offset:-5px;border-radius:8px}
.eye-view .world-heading,.eye-view #planet-nav,.eye-view #draw-hint{visibility:hidden;pointer-events:none}
@media(max-width:359px){.view-tools{gap:0}}
/* Keep action messages beside the actions, clear of the header volume control. */
.interaction #toast{top:auto;bottom:calc(100% + 12px);width:max-content;max-width:100%;margin:0}
.portrait-save{justify-content:center;margin:8px 0}.portrait-save button{min-height:44px;min-width:100px;font-size:13px}#portrait-status{text-align:center;margin:0 0 10px}#portrait-status:empty{display:none}
/* An interactive prologue made from the same bodies as the game. */
#intro-dialog{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100svh;max-width:none;max-height:none;border:0;border-radius:0;overflow:hidden;background:#152453;color:#fff1e4;--intro-progress:0}
#intro-dialog::backdrop{background:#152453;backdrop-filter:none}#intro-scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.intro-heading{position:absolute;top:clamp(24px,6vh,70px);left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:18px;pointer-events:none;white-space:nowrap}.intro-heading .wordmark{font-size:clamp(38px,6vw,68px)}.intro-tagline{font-size:10px;letter-spacing:4px;color:#d8cce8}
#intro-touch{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);border:0;border-radius:40%;background:transparent;cursor:pointer}#intro-touch span{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:14px;letter-spacing:1px;color:#fff1e4}#intro-touch b{display:block;font-size:24px;margin-top:4px;font-weight:normal}#intro-touch:focus-visible{outline:1px solid #ffe3b29c;outline-offset:6px}
#intro-caption{position:absolute;left:15px;right:15px;bottom:18%;margin:0;text-align:center;font-size:clamp(22px,4vw,38px);font-weight:bold;color:#fff1e4;text-shadow:0 2px 0 #80709d,0 6px 12px #10152f80;pointer-events:none}
#intro-skip{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);min-height:48px;padding:12px 27px;border:1px solid #ffecd68c;border-radius:30px;background:#142145c9;color:#fff1e4;font-size:15px;box-shadow:inset 0 1px 0 #fff2,0 5px 20px #12204466}#intro-skip span{margin-left:18px}#intro-skip:hover{background:#344471}
#intro-sound{position:absolute;top:max(20px,env(safe-area-inset-top));right:max(30px,env(safe-area-inset-right))}.intro-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#ffd0ad;transform:scaleX(var(--intro-progress));transform-origin:left;opacity:.6}
#intro-dialog [hidden]{display:none!important}#watch-intro{min-height:44px}
#intro-touch:focus-visible,#intro-skip:focus-visible{outline:none}body.keyboard-input #intro-touch:focus-visible,body.keyboard-input #intro-skip:focus-visible{outline:2px solid #ffe3b2;outline-offset:5px}
@media(max-height:500px){.intro-heading{left:25px;top:20px;transform:none;align-items:flex-start;gap:12px}.intro-heading .wordmark{font-size:34px}.intro-tagline{font-size:8px;letter-spacing:2px}#intro-caption{bottom:20%;font-size:23px}#intro-skip{bottom:16px}#intro-touch span{font-size:12px}#intro-touch b{display:inline;margin-left:10px}}

/* Rounded pearl faces above a lavender extrusion: sculptural, legible lettering. */
.intro-heading .intro-title,#intro-caption{font-family:'Arial Rounded MT Bold','Trebuchet MS',sans-serif;font-weight:900;letter-spacing:-.045em;color:#d58ab5;text-shadow:0 1px 0 #ffc2da,1px 2px 0 #c77ca8,2px 3px 0 #b16a9e,3px 4px 0 #995d94,4px 5px 0 #825186,5px 6px 0 #704774,6px 7px 0 #603f68,7px 9px 0 #513858,8px 12px 13px #08112a90}
.intro-heading .intro-title{position:relative;display:block;font-size:clamp(48px,8vw,92px);line-height:1.1;transform:rotate(-4deg)}
.intro-face{position:absolute;inset:0;color:transparent;background:linear-gradient(170deg,#fffef8 9%,#ffe9df 27%,#efbedc 49%,#d6a2d7 58%,#fff0df 81%,#e5b6d8 100%);background-clip:text;-webkit-background-clip:text;text-shadow:none;-webkit-text-stroke:.4px #fff8;pointer-events:none}
#intro-caption{font-size:clamp(28px,4.5vw,48px);line-height:1.25;letter-spacing:-.04em}
.intro-tagline{text-shadow:0 2px 4px #10162c;letter-spacing:3px}
#intro-skip{background:linear-gradient(160deg,#354367e8,#192443e8);box-shadow:inset 0 2px 2px #ffefdf35,inset 0 -3px 5px #10162966,0 5px 16px #12204466}
@media(max-width:420px) and (min-height:501px){.intro-heading{top:30px;left:24px;transform:none;align-items:flex-start;gap:16px}#intro-sound{top:14px;right:24px}.intro-heading .intro-title{font-size:54px}.intro-tagline{font-size:8px}#intro-caption{font-size:29px}}
@media(max-height:500px){.intro-heading .intro-title{font-size:42px}#intro-caption{font-size:26px;text-shadow:0 1px 0 #edbbd7,1px 2px 0 #bd7ba9,2px 3px 0 #995d94,3px 4px 0 #704774,4px 6px 9px #08112a90}}
@media(prefers-reduced-motion:reduce){.intro-heading .intro-title{transform:none}}

/* Emerald depth and a stable lower caption row, clear of the planet horizon. */
#intro-caption{bottom:clamp(96px,10vh,120px);color:#08634c;-webkit-text-stroke:2.5px #08634c;paint-order:stroke fill;text-shadow:1px 2px 0 #14785e,2px 3px 0 #106d54,3px 4px 0 #0c624c,4px 6px 0 #075940,0 7px 10px #126a5080}
#intro-caption .intro-face{background-image:linear-gradient(170deg,#ffffff 12%,#fff9e9 44%,#ffe7c9 65%,#fffaf0 88%);-webkit-text-stroke:0}
.intro-heading .intro-title{color:#159c90;text-shadow:0 1px 0 #b8fff1,1px 2px 0 #39cdbd,2px 3px 0 #26b8aa,3px 4px 0 #1aa297,4px 5px 0 #128c80,5px 6px 0 #0e7b6a,6px 7px 0 #0b6c56,7px 9px 0 #075f49,8px 12px 13px #075f4966}
.intro-title .intro-face{background-image:linear-gradient(170deg,#dcfff7 6%,#8ff9e6 25%,#40ddce 48%,#20bbaa 64%,#9cfff0 85%,#40d8c7 100%);-webkit-text-stroke:.4px #b8fff18c}
#intro-prompt{position:absolute;bottom:clamp(96px,10vh,120px);left:50%;transform:translateX(-50%);min-height:44px;padding:8px 14px;border:0;border-radius:18px;background:transparent;color:#075b43;font-size:17px;font-weight:bold;letter-spacing:.3px;text-shadow:0 1px 0 #e4fff48c;white-space:nowrap}
#intro-prompt span{margin-right:7px;font-size:24px;vertical-align:-2px}#intro-prompt:hover{background:#e4fff425}#intro-prompt:focus-visible{outline:2px solid #087657;outline-offset:3px}
@media(max-height:500px){#intro-caption,#intro-prompt{bottom:84px}}

/* Locally bundled round letterforms; balloon depth scales with the text size. */
@font-face{font-family:'Florobit Balloon';src:url('assets/fonts/fredoka-bold-latin.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--balloon:'Florobit Balloon','Arial Rounded MT Bold','Trebuchet MS',sans-serif}
.wordmark,.world-heading h1,#arrival strong,dialog h2,.intro-heading .intro-title,#intro-caption,#intro-prompt,#intro-skip,.actions button>span,#finish-drawing,#save-portrait,#watch-intro,#world-list strong,.planet-name,#specimen-name{font-family:var(--balloon);font-weight:700;letter-spacing:.005em}
.wordmark,.world-heading h1,#arrival strong,dialog h2{color:#9cf9df;text-shadow:0 -.025em .01em #e9fff5,0 .025em 0 #50cbb3,.025em .05em 0 #2dac8b,.035em .075em 0 #188c6d,.045em .1em 0 #0a6d50,0 .13em .16em #0b70575c}
.intro-heading .intro-title{letter-spacing:-.025em;line-height:1.12}
#intro-caption{letter-spacing:0;line-height:1.3;-webkit-text-stroke:2px #08634c}
#intro-caption .intro-face{background-image:radial-gradient(ellipse at 45% 15%,#ffffff 10%,#fff9e5 42%,#f4dcae 70%,#fff3d6 93%)}
.intro-title .intro-face{background-image:radial-gradient(ellipse at 40% 15%,#e9fff7 4%,#9cffe8 24%,#51e5d1 48%,#24bba8 74%,#85ffe5 95%)}
.actions button>span,#finish-drawing,#intro-skip,#save-portrait,#watch-intro{font-size:16px;line-height:1.15;text-shadow:0 1px 0 #086b5580,0 2px 2px #08765b40}
.actions button small{font-family:'Trebuchet MS',sans-serif;font-weight:normal;letter-spacing:normal;text-shadow:none}
#intro-prompt{font-size:20px;letter-spacing:.02em}
#world-list strong,.planet-name,#specimen-name{text-shadow:0 1px 0 #08765780}
@media(max-width:359px){.actions{gap:6px}.actions button{gap:6px}.actions button>span{font-size:14px}.actions button svg{width:22px;height:22px}.intro-heading .intro-title{font-size:52px}}
#intro-skip{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:calc(100% - 32px);white-space:nowrap}#intro-skip span{margin-left:0}
@media(max-width:359px){.draw-tools{gap:2px}.pen-sizes{gap:0}#finish-drawing{font-size:14px;padding:0 3px;gap:2px}#finish-drawing b{font-size:17px}}

/* Portrait captions follow the specimen scale rather than the screen bottom. */
.intro-tagline{font-size:12px;line-height:1.4;letter-spacing:2px}
@media(orientation:portrait){#intro-caption,#intro-prompt{top:var(--intro-label-top);bottom:auto}}
@media(min-width:700px) and (min-height:501px){.intro-tagline{font-size:14px}}
#intro-seed{--pen:#80f4e6;animation:none;pointer-events:none}

/* Distinct luminous action colours; readiness still changes the whole button. */
#bud-action{--action-colour:#74ffc1;--action-wash:#41e9a51c}
#clone-action{--action-colour:#ff9ee8;--action-wash:#ef72d31c}
#travel-action{--action-colour:#78edff;--action-wash:#40cde91c}
.actions button>span,.actions button svg{color:var(--action-colour)}
.actions button svg{stroke:var(--action-colour)}
.actions button:not(:disabled){border-color:var(--action-colour);background:var(--action-wash);box-shadow:inset 0 1px 0 #ffffff26,0 0 12px var(--action-wash)}
.actions button:not(:disabled)>span{text-shadow:0 1px 1px #075940,0 0 9px var(--action-colour)}
.actions button:disabled{opacity:.65;background:#ffffff04;border-color:#ffffff23;box-shadow:none}
.actions button:disabled>span{text-shadow:none}
.help-credits{margin-top:26px;padding-top:20px;border-top:1px solid #8ff9df38}
.help-credits p{margin:0}.help-credits .eyebrow{font-size:11px;color:#b9e9db;letter-spacing:2px}
.help-credits .credit-name{font-size:14px}.help-credits a{display:inline-flex;align-items:center;min-height:44px;margin-left:4px;font-family:var(--balloon);font-size:20px;color:#9cf9df;text-underline-offset:4px;text-decoration-thickness:1px}
.help-credits a:hover{color:#dffff3}.help-credits p:last-child{color:#c3d7d5;font-size:13px}
