:root{--bg:#0b0b1a;--panel:#1c1c3c;--panel-hi:#3a3a78;--panel-lo:#0e0e22;--ink:#e8e0c8;--dim:#8a86a8;--verb:#5ce65c;--verb-hi:#ff5;--warn:#f55;--good:#5f5;--gold:#fc3;--paper:#f2ead3;--paper-ink:#1a1410}*{box-sizing:border-box}html,body{background:#000;height:100%;margin:0;overflow:hidden}body{color:var(--ink);touch-action:manipulation;-webkit-text-size-adjust:100%;font-family:VT323,monospace}#stage{position:fixed;inset:0;overflow:hidden}#screen{width:var(--screen-w,640px);height:var(--screen-h,400px);background:var(--bg);transform:translate(-50%, -50%) scale(var(--scale,2));transform-origin:50%;image-rendering:pixelated;-webkit-user-select:none;user-select:none;font-size:16px;line-height:1;position:absolute;top:50%;left:50%;overflow:hidden}canvas{image-rendering:pixelated;display:block}button{font:inherit;color:inherit}.pixel{font-family:"Press Start 2P",monospace}.title-screen{flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.title-screen canvas.bg{width:640px;height:400px;position:absolute;inset:0}.logo{color:var(--gold);text-shadow:3px 3px #b3001b,6px 6px #000;letter-spacing:2px;font-family:"Press Start 2P",monospace;font-size:44px;position:relative}.subtitle{color:var(--ink);text-shadow:2px 2px #000;font-size:22px;position:relative}.blink{animation:1s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.menu{flex-direction:column;align-items:center;gap:6px;margin-top:16px;display:flex;position:relative}.menu button,.btn{background:var(--panel);border:2px solid;border-color:var(--panel-hi) var(--panel-lo) var(--panel-lo) var(--panel-hi);cursor:pointer;padding:4px 14px;font-size:20px}.menu button:hover,.btn:hover:not(:disabled){color:var(--verb-hi);background:var(--panel-hi)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{color:var(--gold)}.credits{color:var(--dim);font-size:14px;position:absolute;bottom:8px}.select-screen{padding:14px;position:absolute;inset:0}.select-screen h1{color:var(--gold);text-align:center;margin:0 0 10px;font-family:"Press Start 2P";font-size:14px}.leaders{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.leader-card{background:var(--panel);border:2px solid var(--panel-lo);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:2px;padding:6px;display:flex}.leader-card:hover{border-color:var(--gold)}.leader-card canvas,.leader-card img{width:80px;height:80px}.leader-card .pname{color:var(--gold);font-size:18px}.leader-card .lname{font-size:15px}.leader-card .seats{color:var(--dim);font-size:13px}.leader-card .lname{min-height:30px}.coalition{flex-direction:column;gap:4px;padding:10px 14px;display:flex;position:absolute;inset:0}.coalition h1{color:var(--gold);margin:0;font-family:"Press Start 2P";font-size:12px}.coalition .row{grid-template-columns:22px 28px 1fr 96px 96px;align-items:center;gap:6px;font-size:16px;display:grid}.coalition .row>div:last-child{gap:4px;display:flex}.coalition .btn{padding:1px 8px;font-size:16px}.coalition .row .sw{width:22px;height:14px}.coalition .tally{margin-top:4px;font-size:20px}.coalition .quote{color:var(--dim);min-height:34px;font-size:16px}.topbar{height:16px;color:var(--dim);background:#000;justify-content:space-between;align-items:center;padding:0 6px;font-size:16px;display:flex;position:absolute;top:0;left:0;right:0}.topbar b{color:var(--gold);font-weight:400}.scene{cursor:crosshair;width:480px;height:256px;position:absolute;top:16px;left:0}.scene canvas,.scene img.art{width:480px;height:256px;position:absolute;inset:0}.ticker{height:15px;color:var(--warn);white-space:nowrap;background:#000;font-size:16px;position:absolute;top:272px;left:0;right:0;overflow:hidden}.ticker span{padding-left:100%;animation:40s linear infinite tick;display:inline-block}@keyframes tick{to{transform:translate(-100%)}}.sentence{text-align:center;height:16px;color:var(--verb);font-size:18px;position:absolute;top:287px;left:0;right:0}.bottom{grid-template-columns:250px 1fr;display:grid;position:absolute;inset:303px 0 0}.verbs{grid-template-columns:repeat(2,1fr);align-content:start;gap:0 6px;padding:4px 8px;display:grid}.verbs button{color:var(--verb);text-align:left;cursor:pointer;background:0 0;border:0;padding:1px 0;font-size:19px}.verbs button:hover,.verbs button.active{color:var(--verb-hi)}.stats-bar{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(4,1fr);gap:2px;padding:2px 4px 3px 0;display:grid}.stat{background:var(--panel);border:1px solid var(--panel-lo);cursor:help;flex-direction:column;justify-content:center;padding:0 4px;display:flex;overflow:hidden}.stat .k{color:var(--dim);white-space:nowrap;font-size:13px;line-height:12px;overflow:hidden}.stat .v{white-space:nowrap;font-size:16px;line-height:15px}.stat .v .up{color:var(--good)}.stat .v .down{color:var(--warn)}.window-layer{z-index:10;background:#0000008c;place-items:center;display:grid;position:absolute;inset:0}.window{background:var(--panel);border:3px solid;border-color:var(--panel-hi) var(--panel-lo) var(--panel-lo) var(--panel-hi);flex-direction:column;width:600px;max-height:380px;display:flex;box-shadow:4px 4px #000}.window .wtitle{background:var(--panel-hi);color:var(--gold);justify-content:space-between;padding:3px 6px;font-family:"Press Start 2P";font-size:10px;display:flex}.window .wtitle button{color:var(--ink);cursor:pointer;background:0 0;border:0;font-family:"Press Start 2P";font-size:10px}.window .wbody{padding:8px;font-size:17px;line-height:1.1;overflow-y:auto}.window .wfoot{border-top:1px solid var(--panel-lo);justify-content:flex-end;gap:6px;padding:6px 8px;display:flex}.wbody::-webkit-scrollbar{width:8px}.wbody::-webkit-scrollbar-thumb{background:var(--panel-hi)}.pgroup{color:var(--gold);margin:6px 0 2px;font-size:18px}.policy{grid-template-columns:190px 22px 1fr 22px;align-items:center;gap:4px;padding:2px 0;display:grid}.policy .ptitle{cursor:help;font-size:16px}.policy .plevel{text-align:center;color:var(--verb);background:var(--panel-lo);padding:2px;font-size:16px}.policy .plevel.changed{color:var(--verb-hi)}.policy button{background:var(--panel-hi);cursor:pointer;border:0;padding:1px 0;font-size:16px}.policy button:disabled{opacity:.25;cursor:not-allowed}.phelp{background:var(--panel);color:var(--dim);border-top:1px solid var(--panel-hi);min-height:36px;padding:4px 0 6px;font-size:15px;position:sticky;bottom:-8px}.newspaper{background:var(--paper);color:var(--paper-ink);padding:8px 10px}.newspaper .masthead{border-bottom:2px solid var(--paper-ink);justify-content:space-between;padding-bottom:3px;font-family:"Press Start 2P";font-size:12px;display:flex}.newspaper .headline{margin:6px 0;font-family:"Press Start 2P";font-size:12px;line-height:1.4}.newspaper .story{grid-template-columns:80px 1fr;gap:8px;font-size:17px;line-height:1.1;display:grid}.newspaper .story canvas,.newspaper .story img{border:2px solid var(--paper-ink);width:80px;height:80px}.newspaper .who{margin-top:2px;font-size:14px;font-style:italic}.choices{flex-direction:column;gap:4px;margin-top:8px;display:flex}.choices button{text-align:left;color:var(--verb);cursor:pointer;background:0 0;border:0;padding:1px 0;font-size:18px}.choices button:hover{color:var(--verb-hi)}.choices button:before{content:"▸ "}.charts{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.chart{background:var(--panel-lo);padding:3px}.chart .k{color:var(--dim);font-size:14px}.chart .v{font-size:18px}.chart canvas{width:180px;height:40px}.polls{grid-template-columns:repeat(9,1fr);align-items:end;gap:4px;height:110px;margin-top:8px;display:grid}.polls .bar{flex-direction:column;justify-content:flex-end;align-items:center;height:100%;font-size:14px;display:flex}.polls .bar div{width:100%}.fiscal{grid-template-columns:1fr 70px;gap:1px 10px;font-size:16px;display:grid}.fiscal .neg{color:var(--warn)}.fiscal .pos{color:var(--good)}.muted{color:var(--dim)}.warn{color:var(--warn)}.good{color:var(--good)}.gold{color:var(--gold)}.small{font-size:14px}.btnrow{gap:6px;margin-top:6px;display:flex}.sidebar{background:var(--panel-lo);border-left:2px solid var(--panel-hi);flex-direction:column;gap:1px;width:160px;height:256px;padding:3px 4px;font-size:14px;line-height:13px;display:flex;position:absolute;top:16px;left:480px;overflow:hidden}.sb-head{align-items:center;gap:5px;margin-bottom:2px;display:flex}.sb-head>div{flex-direction:column;gap:1px;display:flex}.sb-title{color:var(--gold);border-bottom:1px solid var(--panel-hi);margin-top:3px;font-size:13px}.sb-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sb-promises{flex:1;min-height:0;overflow-y:auto}.sb-faces{grid-template-columns:repeat(7,1fr);gap:2px;margin-top:2px;display:grid}.sb-face{cursor:pointer;border:1px solid #333;justify-content:center;padding:1px 0;display:flex}.formation{flex-direction:column;gap:4px;padding:8px 12px;display:flex;position:absolute;inset:0}.formation h1{color:var(--gold);margin:0;font-family:"Press Start 2P";font-size:11px}.partylist{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.prow{background:var(--panel);border:1px solid var(--panel-lo);cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding:2px 6px;font-size:16px;display:grid}.prow:hover{border-color:var(--gold)}.prow>div:nth-child(3){text-align:right}.tally{font-size:18px}.posts{grid-template-columns:repeat(2,1fr);gap:3px;display:grid}.post{background:var(--panel);border:1px solid var(--panel-lo);cursor:pointer;align-items:center;gap:6px;padding:2px 6px;font-size:15px;display:flex}.post:hover{border-color:var(--gold)}.props{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.propcard{text-align:left;background:var(--panel-lo);border:1px solid var(--panel-hi);cursor:pointer;padding:3px 5px;font-size:15px}.propcard:hover:not(:disabled){border-color:var(--gold)}.propcard:disabled{opacity:.5;cursor:not-allowed}.option{text-align:left;background:var(--panel-lo);border:1px solid var(--panel-hi);cursor:pointer;width:100%;margin-top:4px;padding:3px 6px;font-size:16px;display:block}.option:hover:not(:disabled){border-color:var(--gold)}.option:disabled{opacity:.5;cursor:not-allowed}.optrow{color:var(--verb);justify-content:space-between;display:flex}.reacts{font-size:14px}.reactfaces{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.rf{flex-direction:column;align-items:center;font-size:14px;display:flex}.votes{margin-top:3px;font-size:14px}.campaign{flex-direction:column;gap:2px;display:flex}.polls .bar .pair{align-items:flex-end;gap:1px;width:100%;display:flex}.polls .bar .pair div{flex:1}.board{flex-direction:column;gap:3px;padding:5px 8px;display:flex;position:absolute;inset:0}.board-head{justify-content:space-between;font-family:"Press Start 2P";font-size:9px;display:flex}.board-head .muted{font-family:VT323;font-size:15px}.board-body{flex:1;grid-template-columns:318px 1fr;gap:6px;min-height:0;display:grid}.roster{flex-direction:column;gap:2px;display:flex;overflow-y:auto}.rrow{background:var(--panel);border:1px solid var(--panel-lo);cursor:pointer;grid-template-columns:30px 1fr 64px 62px;align-items:center;gap:4px;padding:1px 4px;font-size:15px;line-height:14px;display:grid}.rrow:hover{border-color:var(--gold)}.rrow.rebel{border-color:var(--warn)}.rname{white-space:nowrap;overflow:hidden}.rdem{font-size:14px}.rolebtn{background:var(--panel-lo);border:1px solid var(--panel-hi);cursor:pointer;text-align:center;padding:1px 2px;font-size:13px}.rolebtn:hover{color:var(--verb-hi)}.verdict{text-align:right;font-size:14px}.platform{background:var(--panel-lo);flex-direction:column;gap:2px;padding:3px 5px;display:flex;overflow-y:auto}.knob{border-bottom:1px solid var(--panel);grid-template-columns:1fr 16px 118px 16px;align-items:center;gap:2px 3px;padding-bottom:2px;font-size:14px;line-height:13px;display:grid}.knob button{background:var(--panel-hi);cursor:pointer;border:0;padding:1px 0;font-size:12px}.knob button:disabled{opacity:.25;cursor:not-allowed}.klevel{text-align:center;color:var(--verb);background:var(--bg);white-space:nowrap;text-overflow:ellipsis;padding:1px 2px;font-size:13px;overflow:hidden}.kwho{grid-column:1/-1;font-size:13px}.faint{opacity:.4}.flash{color:var(--gold);min-height:30px;font-size:15px;line-height:15px}.tallybar{flex:1;align-self:center;font-size:18px}.pp-head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.demand{border-bottom:1px solid var(--panel-lo);grid-template-columns:14px 12px 1fr auto;align-items:center;gap:4px;padding:2px 0;display:grid}.demand .btn{padding:1px 6px;font-size:14px}.seatbar{border:1px solid var(--panel-hi);background:#222;height:12px;display:flex;position:relative}.seatbar>div{height:100%}.seatbar .mark{background:#fff;width:2px;position:absolute;top:-3px;bottom:-3px}.board-body2{flex:1;grid-template-columns:1fr 1.25fr;gap:6px;min-height:0;display:grid}.col{flex-direction:column;gap:2px;display:flex;overflow-y:auto}.coltitle{color:var(--gold);font-size:14px}.col .rrow{grid-template-columns:30px 1fr}.suggest{background:var(--panel-lo);max-height:92px;padding:2px 5px;overflow-y:auto}.sugrow{border-bottom:1px solid var(--panel);grid-template-columns:1fr auto;align-items:center;gap:6px;padding:2px 0;font-size:14px;line-height:14px;display:grid}.sugrow .btn{padding:1px 6px;font-size:14px}.demand{grid-template-columns:14px 1fr auto}.propcard.locked{opacity:.85;border-style:dashed}canvas.board-lights{background:#0a0a14;border:3px solid #333;width:450px;height:180px;margin:4px auto;display:block}.desk{background:#5a3a24;border:2px solid #3a2414;justify-content:center;gap:14px;margin:8px 0 4px;padding:8px;display:flex}.vote{cursor:pointer;color:#000;border:3px solid #000;padding:10px 16px;font-family:"Press Start 2P";font-size:12px;box-shadow:0 4px #000}.vote:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #000}.vote:disabled{opacity:.5;cursor:default}.vote.ja{background:#3ddc3d}.vote.nej{background:#ff3b3b}.vote.av{background:#ffd23b}.opinion{grid-template-columns:150px 240px 50px;align-items:center;gap:3px 8px;font-size:16px;display:grid}.obar{background:var(--panel-lo);height:10px;position:relative}.obar>div{position:absolute;top:0;bottom:0}.obar:after{content:"";background:var(--dim);width:2px;position:absolute;top:-2px;bottom:-2px;left:119px}.ladder{flex-wrap:wrap;gap:3px;margin:4px 0;display:flex}.ladder span{background:var(--panel-lo);color:var(--dim);padding:1px 6px;font-size:14px}.ladder span.cur{background:var(--gold);color:#000}.optcard{flex-direction:column;gap:1px;display:flex}.orow{font-size:14px;line-height:15px}.olab{color:var(--dim);min-width:86px;display:inline-block}.govrow{border-bottom:1px solid var(--panel-lo);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:3px 0;font-size:15px;display:grid}.govrow.rebel{background:#ff3b3b1f}.sbar{background:var(--panel-lo);width:220px;height:6px;margin:2px 0}.sbar>div{height:100%}.issue{border-top:1px solid #b8ab8a;padding:3px 0}.ibar{background:#d8ccae;height:6px}.ibar>div{background:#b3001b;height:100%}.wish{color:#1d2d8f;cursor:pointer;text-align:left;background:0 0;border:0;padding:1px 0;font-size:15px;display:block}.wish:hover{text-decoration:underline}.hint{background:#fff6c8;border:1px dashed #8a7a4a;margin:4px 0;padding:3px 6px;font-size:15px}.vox{grid-template-columns:36px 1fr;align-items:center;gap:6px;margin:3px 0;font-size:15px;display:grid}.wwbox{border:1px solid var(--gold);margin:6px 0;padding:4px 8px;line-height:1.35}.scene-dialog{border-top:2px solid var(--panel-hi);background:#000;flex:1;min-height:0;padding:6px 10px;position:relative;overflow:auto}.scene-dialog .choices button{color:var(--verb)}.scene-dialog .choices button:hover{color:var(--verb-hi)}.linkish{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;padding:1px 0;display:block}.linkish:hover:not(:disabled){color:var(--verb-hi)}.linkish:disabled{opacity:.4;cursor:default}.valvaka-feed{border-top:2px solid var(--panel-hi);background:#000;flex:1;min-height:0;padding:6px 10px;position:relative;overflow:auto}.timer{background:var(--gold);height:4px;transition:width linear}.field{font:inherit;color:var(--ink);background:var(--panel-lo);border:2px solid;border-color:var(--panel-lo) var(--panel-hi) var(--panel-hi) var(--panel-lo);-webkit-user-select:text;user-select:text;width:100%;padding:4px 6px;font-size:17px}.field:focus{outline:1px solid var(--gold)}textarea.field{resize:vertical}.scene-root{flex-direction:column;display:flex;position:absolute;inset:0}.stage-wrap{height:var(--stage-h);flex:none;position:relative;overflow:hidden}.stage-box{transform-origin:0 0;width:640px;position:absolute;top:0;left:0}.portrait .stage-wrap{height:calc(var(--stage-h) * .5625)}.portrait .stage-box{transform:scale(.5625)}.portrait .title-screen canvas.bg{object-fit:cover;width:100%;height:100%}.portrait .logo{font-size:30px}.portrait .subtitle{text-align:center;padding:0 12px;font-size:18px}.portrait .select-screen{overflow-y:auto}.portrait .leaders{grid-template-columns:repeat(2,1fr)}.portrait #screen:has(>.scene){flex-direction:column;display:flex;overflow-y:auto}.portrait #screen>.topbar{flex-wrap:wrap;flex:none;order:0;gap:0 8px;height:auto;padding:2px 6px;font-size:15px;position:relative}.portrait #screen>.scene{flex:none;order:1;width:360px;height:192px;position:relative;top:auto}.portrait .scene canvas,.portrait .scene img.art{width:100%;height:100%}.portrait #screen>.ticker{flex:none;order:2;position:relative;top:auto}.portrait #screen>.sentence{flex:none;order:3;height:auto;padding:2px 0;position:relative;top:auto}.portrait #screen>.bottom{flex:none;order:4;grid-template-columns:1fr;position:relative;top:auto}.portrait .verbs button{padding:3px 0;font-size:21px}.portrait .stats-bar{grid-template-rows:none;padding:2px 4px 4px}.portrait #screen>.sidebar{border-left:0;border-top:2px solid var(--panel-hi);flex:none;order:5;width:100%;height:auto;font-size:15px;line-height:15px;position:relative;top:auto;left:0}.portrait .sb-promises{flex:none}.portrait .window{max-height:calc(100% - 16px);width:calc(100% - 10px)!important}.portrait .window .wfoot{flex-wrap:wrap}.portrait .props{grid-template-columns:repeat(2,1fr)}.portrait .board{overflow-y:auto}.portrait .board-head{flex-wrap:wrap;gap:2px 8px}.portrait .board-body,.portrait .board-body2{flex:none;grid-template-columns:1fr!important}.portrait .col{overflow:visible}.portrait .suggest{max-height:none}.portrait .btnrow{flex-wrap:wrap}.portrait .formation{overflow-y:auto}.portrait .posts{grid-template-columns:1fr}.portrait .window .wtitle{flex:none;align-items:flex-start;gap:6px;line-height:1.35}.portrait .olab{min-width:64px}.portrait .optcard [style*=padding-left\:86px]{padding-left:64px!important}.portrait .orow{font-size:15px;line-height:16px}.govhead{align-items:center;gap:10px;display:flex}.portrait .govhead{flex-direction:column;align-items:stretch}.portrait .sbar{width:100%;max-width:220px}.portrait .govrow{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.portrait .govrow .btn{padding:4px 8px}.portrait .prow{grid-template-columns:auto minmax(0,1fr) auto}.portrait .prow>:nth-child(4){grid-column:3}.portrait .formation h1,.portrait .board-head,.portrait .select-screen h1{line-height:1.45}.portrait .stage-wrap.crop{height:calc(var(--stage-h) * .85)}.portrait .stage-wrap.crop .stage-box{transform:translate(-92px)scale(.85)}@media (pointer:coarse){.choices button{padding:6px 0}.verbs button{padding:4px 0}.option{padding-top:6px;padding-bottom:6px}.linkish,.wish{padding:5px 0}.btn{padding:6px 14px}}.portrait .scene-dialog .choices button{font-size:20px}.portrait .stage-wrap.native{height:var(--stage-h)}.portrait .stage-wrap.native .stage-box{transform:none}
