/* The supplied Korean print-and-play PDF is the visual source. */
:root{--paper:#efefeb;--ink:#363636;--print:#aaa;--light:#f7f7f4}
body{background:#e5e5df;color:var(--ink)}
.game-shell{border:1px solid #b8b8af!important;box-shadow:0 4px 22px #00000012}
.table{background:#dcdcd4}
.felt{background:#383a38;border-color:#b5b8b0;box-shadow:0 0 0 1px #969c92,inset 0 0 65px #171c1725;background-image:radial-gradient(#ffffff08 .7px,transparent .7px);background-size:4px 4px}
.mini-brand{font-family:Arial,'Noto Sans KR',sans-serif;font-weight:900;letter-spacing:1.7px;color:#454545}
.toolbar #settings{background:#eeeeeadf;border-color:#a8aca1;color:#343434}
.toolbar #table-room,.toolbar-count{color:#666}
.boards{width:46%;max-width:640px}
.board{padding:7px 10px 9px!important;background:var(--paper);color:#444;border:4px double #a5a5a0;border-radius:2px;box-shadow:0 4px 10px #1115;position:relative}
.board.fascist{background:#e4e4df;border-color:#888;color:#333}
.board:before{content:'';position:absolute;inset:3px;border:1px dotted #b1b1aa;pointer-events:none}
.board-heading{min-height:25px;margin-bottom:4px;align-items:center}
.board-heading h2{margin:0!important;font-size:18px;font-weight:900;letter-spacing:2px;line-height:1.25}
.board-heading small{display:none}
.board-heading>span,.board-options>span{font:14px Georgia,serif;color:#555;opacity:1}
.board-options select{background:#f8f8f5;border:1px solid #aaa;border-radius:1px;color:#444;font-size:9px;padding:2px 5px}
.slots{position:relative;display:flex;gap:0;border:1px solid #a7a7a0;background-repeat:no-repeat;background-position:center;background-size:100% 100%;filter:contrast(1.1)}
.liberal .slots{aspect-ratio:1410/389;background-image:url('assets/print-play/track-liberal.webp')}
.fascist .slots{aspect-ratio:1693/390;background-image:url('assets/print-play/track-fascist-9-10.webp')}
.fascist[data-variant='5-6'] .slots{background-image:url('assets/print-play/track-fascist-5-6.webp')}
.fascist[data-variant='7-8'] .slots{background-image:url('assets/print-play/track-fascist-7-8.webp')}
.fascist[data-variant='9-10'] .slots{background-image:url('assets/print-play/track-fascist-9-10.webp')}
.slot,.slot.enacted.liberal,.slot.enacted.fascist,.fascist .slot{position:relative;height:auto!important;border:0!important;border-radius:0;background:transparent!important;overflow:visible;min-width:0;font-size:0;flex:1}
.slot:last-child{border:0}
.slot small{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.slot-index{position:absolute;left:6px;top:5px;width:17px;height:17px;background:#f3f3efd9;border:1px solid #a6a6a0;border-radius:50%;display:grid;place-items:center;font:bold 10px Georgia,serif;color:#777;z-index:2}
.board-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.policy-token{inset:5px;background:transparent!important;border:0;border-radius:0;box-shadow:none;z-index:3}
.policy-token img{display:block;width:100%;height:100%;object-fit:contain;filter:contrast(1.15) drop-shadow(0 2px 2px #3335)}
.election{height:27px;gap:9px;color:#e3e3dc;font-size:9px}
.election small{color:#b7b9b0;font-size:7px}
.election i{width:13px;height:13px;background:transparent;border:1px solid #d0d0c6;outline:1px dotted #b1b1a8;outline-offset:3px}
.election i.filled{background:#ecece2;border-color:#ecece2}
.avatar,.seat.mine .avatar{background:#efefea;border-color:#aeaea6;color:#444;box-shadow:0 2px 4px #15151515}
.seat.mine .avatar{background:#4a4a47;color:white;outline-color:#aaa;border-color:#eee}
.seat strong{color:#4a4a47}.seat small{color:#8a8a83}
.seat .badge{background:#5b5b55;color:#fff}
.seat .office{background:#333;color:#f4f4ec;border-color:#ecece6;border-radius:1px;box-shadow:0 2px 4px #0003;font-weight:900;letter-spacing:1px}
.seat .office.chancellor{background:#f2f2ed;color:#333;border:2px double #777}
.seat.president .avatar{outline-color:#494949}.seat.chancellor .avatar{outline-color:#93938c}
.seat.selectable .avatar{outline-color:#e3e1ca}.seat.selectable:hover .avatar{background:#fff;color:#333}
.seat-vote.yes{background:#f8f8f2;color:#333;border-color:#777;border-radius:1px}
.seat-vote.no{background:#555;color:#fff;border-color:#bbb;border-radius:1px}
.pile .eyebrow{color:#b6b7ad;font-size:7px}.pile strong{color:#dbddd2;font-size:10px}.pile-count{color:#babdb0}
.card-stack{width:80px;height:115px;border-radius:0;background:#a9aaa1;box-shadow:3px 3px #deded6,5px 5px #73736d,7px 7px #d0d0c7}
.policy-back{border:0;outline:0;border-radius:0;background:url('assets/print-play/draw-pile.webp') center/100% 100% no-repeat;filter:contrast(1.15)}
.policy-back span,.policy-back small{visibility:hidden}
.empty-card{width:80px;height:115px;border:0;border-radius:0;background:url('assets/print-play/discard-pile.webp') center/100% 100% no-repeat;opacity:.83;filter:contrast(1.1)}
.empty-card span,.empty-card small{visibility:hidden}
.role{border:3px double #e0e0d6;border-radius:2px;background:#4a4a47;box-shadow:0 4px 12px #1114}
.role-back{background:#565651;background-image:repeating-linear-gradient(45deg,transparent,transparent 8px,#ffffff05 8px,#ffffff05 9px);color:#efefe6;border:1px dotted #c9c9bd;margin:3px;height:calc(100% - 6px)}
.role-back strong{font-family:Georgia,serif;font-weight:900}.role-back small{color:#d2d2c6}
.game-shell .role:hover,.game-shell .role:focus-visible,.game-shell .role.open{width:190px;height:auto;min-height:315px;max-height:95%;background:#ededE5}
.role-front{padding:0;background:#ededE5;color:#444;height:auto;max-height:100%;overflow:auto}
.role-art{display:block;width:100%;height:230px;object-fit:cover;object-position:top;filter:contrast(1.12)}
.role-detail{padding:8px 10px;text-align:left;width:100%;color:#444}
.role-detail>small{display:block;font-size:8px;line-height:1.6}.role-detail p{margin:5px 0;font-size:9px;line-height:1.5;color:#707067}
.phase-overlay{background:#111611ab}.phase-content{color:#efefe7}
.phase-content h2{font-weight:900;font-family:Arial,'Noto Sans KR',sans-serif;letter-spacing:1px;text-shadow:0 2px 3px #0004}
.phase-content p,.phase-content>small{color:#ddddD0}
.phase-content .hand{gap:24px;margin:25px 0 40px}
.phase-content .policy-choice{position:relative;width:146px;height:218px;background:transparent!important;border:0!important;padding:0;margin:0;box-shadow:0 8px 22px #0005;border-radius:4px;overflow:visible;color:#fff}
.policy-art{display:block;width:100%;height:100%;object-fit:fill;border-radius:4px;filter:contrast(1.18)}
.phase-content .policy-choice .choice-caption{position:absolute;bottom:-24px;left:0;right:0;font-size:10px;font-weight:400;letter-spacing:1px;color:#e9e9dc}
.phase-content .ballot-card{position:relative;width:195px;height:138px;background:transparent!important;border:0!important;padding:0;border-radius:2px;box-shadow:0 7px 22px #0005;color:#fff}
.ballot-art{display:block;width:100%;height:100%;object-fit:fill;filter:contrast(1.15)}
.ballot-caption{position:absolute;bottom:-24px;left:0;right:0;display:block;font-size:13px;color:#ecece2;font-weight:700}
.ballot-hand{gap:32px;margin:25px 0 45px}
.phase-content .ballot-hand+small{margin-top:35px}
.phase-content button:not(.ballot-card):not(.policy-choice){background:#e9e9df;color:#393b36;border-color:#999b8b;border-radius:2px}
.phase-content .primary{background:#b2b3a8!important;color:#292c26!important}
.enact-emblem{color:#d6d6c5}
.discussion-dock{background:#eeeeE3;border-color:#9fa38e;border-radius:2px;color:#3f453b}
.discussion-dock .primary,.action-panel .primary{background:#4c5147;border-color:#727969;color:#f0f0e5;border-radius:2px}
.discussion-clock small,.discussion-dock>span{color:#7c8474}.timer-progress{background:#cccfc1}.timer-progress i{background:#828974}
.table-message{color:#c4c8b8}.private-result{background:#e2e3d6;color:#484e3e!important}
dialog{background:#ecece4;border-color:#abae9e;border-radius:3px;color:#42463d}dialog input,dialog select{background:#f6f6ef;border-color:#b8baa9;border-radius:2px;color:#53574c}.primary{background:#565d4b;border-color:#565d4b}.history,.history p{color:#767c6a}
@media(max-width:1000px){.boards{width:46%}.board{padding:5px 7px 6px!important;border-width:3px}.board-heading{min-height:21px;margin-bottom:2px}.board-heading h2{font-size:13px;letter-spacing:1px}.board-heading>span,.board-options>span{font-size:11px}.board-options select{font-size:7px;padding:1px 3px}.election{height:24px}.slot-index{width:13px;height:13px;font-size:8px;left:3px;top:3px}.card-stack,.empty-card{width:65px;height:94px}.phase-content .policy-choice{width:120px;height:180px}.phase-content .ballot-card{width:165px;height:118px}}
@media(max-width:700px){.boards{width:48%}.board{padding:4px!important}.board-heading{min-height:17px}.board-heading h2{font-size:10px}.board-heading>span,.board-options>span{font-size:9px}.board-options select{font-size:6px}.card-stack,.empty-card{width:43px;height:62px}.pile strong{font-size:8px}.election{gap:6px;font-size:7px;height:22px}.election small{font-size:6px}.election i{width:9px;height:9px;outline-offset:2px}.slot-index{font-size:6px;width:10px;height:10px;left:2px;top:2px}.phase-content .hand{gap:12px}.phase-content .policy-choice{width:96px;height:145px}.phase-content .ballot-card{width:140px;height:100px}.ballot-hand{gap:20px}.role-art{height:200px}.game-shell .role:hover,.game-shell .role.open{width:165px;min-height:290px}}
@media(max-aspect-ratio:1/1){.boards{width:56%}.board-heading h2{font-size:12px}.phase-content .policy-choice{width:90px;height:138px}.role-art{height:195px}}
.role-dock{height:100%;pointer-events:none}.role{pointer-events:auto}.game-shell .role:hover,.game-shell .role:focus-visible,.game-shell .role.open{height:min(380px,calc(100% - 20px));min-height:0;max-height:none}.role-front{height:100%;max-height:none;overflow:auto}.role-art{flex-shrink:0}.role-detail{flex-shrink:0}
