:root{--bg: #05070f;--panel: #0e1730;--panel-2: #131e3d;--line: #2a3760;--text: #d7dfee;--muted: #8391b3;--accent: #7dd3fc;--ok: #6fcf97;--err: #ff5252;--metal: #9aa5b1;--energy: #ffd166;--food: #6fcf97;--crystal: #7dd3fc;--rium: #c58cff;--concordat: #e8c872;--guild: #e07a3f;--oracles: #9b7bff;--corsairs: #d9534f;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;touch-action:manipulation;background:var(--bg);color:var(--text);font:15px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#app{height:100dvh}canvas{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}h1,h2,h3,.tabs button,.chip b,.status b,.coach .step{font-family:Rajdhani,Inter,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer}button:disabled{opacity:.4;cursor:default}button.on{border-color:var(--accent);background:#17325a}button.primary{background:var(--accent);color:#06121f;font-weight:600;border:none;padding:10px 16px}input,select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px;width:100%}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}h1{font-size:44px;letter-spacing:.12em;margin:8px 0 0;font-weight:500}h2{font-size:18px;margin:0 0 6px}h3{font-size:14px;margin:14px 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.muted{color:var(--muted)}.error{color:var(--err)}.f-concordat{color:var(--concordat)}.f-guild{color:var(--guild)}.f-oracles{color:var(--oracles)}.f-corsairs{color:var(--corsairs)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}.r-metal .dot,.dot.r-metal,.chip.r-metal i{background:var(--metal)}.dot.r-energy,.chip.r-energy i{background:var(--energy)}.dot.r-food,.chip.r-food i{background:var(--food)}.dot.r-crystal,.chip.r-crystal i{background:var(--crystal)}.dot.r-rium,.chip.r-rium i{background:var(--rium)}.landing{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:calc(32px + var(--safe-t)) 16px calc(32px + var(--safe-b));text-align:center;background:radial-gradient(ellipse at 50% 20%,#17224a 0%,var(--bg) 60%)}.landing .logo{width:84px;height:84px;opacity:.9}.tagline{color:var(--accent);letter-spacing:.3em;text-transform:uppercase;font-size:12px;margin:4px 0 12px}.subtitle{color:var(--muted);max-width:520px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;width:min(640px,100%);display:flex;flex-direction:column;gap:16px;text-align:left}fieldset{border:none;padding:0;margin:0}legend{color:var(--muted);font-size:13px;margin-bottom:8px}.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.choice{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px}.choice small{color:var(--muted);font-size:12px}.choice.f-concordat.on{border-color:var(--concordat)}.choice.f-guild.on{border-color:var(--guild)}.choice.f-oracles.on{border-color:var(--oracles)}.choice.f-corsairs.on{border-color:var(--corsairs)}.lang{align-self:flex-end;display:flex;gap:4px}.lang button{padding:4px 8px;font-size:12px}.splash{height:100%;display:grid;place-items:center}.spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game{position:relative;height:100%;overflow:hidden}.map{position:absolute;inset:0}.hud{position:absolute;top:0;left:0;right:0;padding:calc(8px + var(--safe-t)) 10px 8px;background:linear-gradient(#070b16f2,#070b1600);pointer-events:none}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{background:#0b1226eb;border:1px solid var(--line);border-radius:10px;padding:4px 9px 4px 7px;font-size:13px;display:inline-flex;align-items:center;gap:5px;pointer-events:auto;line-height:1.1}.chip b{font-size:16px;font-weight:600;letter-spacing:.02em}.chip small{color:var(--ok);font-size:11px;margin-left:-1px}.chip em{font-style:normal;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-left:2px}.chip.help{padding:4px 7px;cursor:pointer}.icon{flex:none}.r-metal{color:var(--metal)}.r-energy{color:var(--energy)}.r-food{color:var(--food)}.r-crystal{color:var(--crystal)}.r-rium{color:var(--rium)}.r-credits{color:#f4f6fb}.r-influence{color:var(--oracles)}.chip.r-metal b,.chip.r-energy b,.chip.r-food b,.chip.r-crystal b,.chip.r-rium b,.chip.r-credits b,.chip.r-influence b{color:var(--text)}.status .draw{display:inline-flex;align-items:center;gap:6px}.status .gain{color:var(--ok, #7ee2a8)}.status .building{color:var(--accent, #7dd3fc)}.ev-none{color:var(--muted)}.ev-eruption{color:var(--energy)}.ev-storm{color:var(--err)}.ev-echo{color:var(--crystal)}.legend{pointer-events:auto;margin-top:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;max-width:520px;font-size:13px}.legend p{margin:4px 0;display:flex;gap:8px;align-items:flex-start}.legend h3{margin:0 0 6px}.coach{pointer-events:auto;margin-top:8px;background:linear-gradient(135deg,#17325a,#0e1730);border:1px solid var(--accent);border-radius:12px;padding:10px 12px;max-width:420px;display:flex;gap:10px;align-items:center}.coach .text{flex:1}.coach p{margin:0;font-size:14px}.coach small{color:var(--muted, #9fb0d0);font-size:12px}.coach .step{color:var(--accent);font-weight:700}.status{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px;align-items:center}.status b{color:var(--text);font-size:14px}.tag{display:inline-block;background:#17325a;border-radius:6px;padding:2px 8px;font-size:12px}.banner{position:absolute;top:76px;left:50%;transform:translate(-50%);background:var(--err);color:#fff;padding:6px 12px;border-radius:8px;font-size:13px}.toast{position:absolute;bottom:calc(48% + 8px);left:50%;transform:translate(-50%);padding:8px 14px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);font-size:14px;z-index:5}.toast.err{border-color:var(--err)}.toast.ok{border-color:var(--ok)}.hint{position:absolute;top:84px;left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--accent);padding:6px 10px;border-radius:10px;font-size:13px;display:flex;gap:8px;align-items:center}.panel{position:absolute;left:0;right:0;bottom:0;background:var(--panel);border-top:1px solid var(--line);border-radius:16px 16px 0 0;max-height:48%;display:flex;flex-direction:column;transition:max-height .2s;padding-bottom:var(--safe-b)}.panel:not(.open){max-height:44px}.tabs{display:flex;flex:none;align-items:center;gap:2px;overflow-x:auto;overflow-y:hidden;padding:6px 8px;border-bottom:1px solid var(--line);scrollbar-width:none}.tabs button{white-space:nowrap;font-size:13px;padding:5px 10px;border-radius:999px;background:transparent;border-color:transparent}.tabs button.on{background:var(--panel-2);border-color:var(--line)}.tabs .collapse{margin-left:auto}.body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px 12px}.list{list-style:none;margin:0;padding:0}.list li{padding:6px 0;border-bottom:1px solid rgba(42,55,96,.5);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.list li small{color:var(--muted)}.list.log li{font-size:13px}.actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.capjump{float:right;font-size:12px;padding:3px 8px;margin:2px 0 0 8px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions.inline{margin:0 0 0 auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin:6px 0}.row>*{flex:1;min-width:100px}.seg{display:flex}.seg button{flex:1;border-radius:0}.seg button:first-child{border-radius:8px 0 0 8px}.seg button:last-child{border-radius:0 8px 8px 0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7;font-style:italic}@media (max-width: 480px){.chip em{display:none}.chip{padding:3px 7px}.tabs{gap:0;padding:6px 4px}.tabs button{padding:5px 7px}}@media (min-width: 900px){.panel{left:auto;top:0;bottom:0;width:400px;max-height:none;border-radius:0;border-left:1px solid var(--line);border-top:none}.panel:not(.open){max-height:none;width:400px}.tabs .collapse{display:none}.panel .tabs{flex-wrap:wrap;overflow-x:visible;row-gap:4px}.hud{right:400px}.toast{bottom:24px;left:calc(50% - 200px)}}.briefing{position:absolute;top:96px;left:12px;right:12px;max-width:520px;margin:0 auto;background:var(--panel);border:1px solid var(--accent);border-radius:14px;padding:14px;z-index:6;box-shadow:0 10px 40px #00000080}.briefing h3{margin:0 0 8px}.briefing pre{white-space:pre-wrap;font:inherit;margin:0 0 10px;line-height:1.5}@media (min-width: 900px){.briefing{left:24px;right:auto;width:460px}}.facts{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--muted);margin:4px 0 8px}.facts b{color:var(--text)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.card-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:8px 10px;min-height:64px}.card-btn small{color:var(--muted);font-size:11.5px;line-height:1.3}.card-btn.has{border-color:var(--ok);opacity:.8}.card-btn small.ok{color:var(--ok)}.cost{display:inline-flex;gap:8px;font-size:12px;margin-top:2px}.cost span{display:inline-flex;align-items:center;gap:2px}.dotn{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:4px;vertical-align:middle}.landing{background:radial-gradient(ellipse at 50% 10%,#182350 0%,#0a1024 40%,var(--bg) 75%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='20' cy='30' r='1'/%3E%3Ccircle cx='120' cy='80' r='1.4'/%3E%3Ccircle cx='220' cy='40' r='.8'/%3E%3Ccircle cx='300' cy='120' r='1.2'/%3E%3Ccircle cx='360' cy='200' r='.9'/%3E%3Ccircle cx='60' cy='180' r='1.1'/%3E%3Ccircle cx='180' cy='240' r='.7'/%3E%3Ccircle cx='260' cy='300' r='1.3'/%3E%3Ccircle cx='40' cy='340' r='.9'/%3E%3Ccircle cx='330' cy='370' r='1'/%3E%3Ccircle cx='150' cy='350' r='.6'/%3E%3Ccircle cx='390' cy='20' r='.8'/%3E%3C/g%3E%3C/svg%3E");background-blend-mode:normal,screen}.landing h1{font-size:56px;letter-spacing:.18em;font-weight:600;text-shadow:0 0 30px rgba(125,211,252,.35)}.prices{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:6px}.prices th,.prices td{padding:4px 6px;border-bottom:1px solid rgba(42,55,96,.5);text-align:right}.prices td:first-child,.prices th:first-child{text-align:left}.prices tr.on td{background:#7dd3fc14}.prices tbody tr{cursor:pointer}.seg.wide{margin:6px 0}.seg.wide button{padding:8px}.warn{background:#ffd1661f;border:1px solid var(--energy);border-radius:10px;padding:8px 10px;font-size:13px}.row.qty label{flex:1 1 45%}.row.qty label span{display:flex;align-items:center;gap:4px}.list li.on{background:#7dd3fc14;border-radius:6px;padding-left:6px}.alerts{pointer-events:auto;display:flex;flex-direction:column;gap:6px;margin-top:8px;max-width:420px}.alert{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#ff525238,#0e1730f2);border:1px solid var(--err);border-radius:12px;padding:8px 12px;text-align:left;font-size:14px}.alert i{width:10px;height:10px;border-radius:50%;background:var(--err);animation:blink 1s infinite}.alert b{margin-left:auto;color:#fff}@keyframes blink{50%{opacity:.25}}.blink{animation:blink 1.2s infinite}.bad{color:var(--err)}.good{color:var(--ok)}.dotn.bad{background:var(--err)}button.enter{border-color:var(--accent);color:var(--accent);font-weight:600}button.enter.hot{border-color:var(--err);color:#fff;background:#ff525240}.sysmode{position:absolute;inset:0;z-index:4;background-color:#0b1128;background-image:radial-gradient(2.4px 2.4px at 20px 30px,rgba(255,255,255,.9),transparent 70%),radial-gradient(1.2px 1.2px at 90px 110px,rgba(207,228,255,.85),transparent 70%),radial-gradient(2.6px 2.6px at 250px 60px,rgba(255,230,199,.85),transparent 70%),radial-gradient(2px 2px at 60px 270px,rgba(216,208,255,.8),transparent 70%),radial-gradient(1px 1px at 190px 150px,rgba(255,255,255,.75),transparent 70%),radial-gradient(2px 2px at 145px 175px,rgba(207,228,255,.8),transparent 70%),radial-gradient(1px 1px at 120px 20px,rgba(255,255,255,.7),transparent 70%),radial-gradient(1.8px 1.8px at 170px 120px,rgba(255,230,199,.75),transparent 70%),radial-gradient(ellipse 65% 55% at 48% 52%,rgba(74,91,214,.42),transparent 72%),radial-gradient(ellipse 45% 38% at 72% 28%,rgba(122,70,201,.3),transparent 70%),radial-gradient(ellipse 40% 35% at 22% 70%,rgba(42,127,157,.26),transparent 70%);background-size:330px 330px,210px 210px,330px 330px,330px 330px,210px 210px,210px 210px,210px 210px,210px 210px,100% 100%,100% 100%,100% 100%;opacity:0;transform:scale(1.12);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.sysmode.in{opacity:1;transform:none}.sysmap{position:absolute;inset:0}.sysbar{position:relative;z-index:2;padding:calc(10px + var(--safe-t)) 12px 10px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:linear-gradient(#04060df5,#04060d00);pointer-events:none}.sysbar>*{pointer-events:auto}.sysbar h2{margin:0;font-size:22px;letter-spacing:.04em;display:flex;align-items:center;gap:8px}.sysbar h2 small{color:var(--muted);font-size:14px;font-weight:400}.sysbar .back{background:#0b1226eb;border-color:var(--line);padding:6px 12px;border-radius:999px}.sysstatus{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:var(--muted);align-items:center;width:100%}.sysstatus b{color:var(--text)}.sysstatus .stocks{display:inline-flex;gap:10px;align-items:flex-end}.sysstatus .stocks>span{display:inline-flex;flex-direction:column;gap:2px;font-size:12px;min-width:44px}.sysstatus .stocks i{display:block;height:3px;background:currentColor;border-radius:2px;opacity:.8}.dock{position:absolute;left:0;right:0;bottom:0;z-index:3;background:#0e1730f0;backdrop-filter:blur(6px);border-top:1px solid var(--line);border-radius:16px 16px 0 0;max-height:46%;display:flex;flex-direction:column;padding-bottom:var(--safe-b)}.dock{overflow:hidden}.dock .tabs{flex:none;background:#0e1730fa}.dock .body{overflow-y:auto;min-height:0;padding:10px 12px}.selbox{background:#05070f99;border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:8px}.selbox h3{margin:0 0 4px;display:flex;gap:8px;align-items:baseline}.selbox p{margin:4px 0;font-size:13px}.selbox .x{margin-left:auto;padding:0 8px}.report table td{font-size:12px;vertical-align:top}@media (min-width: 900px){.sysmode{right:0}.sysmap{bottom:0;right:400px}.dock{left:auto;top:0;bottom:0;width:400px;max-height:none;border-radius:0;border-left:1px solid var(--line);border-top:none}.sysbar{right:400px;position:absolute;left:0;top:0}}.sysbar .recenter{padding:4px 10px;font-size:18px;line-height:1}.landing button.link,.generalpanel button.link{background:none;border:0;color:var(--muted, #9fb0d0);text-decoration:underline;cursor:pointer;padding:0;font:inherit}.landing .join{display:grid;gap:8px;margin-top:8px}.devicelink{margin-top:12px;display:grid;gap:6px}.devicelink input{width:100%;font-size:12px}.update{pointer-events:auto;margin-top:8px;display:inline-flex;gap:10px;align-items:center;background:#17325a;border:1px solid var(--accent);border-radius:12px;padding:8px 12px}.ios-hint{font-size:12px}.talk{display:flex;flex-direction:column;gap:6px;margin:8px 0}.bubble{margin:0;padding:8px 10px;border-radius:12px;font-size:14px;line-height:1.4;max-width:92%}.bubble.general{background:var(--panel-2);border:1px solid var(--line);align-self:flex-start}.bubble.me{background:#17325a;align-self:flex-end}.talk .ack{margin:2px 0 -2px;font-size:12px;color:var(--ok);letter-spacing:.02em;align-self:flex-start}.say{display:flex;gap:6px;align-items:flex-end}.say textarea{flex:1}.linktargets .list li{justify-content:space-between}.linktargets .list li b{flex:1 1 auto}.small{font-size:12px}@media (max-width: 899px){.chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chip small{display:none}.status{gap:4px 10px}.status>span:not(.draw):not(.score):not(.net):not(.objective){display:none}.status .objective{flex-basis:100%;font-size:12px}.status .net small{font-size:11px}.hint{top:auto;bottom:calc(58% + 10px);z-index:4}.coach{padding:8px 10px;gap:8px}.coach small{display:none}.coach p{font-size:13px}.legend{max-height:40vh;overflow:auto}.panel.open{max-height:58%}.briefing{top:72px}.toast{bottom:calc(52px + var(--safe-b));max-width:80vw}}.generalpanel .say{position:sticky;bottom:0;margin:0 0 10px;padding:6px 0;background:var(--panel);z-index:1}@media (max-width: 899px){.panel.open:has(.generalpanel){max-height:52%}.generalpanel .talk{max-height:34vh;overflow:auto}}.teach{animation:teach 1s ease-in-out infinite;outline:2px solid var(--accent);outline-offset:2px;position:relative;z-index:1}@keyframes teach{50%{box-shadow:0 0 0 7px #7dd3fc47;outline-color:#fff}}.hint.teachbar{z-index:5;top:100px;max-width:min(92vw,600px);border-color:var(--accent);background:#0e1730f5;box-shadow:0 8px 30px #00000073}.hint.teachbar span{flex:1;line-height:1.35}.hint.teachbar button{flex:none;padding:2px 8px}.hint.teachbar.done{border-color:var(--ok)}@media (max-width: 899px){.hint.teachbar{top:auto;bottom:calc(58% + 10px);left:8px;right:8px;transform:none;max-width:none}}@media (max-height: 560px){.hud .chips,.hud .status,.coach,.legend{display:none}.panel.open,.panel.open:has(.generalpanel){max-height:70%}}.alert.inbound{background:linear-gradient(135deg,#ffd16638,#0e1730f2);border-color:var(--energy)}.alert.inbound i{background:var(--energy)}.alert.soft{background:linear-gradient(135deg,#7dd3fc2e,#0e1730f2);border-color:var(--accent)}.alert.soft i{background:var(--accent);animation:none}.alert span{flex:1}.alerts small{padding-left:12px}.badge{display:inline-block;min-width:16px;padding:0 4px;border-radius:999px;background:var(--err);color:#fff;font-size:10px;font-style:normal;font-weight:700;line-height:16px;text-align:center;margin-left:6px;vertical-align:middle}.feed li{font-size:13px;gap:8px;flex-wrap:nowrap;align-items:flex-start}.feed li>span{flex:1}.feed li>small{white-space:nowrap}.feed li>i{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--muted)}.feed li.tone-bad>i{background:var(--err)}.feed li.tone-good>i{background:var(--ok)}.feed li.tone-draw{display:block}.feed li.has-sys{cursor:pointer}.recap{background:#7dd3fc0f;border:1px solid rgba(125,211,252,.25);border-radius:10px;padding:8px 10px}.recap .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.recap .head b{font-family:Rajdhani,Inter,sans-serif;font-size:15px;letter-spacing:.04em}.recap .chips{gap:4px;margin-bottom:4px}.recap .chip{padding:2px 6px;font-size:12px}.recap .chip b{font-size:13px}.decrees{margin-top:14px}.decrees .cards{grid-template-columns:repeat(3,1fr)}@media (max-width: 480px){.decrees .cards{grid-template-columns:1fr 1fr}}.journal li{font-size:13px;gap:8px}.journal li small{white-space:nowrap}.counsel{display:flex;flex-direction:column;gap:6px;margin:6px 10px 0;pointer-events:auto;max-width:560px}.counsel .who{color:var(--muted);font-family:Rajdhani,Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.counsel .card{background:#0e1730f0;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:8px 10px;backdrop-filter:blur(6px)}.counsel .card.u2{border-left-color:var(--err)}.counsel .card.u1{border-left-color:var(--energy)}.counsel .card p{margin:0 0 6px;font-size:14px;line-height:1.35}.counsel .acts{display:flex;gap:6px;flex-wrap:wrap}.counsel .acts button{font-size:13px;padding:5px 10px}.counsel .acts button.primary{padding:5px 12px}.counsel .card.fresh{animation:counsel-fresh .9s ease .5s both}@keyframes counsel-fresh{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.counsel .who{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.counsel .who .tally{color:var(--text);letter-spacing:.03em;font-variant-numeric:tabular-nums;white-space:nowrap}.counsel .done-draw{margin:0;background:#0e1730f0;border:1px solid rgba(111,207,151,.55);border-left:3px solid var(--ok);border-radius:10px;padding:7px 10px;font-size:14px;line-height:1.35;color:var(--text);font-weight:400;backdrop-filter:blur(6px)}.counsel .done-draw b{color:var(--ok);font-weight:700;margin-right:2px}.counsel .acts button.link{background:none;border:0;color:var(--muted);text-decoration:underline;padding:5px 4px}@media (max-width: 899px){.counsel{margin:4px 6px 0}.hud .card.anchor{margin:6px 6px 0}.counsel:not(.first) .card:nth-of-type(n+3){display:none}.counsel .card:nth-of-type(n+4){display:none}}.account .lang{align-self:flex-start;margin:4px 0 8px}.account .actions a.link{align-self:center;color:var(--muted);font-size:13px}.account .selbox p.bad{margin:0 0 8px}.landing button.passkey{width:100%;margin:6px 0 0}.emailform input.code{font-size:22px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}.emailform .actions{display:flex;gap:8px;flex-wrap:wrap}.account .list li .actions{display:flex;gap:6px}.tag.ok{border-color:var(--ok);color:var(--ok)}.tag.founder{color:#f5c76b;border:1px solid #f5c76b55;background:#2a2210}.doctrine-card{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:10px 12px;margin:4px 0 10px}.doctrine-card .who{color:var(--muted);font-family:Rajdhani,Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.doctrine-card p{margin:2px 0 6px;font-size:14px;line-height:1.35}.doctrine-card .voice{color:var(--muted);font-style:italic;font-size:13px}.doctrine-card ul{margin:0 0 8px;padding-left:18px;font-size:14px;line-height:1.4}.doctrine-card li+li{margin-top:2px}.doctrine-card .question{color:var(--energy)}.generalpanel .awaiting{margin:2px 0 6px;font-size:13px;color:var(--energy)}.generalpanel .awaiting{padding:8px 10px;border:1px solid var(--energy);border-radius:8px}.generalpanel .awaiting .question{margin:4px 0 6px;color:var(--text, #e5ecff);font-size:14px}.generalpanel .awaiting .acts{display:flex;gap:6px;flex-wrap:wrap}.generalpanel .next-tier{margin:4px 0 8px;opacity:.85}.status .objective small{opacity:.7}.status .objective .ok,.recap .objective.ok b{color:#86efac}.recap .objective{display:block;margin-top:2px}.recap .objective.bad b{color:#fca5a5}.expand-help{margin:6px 0;font-size:13px}.expand-help summary{cursor:pointer;color:#7dd3fc}.expand-help p{margin:4px 0;opacity:.9}.card-btn.locked{opacity:.45}.locked-why{margin:2px 0 6px}.doctrine-card .acts{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}.doctrine-card button.link.more{background:none;border:0;padding:2px 0;min-height:0;color:var(--accent);text-decoration:underline;font:inherit;font-size:13px;cursor:pointer;margin-right:12px}.doctrine-card .acts button{min-height:40px;padding:8px 14px;font-size:14px}@media (max-width: 899px){.doctrine-card .acts button{flex:1 1 0}.doctrine-card{padding:8px 10px;margin:2px 0 8px}.doctrine-card p{margin:1px 0 4px}.doctrine-card .voice{font-size:12.5px;line-height:1.3}.doctrine-card ul{font-size:13px;line-height:1.35;margin-bottom:4px}}.landing .returning{border:1px solid rgba(125,211,252,.35);background:#7dd3fc14;border-radius:10px;padding:10px 12px;margin-bottom:10px;text-align:left}.landing .returning b{color:var(--accent);display:block;font-size:13px;letter-spacing:.04em}.landing .returning p{margin:4px 0 0;font-style:italic}.maplegend{position:absolute;left:12px;bottom:12px;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;max-width:min(560px,calc(100% - 24px));padding:5px 6px 5px 10px;border-radius:10px;background:#080c1ae6;border:1px solid rgba(58,79,138,.5);font-size:12px;color:var(--muted);pointer-events:auto}.maplegend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.maplegend i{display:inline-block;flex:none;font-style:normal}.maplegend .lg-cap{color:#ffc857;font-size:13px;text-shadow:0 0 6px rgba(255,200,87,.8)}.maplegend .lg-relay{width:18px;height:3px;border-radius:2px;background:#7dd3fc;box-shadow:0 0 6px #7dd3fccc}.maplegend .lg-range{width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(125,211,252,.8);box-shadow:0 0 6px #7dd3fc80}.maplegend .lg-build{width:18px;height:0;border-top:3px dashed #7dd3fc}.maplegend .lg-x{padding:0 6px;font-size:11px;line-height:18px;background:transparent;border-color:transparent;color:var(--muted)}@media (min-width: 900px){.maplegend{right:auto}.game:has(.panel) .maplegend{max-width:calc(100% - 424px)}}@media (max-width: 899px){.maplegend{left:8px;max-width:calc(100% - 16px);bottom:calc(52px + var(--safe-b));font-size:11px;gap:3px 10px}.game:has(.panel.open) .maplegend{display:none}}@media (max-height: 560px){.maplegend{display:none}}.moment{position:fixed;left:50%;bottom:22%;transform:translate(-50%);z-index:40;padding:12px 20px;border-radius:12px;background:#05070fe6;border:1px solid rgba(125,211,252,.55);box-shadow:0 0 40px #7dd3fc40;text-align:center;cursor:pointer;animation:moment-in-out 3s ease both;max-width:calc(100vw - 32px)}.moment b{display:block;font-family:Rajdhani,system-ui,sans-serif;font-size:26px;letter-spacing:1px;color:#e6f6ff}.moment small{display:block;margin-top:2px;font-size:11px;opacity:.6}.moment .bands{display:flex;gap:10px;justify-content:center;margin:8px 0 2px}.moment .bands i{font-style:normal;font-family:Rajdhani,system-ui,sans-serif;font-size:22px;font-weight:700;width:38px;height:38px;line-height:38px;border-radius:50%;border:1px solid rgba(125,211,252,.6);color:#e6f6ff;background:#7dd3fc1f;opacity:0;animation:band-in .45s ease forwards}.moment .gz{display:block;margin-top:6px;font-size:13px;color:var(--accent);text-decoration:none}@keyframes band-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.moment .bands i{animation:none;opacity:1}}@keyframes moment-in-out{0%{opacity:0;transform:translate(-50%,8px)}12%{opacity:1;transform:translate(-50%)}85%{opacity:1}to{opacity:0}}@keyframes moment-fade{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.moment.still{animation-name:moment-fade}.moment.low{bottom:4%}@media (prefers-reduced-motion: reduce){.moment{animation-name:moment-fade}}.game.capture .hud,.game.capture .panel,.game.capture .maplegend,.game.capture .toast,.game.capture .hint,.game.capture .banner,.game.capture .briefing,.game.capture .update-banner{display:none!important}.game.capture .moment{top:30%;bottom:auto}.capture-exit{position:fixed;inset:0;z-index:30;background:transparent;border:0;cursor:default}.relay-eta{color:#7dd3fc;margin:4px 0}.langpick{display:grid;gap:12px;margin-top:24px}.langpick .actions{display:flex;gap:10px;justify-content:center}.langpick button{min-width:130px;font-size:16px}.capitals .advice{text-align:left;font-size:13px;margin:0 0 8px;color:var(--text)}.capitals .choice .rec{color:#fcd34d}.scout-actions{display:grid;gap:6px;margin:6px 0}.scout-actions .wormhole{color:#c084fc;margin:0}.scout-actions .wormhole button{margin-left:6px}label.check{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin:10px 0;cursor:pointer}label.check input{margin-top:3px}.card.anchor{margin:6px 10px 0;padding:10px 12px;width:auto;max-width:560px;pointer-events:auto;border-left:3px solid var(--accent)}.card.anchor .row{display:flex;gap:8px;align-items:center;margin:6px 0 0}.card.anchor input{max-width:140px}.prologue{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 35%,#101a3d,#070b19 55%,#04060d);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:16px 16px calc(28px + var(--safe-b, 0px));cursor:pointer;z-index:50}.prologue canvas{position:absolute;inset:0;width:100%;height:100%}.prologue-text{position:relative;max-width:620px;text-align:center;animation:prologueIn 1.2s ease both}.prologue-text p:last-child{font-size:clamp(17px,2.4vw,22px);line-height:1.55;color:#e6eeff;text-shadow:0 2px 18px rgba(4,6,13,.95);margin:0 0 22px}.prologue-step{display:flex;gap:6px;justify-content:center;margin:0 0 14px}.prologue-step span{width:22px;height:3px;border-radius:2px;background:#a0b0d040}.prologue-step span.on{background:#7dd3fcd9}.prologue-actions{position:relative;display:flex;gap:18px;align-items:center}.prologue-actions .link{background:none;border:0;color:var(--muted, #9fb0d0);text-decoration:underline;cursor:pointer;font:inherit}@keyframes prologueIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.prologue-text{animation:none}}.choice small.hello{color:#d8c79a;font-style:italic}.landing fieldset .hint{margin:0 0 8px;text-align:left}.said{margin:6px 0 10px;padding:8px 10px;border-left:2px solid #d8c79a;background:#d8c79a0f;color:#e6dcc0;font-style:italic;font-size:13px;line-height:1.45;cursor:pointer}.said .link{font-style:normal;margin-left:4px;background:none;border:0;color:var(--muted, #9fb0d0);text-decoration:underline;cursor:pointer;padding:0;font:inherit;font-size:12px}.souvenir{position:absolute;left:16px;right:16px;margin:0 auto;bottom:calc(24px + var(--safe-b, 0px));width:auto;max-width:560px;max-height:70vh;overflow:auto;z-index:30;padding:18px 20px;border-radius:12px;border:1px solid rgba(216,199,154,.45);background:#0a0e1ef0;box-shadow:0 10px 40px #0000008c,0 0 30px #d8c79a1f;animation:prologueIn .8s ease both}.souvenir small{color:#d8c79a;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.souvenir h3{margin:6px 0 8px;font-size:20px}.souvenir p{margin:0 0 14px;color:#e6dcc0;font-style:italic;line-height:1.6;font-size:15px}.souvenir .actions{display:flex;gap:10px}.archives{margin-top:16px}.archives summary{cursor:pointer;display:flex;align-items:baseline;gap:8px;list-style:none}.archives summary h3{display:inline;margin:0}.archives .arc li{cursor:pointer}.archives .souvenir-text{margin:6px 0 2px;color:#e6dcc0;font-style:italic;line-height:1.5;font-size:13px}.archives li.lost{cursor:default}.seance{position:absolute;inset:auto 0 0;margin:0 auto calc(16px + var(--safe-b, 0px));width:min(620px,calc(100% - 32px));max-height:78vh;display:flex;flex-direction:column;z-index:35;border-radius:14px;border:1px solid rgba(216,199,154,.5);background:radial-gradient(ellipse at 50% 0%,#282214f5,#080a16f7 70%);box-shadow:0 12px 50px #0009,0 0 40px #d8c79a26;animation:prologueIn .8s ease both}.seance header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 6px}.seance header small{color:#d8c79a;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.seance .frags{display:flex;gap:6px}.seance .frags i{width:22px;height:4px;border-radius:2px;background:#d8c79a33;transition:background .8s}.seance .frags i.on{background:#d8c79a;box-shadow:0 0 8px #d8c79ab3}.seance .thread{overflow:auto;padding:4px 18px;display:flex;flex-direction:column;gap:10px}.seance .thread p{margin:0;line-height:1.6}.seance .thread p.general{color:#ece2c6;font-style:italic}.seance .thread p.me{color:#9fb0d0;align-self:flex-end;text-align:right;max-width:85%}.seance form,.seance .end{padding:10px 18px 16px;display:grid;gap:8px}.seance textarea{width:100%;resize:none}.seance .actions{display:flex;gap:10px}button.echo{border-color:#d8c79a99;color:#ece2c6}.archives .hints li{cursor:default;font-style:italic}.game.table aside.dock{position:absolute;top:0;left:0;bottom:0;width:380px;overflow-y:auto;z-index:6;background:var(--panel);border-right:1px solid var(--line);padding:calc(10px + var(--safe-t)) 14px 16px;display:flex;flex-direction:column;gap:14px}.game.table .hud,.game.table .sysmode{left:380px}.facts .wreckhere{color:#e7b98a}.facts .wreckhere b{color:#f2c99a}.game .panel.peek .facts>span.wreckhere{display:inline}.game.table aside.dock .counsel{margin:0;max-width:none}.game.table aside.dock .coach{position:static;max-width:none}.dock .gen{display:flex;gap:12px;align-items:center}.dock .gen .sigil{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:Rajdhani,Inter,sans-serif;font-size:26px;font-weight:600;color:#0b1020;background:radial-gradient(circle at 35% 30%,#fde7a8,#d8a84a 60%,#7a5a1c);box-shadow:0 0 18px #d8a84a73}.dock .gen .sigil.p-vane{background:radial-gradient(circle at 35% 30%,#dbe7ff,#7d9be0 60%,#2c3e7a);box-shadow:0 0 18px #7d9be073}.dock .gen .sigil.p-kestrel{background:radial-gradient(circle at 35% 30%,#ffd1c2,#e0674a 60%,#7a2a1c);box-shadow:0 0 18px #e0674a73}.dock .gen .sigil.p-solen{background:radial-gradient(circle at 35% 30%,#e8dcff,#a98be0 60%,#4a2c7a);box-shadow:0 0 18px #a98be073}.dock .gen div{display:flex;flex-direction:column;gap:2px}.dock .gen b{font-family:Rajdhani,Inter,sans-serif;font-size:18px;letter-spacing:.04em}.dock .gen small{color:var(--muted);font-size:12px}.dock .gen small.mem{color:#d8c79a}.dock h3{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dock .places .sys{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.dock .places .sys button{font-size:13px;padding:4px 10px;min-height:28px}.dock .places .sys button.mine{border-color:#d8c79a99;color:#ece2c6}.dock .projection table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;margin-bottom:6px}.dock .projection th,.dock .projection td{padding:3px 4px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.dock .projection th:first-child,.dock .projection td:first-child{text-align:left;color:var(--muted)}.dock .projection tr.now td{color:var(--muted)}.dock .projection td.bad{color:var(--err);font-weight:600}.game.table .seance{left:12px;right:auto;width:356px;margin:0 0 16px;max-height:calc(100% - 32px)}.game.table .souvenir{left:396px;right:416px}.game.narrow .hud{padding-bottom:4px}.game.narrow .hud .chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:4px}.game.narrow .hud .chip{padding:2px 5px 2px 4px;gap:2px;flex:none}.game.narrow .hud .chip svg{width:13px;height:13px}.game.narrow .hud .chip b{font-size:14px}.game.narrow .hud .chip.help{position:sticky;right:0;padding:2px 5px;box-shadow:-6px 0 8px #070b16e6}@media (max-width: 789px){.game.narrow .hud .chip em{display:none}}.game.narrow:has(.panel.peek) .card.protect{display:none}.game.narrow .hud .status{gap:2px 10px;margin-top:4px}.game.narrow .hud .status .draw svg{width:20px;height:20px}.game.narrow .hud .status .long,.game.narrow .hud .status .net small{display:none}.game.narrow .hud .status .objective{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%}.game.narrow .hud .card.anchor:not(form):not(.resumed){padding:6px 10px}.game.narrow .hud .card.anchor:not(form):not(.resumed)>.muted{display:none}.game.narrow .hud .card.anchor:not(form):not(.resumed){flex-direction:row;align-items:center;gap:8px}.game.narrow .hud .card.anchor:not(form):not(.resumed)>b{flex:1;min-width:0}.game.narrow .hud .card.anchor:not(form):not(.resumed) .row{flex:none;margin:0;gap:6px}.game.narrow .hud .card.anchor:not(form):not(.resumed) .row>*{flex:none;min-width:0;min-height:40px;padding:6px 12px}.counsel.folded{margin-top:6px}.counsel-line{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px;text-align:left;background:#0e1730f0;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;font-size:13px;color:var(--text);backdrop-filter:blur(6px)}.counsel-line.u1{border-left-color:var(--energy)}.counsel-line.u2{border-left-color:var(--err)}.counsel-line.done{border-left-color:var(--ok)}.counsel-line.fresh{animation:counsel-fresh .9s ease .5s both}.counsel-line .who{flex:none;color:var(--muted);font-family:Rajdhani,Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.counsel-line .what{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.counsel-line .what b{color:var(--ok)}.counsel-line .tally{flex:none;color:var(--muted);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.counsel-line .tally i{font-style:normal;color:var(--text);margin-left:2px}.counsel .who .fold{margin-left:auto;min-width:44px;min-height:32px;padding:0 8px;background:none;border:1px solid var(--line);border-radius:8px;color:var(--text)}.localstock b{display:inline-flex;align-items:center;gap:2px;margin-left:6px;font-variant-numeric:tabular-nums}.localstock b svg{flex:none}.game.bridge .hud .chip em{display:none}.game.narrow .hud .counsel:not(.folded){max-height:40vh;overflow-y:auto;overscroll-behavior:contain}.game.narrow .hud .counsel:not(.folded)>.who{background:#070b16eb;border-radius:8px;padding:2px 6px}.game.narrow .hud .card.anchor{position:relative;z-index:1}.panel .grip{display:none}@media (max-width: 899px){.panel.open .grip{display:flex;flex:none;justify-content:center;align-items:center;width:100%;height:24px;padding:0;margin:0;background:none;border:none;border-radius:16px 16px 0 0;cursor:pointer}.panel .grip i{display:block;width:40px;height:4px;border-radius:2px;background:var(--muted);opacity:.7}.panel .grip:hover i,.panel .grip:focus-visible i{opacity:1;background:var(--text)}.panel.open.peek{max-height:32%}.panel.peek .facts>span:not(.own),.panel.peek .capjump{display:none}.panel.peek .body h2{margin:0 0 4px}.panel.peek .actions{margin:6px 0 4px}.game:has(.panel.peek) .hint,.game:has(.panel.peek) .hint.teachbar{bottom:calc(32% + 10px)}}.game.bridge .panel .tabs .collapse,.game.bridge .panel .tabs button{min-width:44px;min-height:44px}.game.bridge .maplegend .lg-x{min-width:32px;min-height:32px}.game.narrow .counsel .more{align-self:flex-start;padding:8px 2px;min-height:44px}.game.narrow .counsel .acts button{min-height:44px}.echo-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px;padding:8px 10px;border:1px solid rgba(216,199,154,.45);border-radius:10px;color:#ece2c6}.echo-line .echo{min-height:40px}.decrees-fold summary{cursor:pointer;color:var(--muted);padding:10px 0;min-height:44px}.maplegend .lg-x{min-width:24px;min-height:24px}.game.table .maplegend{left:392px;max-width:calc(100% - 816px)}.said .link,.generalpanel .tag .link{display:inline-block;min-height:24px;line-height:24px}.game.bridge .maplegend{padding-right:38px}.game.bridge .maplegend .lg-x{position:absolute;right:3px;top:50%;transform:translateY(-50%)}.souvenir.compact{max-height:none;padding:12px 16px}.souvenir.compact h3{margin:4px 0;font-size:17px}.souvenir .lede{margin:0 0 10px;font-size:14px}.souvenir.inline{position:relative;left:auto;right:auto;bottom:auto;margin:6px 10px 0;max-width:560px;pointer-events:auto;max-height:none;box-shadow:0 0 20px #d8c79a1a}.card.anchor.resumed{border-color:#6fcf9799}@media (min-width: 900px){.game:not(.table) .souvenir{right:416px}}.game.table aside.dock .generalpanel .talk{max-height:42vh;overflow:auto}.game.table aside.dock .generalpanel .say{position:static}.panel .plan{display:flex;flex-direction:column;gap:18px}.panel .plan h3{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.panel .plan .projection table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;margin-bottom:6px}.panel .plan .projection th,.panel .plan .projection td{padding:3px 4px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.panel .plan .projection th:first-child,.panel .plan .projection td:first-child{text-align:left;color:var(--muted)}.panel .plan .projection td.bad{color:var(--err);font-weight:600}.panel .plan .places .sys{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.projection .busy{color:var(--accent)}.game.table aside.dock .generalpanel>h2{display:none}.game.table .seance{background:#0b0e1c}.game.table .briefing{left:404px}.xp{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 60% at 50% 30%,#121c42,var(--bg) 75%)}.xp-bar{pointer-events:auto;flex:none;flex-wrap:nowrap}.xp .xp-bar{position:relative;left:auto;right:auto;top:auto}.xp-bar h2{font-size:17px;flex:1;min-width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xp-bar h2 small{font-size:13px}.xp-clock{font-family:Rajdhani,Inter,sans-serif;font-weight:700;font-size:22px;color:var(--accent);font-variant-numeric:tabular-nums}.xp-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding-bottom:var(--safe-b)}.xp-map{flex:none;padding:0 8px}.xp-decks{border-bottom:none;padding:4px 0 6px}.xp .xp-decks .collapse{display:inline-block;margin-left:auto;font-size:16px;line-height:1;padding:4px 10px;color:var(--muted);border-color:var(--line)}.xp-plan-wrap{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:12px;background:#05081499;padding:4px}.xp-plan{display:block;width:100%;height:auto}.xp-plan-wrap.zoom .xp-plan{width:200%}.xp-plan *{vector-effect:non-scaling-stroke}.xp-3d{position:relative}.xp-3d iframe{display:block;width:100%;height:min(62vh,640px);border:0;border-radius:8px;background:#03050c}.xp-plan-wrap.zoom .xp-3d iframe{height:82vh}.xp-3d-wait{position:absolute;inset:0;display:grid;place-items:center;margin:0;pointer-events:none}@media (max-width: 899px){.xp-3d iframe{height:52vh}}.xp-hull{fill:#0c1533}.xp-hull-edge{fill:none;stroke:#6c7db0;stroke-width:1.5px;stroke-linecap:square}.xp-room{cursor:pointer}.xp-room>rect{stroke-width:1px}.xp-room.dark>rect{fill:#10172e;stroke:#34406a}.xp-room.reach>rect{fill:#7dd3fc57;stroke:var(--accent)}.xp-room.closed>rect{fill:#ff525242;stroke:var(--err)}.xp-hatch{stroke:#ff52528c;stroke-width:1px}.xp-room>rect.xp-hatched{stroke:none}.xp-room.drop>rect:first-child{stroke:var(--ok);stroke-width:2.5px}.xp-room.side>rect:first-child{stroke:var(--rium);stroke-width:2.5px}.xp-room.goal>rect:first-child{stroke:var(--energy);stroke-width:3px}.xp-room.last>rect:first-child{stroke:#fff;stroke-width:2.5px;stroke-dasharray:5 3}.xp-room.sel>rect:first-child{stroke:var(--accent);stroke-width:3.5px}.xp-room text{pointer-events:none}.xp-room .lbl{fill:#fff}.xp-room.dark .lbl{fill:var(--muted)}.xp-mark{fill:var(--energy)}.xp-room.drop .xp-mark{fill:var(--ok)}.xp-room.side .xp-mark{fill:var(--rium)}.xp-door{fill:#cfe4ff;stroke:#0c1533;stroke-width:1px}.xp-door.shut{fill:var(--err);stroke:#fff;stroke-width:1.5px}.xp-shaft{fill:#0c1533;stroke:#cfe4ff;stroke-width:1.5px}.xp-shaft.shut{stroke:var(--err);fill:#ff525266}.xp-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted);margin:6px 2px}.xp-legend span{display:inline-flex;align-items:center;gap:5px}.xp-legend .sw{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid}.sw.reach{background:#7dd3fc57;border-color:var(--accent)}.sw.dark{background:#10172e;border-color:#34406a}.sw.closed{background:#ff52524d;border-color:var(--err)}.sw.goal{border:2px solid var(--energy)}.sw.side{border:2px solid var(--rium)}.sw.work{border:2px solid #4dff8c;border-radius:50%}.xp-3d .xp-legend{margin:6px 2px 0}.xp-3d-failed{font-size:13px}.xp-unit{stroke:#0b1020;stroke-width:1px}.xp-unit.busy{opacity:.55}.xp-unit.scout,.xp-unitdot.scout{fill:#73ff99;background:#73ff99}.xp-unit.engineer,.xp-unitdot.engineer{fill:#ffa633;background:#ffa633}.xp-unit.signal,.xp-unitdot.signal{fill:#998cff;background:#998cff}.xp-unit.logistics,.xp-unitdot.logistics{fill:#f2e666;background:#f2e666}.xp-units{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}.xp-unitbtn{width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:6px;align-items:center;padding:6px 8px}.xp-unitbtn small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.3}.xp-unitbtn.on{border-color:var(--accent);background:#7dd3fc1f}.xp-unitbtn.lost{opacity:.45;text-decoration:line-through}.xp-unitdot{width:10px;height:10px;border-radius:50%;display:inline-block}.xp-move,.xp-wait{display:block;width:100%;margin:6px 0}@media (max-width: 420px){.xp-units{grid-template-columns:1fr}}.sw.drop{border:2px solid var(--ok)}.sw.last{border:2px dashed #fff}.sw.shut{border-radius:50%;background:var(--err);border-color:#fff}.xp-roomline{margin:2px 2px 6px;font-size:13px}.xp-panel{flex:none;padding:4px 12px 16px}.xp-panel p{margin:4px 0;font-size:14px}.xp-silence{color:#ffb3a8}.xp-goal{color:var(--energy)}.xp-side{color:var(--rium)}.xp-banner{padding:10px;border-radius:10px;margin:8px 0;font-size:15px;text-align:center;font-weight:600}.xp-banner.won{background:#123a28;color:#9dffcf;border:1px solid var(--ok)}.xp-banner.lost{background:#3a1414;color:#ffb3a8;border:1px solid var(--err)}.xp-why{display:block;margin-top:6px;font-weight:400;font-size:13px;text-align:left}.xp-required{border:1px solid rgba(255,196,90,.45);border-radius:10px;padding:6px 10px;margin:8px 0;background:#3c280a59}.xp-required h3{margin:0 0 4px}.xp-required ul{margin:0;padding-left:18px}.xp-required li{margin:2px 0}.xp-required li.soon{color:#ffd27a}.xp-required li.bad{color:#ff9a8a;text-decoration:line-through}.xp-req{margin-left:6px;font-style:normal;font-size:11px;padding:1px 6px;border-radius:8px;background:#ffc45a2e;color:#ffd27a;text-transform:uppercase;letter-spacing:.05em}.xp-story{margin:10px 0}.xp-story summary{cursor:pointer;color:var(--muted)}.xp-story p{margin:6px 0;font-size:13px;line-height:1.45}.xp-panel h3 small{text-transform:none;letter-spacing:0}.xp-actions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.xp-actions button{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;padding:9px 11px;border-radius:10px}.xp-actions button.ok{border-color:var(--accent);background:#10284a}.xp-actions button.off{opacity:.55;border-style:dashed}.xp-actions button.here{box-shadow:0 0 0 2px var(--accent) inset;opacity:1}.xp-actions small{color:var(--muted);font-size:12px}.xp-verb{font-weight:600}.xp-cost{font-weight:400}.xp-abandon{margin-top:14px;width:100%;border-color:var(--err);color:#ffb3a8;background:transparent}.xp-panel .primary{margin-top:12px;width:100%}.alert.xp-resume{background:linear-gradient(135deg,#7dd3fc38,#0e1730f2);border-color:var(--accent)}.alert.xp-resume i{background:var(--accent)}@media (max-width: 899px){.xp-plan-wrap:not(.zoom) .lbl{display:none}.xp-bar h2 small{display:none}}@media (max-width: 599px){.xp .xp-bar{flex-wrap:wrap;row-gap:6px}.xp-bar .xp-rt{order:5;flex-basis:100%}.xp-bar .xp-clock,.xp-bar .back{white-space:nowrap}}@media (min-width: 900px){.xp-body{flex-direction:row;overflow:hidden}.xp-map{flex:1;min-width:0;overflow-y:auto;padding:0 16px 16px}.xp-panel{width:400px;flex:none;overflow-y:auto;border-left:1px solid var(--line);background:var(--panel);padding-top:10px}}.xp-danger{color:#ff9a8a;font-weight:600}.xp-route{fill:none;stroke:#ffd27a;stroke-width:2.5px;stroke-dasharray:5 4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.xp-unit{cursor:pointer}.xp-unit.picked{stroke:#fff;stroke-width:2px}.xp-here{border:1px solid var(--accent);border-radius:10px;padding:8px 10px;margin:8px 0;background:#7dd3fc14;display:grid;gap:6px}.xp-here-title{margin:0}.xp-here button{text-align:left}.xp-here button.off{opacity:.55}.xp-need{fill:#ffd27a;pointer-events:none}.xp-work{fill:none;stroke:#4dff8c;stroke-width:1.5px;pointer-events:none}.xp-req-line{cursor:pointer}.xp-req-line:hover,.xp-req-line:focus-visible{text-decoration:underline;outline:none}.xp-rt{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.xp-rt button{padding:4px 10px;font-size:13px;white-space:nowrap}.xp-rt-wait{color:#ffd27a;font-size:12px}.xp-homeby{font-weight:600;color:#ffd27a}.xp-homeby.soon{color:#ff9a8a}.xp-actions button.late,.xp-here button.late{border-color:#ff9a8a}.xp-actions button.late small,.xp-here button.late small{color:#ff9a8a}.rtp{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 60% at 50% 20%,#121c42,var(--bg) 75%);overflow-y:auto}.rtp .sysbar{position:relative;left:auto;right:auto;top:auto;flex:none}.rtp-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;padding:4px 16px 24px;max-width:1180px;width:100%;margin:0 auto;box-sizing:border-box}@media (max-width: 899px){.rtp-body{grid-template-columns:1fr}}.rtp-col{display:flex;flex-direction:column;gap:14px;min-width:0}.rtp-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.rtp-card h3{margin:0 0 8px}.rtp-card h3 small{text-transform:none;letter-spacing:0;font-size:12px}.rtp-card h3 small.bad{color:var(--err)}.rtp-card p{margin:4px 0}.rtp-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.rtp-presets button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:8px 10px}.rtp-presets button b{font-size:15px}.rtp-presets button em{font-style:normal;font-size:10px;color:var(--ok);text-transform:uppercase;letter-spacing:.06em}.rtp-presets button small{color:var(--muted);font-size:11.5px;line-height:1.3}.rtp-q,.rtp-units,.rtp-advice{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.rtp-q li,.rtp-units li{display:flex;align-items:center;gap:10px;padding:3px 0;border-bottom:1px solid rgba(42,55,96,.45)}.rtp-name{flex:1;min-width:0}.rtp-name small{display:block}.rtp-have{font-size:12px;color:var(--muted)}.rtp-step{display:inline-flex;align-items:center;gap:6px}.rtp-step b{min-width:3ch;text-align:center;font-variant-numeric:tabular-nums}.rtp-step button{padding:2px 10px;border-radius:6px;line-height:1.2}.rtp-step button:disabled{opacity:.35;cursor:default}.rtp-units li.lack .rtp-have,.rtp-res tr.lack td,.rtp-res tr.lack th{color:var(--err)}.rtp-train{padding:2px 8px;font-size:12px}.rtp-hold{position:relative;margin-top:10px;height:22px;border:1px solid var(--line);border-radius:6px;overflow:hidden;font-size:12px}.rtp-hold span{position:absolute;inset:0;display:flex;align-items:center;padding:0 8px;z-index:1}.rtp-hold i{position:absolute;left:0;top:0;bottom:0;background:#7dd3fc47}.rtp-hold.over i{background:#ff525266}.rtp-res{width:100%;border-collapse:collapse}.rtp-res th{text-align:left;font-weight:500}.rtp-res td{text-align:right;padding:2px 6px;font-variant-numeric:tabular-nums}.rtp-advice li{padding:6px 10px;border-left:3px solid var(--line);background:#ffffff08;border-radius:0 6px 6px 0;font-size:13.5px}.rtp-advice li.fatal,.rtp-advice li.high{border-left-color:var(--err)}.rtp-advice li.medium{border-left-color:#ffb454}.rtp-advice li.low{border-left-color:var(--accent)}.rtp-advice li.ok{border-left-color:var(--ok)}.rtp-go{align-self:stretch;font-size:16px;padding:12px 16px}.rtp-go:disabled{opacity:.45;cursor:default}.rtp-refusal{margin:0}.rtm{position:fixed;inset:0;z-index:399;background:#04060b}.rtm-host{position:absolute;inset:0}.rtm-note,.rtm-fail{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted);pointer-events:none;z-index:1}.rtm-fail{pointer-events:auto;background:var(--bg);color:var(--text);text-align:center;padding:24px}.rtm-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:402;background:#ffb454eb;color:#1a1206;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.rtm-giveup{position:absolute;right:16px;bottom:16px;z-index:402;font-size:12px;opacity:.65;padding:4px 10px}.rtm-giveup:hover{opacity:1}button.fx-pressed{animation:fx-press .7s ease-out}@keyframes fx-press{0%{box-shadow:0 0 #ffd166d9,0 0 18px #7dd3fc99}to{box-shadow:0 0 0 16px #ffd16600,0 0 #7dd3fc00}}.constellation{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.constellation svg{overflow:visible;display:block}.constellation line{stroke:#d8c79a24;stroke-width:.8}.constellation line.on{stroke:#ecd696b3;stroke-width:1}.constellation line.new{animation:const-line 1.1s ease-out .35s both}.constellation circle{fill:#d8c79a40}.constellation circle.on{fill:#f3e2b0;filter:drop-shadow(0 0 2.5px rgba(255,221,140,.9))}.constellation circle.new{animation:const-star 2.2s ease-out both}.constellation circle.burst{fill:none;stroke:#ffe9b0;stroke-width:1.2;animation:const-burst 1.4s ease-out .2s both}.constellation b{color:#d8c79a;font:600 11px Rajdhani,Inter,sans-serif}.counsel .who .constellation{margin-left:auto;margin-right:6px}.dock .counsel .who .constellation{display:none}.dock .gen .constellation svg{width:150px;height:45px}.dock .gen .constellation{display:flex;margin:2px 0}@keyframes const-line{0%{stroke-dashoffset:var(--len);stroke:#fff}to{stroke-dashoffset:0}}@keyframes const-star{0%{r:0;fill:#fff}25%{r:5;fill:#fff}to{r:2.3}}@keyframes const-burst{0%{r:2;opacity:1}to{r:16;opacity:0}}.seance-veil{position:absolute;inset:0;z-index:34;pointer-events:none;background:radial-gradient(circle at var(--vx, 50%) var(--vy, 80%),rgba(0,0,0,0) 0 var(--vr, 300px),rgba(3,4,10,.6) calc(var(--vr, 300px) * 1.6),rgba(1,2,6,.9) calc(var(--vr, 300px) * 3));animation:veil-down 1.8s ease-out both,veil-breathe 7s ease-in-out 1.8s infinite}@keyframes veil-down{0%{opacity:0}to{opacity:1}}@keyframes veil-breathe{0%,to{opacity:1}50%{opacity:.9}}.seance{box-shadow:0 12px 50px #0009,0 0 60px #d8c79a2e,inset 0 0 40px #00000059}.engraved .w{display:inline-block;animation:engrave .9s cubic-bezier(.2,.7,.2,1) both}@keyframes engrave{0%{opacity:0;transform:translateY(3px) scale(1.04);filter:blur(3px);text-shadow:0 0 14px rgba(255,226,150,.95);color:#fff6d8}45%{opacity:1;filter:blur(0);text-shadow:0 0 10px rgba(255,226,150,.8),0 1px 0 rgba(0,0,0,.9);color:#fff3d0}to{opacity:1;transform:none;filter:none;text-shadow:0 1px 0 rgba(0,0,0,.85),0 -1px 0 rgba(255,240,200,.12)}}.recall{position:relative;margin:2px 0 6px;padding:10px 12px 10px 14px;border-left:3px solid #e7c873;border-radius:8px;background:linear-gradient(90deg,#e7c87329,#e7c87308 70%);overflow:visible}.recall small{color:#e7c873;letter-spacing:.12em;text-transform:uppercase;font:600 11px Rajdhani,Inter,sans-serif}.recall p{margin:4px 0 0;color:#f1e6c6;font-style:italic;line-height:1.5;font-size:15px}.recall .shard{position:absolute;left:-2px;top:50%;width:0;height:0;pointer-events:none}.recall .shard:before{content:"";position:absolute;left:-60px;top:-60px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#fff0bef2,#e7c87359 35%,#e7c87300 70%);opacity:0}.recall .shard i{position:absolute;left:-2px;top:-1px;width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,#fff4cf,#e7c87300);transform-origin:0 50%;transform:rotate(var(--a)) translate(0) scaleX(0);opacity:0}.recall.play .shard:before{animation:shard-burst 1.3s ease-out both}.recall.play .shard i{animation:shard-ray 1s ease-out both;animation-delay:var(--d)}.recall.play{animation:recall-in 1.6s ease-out both}@keyframes shard-burst{0%{opacity:0;transform:scale(.2)}18%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@keyframes shard-ray{0%{opacity:0;transform:rotate(var(--a)) translate(4px) scaleX(.2)}25%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translate(46px) scaleX(1)}}@keyframes recall-in{0%{box-shadow:0 0 #e7c87300}20%{box-shadow:0 0 28px #e7c87373}to{box-shadow:0 0 #e7c87300}}.rtp-card .recall{margin-bottom:8px}@media (prefers-reduced-motion: reduce){.engraved .w,.recall,.recall .shard:before,.recall .shard i,.seance-veil,.constellation line.new,.constellation circle.new,.constellation circle.burst,button.fx-pressed{animation:none!important}}
