:root{--night:0;--white:#fff;--marble:#f8f6f1;--marble-2:#eef1f3;--line:#d3dde5;--blue:#1f5f8f;--blue-dk:#133e60;--blue-mid:#3f7fb1;--blue-lt:#dbe9f4;--blue-xlt:#eef5fa;--terra:#c8643b;--terra-dk:#9c4726;--terra-lt:#f7e1d6;--ink:#13293d;--ink-soft:#587084;--ok:#2f7d5b;--bad:#b3452a;--amber:#d99a2b;--display:"Marcellus", "Trajan Pro", Georgia, serif;--caps:"Marcellus SC", "Marcellus", Georgia, serif;--text:"Spectral", Georgia, "Times New Roman", serif;--shadow:0 10px 30px #13293d2e, 0 2px 6px #13293d14;--meander:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 11h4V1h14v8h-8V5h4' fill='none' stroke='%231f5f8f' stroke-width='1.6'/%3E%3Cpath d='M18 11h6' stroke='%231f5f8f' stroke-width='1.6'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{font-family:var(--text);color:var(--ink);background:radial-gradient(ellipse 80% 70% at 45% 40%, rgba(255, 255, 255, calc(.75 * (1 - var(--night)))), transparent 70%), linear-gradient(180deg, rgb(calc(214 - 196 * var(--night)) calc(230 - 204 * var(--night)) calc(240 - 196 * var(--night))), rgb(calc(176 - 164 * var(--night)) calc(203 - 184 * var(--night)) calc(222 - 190 * var(--night))))}button{cursor:pointer;color:inherit;font-family:inherit}#world{position:fixed;inset:0}#world canvas{display:block}.label-layer{position:absolute;inset:0}.card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px}.btn{background:var(--white);border:1px solid var(--line);color:var(--blue);border-radius:8px}.btn:hover:not(:disabled){background:var(--blue-xlt);border-color:var(--blue-mid)}.choice:focus-visible,.knob:focus-visible,.plaque:focus-visible,.btn:focus-visible,.dest:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.instruments{z-index:5;width:290px;padding:10px 12px;position:fixed;top:14px;left:14px}.gauges{gap:6px;display:flex}.gauge{text-align:center;flex:1;margin:0}.gauge svg{width:100%;display:block}.gauge figcaption{font-family:var(--caps);letter-spacing:.08em;color:var(--blue-dk);margin-top:-2px;font-size:13px}.gauge .needle{transform-origin:60px 62px;transition:transform 1.2s cubic-bezier(.3,1.6,.5,1)}.gauge.bump{animation:.6s bump}@keyframes bump{30%{transform:scale(1.06)}}.counters{gap:8px;margin-top:8px;display:flex}.counter{background:var(--blue-xlt);border:1px solid var(--blue-lt);border-radius:8px;flex:1;align-items:center;gap:6px;padding:5px 8px;display:flex}.counter .cg{color:var(--terra);font-size:16px}.counter .cl{font-family:var(--caps);letter-spacing:.05em;color:var(--blue-dk);flex:1;font-size:13px}.counter .drum{font-family:var(--display);text-align:center;background:var(--blue);min-width:30px;color:var(--white);border-radius:5px;padding:0 6px;font-size:17px}.counter.bump .drum{background:var(--terra);animation:.6s bump}.astrolabe{z-index:5;text-align:center;pointer-events:none;position:fixed;top:10px;left:50%;transform:translate(-50%)}.astrolabe svg{filter:drop-shadow(0 8px 16px #13293d40);width:124px;height:124px}.astrolabe .pointer{transform-origin:70px 70px;transition:transform 1.8s cubic-bezier(.4,0,.2,1)}.astro-label{font-family:var(--caps);letter-spacing:.12em;color:var(--white);background:var(--blue);border-radius:12px;margin-top:-4px;padding:3px 14px;font-size:15px;display:inline-block;box-shadow:0 4px 10px #13293d40}.tools{z-index:6;gap:8px;display:flex;position:fixed;top:14px;right:14px}.knob{background:var(--white);border:1px solid var(--line);width:58px;height:58px;box-shadow:var(--shadow);color:var(--blue);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.knob span{font-size:18px;line-height:1}.knob small{font-family:var(--caps);letter-spacing:.06em;color:var(--ink-soft);margin-top:3px;font-size:10px}.knob:hover{background:var(--blue-xlt);border-color:var(--blue-mid)}.knob.off{color:#9aabb8}.knob.hint-knob{background:var(--terra);border-color:var(--terra-dk);color:var(--white)}.knob.hint-knob small{color:#ffe8dc}.knob.hint-knob:hover{background:var(--terra-dk)}.knob.hint-knob.used{background:var(--white);color:var(--terra);border-color:var(--line)}.knob.hint-knob.used small{color:var(--ink-soft)}.aims{z-index:5;width:290px;padding:14px 16px;position:fixed;bottom:14px;left:14px;overflow:hidden}.aims:before{content:"";background:var(--meander) repeat-x;opacity:.85;height:12px;position:absolute;top:0;left:0;right:0}.aims h3{font-family:var(--caps);letter-spacing:.14em;color:var(--blue);margin:6px 0;font-size:14px;font-weight:400}.aims ul{flex-direction:column;gap:5px;margin:0;padding:0;font-size:15px;line-height:1.25;list-style:none;display:flex}.aims li{gap:8px;display:flex}.aims li:before{content:"◇";color:var(--terra);flex:none}.aims li.done{color:#9aabb8;text-decoration:line-through}.aims li.done:before{content:"◆";color:#9aabb8}.aims li.fresh{animation:1.8s fresh}@keyframes fresh{0%,40%{color:var(--terra)}}.scroll{z-index:5;background:var(--white);border:1px solid var(--line);width:420px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex;position:fixed;top:90px;bottom:14px;right:14px;overflow:hidden}.scroll-rod{background:var(--meander) repeat-x center;background-color:var(--blue-xlt);border-bottom:1px solid var(--blue-lt);flex:none;height:14px}.scroll-rod.bottom{border-bottom:0;border-top:1px solid var(--blue-lt)}.scroll-body{scrollbar-width:thin;scrollbar-color:var(--blue-lt) transparent;flex:1;min-height:0;padding:18px 24px 22px;overflow-y:auto}.loc-head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.loc-seal{width:38px;height:38px;color:var(--white);background:var(--blue);border-radius:50%;flex:none;place-items:center;font-size:17px;display:grid}.loc-name{font-family:var(--caps);letter-spacing:.12em;color:var(--blue);font-size:13px;line-height:1.25}.loc-name b{font-family:var(--display);letter-spacing:.06em;color:var(--ink-soft);font-size:13px;font-weight:400;display:block}.scene-title{font-family:var(--display);color:var(--ink);margin:12px 0 10px;font-size:28px;font-weight:400;line-height:1.15}.scene-text{color:#1d3144;font-size:17.5px;line-height:1.58}.scene-text p{margin:0 0 12px}.enter{animation:.45s rise}@keyframes rise{0%{transform:translateY(8px)}to{transform:none}}.rule{background:var(--meander) repeat-x center;opacity:.35;height:12px;margin:14px 0}.choices{flex-direction:column;gap:9px;display:flex}.choice{text-align:left;background:var(--blue);border:1px solid var(--blue-dk);color:var(--white);border-radius:10px;align-items:flex-start;gap:12px;padding:11px 14px 11px 11px;font-size:16px;line-height:1.35;transition:transform .12s,box-shadow .12s,background .12s;display:flex;box-shadow:0 3px 8px #133f6038}.choice:hover:not(:disabled){background:var(--blue-dk);box-shadow:0 5px 14px #133f604d, -4px 0 0 var(--terra);transform:translate(3px)}.choice .num{width:26px;height:26px;font-family:var(--display);color:var(--blue-dk);background:var(--white);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.choice .fx{color:#cfe2f1;margin-top:3px;font-size:13px;font-style:italic;display:block}.choice:disabled{background:var(--marble-2);color:#8397a6;border-color:var(--line);box-shadow:none;cursor:not-allowed}.choice:disabled .num{background:var(--line);color:var(--white)}.choice:disabled .fx{color:var(--terra-dk)}.choice.quiet{background:var(--white);color:var(--blue-dk);border:1px solid var(--line);box-shadow:none}.choice.quiet:hover{background:var(--blue-xlt)}.choice.quiet .num{background:var(--blue-lt);color:var(--blue-dk)}.choice.quiet .fx{color:var(--ink-soft)}.hint{color:var(--ink-soft);margin:4px 0 12px;font-size:15px;font-style:italic}.section-label{font-family:var(--caps);letter-spacing:.14em;color:var(--blue);margin:18px 0 8px;font-size:12px}.dests{flex-direction:column;gap:3px;display:flex}.dest{text-align:left;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:6px 8px;font-size:15px;display:flex}.dest:hover:not(:disabled){background:var(--blue-xlt);border-color:var(--blue-lt)}.dest .dg{background:var(--blue-lt);width:24px;height:24px;color:var(--blue-dk);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.dest .dn{flex:1}.dest .dt{font-size:12px;font-family:var(--caps);letter-spacing:.05em;color:var(--ink-soft)}.dest .risk{color:var(--bad)}.dest:disabled{opacity:.45;cursor:default}.dest.new .dn:after{content:" ✦ new";color:var(--terra);font-size:12px;font-family:var(--caps)}.factions{flex-direction:column;gap:4px;margin-top:8px;display:flex}.factions[hidden]{display:none}.frow,.hist{align-items:center;gap:8px;font-size:12.5px;display:flex}.frow .fl,.hist .fl{width:64px;font-family:var(--caps);letter-spacing:.04em;color:var(--blue-dk)}.frow .bar{background:var(--blue-xlt);border-radius:4px;flex:1;height:7px;overflow:hidden}.frow .fill{background:var(--blue);border-radius:4px;height:100%;transition:width .8s;display:block}.frow[data-f=carth] .fill{background:#7a4a8f}.frow[data-f=people] .fill{background:var(--terra)}.frow .fv{text-align:right;width:16px;font-family:var(--display);color:var(--ink)}.frow.bump{animation:.6s bump}.hist .hist-track{background:linear-gradient(90deg, var(--blue-lt), #e8b89f, var(--terra));border-radius:4px;flex:1;height:7px;position:relative}.hist .hist-dot{background:var(--white);border:2px solid var(--ink);border-radius:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;transition:left .8s;position:absolute;top:50%}.hist .hist-v{width:92px;color:var(--ink-soft);text-align:right;font-size:11.5px;font-style:italic}.saved-note{text-align:center;color:var(--ok);margin:4px 0;font-size:15px}.chapters .choice{min-width:0!important}.devices{flex-direction:column;gap:10px;margin-top:10px;display:flex}.device{border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.device.built{background:var(--blue-xlt)}.device .dg{background:var(--blue);width:40px;height:40px;color:var(--white);border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid}.device .db{flex:1;font-size:15px}.device .db b{font-family:var(--display);color:var(--blue-dk);font-size:17px;font-weight:400}.device .dt{color:var(--ink-soft);margin:2px 0 6px;font-size:14px}.device .tag{font-family:var(--caps);letter-spacing:.06em;vertical-align:2px;border-radius:8px;padding:1px 7px;font-size:10.5px}.device .tag.hist{background:var(--blue-lt);color:var(--blue-dk)}.device .tag.new{background:var(--terra-lt);color:var(--terra-dk)}.device .needs{flex-wrap:wrap;gap:5px;display:flex}.device .need{border:1px dashed var(--line);color:var(--ink-soft);border-radius:9px;padding:1px 8px;font-size:12px}.device .need.ok{border-style:solid;border-color:var(--ok);color:var(--ok)}.device .da{text-align:right;flex:none;width:130px}.device .da .choice{justify-content:center;width:100%;min-width:0;padding:7px 10px}.device .why{color:var(--terra-dk);margin-top:4px;font-size:12px;font-style:italic}.device .done{font-family:var(--caps);color:var(--ok)}@media (width<=860px){.factions .frow,.factions .hist{font-size:11px}.hist .hist-v{display:none}.device{flex-wrap:wrap}.device .da{width:100%}}.auth{flex-direction:column;gap:10px;max-width:360px;margin:6px auto 0;display:flex}.auth label{font-family:var(--caps);letter-spacing:.08em;color:var(--blue-dk);flex-direction:column;gap:4px;font-size:12px;display:flex}.auth input{font:inherit;font-family:var(--text);letter-spacing:0;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:10px;padding:9px 12px;font-size:16px}.auth input:focus{outline:2px solid var(--blue-mid);border-color:#0000}.auth .actions{margin-top:4px}.auth-err{color:var(--bad);text-align:center;margin:4px 0;font-size:15px}.auth-ok{color:var(--ok);text-align:center;margin:4px 0;font-size:15px}.who{text-align:center;color:var(--ink-soft);margin:2px 0;font-size:14px}.link{color:var(--blue);font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.choice.danger{color:var(--bad);border-color:#e7c1b6}.choice.danger:not(.quiet){background:var(--bad);color:var(--white);border-color:var(--bad)}.knob.cheat-knob{background:var(--ink);color:#ffd36b;border-color:var(--ink)}.knob.cheat-knob small{color:#ffd36b}.knob[hidden]{display:none}.choice.best{background:var(--terra);border-color:var(--terra-dk);box-shadow:0 0 0 3px #c8643b4d,0 3px 8px #9c47264d}.choice.best:hover:not(:disabled){background:var(--terra-dk)}.choice.best .num{color:var(--terra-dk)}.choice.best .fx{color:#ffe3d6}.walk{background:var(--terra-lt);border-left:4px solid var(--terra);border-radius:10px;margin:12px 0 4px;padding:10px 12px;font-size:15.5px;line-height:1.4}.walk b{font-family:var(--caps);letter-spacing:.14em;color:var(--terra-dk);margin-bottom:2px;font-size:11.5px;font-weight:400;display:block}.walk-go{border:1px solid var(--terra-dk);background:var(--terra);color:var(--white);font-family:var(--caps);letter-spacing:.06em;border-radius:8px;margin-top:8px;padding:6px 12px;font-size:13px;display:block}.walk-go:hover{background:var(--terra-dk)}.cheat-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cheat-grid .choice{justify-content:flex-start;min-width:0}.toggle{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:15px;display:flex}.toggle input{accent-color:var(--terra);width:18px;height:18px}.hintbox{z-index:11;border-left:5px solid var(--terra);width:300px;padding:14px 16px;position:fixed;top:84px;right:450px}.hintbox h5{font-family:var(--caps);letter-spacing:.14em;color:var(--terra);margin:0 0 4px;font-size:12px;font-weight:400}.hintbox p{margin:0;font-size:15.5px;font-style:italic;line-height:1.4}.hintbox small{color:var(--ink-soft);margin-top:8px;font-size:12.5px;display:block}.hintbox[hidden]{display:none}.plaque{font-family:var(--display);letter-spacing:.03em;white-space:nowrap;border:1px solid var(--blue-lt);color:var(--ink);pointer-events:auto;background:#fffffff5;border-radius:14px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12.5px;transition:transform .2s,background .2s;display:flex;box-shadow:0 3px 10px #13293d47}.plaque .pg{background:var(--blue);width:20px;height:20px;color:var(--white);border-radius:50%;place-items:center;font-size:11px;display:grid}.plaque:hover{border-color:var(--blue-mid);transform:translateY(-2px)scale(1.05)}.plaque:not(.visited){background:#ffffffc7}.plaque:not(.visited) .pn:after{content:" ?";color:var(--terra)}.plaque.locked{color:#e4ecf2;background:#587084d9;border-color:#587084}.plaque.locked .pg{color:#c9d6e0;background:#3c5366}.plaque.locked .pn:after{content:" ⌧";color:#c9d6e0}.plaque.current{background:var(--terra);color:var(--white);border-color:var(--terra-dk);transform:scale(1.12)}.plaque.current .pg{background:var(--white);color:var(--terra)}.plaque.current .pn:after{content:""}.plaque.fresh{animation:1.2s 3 fresh-plaque}@keyframes fresh-plaque{50%{box-shadow:0 0 0 6px #c8643b73,0 3px 8px #0000004d}}.popover{z-index:9;width:270px;padding:14px 16px;position:fixed}.popover h4{font-family:var(--display);color:var(--blue-dk);margin:0 0 2px;font-size:20px;font-weight:400}.popover p{color:var(--ink-soft);margin:0 0 10px;font-size:14.5px;line-height:1.35}.popover .facts{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.popover .fact{font-family:var(--caps);letter-spacing:.05em;background:var(--blue-xlt);color:var(--blue-dk);border-radius:10px;padding:3px 9px;font-size:11.5px}.popover .fact.risk-high{background:var(--bad);color:var(--white)}.popover .fact.risk-low{background:var(--amber);color:var(--white)}.popover .row{gap:8px;display:flex}.popover .go{font-family:var(--caps);letter-spacing:.08em;background:var(--terra);border:1px solid var(--terra-dk);color:var(--white);border-radius:8px;flex:1;padding:9px;font-size:15px}.popover .go:hover:not(:disabled){background:var(--terra-dk)}.popover .go:disabled{background:var(--marble-2);border-color:var(--line);color:#9aabb8;cursor:not-allowed}.popover .x{width:38px}.popover .why{color:var(--terra-dk);margin:-2px 0 10px;font-size:14px;font-style:italic}.toasts{z-index:12;pointer-events:none;flex-direction:column-reverse;align-items:center;gap:6px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{font-family:var(--display);background:var(--white);color:var(--ink);border:1px solid var(--line);border-left:5px solid var(--blue);box-shadow:var(--shadow);border-radius:18px;padding:7px 18px;font-size:16px;animation:3.2s forwards toast}.toast.good{border-left-color:var(--ok)}.toast.bad{border-left-color:var(--bad)}@keyframes toast{0%{opacity:0;transform:translateY(10px)}10%{opacity:1;transform:none}82%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.veil{z-index:15;color:var(--white);pointer-events:none;background:#0d1e30f0;place-items:center;animation:3s forwards veil;display:grid;position:fixed;inset:0}.veil[hidden]{display:none}.veil .big{font-family:var(--display);letter-spacing:.1em;text-align:center;font-size:58px}.veil .small{font-family:var(--caps);letter-spacing:.3em;text-align:center;color:#f3c6ae;margin-top:6px;font-size:14px}@keyframes veil{0%{opacity:0}20%,70%{opacity:1}to{opacity:0}}.modal{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#13293d73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.modal-card{background:var(--white) var(--meander) repeat-x 0 10px;border:1px solid var(--line);border-radius:16px;width:min(560px,100%);max-height:88vh;padding:30px 32px 26px;font-size:16.5px;line-height:1.5;animation:.4s rise;overflow-y:auto;box-shadow:0 30px 70px #13293d59}.modal-card h2{font-family:var(--display);text-align:center;color:var(--blue-dk);margin:2px 0 4px;font-size:32px;font-weight:400}.modal-card .kicker{font-family:var(--caps);text-align:center;letter-spacing:.2em;color:var(--terra);margin-top:8px;font-size:12px}.modal-card .actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.modal-card .actions .choice{justify-content:center;min-width:150px}.modal-card ul{padding-left:20px}.modal-card li{margin-bottom:4px}.tabs{justify-content:center;gap:6px;margin:10px 0 14px;display:flex}.tab{border:1px solid var(--line);background:var(--white);font-family:var(--caps);letter-spacing:.06em;color:var(--blue);border-radius:14px;padding:5px 14px;font-size:13px}.tab.on{background:var(--blue);color:var(--white);border-color:var(--blue)}.people{grid-template-columns:1fr 1fr;gap:10px;display:grid}.person{align-items:center;gap:10px;display:flex}.coin{width:42px;height:42px;font-family:var(--display);color:var(--white);background:var(--blue);border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid;box-shadow:inset 0 0 0 3px #ffffff59}.person.unknown .coin{background:var(--marble-2);color:#9aabb8;box-shadow:none}.person .pn{font-weight:600;line-height:1.1}.person .pr{color:var(--ink-soft);font-size:13.5px;font-style:italic}.person.unknown .pn,.person.unknown .pr{color:#9aabb8}.insights{flex-direction:column;gap:8px;display:flex}.insight{border:1px solid var(--line);background:var(--blue-xlt);border-radius:10px;gap:10px;padding:8px 12px;display:flex}.insight .ig{color:var(--terra);font-size:20px}.insight b{font-family:var(--display);color:var(--blue-dk);font-size:17px;font-weight:400}.insight.locked{opacity:.5;background:var(--white);border-style:dashed}.chron{flex-direction:column;gap:8px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.chron .when{font-family:var(--caps);letter-spacing:.08em;color:var(--blue);font-size:11.5px}.chron .d{margin-left:6px;font-size:13.5px;font-weight:600}.chron .d.up{color:var(--ok)}.chron .d.down{color:var(--bad)}.dawns{flex-direction:column;gap:8px;display:flex}.stats-row{font-family:var(--display);justify-content:center;gap:26px;margin:16px 0;display:flex}.stats-row b{text-align:center;color:var(--blue-dk);font-size:30px;font-weight:400;display:block}.stats-row span{font-family:var(--caps);letter-spacing:.1em;color:var(--ink-soft);font-size:11px}.title-card h1{font-family:var(--display);letter-spacing:.14em;text-align:center;color:var(--blue-dk);margin:4px 0 0;font-size:64px;font-weight:400}.title-card .sub{text-align:center;color:var(--ink-soft);margin-bottom:8px;font-style:italic}@media (width<=1180px){.scroll{width:360px}.hintbox{right:390px}.instruments,.aims{width:250px}}@media (width<=860px){.instruments{width:200px;padding:6px 8px;top:8px;left:8px}.gauge figcaption{font-size:11px}.counters{flex-direction:column;gap:4px;margin-top:4px}.counter .cl{font-size:11px}.astrolabe{top:58px;left:auto;right:8px;transform:none}.astrolabe svg{width:78px;height:78px}.astro-label{display:none}.tools{gap:4px;top:8px;right:8px}.knob{width:40px;height:40px}.knob small,.aims{display:none}.scroll{width:auto;height:48vh;inset:auto 8px 8px}.hintbox{width:auto;inset:auto 8px calc(48vh + 18px)}.scene-title{font-size:22px}.scene-text{font-size:16px}.popover{width:auto;bottom:calc(48vh + 20px);right:8px;top:auto!important;left:8px!important}}
