#funLandingPage { display:none; }
/* A persistent entrance shortcut; game screens and account forms stay clear. */
.fun-flood-shortcut {
    position:fixed; right:max(12px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); z-index:80;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px;
    box-sizing:border-box; width:76px; min-height:94px; padding:10px 8px; border:3px solid transparent; border-radius:20px;
    background:linear-gradient(150deg,#176b55,#052c23 80%) padding-box,linear-gradient(135deg,#fff5bd,#f5be36 35%,#aa6e11 64%,#ffec9f) border-box;
    color:#fff2bb; text-align:center; text-decoration:none; font:900 13px/1.25 system-ui,sans-serif; letter-spacing:.065em;
    box-shadow:0 4px 0 #785315,0 0 15px #ffc83b60,0 7px 18px #0006;
    transition:transform .18s,box-shadow .18s;
}
.fun-flood-shortcut svg { display:block; border-radius:3px; box-shadow:0 0 0 1px #ffe5a080; }
.fun-flood-shortcut:hover,.fun-flood-shortcut:focus-visible { transform:translateY(-3px); box-shadow:0 4px 0 #785315,0 0 25px #ffc83b9c,0 7px 18px #0006; }
.fun-flood-shortcut:focus-visible { outline:3px solid #83f5d2; outline-offset:4px; }
/* Let the browser page scroll normally; reserve space beneath the last action for the shortcut. */
html.fun-landing .fun-landing-shell { height:auto; min-height:100dvh; overflow:visible; padding-bottom:calc(140px + env(safe-area-inset-bottom,0px)); }
@media(max-width:600px) { html.fun-landing .fun-landing-shell { padding-bottom:calc(118px + env(safe-area-inset-bottom,0px)); } }
@media(max-width:600px) { .fun-flood-shortcut { width:64px; min-height:82px; padding:8px 5px; right:max(8px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); border-radius:17px; font-size:11px; gap:5px; }.fun-flood-shortcut svg { width:30px; height:20px; } }
@media(prefers-reduced-motion:reduce) { .fun-flood-shortcut { transition:none; }.fun-flood-shortcut:hover,.fun-flood-shortcut:focus-visible { transform:none; } }
html.fun-landing body {
    padding:0;
    overflow:auto !important;
    background:radial-gradient(ellipse at 50% 0%,#123e30 0%,#061a14 52%,#030d0a 100%);
}
html.fun-landing body > :not(#funLandingPage):not(script):not(style) { display:none !important; }
html.fun-landing #funLandingPage { display:block; }
.fun-landing-shell { width:min(1240px,100%); min-height:100svh; margin:auto; padding:24px 22px; }
.fun-landing-logo { display:block; width:min(100%,480px); height:auto; margin:0 auto 10px; }
.fun-landing-shell h1 { max-width:1000px; margin:0 auto 30px; color:#fff0c5; text-align:center; text-wrap:wrap; font:700 clamp(.75rem,3.7vw,1.875rem)/1.3 Georgia,serif; }
.fun-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.fun-category-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:5px solid transparent; border-radius:22px; background:linear-gradient(155deg,#10382f,#061f1b) padding-box,linear-gradient(135deg,#fff4ad 0%,#ffc62c 18%,#a96506 38%,#ffe993 53%,#e9a616 76%,#fff0a0 100%) border-box; color:#fff3d1; text-decoration:none; box-shadow:0 0 0 1px #c08b24,0 0 17px #ffc83b45,0 12px 25px #0006; transition:box-shadow .18s,filter .18s; }
.fun-category-card:focus-visible,.fun-category-card:active { box-shadow:0 0 0 1px #ffed9a,0 0 14px #ffd24b9c,0 0 32px #ffbd356e,0 12px 25px #0006; filter:brightness(1.1); animation:fun-card-shake .38s ease-in-out; }
@media(hover:hover) {
 .fun-category-card:hover { box-shadow:0 0 0 1px #ffed9a,0 0 14px #ffd24b9c,0 0 32px #ffbd356e,0 12px 25px #0006; filter:brightness(1.1); animation:fun-card-shake .38s ease-in-out; }
}
@keyframes fun-card-shake {
 0%,100% { transform:translateX(0) rotate(0); }
 25% { transform:translateX(-2px) rotate(-.5deg); }
 50% { transform:translateX(2px) rotate(.5deg); }
 75% { transform:translateX(-1px) rotate(-.25deg); }
}
.fun-category-card:focus-visible,.fun-landing-disclaimer:focus-visible { outline:3px solid #64e4bc; outline-offset:4px; }
.fun-category-art { display:block; aspect-ratio:4/3; overflow:hidden; background:#092b23; }
.fun-category-art img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.fun-category-card:hover img { transform:scale(1.04); }
.fun-category-copy { display:flex; flex:1; flex-direction:column; gap:9px; padding:17px 15px; }
.fun-category-copy strong { font:700 clamp(1.4rem,2vw,1.8rem)/1.1 Georgia,serif; }
.fun-category-copy span { color:#e1eee6; font-size:.875rem; line-height:1.5; }
.fun-category-copy em { margin-top:auto; padding-top:9px; color:#78f2cb; font-size:.875rem; font-style:normal; font-weight:800; }
.fun-landing-disclaimer { display:block; width:min(100%,1000px); margin:44px auto 16px; border-radius:22px; color:#e6f0e9; text-decoration:none; }
.fun-landing-disclaimer:hover { filter:brightness(1.07); }
.fun-disclaimer-art { display:block; position:relative; overflow:hidden; aspect-ratio:2172/520; }
.fun-disclaimer-art img { position:absolute; width:100%; height:auto; top:50%; left:0; transform:translateY(-50%); }
.fun-disclaimer-copy { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#casinoGameSection,#funDestressGames { scroll-margin-top:120px; }
.fun-destress-links { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
.fun-destress-links a { display:inline-flex; min-height:44px; align-items:center; padding:9px 16px; border:1px solid #d6b656; border-radius:12px; background:#07382e; color:#fff1c8; font-weight:800; text-decoration:none; }
.fun-destress-links a:hover,.fun-destress-links a:focus-visible { background:#14654e; outline-color:#f7d36f; }
.fun-destress-dialog { width:min(480px,calc(100% - 32px)); max-height:calc(100svh - 32px); overflow:auto; padding:24px; border:1px solid #d6b656; border-radius:24px; background:#09271f; color:#fff3d1; box-shadow:0 24px 80px #000a; }
.fun-destress-dialog::backdrop { background:#010d0bbd; backdrop-filter:blur(5px); }
.fun-destress-dialog h2 { margin:16px 0 12px; font:700 1.8rem/1.15 Georgia,serif; }
.fun-destress-dialog p { color:#d4e3d8; line-height:1.5; }
.fun-destress-dialog .fun-destress-links { display:grid; margin:20px 0 0; }
.fun-destress-dialog button { display:block; margin-left:auto; min-height:44px; padding:9px 17px; border:1px solid #c4a554; border-radius:12px; background:#124434; color:#fff3d1; font-weight:700; cursor:pointer; }
@media(max-width:900px) { .fun-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
    .fun-landing-shell { padding:18px 16px 24px; }
    .fun-landing-logo { width:min(100%,340px); margin-bottom:10px; }
    .fun-landing-shell h1 { margin-bottom:24px; }
    .fun-category-grid { grid-template-columns:1fr; gap:12px; }
    .fun-category-card { flex-direction:row; min-height:124px; border-radius:18px; }
    .fun-category-art { width:35%; min-width:100px; flex-shrink:0; aspect-ratio:auto; }
    .fun-category-copy { padding:12px; gap:6px; }
    .fun-category-copy strong { font-size:1.4rem; }
    .fun-category-copy span { font-size:.8rem; line-height:1.4; }
    .fun-category-copy em { font-size:.8rem; padding-top:3px; }
    .fun-landing-disclaimer { margin-top:32px; padding:12px 12px 17px; border:1px solid #ad914c; background:linear-gradient(145deg,#123a2c,#082218); border-radius:18px; }
    .fun-disclaimer-art { width:96%; margin-inline:auto; }
    .fun-disclaimer-copy { position:static; width:auto; height:auto; margin:4px 2px 0; overflow:visible; clip-path:none; white-space:normal; }
    .fun-disclaimer-copy strong { display:block; margin-bottom:7px; color:#ffe6a1; font:700 1.15rem Georgia,serif; }
    .fun-disclaimer-copy p { margin:0; color:#e1eee6; font-size:.875rem; line-height:1.55; }
    .fun-disclaimer-copy em { display:block; padding-top:12px; color:#ffe6a1; font-size:.875rem; font-style:normal; font-weight:800; }
}
@media(prefers-reduced-motion:reduce) {
    .fun-category-card,.fun-category-art img { transition:none; animation:none !important; }
    .fun-category-card:hover,.fun-category-card:focus-visible,.fun-category-card:hover img { transform:none; }
}

/* Illustrated choices in the Destress dialog. */
.fun-destress-dialog { width:min(680px,calc(100% - 32px)); }
.fun-destress-dialog .fun-destress-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fun-destress-cards a { display:flex; flex-direction:column; align-items:stretch; min-width:0; padding:0; overflow:hidden; border-radius:16px; background:linear-gradient(145deg,#124434,#061f18); }
.fun-destress-cards img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.fun-destress-cards span { padding:14px 12px 0; color:#fff1c8; font:700 1.2rem/1.25 Georgia,serif; }
.fun-destress-cards small { padding:8px 12px 14px; margin-top:auto; color:#78f2cb; font-size:.875rem; }
@media(max-width:480px) {
 .fun-destress-dialog { padding:16px; }
 .fun-destress-dialog .fun-destress-cards { gap:10px; }
 .fun-destress-cards span { padding:12px 9px 0; font-size:1rem; }
 .fun-destress-cards small { padding:8px 9px 12px; font-size:.8rem; }
}
