/* V20 — one resilient RTL menu shared by study and games. */
.site-menu-drawer[hidden],#siteMenuInternalControls[hidden]{display:none!important}
.site-menu-backdrop{z-index:90000}
.site-menu-drawer{
  z-index:90001;box-sizing:border-box;width:min(390px,92vw);max-width:100vw;
  height:100vh;height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;
  padding:calc(14px + env(safe-area-inset-top,0px)) 16px calc(18px + env(safe-area-inset-bottom,0px));
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  font-family:RubikLocal,Rubik,Arial,sans-serif;line-height:1.5;text-align:right;
}
body.site-menu-open{overflow:hidden}
.site-menu-drawer .site-menu-header{
  position:sticky;top:calc(-14px - env(safe-area-inset-top,0px));z-index:2;
  background:#fffdf7;padding:8px 0 12px;margin:0 0 8px;border-bottom:1px solid #e9e2d4;
}
.site-menu-drawer .site-menu-section{margin:0 0 12px;padding:14px;border-radius:18px}
.site-menu-drawer .site-menu-section h3{margin:0 0 10px;font-size:14px;font-weight:800;text-align:right;direction:rtl}
.site-menu-drawer #siteMenuXpSection{background:#fffdf5;border-color:#e9d99e}
#siteMenuRankSlot{width:100%;min-width:0}
.site-menu-drawer .drawer-rank-button{
  box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:flex-start;
  gap:10px;padding:11px 13px;margin:0;border:1px solid #e5c361;border-radius:999px;
  background:#fff5d3;color:#484b22;font:700 14px/1.4 RubikLocal,Rubik,Arial,sans-serif;
  cursor:pointer;direction:rtl;min-height:64px;min-width:0;
}
.site-menu-drawer .drawer-rank-button:hover{background:#ffefb5}
.site-menu-drawer .drawer-rank-button .xp-nav-icon{
  display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;
  border-radius:50%;background:#f2c74f;color:#75571a;font-size:20px;
}
.site-menu-drawer .drawer-rank-button>span:not(.xp-nav-icon):not(.xp-nav-caption){display:flex;flex-direction:column;text-align:right;min-width:0;flex:1}
.site-menu-drawer .drawer-rank-button b{font-size:16px;font-weight:800;line-height:1.3}
.site-menu-drawer .drawer-rank-button small{font:700 12px/1.5 RubikLocal,Rubik,Arial,sans-serif;direction:rtl;text-align:right}
.site-menu-drawer .drawer-rank-button .xp-nav-caption{display:block;flex:none;border-right:1px solid #e1cc81;padding-right:10px;color:#796326;font-size:12px}
.site-menu-drawer bdi.xp-token{display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap;font-variant-numeric:tabular-nums}
.site-menu-drawer .drawer-xp-progress{box-sizing:border-box;margin-top:12px;height:8px;border-color:#e5dfc3;background:#f0efdf}
.site-menu-drawer .drawer-xp-progress span{transition:width .25s ease}
.site-menu-drawer .drawer-xp-next{font:500 12px/1.75 RubikLocal,Rubik,Arial,sans-serif;direction:rtl;unicode-bidi:normal;text-align:right;margin:9px 0 0;color:#5f6d55;overflow-wrap:anywhere}
.site-menu-drawer .site-menu-links{display:grid;gap:9px}
.site-menu-drawer .site-menu-account-slot{display:grid;gap:9px;margin-bottom:9px}
.site-menu-drawer #cloudAuthMount{display:block;min-width:0;width:100%;margin:0}
.site-menu-drawer :is(.site-menu-link,.site-menu-action,.site-menu-sound){box-sizing:border-box;width:100%;text-align:right;min-height:50px;padding:10px 12px}
.site-menu-drawer .menu-main-copy{flex:1;min-width:0}
.site-menu-drawer .menu-icon{font-size:19px}
.site-menu-drawer :is(.updates-nav-button,.cloud-account-button,.admin-nav-button){
  box-sizing:border-box;width:100%;max-width:100%;min-height:44px;margin:0;padding:10px 13px;
  font-family:RubikLocal,Rubik,Arial,sans-serif;font-size:13px;line-height:1.4;
}
.site-menu-drawer .cloud-account-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-menu-drawer :is(button,a):focus-visible,.site-hamburger:focus-visible,.merkaz-launcher-close:focus-visible{outline:3px solid #c6952e;outline-offset:3px}

/* Keep the brand as a direct child so its existing styles and React ownership survive. */
.topbar.menu-header-v20,.games-site-header>.games-header-row.menu-header-v20{
  display:flex;flex-direction:row;flex-wrap:nowrap;direction:rtl;align-items:center;
  justify-content:flex-start;gap:10px;height:auto;min-height:84px;padding-block:12px;
}
.topbar.menu-header-v20>.brand{
  display:flex;flex:0 1 auto;align-items:center;justify-content:flex-start;direction:rtl;
  gap:9px;min-width:0;margin:0;color:inherit;text-decoration:none;line-height:1.3;
}
.menu-header-v20>.brand>:is(strong,span){min-width:0;font-size:inherit;font-weight:800;text-align:right}
.menu-header-v20>.brand>.site-brand-logo{display:block;flex:0 0 auto;object-fit:contain;object-position:center}
.menu-header-v20>.site-hamburger{flex:0 0 44px;margin:0;margin-inline-end:auto;padding:0;box-sizing:border-box}
.menu-header-v20>:is(.header-link,.games-return,.donation-trigger,.support-trigger){flex-shrink:0;margin-inline-start:0}
@media(max-width:680px){
 .topbar.menu-header-v20,.games-site-header>.games-header-row.menu-header-v20{gap:7px;min-height:72px;padding-block:10px}
 .topbar.menu-header-v20>.brand{font-size:clamp(12px,3.5vw,17px);gap:6px}
 .menu-header-v20>.brand>.site-brand-logo{width:46px;height:29px}
 .menu-header-v20>.site-hamburger{flex-basis:40px;width:40px;height:40px;border-radius:12px}
 .topbar.menu-header-v20>:is(.header-link,.games-return,.donation-trigger,.support-trigger){
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:40px;
  min-width:36px;min-height:40px;padding:0;gap:0;font-size:0;
 }
 .menu-header-v20>:is(.header-link,.games-return,.donation-trigger,.support-trigger)>span{display:none}
 .menu-header-v20>:is(.header-link,.games-return,.donation-trigger,.support-trigger)>svg{display:block;width:19px;height:19px;margin:0;flex:none}
 .site-menu-drawer{width:min(390px,92vw);padding-inline:12px}
 .site-menu-drawer .site-menu-section{padding:12px}
}
@media(max-width:360px){
 .topbar.menu-header-v20,.games-site-header>.games-header-row.menu-header-v20{gap:5px}
 .menu-header-v20>.brand>.site-brand-logo{width:38px;height:25px}
 .menu-header-v20>.site-hamburger{flex-basis:36px;width:36px}
 .topbar.menu-header-v20>:is(.header-link,.games-return,.donation-trigger,.support-trigger){flex-basis:32px;min-width:32px;width:32px}
}

/* The same rank dialog is available on both pages. */
.rank-dialog{box-sizing:border-box;width:min(510px,calc(100% - 24px));max-height:88vh;max-height:88dvh;overflow:auto;padding:23px;border:1px solid #d7cba9;border-radius:25px;background:#fffdf6;color:#15362c;font-family:RubikLocal,Arial,sans-serif;text-align:right;box-shadow:0 24px 90px #08201580;}.rank-dialog::backdrop{background:#102a20c9;}.rank-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}.rank-dialog-head small{font-size:11px;color:#7d815e;}.rank-dialog h2{font-size:24px;margin:3px 0 0;}.rank-dialog-head button{width:44px;height:44px;flex:0 0 44px;border-radius:12px;border:1px solid #ded9c9;background:#f4f0e4;color:inherit;}.rank-summary{display:flex;align-items:center;gap:15px;border:1px solid #dfcf91;border-radius:17px;background:#fff5d7;padding:15px;margin:20px 0;}.rank-summary>span{font-size:36px;color:#c39b27;}.rank-summary strong{font-size:22px;display:block;}.rank-summary small{direction:ltr;display:block;text-align:right;color:#927523;font-weight:700;}.rank-list{list-style:none;margin:0;padding:0;display:grid;gap:9px;}.rank-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0e6db;background:#f4f6f0;border-radius:13px;color:#758476;}.rank-number{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid #cad2c4;border-radius:10px;background:white;font-weight:800;}.rank-row strong{display:block;font-size:14px;}.rank-row small{display:block;font-size:11px;direction:ltr;text-align:right;}.rank-status{font-size:10px;margin-inline-start:auto;}.rank-row.unlocked{color:#376f47;}.rank-row.current{background:#ecf5df;color:#234d32;border-color:#97b776;}.rank-rules{margin-top:20px;font-size:12px;line-height:1.8;color:#62705b;}.rank-rules p{margin:5px 0;}.rank-toast{position:fixed;z-index:200000;left:50%;bottom:25px;transform:translateX(-50%);width:max-content;max-width:90vw;box-sizing:border-box;border:1px solid #cfb15b;border-radius:17px;background:#fff3cc;padding:15px 22px;box-shadow:0 6px 30px #12342740;font:700 14px RubikLocal,Arial,sans-serif;color:#59421d;text-align:center;}.rank-toast[hidden]{display:none;}.ranks-open{overflow:hidden;}

.rank-dialog .rank-summary small,.rank-dialog .rank-row small{direction:rtl;text-align:right}
.rank-dialog .rank-row>span:nth-child(2){min-width:0;flex:1}
.rank-dialog .rank-step{font-size:10px;color:#74806b;line-height:1.7}
.rank-dialog .rank-rules :is(p,strong){direction:rtl;text-align:right;unicode-bidi:normal}
.rank-dialog .rank-status{flex:none}
.rank-dialog .rank-inactivity{padding:11px 12px;margin-top:12px;border:1px solid #e1d0a4;border-radius:12px;background:#fff6dc;font-size:11px;line-height:1.7}
.rank-dialog bdi.xp-token{display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.site-menu-drawer *{animation:none!important;transition:none!important}}

/* V34 — direct Google OAuth login in the hamburger menu. */
.site-menu-account-slot .google-signin-menu{
  width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 13px;border:1px solid #d8d4c5;border-radius:14px;background:#fff;color:#17362c;
  font:700 14px/1.45 RubikLocal,Rubik,system-ui,sans-serif;cursor:pointer;text-align:right;
  box-shadow:0 5px 14px rgba(23,56,45,.05);transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.site-menu-account-slot .google-signin-menu:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(23,56,45,.10);background:#fffefa}
.site-menu-account-slot .google-signin-menu:disabled{opacity:.68;cursor:wait;transform:none}
.google-signin-copy{display:block;flex:1;min-width:0}
.google-signin-copy strong{display:block;font-size:14px;color:#17362c}
.google-signin-copy small{display:block;margin-top:2px;color:#6d7c72;font-size:11px;font-weight:600}
.google-g{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e1e1e1;font:800 18px/1 Arial,sans-serif;color:#4285f4;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}
.google-signin-menu.is-loading .google-g{animation:googleLoginPulse .85s ease-in-out infinite alternate}
@keyframes googleLoginPulse{to{transform:scale(.9);opacity:.65}}
