/* Cherry's Play entry and storage panels only. */
body.platform-body .age-gate{
  z-index:100;
  display:grid;
  place-items:center;
  padding:16px;
  overflow-y:auto;
  background:
    radial-gradient(circle at 50% 36%,#a07b3926 0,transparent 33%),
    radial-gradient(circle at 85% 85%,#692b3128 0,transparent 34%),
    linear-gradient(110deg,#100305e9,#19070be8 55%,#100f0eec),
    url('media/lounge-interior.jpg') center/cover;
}
body.platform-body .age-gate[hidden]{display:none!important}
body.platform-body .age-gate-card{
  position:relative;
  width:min(468px,100%);
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  padding:28px 32px 23px;
  border:1px solid #d0ae7187;
  border-radius:15px;
  background:linear-gradient(155deg,#30181d,#1c0c0f 58%,#211c1b);
  color:#f6edda;
  box-shadow:0 30px 75px #000a,0 0 40px #b88a3e19,inset 0 1px #ffe3a02b;
  text-align:center;
}
body.platform-body .age-gate-card::before{
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid #d5b47720;
  border-radius:10px;
  pointer-events:none;
}
.royal-gate-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding-bottom:17px;
  border-bottom:1px solid #d5b47742;
  color:#f8ead0;
}
.royal-gate-brand img{width:38px;height:38px}
.royal-gate-brand span{display:grid;text-align:left;font:600 26px/1 "Royal Display",Georgia,serif;letter-spacing:-.02em}
.royal-gate-brand small{margin-top:4px;color:#d9bc86;font:700 8px/1.3 "Royal UI",sans-serif;letter-spacing:.17em}
body.platform-body .age-gate-card .age-badge{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:19px auto 12px;
  border:1px solid #e6c586;
  border-radius:50%;
  background:radial-gradient(circle at 30% 20%,#593f44,#32181d 66%);
  box-shadow:inset 0 0 0 4px #200d11,0 4px 18px #0007,0 0 18px #dcbb7040;
  color:#f0d69e;
  font:700 22px/1 "Royal UI",sans-serif;
}
body.platform-body .age-gate-card h2{
  margin:0 0 10px;
  color:#fff2db;
  font:600 clamp(30px,4vw,37px)/1.05 "Royal Display",Georgia,serif;
  letter-spacing:-.025em;
}
body.platform-body .age-gate-card #age-description{
  max-width:39ch;
  margin:0 auto;
  color:#dfd1d4;
  font:500 12.5px/1.65 "Royal UI",sans-serif;
}
body.platform-body .age-gate .royal-gate-actions{
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.6fr);
  gap:10px;
  margin-top:22px;
}
body.platform-body .age-gate .royal-gate-actions .button{
  width:100%;
  min-height:46px;
  padding:10px 11px;
  border-radius:7px;
  font:700 12px/1.35 "Royal UI",sans-serif;
  transition:transform 180ms ease,background-color 180ms ease,box-shadow 180ms ease,filter 180ms ease;
}
body.platform-body .age-gate .royal-gate-actions [data-age-accept]{
  border:1px solid #f1d194;
  background:#e8c986;
  color:#23181a;
  box-shadow:inset 0 1px #fff1c6,0 5px 16px #c2933e36;
}
body.platform-body .age-gate .royal-gate-actions [data-age-leave]{
  border:1px solid #c2a66e9c;
  background:#281116;
  color:#f4e6ca;
  box-shadow:none;
}
body.platform-body .age-gate .royal-gate-actions .button:hover{transform:scale(1.018);filter:brightness(1.07)}
body.platform-body .age-gate .royal-gate-actions .button:focus-visible,
body.platform-body .age-gate .royal-gate-legal a:focus-visible{outline:3px solid #ffe1a3;outline-offset:3px}
body.platform-body .age-gate-card .royal-gate-legal{
  margin:20px 0 0;
  padding-top:16px;
  border-top:1px solid #d5b47738;
  color:#c8b2b6;
  font:500 11px/1.6 "Royal UI",sans-serif;
}
.royal-gate-legal a{color:#f0d49e;text-decoration:underline;text-underline-offset:3px}
body.platform-body .cookie-banner.royal-storage-notice{
  z-index:90;
  display:block;
  left:auto;
  right:24px;
  bottom:22px;
  width:min(430px,calc(100vw - 32px));
  max-height:calc(100dvh - 28px);
  margin:0;
  padding:19px 20px 16px;
  overflow-y:auto;
  border:1px solid #d2ad708c;
  border-radius:13px;
  background:
    radial-gradient(circle at 100% 0,#743c3630,transparent 43%),
    linear-gradient(145deg,#2f181df7,#1d0c0ff9 68%,#1c1d19f9);
  color:#f4ecd9;
  box-shadow:0 16px 45px #0009,inset 0 1px #f6dba327;
  backdrop-filter:blur(14px);
}
body.platform-body .cookie-banner.royal-storage-notice[hidden]{display:none!important}
.royal-storage-notice-head{display:grid;grid-template-columns:35px minmax(0,1fr);gap:12px;align-items:start}
.royal-storage-notice-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d4b47886;border-radius:9px;background:#453034;color:#f1d096}
.royal-storage-notice-icon svg{width:22px;height:22px}
body.platform-body .royal-storage-notice h2{
  margin:0 0 7px;
  color:#fff0d4;
  font:600 21px/1.13 "Royal Display",Georgia,serif;
  letter-spacing:-.015em;
}
body.platform-body .royal-storage-notice p{
  margin:0;
  color:#ded0d3;
  font:500 11.5px/1.6 "Royal UI",sans-serif;
}
.royal-storage-notice-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:15px 0 0 47px;
  padding-top:12px;
  border-top:1px solid #d5b4773d;
}
.royal-storage-notice-actions a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  color:#f0d49e;
  font:700 11px/1.3 "Royal UI",sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.platform-body .royal-storage-notice-actions .button{
  min-width:94px;
  min-height:42px;
  padding:8px 15px;
  border:1px solid #f1d194;
  border-radius:7px;
  background:#e8c986;
  color:#23181a;
  box-shadow:0 4px 13px #0004;
  font:700 12px/1.3 "Royal UI",sans-serif;
  transition:transform 180ms ease,filter 180ms ease,box-shadow 180ms ease;
}
body.platform-body .royal-storage-notice-actions .button:hover{transform:scale(1.018);filter:brightness(1.07);box-shadow:0 5px 16px #c2933e32}
body.platform-body .royal-storage-notice :is(a,button):focus-visible{outline:3px solid #ffe1a3;outline-offset:3px}
@media(max-width:480px){
  body.platform-body .age-gate{padding:12px}
  body.platform-body .age-gate-card{padding:22px 19px 18px;max-height:calc(100dvh - 24px)}
  .royal-gate-brand{padding-bottom:13px}
  .royal-gate-brand img{width:33px;height:33px}
  .royal-gate-brand span{font-size:24px}
  body.platform-body .age-gate-card .age-badge{width:55px;height:55px;margin:14px auto 10px;font-size:19px}
  body.platform-body .age-gate-card h2{font-size:32px}
  body.platform-body .age-gate-card #age-description{font-size:11.5px}
  body.platform-body .age-gate .royal-gate-actions{grid-template-columns:1fr;margin-top:17px;gap:8px}
  body.platform-body .age-gate .royal-gate-actions .button{min-height:44px}
  body.platform-body .age-gate-card .royal-gate-legal{margin-top:15px;padding-top:12px;font-size:10.5px}
  body.platform-body .cookie-banner.royal-storage-notice{right:12px;bottom:12px;width:calc(100vw - 24px);padding:15px}
  .royal-storage-notice-head{grid-template-columns:30px minmax(0,1fr);gap:10px}
  .royal-storage-notice-icon{width:30px;height:30px}
  .royal-storage-notice-icon svg{width:20px;height:20px}
  body.platform-body .royal-storage-notice h2{font-size:19px}
  body.platform-body .royal-storage-notice p{font-size:11.5px}
  .royal-storage-notice-actions{margin-left:40px;margin-top:10px}
}
@media(max-width:340px){
  body.platform-body .age-gate-card h2{font-size:29px}
  .royal-gate-brand span{font-size:22px}
  .royal-storage-notice-actions{margin-left:0}
}
@media(prefers-reduced-motion:reduce){
  body.platform-body .age-gate .royal-gate-actions .button,
  body.platform-body .royal-storage-notice-actions .button{transition:none!important}
  body.platform-body .age-gate .royal-gate-actions .button:hover,
  body.platform-body .royal-storage-notice-actions .button:hover{transform:none!important}
}

