:root{--p-bg:#060a11;--p-bg2:#0a111c;--p-panel:#0e1623db;--p-panel-solid:#0e1623;--p-line:#1b2a3e;--p-line2:#26405e;--p-ink:#dfe9f3;--p-dim:#7d92a8;--p-faint:#4a5d73;--p-cyan:#4fe3ff;--p-coin:#f0b429;--p-good:#4cc38a;--p-warn:#ffb547;--p-bad:#ff5468;--p-spire:#6e8ef5;--p-guild:#b184e8;--p-bazaar:#f2717a;--p-swarm:#4cc38a;--p-republic:#e2b93b;--p-wolf:#c29672;--p-display:"Big Shoulders Display", "Oswald", "Arial Narrow", sans-serif;--p-ui:"Chakra Petch", "IBM Plex Sans", system-ui, sans-serif;--p-body:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--p-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{background:var(--p-bg)}.polis{min-height:100vh;color:var(--p-ink);font-family:var(--p-body);background:radial-gradient(1200px 600px at 80% -10%, #4fe3ff14, transparent 60%), radial-gradient(900px 500px at -10% 110%, #b184e812, transparent 60%), linear-gradient(var(--p-bg), var(--p-bg2));grid-template-columns:76px 1fr;font-size:14px;line-height:1.5;display:grid}.polis:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#4fe3ff09 1px,#0000 1px),linear-gradient(90deg,#4fe3ff09 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 40%,#0000 85%);mask-image:radial-gradient(#000 40%,#0000 85%)}.polis:after{content:"";pointer-events:none;z-index:60;opacity:.5;background:repeating-linear-gradient(0deg,#00000014 0 1px,#0000 1px 3px);position:fixed;inset:0}.polis a{color:inherit;text-decoration:none}.polis button{font:inherit;color:inherit}.polis :focus-visible{outline:2px solid var(--p-cyan);outline-offset:2px}.p-rail{z-index:20;border-right:1px solid var(--p-line);background:#060a11eb;flex-direction:column;align-items:center;gap:6px;height:100vh;padding:14px 0;display:flex;position:sticky;top:0}.p-logo{font-family:var(--p-display);letter-spacing:.08em;color:var(--p-cyan);text-shadow:0 0 14px #4fe3ff99;margin-bottom:10px;font-size:22px;font-weight:800}.p-nav{width:60px;color:var(--p-dim);font-family:var(--p-ui);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:10px;justify-items:center;gap:3px;padding:9px 0 7px;font-size:10px;transition:all .15s;display:grid}.p-nav svg{width:22px;height:22px}.p-nav:hover{color:var(--p-ink);background:#4fe3ff0d}.p-nav[data-status=active]{color:var(--p-cyan);background:#4fe3ff14;border-color:#4fe3ff59;box-shadow:inset 0 0 18px #4fe3ff26}.p-rail .grow{flex:1}.p-main{z-index:1;grid-template-rows:auto 1fr;min-width:0;display:grid;position:relative}.p-hud{z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--p-line);background:#060a11d1;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 22px;display:flex;position:sticky;top:0}.p-hud .title{font-family:var(--p-display);letter-spacing:.06em;text-transform:uppercase;font-size:26px;font-weight:800}.p-hud .sep{flex:1}.p-hud-block{font-family:var(--p-mono);color:var(--p-dim);align-items:center;gap:8px;font-size:12px;display:flex}.p-hud-block b{color:var(--p-ink);font-weight:500}.p-pips{gap:3px;display:flex}.p-pip{background:var(--p-line2);border-radius:1px;width:16px;height:6px}.p-pip[data-s=done]{background:var(--p-cyan);box-shadow:0 0 8px #4fe3ff99}.p-pip[data-s=run]{background:var(--p-coin);animation:1s steps(2,end) infinite p-blink}@keyframes p-blink{50%{opacity:.35}}.p-mode{font-family:var(--p-ui);letter-spacing:.14em;border:1px solid;border-radius:4px;padding:4px 9px;font-size:11px;font-weight:600}.p-mode.dry{color:var(--p-cyan);background:#4fe3ff12;border-color:#4fe3ff66}.p-mode.live{color:#ffd27a;background:#f0b4291a;border-color:#f0b42980}.p-mode.off{color:#ffb4bd;background:#ff54681f;border-color:#ff546880}.p-kill{cursor:pointer;font-family:var(--p-ui);letter-spacing:.14em;text-transform:uppercase;color:#ffd0d6;background:linear-gradient(#3a1219,#2a0d13);border:1px solid #7a2a36;border-radius:6px;padding:8px 13px;font-size:12px;font-weight:700;box-shadow:0 0 16px #ff54682e}.p-kill:hover{box-shadow:0 0 22px #ff546866}.p-kill.on{color:#b9f5d6;background:linear-gradient(#12321f,#0c2416);border-color:#2e6b47;box-shadow:0 0 16px #4cc38a40}.p-daysel{font-family:var(--p-mono);background:var(--p-panel-solid);color:var(--p-ink);border:1px solid var(--p-line2);border-radius:5px;padding:5px 7px;font-size:12px}.p-page{align-content:start;gap:18px;min-width:0;padding:20px 22px 60px;display:grid}.p-banner{font-family:var(--p-ui);color:#ffc7ce;background:#ff54681a;border:1px solid #ff546873;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.p-panel{background:var(--p-panel);border:1px solid var(--p-line);border-radius:10px;min-width:0;position:relative;box-shadow:inset 0 0 0 1px #ffffff04,0 20px 40px -24px #000000b3}.p-panel>header{justify-content:space-between;align-items:baseline;gap:10px;padding:12px 14px 0;display:flex}.p-panel>.body{padding:12px 14px 14px}.p-h{font-family:var(--p-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--p-dim);font-size:12px;font-weight:600}.p-h b{color:var(--p-ink)}.p-corner:before,.p-corner:after{content:"";border:2px solid var(--p-cyan);opacity:.55;width:10px;height:10px;position:absolute}.p-corner:before{border-bottom:0;border-right:0;border-top-left-radius:10px;top:-1px;left:-1px}.p-corner:after{border-top:0;border-left:0;border-bottom-right-radius:10px;bottom:-1px;right:-1px}.p-big{font-family:var(--p-display);letter-spacing:.01em;font-weight:800;line-height:.95}.p-num{font-variant-numeric:tabular-nums;font-family:var(--p-mono)}.p-dim{color:var(--p-dim)}.p-faint{color:var(--p-faint)}.p-coin{color:var(--p-coin)}.p-grid2{grid-template-columns:minmax(0,1fr) 380px;gap:18px;display:grid}.p-grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.p-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}@media (width<=1200px){.p-grid2{grid-template-columns:1fr}}@media (width<=800px){.p-grid3,.polis{grid-template-columns:1fr}.p-rail{border-right:0;border-top:1px solid var(--p-line);flex-direction:row;justify-content:space-around;width:100%;height:auto;padding:6px;position:fixed;top:auto;bottom:0}.p-rail .grow,.p-logo{display:none}.p-page{padding:14px 12px 90px}}.p-map{aspect-ratio:16/8.2;border:1px solid var(--p-line2);background:#04070c;border-radius:10px;max-width:100%;position:relative;overflow:hidden;box-shadow:0 0 40px -10px #4fe3ff40}.p-map canvas{cursor:pointer;width:100%;height:100%;display:block}.p-map-tag{font-family:var(--p-mono);color:var(--p-dim);border:1px solid var(--p-line);background:#04070ccc;border-radius:4px;padding:4px 8px;font-size:11px;position:absolute;bottom:10px;left:12px}@media (width<=800px){.p-map{aspect-ratio:4/5}.p-map-tag{display:none}}.p-chip{font-family:var(--p-mono);border:1px solid var(--p-line2);color:var(--p-dim);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:2px 7px;font-size:11px;display:inline-flex}.p-chip.work{color:#9ff0ff;background:#4fe3ff12;border-color:#4fe3ff66}.p-chip.coord{color:#d5c2ff;background:#b184e814;border-color:#b184e873}.p-chip.idle{color:var(--p-dim)}.p-chip.waste{color:#ffb4bd;background:#ff546814;border-color:#ff546873}.p-chip.good{color:#a8f0cb;background:#4cc38a14;border-color:#4cc38a73}.p-chip.bad{color:#ffb4bd;background:#ff546814;border-color:#ff546873}.p-chip.gold{color:#ffd98a;background:#f0b42914;border-color:#f0b42980}.p-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.p-dcard{--c:var(--p-cyan);border:1px solid var(--p-line);border-top:3px solid var(--c);background:linear-gradient(180deg, color-mix(in srgb, var(--c) 9%, transparent), transparent 60%), var(--p-panel);border-radius:10px;gap:10px;padding:14px;transition:all .15s;display:grid}.p-dcard:hover{border-color:var(--c);box-shadow:0 0 24px -6px var(--c);transform:translateY(-1px)}.p-dcard .name{font-family:var(--p-display);text-transform:uppercase;letter-spacing:.03em;color:var(--c);font-size:26px;font-weight:800;line-height:1}.p-dcard .motto{color:var(--p-dim);font-size:12px;font-style:italic}.p-rank{font-family:var(--p-display);color:var(--p-faint);font-size:34px;font-weight:800;line-height:1}.p-rank.r1{color:var(--p-coin);text-shadow:0 0 14px #f0b42980}.p-kv{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.p-kv div{gap:1px;display:grid}.p-kv span{font-family:var(--p-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--p-faint);font-size:10px}.p-kv b{font-family:var(--p-mono);font-size:15px;font-weight:500}.p-split{background:var(--p-line);border-radius:2px;height:8px;display:flex;overflow:hidden}.p-split i{height:100%;display:block}.p-feed{gap:8px;max-height:640px;padding-right:4px;display:grid;overflow:auto}.p-turn{border:1px solid var(--p-line);text-align:left;cursor:pointer;background:#060a1180;border-radius:8px;grid-template-columns:38px 1fr;gap:10px;padding:9px;transition:all .12s;display:grid}.p-turn:hover{border-color:var(--p-line2);background:#4fe3ff0a}.p-turn .top{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.p-turn .who{font-weight:600}.p-turn .what{font-family:var(--p-mono);color:var(--p-ink);font-size:12px}.p-thought{color:#b9cadb;border-left:2px solid var(--c,var(--p-cyan));margin-top:4px;padding-left:8px;font-size:13px}.p-thought:before{content:"thinking  ";font-family:var(--p-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--p-faint);font-size:9px}.p-err{font-family:var(--p-mono);color:#ff9aa7;margin-top:3px;font-size:11px}canvas.p-portrait{image-rendering:pixelated;border:1px solid var(--p-line2);background:#04070c;border-radius:6px;flex:none;display:block}.p-cit{border:1px solid var(--p-line);background:var(--p-panel);border-radius:10px;grid-template-columns:64px 1fr;align-items:start;gap:12px;padding:12px;transition:all .15s;display:grid}.p-cit:hover{border-color:var(--c,var(--p-cyan));box-shadow:0 0 18px -8px var(--c,var(--p-cyan))}.p-cit .nm{font-family:var(--p-display);text-transform:uppercase;font-size:22px;font-weight:800;line-height:1}.p-lvl{font-family:var(--p-ui);letter-spacing:.14em;color:var(--p-coin);font-size:10px}.p-xp{background:var(--p-line);border-radius:2px;height:4px;overflow:hidden}.p-xp i{background:linear-gradient(90deg, var(--p-coin), #ffe39a);height:100%;display:block}.p-off{opacity:.45;filter:grayscale(.7)}.p-tape{grid-template-columns:56px repeat(14,minmax(26px,1fr));gap:3px;display:grid;overflow-x:auto}.p-tape .rl{font-family:var(--p-mono);color:var(--p-faint);align-self:center;font-size:11px}.p-cell{border:1px solid var(--p-line);cursor:pointer;height:26px;font-family:var(--p-mono);color:#ffffffbf;background:#ffffff05;border-radius:3px;place-items:center;font-size:9px;display:grid}.p-cell.work{background:#4fe3ff38;border-color:#4fe3ff80}.p-cell.coord{background:#b184e83d;border-color:#b184e880}.p-cell.idle{background:#7d92a81f}.p-cell.waste{background:#ff546840;border-color:#ff54688c}.p-cell.sel{outline:2px solid var(--p-coin)}.p-job{border:1px solid var(--p-line);background:#060a118c;border-radius:9px;gap:8px;padding:12px;display:grid}.p-job .jt{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.p-job .jt b{font-family:var(--p-mono);color:var(--p-cyan);font-weight:500}.p-part{grid-template-columns:22px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.p-part .pid{font-family:var(--p-display);color:var(--p-dim);font-size:16px;font-weight:800}.p-part .st{font-family:var(--p-mono);color:var(--p-dim);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.p-drawer-bg{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#02040899;position:fixed;inset:0}.p-drawer{z-index:71;border-left:1px solid var(--p-line2);background:#0a111c;align-content:start;gap:14px;width:min(520px,100%);padding:22px;display:grid;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-30px 0 60px -20px #000c}.p-pre{font-family:var(--p-mono);white-space:pre-wrap;border:1px solid var(--p-line);color:#c7d6e4;background:#060a11;border-radius:6px;max-height:360px;padding:10px;font-size:12px;overflow:auto}.p-x{cursor:pointer;border:1px solid var(--p-line2);font-family:var(--p-ui);letter-spacing:.12em;color:var(--p-dim);background:0 0;border-radius:5px;padding:4px 9px;font-size:11px}.p-btn{cursor:pointer;font-family:var(--p-ui);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--p-line2);color:#bdf4ff;background:#4fe3ff0f;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .12s}.p-btn:hover:not(:disabled){border-color:var(--p-cyan);box-shadow:0 0 14px -4px var(--p-cyan)}.p-btn:disabled{opacity:.4;cursor:not-allowed}.p-btn.warn{color:#ffd98a;background:#f0b42914;border-color:#f0b42966}.p-btn.danger{color:#ffb4bd;background:#ff546814;border-color:#ff546873}.p-input,.p-select{font-family:var(--p-mono);color:var(--p-ink);border:1px solid var(--p-line2);background:#060a11;border-radius:6px;min-width:0;padding:7px 9px;font-size:13px}.p-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.p-toggle{border:1px solid var(--p-line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.p-switch{cursor:pointer;border:1px solid var(--p-line2);background:#1a2333;border-radius:11px;flex:none;width:42px;height:22px;position:relative}.p-switch:after{content:"";background:var(--p-faint);border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;top:2px;left:2px}.p-switch[aria-checked=true]{background:#4cc38a59;border-color:#4cc38ab3}.p-switch[aria-checked=true]:after{background:var(--p-good);box-shadow:0 0 10px var(--p-good);left:22px}.p-lever{cursor:pointer;width:100%;font-family:var(--p-display);letter-spacing:.1em;text-transform:uppercase;color:#ffd0d6;background:radial-gradient(circle at 50% 0,#ff546859,#3a1219f2 70%);border:1px solid #7a2a36;border-radius:12px;place-items:center;gap:6px;padding:22px;font-size:34px;font-weight:800;display:grid;box-shadow:0 0 40px -10px #ff546899}.p-lever small{font-family:var(--p-mono);letter-spacing:0;text-transform:none;color:#e7a9b2;font-size:12px;font-weight:400}.p-lever.on{color:#c8f7de;background:radial-gradient(circle at 50% 0,#4cc38a59,#0c2416f2 70%);border-color:#2e6b47;box-shadow:0 0 40px -10px #4cc38a99}.p-gauge{gap:6px;display:grid}.p-gauge .bar{background:var(--p-line);border-radius:3px;height:10px;position:relative;overflow:hidden}.p-gauge .bar i{background:linear-gradient(90deg, #b07a00, var(--p-coin));position:absolute;inset:0 auto 0 0;box-shadow:0 0 12px #f0b42999}.p-gauge .bar i.hot{background:linear-gradient(90deg, #a3263a, var(--p-bad))}.p-table{overflow-x:auto}.p-table table{border-collapse:collapse;width:100%;min-width:560px;font-size:12px}.p-table th{text-align:left;font-family:var(--p-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--p-faint);border-bottom:1px solid var(--p-line2);padding:8px 10px;font-size:10px;font-weight:600}.p-table td{border-bottom:1px solid var(--p-line);font-family:var(--p-mono);padding:8px 10px}.p-table td.r,.p-table th.r{text-align:right}.p-gazette{font-family:var(--p-body)}.p-gazette h3{font-family:var(--p-display);text-transform:uppercase;color:#ffe7b0;margin:0 0 6px;font-size:24px;font-weight:800;line-height:1.05}.p-gazette p{white-space:pre-wrap;color:#c2d1df;margin:0;font-size:13px}.p-empty{text-align:center;color:var(--p-dim);font-family:var(--p-ui);letter-spacing:.06em;padding:26px}.p-msg{border-bottom:1px dashed var(--p-line);grid-template-columns:auto 1fr;gap:8px;padding:6px 0;font-size:12px;display:grid}.p-tabs{flex-wrap:wrap;gap:4px;display:flex}.p-tab{cursor:pointer;font-family:var(--p-ui);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--p-line);color:var(--p-dim);background:0 0;border-radius:5px;padding:6px 10px;font-size:11px}.p-tab[aria-pressed=true]{color:var(--p-cyan);background:#4fe3ff12;border-color:#4fe3ff73}.p-badge{font-family:var(--p-ui);letter-spacing:.1em;text-transform:uppercase;color:#ffd98a;background:#f0b4291f;border:1px solid #f0b42959;border-radius:3px;place-items:center;padding:3px 7px;font-size:10px;font-weight:600;display:inline-grid}@media (prefers-reduced-motion:reduce){.polis *,.polis :before{transition:none!important;animation:none!important}}
