/* The cabinet and the screening room share the same wood, paper, metal and type. */
:where(.an-game.an-chess,.chess-screening){
 --club-ink:#f4e9d6;--club-note:#ccb99c;--club-accent:#efc48a;
 --club-line:rgba(209,171,110,.33);--club-dark:#141411;--club-paper:#e7d3af;--club-square:#a38363;
 --club-face:Georgia,"Times New Roman",serif;--club-type:system-ui,-apple-system,sans-serif;
 --club-room:url('/assets/chess-studio/club-room.webp');color:var(--club-ink);
}
.chess-screening{background:linear-gradient(130deg,#141511ed 20%,#171812e8 65%,#131410d9),var(--club-room) center/cover fixed}
.chess-screening .eyebrow,.chess-screening header b{color:var(--club-accent)}
.chess-screening h1{font-family:var(--club-face)}.chess-screening header,.chess-screening canvas{border-color:var(--club-line)}
.chess-screening select,.chess-screening button{border-color:var(--club-line);background:#22241f}
.chess-screening .looks button[aria-pressed=true]{border-color:var(--ink);background:#31312a}
.chess-screening .toolbar .play{background:var(--club-accent);color:#241e16}
.an-game.an-chess{--an-accent:var(--club-accent);color:var(--club-ink);background:var(--club-dark);border-color:var(--club-line);border-radius:12px;font-family:var(--club-type)}
.an-chess .an-shell{background:linear-gradient(#181711,#111411);color:var(--club-ink)}
.an-chess .an-head,.an-chess .an-meta,.an-chess.is-player-view .an-meta,.an-chess .an-dock{
 background:linear-gradient(110deg,#25231e,#171b17);color:var(--club-ink);border-color:var(--club-line);box-shadow:none;backdrop-filter:none}
.an-chess .an-head{padding:8px 13px;gap:7px}
.an-chess .an-name>strong{font:normal clamp(24px,4vw,33px)/1.06 var(--club-face);letter-spacing:0;color:var(--club-ink);text-transform:none;text-shadow:none}
.an-chess .an-name>span,.an-chess .an-rival-line{color:var(--club-note);font-family:var(--club-type)}
.an-chess .an-name.has-rival{display:flex;flex-direction:column;justify-content:center}
.an-chess .an-meta,.an-chess.is-player-view .an-meta{margin:0;border:0;border-bottom:1px solid var(--club-line);border-radius:0;padding:4px 13px;min-height:34px}
.an-chess .an-meta>span,.an-chess.is-player-view .an-meta>span{color:var(--club-note);font:600 12px/1.2 var(--club-type);letter-spacing:.045em;text-shadow:none}
.an-chess .an-chess-clocks output,.an-chess.is-player-view .an-chess-clocks output{background:#101410;border:1px solid var(--club-line);color:var(--club-note);border-radius:5px;box-shadow:none;font:600 16px/1.2 ui-monospace,monospace;font-variant-numeric:tabular-nums;min-width:55px;min-height:28px}
.an-chess .an-chess-clocks output.is-active{color:var(--club-ink);border-color:var(--club-accent);box-shadow:inset 0 -2px var(--club-accent)}
.an-chess .an-chess-clocks output.is-low{color:#ffb593}
.an-chess .an-chess-engine,.an-chess .an-chess-guide{background:#191b17;color:var(--club-note);border-color:var(--club-line);font-family:var(--club-type);text-shadow:none}
.an-chess .an-chess-engine{padding:3px 13px;min-height:22px}.an-chess .an-chess-engine a{color:var(--club-note)}
.an-chess .an-chess-guide{padding:5px 13px;min-height:28px;color:var(--club-ink);font-size:13px}
.an-chess .an-stage,.an-chess.is-player-view .an-stage{background:linear-gradient(0deg,#17140e26,#17140e18),var(--club-room) center 54%/100% 100% no-repeat;box-shadow:none}
.an-chess .an-stage::after,.an-chess.is-player-view .an-stage::after{box-shadow:inset 0 -1px var(--club-line)}
.an-chess .an-stage.chess-in-check::after{box-shadow:inset 0 0 24px #eb967d58}
.an-chess .an-chess-desk{background:#151813}
.an-chess .an-rival-room{top:1px;border:none;box-shadow:none;background:transparent;border-radius:0;aspect-ratio:1.42;max-width:57%;height:clamp(38px,calc(var(--chess-horizon,20%) + 3px),177px);mask-image:radial-gradient(ellipse 67% 84% at 50% 37%,#000 53%,transparent 86%);-webkit-mask-image:radial-gradient(ellipse 67% 84% at 50% 37%,#000 53%,transparent 86%)}
.an-chess .an-rival-face{background-image:var(--club-portrait,url('/assets/chess-studio/amber-poster.webp'))}
.an-chess .an-rival-room .an-rival-face{background-position:50% 31%}.an-chess .an-rival-room::after{box-shadow:none}
.an-chess .an-rival-room .an-rival-thought{opacity:0}
.an-chess .an-rival-thumb{border-color:var(--club-line);border-radius:6px}
.an-chess .an-scoresheet{background:linear-gradient(125deg,#26251e,#181b17);border-color:var(--club-line);color:var(--club-ink);border-radius:6px;box-shadow:none}
.an-chess .an-notation header{border-color:var(--club-line)}
.an-chess .an-notation .an-notation-title{font-family:var(--club-face);color:var(--club-ink)}
.an-chess .an-notation-count,.an-chess .an-notation tr>:first-child,.an-chess .an-notation-empty{color:var(--club-note)}
.an-chess .an-notation thead{background:#25261e;color:var(--club-note)}
.an-chess .an-notation td[aria-current]{color:var(--club-accent);background:#deb67a16}
.an-chess .an-dock{gap:6px;padding:6px 10px}
.an-chess .an-head button,.an-chess .an-dock button,.an-chess .an-chess-view button,.an-chess .game-sound-controls summary{
 color:var(--club-ink);background:linear-gradient(#31312a,#20221d);border:1px solid var(--club-line);border-radius:7px;box-shadow:none;font-family:var(--club-type)}
.an-chess .an-dock button[aria-pressed=true],.an-chess .an-chess-view button[aria-pressed=true]{color:var(--club-accent);border-color:var(--club-accent)}
.an-chess .an-dock>[data-an=hint]{color:var(--club-ink);border-color:var(--club-line)}
.an-chess .an-head button:focus-visible,.an-chess .an-dock button:focus-visible,.an-chess .an-chess-view button:focus-visible{outline-color:var(--club-accent)}
.an-chess .an-chess-view span,.an-chess .an-chess-notice{color:var(--club-ink);background:#181a16e8;border-color:var(--club-line)}
.an-chess .an-panel,.an-chess .an-chess-settings,.an-chess .game-mixer-panel{color:var(--club-ink);background:linear-gradient(145deg,#302c23f9,#171b16fa);border-color:var(--club-line);border-radius:10px}
.an-chess .an-chess-settings p,.an-chess .an-chess-settings header small{color:var(--club-note)}
.an-chess .an-chess-settings a,.an-chess .an-panel .an-kicker{color:var(--club-accent)}
.an-chess .an-chess-settings h2,.an-chess .an-panel h2,.an-chess .an-panel h1{font-family:var(--club-face);color:var(--club-ink);font-weight:400}
.an-chess .an-panel .an-primary{color:#211c15;background:var(--club-accent)}
.an-chess .an-opponent-film{background:linear-gradient(#14141184,#17150fb0),var(--club-room) center/cover;animation:an-club-enter .18s ease-out}
@keyframes an-club-enter{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.an-game.an-chess{border-radius:0}.an-chess .an-head{padding-block:4px}.an-chess .an-dock{padding-bottom:max(5px,env(safe-area-inset-bottom))}.an-chess .an-chess-view button{min-width:44px}.an-chess .an-chess-guide{min-height:27px}}
@media(max-height:510px) and (orientation:landscape){.an-chess .an-head{padding-block:2px}.an-chess .an-meta{padding-block:1px;min-height:27px}.an-chess .an-chess-guide{padding-block:2px;min-height:22px}}
@media(prefers-reduced-motion:reduce){.an-chess .an-opponent-film{animation:none}}

/* One camera backdrop spans the balcony, the board and the gaps around the table. */
.an-game.an-chess .an-shell{
 background:linear-gradient(90deg,#0c0d0be8 0%,#10110e86 40%,#17120c22 77%),var(--club-room) center 50%/cover no-repeat,#191712;
}
.an-chess .an-club-canopy{position:relative;isolation:isolate;flex:0 0 auto;z-index:3;box-sizing:border-box}
.an-chess .an-club-canopy .an-head,.an-chess .an-club-canopy .an-meta{
 position:relative;z-index:2;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.an-chess .an-club-canopy .an-head{padding:6px 12px 1px 16px;gap:3px}
.an-chess .an-club-canopy .an-name{flex:1}
.an-chess .an-club-canopy .an-name>strong{font:400 clamp(22px,5.4vw,30px)/1.12 var(--club-face);letter-spacing:-.025em;text-shadow:0 1px 6px #0009}
.an-chess .an-club-canopy .an-head>button{
 width:44px;min-height:44px;height:44px;padding:0;background:radial-gradient(ellipse,#181a16bd,#181a1659 60%,transparent 74%);border-color:transparent;box-shadow:none;color:#f4e7ce}
.an-chess .an-club-canopy .an-head>button:focus-visible{outline:2px solid var(--club-accent)}
.an-chess .an-club-canopy .an-meta{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:11px;padding:2px 16px 5px;min-height:30px}
.an-chess .an-club-canopy .an-meta>span{flex:0 1 auto;color:#ead9bd;font:600 11px/1.2 var(--club-type)}
.an-chess .an-club-canopy .an-chess-clocks{display:inline-flex;gap:0;align-items:center;border:1px solid #d9bc852e;border-radius:20px;background:#11130f92}
.an-chess .an-club-canopy .an-chess-clocks output{
 min-height:23px;min-width:51px;padding:1px 6px;border:0;border-radius:18px;background:transparent;box-shadow:none;color:#bfb4a3;
 font:600 clamp(12px,3.2vw,15px)/1.3 ui-monospace,monospace;font-variant-numeric:tabular-nums}
.an-chess .an-club-canopy .an-chess-clocks .is-active{background:#d7bf8d20;color:#fff0d4;box-shadow:inset 0 0 0 1px #ddbd8540}
.an-chess .an-club-canopy .an-chess-clocks .is-low{color:#ffb394}
.an-chess .an-club-canopy .an-rival-thumb,.an-chess .an-club-canopy .an-rival-line{display:none!important}
.an-chess .an-club-cue,.an-chess .an-club-canopy .an-rival-room{opacity:0;pointer-events:none;visibility:hidden}
.an-chess.is-rival-turn .an-club-cue,.an-chess.is-rival-turn .an-club-canopy .an-rival-room{
 opacity:1;visibility:visible;transition:opacity .22s ease}
.an-chess .an-club-cue{position:absolute;z-index:1;left:clamp(16px,4vw,30px);bottom:8%;
 display:flex;flex-direction:column;align-items:flex-start;max-width:50%;color:var(--club-ink);text-shadow:0 1px 8px #0009}
.an-club-cue span{color:var(--club-accent);font:650 clamp(10px,2.55vw,12px)/1.2 var(--club-type);letter-spacing:.13em;text-transform:uppercase}
.an-club-cue strong{display:block;margin-top:4px;font:400 clamp(25px,6.7vw,40px)/1.03 var(--club-face);letter-spacing:-.025em;white-space:nowrap}
.an-club-cue small:not(:empty){margin-top:3px;color:var(--club-note);font:600 11px/1.2 var(--club-type)}
.an-chess .an-club-canopy .an-rival-room{
 position:absolute;display:block;isolation:isolate;z-index:0;top:auto;left:auto;right:clamp(12px,8%,48px);bottom:calc(-1 * var(--club-reach,4px));
 height:calc(100% - 40px + var(--club-reach,4px));width:auto;aspect-ratio:1;max-width:55%;transform:none;
 overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 17%,#000 82%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 80%,transparent);
 -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 17%,#000 82%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 80%,transparent);mask-composite:intersect}
.an-chess .an-club-canopy .an-rival-room .an-rival-face{inset:0;background-position:center;background-size:contain;background-repeat:no-repeat;transform:none}
.an-chess .an-club-canopy .an-rival-room::after,.an-chess .an-club-canopy .an-rival-room::before{display:none}
.an-club-performance{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.an-club-performance[hidden]{display:none}
.an-chess.is-rival-turn .an-chess-guide,.an-chess.is-rival-turn .an-club-canopy [data-an-status]{
 position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap;border:0}
.an-chess .an-stage,.an-chess.is-player-view .an-stage,.an-chess .an-chess-desk,.an-chess .an-opponent-film{background:transparent}
.an-chess .an-stage.has-opponent-film>canvas,.an-chess .an-stage.has-opponent-film>.an-chess-view{visibility:hidden}
.an-chess .an-chess-settings .an-chess-engine:not([hidden]){display:flex;flex-wrap:wrap;gap:7px 14px;padding:9px 0 12px;min-height:0;background:none;font:12px/1.4 var(--club-type)}
.an-chess .an-chess-settings .an-chess-engine span{flex-basis:100%}
.an-chess .an-chess-settings .an-chess-engine a{color:var(--club-note)}
@media (min-height:501px),(orientation:portrait){
 .an-chess .an-club-canopy{height:83px;transition:height .30s cubic-bezier(.22,.7,.25,1)}
 .an-chess.is-rival-turn .an-club-canopy{height:clamp(156px,23.7dvh,218px)}
}
@media(orientation:landscape) and (max-height:500px){
 .an-chess:not(.is-player-view) .an-club-canopy{height:88px}
 .an-chess.is-rival-turn .an-club-canopy .an-rival-room{height:92px;max-width:20%;bottom:-3px;right:24%}
 .an-chess.is-rival-turn .an-club-cue{left:26%;bottom:19%;max-width:25%}
 .an-chess.is-rival-turn .an-club-cue strong{font-size:23px}
 .an-chess.is-player-view .an-club-canopy{display:contents}
}
@media(prefers-reduced-motion:reduce){.an-chess .an-club-canopy,.an-chess .an-club-cue,.an-chess .an-club-canopy .an-rival-room{transition:none}}

/* A single transparent photograph anchors the moving sleeve in club coordinates. */
.an-game.an-chess .an-shell,.study-tour{position:relative}
.an-chess .an-club-canopy .an-rival-room{right:clamp(18px,13%,110px);height:calc(100% - 34px + var(--club-reach,4px));max-width:58%;-webkit-mask-image:none;mask-image:none}
.an-club-canopy .an-seated-player,.study-actor{display:block;width:100%;height:100%;object-fit:contain}
.an-chess .an-club-canopy .an-rival-room .an-rival-face{display:none}
.an-chess .an-stage.has-bird-take>.an-chess-view{visibility:hidden}
.an-chess .an-stage.has-bird-take>canvas,.an-chess .an-stage.has-bird-take>.an-board{pointer-events:none}
.an-reaching-arm,.chess-screening .an-reaching-arm{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;background:transparent!important;border:0;border-radius:0;box-shadow:none}
.an-chess .an-stage>canvas.an-bird-software{position:absolute;inset:0;z-index:2}
.study-tour{isolation:isolate;overflow:hidden;margin:0;background:linear-gradient(90deg,#10110cc9,#17130e42),var(--club-room) center/cover;border:1px solid var(--club-line);border-radius:8px}
.study-balcony{position:relative;height:clamp(136px,19vh,184px);padding:18px 16px;box-sizing:border-box}
.study-balcony b,.study-balcony span{position:relative;z-index:1;display:block}
.study-balcony b{color:var(--club-accent);font:600 11px system-ui;letter-spacing:.12em;text-transform:uppercase}
.study-balcony span{color:var(--club-ink);font:normal clamp(23px,5vw,32px) Georgia,serif;margin-top:9px}
.study-actor{position:absolute;right:10%;bottom:-6px;height:95%;width:auto;aspect-ratio:1;max-width:49%;z-index:1}.study-actor>img{width:100%;height:100%;object-fit:contain}
.study-native-stage{position:relative;aspect-ratio:1.10;min-height:180px}
.study-native-stage>canvas{display:block;width:100%;height:100%;background:none;border:0;box-shadow:none}
@media(orientation:landscape) and (max-height:500px){.an-chess.is-rival-turn .an-club-canopy .an-rival-room{height:94px;right:23%;bottom:0}}
/* An inset scorebook and a single instrument rail leave the table reading as one surface. */
.an-chess .an-scoresheet{background:linear-gradient(115deg,#22221b,#161a16);border:1px solid #a58f633f;border-radius:9px;box-shadow:inset 0 1px #e5cfa51a,0 3px 9px #080a0733}
.an-chess .an-position-diagram{padding:3px;box-sizing:border-box;border-radius:4px;background:#1b1e17}
.an-chess .an-notation header{border-color:#c3aa7433}.an-chess .an-notation .an-notation-title{letter-spacing:.025em}
.an-chess .an-notation thead{background:#21231c}.an-chess .an-notation td[aria-current]{background:linear-gradient(90deg,#bda17224,transparent);color:#f7d9a1}
.an-chess .an-dock{background:linear-gradient(#23231d,#171a16);border-top:1px solid #b7a0753a;box-shadow:inset 0 1px #e5d5a908}
.an-chess .an-dock>button,.an-chess .an-dock .an-options button,.an-chess .game-sound-controls summary{border-radius:6px;background:linear-gradient(#303028,#20231c);border-color:#b6a0733f}
.an-chess .an-head .an-name>strong{letter-spacing:-.025em}.an-seated-player,.study-actor>img{transform-origin:center;will-change:transform}
.study-picks{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 12px}.study-picks a{color:var(--club-note);text-decoration:none;padding:5px 9px;border:1px solid var(--club-line);border-radius:18px;font:13px/1.2 system-ui}
.study-picks a[aria-current=true]{color:var(--club-ink);border-color:var(--club-accent)}

.an-club-canopy .an-seated-player,.study-actor>img{mask-image:linear-gradient(#000 76%,transparent 100%);-webkit-mask-image:linear-gradient(#000 76%,transparent 100%)}
.an-game.an-chess.has-match-card .an-shell{isolation:isolate;display:flex;flex-direction:column}
.an-chess.has-match-card .an-chess-desk{display:flex;position:relative;flex:1;min-height:0;min-width:0;padding:0}
.an-chess.has-match-card .an-stage{flex:1;min-width:0;min-height:0;margin:0}
.an-chess.has-match-card .an-club-canopy{display:block;height:0;flex:none}
.an-chess.has-match-card.is-rival-turn .an-club-canopy{height:clamp(125px,20dvh,200px)}
.an-chess.has-match-card .an-club-canopy .an-rival-room{height:calc(100% + var(--club-reach,4px));max-width:54%}
.an-match-rail{position:relative;z-index:8;display:grid;flex:none;place-items:center;padding:4px 10px max(6px,env(safe-area-inset-bottom));background:linear-gradient(0deg,#171912 0%,#1d1c1599 67%,transparent);color:var(--club-ink)}
.an-game .an-match-glass{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:4px 17px 4px 9px;border:1px solid #d4bb837d;border-radius:28px;color:#f6eddc;font:600 13px/1.2 var(--club-type);letter-spacing:.02em;background:linear-gradient(155deg,#efe1b638,#92866d20 47%,#444f3c70),#22281db8;box-shadow:inset 0 1px 1px #fff1cc70,inset 0 -1px 2px #9b93695c,0 4px 15px #0b090780;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.an-match-glass img{width:28px;height:28px;object-fit:contain}.an-match-glass i{width:6px;height:6px;margin-left:4px;border-left:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:translateY(2px) rotate(45deg)}.an-match-glass[aria-expanded=true] i{transform:translateY(-2px) rotate(225deg)}
.an-chess .an-match-card{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);width:min(calc(100% - 18px),510px);max-height:min(76dvh,650px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;box-sizing:border-box;padding:12px 13px 10px;border:1px solid #c4ad7a70;border-radius:16px;background:linear-gradient(133deg,#28271efc,#16201afc 70%);box-shadow:0 12px 45px #080906a3,inset 0 1px #f6e6be42;scrollbar-width:thin}
.an-chess .an-match-card:not([hidden]){display:block;animation:match-raise .22s ease-out}.an-chess .an-match-card[hidden]{display:none}
@keyframes match-raise{from{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.an-match-eyebrow{display:flex;justify-content:space-between;color:#d6b785;font:600 9px/1.1 var(--club-type);letter-spacing:.14em}
.an-chess .an-match-card .an-head,.an-chess .an-match-card .an-meta,.an-chess .an-match-card .an-chess-guide,.an-chess .an-match-card .an-dock{position:static;inset:auto;min-height:0;width:auto;margin:0;padding:5px 0;background:none;box-shadow:none;border:0;border-radius:0;backdrop-filter:none}
.an-chess .an-match-card .an-head{display:flex;gap:4px}.an-chess .an-match-card .an-head>button{width:40px;min-height:40px;height:40px}.an-chess .an-match-card .an-rival-thumb{display:none}.an-chess .an-match-card .an-rival-line{display:block;margin:2px 0;color:var(--club-note);font:11px var(--club-type)}
.an-chess .an-match-card .an-meta{display:flex;align-items:center;gap:8px;justify-content:space-between;border-block:1px solid #c6b78b30}.an-chess .an-match-card .an-meta [data-an-status]{display:block;flex:1}
.an-chess .an-match-card .an-club-cue{position:static;display:none;max-width:none;opacity:1;visibility:visible;flex-flow:row wrap;align-items:baseline;gap:6px 10px;padding:5px 0}.an-chess.is-rival-turn .an-match-card .an-club-cue{display:flex}.an-chess .an-match-card .an-club-cue strong{font-size:20px}
.an-chess .an-match-card .an-chess-guide{display:block;clip-path:none;white-space:normal;overflow:visible;height:auto;font:12px/1.35 var(--club-type)}
.an-chess .an-match-card .an-chess-engine:not([hidden]){display:flex;flex-wrap:wrap;justify-content:flex-start;gap:4px 12px;font:11px/1.4 var(--club-type);padding:2px 0 7px;background:none}
.an-chess .an-match-card .an-scoresheet{display:grid;grid-template-columns:minmax(64px,28%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:10px;height:clamp(109px,17dvh,145px);box-sizing:border-box;margin:2px 0 7px;padding:5px 7px}.an-match-card .an-position-diagram{height:100%;width:auto;max-width:100%;aspect-ratio:1;align-self:center}.an-match-card .an-notation-scroll{flex:1}.an-match-card .an-notation header{flex:0}
.an-chess .an-match-card .an-dock{display:flex;flex-wrap:wrap;gap:4px;pointer-events:auto}.an-chess .an-match-card .an-dock>button,.an-chess .an-match-card .an-options button{width:auto;flex:initial;min-height:38px;padding:4px 9px;font-size:12px}
.an-chess .an-match-card .an-options{display:flex;flex-wrap:wrap;gap:3px;margin:0}.an-chess.has-chess-3d .an-match-card .an-options .an-chess-view{display:inline-flex;position:static;transform:none;gap:3px;max-width:none}.an-match-card .an-chess-view span{display:none}.an-match-card .an-move-list{display:none}.an-chess .an-match-card [hidden]{display:none}
.an-chess.has-match-card .an-help{display:none}
@media(orientation:landscape) and (max-height:520px){.an-chess.has-match-card.is-rival-turn .an-club-canopy{height:78px}.an-chess .an-match-card{max-height:calc(100dvh - 64px)}}
@media(prefers-reduced-motion:reduce){.an-chess .an-match-card:not([hidden]){animation:none}}
.an-chess.has-match-card .an-club-canopy{z-index:0}
.an-chess.has-match-card .an-chess-desk{z-index:1;background:transparent}
.an-chess.has-match-card .an-club-canopy .an-rival-room,.chess-screening .study-actor{position:absolute;inset:auto auto calc(-1 * var(--club-seat-depth,20px)) 54.5%;transform:translateX(-50%);width:var(--club-seat-size,160px);height:var(--club-seat-size,160px);max-width:none;visibility:visible;overflow:visible}
.an-chess.has-match-card.has-seated-cpu .an-club-canopy .an-rival-room{display:block;opacity:1}
.study-balcony{z-index:0}.study-native-stage{z-index:1}
.has-table-sill{-webkit-mask-image:linear-gradient(to bottom,transparent calc(var(--chess-table-sill) - 5px),#000 calc(var(--chess-table-sill) + 6px));mask-image:linear-gradient(to bottom,transparent calc(var(--chess-table-sill) - 5px),#000 calc(var(--chess-table-sill) + 6px))}
.an-chess.has-match-card .an-club-canopy .an-rival-room::before,.study-actor::before{content:'';display:block;position:absolute;inset:0;opacity:var(--club-rest,1);background:transparent url('/assets/chess-studio/actor-rest.webp') center/contain no-repeat;mask-image:linear-gradient(#000 76%,transparent);-webkit-mask-image:linear-gradient(#000 76%,transparent);pointer-events:none}
.an-seated-player,.study-actor>img{opacity:calc(1 - var(--club-rest,1))}
/* The figure is part of the board's physical scene and shares its lens. */
.an-chess.has-match-card .an-club-canopy,.an-chess.has-match-card.is-rival-turn .an-club-canopy{height:0}
.an-chess.has-match-card .an-club-canopy .an-rival-room,.an-chess.has-match-card.has-seated-cpu .an-club-canopy .an-rival-room,.chess-screening .study-actor{display:none}
.chess-screening .study-tour{display:block;isolation:isolate}
.chess-screening .study-balcony{position:absolute;inset:0 auto auto 0;height:auto;padding:12px 14px;z-index:2;pointer-events:none}
.chess-screening .study-native-stage{width:100%;aspect-ratio:.86;min-height:260px;max-height:71dvh}
.an-chess .an-match-card .an-head .an-rival-thumb:not([hidden]){display:block;width:38px;min-width:38px;height:38px;border:0;background:transparent url('/assets/chess-studio/dior-portrait.webp') center/cover;border-radius:8px}
.an-match-card .an-rival-thumb .an-rival-face{display:none}
/* Keep the whole hand and board in the photographic cutaway on narrow screens. */
.chess-move-film{position:absolute;inset:0;z-index:4;display:grid;place-items:center;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at center,#31271b,#100e0b 75%)}
.chess-move-film[hidden]{display:none}
.chess-move-film video{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.chess-move-film span{position:absolute;bottom:max(10px,2%);left:50%;transform:translateX(-50%);padding:4px 12px;border:1px solid var(--club-line);border-radius:20px;background:#171410e8;color:var(--club-ink);font:600 12px/1.3 var(--club-type);white-space:nowrap}

.chess-move-film[data-look="1"] video{filter:saturate(.92) hue-rotate(-3deg)}
.chess-move-film[data-look="2"] video{filter:contrast(1.035) saturate(1.03)}
.chess-move-film[data-look="3"] video{filter:saturate(.95) hue-rotate(3deg)}

.study-frames{padding:10px 0 0;color:var(--club-note);font:13px var(--club-type)}
.study-frames[hidden]{display:none}.study-frames label{display:flex;justify-content:space-between}
.study-frames>div{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}
.study-frames button{min-height:44px}.study-frames button:disabled{opacity:.45}
.study-frames input{width:100%;min-height:44px;margin:0;accent-color:var(--club-accent)}
.study-frames output{font-variant-numeric:tabular-nums}

/* The full-height photographic insert covers the live board until its first overhead frame. */
.chess-move-film.chess-grip-film{background:linear-gradient(#100d0be8,#100d0bdf),url('/assets/chess-studio/club-room.webp') center/cover #100d0b;z-index:4}
.chess-grip-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.chess-grip-film span{display:none}
