
/* AdminLTE 4 migration bridge for legacy PHP templates */
html,body{min-height:100%;}
.games-disabled [data-component="games"]{display:none!important;}
.maintenance-mode [data-public-component]{display:none!important;}.maintenance-sign{min-height:58vh;display:flex;align-items:center;justify-content:center;padding:5rem 1rem;background:linear-gradient(135deg,#fff8db,#ffe49a);color:#5d4300;border-top:8px solid #ffc107;border-bottom:8px solid #ffc107;}.maintenance-sign__icon{font-size:4rem;margin-bottom:1.25rem;}.maintenance-sign h1{font-size:clamp(2.5rem,7vw,4.5rem);font-weight:800;}.maintenance-sign p{font-size:clamp(1.05rem,2vw,1.4rem);margin-bottom:0;}
.homepage-banner{padding:18px 0;background:#f4f5f7;border-block:1px solid #dfe3e8}.homepage-banner .container{position:relative;min-height:110px;display:flex;align-items:center;justify-content:center}.homepage-banner__label{position:absolute;top:2px;right:15px;color:#6c757d;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.homepage-banner__item{display:block;width:100%;text-align:center}.homepage-banner__item[hidden]{display:none}.homepage-banner__item img{display:block;width:100%;max-width:970px;height:auto;max-height:180px;object-fit:contain;margin:auto}
.contest-rotator{position:relative;max-width:1180px;padding:0 3.25rem 2.5rem}.contest-rotator__viewport{overflow:hidden;padding:.35rem}.contest-rotator__track{display:grid;grid-template-columns:repeat(var(--contest-columns,3),minmax(0,1fr));gap:1.25rem}.contest-rotator__item{min-width:0;min-height:455px;border:0;animation:contest-enter .42s ease both}.contest-rotator__item[hidden]{display:none!important}.contest-rotator__image{display:block;width:100%;height:240px;object-fit:cover}.contest-rotator__placeholder{display:flex;align-items:center;justify-content:center;height:240px;background:linear-gradient(135deg,#dff5ef,#bce8dc);color:#087f68;font-size:5rem}.contest-rotator__control{position:absolute;z-index:2;top:45%;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:#212529;color:#fff;box-shadow:0 .2rem .65rem #0003}.contest-rotator__control--prev{left:0}.contest-rotator__control--next{right:0}.contest-rotator__control[hidden]{display:none}.contest-rotator__indicators{position:absolute;right:0;bottom:.4rem;left:0;display:flex;justify-content:center;gap:.45rem}.contest-rotator__indicators button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#adb5bd}.contest-rotator__indicators button.active{background:#212529;transform:scale(1.2)}@keyframes contest-enter{from{opacity:.25;transform:translateX(18px)}to{opacity:1;transform:none}}@media(max-width:767.98px){.contest-rotator{padding-inline:2.35rem}.contest-rotator__item{min-height:405px}.contest-rotator__image,.contest-rotator__placeholder{height:220px}.contest-rotator__placeholder{font-size:4.5rem}.contest-rotator__control{width:2.1rem;height:2.1rem}}
.precision-game{max-width:1100px;margin:0 auto;padding:2rem 1rem}.precision-game__hud{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 2rem;padding:.8rem;margin-bottom:.8rem;border-radius:.65rem;background:#212529;color:#fff;font-size:1.05rem}.precision-game__board{position:relative;overflow:hidden;border:4px solid #29465b;border-radius:.8rem;background:linear-gradient(135deg,#eaf5fb,#dceef5);touch-action:none;user-select:none}.precision-game__board svg{display:block;width:100%;height:auto;min-height:300px}.precision-game__route-bg{fill:none;stroke:#29465b;stroke-width:76;stroke-linecap:round;stroke-linejoin:round}.precision-game__route{fill:none;stroke:#fff;stroke-width:58;stroke-linecap:round;stroke-linejoin:round}.precision-game__start{fill:#18bc9c;stroke:#0b725f;stroke-width:6}.precision-game__finish{fill:#3498db;stroke:#1f6694;stroke-width:6}.precision-game__board text{fill:#fff;font-size:17px;font-weight:800;pointer-events:none}.precision-game__cursor{fill:#f1c40f;stroke:#7d6504;stroke-width:5;pointer-events:none}.precision-game__ready{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);padding:.75rem 1rem;border-radius:.5rem;background:rgba(255,255,255,.94);color:#17324d;font-weight:800;text-align:center;box-shadow:0 .2rem .8rem rgba(0,0,0,.16);pointer-events:none}@media(max-width:575px){.precision-game__board svg{min-height:240px}.precision-game__hud{gap:.5rem 1rem}}
.app-wrapper{min-height:100vh;}
.app-sidebar{--lte-sidebar-width:250px;display:flex;flex-direction:column;}
.sidebar-wrapper{height:100%;min-height:0;padding:0 .5rem 2rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.sidebar-wrapper .user-panel{display:flex;align-items:center;min-height:64px;padding:.75rem;clear:both;flex:0 0 auto;}
.sidebar-wrapper .user-panel::after{display:block;clear:both;content:"";}
.sidebar-wrapper .user-panel .image[style*="visibility:hidden"]{display:none!important;}
.sidebar-wrapper .user-panel .info{float:none!important;min-width:0;}
.sidebar-wrapper .user-panel .info p{margin:0 0 .2rem;}
.sidebar-wrapper .sidebar-form{clear:both;flex:0 0 auto;margin:.25rem 0 .75rem;}
.sidebar-wrapper .sidebar-menu{clear:both;flex:0 0 auto;margin:0;padding-bottom:1.5rem;}
.sidebar-menu .nav-link{display:flex;align-items:center;gap:.55rem;border-radius:.375rem;margin:.08rem 0;}
.sidebar-menu .nav-link .float-end{margin-left:auto;}
.sidebar-menu .nav-header{padding:.75rem .75rem .35rem;font-size:.72rem;text-transform:uppercase;opacity:.7;}
.sidebar-menu .nav-treeview{padding-left:1rem;display:none;}
.sidebar-menu .nav-item.menu-open>.nav-treeview{display:block;}
.sidebar-menu .nav-item.active>.nav-link{font-weight:600;}
.app-content-header{padding:1rem 1.5rem 0;}
.app-content{padding:1rem 1.5rem 1.5rem;}
.app-footer{padding:.75rem 1.5rem;}
.winitnow-copyright{padding:1rem;text-align:center;color:var(--bs-secondary-color);background:var(--bs-tertiary-bg);border-top:1px solid var(--bs-border-color);font-size:.9rem;}
.skill-game{max-width:1050px;margin:0 auto;padding:2rem 1rem;}.skill-hourglass{position:relative;width:150px;height:210px;margin:1rem auto 1.25rem;border-top:12px solid #795548;border-bottom:12px solid #795548;filter:drop-shadow(0 .35rem .35rem rgba(0,0,0,.16));}.skill-hourglass::before,.skill-hourglass::after{content:"";position:absolute;left:18px;width:114px;height:92px;border:5px solid #90a4ae;background:rgba(207,216,220,.28);}.skill-hourglass::before{top:0;clip-path:polygon(0 0,100% 0,56% 100%,44% 100%);}.skill-hourglass::after{bottom:0;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);}.skill-hourglass__top span,.skill-hourglass__bottom span{position:absolute;z-index:2;left:32px;width:86px;background:#d9a441;}.skill-hourglass__top span{top:16px;height:var(--top-sand,58px);clip-path:polygon(0 0,100% 0,60% 100%,40% 100%);}.skill-hourglass__bottom span{bottom:16px;height:var(--bottom-sand,8px);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);}.skill-hourglass__stream{display:none;position:absolute;z-index:3;top:88px;left:72px;width:6px;height:36px;background:#d9a441;border-radius:3px;}.skill-hourglass.is-running .skill-hourglass__stream{display:block;animation:skill-stream .4s linear infinite;}.skill-hourglass.is-running .skill-hourglass__top span{animation:skill-top var(--skill-duration,15s) linear forwards;}.skill-hourglass.is-running .skill-hourglass__bottom span{animation:skill-bottom var(--skill-duration,15s) linear forwards;}.skill-game__status{min-height:3rem;display:flex;align-items:center;justify-content:center;font-weight:600;}@keyframes skill-stream{50%{opacity:.55;}}@keyframes skill-top{to{height:0;}}@keyframes skill-bottom{to{height:66px;}}
.card{margin-bottom:1rem;}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;}
.login-box{width:min(420px,100%);}
.login-logo{font-size:2rem;text-align:center;margin-bottom:1rem;}
.login-box-body{background:var(--bs-body-bg);padding:1.5rem;border-radius:.5rem;box-shadow:0 .25rem 1rem rgba(0,0,0,.1);}
.login-box-msg{text-align:center;margin-bottom:1rem;}
.form-control-feedback{pointer-events:none;}
@media (min-width:992px){
  .app-wrapper{display:grid;grid-template-columns:250px minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"sidebar header" "sidebar main" "sidebar footer";align-items:stretch;}
  .app-sidebar{grid-area:sidebar;position:sticky;top:0;left:auto;bottom:auto;z-index:10;width:250px;height:100vh;min-width:250px;padding-top:0;overflow:hidden;}
  .app-header{grid-area:header;margin-left:0!important;min-width:0;}
  .app-main{grid-area:main;margin-left:0!important;width:auto!important;min-width:0;overflow-x:auto;position:relative;z-index:1;}
  .app-footer{grid-area:footer;margin-left:0!important;min-width:0;}
}
@media (max-width:991.98px){
  .app-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:1045;width:min(280px,85vw);height:100dvh;transform:translateX(-100%);transition:transform .2s ease;overflow:hidden;}
  .sidebar-open .app-sidebar{transform:translateX(0);}
  .app-header,.app-main,.app-footer{margin-left:0!important;min-width:0;}
}
.app-main .alert,.app-main pre,.app-main code{max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;}
/* old AdminLTE classes retained inside content */
.content-header h1{font-size:1.75rem;}.content-header .breadcrumb{margin-bottom:0;}
.bird-game{max-width:1100px;margin:0 auto;padding:2rem 1rem;}.bird-game__hud{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1.5rem;padding:.75rem;margin-bottom:.75rem;border-radius:.6rem;background:#212529;color:#fff;font-size:1.05rem;}.bird-game__bonus{color:#ffd54f;font-weight:800;}.bird-game__bonus.is-visible{animation:bird-bonus .55s ease-out;}.bird-game__field{position:relative;overflow:hidden;min-height:430px;border:4px solid #5c3b1e;border-radius:.75rem;background:linear-gradient(#73c8f2 0 68%,#9dcc59 68% 100%);cursor:crosshair;touch-action:manipulation;user-select:none;}.bird-game__sun{position:absolute;right:7%;top:8%;width:70px;height:70px;border-radius:50%;background:#ffd54f;box-shadow:0 0 35px #fff59d;}.bird-game__cloud,.bird-game__cloud::before,.bird-game__cloud::after{position:absolute;border-radius:999px;background:rgba(255,255,255,.84);}.bird-game__cloud{width:110px;height:35px;top:16%;left:12%;}.bird-game__cloud::before,.bird-game__cloud::after{content:"";width:50px;height:50px;top:-22px;}.bird-game__cloud::before{left:17px}.bird-game__cloud::after{right:13px}.bird-game__cloud--two{top:33%;left:62%;transform:scale(.75);}.bird-game__land{position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(12deg,#568b37,#85b94c);clip-path:polygon(0 35%,16% 12%,31% 40%,48% 5%,67% 34%,82% 9%,100% 31%,100% 100%,0 100%);}.bird-game__ready{position:absolute;inset:45% 0 auto;text-align:center;font-size:2rem;font-weight:800;color:#17324d;text-shadow:0 2px #fff;}.bird-target{position:absolute;z-index:3;top:var(--bird-y);width:76px;height:52px;border:0;background:transparent;cursor:crosshair;animation:bird-flight var(--bird-duration) linear forwards;transform:scaleX(var(--bird-direction));}.bird-target--reverse{animation-name:bird-flight-reverse}.bird-target__body{position:absolute;left:18px;top:15px;width:46px;height:25px;border-radius:55% 65% 55% 45%;background:#5d4037;box-shadow:inset -7px -5px #3e2723;}.bird-target__body::before{content:"";position:absolute;right:-9px;top:3px;border-left:13px solid #ffb300;border-top:6px solid transparent;border-bottom:6px solid transparent;}.bird-target__body::after{content:"";position:absolute;right:8px;top:4px;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #111;}.bird-target__wing{position:absolute;z-index:2;left:24px;top:2px;width:35px;height:25px;border-radius:70% 20%;background:#8d6e63;transform-origin:left bottom;animation:bird-wing .22s ease-in-out infinite alternate;}.bird-target.is-hit{animation:none;opacity:.35;transform:translateY(25px) rotate(35deg) scaleX(var(--bird-direction));}.bird-target:focus-visible{outline:4px solid #fff;outline-offset:3px;}@keyframes bird-flight{to{left:calc(100% + 90px)}}@keyframes bird-flight-reverse{to{left:-90px}}@keyframes bird-wing{to{transform:rotate(-45deg)}}@keyframes bird-bonus{from{transform:scale(.7);opacity:.25}to{transform:scale(1);opacity:1}}@media(max-width:575px){.bird-game__field{min-height:340px}.bird-target{width:68px;height:48px}}
.progress-xs,.progress-xxs{height:.25rem;}
