/* Local additions; saved page design and original image pixels are retained. */
.princess-site-header { position:sticky !important; top:0 !important; inset-inline:0; width:100%; z-index:45; margin:0; background:#101012 !important; border-bottom:1px solid #343033; box-shadow:0 4px 18px #0005; color:white; }
.princess-header-row { min-height:88px; max-width:1600px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; gap:24px; }
.princess-header-logo { flex-shrink:0; display:block; width:154px; }
.princess-header-logo img { display:block; width:100%; height:auto; max-height:62px; object-fit:contain; }
.princess-header-nav { display:flex; align-items:center; justify-content:center; gap:5px; flex:1; }
.princess-nav-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 12px; border-bottom:2px solid transparent; color:#eee; font:600 14px/20px Arial,Helvetica,sans-serif; white-space:nowrap; text-decoration:none; }
.princess-nav-link:hover,.princess-nav-link.is-active { border-color:#ffab5e; color:#ffbd7a; }
.princess-header-actions { display:flex; align-items:center; gap:10px; margin-left:auto; flex-shrink:0; }
.princess-header-login,.princess-header-signup { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 16px; border:1px solid #75533c; border-radius:999px; font:700 13px/20px Arial,Helvetica,sans-serif; text-decoration:none; white-space:nowrap; }
.princess-header-login { color:#fff; background:#1c1b1e; }
.princess-header-signup { color:#17100a; background:#ffab5e; border-color:#ffab5e; }
.princess-header-toggle { display:none; flex-shrink:0; width:42px; height:42px; border:1px solid #66503e; border-radius:50%; align-items:center; justify-content:center; background:#1b1a1d; }
.princess-menu-icon { width:18px; height:2px; display:block; background:#ffbd7a; box-shadow:0 6px #ffbd7a,0 -6px #ffbd7a; }
.princess-site-header a:focus-visible,.princess-site-header button:focus-visible { outline:2px solid #ffd9a2; outline-offset:3px; }
.princess-site-footer { margin-top:40px; padding:36px 24px; background:#0d0d0f; color:#d9d5d3; }
.princess-footer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; max-width:1400px; margin:30px auto; }
.princess-footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.princess-footer-column h2 { color:#ffbd7a; font:700 17px/1.5 Arial,Helvetica,sans-serif; margin:0 0 10px; }
.princess-footer-column a { color:#c5c0be; font-size:13px; line-height:1.5; text-decoration:none; }
.princess-footer-column a:hover { color:#ffbd7a; text-decoration:underline; }
.princess-footer-legal { border-top:1px solid #312c2e; max-width:1400px; margin:25px auto 0; padding-top:24px; font-size:12px; line-height:1.7; color:#a9a4a5; }
.princess-footer-legal p { margin:0 0 12px; }
.princess-body { margin:0; background:#151515; color:#eee; font-family:Arial,Helvetica,sans-serif; }
.princess-subpage { width:min(1180px,calc(100% - 40px)); margin:32px auto 60px; }
.princess-article { max-width:1020px; margin:38px auto; font:18px/1.8 Arial,Helvetica,sans-serif; }
.princess-article h1 { margin:0 0 24px; font-size:clamp(28px,4vw,44px); line-height:1.2; color:#fff; font-weight:800; }
.princess-article h2 { font-size:25px; line-height:1.3; font-weight:700; color:#f1d3af; margin:32px 0 14px; }
.princess-article p { margin:0 0 20px; }
.princess-article-lead { font-size:20px; color:#e2dcda; }
.princess-games-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:35px 0; }
@media (max-width:1100px) {
 .princess-header-row { gap:14px; min-height:76px; padding:10px 18px; }
 .princess-header-toggle { display:flex; }
 .princess-header-logo { width:136px; }
 .princess-header-nav { display:none; position:absolute; left:0; right:0; top:100%; padding:14px 18px; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid #4c3b32; background:#101012; }
 .princess-header-menu-open .princess-header-nav { display:grid; }
}
@media (max-width:600px) {
 .princess-header-row { gap:10px; min-height:68px; padding:9px 12px; }
 .princess-header-logo { width:108px; }
 .princess-header-toggle { width:34px; height:34px; }
 .princess-header-actions { gap:6px; }
 .princess-header-login { display:none; }
 .princess-header-signup { padding:8px 12px; font-size:12px; min-height:38px; }
 .princess-header-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .princess-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; }
 .princess-site-footer { padding:28px 18px; }
 .princess-subpage { width:calc(100% - 28px); }
 .princess-games-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .princess-article { font-size:17px; }
 .princess-article-lead { font-size:18px; }
}
.princess-offer-banner { position:relative; margin:0 auto 40px; overflow:hidden; border-radius:0 0 20px 20px; background:#07030f; }
.princess-offer-visual { display:block; position:relative; color:#fff; text-decoration:none; }
.princess-offer-picture { display:block; position:relative; }
.princess-offer-art { display:block; width:100%; height:auto; }
.princess-offer-mask { position:absolute; left:30%; right:29%; top:29%; bottom:35%; background:#07030f; box-shadow:0 0 24px 20px #07030f; border-radius:12px; }
.princess-offer-copy { position:absolute; left:30%; right:29%; top:30%; padding:0 8px; text-align:center; }
.princess-offer-heading { display:inline-block; padding:5px 10px; border-radius:5px; margin:0 0 clamp(12px,1.5vw,28px); background:#c90016; color:#fff; font-size:clamp(10px,1.15vw,21px); font-weight:700; line-height:1.3; }
.princess-offer-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.princess-offer-choice { display:flex; flex-direction:column; align-items:center; gap:6px; }
.princess-offer-number { color:#efd16d; font-size:clamp(24px,3.05vw,60px); font-weight:900; line-height:1; white-space:nowrap; }
.princess-offer-label { font-size:clamp(9px,.95vw,18px); font-weight:700; line-height:1.25; }
.princess-offer-actions { display:flex; flex-direction:column; align-items:center; gap:9px; padding:0 20px 22px; margin-top:-10px; position:relative; z-index:2; }
.princess-banner-cta { display:inline-flex; align-items:center; justify-content:center; min-height:48px; min-width:200px; padding:12px 28px; border:1px solid #ffbd7a; border-radius:999px; background:#ffab5e; color:#15100a; font:800 15px/1.2 Arial,Helvetica,sans-serif; letter-spacing:.025em; text-decoration:none; transition:background .18s ease,transform .18s ease; }
.princess-banner-cta:hover { background:#ffc88f; transform:translateY(-2px); }
.princess-banner-cta:focus-visible,.princess-offer-visual:focus-visible,.princess-game-banner-art:focus-visible { outline:3px solid white; outline-offset:4px; }
.princess-banner-terms { margin:0; font-size:11px; line-height:1.4; color:#c8c2cd; }
.princess-game-banner { position:relative; margin:16px auto 54px; width:100%; }
.princess-game-banner-art { display:block; position:relative; overflow:hidden; border-radius:18px; aspect-ratio:1870 / 410; background:#250611; }
.princess-game-banner-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.princess-banner-badge { position:absolute; top:3.6%; right:1%; width:10.2%; min-height:9%; display:flex; align-items:center; justify-content:center; border-radius:0 0 0 18px; background:linear-gradient(100deg,#f0dea1,#c3a64b); color:#110e08; font-size:clamp(8px,1.1vw,18px); line-height:1.2; font-weight:600; }
.princess-game-banner-cta { position:absolute; left:50%; bottom:-20px; transform:translateX(-50%); }
.princess-game-banner-cta:hover { transform:translateX(-50%) translateY(-2px); }
.princess-game-card { border-radius:9px !important; }
.princess-game-card .gameBgImage { border-radius:9px; }
.princess-game-card:hover .gameBgImage { filter:none !important; }
.princess-game-card:hover,.princess-game-card:focus-within { transform:scale(1.06) !important; z-index:3; }
.princess-game-overlay { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; border-radius:inherit; background:rgba(7,5,6,.55); opacity:0; pointer-events:none; transition:opacity .18s ease; }
.princess-game-card:hover .princess-game-overlay,.princess-game-card:focus-within .princess-game-overlay { opacity:1; pointer-events:auto; }
.princess-game-title { position:absolute; left:12px; right:12px; top:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:white; font-size:14px; line-height:1.4; font-weight:700; text-align:center; }
.princess-game-play { display:flex; align-items:center; justify-content:center; width:62%; aspect-ratio:1; max-width:146px; border:2px solid #ffab5e; border-radius:50%; color:white; text-decoration:none; transition:background .18s ease,border-color .18s ease; }
.princess-game-play:hover { background:rgba(255,171,94,.16); border-color:#ffce96; }
.princess-play-symbol { display:block; width:0; height:0; border-top:23px solid transparent; border-bottom:23px solid transparent; border-left:38px solid white; margin-left:9px; }
.princess-game-demo { display:inline-flex; align-items:center; justify-content:center; min-height:32px; min-width:75px; padding:3px 15px; border:1px solid white; border-radius:999px; color:white; background:transparent; font-size:14px; font-weight:700; text-decoration:none; }
.princess-game-demo:hover { color:#17110a; background:white; }
.princess-game-play:focus-visible,.princess-game-demo:focus-visible { outline:3px solid white; outline-offset:4px; }
@media (max-width:700px) {
 .princess-offer-mask { box-shadow:0 0 7px 5px #07030f; border-radius:3px; }
 .princess-offer-copy { position:relative; inset:auto; padding:16px 12px 22px; }
 .princess-offer-heading { font-size:14px; margin-bottom:19px; padding:7px 10px; }
 .princess-offer-number { font-size:clamp(24px,6.5vw,36px); }
 .princess-offer-label { font-size:clamp(9px,2.3vw,12px); }
 .princess-offer-actions { margin-top:0; }
 .princess-game-banner-art { border-radius:10px; }
 .princess-game-banner-cta { min-height:40px; min-width:170px; padding:9px 20px; font-size:12px; }
 .princess-game-banner { margin-bottom:46px; }
 .princess-game-title { font-size:12px; }
}
@media (hover:none),(pointer:coarse) {
 .princess-game-overlay { opacity:1; pointer-events:auto; background:linear-gradient(transparent 10%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.6)); gap:10px; }
 .princess-game-card:hover,.princess-game-card:focus-within { transform:none !important; }
 .princess-game-play { width:46%; max-width:90px; background:rgba(0,0,0,.3); }
 .princess-play-symbol { border-top-width:15px; border-bottom-width:15px; border-left-width:25px; margin-left:6px; }
 .princess-game-title { text-shadow:0 1px 5px black; }
}
@media (prefers-reduced-motion:reduce) {
 .princess-game-card,.princess-game-overlay,.princess-banner-cta { transition:none !important; }
 .princess-game-card:hover,.princess-game-card:focus-within { transform:none !important; }
}
.princess-image-link { display: contents; }
.princess-image-link:focus-visible img { outline: 2px solid #d9b760; outline-offset: 3px; }
.princess-expanded, .princess-expanded [class*="max-h-"],
.princess-expanded [class*="line-clamp"], .princess-expanded [class*="h-0"] {
  max-height: none !important; height: auto !important;
  overflow: visible !important; -webkit-line-clamp: unset !important;
}
[data-go], [data-action] { cursor: pointer; }
.princess-expanded > .pointer-events-none { display: none; }
.princess-expanded > .flex.justify-center { position: static; padding-top: 12px; }
.princess-menu-open [data-test="sidebar_container"] {
  z-index: 50 !important; pointer-events: auto !important;
  background: rgba(0,0,0,.65) !important;
}
.princess-menu-open [data-test="sidebar_container"] > div {
  bottom: 0 !important; left: 0 !important; z-index: 51 !important;
}
