*{box-sizing:border-box}body{margin:0;background:#f3f0e7;color:#293732;font-family:Arial,'Noto Sans KR',sans-serif}button,input,select{font:inherit}button{cursor:pointer}header{height:88px;border-bottom:1px solid #dcded2;display:flex;align-items:center;padding:0 4%;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:900;letter-spacing:2px;font-size:16px}.brand small{display:block;font-size:11px;letter-spacing:1px;font-weight:400;margin-top:7px;color:#69736c}.mark{background:#293d32;color:#f3edda;padding:13px 9px;font-family:Georgia,serif;font-size:22px}.preview{font-size:11px;background:#e4e6d9;padding:7px 12px;border-radius:20px;color:#62705d}header button{margin-left:auto}button{border:1px solid #d1d7c9;border-radius:6px;background:transparent;padding:11px 16px;color:#334338}button:hover{background:#e4e8dd}main{max-width:1480px;margin:auto;padding:30px 4% 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#798578}h1{font-size:25px;letter-spacing:-1px;margin:10px 0}p{font-size:12px;color:#788077;line-height:1.7;margin:7px 0}.population{font-size:12px;color:#798578;display:flex;align-items:center;gap:7px}.population strong{color:#314637}.dot{width:6px;height:6px;border-radius:50%;background:#688e62;display:inline-block}.direction{padding-left:18px;margin-left:12px;border-left:1px solid #d3d9ca}.viewport{overflow-x:auto}.table{position:relative;height:580px;min-width:850px;background:#e6e8dc;border:1px solid #d7dccd;border-radius:18px;overflow:hidden}.felt{position:absolute;inset:90px 105px;background:#2c493d;border:8px solid #d5d9c8;border-radius:120px;box-shadow:0 0 0 1px #b8c1ae,inset 0 0 75px #1c352b80;background-image:radial-gradient(#eaf6e508 .8px,transparent .8px);background-size:5px 5px}.table-stamp{position:absolute;top:108px;left:50%;transform:translateX(-50%);font:10px Georgia,serif;color:#b1c2ab80;letter-spacing:5px}.seat{position:absolute;transform:translate(-50%,-50%);border:none;padding:4px;width:125px;background:transparent;text-align:center;z-index:2}.seat:hover{background:transparent}.avatar{position:relative;margin:auto auto 7px;width:43px;height:43px;border:1px solid #b9c3ad;border-radius:50%;display:grid;place-items:center;background:#f5f1e5;color:#5a725a;box-shadow:0 2px 4px #253a2410;font:italic 20px Georgia,serif}.seat:hover .avatar{transform:translateY(-3px);border-color:#72896a}.seat strong{font-size:11px;display:block;color:#394937}.seat small{font-size:9px;color:#84907c;display:block;margin-top:4px;letter-spacing:.4px}.seat.empty{opacity:.4}.seat.mine .avatar{background:#354f3e;color:#f4efd9;border:3px solid #f3f0df;outline:1px solid #607957}.seat .badge{position:absolute;right:-7px;bottom:-2px;font-size:9px;background:#a88541;color:white;line-height:16px;border-radius:4px;padding:0 5px;font-style:normal}.boards{position:absolute;left:25%;top:50%;transform:translateY(-50%);width:50%;z-index:1}.board{padding:9px 18px 7px;border-radius:5px;box-shadow:0 5px 12px #10261b40;background:#e6ede0;color:#426256;border:1px solid #cedccc}.board-options{display:flex;align-items:center;gap:12px}.board-options select{padding:4px 6px;font-size:10px;background:#f3e7db;border-color:#cda48e;color:#8e4c3c}.board-options>span{font:16px Georgia,serif;opacity:.7}.board.fascist{background:#eeddd0;color:#984b3c;border-color:#d7b6a3}.board-heading{display:flex;justify-content:space-between;align-items:center}.board-heading small{font-size:8px;letter-spacing:2px;opacity:.75}.board-heading h2{font-size:17px;letter-spacing:-.6px;margin:4px 0 8px}.board-heading>span{font:16px Georgia,serif;opacity:.7}.slots{display:flex;gap:8px}.slot{flex:1;height:56px;border:1px dashed #93a999;background:#dae4d660;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:18px Georgia,serif;color:#9aaa94;position:relative}.fascist .slot{border-color:#c5947e;background:#e3c8b560;color:#c39885}.slot small{font:8px Arial,sans-serif;margin-top:5px;line-height:1.35;text-align:center;white-space:normal;word-break:keep-all;max-width:100%;padding:0 2px;color:#8e6455}.slot:last-child{border-style:solid}.board-note{display:flex;justify-content:space-between;align-items:center;font-size:9px;opacity:.85;margin-top:6px}.board-note span{font-size:19px}.election{height:34px;display:flex;align-items:center;justify-content:center;gap:10px;color:#bacabd;margin:0;font-size:10px}.election i{width:12px;height:12px;border:1px solid #96ae96;border-radius:50%}.election small{font-size:8px;margin-left:4px;color:#97ab9a}.pile{position:absolute;top:50%;transform:translate(-50%,-50%);width:110px;text-align:center;color:#d4dfcc}.draw{left:17%}.discard{left:83%}.pile>.eyebrow{font-size:8px;letter-spacing:1.5px;color:#a6bba7}.card-stack{width:77px;height:107px;margin:16px auto 14px;position:relative;background:#c5c8b3;box-shadow:3px 3px #e9e2c8,5px 5px #898d75,7px 7px #ddd6bf;border-radius:4px}.policy-back{height:100%;border:4px solid #eee6d0;outline:1px solid #1c3529;border-radius:4px;background:repeating-linear-gradient(45deg,#536c50,#536c50 2px,#496248 2px,#496248 5px);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#efe6ca}.policy-back span{font:bold 30px Georgia,serif;border:1px solid #c9cbb0;padding:7px 5px}.policy-back small{margin-top:8px;font-size:7px;letter-spacing:3px}.pile strong{display:block;font-size:11px;font-weight:400}.pile-count{display:block;font:18px Georgia,serif;margin-top:8px;color:#9db39f}.empty-card{width:77px;height:107px;margin:16px auto 14px;border:1px dashed #829b81;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#819881}.empty-card span{font-size:28px}.empty-card small{font-size:7px;letter-spacing:2px;margin-top:12px}.below{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:11px;color:#7b8677}.below b{margin:0 8px}.below button{font-size:10px;border:0;padding:5px}.muted{background:#a4af97}footer{height:142px;display:flex;align-items:center;gap:20px;position:relative;margin-top:10px;border-bottom:1px solid #d6ddce}.role-dock{width:110px;height:100%;position:relative;overflow:visible}.role{position:absolute;bottom:0;left:0;width:110px;height:155px;transform:translateY(80px);border:4px solid #f0e5cb;padding:0;border-radius:7px;background:#3c503a;box-shadow:0 4px 10px #13251e30;transition:transform .25s,width .25s,height .25s;z-index:10}.role-back{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 4px;color:#e5dcc2;background:repeating-linear-gradient(45deg,#536c50,#536c50 2px,#496248 2px,#496248 5px)}.role-back small{font-size:6px;letter-spacing:1px}.role-back strong{font:32px Georgia,serif;margin:12px}.role-back span{font-size:9px}.role-front{display:none;flex-direction:column;align-items:center;color:#3d6151;height:100%;padding:16px 8px;background:#e4eadb}.role-front small{font-size:8px;color:#809277}.role-front strong{font-size:20px;margin:8px 0}.role-front>span:not(.emblem){font-size:8px;letter-spacing:3px}.emblem{font:45px Georgia,serif;margin-top:12px}.role-front p{font-size:10px;text-align:center;margin-top:15px}.role:hover,.role:focus-visible,.role.open{transform:translateY(-10px);width:160px;height:230px}.role:hover .role-back,.role:focus-visible .role-back,.role.open .role-back{display:none}.role:hover .role-front,.role:focus-visible .role-front,.role.open .role-front{display:flex}footer p{font-size:11px}footer p span{font-size:10px;color:#9ba494}.prototype{margin-left:auto;font-size:9px;color:#8d9786}.credits{position:relative;background:#f3f0e7;padding:15px 4%;font-size:9px;color:#9aa18d;z-index:11;margin-top:0}.credits a{color:inherit}dialog{border:1px solid #ced5c5;border-radius:12px;padding:28px;background:#f4f1e8;color:#314639;width:420px;max-width:94vw;box-shadow:0 20px 80px #10281c30}dialog::backdrop{background:#152b2470;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin:10px 0}dialog label{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-top:16px;gap:20px}input,select{padding:9px;border:1px solid #c9d2c1;border-radius:5px;background:#faf8f1;color:#3b503b;min-width:0}input{width:170px}.fields{max-height:300px;overflow:auto;margin-top:15px;padding-right:8px}.fields label{margin-top:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.primary{background:#355540;color:#f3efdf;border-color:#355540}.primary:hover{background:#43664d}@media(min-width:1400px){.table{height:630px}.slot{height:58px}}@media(max-width:700px){header{height:70px;padding:0 16px;gap:10px}.brand{font-size:12px;letter-spacing:1px}.mark{font-size:18px;padding:9px 6px}.preview{display:none}header button{font-size:11px;padding:9px}main{padding:24px 16px 0}h1{font-size:21px}.intro{display:block}.population{margin-top:15px}.table{height:545px}.intro p{font-size:11px}.below{font-size:9px}.prototype{display:none}.credits{font-size:8px}.below b{margin:0 4px}.role-dock{flex-shrink:0}footer{gap:12px}footer p{font-size:10px}}

.seat .office{position:absolute;top:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;border:2px solid #f3f0e7;border-radius:5px;padding:3px 8px;font:700 10px Arial,sans-serif;letter-spacing:0;background:#aa813b;color:#fff6dd;box-shadow:0 2px 5px #20332620}.seat .office.chancellor{background:#416b79;color:#edf8fa}.seat.president .avatar{outline:2px solid #aa813b;outline-offset:2px}.seat.chancellor .avatar{outline:2px solid #416b79;outline-offset:2px}

.room-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.room-bar[hidden]{display:none}.room-bar label{font-size:10px;color:#6a7f69;display:flex;align-items:center;gap:8px}.room-bar input{width:120px}.room-bar button{font-size:11px}.join-code{margin-left:auto}#room-code{text-transform:uppercase;width:90px}#connection{min-height:18px;margin:5px 0 10px;font-size:10px;color:#758a71}#connection.error{color:#a34836}.action-panel{border:1px solid #d4dccb;border-radius:10px;background:#eceee2;padding:18px 22px;margin-top:16px;min-height:100px}.action-panel h2{font-size:17px;margin:8px 0}.action-panel p{font-size:11px}.action-panel button{margin:8px 7px 0 0;font-size:11px}.room-info{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#7a8871}.room-info button{margin:0;font-size:9px;padding:5px 10px}.choices{display:flex;gap:6px;flex-wrap:wrap}.hand{display:flex;gap:14px;margin:12px 0}.policy-choice{width:110px;height:135px;border:4px solid #f8f3e5!important;box-shadow:0 3px 9px #29482d20;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-weight:bold}.policy-choice.liberal{background:#ccded0;color:#416457}.policy-choice.fascist{background:#e6c6b3;color:#964a3a}.policy-choice small{font-size:9px;font-weight:normal}.vote-yes{background:#d4e4cc;color:#385534}.vote-no{background:#ead2c5;color:#994d3a}.slot small{white-space:pre-line}.slot.enacted.liberal{background:#a7c0a7;color:#385b45;border:1px solid #6c956d}.slot.enacted.fascist{background:#c58b70;color:#6d3627;border:1px solid #a05c42}.election i.filled{background:#d4c792;border-color:#f1e8bd}.seat.dead{opacity:.4}.seat.dead .avatar{text-decoration:line-through}.history{margin:20px 0;font-size:11px;color:#687d65}.history summary{cursor:pointer;padding:10px 0}.history li{margin:9px 0}.history ol{max-height:250px;overflow:auto;padding-left:24px}.history h3{font-size:11px}.ballot{display:inline-block;padding:6px 10px;border-radius:4px;margin:4px;background:#e3e8d9}.ballot.no{background:#eadacf}.private-result{background:#dde7d7;padding:12px;border-radius:5px;color:#456440!important}.role:hover,.role:focus-visible,.role.open{height:310px;width:180px}.role-front small{line-height:1.5}.role-front p{font-size:10px;line-height:1.6}.role-front .emblem{margin-top:6px}.role-front strong{margin:5px 0}button:disabled{opacity:.45;cursor:default}@media(max-width:700px){.room-bar{gap:8px}.join-code{margin-left:0}.room-bar input{width:100px}.action-panel{padding:15px}.policy-choice{width:95px;height:125px}.hand{gap:7px}}
/* Full-table game surface. */
html,body{height:100%;overflow:hidden}main.game-shell{max-width:none;padding:0;margin:0;position:relative;height:100dvh;width:100%;overflow:hidden}.toolbar{height:54px;display:flex;align-items:center;gap:20px;padding:0 24px;font-size:11px;border-bottom:1px solid #d6ddce;background:#f3f0e7;position:relative;z-index:60}.mini-brand{font-weight:900;letter-spacing:2px}.toolbar-count{margin-left:auto;color:#73836e}.toolbar #settings{margin:0;border:none;font-size:23px;padding:5px 10px}.viewport{height:calc(100dvh - 54px);width:100%;overflow:hidden}.table{height:100%!important;min-height:0;min-width:0;border-radius:0;border:none;background:#e6e8dc}.felt{inset:14% 10%;border-radius:110px;border-width:7px}.boards{left:50%;top:50%;width:50%;max-width:670px;transform:translate(-50%,-50%)}.table-stamp{top:17%;font-size:8px}.action-panel{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:10;padding:0;border:none;background:transparent;min-height:0;margin:0;display:flex;gap:10px;align-items:center}.action-panel:empty{display:none}.action-panel button{margin:0}.below,.credits{display:none}.role-dock{position:absolute;bottom:0;left:0;width:0;height:0}.role{position:fixed;bottom:16px;left:16px;width:76px;height:100px;transform:none;border-width:3px;z-index:45;transition:width .25s,height .25s,transform .25s}.role:hover,.role:focus-visible,.role.open{height:310px;width:180px;transform:translateY(-4px)}.role-back{padding:7px 3px}.role-back small{font-size:5px}.role-back strong{font-size:25px;margin:10px 0}.role-back span{font-size:8px}.table-message{position:absolute;top:calc(54px + 17%);left:50%;transform:translateX(-50%);text-align:center;color:#becdbc;font-size:11px;pointer-events:none;z-index:3;white-space:nowrap}.seat{transition:opacity .3s,filter .3s}.seat .avatar{transition:transform .25s,outline .25s,background .25s}.seat.selectable .avatar{outline:2px solid #d0b360;outline-offset:4px;animation:targetPulse 1.8s infinite}.seat.selectable:hover .avatar{transform:scale(1.12);background:#f4e8bf}.seat-vote{position:absolute;left:50%;top:102%;transform:translateX(-50%);padding:5px 14px;border-radius:4px;font:bold 11px Arial,sans-serif;white-space:nowrap;border:1px solid #aabfa2;box-shadow:0 2px 8px #1a302525}.seat-vote.yes{background:#dcebd4;color:#33532f}.seat-vote.no{background:#ead2c4;color:#994c3c;border-color:#c7a08d}.seat-vote.reveal{animation:ballotReveal .45s both}.vote-results .seat{z-index:32}.slot{overflow:visible}.policy-token{position:absolute;inset:3px;background:#b7d0b3;border:2px solid #f4eedf;border-radius:3px;display:grid;place-items:center;font:28px Georgia,serif;color:#3f6c4a;box-shadow:0 2px 5px #213b2330}.fascist .policy-token{background:#c98b6c;color:#65392a}.policy-token.deal-in{animation:policyDeal .8s cubic-bezier(.2,.8,.2,1) both}.election i{transition:background .25s,transform .25s}.election i.marker-in{animation:markerAdd .55s both}.phase-overlay{position:absolute;inset:54px 0 0;background:#081a15bf;backdrop-filter:blur(2px);z-index:25;display:grid;place-items:center;padding:18px;transition:opacity .3s}.phase-overlay[hidden]{display:none}.phase-content{text-align:center;color:#f5f1df;max-width:700px}.phase-content h2{font-size:clamp(28px,4vw,48px);font-weight:900;letter-spacing:-1px;margin:0 0 20px}.phase-content p{font-size:18px;color:#e2e7da;line-height:1.7;margin:12px 0}.phase-content>small{display:block;font-size:11px;color:#aebfab;margin-top:20px}.phase-content button{background:#f3f0df;border-color:#ddd5bd;margin:8px;padding:12px 22px;color:#344f3a}.phase-content .primary{background:#a18a43;color:#fff6dd;border-color:#b6a065}.phase-enter{animation:shadeIn .35s both}.phase-enter h2{animation:titleIn .45s both}.phase-enter .hand,.phase-enter .ballot-hand{animation:cardsIn .45s .1s both}.government-names{margin-bottom:26px}.government-names p{font-size:20px;font-weight:700;margin:7px 0}.ballot-hand{display:flex;justify-content:center;gap:24px}.phase-content .ballot-card{width:150px;height:180px;font-size:26px;font-weight:900;white-space:pre-line;border:5px solid #eee8d4;box-shadow:0 8px 25px #0005;border-radius:7px;transition:transform .2s}.phase-content .vote-yes{background:#d8e7ce;color:#345b39}.phase-content .vote-no{background:#e6c8b8;color:#924b3b}.ballot-card:hover,.policy-choice:hover{transform:translateY(-8px) rotate(-2deg)}.phase-content .hand{justify-content:center;gap:22px;margin:26px 0}.phase-content .policy-choice{width:150px;height:200px;gap:14px;padding:12px;font-size:15px;transition:transform .2s}.phase-content .policy-choice.liberal{background:#c7dcc5;color:#42654a}.phase-content .policy-choice.fascist{background:#dfb498;color:#823f2e}.phase-content .card-emblem{font:52px Georgia,serif}.enact-emblem{font:90px Georgia,serif;color:#e4d6a8;display:block;animation:stampIn .6s both}.waiting-dots:before{content:'•••';font-size:32px;letter-spacing:12px;color:#c5d2bc;animation:waiting 1.4s infinite}.private-result{color:#355431!important;font-size:17px!important;padding:20px}.discussion-dock{position:absolute;bottom:15px;right:18px;background:#f5f1e3e8;padding:12px 14px 16px;border:1px solid #cad5c1;border-radius:9px;z-index:15;display:flex;gap:12px;align-items:center;box-shadow:0 3px 12px #243a2220;overflow:hidden}.discussion-dock[hidden]{display:none}.discussion-clock small{display:block;font-size:9px;color:#788f70}.timer-value{font:24px Georgia,serif;display:block;margin-top:2px;font-variant-numeric:tabular-nums}.discussion-dock button{font-size:11px;padding:10px 14px}.discussion-dock>span{font-size:9px;color:#839178}.timer-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#d6dfcd}.timer-progress i{display:block;background:#779c67;height:100%;transition:width .2s linear}.settings-heading{display:flex;justify-content:space-between;align-items:center}.settings-heading button{border:none;font-size:22px}.room-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 0}.room-bar label{display:block}.room-bar input{width:100%;margin-top:6px}.room-bar .join-code{margin-left:0}.room-bar button{padding:11px;font-size:10px}#practice-room{grid-column:1/-1}#sound-enabled{width:20px;height:20px;accent-color:#486b3f}#setup{max-height:90dvh;overflow:auto;width:480px}#setup .history{margin:8px 0}#setup .room-bar[hidden]{display:none}#setup #reset,#copy-room{font-size:10px;margin-top:12px}#connection{margin-bottom:6px}#table-message-anchor{display:none}
@keyframes shadeIn{from{opacity:0}to{opacity:1}}@keyframes titleIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardsIn{from{opacity:0;transform:translateY(35px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ballotReveal{from{opacity:0;transform:translateX(-50%) rotateX(90deg) scale(.7)}to{opacity:1;transform:translateX(-50%) rotateX(0) scale(1)}}@keyframes policyDeal{from{opacity:0;transform:translateY(-100px) scale(1.7) rotate(-10deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes markerAdd{0%{transform:scale(0)}65%{transform:scale(1.5)}100%{transform:scale(1)}}@keyframes stampIn{from{opacity:0;transform:scale(1.6) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes waiting{0%,100%{opacity:.3}50%{opacity:1}}@keyframes targetPulse{0%,100%{outline-color:#c3ad6a}50%{outline-color:#eee1a0}}
@media(max-height:650px){.board{padding:6px 14px 5px}.board-heading h2{font-size:14px;margin:3px 0 5px}.board-note{margin-top:3px;font-size:8px}.board-note span{font-size:15px}.slot{height:44px!important}.election{height:28px}.table-message{font-size:9px;top:calc(54px + 15%)}.phase-content .policy-choice{height:160px;width:125px}.phase-content .ballot-card{height:150px;width:125px}.phase-content h2{margin-bottom:10px}.role{width:65px;height:86px}.discussion-dock{padding:8px 12px 11px}.phase-content .hand{margin:15px 0}}
@media(max-width:700px){.toolbar{padding:0 12px;gap:10px}.mini-brand{font-size:9px;letter-spacing:1px}.toolbar-count{font-size:9px}.boards{width:56%;max-width:none}.felt{inset:14% 8%;border-radius:60px}.seat{width:75px}.avatar{width:32px;height:32px;font-size:15px}.seat strong{font-size:9px}.seat small{font-size:7px}.seat .office{font-size:8px;padding:2px 5px}.seat-vote{font-size:8px;padding:3px 8px}.pile{width:60px}.pile .eyebrow{font-size:6px;letter-spacing:.5px}.pile strong{font-size:8px}.card-stack,.empty-card{width:45px;height:66px;margin:10px auto}.policy-back span{font-size:18px;padding:4px 2px}.policy-back small,.empty-card small{font-size:5px;letter-spacing:1px}.pile-count{font-size:13px}.draw{left:15%}.discard{left:85%}.board{padding:6px 8px}.board-heading small{font-size:5px;letter-spacing:1px}.board-heading h2{font-size:12px}.board-options{gap:4px}.board-options select{padding:2px;font-size:7px}.board-options>span{font-size:10px}.slots{gap:3px}.slot small{font-size:6px;word-break:break-all}.board-note{font-size:6px}.election{gap:5px;font-size:7px}.election small{font-size:6px}.election i{width:9px;height:9px}.table-message{font-size:8px;max-width:65%;white-space:normal}.discussion-dock{gap:7px;right:8px;bottom:9px}.discussion-dock>span{display:none}.discussion-dock button{font-size:9px}.role{left:8px;bottom:9px}.phase-content .policy-choice{width:95px;height:160px;font-size:11px;margin:3px}.phase-content .hand{gap:8px}.phase-content p{font-size:14px}.phase-content .card-emblem{font-size:38px}.phase-content .ballot-card{width:125px;height:160px;font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.south .seat-vote{top:-25px}.east .seat-vote{left:0;top:45%;transform:translate(-100%,-50%)}.west .seat-vote{left:100%;top:45%;transform:translate(0,-50%)}.east .seat-vote.reveal,.west .seat-vote.reveal{animation:sideBallotReveal .45s both}.phase-content button.picked{animation:buttonPick .35s both}.settings-credit{font-size:8px!important;color:#8b9984!important}.settings-credit a{color:inherit}.role-front{animation:titleIn .2s both}
@keyframes buttonPick{to{opacity:.3;scale:.94}}@keyframes sideBallotReveal{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
/* Keep the photographed table proportions within the available screen. */
body{display:grid;place-items:center;background:#f3f0e7}.game-shell{width:min(100vw,210dvh)!important;height:min(100dvh,47.62vw)!important;border-radius:16px;border:1px solid #d3dccc}.toolbar{position:absolute;top:10px;left:10px;right:10px;height:34px;border:0;background:transparent;padding:0 8px;pointer-events:none}.toolbar button{pointer-events:auto}.viewport{height:100%;width:100%}.phase-overlay{inset:0;border-radius:16px}.role{position:absolute}.table-message{top:17%}.table{border-radius:16px}.role-dock{z-index:45}.toolbar #settings{border:1px solid #ccd7c0;border-radius:7px;background:#f3f0e7d9;line-height:1;font-size:21px;padding:7px}.toolbar #table-room{color:#73856c;font-size:10px}.table-message{top:17.5%;font-size:10px}.table-stamp{display:none}.game-shell .discussion-dock{max-width:30%;gap:9px}.game-shell .discussion-dock button{padding:9px;font-size:10px}.game-shell .discussion-dock>span{font-size:8px}.game-shell .role{bottom:10px;left:10px;width:60px;height:80px}.game-shell .role:hover,.game-shell .role:focus-visible,.game-shell .role.open{width:180px;height:310px}.game-shell .role-back small{font-size:4px}.game-shell .role-back strong{font-size:20px;margin:6px 0}.game-shell .role-back span{font-size:7px}.game-shell .action-panel{bottom:12px}.phase-content{max-height:94%;overflow:auto;padding:12px}.phase-overlay[hidden]{display:none}
@media(max-width:1000px){.toolbar{top:6px}.toolbar .mini-brand{font-size:8px}.toolbar #table-room{font-size:8px}.toolbar-count{font-size:8px}.boards{width:50%}.board{padding:6px 12px}.board-heading h2{font-size:13px;margin:3px 0 5px}.board-note{font-size:7px;margin-top:3px}.board-note span{font-size:14px}.slot{height:43px!important}.election{height:26px}.slot small{font-size:7px}.board-heading small{font-size:6px}.table-message{font-size:8px}.game-shell .discussion-dock{max-width:none}.game-shell .discussion-dock>span{display:none}}
@media(max-aspect-ratio:1/1){.game-shell{width:100vw!important;height:100dvh!important;border-radius:0}.table,.phase-overlay{border-radius:0}.toolbar .mini-brand{font-size:8px}.toolbar #table-room{font-size:8px}.boards{width:56%}.board-note{font-size:6px}.slot small{font-size:6px}.game-shell .discussion-dock{right:8px}.table-message{max-width:60%}.game-shell .role:hover,.game-shell .role.open{width:160px;height:290px}.phase-content .ballot-card{height:155px;width:125px}.phase-content{padding:4px}.phase-content .policy-choice{width:95px;height:160px}}
.notification{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);max-width:55%;padding:10px 16px;background:#f8efda;color:#84513d;border:1px solid #c9b797;border-radius:7px;font-size:11px;box-shadow:0 3px 14px #152a2450;z-index:70;text-align:center;animation:titleIn .2s both}.notification[hidden]{display:none}.pile-change{animation:pilePulse .4s}.office{animation:officeIn .25s both}@keyframes pilePulse{50%{filter:brightness(1.25);scale:1.06}}@keyframes officeIn{from{opacity:0}to{opacity:1}}
.phase-overlay{background:#081a159e;backdrop-filter:blur(1px)}
@media(max-width:1000px){.game-shell .discussion-dock{width:min(125px,20vw);padding:5px 5px 8px;gap:4px;right:8px;bottom:8px}.game-shell .discussion-dock .timer-value{font-size:20px}.game-shell .discussion-dock .discussion-clock small{font-size:7px}.game-shell .discussion-dock button{padding:7px 5px;font-size:9px;flex:1}.game-shell .discussion-dock .discussion-clock{flex-shrink:0}}
@media(max-width:700px) and (min-aspect-ratio:1/1){.seat.south-right{left:70%!important}.seat.south-middle{left:45%!important}.seat.south-left{left:20%!important}.game-shell .role{width:50px;height:72px}.game-shell .role:hover,.game-shell .role.open{width:160px;height:285px}}
@media(max-aspect-ratio:1/1){.game-shell .discussion-dock{top:15%;bottom:auto;right:8px;width:96px;display:grid;gap:5px;text-align:center}.game-shell .discussion-dock .timer-value{font-size:22px}}

#invite-wrap[hidden]{display:none}#invite-link{width:100%;font-size:11px}#setup .lobby-help{font-size:12px;line-height:1.6;color:#647064}
