/* JCS Play: shared board frame, three distinct interactions. */
.play-stage{--play-accent:#77549a;max-width:860px;margin:auto;padding:24px 30px;background:#fff;border:1px solid #e1e4eb;border-radius:16px;color:#252d37}
.play-stage button,.play-stage a{-webkit-tap-highlight-color:transparent}.play-stage button{font:inherit;cursor:pointer}.play-stage button:disabled{cursor:default}.play-stage button:focus-visible,.play-stage a:focus-visible{outline:3px solid #ac95c7;outline-offset:3px}.play-stage h1:focus{outline:none}
.play-top{display:flex;align-items:center;gap:16px;font-size:12px;color:#7a808b}.play-top>a{color:#65537d}.play-top>span{flex:1;text-align:center}.play-top>b{color:#343d49;font-size:18px}.play-top small{font-size:12px;font-weight:400;color:#8a9099}
.play-rounds{display:flex;gap:5px;margin:16px 0 22px}.play-rounds i{height:3px;background:#e9ebef;flex:1;border-radius:4px}.play-rounds i.done{background:#bdaacb}.play-rounds i.current{background:var(--play-accent)}
.play-scene-title{text-align:center;margin:18px auto 22px;max-width:640px}.play-scene-title h1{font-size:clamp(22px,2.4vw,29px);letter-spacing:-.045em;margin:9px 0!important;line-height:1.4!important}.play-scene-title p{font-size:14px;line-height:1.7;color:#727985;margin:8px 0}.play-scene-title .cg-eyebrow{font-size:10px;letter-spacing:.16em}
.play-match-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative;padding:10px 3px 16px;perspective:1000px}.play-proposal{border:1px solid #d9d9e1;border-radius:15px;background:#fcfbfe;box-shadow:0 5px 0 #ece9f1,0 9px 20px #30204408;padding:24px;text-align:left;min-height:260px;color:#2f2d3b;display:flex;flex-direction:column;gap:26px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}.play-proposal:nth-child(2){background:#f7fafb;box-shadow:0 5px 0 #e7edef,0 9px 20px #30204408}.play-card-top{display:flex;justify-content:space-between;align-items:center;color:#83718f;font-size:12px}.play-card-top i{font-size:25px;font-style:normal;color:#aa90bf}.play-proposal:nth-child(2) .play-card-top{color:#62858c}.play-proposal:nth-child(2) .play-card-top i{color:#6c959e}.play-proposal>strong{font-size:18px;font-weight:650;line-height:1.75;letter-spacing:-.025em;flex:1}.play-card-pick{display:block;text-align:center;border-top:1px solid #e4deec;padding-top:14px;font-size:12px;color:#6b587f}.play-proposal:hover:not(:disabled){transform:translateY(-5px);border-color:#9f86b7}.play-proposal.is-chosen{transform:translateY(-7px) rotate(-1deg);border-color:#77549a;box-shadow:0 5px 0 #c7b3da,0 12px 26px #77549a20;background:#f4eefb}.play-proposal:disabled:not(.is-chosen){opacity:.43}.play-versus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:white;border:1px solid #e5e6ec;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:10px;font-weight:750;color:#93939f;pointer-events:none}
.play-card-stack{display:flex;align-items:center;justify-content:center;gap:6px;margin:16px 0 12px}.play-card-stack>span{display:grid;place-items:center;width:26px;height:34px;border:1px dashed #d5cfdf;border-radius:4px;color:#b9b0c4;font-size:10px;transform:rotate(-5deg)}.play-card-stack>span.picked{background:#72598e;border:1px solid #72598e;color:white;transform:rotate(4deg);box-shadow:0 2px 0 #d7cde1}.play-card-stack small{margin-left:10px;color:#8d8697;font-size:11px}
.play-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;border-top:1px solid #edf0f3;padding-top:14px}.play-bottom>span{color:#9499a2;font-size:11px}.play-undo{border:0;background:transparent;padding:8px 0;color:#747b88;font-size:12px!important}.play-undo:disabled{opacity:.3}.play-stage [data-game-state]{min-height:22px;font-size:13px;color:#6d5b83;margin:10px 0 0}.play-feedback:not(:empty){animation:play-feedback-in .3s ease-out}
.play-president{--play-accent:#426f64}.play-desk-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.play-desk-heading .cg-eyebrow{color:#598172;font-size:11px}.play-budget{display:flex;align-items:baseline;gap:7px;color:#557166}.play-budget small{font-size:11px}.play-budget strong{font-size:29px;font-variant-numeric:tabular-nums;line-height:1}.play-budget>span{font-size:12px;color:#97a49e}.play-city{width:100%;height:auto;max-height:184px;display:block;border-radius:12px}.play-previous-effect{background:#f2f7f4;color:#597266;font-size:12px;line-height:1.6;padding:10px 14px;border-radius:8px;margin:10px 0}.play-previous-effect b{color:#386453;margin-right:6px}.play-president .play-scene-title{margin:15px 0;text-align:left}.play-president .play-scene-title h1{font-size:25px}.play-president .play-scene-title p{font-size:13px}.play-decisions{display:grid;gap:8px}.play-decisions>button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:1px solid #dce5df;border-radius:10px;padding:13px 16px;background:#fff;color:#2b4036;transition:background .2s,transform .2s}.play-decisions>button>span{min-width:0;flex:1}.play-decisions strong{font-size:15px;line-height:1.45}.play-decisions small{display:block;font-size:10px;margin-top:4px;font-weight:400;color:#94a198}.play-decisions>button>b{min-width:40px;text-align:right;font-size:20px;font-variant-numeric:tabular-nums}.play-decisions>button:disabled{opacity:.38;background:#f5f6f5}.play-decisions>button.is-chosen{opacity:1;border-color:#4b7a65;background:#edf6ef;transform:translateX(3px)}.play-decisions>button:hover:not(:disabled){border-color:#7c9f8b;background:#f5f9f6}
.play-party{--play-accent:#aa7141}.play-workshop{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:26px;align-items:start}.play-token-bank{display:flex;align-items:center;gap:10px;padding:13px 15px;background:#faf5ed;border:1px solid #e9dcc7;border-radius:10px;margin-bottom:12px;font-size:12px;color:#8c6b45}.play-token-bank>b{font-size:24px;line-height:1}.play-token-bank>div{display:flex;gap:4px;flex:1;justify-content:flex-end}.play-token-bank i{height:10px;width:10px;border-radius:50%;background:#e6e1d9;border:1px solid #dbd5ca}.play-token-bank i.available{background:#c29958;border-color:#b68c4d;box-shadow:inset 0 0 0 2px #edd2a0}.play-token-row{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #edf0f3}.play-priority-mark{width:28px;height:32px;background:#f5f4f1;border-radius:8px;display:grid;place-items:center;color:#9b805e;font-size:18px;flex-shrink:0}.play-token-row>div:nth-child(2){min-width:0;flex:1}.play-token-row strong{font-size:14px}.play-token-row small{display:block;font-size:10px;color:#9297a0;line-height:1.5;margin-top:3px}.play-token-stepper{display:flex;align-items:center;gap:6px}.play-token-stepper button{border:1px solid #dfe1e5;background:white;color:#766348;border-radius:7px;width:34px;height:36px;font-size:20px}.play-token-stepper button:disabled{color:#d3d1cd;border-color:#eeedea;background:#fafaf8}.play-token-stepper output{font-size:16px;min-width:18px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.play-workshop-footer{margin-top:22px;padding-top:18px;border-top:1px solid #edf0f3;display:flex;justify-content:space-between;align-items:center;gap:14px}.play-workshop-footer>span{font-size:11px;color:#8b919c}.play-party .cg-primary{background:#876a49;border-color:#876a49}.play-workshop fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.play-workshop legend{font-size:13px;font-weight:700;margin-bottom:12px}.play-name-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.play-name-options button{font-size:13px;padding:14px 8px;background:white;border:1px solid #e0e2e8;border-radius:8px;color:#666e78}.play-name-options button[aria-pressed=true],.play-emblem-options button[aria-pressed=true]{background:#faf4e9;border-color:#b29262;color:#755933;box-shadow:inset 0 0 0 1px #b29262}.play-emblem-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.play-emblem-options button{display:flex;align-items:center;flex-direction:column;gap:8px;padding:12px 6px;border:1px solid #e1e4e9;border-radius:8px;background:white;color:#8a7457}.play-emblem-options b{font-size:27px}.play-emblem-options small{font-size:10px}
.play-party-poster{position:relative;overflow:hidden;max-width:450px;margin:auto;background:#f5efe3;border:1px solid #d6c4a7;padding:30px 26px;color:#483b2c;text-align:center;box-shadow:6px 7px 0 #eee8de}.play-party-poster:before{content:"";position:absolute;inset:9px;border:1px solid #d3bea0;pointer-events:none}.play-poster-edition{position:relative;font-size:9px;letter-spacing:.12em;color:#9b835d}.play-party-emblem{display:block;font-size:64px;line-height:1.4;color:#ad874d;margin:18px auto 12px}.play-party-poster h2{font-size:35px!important;font-weight:850;letter-spacing:-.06em;margin:0!important;line-height:1.3!important}.play-party-poster>p{font-size:12px!important;color:#998a76!important;margin:10px 0 24px!important}.play-poster-priorities{border-top:1px solid #d8c9af;border-bottom:1px solid #d8c9af;text-align:left;min-height:132px}.play-poster-priorities>div{display:flex;align-items:center;gap:12px;padding:13px 3px}.play-poster-priorities>div+div{border-top:1px solid #e1d5bf}.play-poster-priorities b{color:#b19a71;font-size:11px}.play-poster-priorities>div>span{flex:1;font-size:16px;font-weight:700}.play-poster-priorities strong{font-size:16px}.play-poster-priorities small{font-size:9px;font-weight:400;margin-left:4px;color:#9a8c76}.play-poster-empty{display:block;text-align:center;padding:40px 8px;color:#b0a28d;font-size:12px}.play-poster-sign{display:block;font-size:9px;color:#ab9a80;margin:22px 0 0}.play-party-poster.compact{padding:24px 22px}.play-party-poster.compact h2{font-size:28px!important}.play-party-poster.compact .play-party-emblem{font-size:48px;margin:12px auto 8px}.play-party-poster.compact .play-poster-priorities>div{padding:11px 3px}
.cg-result733{max-width:760px;margin:auto}.cg-result733>header{animation:play-reveal .7s ease-out}.cg-result733 .play-party-poster{margin-bottom:30px}.cg-result-detail{border-top:1px solid #eceef2;padding:17px 0;color:#646975;font-size:13px}.cg-result-detail>summary{cursor:pointer;font-weight:600}.cg-result-detail .cg-ranking{margin-bottom:0}.cg-result733 .cg-reasons{margin:24px 0}.cg-result733 .cg-reasons article{padding:14px 0}.cg-result733 .cg-reasons h3{font-size:15px}.cg-result733 .cg-reasons p{font-size:13px}.cg-result733 .cg-actions{margin-top:16px}.cg-result733 .cg-summary{background:#f5f5f8;font-size:13px}.cg-result733 .cg-actions>[data-game-share]{background:#fee500;border-color:#fee500;color:#1e1c13}.cg-achievement{background:#faf9f7;border-color:#e3ded4}.cg-achievement .jcs-game-badge{animation:play-badge-unlock .85s ease-out}.cg-result-portraits{display:flex;justify-content:center;gap:12px;margin:0 auto 18px;flex-wrap:wrap}.cg-result-portraits img{width:108px;height:130px;object-fit:cover;object-position:top;border:1px solid #e0dce7;border-radius:12px;background:#f3f0f7}.cg-result-portraits>figure{margin:0}.cg-result-portraits figcaption{font-size:12px;color:#81788b;margin-top:6px}
.cg-intro{padding:30px;max-width:660px;border-radius:14px}.cg-intro>.cg-icon{height:116px;width:116px;margin-bottom:18px}.cg-intro h1{font-size:29px;margin:12px 0}.cg-intro>p{font-size:14px}.cg-intro-badge{background:#f7f6f3;margin:20px 0}.cg-game-card{border-radius:12px}.cg-collection-callout{background:#f7f6f3}.cg-page[data-view=party]{max-width:1000px}
@keyframes play-reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes play-badge-unlock{0%{opacity:0;transform:scale(.6) rotate(-12deg)}70%{opacity:1;transform:scale(1.08) rotate(3deg)}100%{transform:scale(1) rotate(0)}}@keyframes play-feedback-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.cg-page{padding:16px 12px 36px}.play-stage{padding:17px 16px;border-radius:12px}.play-top{gap:8px;font-size:10px}.play-top>b{font-size:16px}.play-rounds{margin:12px 0 16px}.play-scene-title{margin:14px auto 17px}.play-scene-title h1{font-size:23px}.play-scene-title p{font-size:12px}.play-match-cards{gap:12px;padding:6px 0 12px}.play-proposal{min-height:260px;padding:15px 13px;gap:16px;border-radius:11px}.play-proposal>strong{font-size:14px;line-height:1.75}.play-card-top{font-size:10px}.play-card-top i{font-size:19px}.play-card-pick{font-size:10px}.play-versus{width:27px;height:27px;font-size:8px}.play-card-stack{gap:4px;margin:12px 0}.play-card-stack>span{width:22px;height:29px}.play-card-stack small{font-size:9px;margin-left:6px}.play-bottom>span{font-size:9px}.play-bottom{margin-top:12px;padding-top:10px}.play-stage [data-game-state]{font-size:12px}.play-budget strong{font-size:24px}.play-desk-heading .cg-eyebrow{font-size:9px}.play-city{max-height:115px}.play-previous-effect{font-size:11px;padding:8px 10px}.play-president .play-scene-title h1{font-size:21px}.play-president .play-scene-title p{font-size:12px}.play-decisions>button{padding:10px 12px}.play-decisions strong{font-size:13px}.play-decisions>button>b{font-size:18px}.play-workshop{grid-template-columns:1fr;gap:18px}.play-workshop .play-poster-preview{display:none}.play-party:has([data-party-finish]) .play-workshop .play-poster-preview{display:block}.play-party:has([data-party-finish]) .play-workshop{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.play-party:has([data-party-finish]) .play-name-options{grid-template-columns:1fr}.play-party:has([data-party-finish]) .play-name-options button{padding:10px 5px;font-size:12px}.play-party:has([data-party-finish]) .play-emblem-options{grid-template-columns:1fr 1fr}.play-party:has([data-party-finish]) .play-party-poster.compact{padding:20px 13px}.play-party:has([data-party-finish]) .play-party-poster.compact h2{font-size:22px!important}.play-party:has([data-party-finish]) .play-poster-edition{font-size:7px;letter-spacing:0}.play-party:has([data-party-finish]) .play-poster-priorities>div{gap:5px}.play-party:has([data-party-finish]) .play-poster-priorities>div>span{font-size:12px}.play-party:has([data-party-finish]) .play-poster-priorities strong{font-size:13px}.play-party:has([data-party-finish]) .play-poster-priorities small{font-size:8px}.play-party:has([data-party-finish]) .play-poster-sign{font-size:8px}.play-token-row{padding:9px 0}.play-token-row small{font-size:10px}.play-token-stepper button{width:36px;height:36px}.play-workshop-footer{margin-top:16px;gap:10px}.play-workshop-footer>span{max-width:120px;font-size:10px}.play-workshop-footer .cg-primary{padding:10px 13px;font-size:13px}.cg-intro{padding:26px 18px}.cg-intro h1{font-size:26px}.cg-result-portraits img{width:84px;height:105px}.cg-result733 h1{font-size:27px}.cg-result733 .cg-result-detail{font-size:12px}.cg-result733 .cg-summary{font-size:12px}}
@media(max-width:360px){.play-stage{padding:14px 12px}.play-proposal{padding:12px 10px}.play-proposal>strong{font-size:13px}.play-bottom>span{max-width:150px;text-align:right}.play-token-row small{display:none}.play-party:has([data-party-finish]) .play-workshop{grid-template-columns:1fr}.play-party:has([data-party-finish]) .play-name-options{grid-template-columns:1fr 1fr}.play-party:has([data-party-finish]) .play-emblem-options{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){.play-stage *,.cg-result733 *,.cg-achievement *{animation:none!important;transition:none!important}}

.play-city{max-height:144px}.cg-result733{display:flex;flex-direction:column}.cg-result733>header{order:0}.cg-result733>.cg-actions{order:1}.cg-result733>.cg-achievement{order:2;margin:20px 0}.cg-result733>[data-game-state]{order:3}.cg-result733>.cg-reasons{order:4}.cg-result733>.cg-result-detail,.cg-result733>.cg-all-choices{order:5}@media(max-width:640px){.play-city{max-height:115px}}
