/* Global Game Styles */
.backToHome{background:#fbe9d1;color:#2d2424;padding:10px 30px;margin:10px auto;border-radius:100px;font-size:10px;display:table;}
.backButton{background:#e8a87c;color:#2d2424;border:1px solid;padding:10px 30px;margin:20px auto;border-radius:100px;cursor:pointer;}
button{background:#2d2424;color:white;border:none;border-radius:100px;padding:5px 10px;}

/* Page 1 Styles */
.pro{display:inline-block;position:relative;transition:transform .3s ease;width:calc(50% - 25px);border-radius:10px;padding:10px;background:#fbe9d1;margin:2px 1px;transform:scale(.95);}
.pro:hover{transform:scale(1)}
.pro:hover .de{opacity:0;}
.pro img{width:100%;border-radius:10px;aspect-ratio:3/3;object-fit:cover;object-position:top left;}
.pro.two img{aspect-ratio:3 / 2;object-position:center;}
.pro.one{width:calc(100% - 20px);}
.pro.three{width:calc(33% - 23px);}
.pro.four{width:calc(25% - 28px);color:#e8a87c;font-weight:bold;font-size:44px;}
.ti{border-radius:50px;bottom:15px;color:#2d2424;font-size:11px;padding:5px 10px;text-align:center;display:table;margin:10px 2px 0;float:right;border:1px solid;}
.ti:hover{background:#e8a87c;color:#2d2424;}
.ti.dd{bottom:45px;}
.de{top:24px;color:white;font-size:8px;left:30px;position:absolute;text-align:center;transition:opacity .3s ease;background:rgba(45, 36, 36, .7);border-radius:100px;padding:3px 6px;font-family:monospace;}
.p_1_m{list-style-type:none;padding:0}
.p_1_m li{margin-bottom:10px}
.p_1_m li a{display:block;padding:10px;background-color:#fbe9d1;text-decoration:none;color:#2d2424;font-size:16px;border-radius:4px}
.p_de_1_m{background:#f5c2a1;width:max-content;margin:0 auto;padding:10px;}
.bu{cursor:pointer;display:flex;align-items:center;position:absolute;right:-10px;top:25px;padding:10px 22px;font-size:14px;font-weight:bold;border-radius:12px 0 0 12px;background:#fbe9d1;color:#2d2424;transition:all 0.3s ease;box-shadow:-2px 4px 12px rgba(45,36,36,0.15);min-width:130px;justify-content:center;z-index:1;}
.bu::after{content:'';position:absolute;top:100%;right:0;width:0;height:0;border-style:solid;border-width:10px 10px 0 0;border-color:#b87a54 transparent transparent transparent;}
.bu:hover{right:-5px;background:#fff;}
.bu-play{background:#fbe9d1;color:#2d2424;}
.bu-purchase{background:linear-gradient(135deg, #e8a87c 0%, #f5c2a1 100%);color:#2d2424;box-shadow:0 6px 20px rgba(232, 168, 124, 0.4);border:1px solid rgba(255,255,255,0.2);border-right:none;}
.bu-purchase::after{border-top-color:#a8724d;}
.bu-purchase:hover{background:linear-gradient(135deg, #f5c2a1 0%, #e8a87c 100%);transform:translateY(-2px);}
.bu .te{margin-right:8px;text-transform:uppercase;letter-spacing:0.5px;}
.bu .pr{font-size:18px;margin-right:4px;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,0.1);}
.bu .cu{font-size:11px;font-weight:600;opacity:0.9;}
#p_1_more_container{text-align: center; margin: 20px 0; display: none;}
#p_1_status{text-align:center;margin:20px;}
.sr-only{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;}

/* Index catalogue controls and card metadata */
#game-selection{min-height:420px;padding-bottom:20px;}
#game-selection [hidden]{display:none!important;}
.p_1_toolbar{box-sizing:border-box;width:calc(100% - 40px);max-width:1200px;margin:0 auto;padding:12px 24px 20px;}
.p_1_search_field{display:flex;align-items:center;min-width:0;background:#fffaf3;border:1px solid #bb9678;border-radius:7px;}
.p_1_search_field:focus-within{outline:3px solid #785033;outline-offset:3px;}
.p_1_search_icon{width:20px;height:20px;flex:none;margin-left:14px;color:#795b45;}
#p_1_search{box-sizing:border-box;display:block;min-width:0;width:100%;height:48px;padding:10px 12px;border:0;outline:none;background:transparent;border-radius:7px;color:#2d2424;font:inherit;font-size:16px;user-select:text;-webkit-user-select:text;}
#p_1_search::placeholder{color:#806957;opacity:1;}
#p_1_search::-webkit-search-cancel-button{-webkit-appearance:none;}
#p_1_clear_search{flex:none;min-height:44px;margin-right:3px;padding:8px 12px;background:transparent;color:#684329;border-left:1px solid #e1cbb7;border-radius:0;font:inherit;font-size:12px;font-weight:600;cursor:pointer;}
#p_1_clear_search:hover{color:#2d2424;text-decoration:underline;}
.p_1_filter_row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:14px;}
.p_1_filter_group{display:flex;flex-wrap:wrap;gap:8px;}
#p_1_difficulty_filters{margin-left:auto;}
.p_1_filter_group button{min-height:44px;padding:9px 16px;border:1px solid #b98d6a;border-radius:6px;background:#fffaf3;color:#4b3325;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;}
.p_1_filter_count{font-size:.9em;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.8;}
.p_1_filter_group button:hover{background:#edd3b6;}
.p_1_filter_group button[aria-pressed="true"]{border-color:#2d2424;background:#2d2424;color:#fff6e9;}
.p_1_filter_group button[aria-pressed="true"]:hover{background:#4b3932;}
#game-selection button:focus-visible,#game-selection a:focus-visible{outline:3px solid #785033;outline-offset:4px;}
#p_1_status{box-sizing:border-box;max-width:1200px;margin:14px auto 8px;padding:0 20px;text-align:left;color:#594338;font-size:13px;line-height:1.6;}
#p_1_status a{color:#513420;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.p_1_m{min-height:0;align-items:flex-start;}
.p_1_m .pro{color:#2d2424;font-size:14px;text-align:left;cursor:pointer;}
.p_1_m .pro img{display:block;}
.p_1_m .pro .na{text-align:center;box-sizing:border-box;display:block;float:none;max-width:none;width:100%;padding:12px 2px 9px;font-size:16px;font-weight:600;line-height:1.4;white-space:normal;overflow-wrap:anywhere;}
.p_1_image{position:relative;display:block;}
.p_1_m .pro .de{position:absolute;top:8px;left:8px;right:auto;bottom:auto;display:inline-block;padding:4px 8px;background:rgba(45,36,36,.85);color:#fffaf3;border-radius:5px;font-family:inherit;font-size:11px;font-weight:500;line-height:1.5;opacity:1;pointer-events:none;}
.p_1_m .bu{flex-direction:column;gap:3px;}
.p_1_action{display:flex;align-items:baseline;justify-content:center;}
.p_1_m .bu-play .te{margin-right:0;}
.p_1_m .bu-play .pr,.p_1_m .bu-play .cu{display:none;}
.p_1_access{position:absolute;right:8px;bottom:8px;display:block;padding:0;background:transparent;color:#fffaf3;font-size:11px;font-weight:500;line-height:1.5;text-shadow:0 1px 3px rgba(0,0,0,.9);pointer-events:none;}
.p_1_m .pro:focus-visible{transform:scale(1);}
#p_1_more_btn{min-height:44px;font:inherit;font-size:13px;font-weight:600;}
#p_1_more_btn:disabled{cursor:wait;opacity:.6;}
@media only screen and (min-width:821px) and (max-width:1024px){
    .p_1_m .pro.four .bu{top:52px;}
}
@media only screen and (max-width:540px){
    .p_1_toolbar{width:calc(100% - 30px);padding:8px 16px 16px;}
    .p_1_filter_group{width:100%;}
    .p_1_filter_group button{flex:1 1 calc(50% - 8px);padding:9px 8px;}
    #p_1_clear_search{max-width:80px;padding:8px;font-size:11px;}
    #p_1_status{padding:0 24px;}
}
@media (prefers-reduced-motion:reduce){
    #game-selection .pro,#game-selection .bu,.p_1_filter_group button{transition:none;}
}

/* Page 2 Styles */
.card{width:300px;height:450px;position:relative;perspective:1000px;margin-bottom:100px;}
.card-inner{width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}
.card-flip .card-inner{transform:rotateY(180deg)}
.card-front,.card-back{width:100%;height:100%;position:absolute;backface-visibility:hidden}
.card-front{z-index:2}
.card-back{transform:rotateY(180deg);z-index:2;}
.button-container{display:flex;justify-content:center;margin-top:20px}
.button{padding:10px 20px;background-color:#e8a87c;border:none;cursor:pointer;font-size:16px;border-radius:100px;color:#2d2424;}
.question{background:#fbe9d1;padding:20px;border-radius:10px;min-height:300px;display:flex;align-items:center;text-align:left;background-image:linear-gradient(135deg,rgba(255,255,255, .5) , rgba(0,0,0, .1));box-shadow:0 0 30px #f5c2a1;color:#2d2424;}
.answer{background:#2d2424;padding:20px;border-radius:10px;color:#fbe9d1;min-height:300px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.5em;background-image:linear-gradient(135deg,rgba(255,255,255, .1) , rgba(0,0,0, .5));box-shadow:0 0 30px #f5c2a1;}

@media only screen and (max-width:820px){
    .pro{width:calc(100% - 20px);text-align:center;}
    .pro.three{width:calc(100% - 20px);}
    .pro.four{width:calc(100% - 20px);}
    .p_1_m .pro .bu{right:0;}
    .ti{display:inline-block;float:none;}
}
