/* Gold Empire Chess: navy base, bright gold, jewel accents. No white backgrounds. Shared shell generated by gen/strategy/build.py. */
.ch-h1{margin:.2rem 0 .5rem;font-family:"Playfair Display",Georgia,serif;color:#FFD54F}
.ch-stage{position:relative;width:100%;height:clamp(560px,min(170vw,88vh),940px);height:clamp(560px,min(170vw,88dvh),940px);border-radius:18px;overflow:hidden;background:#071634;
  border:3px solid #E8B422;box-shadow:0 0 0 1px #6B4E00,0 14px 40px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,233,168,.35);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate;color:#F7E7C1}
@media (min-width:900px){.ch-stage{height:max(580px,min(calc(100vh - 120px),860px));height:max(580px,min(calc(100dvh - 120px),860px))}}
@media (orientation:landscape) and (max-height:540px){.ch-stage{height:calc(100vh - 16px);height:calc(100dvh - 16px);min-height:300px}}
.ch-view{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
.ch-view:focus-visible{box-shadow:inset 0 0 0 3px #FFE9A8}
.ch-view canvas{display:block;width:100%;height:100%}
.ch-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.ch-hud{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;align-items:center;gap:6px;padding:6px 8px;padding-top:max(6px,env(safe-area-inset-top));pointer-events:none;flex-wrap:nowrap;
  background:linear-gradient(180deg,rgba(3,10,28,.85),rgba(3,10,28,.35) 80%,rgba(3,10,28,0))}
.ch-stage[data-mode="title"] .ch-hud>.ch-pill,.ch-stage[data-mode="how"] .ch-hud>.ch-pill,.ch-stage[data-mode="levels"] .ch-hud>.ch-pill,.ch-stage[data-mode="title"] .ch-tray,.ch-stage[data-mode="how"] .ch-tray,.ch-stage[data-mode="levels"] .ch-tray{visibility:hidden}
.ch-pill{pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:54px;min-height:48px;padding:2px 9px;border-radius:14px;line-height:1.05;
  background:linear-gradient(180deg,rgba(20,40,86,.92),rgba(8,20,50,.92));border:1.5px solid rgba(232,180,34,.85);box-shadow:inset 0 1px 0 rgba(255,233,168,.35)}
.ch-pill small{font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:#E9D8A6;white-space:nowrap}
.ch-pill b{font-size:1.25rem;color:#FFE08A;font-variant-numeric:tabular-nums;white-space:nowrap}
.ch-corner{margin-left:auto;display:flex;gap:6px;pointer-events:auto}
.ch-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;cursor:pointer;background:rgba(11,37,69,.8);border:1.5px solid rgba(232,180,34,.85);color:#FFD54F;padding:0}
.ch-ico:hover,.ch-ico:focus-visible{background:#13294b;outline:2px solid #FFE9A8;outline-offset:1px}
.ch-bars{width:20px;height:16px;display:block;background:linear-gradient(#FFD54F,#FFD54F) 0 0/100% 3px,linear-gradient(#FFD54F,#FFD54F) 0 50%/100% 3px,linear-gradient(#FFD54F,#FFD54F) 0 100%/100% 3px;background-repeat:no-repeat}
.ch-sndi{width:22px;height:22px;display:block;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z' fill='%23FFD54F'/%3E%3Cpath d='M16 8.5a5 5 0 0 1 0 7M18.5 6a8.5 8.5 0 0 1 0 12' fill='none' stroke='%23FFD54F' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.ch-ico.off .ch-sndi{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z' fill='%23FFD54F'/%3E%3Cpath d='M16 9l5 6M21 9l-5 6' fill='none' stroke='%23FF8FA3' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}
.ch-fsi{width:18px;height:18px;display:block;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9V4h5M15 4h5v5M20 15v5h-5M9 20H4v-5' fill='none' stroke='%23FFD54F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.ch-fsb.on .ch-fsi{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4v5H4M20 9h-5V4M15 20v-5h5M4 15h5v5' fill='none' stroke='%23FFD54F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ch-sheet{position:absolute;z-index:5;color:#F7E7C1}
.ch-sheet[hidden]{display:none!important}
.ch-card{left:50%;top:50%;transform:translate(-50%,-50%);width:min(92%,480px);max-height:calc(100% - 70px);margin-top:28px;overflow:auto;padding:1rem 1.1rem 1.2rem;border-radius:22px;text-align:center;
  background:radial-gradient(ellipse at 50% 0,rgba(44,72,150,.97),rgba(11,31,72,.97) 55%,rgba(6,18,46,.98));border:2px solid #E8B422;box-shadow:0 0 0 5px rgba(8,20,50,.6),0 0 0 6px rgba(232,180,34,.45),0 20px 50px rgba(0,0,0,.6);animation:ch-in .4s cubic-bezier(.2,1.3,.5,1)}
@keyframes ch-in{from{opacity:0;transform:translate(-50%,-45%) scale(.9)}}
.g-overlay.ch-card{display:block;inset:auto;left:50%;top:50%}
.ch-kick{margin:0;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:#9AE6D8}
.ch-logo{margin:.1rem 0 .3rem;font:900 clamp(2rem,9vw,3rem)/1 "Playfair Display",Georgia,serif;background:linear-gradient(180deg,#FFF8DC,#FFD54F 55%,#C99700);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(3,10,28,.8))}
.ch-logo span{background:linear-gradient(90deg,var(--xa1),var(--xa2));-webkit-background-clip:text;background-clip:text}
.ch-tag{margin:.2rem 0 .7rem;color:#E9D8A6;font-size:1.05rem}
.ch-modes{display:grid;gap:.5rem;margin:.4rem 0 .7rem}
.ch-mode{display:flex;justify-content:space-between;align-items:center;gap:.6rem;min-height:58px;padding:.5rem 1rem;border-radius:16px;cursor:pointer;font:inherit;color:#FFF3C4;text-align:left;
  background:linear-gradient(180deg,rgba(20,50,110,.95),rgba(8,22,56,.95));border:2px solid rgba(232,180,34,.8);box-shadow:inset 0 1px 0 rgba(255,233,168,.35),0 4px 12px rgba(0,0,0,.35)}
.ch-mode b{font-size:1.12rem}.ch-mode small{color:#9AE6D8;font-size:.9rem;text-align:right}
.ch-mode:hover,.ch-mode:focus-visible{border-color:#FFE9A8;background:linear-gradient(180deg,#1C4A9C,#0B2460);outline:2px solid #FFE9A8;outline-offset:2px}
.ch-mode[disabled]{opacity:.45;cursor:not-allowed}
.ch-title{margin:.15rem 0 .6rem;font:800 1.8rem/1.1 "Playfair Display",Georgia,serif;background:linear-gradient(180deg,#FFF8DC,#FFD54F 55%,#C99700);-webkit-background-clip:text;background-clip:text;color:transparent}
.ch-steps{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;text-align:left}
.ch-steps li{display:flex;gap:.7rem;align-items:center;padding:.45rem .7rem;border-radius:12px;background:rgba(3,10,28,.45);border:1px solid rgba(232,180,34,.35);font-size:1.02rem}
.ch-si{font-size:1.5rem;flex:0 0 auto}
.ch-ebtns{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.8rem}
.ch-stage .btn{min-height:48px;min-width:48px}
.ch-note{color:#CFE8FF;margin:.3rem 0}
.ch-escore{font-size:1.6rem;font-weight:800;color:#FFE08A;margin:.1rem 0}
.ch-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ch-mgrid #g-resume{grid-column:1/-1}
.ch-toggle{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;margin:.2rem auto;padding:.3rem .9rem;border-radius:14px;cursor:pointer;font:inherit;font-weight:700;color:#FFE9A8;background:rgba(3,10,28,.55);border:1.5px solid rgba(232,180,34,.6)}
.ch-toggle i{width:40px;height:24px;border-radius:12px;background:#24365E;position:relative;flex:0 0 auto;border:1px solid rgba(232,180,34,.6)}
.ch-toggle i::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#8FA3C8;transition:left .2s}
.ch-toggle[aria-pressed="true"] i{background:#1B7F5A}.ch-toggle[aria-pressed="true"] i::after{left:18px;background:#FFD54F}
.ch-lgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}
.ch-lv{min-height:50px;border-radius:12px;font:800 1.05rem/1 system-ui,sans-serif;color:#0B1F48;cursor:pointer;border:2px solid #FFE9A8;background:radial-gradient(circle at 35% 30%,#FFF3B0,#E8B422 60%,#8A6100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.ch-lv small{font-size:.62rem;letter-spacing:.05em;color:#3A2A00}
.ch-lv.locked{color:#8FA3C8;background:rgba(3,10,28,.6);border-color:rgba(143,163,200,.4);cursor:not-allowed}
.ch-lv.locked small{color:#8FA3C8}
.ch-lv:not(.locked):hover,.ch-lv:focus-visible{outline:3px solid #FFF8DC;outline-offset:2px}
.ch-realm{margin:.6rem 0 .3rem;text-align:left;font-weight:800;color:#FFE08A;letter-spacing:.04em}
.ch-bar{margin-top:.7rem}
.ch-toast{position:absolute;left:50%;top:64px;transform:translateX(-50%);z-index:4;max-width:min(92%,520px);padding:.5rem 1rem;border-radius:14px;background:rgba(6,18,46,.92);border:1.5px solid #E8B422;color:#FFF3C4;font-weight:700;text-align:center;pointer-events:none;transition:opacity .3s}
.ch-toast[hidden]{display:block!important;opacity:0}
@media (max-width:420px){.ch-pill{min-width:44px;padding:2px 5px}.ch-pill b{font-size:1.05rem}.ch-pill small{font-size:.58rem}.ch-ico{width:44px;height:44px}.ch-corner{gap:4px}.ch-hud{gap:4px;padding:5px}.ch-lgrid{grid-template-columns:repeat(5,1fr)}}
@media (orientation:landscape) and (max-height:540px){.ch-card{width:min(94%,640px);padding:.6rem 1rem .8rem}.ch-modes{grid-template-columns:1fr 1fr}.ch-tag{display:none}.ch-logo{font-size:2rem}.ch-steps{grid-template-columns:1fr 1fr}.ch-lgrid{grid-template-columns:repeat(9,1fr)}}
.ch-stage.ch-full{border-radius:0;border:0;height:100%;width:100%}
html.ch-fs-on .ch-stage{position:fixed;inset:0;z-index:9999;height:100vh;height:100dvh;width:100vw;border-radius:0;border:0;margin:0}
html.ch-fs-on,html.ch-fs-on body{overflow:hidden;height:100%}
html.ch-fs-on header.site,html.ch-fs-on footer.site,html.ch-fs-on .btt,html.ch-fs-on .skip,html.ch-fs-on [class*="vip-chat"]{display:none!important}
@media (prefers-reduced-motion:reduce){.ch-card{animation:none}}
.ch-stage>#g-snd{display:none!important}

/* Gold Empire Chess: luxe navy and gold vault */
.ch-stage{--xa1:#DDE3EA;--xa2:#7FC8FF;background:radial-gradient(ellipse at 50% 40%,#10306a,#071634 60%,#040d22)}
.ch-dot{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:-2px;margin-right:6px;box-shadow:inset 0 -2px 3px rgba(0,0,0,.4),0 0 0 1.5px rgba(255,233,168,.8)}
.ch-dg{background:radial-gradient(circle at 35% 30%,#FFF6C8,#F2B93B 55%,#8A6100)}
.ch-ds{background:radial-gradient(circle at 35% 30%,#CFE6FF,#2F6BFF 50%,#0B1F6E)}
.ch-pill{min-width:84px;transition:box-shadow .25s,border-color .25s}
.ch-pill.on{border-color:#FFF3B0;box-shadow:0 0 0 2px rgba(255,233,168,.55),0 0 16px rgba(255,213,79,.55)}
.ch-sp.on{border-color:#9AD0FF;box-shadow:0 0 0 2px rgba(127,200,255,.5),0 0 16px rgba(80,150,255,.6)}
.ch-pill small{max-width:120px;overflow:hidden;text-overflow:ellipsis}
.ch-turn{position:absolute;left:50%;top:66px;top:calc(max(6px,env(safe-area-inset-top)) + 60px);transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:2px;padding:.35rem .95rem;border-radius:999px;font-weight:800;font-size:1.02rem;color:#FFF3C4;white-space:nowrap;
  background:rgba(6,18,46,.82);border:1.5px solid rgba(232,180,34,.75);pointer-events:none;transition:opacity .3s}
.ch-turn.think span::after{content:"";display:inline-block;width:1.2em;text-align:left;animation:ch-dots 1.2s steps(4) infinite}
@keyframes ch-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
.ch-tray{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;gap:8px;padding:8px 10px;padding-bottom:max(8px,env(safe-area-inset-bottom));
  background:linear-gradient(0deg,rgba(3,10,28,.9),rgba(3,10,28,.5) 75%,rgba(3,10,28,0))}
.ch-foe{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.15;padding:4px 2px}
.ch-foe b{font-size:1.05rem;color:#FFE08A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-foe small{display:block;color:#9AE6D8;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-tbtns{display:flex;gap:8px;flex:0 0 auto}
.ch-tb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:72px;min-height:56px;padding:4px 10px;border-radius:16px;cursor:pointer;font:700 .92rem/1.1 system-ui,sans-serif;color:#FFF3C4;
  background:linear-gradient(180deg,rgba(20,50,110,.95),rgba(8,22,56,.95));border:2px solid rgba(232,180,34,.8);box-shadow:inset 0 1px 0 rgba(255,233,168,.35)}
.ch-tb span{font-size:1.25rem;line-height:1}
.ch-tb:hover,.ch-tb:focus-visible{border-color:#FFE9A8;outline:2px solid #FFE9A8;outline-offset:1px}
.ch-tb[disabled]{opacity:.38;cursor:not-allowed}
.ch-tb[hidden]{display:none}
.ch-stage[data-mode="title"] .ch-turn,.ch-stage[data-mode="how"] .ch-turn,.ch-stage[data-mode="qsheet"] .ch-turn,.ch-stage[data-mode="ranks"] .ch-turn,.ch-stage[data-mode="end"] .ch-turn,
.ch-stage[data-mode="qsheet"] .ch-tray,.ch-stage[data-mode="ranks"] .ch-tray,.ch-stage[data-mode="end"] .ch-tray,.ch-stage[data-mode="qsheet"] .ch-hud>.ch-pill,.ch-stage[data-mode="ranks"] .ch-hud>.ch-pill{visibility:hidden}
.ch-gemrow{display:flex;justify-content:center;gap:10px;margin:.1rem 0 .2rem}
.ch-gemrow i{width:18px;height:18px;transform:rotate(45deg);border:1.5px solid #FFE9A8;border-radius:3px}
.ch-gemrow .g1{background:#FFC72C}.ch-gemrow .g2{background:#4FA8FF}.ch-gemrow .g3{background:#FF4D6D}.ch-gemrow .g4{background:#B57BFF}.ch-gemrow .g5{background:#46E0C8}
.ch-mode{min-width:0}.ch-mode b{white-space:nowrap}.ch-mode small{min-width:0;overflow-wrap:anywhere}
.ch-wide{width:min(94%,620px)}
.ch-rankbox{display:flex;gap:.9rem;align-items:center;text-align:left;padding:.6rem .8rem;border-radius:16px;background:rgba(3,10,28,.5);border:1.5px solid rgba(232,180,34,.55)}
.ch-crest{flex:0 0 auto;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:2rem;background:radial-gradient(circle at 35% 30%,#FFF6C8,#E8B422 55%,#7A5500);box-shadow:0 0 0 3px #0B1F48,0 0 0 5px #E8B422,0 0 18px rgba(255,213,79,.5)}
.ch-rankbox>div{flex:1 1 auto;min-width:0}
.ch-rname{margin:0;font:800 1.35rem/1.1 "Playfair Display",Georgia,serif;color:#FFE08A}
.ch-rrate{margin:.1rem 0 .35rem;color:#CFE8FF;font-weight:700}
.ch-rbar{height:10px;border-radius:6px;background:#132a55;overflow:hidden;border:1px solid rgba(232,180,34,.5)}
.ch-rbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#C99700,#FFE08A,#7FC8FF);transition:width .6s}
.ch-rnext{margin:.3rem 0 0;font-size:.86rem;color:#E9D8A6}
.ch-road{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.ch-road span{flex:0 0 auto;padding:.35rem .7rem;border-radius:999px;font-size:.84rem;font-weight:700;color:#8FA3C8;border:1.5px solid rgba(143,163,200,.4);background:rgba(3,10,28,.5);white-space:nowrap}
.ch-road span.got{color:#0B1F48;background:linear-gradient(180deg,#FFF3B0,#E8B422);border-color:#FFE9A8}
.ch-road span.cur{outline:2px solid #7FC8FF;outline-offset:1px}
.ch-rungs{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;text-align:left}
.ch-rungs li{display:flex;align-items:center;gap:.7rem;padding:.45rem .7rem;border-radius:12px;background:rgba(3,10,28,.45);border:1px solid rgba(232,180,34,.3)}
.ch-rungs .n{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#0B1F48;background:radial-gradient(circle at 35% 30%,#CFE6FF,#4F8CFF 60%,#13307a)}
.ch-rungs li.won .n{background:radial-gradient(circle at 35% 30%,#FFF6C8,#E8B422 55%,#8A6100)}
.ch-rungs li.nx{border-color:#FFE08A;box-shadow:0 0 0 1px #FFE08A,0 0 14px rgba(255,213,79,.3)}
.ch-rungs li.lk{opacity:.6}
.ch-rungs .t{flex:1 1 auto;min-width:0;line-height:1.2}
.ch-rungs .t b{display:block;color:#FFF3C4}
.ch-rungs .t small{display:block;color:#9AE6D8;font-size:.82rem}
.ch-rungs .r{flex:0 0 auto;font-weight:800;color:#FFE08A;font-variant-numeric:tabular-nums}
.ch-banner{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%) scale(.8);z-index:3;padding:.6rem 1.4rem;border-radius:18px;font:900 clamp(1.4rem,6vw,2.2rem)/1.1 "Playfair Display",Georgia,serif;color:#FFE08A;text-align:center;
  background:rgba(6,18,46,.86);border:2px solid #E8B422;opacity:0;pointer-events:none;transition:opacity .25s,transform .35s cubic-bezier(.2,1.4,.5,1);white-space:nowrap}
.ch-banner.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (max-width:520px){.ch-card{width:calc(100% - 24px);padding:.9rem .85rem 1rem;top:calc(50% + 26px);margin-top:0;max-height:calc(100% - 82px)}
 .ch-mode{flex-direction:column;align-items:flex-start;justify-content:center;gap:.18rem;min-height:60px;padding:.55rem .95rem}
 .ch-mode b{font-size:1.06rem}.ch-mode small{white-space:normal;text-align:left;color:#E9D8A6;font-size:.82rem;line-height:1.2}
 .ch-pill{min-width:70px}.ch-pill small{max-width:84px}
 .ch-tb{min-width:64px;padding:4px 8px}.ch-foe b{font-size:.98rem}.ch-foe small{font-size:.78rem}}
@media (max-width:380px){.ch-pill{min-width:60px}.ch-pill small{max-width:70px}.ch-tb{min-width:58px;font-size:.84rem}.ch-turn{font-size:.94rem}}
@media (max-height:760px){.ch-titlecard .ch-tag{display:none}}
@media (orientation:landscape) and (max-height:540px){.ch-card{top:calc(50% + 26px);margin-top:0;max-height:calc(100% - 66px)}
 .ch-mode{flex-direction:column;align-items:flex-start;justify-content:center;gap:.1rem;min-height:50px;padding:.4rem .8rem}
 .ch-mode small{white-space:normal;text-align:left;color:#E9D8A6;font-size:.78rem}
 .ch-tray{left:auto;right:0;top:62px;bottom:0;width:150px;flex-direction:column;justify-content:flex-end;align-items:stretch;background:linear-gradient(270deg,rgba(3,10,28,.85),rgba(3,10,28,0))}
 .ch-tbtns{flex-direction:column}.ch-tb{min-height:48px;flex-direction:row;gap:6px}
 .ch-foe{text-align:right}.ch-turn{top:auto;bottom:10px;left:12px;transform:none}
 .ch-gemrow{display:none}.ch-titlecard .ch-modes{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.ch-banner{transition:none}.ch-turn.think span::after{animation:none;content:"..."}}
@media (max-width:520px){.ch-titlecard{padding:.75rem .8rem .85rem}.ch-titlecard .ch-modes{gap:.45rem;margin:.35rem 0 .5rem}.ch-titlecard .ch-mode{min-height:54px;padding:.42rem .85rem}.ch-titlecard .ch-ebtns{margin-top:.4rem}}
@media (max-width:520px) and (max-height:920px){.ch-gemrow{display:none}.ch-titlecard .ch-logo{font-size:2.3rem}.ch-titlecard .ch-kick{font-size:.74rem}.ch-titlecard .ch-mode small{font-size:.78rem}.ch-titlecard .ch-ebtns .btn{min-height:46px;padding-top:.3rem;padding-bottom:.3rem}}
@media (orientation:landscape) and (max-height:540px){.ch-tray{justify-content:space-between}.ch-foe{flex:0 0 auto}.ch-foe b,.ch-foe small{white-space:normal;overflow:visible;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.ch-foe b{font-size:.92rem}.ch-foe small{font-size:.74rem}}
@media (orientation:landscape) and (max-height:540px){.ch-titlecard{padding:.45rem .9rem .55rem}.ch-titlecard .ch-kick{display:none}.ch-titlecard .ch-logo{font-size:1.75rem;margin:0 0 .15rem}.ch-titlecard .ch-modes{gap:.4rem;margin:.2rem 0 .35rem}.ch-titlecard .ch-mode{min-height:46px;padding:.3rem .75rem}.ch-titlecard .ch-ebtns{margin-top:.2rem}.ch-titlecard .ch-ebtns .btn{min-height:44px;padding-top:.25rem;padding-bottom:.25rem}}
@media (max-width:520px){.ch-titlecard .ch-ebtns{display:flex;flex-wrap:nowrap;gap:.45rem}.ch-titlecard .ch-ebtns .btn{flex:1 1 0;min-width:0;padding-left:.4rem;padding-right:.4rem;font-size:.9rem;white-space:normal;line-height:1.15}.ch-titlecard{max-height:100%;overflow-y:auto}}
@media (max-width:400px) and (max-height:920px){.ch-titlecard .ch-tag{font-size:.86rem;line-height:1.3;margin:.1rem 0 .2rem}.ch-titlecard .ch-logo{font-size:2.1rem}}

@media (max-width:520px){.ch-foe small{white-space:normal;overflow:visible;line-height:1.15}}
/* chess additions */
.ch-pp{flex-direction:row;gap:6px;min-width:0;max-width:44%;padding:3px 9px}
.ch-pp small{display:block}
.ch-pp{flex-direction:column;align-items:flex-start}
.ch-pp b{display:flex;align-items:center;gap:6px;font-size:1rem;min-width:0;max-width:100%}
.ch-pp .ch-dot{margin-right:0;flex:0 0 auto}
.ch-dg{background:radial-gradient(circle at 35% 30%,#FFF6C8,#F2B93B 55%,#8A6100)}
.ch-ds{background:radial-gradient(circle at 35% 30%,#FFFFFF,#C9D3E0 45%,#2F6BFF 80%,#0B1F6E)}
.ch-clk{font-variant-numeric:tabular-nums;color:#FFF3C4}.ch-clk:empty{display:none}
.ch-clk.low{color:#FF8FA3}
.ch-caps{font-size:1rem;letter-spacing:-.08em;color:#E9D8A6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ch-caps em{font-style:normal;font-size:.8rem;letter-spacing:0;color:#9AE6D8;margin-left:4px}
.ch-pp.on{border-color:#FFF3B0;box-shadow:0 0 0 2px rgba(255,233,168,.55),0 0 16px rgba(255,213,79,.55)}
.ch-pp.chk{border-color:#FF6B81;box-shadow:0 0 0 2px rgba(255,107,129,.5),0 0 16px rgba(255,80,110,.6)}
.ch-side{position:absolute;z-index:2;left:8px;right:8px;bottom:84px;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 76px);pointer-events:auto}
.ch-sidet{display:none}
.ch-moves{list-style:none;margin:0;padding:4px 6px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-radius:12px;background:rgba(3,10,28,.55);border:1px solid rgba(232,180,34,.35);min-height:30px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%);mask-image:linear-gradient(90deg,transparent,#000 8%)}
.ch-moves::-webkit-scrollbar{display:none}
.ch-moves li{flex:0 0 auto;white-space:nowrap;font:700 .92rem/1.5 system-ui,sans-serif;color:#E9D8A6;padding:0 4px}
.ch-moves li i{font-style:normal;color:#8FA3C8;margin-right:3px}
.ch-moves li span{padding:0 3px;border-radius:6px}
.ch-moves li span.cur{background:linear-gradient(180deg,#FFF3B0,#E8B422);color:#0B1F48}
.ch-moves:empty{visibility:hidden}
.ch-stage[data-mode="title"] .ch-side,.ch-stage[data-mode="how"] .ch-side,.ch-stage[data-mode="qsheet"] .ch-side,.ch-stage[data-mode="ranks"] .ch-side,.ch-stage[data-mode="end"] .ch-side,.ch-stage[data-mode="promo"] .ch-side{visibility:hidden}
.ch-stage[data-mode="promo"] .ch-turn{visibility:hidden}
@media (min-width:980px) and (min-height:560px){.ch-side{left:auto;right:10px;top:76px;bottom:90px;width:200px;display:flex;flex-direction:column;padding:.6rem .5rem;border-radius:16px;background:rgba(3,10,28,.72);border:1.5px solid rgba(232,180,34,.6)}
 .ch-sidet{display:block;margin:0 0 .35rem;font:800 1.1rem/1 "Playfair Display",Georgia,serif;color:#FFE08A;text-align:center}
 .ch-moves{flex:1 1 auto;display:grid;grid-template-columns:1fr;align-content:start;overflow-y:auto;overflow-x:hidden;background:none;border:0;-webkit-mask-image:none;mask-image:none}
 .ch-moves li{display:grid;grid-template-columns:2.2em 1fr 1fr;padding:1px 2px;border-radius:6px}.ch-moves li:nth-child(odd){background:rgba(255,233,168,.05)}}
.ch-chips{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin:.1rem 0 .4rem}
.ch-chip{min-height:44px;padding:.3rem .8rem;border-radius:999px;font:700 .95rem/1 system-ui,sans-serif;color:#E9D8A6;cursor:pointer;background:rgba(3,10,28,.55);border:1.5px solid rgba(232,180,34,.55)}
.ch-chip[aria-pressed="true"]{color:#0B1F48;background:linear-gradient(180deg,#FFF3B0,#E8B422);border-color:#FFE9A8}
.ch-chip:focus-visible{outline:2px solid #FFE9A8;outline-offset:2px}
.ch-promos{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.4rem 0}
.ch-pro{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-height:84px;border-radius:16px;cursor:pointer;font:700 .9rem/1 system-ui,sans-serif;color:#FFF3C4;background:linear-gradient(180deg,rgba(20,50,110,.95),rgba(8,22,56,.95));border:2px solid rgba(232,180,34,.8)}
.ch-pro span{font-size:2.4rem;line-height:1;color:#FFD54F}
.ch-pro:hover,.ch-pro:focus-visible{border-color:#FFE9A8;outline:2px solid #FFE9A8}
.ch-promo.plat .ch-pro span{color:#DDE3EA;text-shadow:0 0 8px #2F6BFF}
.ch-titlecard .ch-modes{gap:.42rem}
@media (max-width:520px){.ch-pp{max-width:40%}.ch-caps{font-size:.9rem}.ch-tb{min-width:58px}}
@media (orientation:landscape) and (max-height:540px){.ch-side{left:auto;right:156px;top:auto;bottom:8px;width:auto;max-width:40%}}
/* v2 phone tray: name line on top, three big equal buttons below, nothing clipped */
@media (max-width:620px) and (min-height:541px){.ch-tray{flex-wrap:wrap;gap:6px 8px;padding:6px 10px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .ch-foe{flex:1 1 100%;flex-direction:column;gap:1px;padding:0 4px;text-align:center}
 .ch-foe b{font-size:1rem}
 .ch-foe small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem}
 .ch-tbtns{flex:1 1 100%}
 .ch-tb{flex:1 1 0;min-width:0;min-height:58px;flex-direction:row;gap:8px;font-size:1.02rem}
 .ch-tb span{font-size:1.35rem}
 .ch-side{left:8px;right:8px}
 .ch-moves li{font-size:.95rem}}
