:root{font-family:Inter,"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#222536;background:#f5f6fa;font-synthesis:none;--accent:#5145e5;--muted:#62677b;--line:#e5e7ef}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #7660d5;outline-offset:4px}a{color:var(--accent);text-underline-offset:4px}[hidden]{display:none!important}.app-shell{max-width:1040px;margin:0 auto;padding:0 40px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:24px;font-weight:800;letter-spacing:-1px;color:#292940}.brand-symbol{width:36px;height:36px;border-radius:11px;background:var(--accent);color:white;display:grid;place-items:center;font-size:23px}.domain{color:#777b90;font-size:18px;font-weight:500}.header-actions{display:flex;align-items:center;gap:20px;font-size:.875rem}.header-actions>a{display:inline-flex;align-items:center;min-height:44px}.language-control select{font:inherit;font-size:.875rem;color:#43475e;background:#fff;border:1px solid #d6d7e2;border-radius:8px;padding:10px;min-height:44px}main{padding:28px 0 0;outline:none}.eyebrow{font-size:.75rem;letter-spacing:1.8px;font-weight:600;color:#6f7288}h1{font-size:2rem;letter-spacing:-.8px;line-height:1.3;margin:10px 0;font-weight:750}.card{background:white;border:1px solid var(--line);border-radius:14px}.primary-button,.secondary-button{border:0;border-radius:8px;padding:12px 18px;background:var(--accent);color:white;font-size:.925rem;min-height:44px}.primary-button:hover{background:#4136cb}.secondary-button{border:1px solid #dcdfec;background:white;color:#535870}.text-button{font-size:.875rem;color:#5145b4;border:0;background:none;padding:8px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:15px;top:-80px;background:white;padding:12px;z-index:20}.skip:focus{top:15px}.legacy-notice{max-width:880px;margin:0 auto 18px;border-left:3px solid var(--accent);padding:10px 14px;background:#eeebff;font-size:.875rem;line-height:1.6}.game-utility{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;font-size:.8125rem;color:var(--muted)}.link-fallback{padding:16px;background:#efecff;border-radius:10px;margin-top:8px}.link-fallback label{display:block;font-weight:600;font-size:.875rem;margin-bottom:8px}.link-fallback input{width:100%;min-width:0;font:inherit;padding:10px;border:1px solid #aca2d6;border-radius:6px;background:white;color:#30344a}.link-fallback p,.link-status{font-size:.875rem;line-height:1.7;color:#555b72;overflow-wrap:anywhere}.link-status:empty{display:none}.feedback-card{max-width:880px;margin:16px auto 0;padding:18px 22px;line-height:1.75;overflow-wrap:anywhere}.feedback-card summary{cursor:pointer;font-size:.925rem;font-weight:650;min-height:44px;align-content:center}.feedback-card h2{font-size:1.25rem;margin:18px 0 10px}.feedback-card h3{font-size:1rem;margin:26px 0 10px}.feedback-card p,.feedback-card label{font-size:.925rem;color:#535971}.feedback-card label{display:block;font-weight:600;margin:16px 0 8px}.feedback-card textarea{display:block;width:100%;resize:vertical;min-height:130px;max-height:500px;border:1px solid #a5a7bb;border-radius:8px;padding:12px;background:#fff;color:#292d42;font:inherit;font-size:1rem;line-height:1.7}.feedback-card textarea:read-only{background:#f4f3fa}.feedback-card #feedback-count,.feedback-card #feedback-disclosure{font-size:.875rem}.feedback-card #feedback-status:empty,.feedback-card #feedback-error:empty{display:none}.feedback-card #feedback-error{color:#a52337}.feedback-card textarea[aria-invalid="true"]{border-color:#a52337}.feedback-card button:disabled{opacity:.65;cursor:default}footer{max-width:880px;margin:24px auto 0;padding:22px 0 28px;display:flex;gap:18px;justify-content:space-between;border-top:1px solid var(--line);font-size:.75rem;color:#65697e;line-height:1.7}
.game-panel{max-width:880px;margin:0 auto;scroll-margin-top:20px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.game-heading h1{margin-bottom:8px}.game-model-tag{font-size:.8125rem;color:#6658a1;background:#efecff;border-radius:20px;padding:8px 12px}.game-rule{font-size:1rem;line-height:1.7;color:#575b70;margin:8px 0 20px}.game-board{padding:24px 30px}.game-score{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;text-align:center;align-items:center}.game-score>div{display:flex;flex-direction:column;gap:4px}.game-score>div>span{font-size:.875rem;color:#61677b}.game-score strong{font-size:3rem;line-height:1.2;color:#3e337e}.game-score .game-progress{gap:10px}.game-score .game-progress>span:last-child{font-size:.8125rem;letter-spacing:3px;color:#8b879d}.game-commit-status{text-align:center;color:#655c81;font-size:.875rem;margin:20px 0 14px}.game-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.game-choice{min-width:0;min-height:146px;border:1px solid #d9d5eb;border-radius:14px;background:#faf9ff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#332c58;transition:background .12s,border-color .12s}.game-choice:hover:not(:disabled){background:#ece8ff;border-color:#9687e8}.game-choice:active:not(:disabled){background:#dfd8ff}.game-choice:disabled{cursor:default;opacity:.48}.game-gesture{font-size:2.7rem;line-height:1.15}.game-choice strong{font-size:1.05rem}.game-choice kbd{font:inherit;font-size:.75rem;color:#777088;border:1px solid #d6d2e0;border-radius:4px;min-width:23px;padding:2px 5px}.game-key-help{text-align:center;font-size:.8125rem;color:#6b657b;margin:14px 0 20px}.game-reveal{border-radius:12px;background:#f3f1fb;padding:20px;min-height:130px;text-align:center}.game-reveal h2{margin:0;font-size:1.2rem;line-height:1.45;color:#403570}.game-reveal p{margin:8px 0 0;font-size:.9rem;line-height:1.6;color:#615974}.game-reveal[data-outcome="human"]{background:#e8f7ef}.game-reveal[data-outcome="human"] h2{color:#215e44}.game-reveal[data-outcome="machine"]{background:#f9eded}.game-reveal[data-outcome="machine"] h2{color:#863a45}.game-reset-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.game-reset-row>span{font-size:.875rem;color:#6b657b}.game-reset-row button{min-height:48px}.game-explainer,.game-history-card{padding:18px 22px;margin-top:16px}.game-explainer summary,.game-history-card summary{font-size:.925rem;font-weight:650;cursor:pointer;min-height:28px;line-height:1.7}.game-explainer p,.game-history p{font-size:.875rem;line-height:1.8;color:#656075}.game-history{padding-left:23px;margin-bottom:0}.game-history li{padding:12px 0;border-bottom:1px solid var(--line)}.game-history li:last-child{border-bottom:0}.game-history strong{font-size:.9rem;line-height:1.7}.game-history p{margin:5px 0}.game-panel button:focus-visible,.game-panel summary:focus-visible{outline:3px solid #7660d5;outline-offset:4px}
@media(max-width:720px){.game-board{padding:20px 16px}.game-model-tag{display:none}.game-heading h1{font-size:1.7rem}.game-rule{font-size:.925rem}.game-choices{gap:9px}.game-choice{min-height:128px;gap:8px}.game-gesture{font-size:2.3rem}.game-choice strong{font-size:1rem}.game-score strong{font-size:2.5rem}.game-key-help{font-size:.75rem;line-height:1.65}.game-reveal{padding:18px 12px}.game-reveal h2{font-size:1.1rem}.game-reset-row{align-items:center}.game-reset-row button{font-size:.85rem;padding-left:12px;padding-right:12px}.game-explainer,.game-history-card{padding:16px}.game-panel{scroll-margin-top:16px}}
@media(max-width:360px){.game-board{padding:18px 12px}.game-choice{min-height:120px}.game-choice strong{font-size:.875rem}.game-reveal h2{font-size:1rem}.game-commit-status{font-size:.8125rem}.game-score .game-progress>span{font-size:.8125rem}.game-reset-row{flex-wrap:wrap}.game-reset-row button{width:100%}}

.game-explainer summary,.game-history-card summary{min-height:44px;align-content:center}.game-board{padding:20px 28px}.game-choice{min-height:124px}.game-reveal{min-height:110px;padding:16px}.game-commit-status{margin-top:14px}.game-key-help{margin-bottom:16px}.game-reset-row{margin-top:16px}@media(max-width:720px){.app-shell{padding:0 20px}.site-header{padding:14px 0;gap:10px}.header-actions{gap:12px}main{padding-top:24px}.game-board{padding:18px 16px}.game-choice{min-height:114px}.feedback-card{padding:16px}.game-reveal{min-height:112px}.game-model-tag{display:none}}@media(max-width:400px){.app-shell{padding:0 14px}.brand{font-size:21px;gap:7px}.brand-symbol{width:30px;height:32px;font-size:20px}.domain{font-size:16px}.header-actions{gap:8px;font-size:.8125rem}.language-control select{max-width:100px;padding:8px;font-size:.8125rem}.game-board{padding:16px 12px}.game-choice{min-height:108px}.game-utility{gap:8px;font-size:.75rem}footer{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* The existing purple game surface expands into a small shared break room. */
.arena-navigation{display:flex;gap:8px;margin:0 0 18px;padding:5px;background:#ece9fa;border-radius:12px}.arena-navigation button{flex:1;min-height:44px;border:0;border-radius:8px;background:transparent;color:#625c78;font-size:.9375rem;font-weight:600;padding:9px}.arena-navigation button[aria-pressed=true]{background:#fff;color:#44348f;box-shadow:0 1px 4px #30215112}.arena-entry{padding:24px 28px}.arena-entry h2{font-size:1.25rem;margin:0 0 10px}.arena-entry p,.check-line{font-size:1rem;line-height:1.7}.entry-choices{display:flex;gap:10px;margin:14px 0}.entry-choices button{min-height:48px;flex:1;border:1px solid #c6bfdf;border-radius:9px;background:#faf9ff;color:#3e337e}.entry-choices button[aria-pressed=true]{background:#ebe5ff;border:2px solid #7054cf}.check-line{display:flex;gap:12px;align-items:flex-start;margin:18px 0;color:#514b65}.check-line input{flex:none;width:20px;height:20px;margin:4px 0;accent-color:#6450ca}.arena-entry .primary-button{width:100%;min-height:50px}.arena-entry button:disabled{opacity:.55;cursor:default}.qa-option{margin-top:14px;font-size:.875rem;color:#726a86}.qa-option summary{min-height:36px;cursor:pointer;align-content:center}.minor{font-size:.875rem!important;color:#6c647e;line-height:1.7}.role-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.role-line strong{font-size:1rem;color:#53448b}.role-line .minor{width:100%;font-size:.8125rem!important;overflow-wrap:anywhere}.arena-status{font-size:.9375rem;color:#665680;line-height:1.7}.arena-status:empty{display:none}.commitment-details{margin-top:18px;color:#6c647e;font-size:.875rem}.commitment-details summary,.game-history summary{cursor:pointer;min-height:36px;align-content:center}.commitment-details code,.game-history code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,SFMono-Regular,monospace;margin-top:10px;background:#f4f2fa;padding:10px;border-radius:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:1.3rem;margin:8px 0}.section-heading .text-button{flex:none;min-height:44px}.watch-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.watch-role{padding:18px;text-align:left;border:1px solid #dfd9ef;border-radius:12px;background:#fff;min-width:0;line-height:1.6;color:#504565}.watch-role strong{display:block;font-size:1rem;overflow-wrap:anywhere}.watch-role span{display:block;font-size:.875rem;color:#746c82;margin-top:5px}.watch-role:hover{border-color:#8e7dc9;background:#faf8ff}#watch-replay{padding:20px}#watch-replay h3{margin-top:0;overflow-wrap:anywhere}#watch-status,#boards-status{font-size:.875rem;line-height:1.7;color:#736a85}.leaderboards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.leaderboards .card{padding:18px 16px}.leaderboards h3{font-size:1rem;margin:0 0 14px}.leaderboards ol{padding-left:20px;margin:0}.leaderboards li{padding:10px 0;font-size:.875rem;overflow-wrap:anywhere;border-bottom:1px solid #eeeaf7}.leaderboards li:last-child{border:0}.leaderboards strong{font-size:.875rem}.leaderboards p{font-size:.875rem;line-height:1.6;color:#746b85;margin:6px 0}.game-explainer p{font-size:.9375rem}.game-key-help{font-size:.875rem}.game-history-card{margin-top:16px}button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #7760d4;outline-offset:3px}
@media(max-width:720px){.arena-entry{padding:20px 18px}.arena-entry p,.check-line{font-size:.9375rem}.leaderboards{grid-template-columns:1fr}.watch-list{grid-template-columns:1fr}.arena-navigation button{font-size:.875rem}.section-heading h2{font-size:1.15rem}.game-key-help{font-size:.875rem}.game-reset-row{flex-wrap:wrap}.leaderboards .card{padding:20px}.leaderboards h3{font-size:1.1rem}.role-line .minor{font-size:.8125rem!important}}
.invitation-copy{background:#f4f1fd;border-left:3px solid #8b74d0;padding:14px 16px;user-select:text;overflow-wrap:anywhere}
@media(max-width:400px){.site-header{flex-wrap:wrap}.header-actions{margin-left:auto}.arena-navigation button{min-width:0;overflow-wrap:anywhere}.section-heading{flex-wrap:wrap}}
.nickname-input{display:block;width:100%;font:inherit;font-size:1rem;padding:12px;border:1px solid #aaa1c8;border-radius:8px;margin:8px 0;background:#fff;color:#302447}.arena-entry>label{font-size:.9375rem;font-weight:600}.question-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.question-heading strong{font-size:1rem}.question-code{font:1rem/1.6 ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f2effb;border:1px solid #e4def4;border-radius:8px;padding:16px}.entry-choices button{font-family:ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;min-width:0}@media(max-width:400px){.question-heading{flex-wrap:wrap}}
/* The public guide is readable without JavaScript, in both languages. */
.guide-main{max-width:780px;margin:0 auto;padding-top:38px;line-height:1.8;overflow-wrap:anywhere}.guide-main h1{font-size:2.4rem;line-height:1.2;margin:12px 0 16px}.guide-intro{font-size:1.1rem;color:#575b70;max-width:65ch}.guide-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin:24px 0}.guide-actions .primary-button{display:inline-flex;align-items:center;text-decoration:none;font-weight:600}.guide-notice{border-left:3px solid #8b74d0;background:#efecff;padding:16px 20px;font-size:.9375rem;color:#514565}.guide-section{padding:28px 0 16px;scroll-margin-top:20px}.guide-section+.guide-section{border-top:1px solid var(--line);margin-top:28px}.guide-section h2{font-size:1.7rem;line-height:1.3;margin:8px 0 24px;color:#373047}.guide-section h3{font-size:1.125rem;line-height:1.5;margin:28px 0 10px}.guide-section p{margin:10px 0 18px}.guide-steps,.guide-facts{padding-left:24px}.guide-steps li,.guide-facts li{padding-left:5px;margin:16px 0;color:#55556b}.guide-steps strong{color:#383346}.guide-task-label{display:block;font-weight:650;margin:20px 0 10px}.guide-task{display:block;width:100%;min-width:0;resize:vertical;padding:16px;border:1px solid #c6bfdf;border-radius:10px;background:#fff;color:#393148;font:inherit;font-size:.9375rem;line-height:1.8;min-height:240px}.guide-copy{margin-top:14px;min-height:48px}.guide-copy-status{min-height:26px}.guide-page footer{max-width:780px}.guide-languages{flex-wrap:wrap}.guide-languages a{min-height:44px}@media(max-width:720px){.guide-main{padding-top:28px}.guide-main h1{font-size:2rem}.guide-intro{font-size:1rem}.guide-section h2{font-size:1.5rem}.guide-section{padding-top:24px}.guide-task{padding:12px}.guide-notice{padding:14px 16px}.guide-actions .primary-button{font-size:.875rem}}@media(max-width:400px){.guide-main h1{font-size:1.8rem}.guide-section h2{font-size:1.4rem}.guide-actions{align-items:stretch;flex-direction:column}.guide-actions .primary-button{justify-content:center}.guide-copy{width:100%}.guide-task{font-size:.875rem}}

@media(max-width:720px){.site-header{flex-wrap:wrap}.header-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}}
/* Entry readiness stays beside the form; blocked joins explain the next action. */
.arena-entry .entry-progress{margin:0 0 18px;padding:10px 12px;border-left:3px solid #8b74d0;background:#f4f1fd;border-radius:4px;font-size:.9375rem;color:#4c416a;overflow-wrap:anywhere}.entry-error{color:#a52337;overflow-wrap:anywhere}.entry-error:empty{display:none}.nickname-input[aria-invalid="true"]{border-color:#a52337}.arena-entry input,.arena-entry button,.entry-progress{scroll-margin:24px}#arena-status{scroll-margin:24px}

.replay-share{border-top:1px solid var(--line);margin-top:18px;padding-top:18px;min-width:0}.replay-share button{min-height:44px;max-width:100%;overflow-wrap:anywhere}.replay-share p{margin:8px 0;overflow-wrap:anywhere}.replay-share .link-fallback{margin-top:12px}

/* One answer-first reference; all selector changes stay on the equality page. */
.equality-break-entry{font-size:.875rem;color:#625970;padding:12px 16px;border-left:2px solid #d6cee7;background:#f1eef7;line-height:1.8}.equality-break-entry a{display:inline-block;padding:6px 0}
.equality-main{max-width:880px;font-size:1rem}.equality-main h1{font-size:2rem}.equality-main h1 span{font-size:1.5rem;font-weight:600}.equality-answer{border-left:3px solid var(--accent);padding:12px 18px;background:#efecff}.equality-main code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9375em}.equality-table-scroll{max-width:100%;overflow-x:auto;margin-top:24px;border:1px solid #d6d2e6;border-radius:10px;background:white}.equality-table{border-collapse:collapse;width:100%;min-width:660px;text-align:left;font-size:.9375rem}.equality-table caption{text-align:left;padding:12px 16px;color:#535870;font-size:.875rem}.equality-table th,.equality-table td{padding:12px 14px;border-top:1px solid #e5e7ef}.equality-table thead{background:#eeeafa}.equality-table thead th{font-size:.875rem}.equality-table tbody th{font-weight:500}.equality-table tbody tr:nth-child(even){background:#faf9fd}.equality-table td{font-family:ui-monospace,SFMono-Regular,monospace}.equality-fixture{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem;line-height:1.65;white-space:pre;overflow:auto;min-height:360px}.equality-notes{padding-left:24px}.equality-notes li{padding-left:4px;margin-bottom:18px}.equality-notes span{display:block}.equality-sources{padding-left:22px}.equality-sources li{margin:12px 0}.equality-break{margin:24px 0;padding:22px;border:1px solid #ddd6ec;border-radius:12px;background:#fff}.equality-break h2{font-size:1.25rem;margin:0}.equality-break p{font-size:1rem}.equality-page footer{max-width:880px;font-size:.875rem}@media(max-width:720px){.equality-main h1{font-size:1.8rem}.equality-main h1 span{font-size:1.3rem}.equality-table th,.equality-table td{padding:10px 12px}.equality-break{padding:18px}.equality-fixture{font-size:1rem}}

/* Compact revealed-only comparison; full history and proofs stay unchanged. */
.recent-hands{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line)}.recent-hands h3{margin:0 0 10px;font-size:1rem;line-height:1.5;color:#403570}.recent-hands table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:.875rem;line-height:1.5}.recent-hands th,.recent-hands td{padding:7px 6px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;vertical-align:top}.recent-hands thead th{font-weight:600;color:#625974}.recent-hands th:first-child{width:16%;padding-left:0}.recent-hands td{color:#403952}.recent-hands p{margin:10px 0 0}.recent-hands[hidden]{display:none}

#practice-title{margin:0 0 8px;font-size:1.3rem}.practice-intro{margin:0 0 8px;line-height:1.6}#practice-reveal h3{margin:0;font-size:1.2rem;line-height:1.45;color:#403570}#practice-reveal[data-outcome="human"] h3{color:#215e44}#practice-reveal[data-outcome="machine"] h3{color:#863a45}#arena-practice .game-reset-row{flex-wrap:wrap}@media(max-width:600px){.arena-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.arena-navigation button{min-width:0}#practice-reveal h3{font-size:1.1rem}}
/* Two-seat mode shares the existing quiet game surface. */
.duel-page{max-width:880px;margin:auto}.duel-page .card{padding:clamp(18px,4vw,32px);margin:20px 0}.duel-page h1{font-size:clamp(2.2rem,7vw,4rem)}.duel-page input[type=text],.duel-page input:not([type]){width:100%;max-width:100%;min-width:0;padding:12px;border:1px solid var(--border,#ccc);border-radius:8px}.duel-page label{display:block;margin:14px 0}.duel-page input[type=checkbox]{margin-right:8px}.duel-page button{margin:5px 6px 5px 0}.duel-page pre{white-space:pre-wrap;overflow-wrap:anywhere}.duel-score{font-size:clamp(1.5rem,5vw,2.2rem);font-weight:700}.duel-share{margin-top:20px}.duel-page #duel-pair,.duel-page #duel-expiry{overflow-wrap:anywhere}.duel-page .entry-options{display:flex;flex-wrap:wrap;gap:8px}.duel-page .entry-options button[aria-pressed=true]{outline:3px solid #447346}.duel-page .game-moves button{min-height:54px;min-width:84px}.duel-page [hidden]{display:none!important}

/* A single settled result stays close to the next choice, without replay scrolling. */
.duel-latest{margin:18px 0;padding:16px 18px;border-left:3px solid #8b74d0;border-radius:8px;background:#f4f1fd;overflow-wrap:anywhere}.duel-latest h3{margin:0 0 10px;font-size:.9375rem;line-height:1.5;color:#625974}.duel-latest p{margin:6px 0;line-height:1.6}.duel-latest #duel-latest-result{font-size:1.2rem;font-weight:700;color:#403570}

/* Rule authoring stays beside its execution, with a single-column narrow view. */
.workshop-main{max-width:1000px;margin:auto;line-height:1.65;overflow-wrap:anywhere}.workshop-main h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;margin:10px 0 12px}.workshop-intro{margin:0 0 24px;font-size:1rem;max-width:65ch}.workshop-grid{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,1.7fr);gap:20px;align-items:start}.workshop-grid .card{padding:24px;min-width:0}.workshop-main h2{font-size:1.2rem;line-height:1.4;margin:0 0 12px}.workshop-main h3{font-size:1rem;margin:0 0 8px}.workshop-policy label{display:block;font-size:1rem;font-weight:600;margin:14px 0 6px}.workshop-policy select{width:100%;min-width:0;padding:10px 12px;border:1px solid #aaa1c8;border-radius:8px;font:inherit;background:white;color:#302447}.workshop-main .minor{font-size:.875rem!important;line-height:1.65}.workshop-main button{min-height:46px;max-width:100%;font-size:.9375rem;overflow-wrap:anywhere;white-space:normal}.workshop-policy button{width:100%}.workshop-score{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0;background:#f4f1fd;border-radius:10px;padding:16px 10px;text-align:center}.workshop-score span{display:block;font-size:.875rem;color:#625974}.workshop-score strong{font-size:2rem;color:#403570}.workshop-actions{display:flex;flex-wrap:wrap;gap:10px}.workshop-status{font-size:1rem;line-height:1.6;margin:18px 0 10px;color:#403570}.workshop-latest{font-size:1rem;border-left:3px solid #8b74d0;padding-left:14px}.workshop-latest:empty{display:none}.workshop-previous{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.workshop-previous p{margin:8px 0}.workshop-ledger{border-top:1px solid var(--line);margin-top:22px;padding-top:12px}.workshop-ledger summary{cursor:pointer;min-height:44px;align-content:center;font-size:.9375rem}.workshop-ledger ol{padding-left:24px;margin-bottom:0}.workshop-ledger li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.workshop-notes{max-width:78ch;margin:24px 0;font-size:.9375rem;color:#625974}.workshop-main [hidden]{display:none!important}.workshop-main select:focus-visible{outline:3px solid #7760d4;outline-offset:3px}.workshop-run .section-heading{flex-wrap:wrap}.workshop-run .section-heading h2{margin:0}.workshop-run .section-heading span{white-space:nowrap}@media(max-width:720px){.workshop-grid{grid-template-columns:minmax(0,1fr)}.workshop-grid .card{padding:20px}.workshop-policy label{margin-top:12px}.workshop-score{margin-top:18px}.workshop-actions button{flex:1 1 140px}}@media(max-width:400px){.workshop-grid .card{padding:16px}.workshop-main h1{font-size:1.8rem}.workshop-actions{flex-direction:column}.workshop-actions button{flex:auto;width:100%}}

/* Optional visitor note keeps the existing quiet card layout. */
.visitor-note-main{max-width:720px;margin:0 auto;font-size:1rem;line-height:1.65}.visitor-note-form{padding:24px}.visitor-note-form>label:not(.consent){display:block;font-weight:600;margin-top:16px}.visitor-note-form>label:first-child{margin-top:0}.visitor-note-form>select{width:100%;min-height:44px;margin:6px 0 10px;padding:10px;border:1px solid #c9ccdc;border-radius:8px;background:#fff;color:inherit;font:inherit}.visitor-note-form .consent{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0}.visitor-note-form .consent input{flex:none;width:20px;height:20px;margin-top:4px}.visitor-note-actions{display:flex;gap:12px;flex-wrap:wrap}.visitor-note-form button:disabled{opacity:.55;cursor:default}.visitor-note-form .minor{font-size:.875rem;line-height:1.65}#note-error{color:#a32532}#note-status{min-height:1.65em}@media(max-width:600px){.visitor-note-form{padding:18px}.visitor-note-main h1{font-size:1.65rem}.visitor-note-actions>*{width:100%}}

/* Portable rule cards are explicit, local text, kept below the play controls. */
.workshop-transfer{margin-top:20px;padding:24px;max-width:100%;min-width:0}.workshop-transfer label{display:block;font-size:1rem;font-weight:600;margin:16px 0 6px}.workshop-transfer textarea{display:block;width:100%;max-width:100%;min-width:0;resize:vertical;padding:12px;border:1px solid #aaa1c8;border-radius:8px;background:#fff;color:#302447;font:1rem/1.6 ui-monospace,SFMono-Regular,monospace;margin:8px 0 14px}.workshop-transfer textarea[readonly]{background:#f8f6fe}.workshop-transfer textarea:focus-visible{outline:3px solid #7760d4;outline-offset:3px}.workshop-card-restore{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}.workshop-card-restore summary{cursor:pointer;min-height:44px;align-content:center;font-size:1rem}#workshop-card-preview{padding:14px;border-left:3px solid #8b74d0;background:#f4f1fd;font-size:1rem}#workshop-card-status:empty{display:none}.workshop-transfer button:disabled{opacity:.55;cursor:default}@media(max-width:720px){.workshop-transfer{padding:20px}}@media(max-width:400px){.workshop-transfer{padding:16px}.workshop-transfer button{width:100%}}

/* Two rule cards face each other; the repeated transition stays visibly bounded. */
.match-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.match-card{padding:22px;min-width:0;border-top:3px solid #8b74d0}.match-card:last-child{border-top-color:#367c75}.match-card label{display:block;font-size:.875rem;color:#625974;margin:10px 0}.match-card textarea{display:block;width:100%;min-width:0;max-width:100%;resize:vertical;border:1px solid #aaa1c8;border-radius:8px;padding:12px;color:#302447;background:#fff;font:1rem/1.5 ui-monospace,SFMono-Regular,monospace}.match-card textarea:focus-visible{outline:3px solid #7760d4;outline-offset:3px}.match-preview{font-size:.9375rem;line-height:1.7;margin:14px 0 0}.match-preview:empty{display:none}.match-setup{margin:18px 0}.match-run{padding:24px}.match-run .section-heading{flex-wrap:wrap;gap:8px}.match-run .section-heading h2{margin:0}.match-hands{padding-left:24px;margin:18px 0 0}.match-hands li{padding:12px 10px;border-bottom:1px solid var(--line);font-size:.9375rem}.match-hands .match-repeat{background:#edf7f4;border-left:3px solid #367c75}.match-loop{margin-top:18px;padding:18px;background:#edf7f4;border:1px solid #acd0c6;border-radius:10px}.match-loop p{margin:10px 0 0}.matchup-page button:disabled{opacity:.55;cursor:default}@media(max-width:720px){.match-card-grid{grid-template-columns:minmax(0,1fr)}.match-card,.match-run{padding:18px}.match-card-grid{gap:14px}.match-setup button{flex:1 1 160px}}@media(max-width:400px){.match-card,.match-run{padding:16px}.match-setup button{flex:auto}}

/* A private deduction board: large code, compact inputs, persistent clue ledger. */
.puzzle-main{max-width:760px;margin:0 auto}.puzzle-board,.puzzle-ledger{padding:26px}.puzzle-board{border-top:4px solid #5145e5}.puzzle-board .section-heading{flex-wrap:wrap;gap:8px}.puzzle-board h2{font-size:1rem;margin:0;color:#625974}.puzzle-secret{font:700 3.5rem/1.25 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em;color:#403570;margin:20px 0 24px}.puzzle-digits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;padding:0;margin:24px 0 18px}.puzzle-digits legend{font-size:1rem;font-weight:650;padding:0;margin-bottom:14px}.puzzle-digits label{min-width:0;font-size:.875rem;font-weight:600}.puzzle-digits label span{display:block;margin-bottom:8px}.puzzle-digits select{width:100%;min-width:0;min-height:54px;border:1px solid #aaa1c8;border-radius:8px;background:#fff;color:#302447;padding:10px;font:600 1.35rem ui-monospace,SFMono-Regular,monospace}.puzzle-page button:disabled,.puzzle-digits select:disabled{opacity:.5;cursor:default}.puzzle-clue-key{margin-top:22px;padding-top:8px;border-top:1px solid var(--line);font-size:1rem;line-height:1.65}.puzzle-clue-key p{margin:12px 0 0}.puzzle-ledger{margin-top:20px}.puzzle-ledger h2{margin:0 0 12px;font-size:1.25rem}.puzzle-ledger ol{padding:0;margin:0;list-style:none}.puzzle-ledger li{display:grid;grid-template-columns:72px 84px minmax(0,1fr);align-items:center;gap:12px;border-top:1px solid var(--line);padding:16px 0;font-size:1rem;line-height:1.6}.puzzle-ledger strong{font:700 1.25rem ui-monospace,SFMono-Regular,monospace;color:#403570}.puzzle-row-number{font-size:.875rem;color:#625974}.puzzle-main .workshop-intro{max-width:60ch}.puzzle-main .workshop-status{min-height:3.2em}.puzzle-page .header-actions{flex-wrap:wrap;gap:14px}@media(max-width:600px){.puzzle-board,.puzzle-ledger{padding:18px}.puzzle-digits{gap:10px}.puzzle-secret{font-size:3rem}.puzzle-ledger li{grid-template-columns:68px minmax(0,1fr);gap:4px 10px}.puzzle-ledger li>span:last-child{grid-column:1/-1}.puzzle-page .site-header{align-items:flex-start}.puzzle-page .header-actions{justify-content:flex-end}}

/* Task-first static directory; scoped selectors leave existing game layouts intact. */
.engineering-main{max-width:1000px;font-size:1rem}.engineering-main h1{font-size:2rem}.engineering-main h1 span{font-size:1.4rem;font-weight:600}.engineering-section{scroll-margin-top:24px;margin:32px 0}.engineering-section>h2{font-size:1.5rem}.engineering-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.engineering-item{padding:24px;min-width:0;background:#fff;border:1px solid var(--line);border-top:3px solid #8b74d0;border-radius:10px;display:flex;flex-direction:column}.engineering-item h3{font-size:1.2rem;line-height:1.45;margin:0 0 10px;color:#373047}.engineering-type{font-size:.875rem;font-weight:650;color:#625974;margin:0 0 14px}.engineering-item dl{margin:0 0 18px;line-height:1.65}.engineering-item dt{font-size:.875rem;font-weight:700;margin:12px 0 3px}.engineering-item dt:first-child{margin-top:0}.engineering-item dd{margin:0;font-size:1rem}.engineering-repo{display:block;margin-top:auto;min-height:44px;line-height:1.6;font-weight:650;overflow-wrap:anywhere}.engineering-repo span{display:block;font-size:.875rem;font-weight:400}.engineering-note p{margin:0 0 16px}.engineering-note p:last-child{margin-bottom:0}.engineering-page footer{max-width:1000px;gap:18px;flex-wrap:wrap}.engineering-main a:focus-visible{outline:3px solid #7760d4;outline-offset:4px;border-radius:2px}@media(max-width:720px){.engineering-list{grid-template-columns:minmax(0,1fr)}.engineering-item{padding:20px}.engineering-main h1{font-size:1.8rem}.engineering-main h1 span{font-size:1.25rem}.engineering-page .site-header{align-items:flex-start}}

/* A fixed public worked recipe; no client-side processing or new data collection. */
.recipe-main{max-width:860px;font-size:1rem;line-height:1.7}.recipe-main h1{font-size:2rem;line-height:1.35}.recipe-main h1 span{font-size:1.4rem;font-weight:600}.recipe-download,.recipe-entry{padding:24px;background:#fff;border:1px solid var(--line);border-top:3px solid #8b74d0;border-radius:10px;margin:24px 0}.recipe-date{margin:0;color:#625974;font-weight:600}.recipe-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.recipe-counts dt{font-size:.875rem;line-height:1.5;color:#625974}.recipe-counts dd{font-size:1.8rem;font-weight:700;margin:4px 0;color:#373047}.recipe-download-link{display:inline-block;min-height:44px;padding:10px 16px;border-radius:8px;background:#5145e5;color:#fff;font-weight:650;text-decoration:none;line-height:1.55}.recipe-download-link:hover{background:#4035c3;color:#fff}.recipe-download>p:not(.recipe-date){font-size:.875rem;margin:14px 0}.recipe-hash summary{cursor:pointer;min-height:44px;align-content:center}.recipe-hash code,.recipe-sources code{overflow-wrap:anywhere}.recipe-section{margin:36px 0;scroll-margin-top:24px}.recipe-section h2{font-size:1.5rem;line-height:1.4}.recipe-section h3{font-size:1.125rem;margin:24px 0 10px}.recipe-section p{margin:12px 0}.recipe-section li{margin:8px 0}.recipe-section pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.9375rem;line-height:1.7}.recipe-main code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.9em}.recipe-page footer{max-width:860px;flex-wrap:wrap;gap:18px}.recipe-main a:focus-visible,.recipe-main summary:focus-visible{outline:3px solid #7760d4;outline-offset:4px;border-radius:2px}.recipe-entry h2{font-size:1.25rem;line-height:1.5;margin:0 0 12px}.recipe-entry h2 span{font-size:1.1rem}.recipe-entry p{line-height:1.7}.recipe-entry>a{display:inline-block;min-height:44px;line-height:1.6;font-weight:650}.recipe-sources li{overflow-wrap:anywhere}@media(max-width:600px){.recipe-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-download,.recipe-entry{padding:18px}.recipe-main h1{font-size:1.75rem}.recipe-main h1 span{font-size:1.25rem}.recipe-page .site-header{align-items:flex-start}.recipe-download-link{display:block}.recipe-section pre{padding:14px}}

.puzzle-resume label{display:block;font-size:.9rem;font-weight:650;margin:20px 0 8px}.puzzle-resume textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:74px;padding:12px;border:1px solid #aaa1c8;border-radius:8px;background:#fff;color:#302447;font:1rem/1.5 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;margin-bottom:14px}.puzzle-resume .workshop-status{margin-bottom:12px}.puzzle-resume #puzzle-restore{margin-top:14px}
.puzzle-review #puzzle-review-history{margin-top:16px}.puzzle-review li{display:block}.puzzle-review p{overflow-wrap:anywhere}
