@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&family=Comic+Neue:wght@700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Fredoka,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-attachment:fixed;color:#333;min-height:100vh}.app{max-width:1400px;margin:0 auto;padding:20px}header{background:linear-gradient(135deg,#ff6b6b,#ff8e53,#feca57);color:#fff;padding:30px;border-radius:20px;margin-bottom:30px;position:relative;box-shadow:0 10px 30px #0000004d;transform:rotate(-.5deg)}h1{font-size:2.8em;margin-bottom:10px;font-weight:700;text-shadow:3px 3px 0px rgba(0,0,0,.2);letter-spacing:1px}header p{font-size:1.1em;opacity:.95;font-weight:400}.tabs{display:flex;gap:15px;margin-top:25px}.tab-btn{background:#ffffff40;border:3px solid rgba(255,255,255,.5);color:#fff;padding:12px 24px;border-radius:15px;cursor:pointer;font-size:1.1em;font-weight:700;transition:all .3s cubic-bezier(.175,.885,.32,1.275);text-shadow:1px 1px 2px rgba(0,0,0,.2)}.tab-btn:hover{background:#fff6;transform:translateY(-3px) scale(1.05);box-shadow:0 5px 15px #0003}.tab-btn.active{background:#fff;color:#ff6b6b;border-color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #0000004d}.form-container{background:#fff;padding:35px;border-radius:20px;box-shadow:0 8px 25px #00000026;max-width:700px;margin:0 auto;border:4px solid #feca57}.form-container h2{color:#ff6b6b;font-size:2em;margin-bottom:25px;font-weight:700}.form-group{margin-bottom:20px}label{display:block;margin-bottom:10px;font-weight:700;color:#5f27cd;font-size:1.1em;font-family:Comic Neue,cursive;text-transform:uppercase;letter-spacing:.5px}input[type=text],input[type=number],select,textarea{width:100%;padding:12px 15px;border:3px solid #e0e0e0;border-radius:12px;font-size:1em;font-family:Fredoka,sans-serif;transition:all .3s;background:#fff}input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{outline:none;border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b33;transform:translateY(-2px)}select{cursor:pointer}textarea{min-height:100px;resize:vertical}input[type=file]{width:100%;padding:10px;border:3px dashed #e0e0e0;border-radius:12px;cursor:pointer;background:#f8f9fa;transition:all .3s}input[type=file]:hover{border-color:#ff6b6b;background:#fff5f5}.players-group{display:flex;gap:15px}.players-group .form-group{flex:1}.teachers-list{display:flex;flex-direction:column;gap:10px}.teacher-input{display:flex;gap:10px}.teacher-input input{flex:1}.btn{padding:12px 28px;border:none;border-radius:15px;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);font-family:Fredoka,sans-serif;text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;box-shadow:0 4px 15px #ff6b6b66}.btn-primary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #ff6b6b80}.btn-primary:active{transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#5f27cd,#341f97);color:#fff;box-shadow:0 4px 15px #5f27cd66}.btn-secondary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #5f27cd80}.btn-danger{background:linear-gradient(135deg,#eb3b5a,#fc5c65);color:#fff;box-shadow:0 4px 15px #eb3b5a66}.btn-danger:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #eb3b5a80}.btn-small{padding:8px 16px;font-size:.9em}.filters{background:#fff;padding:25px;border-radius:20px;margin-bottom:25px;box-shadow:0 8px 25px #00000026;border:4px solid #48dbfb}.filters-row{display:flex;gap:15px;align-items:end;flex-wrap:wrap}.filter-group{flex:1;min-width:200px}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;padding:5px}.game-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 20px #00000026;transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;border:4px solid transparent;position:relative}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ff6b6b,#feca57,#48dbfb,#0abde3);border-radius:20px;opacity:0;transition:opacity .4s;z-index:-1}.game-card:hover{transform:translateY(-12px) rotate(1deg) scale(1.03);box-shadow:0 20px 40px #00000040;border-color:transparent}.game-card:hover:before{opacity:1}@keyframes bounce-once{0%,to{transform:translateY(-12px) rotate(1deg) scale(1.03)}50%{transform:translateY(-20px) rotate(1deg) scale(1.03)}}.game-card:hover{animation:bounce-once .6s ease;animation-fill-mode:forwards}.game-cover{width:100%;height:220px;object-fit:cover;background:linear-gradient(135deg,#ffeaa7,#fdcb6e);display:flex;align-items:center;justify-content:center;color:#333;font-weight:700;font-size:1.1em;position:relative;overflow:hidden}.game-cover:after{content:"🎲";position:absolute;font-size:8em;opacity:.1;pointer-events:none}.game-cover img{width:100%;height:100%;object-fit:cover}.game-info{padding:20px}.game-title{font-size:1.4em;font-weight:700;margin-bottom:10px;color:#2d3436;line-height:1.3}.game-description{color:#636e72;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.game-meta{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:3px dashed #dfe6e9;font-size:.95em;color:#636e72;font-weight:600}.players{font-weight:700;color:#5f27cd;background:#f0e6ff;padding:5px 12px;border-radius:10px}.teachers{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.teachers-tag{display:inline-block;background:linear-gradient(135deg,#48dbfb,#0abde3);color:#fff;padding:5px 12px;border-radius:10px;font-size:.85em;font-weight:700;box-shadow:0 2px 8px #48dbfb4d}.empty-state{text-align:center;padding:80px 20px;color:#fff;font-size:1.2em}.empty-state h2{margin-bottom:15px;font-size:2.5em;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#fff;border-radius:25px;max-width:900px;max-height:90vh;overflow-y:auto;position:relative;border:5px solid #feca57;box-shadow:0 20px 60px #0006}.modal-header{padding:25px;border-bottom:3px dashed #dfe6e9;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:1}.modal-header h2{color:#ff6b6b;font-size:2em;font-weight:700}.modal-body{padding:25px}.modal-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:15px}.modal-images img{width:100%;height:150px;object-fit:cover;border-radius:12px;border:3px solid #dfe6e9;transition:all .3s}.modal-images img:hover{transform:scale(1.05) rotate(2deg);box-shadow:0 8px 20px #0003;border-color:#ff6b6b}.detail-row{margin-bottom:20px}.detail-label{font-weight:700;color:#5f27cd;margin-bottom:8px;font-size:1.1em;font-family:Comic Neue,cursive;text-transform:uppercase}.modal-actions{padding:25px;border-top:3px dashed #dfe6e9;display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:0;background:#fff}.success-message{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;padding:18px;border-radius:15px;margin-bottom:20px;text-align:center;font-weight:700;font-size:1.1em;box-shadow:0 4px 15px #2ecc7166}.error-message{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:18px;border-radius:15px;margin-bottom:20px;text-align:center;font-weight:700;font-size:1.1em;box-shadow:0 4px 15px #e74c3c66}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb)}.login-box{background:#fff;padding:50px;border-radius:25px;box-shadow:0 20px 60px #0000004d;max-width:450px;width:100%;text-align:center;border:5px solid #feca57}.login-box h2{margin-bottom:15px;color:#ff6b6b;font-size:2.5em;font-weight:700}.login-box p{color:#636e72;margin-bottom:35px;font-size:1.1em}.login-box .btn{width:100%;margin-top:15px}.user-info{position:absolute;top:30px;right:30px;display:flex;align-items:center;gap:12px;color:#fff}.user-info .username{font-weight:700;font-size:1.1em;background:#0003;padding:8px 16px;border-radius:12px}.btn-logout{background:#ffffff4d;color:#fff;padding:10px 20px;border:2px solid rgba(255,255,255,.5);border-radius:12px;cursor:pointer;font-size:1em;font-weight:700;transition:all .3s}.btn-logout:hover{background:#ffffff80;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.image-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.image-preview-item{position:relative;border:3px solid #e0e0e0;border-radius:12px;overflow:hidden;background:#fff;padding:8px;transition:all .3s}.image-preview-item:hover{border-color:#ff6b6b;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b4d}.image-preview-item img{width:100%;height:120px;object-fit:cover;border-radius:8px;display:block}
