:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.error-boundary-card{background:#fff;border-radius:16px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center}.error-icon{font-size:64px;margin-bottom:20px}.error-boundary-card h1{color:#333;margin-bottom:16px;font-size:24px}.error-message{color:#666;margin-bottom:24px;line-height:1.6}.error-details{text-align:left;background:#f5f5f5;border-radius:8px;padding:16px;margin-bottom:24px}.error-details pre{background:#2d2d2d;color:#f8f8f2;padding:12px;border-radius:4px;overflow-x:auto;font-size:12px;line-height:1.5;max-height:300px;overflow-y:auto}.error-details summary{cursor:pointer;color:#666;font-weight:500;margin-bottom:8px}.error-actions{display:flex;gap:12px;justify-content:center}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a6fd6}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover{background:#e0e0e0}@media(max-width:480px){.error-boundary-card{padding:24px}.error-actions{flex-direction:column}}.contact-us-entry-btn{position:fixed;top:20px;right:20px;z-index:998;display:flex;align-items:center;gap:8px;padding:10px 14px;border:none;border-radius:10px;background:transparent;color:#000;cursor:pointer;font-size:14px;font-weight:600;box-shadow:none;transition:transform .2s,box-shadow .2s}.contact-us-entry-btn:hover{transform:translateY(-2px);box-shadow:none}.contact-us-entry-icon{font-size:16px;line-height:1}.contact-us-overlay{position:fixed;inset:0;z-index:2000;background:#00000073;display:flex;justify-content:center;align-items:center;padding:16px}.contact-us-modal{position:relative;width:min(380px,100%);max-height:90vh;overflow-y:auto;background:var(--bg-card);border-radius:14px;padding:16px 16px 14px;box-shadow:0 18px 40px #0000003d}.contact-us-close-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;border:none;background:#ff8a8029;color:var(--primary-main);font-size:20px;line-height:1;cursor:pointer}.contact-us-loading,.contact-us-content{margin:6px 0 12px;color:var(--text-primary);white-space:pre-wrap;line-height:1.6;font-weight:700;text-align:center}.contact-us-group{margin-top:14px}.contact-us-title{margin-bottom:8px;font-weight:700;color:var(--text-primary)}.contact-us-image{width:100%;max-width:320px;border-radius:10px;border:1px solid var(--border-light);background:#fff}.contact-us-image-empty{width:100%;max-width:320px;min-height:120px;border-radius:10px;border:1px dashed var(--border-light);color:var(--text-light);display:flex;align-items:center;justify-content:center;background:#fff}@media(max-width:768px){.contact-us-entry-btn{top:12px;right:12px;padding:8px 12px}.contact-us-entry-text{font-size:13px}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#fff5f0,#ffe8e0);padding:20px}.auth-card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:0 10px 40px #ff8c8033;padding:40px;width:100%;max-width:420px;border:2px solid var(--border-light)}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{color:var(--text-primary);font-size:28px;margin-bottom:8px}.auth-header p{color:var(--text-secondary);font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--text-primary);font-size:14px;font-weight:500}.form-group input{padding:12px 16px;border:2px solid var(--border-input);border-radius:var(--radius-md);font-size:15px;transition:all .3s;background:var(--bg-card);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--primary-main);box-shadow:0 0 0 3px var(--secondary-light)}.form-group input.error{border-color:var(--danger)}.form-group .error-message{color:var(--danger);font-size:12px;margin-top:4px}.checkbox-group{display:flex;align-items:center;gap:8px}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-main)}.checkbox-group label{color:var(--text-secondary);font-size:14px;cursor:pointer;margin:0}.auth-button{background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;padding:14px;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #ff8a804d}.auth-button:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-main));transform:translateY(-2px);box-shadow:0 6px 16px #ff8a8066}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-links{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:14px}.auth-links.auth-links-single{justify-content:flex-end}.auth-links a{color:#667eea;text-decoration:none;transition:color .2s}.auth-links a:hover{color:#764ba2;text-decoration:underline}.auth-message{padding:12px;border-radius:8px;font-size:14px;text-align:center}.auth-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.auth-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.auth-divider{text-align:center;margin:20px 0;color:#999;font-size:14px}@media(max-width:480px){.auth-card{padding:30px 20px}.auth-header h1{font-size:24px}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:220px;background:linear-gradient(180deg,#fff5f0,#ffe8e0);color:var(--text-primary);display:flex;flex-direction:column;box-shadow:2px 0 10px #ff8c8026;z-index:1000;transform:translate(-100%);transition:transform .3s ease;border-right:1px solid #ffe0d0}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;background:#4a4a4a66;z-index:999;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-header{padding:1.5rem 1rem;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:.85rem}.sidebar-header-top{display:flex;justify-content:space-between;align-items:center}.sidebar-toggle-btn{position:fixed;top:1rem;left:1rem;width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;font-size:1.2rem;cursor:pointer;z-index:999;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #ff8a804d;transition:all .2s}.sidebar-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ff8a8066}.sidebar-close-btn{width:28px;height:28px;border-radius:var(--radius-sm);background:#ff8a8033;color:var(--primary-main);border:none;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.sidebar-close-btn:hover{background:var(--primary-main);color:#fff;transform:scale(1.1)}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{font-size:2rem}.user-nickname{font-size:1rem;font-weight:600;color:var(--text-primary)}.sidebar-help-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem .8rem;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:500}.sidebar-help-btn:hover{background:var(--bg-card-hover);border-color:var(--primary-main);color:var(--primary-main)}.sidebar-nav{flex:1;padding:1rem;overflow-y:auto}.nav-section{margin-bottom:1.5rem}.nav-section-title{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.class-list{list-style:none;padding:0;margin:0}.class-item{display:flex;align-items:center;gap:.5rem;padding:.75rem .85rem;margin-bottom:.25rem;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;color:var(--text-secondary)}.class-item:hover{background:var(--bg-card-hover);color:var(--primary-main)}.class-item.active{background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;box-shadow:0 2px 8px #ff8a8040}.class-icon{font-size:1.1rem}.class-name{font-size:.9rem;font-weight:500;flex:1}.class-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.class-item:hover .class-actions{opacity:1}.class-action-btn{width:24px;height:24px;border-radius:var(--radius-sm);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:all .2s;background:var(--bg-card-hover);color:var(--text-secondary)}.class-action-btn:hover{transform:scale(1.1)}.edit-btn:hover{background:var(--secondary-main);color:#fff}.delete-btn:hover{background:var(--danger);color:#fff}.add-class-btn-sidebar{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-card-hover);color:var(--primary-main);border:1px dashed var(--primary-main);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.9rem}.add-class-btn-sidebar:hover{background:var(--primary-main);color:#fff;border-color:var(--primary-main)}.btn-icon{font-size:1.2rem;font-weight:700}.sidebar-footer{padding:1rem;border-top:1px solid var(--border-light);margin-top:auto}.sidebar-custom-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.sidebar-custom-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem .9rem;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.88rem;font-weight:500;box-shadow:0 2px 6px #ff8a804d}.sidebar-custom-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-main));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8066}.logout-btn-sidebar{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:#ff8a801a;color:var(--danger);border:1px solid rgba(255,138,128,.2);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:500}.logout-btn-sidebar:hover{background:var(--danger);color:#fff;border-color:var(--danger);transform:translateY(-2px)}@media(max-width:768px){.sidebar{width:100%}.sidebar.open{transform:translate(0)}}.history-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:flex-end;z-index:2000;animation:fadeIn .2s ease-out}.history-panel{width:400px;max-width:90vw;height:100vh;background:var(--bg-card);box-shadow:-4px 0 20px #ff8c8026;display:flex;flex-direction:column;animation:slideInRight .3s ease-out}.history-header{padding:1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff}.history-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600}.history-close-btn{width:32px;height:32px;border-radius:6px;background:#fff3;color:#fff;border:none;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.history-close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.history-filters{display:flex;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);background:var(--bg-card);overflow-x:auto}.filter-tag{padding:.4rem .85rem;font-size:.85rem;font-weight:500;border:1px solid var(--border-input);border-radius:20px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.filter-tag:hover{border-color:var(--primary-main);color:var(--primary-main)}.filter-tag.active{background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border-color:transparent}.filter-tag.undo-btn{background:linear-gradient(135deg,var(--danger),var(--primary-dark));color:#fff;border-color:transparent;margin-left:auto}.filter-tag.undo-btn:hover{background:linear-gradient(135deg,var(--primary-dark),var(--danger));transform:scale(1.05);box-shadow:0 2px 8px #ff6b6066}.history-list{flex:1;overflow-y:auto;padding:0}.history-item{display:flex;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);transition:background-color .2s}.history-item:hover{background:var(--bg-card-hover)}.history-item-icon{font-size:1.5rem;min-width:2rem;text-align:center}.history-item-content{flex:1;min-width:0}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;gap:.5rem}.history-action-row{display:flex;align-items:center;gap:.5rem;flex:1}.history-action{font-weight:600;color:var(--text-primary);font-size:.95rem}.history-source-tag{font-size:.7rem;font-weight:600;color:#fff;padding:.15rem .5rem;border-radius:10px;white-space:nowrap}.history-change{font-weight:700;font-size:.9rem;padding:.2rem .5rem;border-radius:4px}.change-positive{background:linear-gradient(135deg,var(--success),#66bb6a);color:#fff}.change-negative{background:linear-gradient(135deg,var(--danger),var(--primary-dark));color:#fff}.history-item-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-secondary)}.history-time{color:var(--text-primary);font-weight:500}.history-operator{color:var(--text-secondary)}.settlement-details{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-light);font-size:.75rem;color:var(--text-secondary)}.settlement-details span{background:var(--bg-card-hover);padding:.2rem .5rem;border-radius:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state p{font-size:1rem;color:var(--text-primary)}.history-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-light);background:var(--bg-card-hover);text-align:center;font-size:.85rem;color:var(--text-secondary)}.history-footer span{margin:0 .25rem}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track{background:var(--bg-card-hover)}.history-list::-webkit-scrollbar-thumb{background:#d4a59a;border-radius:3px}.history-list::-webkit-scrollbar-thumb:hover{background:#c4958a}@media(max-width:768px){.history-panel{width:100%;max-width:100%}.history-panel-overlay{justify-content:center}}.low-mood-warning-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.low-mood-warning-panel{width:400px;max-width:90vw;max-height:80vh;background:#fff;border-radius:12px;box-shadow:0 8px 30px #0003;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.warning-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;border-radius:12px 12px 0 0}.warning-title{display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:600}.warning-icon{font-size:1.5rem}.warning-close-btn{width:28px;height:28px;border-radius:6px;background:#fff3;color:#fff;border:none;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.warning-close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.warning-student-list{flex:1;overflow-y:auto;padding:1rem}.warning-student-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;margin-bottom:.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #f39c12;transition:background-color .2s}.warning-student-item:hover{background:#f0f0f0}.student-info{display:flex;align-items:center;gap:.75rem;flex:1}.student-emoji{font-size:1.5rem}.student-details{display:flex;flex-direction:column;gap:.25rem}.student-nickname{font-weight:600;color:#333;font-size:.95rem}.student-mood{font-size:.8rem;color:#e67e22;font-weight:600}.quick-praise-btn{padding:.4rem 1rem;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.quick-praise-btn:hover{background:linear-gradient(135deg,#2ecc71,#27ae60);transform:scale(1.05);box-shadow:0 2px 6px #27ae6066}.warning-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end}.praise-all-btn{padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.praise-all-btn:hover{background:linear-gradient(135deg,#2ecc71,#27ae60);transform:scale(1.03);box-shadow:0 3px 8px #27ae6066}.cancel-btn{padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;background:#e0e0e0;color:#666;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#d0d0d0}.warning-student-list::-webkit-scrollbar{width:6px}.warning-student-list::-webkit-scrollbar-track{background:#f1f1f1}.warning-student-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.warning-student-list::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media(max-width:768px){.low-mood-warning-panel{width:100%;max-width:100%;max-height:100vh;border-radius:0}}.leaderboard-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.leaderboard-panel{width:400px;max-width:90vw;max-height:80vh;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 8px 30px #ff8c8033;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.leaderboard-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.leaderboard-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600}.trophy-icon{font-size:1.5rem}.leaderboard-close-btn{width:28px;height:28px;border-radius:6px;background:#fff3;color:#fff;border:none;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.leaderboard-close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.leaderboard-list{flex:1;overflow-y:auto;padding:1rem}.leaderboard-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.5rem;background:var(--bg-card);border-radius:var(--radius-md);border-left:4px solid var(--primary-main);transition:all .2s}.leaderboard-item:hover{background:var(--bg-card-hover);transform:translate(5px)}.item-rank{display:flex;align-items:center;gap:.5rem;min-width:3rem}.medal-icon{font-size:1.5rem}.rank-number{font-size:.85rem;font-weight:600;color:#999;width:1.5rem;text-align:center}.item-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.item-nickname{font-weight:600;color:#333;font-size:.95rem}.item-exp{font-size:.8rem;color:var(--primary-main);font-weight:600}.item-mood{min-width:2.5rem;text-align:center}.mood-emoji{font-size:1.5rem}.view-btn{padding:.4rem 1rem;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:2px solid var(--primary-dark);border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.view-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));transform:scale(1.05);box-shadow:0 2px 6px #ff8a8066}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:#999}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state p{font-size:1rem;color:#666}.leaderboard-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;background:#f8f9fa;display:flex;justify-content:space-between;font-size:.85rem;color:#666}.leaderboard-list::-webkit-scrollbar{width:6px}.leaderboard-list::-webkit-scrollbar-track{background:#f1f1f1}.leaderboard-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.leaderboard-list::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media(max-width:768px){.leaderboard-panel{width:100%;max-width:100%;max-height:100vh;border-radius:0}.leaderboard-item{padding:.6rem .75rem}.medal-icon,.mood-emoji{font-size:1.2rem}.view-btn{padding:.3rem .75rem;font-size:.8rem}}.creature-animated{position:relative;display:inline-block;transition:transform .3s ease}.creature-animated:hover{transform:scale(1.1)}.creature-player{width:100%;height:100%;display:block}.creature-static{position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:50%;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.creature-static:hover{transform:scale(1.1);box-shadow:0 8px 20px #00000026}.creature-svg{width:100%;height:100%;display:block}.mood-indicator{position:absolute;bottom:5px;right:5px;background:#ffffffe6;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 8px #00000026;pointer-events:none}.creature-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:50%;position:relative}.loading-spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:8px;font-size:12px;color:#666}@keyframes spin{to{transform:rotate(360deg)}}.creature-static.error{cursor:pointer}.creature-static.error:after{content:"⚠️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px}.stage-badge{position:absolute;top:5px;left:5px;background:#ffffffe6;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px 8px #0000001a}.creature-static.mood-happy{box-shadow:0 4px 15px #ffd70066}.creature-static.mood-good{box-shadow:0 4px 15px #90ee9066}.creature-static.mood-normal{box-shadow:0 4px 15px #87ceeb66}.creature-static.mood-bad{box-shadow:0 4px 15px #ffa50066}.creature-static.mood-sad{box-shadow:0 4px 15px #80808066}@media(max-width:768px){.creature-animated,.creature-static{transition:transform .2s ease}.loading-spinner{width:30px;height:30px;border-width:3px}.loading-text{font-size:10px}}@media(prefers-reduced-motion:reduce){.creature-animated:hover,.creature-static:hover{transform:none}.loading-spinner{animation-duration:2s}}.evolution-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease;overflow:hidden}.evolution-content{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;padding:40px;text-align:center;max-width:450px;width:90%;position:relative;box-shadow:0 20px 60px #00000080;animation:slideUp .5s ease}.evolution-title{font-size:32px;margin-bottom:30px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3);animation:bounce .8s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.evolution-creatures{position:relative;width:200px;height:200px;margin:0 auto 30px}.evolution-creature{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;transition:opacity .5s ease,transform .5s ease}.old-creature.fading{opacity:0;transform:scale(.8);filter:blur(10px)}.new-creature.appearing{opacity:0;transform:scale(1.2);filter:blur(5px)}.new-creature.finished{opacity:1;transform:scale(1);filter:blur(0)}.creature-info{margin-top:10px;display:flex;flex-direction:column;align-items:center;gap:4px}.creature-nickname{font-size:18px;font-weight:700;color:#fff}.creature-stage{font-size:14px;color:#ffffffe6}.evolution-light{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.light-burst{width:150px;height:150px;background:radial-gradient(circle,#ffffffe6,#fff0 70%);border-radius:50%;animation:pulse .5s ease infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}}.light-particles{position:absolute;width:100%;height:100%}.particle{position:absolute;top:50%;left:50%;width:8px;height:8px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);animation:particleFly var(--duration, 1.5s) ease-out var(--delay, 0) forwards;opacity:0}@keyframes particleFly{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(calc(-50% + cos(var(--i) * 30deg)*100px),calc(-50% + sin(var(--i) * 30deg)*100px)) scale(1);opacity:0}}.evolution-info{margin-bottom:25px}.evolution-arrow{font-size:24px;margin-bottom:10px;color:#ffffffe6}.evolution-message{font-size:16px;color:#fffffff2;margin:0}.evolution-actions{display:flex;gap:12px;justify-content:center}.evolution-btn{padding:12px 28px;font-size:16px;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #0003}.evolution-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.evolution-btn:active{transform:translateY(0)}.continue-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.view-btn{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5)}.evolution-effects{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:-10px;width:10px;height:10px;background:var(--color, #ff0000);left:calc(var(--i) * 3.33%);animation:confettiFall var(--duration, 2s) linear var(--delay, 0) infinite;transform:rotate(0)}@keyframes confettiFall{0%{top:-10px;transform:rotate(0) translate(0);opacity:1}to{top:110%;transform:rotate(720deg) translate(20px);opacity:.8}}.stars-effects{position:absolute;inset:0;pointer-events:none;overflow:hidden}.star{position:absolute;font-size:calc(var(--size, 10) * 1px);animation:starTwinkle 1.5s ease-in-out var(--delay, 0) infinite;filter:drop-shadow(0 0 5px rgba(255,255,255,.8))}@keyframes starTwinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@media(max-width:768px){.evolution-content{padding:30px 20px;width:95%}.evolution-title{font-size:24px}.evolution-creatures{width:150px;height:150px}.evolution-actions{flex-direction:column}.evolution-btn{width:100%}.confetti{width:8px;height:8px}}@media(prefers-reduced-motion:reduce){.evolution-title,.light-burst,.confetti,.star{animation:none}.old-creature.fading,.new-creature.appearing,.new-creature.finished{transition:opacity .3s ease;transform:none;filter:none}}.effect-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:10}.effect-particle{position:absolute;font-size:1.2rem;opacity:0;animation:float-up 1.5s ease-out forwards}.effect-heart{color:#ff6b6b;text-shadow:0 0 5px rgba(255,107,107,.5)}.effect-star{color:#feca57;text-shadow:0 0 5px rgba(254,202,87,.5)}.effect-cloud{color:#a4b0be;text-shadow:0 0 5px rgba(164,176,190,.3)}.effect-coin{color:gold;text-shadow:0 0 5px rgba(255,215,0,.5)}.effect-angry{color:#ff4757;text-shadow:0 0 5px rgba(255,71,87,.5)}@keyframes float-up{0%{transform:translateY(20px) translate(0) scale(.5) rotate(0);opacity:0}10%{opacity:1}50%{transform:translateY(-40px) translate(5px) scale(1.1) rotate(10deg)}to{transform:translateY(var(--offset-y, -80px)) translate(-5px) scale(.8) rotate(-10deg);opacity:0}}.effect-star{animation-name:float-up-star}@keyframes float-up-star{0%{transform:translateY(20px) translate(0) scale(.5) rotate(0);opacity:0}10%{opacity:1}50%{transform:translateY(-30px) translate(3px) scale(1.1) rotate(90deg)}to{transform:translateY(-60px) translate(-3px) scale(.8) rotate(180deg);opacity:0}}.effect-cloud{animation-name:float-up-cloud}@keyframes float-up-cloud{0%{transform:translateY(20px) translate(0) scale(.8);opacity:0}10%{opacity:1}50%{transform:translateY(-25px) translate(8px) scale(1)}to{transform:translateY(-50px) translate(-8px) scale(.9);opacity:0}}.effect-coin{animation-name:float-up-coin}@keyframes float-up-coin{0%{transform:translateY(20px) scaleX(1) scaleY(.5);opacity:0}10%{opacity:1}50%{transform:translateY(-35px) scaleX(.5) scaleY(1.1)}to{transform:translateY(-70px) scaleX(.3) scaleY(.8);opacity:0}}.effect-angry{animation-name:float-up-angry}@keyframes float-up-angry{0%{transform:translateY(10px) translate(0) scale(.8);opacity:0}10%{opacity:1}50%{transform:translateY(-20px) translate(3px) scale(1.2)}to{transform:translateY(-40px) translate(-3px) scale(.9);opacity:0}}.custom-actions-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:flex-end;z-index:2000;animation:fadeIn .2s ease-out}.custom-actions-panel{width:450px;max-width:90vw;height:100vh;background:var(--bg-card);box-shadow:-4px 0 20px #ff8c8026;display:flex;flex-direction:column;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.custom-actions-header{padding:1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff}.custom-actions-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600}.custom-actions-close-btn{width:32px;height:32px;border-radius:6px;background:#fff3;color:#fff;border:none;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.custom-actions-close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.custom-actions-toolbar{padding:1rem 1.5rem;border-bottom:1px solid var(--border-light)}.add-action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #ff8a804d}.add-action-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8066}.custom-actions-list{flex:1;overflow-y:auto;padding:1rem 1.5rem}.loading-actions{text-align:center;padding:3rem;color:var(--text-secondary)}.action-group{margin-bottom:1.5rem}.action-group-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-primary);padding:.5rem 0;margin-bottom:.75rem;border-bottom:2px solid var(--border-light)}.group-emoji{font-size:1.1rem}.action-items{display:flex;flex-direction:column;gap:.5rem}.action-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-card-hover);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:all .2s;min-width:0}.action-item-content{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.action-emoji{font-size:1.2rem;flex-shrink:0}.action-name{font-weight:600;color:var(--text-primary);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.action-value{font-size:.85rem;color:var(--text-secondary);font-weight:500;flex-shrink:0}.action-delete-btn{padding:.35rem .75rem;font-size:.8rem;font-weight:600;color:var(--danger);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;flex-shrink:0;white-space:nowrap}.action-item:hover{border-color:var(--primary-main);box-shadow:0 2px 8px #ff8a8026}.action-delete-btn:hover{background:var(--danger);color:#fff}.empty-group{text-align:center;padding:1rem;color:var(--text-light);font-size:.9rem}.custom-actions-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-light);background:var(--bg-card-hover);font-size:.85rem;color:var(--text-secondary);text-align:center}.add-action-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2100;animation:fadeIn .2s ease-out}.add-action-modal{width:400px;max-width:calc(90vw - 40px);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 8px 32px #ff8c8033;animation:slideUp .3s ease-out;box-sizing:border-box}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light)}.modal-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.modal-close-btn{width:28px;height:28px;border-radius:6px;background:transparent;border:1px solid var(--border-light);color:var(--text-secondary);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-btn:hover{background:var(--bg-card-hover);border-color:var(--primary-main);color:var(--primary-main)}.modal-body{padding:1.5rem;box-sizing:border-box}.form-group{margin-bottom:0}.form-group label{display:block;font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.form-group input[type=text],.form-group input[type=number]{width:100%;max-width:100%;box-sizing:border-box;padding:.75rem 1rem;border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:.95rem;color:var(--text-primary);background:var(--bg-card);transition:all .2s}.form-group input[type=text]:focus,.form-group input[type=number]:focus{border-color:var(--primary-main);outline:none;box-shadow:0 0 0 3px #ff8a801a}.form-row{display:flex;gap:1rem;margin-bottom:1.25rem}.form-row .form-group{flex:1;margin-bottom:0}.radio-group{display:flex;gap:.75rem;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-primary);cursor:pointer;font-weight:500;padding:.4rem .75rem;border-radius:var(--radius-sm);background:var(--bg-card-hover);transition:all .2s}.radio-label:hover{background:var(--primary-light)}.radio-label input[type=radio]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-main)}.preview-box{padding:.875rem 1rem;background:var(--bg-card-hover);border-radius:var(--radius-md);border:1px dashed var(--border-light);text-align:center;font-size:.95rem;color:var(--text-primary);margin-bottom:0}.preview-box strong{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light);box-sizing:border-box}.cancel-btn,.confirm-btn{padding:.65rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.cancel-btn{background:transparent;border:1px solid var(--border-light);color:var(--text-secondary)}.cancel-btn:hover{border-color:var(--primary-main);color:var(--primary-main)}.confirm-btn{background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;box-shadow:0 2px 6px #ff8a804d}.confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8066}.confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.custom-actions-panel{width:100%;max-width:100%}.custom-actions-panel-overlay{justify-content:center}.add-action-modal{width:95%}.form-row{flex-direction:column;gap:0}}.custom-redeem-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:3200}.custom-redeem-panel{width:min(760px,94vw);max-height:86vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 20px 44px #0000002e;border:1px solid #f0f0f0}.custom-redeem-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #f1f1f1}.custom-redeem-title{display:flex;align-items:center;gap:8px;font-weight:700}.custom-redeem-close-btn{border:none;background:transparent;cursor:pointer;font-size:18px}.custom-redeem-toolbar{padding:12px 16px 0}.custom-redeem-add-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:#5d4037;color:#fff;border-radius:10px;padding:8px 12px;cursor:pointer}.custom-redeem-loading{padding:22px;text-align:center;color:#777}.custom-redeem-list{padding:12px 16px 16px;display:grid;gap:12px}.custom-redeem-group{border:1px solid #f0ebe8;border-radius:12px;background:#fffaf7;padding:10px}.custom-redeem-group-title{font-weight:600;font-size:13px;color:#6d4c41;margin-bottom:8px}.custom-redeem-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #f0f0f0;border-radius:10px;padding:8px 10px;background:#fff}.custom-redeem-group .custom-redeem-item+.custom-redeem-item{margin-top:8px}.custom-redeem-item-content{display:flex;align-items:center;gap:8px;min-width:0}.custom-redeem-emoji{font-size:16px}.custom-redeem-name{font-size:14px;font-weight:600;color:#4e342e}.custom-redeem-value{font-size:13px;color:#8d6e63}.custom-redeem-delete-btn,.custom-redeem-restore-btn{border:none;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer}.custom-redeem-delete-btn{background:#ffe8e8;color:#a33}.custom-redeem-restore-btn{background:#e8f5e9;color:#2e7d32}.custom-redeem-item-removed{opacity:.85}.custom-redeem-empty{color:#999;font-size:12px;padding:4px 0}.custom-redeem-footer{padding:0 16px 14px;font-size:12px;color:#8d8d8d}.custom-redeem-add-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:3300}.custom-redeem-add-modal{width:min(460px,92vw);background:#fff;border-radius:14px;border:1px solid #ececec;box-shadow:0 14px 36px #0003}.custom-redeem-add-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f0f0f0}.custom-redeem-add-header h3{margin:0;font-size:16px}.custom-redeem-add-header button{border:none;background:transparent;cursor:pointer;font-size:18px}.custom-redeem-add-body{padding:12px 14px;display:grid;gap:10px}.custom-redeem-add-tip{font-size:12px;color:#8d6e63;background:#f9f4f2;border-radius:8px;padding:8px 10px}.custom-redeem-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.custom-redeem-form-group{display:grid;gap:6px}.custom-redeem-form-group label{font-size:12px;color:#6f6f6f}.custom-redeem-form-group input[type=text],.custom-redeem-form-group input[type=number]{border:1px solid #ddd;border-radius:8px;padding:8px 10px}.custom-redeem-radio-group{display:flex;gap:10px;font-size:13px}.custom-redeem-preview{background:#f9f4f2;border-radius:8px;padding:8px 10px;font-size:13px;color:#6d4c41}.custom-redeem-add-footer{padding:10px 14px 14px;display:flex;justify-content:flex-end;gap:8px}.custom-redeem-add-footer button{border:none;border-radius:8px;padding:8px 12px;cursor:pointer}.custom-redeem-confirm-btn{background:#5d4037;color:#fff}:root{--bg-main: #fef9f3;--bg-card: #fffaf5;--bg-card-hover: #fff5eb;--border-card: #ffe0d0;--border-input: #ffd7c4;--border-light: #ffe8d8;--primary-main: #ff8a80;--primary-light: #ffab98;--primary-dark: #ff6b60;--secondary-main: #ffcc80;--secondary-light: #ffe0b3;--secondary-dark: #ffb74d;--success: #81c784;--success-light: #b9f6ca;--warning: #ffb74d;--danger: #ff8a80;--danger-light: #ffcdd2;--text-primary: #4a4a4a;--text-secondary: #888888;--text-light: #aaaaaa;--text-white: #ffffff;--shadow-card: 0 4px 16px rgba(255, 140, 128, .15);--shadow-card-hover: 0 8px 24px rgba(255, 140, 128, .25);--shadow-soft: 0 2px 8px rgba(255, 182, 152, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}.app-container{display:flex;min-height:100vh;background:var(--bg-main)}.main-content-wrapper{flex:1;padding:2rem;background:var(--bg-main)}.main-content{flex:1;padding:2rem;background:var(--bg-main);transition:padding .3s ease}.main-content.sidebar-closed{padding:2rem}.input-section{display:flex;justify-content:flex-start;margin-bottom:2rem}.input-row{display:flex;gap:1rem;align-items:center;justify-content:center;width:100%;max-width:800px;margin:0 auto}.nickname-input{padding:.75rem 1rem;font-size:1rem;border:2px solid var(--border-input);border-radius:var(--radius-md);width:250px;transition:all .3s;text-align:center;background:var(--bg-card);color:var(--text-primary)}.nickname-input:focus{outline:none;border-color:var(--primary-main);box-shadow:0 0 0 3px var(--secondary-light)}.add-btn{padding:.75rem 1.5rem;font-size:1rem;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #ff8a804d}.add-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-main));transform:translateY(-2px);box-shadow:0 6px 16px #ff8a8066}.manage-btn{padding:.75rem 1.5rem;font-size:1rem;background:linear-gradient(135deg,var(--secondary-main),var(--secondary-light));color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #ffcc804d}.manage-btn:hover{background:linear-gradient(135deg,var(--secondary-light),var(--secondary-main));transform:translateY(-2px);box-shadow:0 6px 16px #ffcc8066}.stats-btn{padding:.75rem 1.25rem;font-size:1.2rem;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #ff8a804d}.stats-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-main));transform:translateY(-2px);box-shadow:0 6px 16px #ff8a8066}.custom-actions-btn{padding:.75rem 1rem;font-size:1.1rem;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #ff8a804d}.custom-actions-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));transform:translateY(-2px);box-shadow:0 6px 16px #ff8a8066}.done-btn{padding:.75rem 2rem;font-size:1rem;background:linear-gradient(135deg,var(--success),var(--success-light));color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #81c7844d}.done-btn:hover{background:linear-gradient(135deg,var(--success-light),var(--success));transform:translateY(-2px);box-shadow:0 6px 16px #81c78466}.add-box{width:150px;height:180px;border:3px dashed var(--border-light);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;background:var(--bg-card)}.add-box:hover{border-color:var(--primary-main);background:var(--bg-card-hover);box-shadow:var(--shadow-soft)}.add-box .add-icon{font-size:2rem;color:var(--text-light);font-weight:300}.add-box:hover .add-icon{color:var(--primary-main)}.add-student-card{width:200px;min-height:260px;padding:.75rem;border:2px dashed var(--border-light);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .3s;background:var(--bg-card);box-sizing:border-box;flex-shrink:0}.add-student-card .add-icon{font-size:3rem;color:var(--text-light);font-weight:300;transition:all .3s}.add-student-card .add-text{font-size:.9rem;color:var(--text-secondary);transition:all .3s}.add-student-card:hover{border-color:var(--primary-main);background:var(--bg-card-hover);box-shadow:var(--shadow-card)}.add-student-card:hover .add-icon,.add-student-card:hover .add-text{color:var(--primary-main)}.creatures-grid{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;justify-content:flex-start}.creature-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:.75rem;border:2px solid var(--border-card);box-shadow:var(--shadow-card);transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;width:200px;min-height:260px;box-sizing:border-box;flex-shrink:0;display:flex;flex-direction:column;align-items:center}.creature-card.mood-warning{border-color:var(--warning)!important;box-shadow:0 4px 12px #ffb74d66}.creature-card.weak{border-color:var(--danger)!important;box-shadow:0 4px 12px #ff6b6b66}.creature-card.weak .creature-image-container .creature-img{filter:grayscale(100%) brightness(.6)}.weak-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;z-index:10;pointer-events:none}.weak-text{font-size:1.4rem;font-weight:700;color:#ff6b6b;text-shadow:0 0 10px rgba(255,107,107,.8),0 0 20px rgba(255,107,107,.5);background:#000000bf;padding:.4rem .85rem;border-radius:var(--radius-md);border:2px solid var(--danger);white-space:nowrap}.creature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover);border-color:var(--primary-light)}.creature-image-container{width:110px;height:110px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:.25rem auto;overflow:hidden;flex-shrink:0;position:relative;cursor:pointer;background-color:var(--bg-card)}.creature-change-overlay{position:absolute;inset:0;background-color:#0009;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;opacity:0;transition:opacity .2s,background-color .2s;border-radius:50%}.creature-image-container:hover .creature-change-overlay{opacity:1;background-color:#000000bf}.reward-display-container{width:100%;min-height:1.45rem;display:flex;align-items:center;justify-content:center;margin-top:.22rem;cursor:pointer;border-radius:8px;transition:background-color .2s ease}.reward-display-container:hover{background:#fff5eea6}.reward-badge-row{width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem}.reward-badge{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .35rem;border-radius:999px;font-size:.7rem;font-weight:600;line-height:1;white-space:nowrap}.reward-empty-text{font-size:.68rem;color:#9e9e9e;line-height:1;-webkit-user-select:none;user-select:none}.redeem-shop-modal{max-width:420px}.redeem-shop-student{margin-top:.5rem;text-align:center;font-weight:600;color:#5d4037}.redeem-shop-balance{margin-top:.3rem;margin-bottom:.8rem;text-align:center;font-size:.9rem;color:#8d6e63}.redeem-shop-tip{margin-top:-.2rem;margin-bottom:.8rem;text-align:center;font-size:.78rem;color:#8d6e63}.redeem-shop-list{display:grid;gap:.6rem;max-height:320px;overflow:auto}.redeem-shop-item{border:1px solid #f0e0d6;border-radius:10px;background:#fff8f2;display:flex;align-items:center;justify-content:space-between;padding:.68rem .8rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.redeem-shop-item:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014;background:#fff2e8}.redeem-shop-item.custom-entry{border-style:dashed;border-color:#b8c6ef;background:#f5f8ff}.redeem-shop-item.custom-entry:hover{background:#eaf0ff}.redeem-shop-item.custom-entry .redeem-shop-item-name{color:#334d92}.redeem-shop-item.custom-entry .redeem-shop-item-value{color:#4f63a3;font-weight:600}.redeem-shop-item.disabled,.redeem-shop-item:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.redeem-shop-item-name{font-size:.92rem;font-weight:600;color:#4e342e}.redeem-shop-item-value{font-size:.86rem;color:#6d4c41}.redeem-shop-empty{text-align:center;color:#999;font-size:.85rem;padding:.8rem 0}.reward-badge-l2{background:#81d4fa38;color:#036ea4}.reward-badge-l1{background:#ffab9142;color:#bf360c}.creature-image{width:80px;height:80px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.creature-missing{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;font-size:.75rem}.creature-missing .missing-icon{font-size:2rem;margin-bottom:.25rem}.creature-missing .missing-text{font-size:.7rem;text-align:center}.creature-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;font-size:.75rem}.creature-placeholder span:first-child{font-size:2rem;margin-bottom:.25rem}.creature-img{width:100%;height:100%;object-fit:cover;flex-shrink:0}.creature-nickname{text-align:center;font-weight:700;color:var(--text-primary)!important;font-size:.95rem;word-break:break-word;margin-bottom:.5rem;width:100%;line-height:1.3;text-shadow:0 1px 2px rgba(255,140,128,.1);max-width:100%;overflow-wrap:break-word}.close-btn{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:50%;background-color:var(--danger);color:#fff;border:none;font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;z-index:10;box-shadow:0 2px 6px #ff8a804d}.close-btn:hover{background-color:var(--primary-dark);transform:scale(1.1);box-shadow:0 4px 10px #ff8a8066}.student-checkbox{position:absolute;top:.5rem;left:.5rem;width:20px;height:20px;cursor:pointer;z-index:10;accent-color:var(--primary-main)}.creature-level{background:linear-gradient(135deg,var(--secondary-main),var(--secondary-light));color:var(--text-primary);font-weight:700;font-size:.7rem;padding:.15rem .4rem;border-radius:6px;box-shadow:0 1px 3px #ffcc804d;margin-bottom:.25rem}.score-progress-container{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding:.5rem .25rem;border-radius:var(--radius-md);width:100%}.exp-progress-row{display:flex;align-items:center;gap:.5rem;width:100%}.exp-label{font-size:.75rem;font-weight:600;color:var(--primary-main);min-width:32px;text-align:right;flex-shrink:0}.score-progress-bar{flex:1;height:8px;background:#f0e6e0;border-radius:4px;overflow:visible;position:relative}.score-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-main),var(--primary-light));border-radius:4px;transition:width .3s ease;min-width:4px}.score-progress-value{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.65rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap;z-index:1}.level-badge{background:linear-gradient(135deg,var(--secondary-main),var(--secondary-light));color:var(--text-primary);font-weight:700;font-size:.7rem;padding:.2rem .5rem;border-radius:6px;box-shadow:0 2px 4px #ffcc8040;white-space:nowrap;flex-shrink:0}.mood-progress-container{display:flex;align-items:center;gap:.5rem;width:100%}.mood-label{font-size:.75rem;font-weight:600;color:var(--danger);min-width:32px;text-align:right;flex-shrink:0}.mood-progress-bar{flex:1;height:8px;background:#f0e6e0;border-radius:4px;overflow:visible;position:relative}.mood-progress-fill{height:100%;background:linear-gradient(90deg,var(--danger),var(--danger-light));border-radius:4px;transition:width .3s ease;min-width:4px}.mood-progress-value{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.65rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap;z-index:1}.mood-emoji{font-size:1.1rem;min-width:1.4rem;text-align:center;flex-shrink:0}.train-btn{width:100%;padding:.5rem .75rem;font-size:.8rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary-main),var(--primary-light));border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;margin-top:.25rem;box-shadow:0 2px 6px #ff8a8040;flex-shrink:0}.train-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-main));transform:translateY(-2px);box-shadow:0 4px 10px #ff8a8059}.modal-overlay{position:fixed;inset:0;background-color:#4a4a4a80;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);padding:2rem;border-radius:var(--radius-xl);max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:0 20px 60px #00000026;border:2px solid var(--border-light);position:relative}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{text-align:center;color:#333;margin-bottom:1.5rem}.modal-top-left-action{position:absolute;top:1rem;left:1rem}.modal-batch-import-btn{padding:.45rem .85rem;font-size:.8rem}.help-modal-content{max-width:560px}.help-modal-loading{text-align:center;color:var(--text-secondary);margin:1rem 0 1.5rem}.help-modal-text{color:var(--text-primary);line-height:1.75;white-space:pre-wrap;background:var(--bg-card-hover);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem;max-height:50vh;overflow-y:auto}.modal-nickname-input{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;justify-content:center}.modal-nickname-input label{font-size:1rem;color:#333;font-weight:500}.modal-nickname-input input{padding:.5rem 1rem;font-size:1rem;border:2px solid var(--border-input);border-radius:var(--radius-md);width:200px;transition:border-color .3s;background:var(--bg-card)}.modal-nickname-input input:focus{outline:none;border-color:var(--primary-main);box-shadow:0 0 0 3px var(--secondary-light)}.creature-options{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.creature-option{display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:var(--radius-md);border:2px solid var(--border-light);cursor:pointer;transition:all .2s;background-color:var(--bg-card)}.creature-option:hover{transform:scale(1.05);border-color:var(--primary-main);box-shadow:var(--shadow-soft)}.creature-option .creature-placeholder{font-size:2rem;margin-bottom:.25rem}.creature-option .creature-option-image{width:3rem;height:3rem;object-fit:contain;margin-bottom:.25rem}.creature-option .creature-name{font-size:.8rem;color:var(--text-secondary);text-transform:capitalize}.creature-option.selected{border-color:var(--primary-main);background:var(--bg-card-hover);box-shadow:var(--shadow-card)}.modal-actions{display:flex;gap:1rem;justify-content:center}.cancel-btn,.confirm-btn{padding:.75rem 2rem;font-size:1rem;border-radius:var(--radius-md);cursor:pointer;transition:all .3s;font-weight:600}.cancel-btn{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);color:var(--text-secondary);border:1px solid #e0e0e0}.cancel-btn:hover{background:linear-gradient(135deg,#e8e8e8,#f5f5f5);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.confirm-btn{background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;box-shadow:0 2px 8px #ff8a804d}.confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-light),var(--primary-main));transform:translateY(-2px);box-shadow:0 6px 16px #ff8a8066}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn.remove{background:linear-gradient(135deg,var(--danger),var(--danger-light));box-shadow:0 2px 8px #ff8a804d}.confirm-btn.remove:hover{background:linear-gradient(135deg,var(--danger-light),var(--danger));box-shadow:0 6px 16px #ff8a8066}.remove-confirm-text{text-align:center;color:#666;font-size:1rem;margin-bottom:1.5rem;line-height:1.6}@media(max-width:600px){.input-row{flex-wrap:wrap}.nickname-input{width:100%;order:1}.add-btn,.manage-btn{order:3}.creature-options{grid-template-columns:repeat(3,1fr)}.modal-nickname-input{flex-direction:column}.modal-nickname-input input{width:100%}}@media(max-width:480px){.creatures-grid{gap:.75rem;padding:.5rem}.creature-card{width:calc(50% - .375rem);min-height:200px;padding:.5rem}.creature-image-container{width:80px;height:80px}.creature-img{max-width:80px;max-height:80px}.creature-nickname{font-size:.85rem}.reward-badge-row{gap:.2rem}.reward-badge{font-size:.62rem;padding:.08rem .26rem}.reward-display-container{min-height:1.15rem;margin-top:.12rem}.reward-empty-text{font-size:.58rem}.exp-progress-container,.mood-progress-container{font-size:.75rem}.exp-label,.mood-label{font-size:.7rem}.score-progress-bar,.mood-progress-bar{height:6px}.score-progress-value,.mood-progress-value{font-size:.55rem}.level-badge{font-size:.65rem;padding:.1rem .3rem}.function-buttons{gap:.25rem}.function-btn{padding:.4rem .6rem;font-size:.7rem}.add-student-card{width:calc(50% - .375rem);min-height:200px;padding:.5rem}.add-student-card .add-icon{font-size:2rem}.add-student-card .add-text{font-size:.75rem}}@media(min-width:481px)and (max-width:768px){.creatures-grid{gap:1rem;padding:.75rem}.creature-card{width:160px;min-height:220px;padding:.75rem}.creature-image-container{width:100px;height:100px}.creature-img{max-width:100px;max-height:100px}.creature-nickname{font-size:.9rem}.reward-badge{font-size:.66rem;padding:.1rem .3rem}.reward-display-container{min-height:1.25rem;margin-top:.16rem}.reward-empty-text{font-size:.62rem}.exp-progress-container,.mood-progress-container{font-size:.8rem}.score-progress-bar,.mood-progress-bar{height:7px}.score-progress-value,.mood-progress-value{font-size:.6rem}.level-badge{font-size:.7rem;padding:.15rem .4rem}.function-btn{padding:.5rem .75rem;font-size:.8rem}.add-student-card{width:160px;min-height:220px;padding:.75rem}.add-student-card .add-icon{font-size:2.5rem}.add-student-card .add-text{font-size:.8rem}}.user-class-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;margin-bottom:1.5rem;color:#fff;flex-wrap:wrap;gap:1rem}.user-info{font-size:1rem;font-weight:600}.class-selector{display:flex;gap:.5rem;align-items:center}.class-select{padding:.5rem 1rem;font-size:.9rem;border:none;border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.class-select:hover{background:var(--bg-card-hover)}.add-class-btn{padding:.5rem 1rem;font-size:.9rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.add-class-btn:hover{background:#ffffff4d}.style-selector{margin-bottom:1.5rem}.style-selector label{display:block;font-size:1rem;color:var(--text-primary);font-weight:500;margin-bottom:.75rem;text-align:center}.style-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.style-option{display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:var(--radius-md);border:2px solid var(--border-light);cursor:pointer;transition:all .3s ease;background:var(--bg-card)}.style-option:hover{transform:scale(1.02);border-color:var(--primary-main);box-shadow:var(--shadow-soft)}.style-option.selected{border-width:2px;border-color:var(--primary-main);transform:scale(1.05);box-shadow:var(--shadow-card);background:var(--bg-card-hover)}.style-option .style-icon{display:none}.style-option .style-name{font-size:1.1rem;color:var(--text-secondary);font-weight:600}@media(max-width:600px){.user-class-bar{flex-direction:column;align-items:flex-start}.class-selector{width:100%;justify-content:space-between}.class-select{flex:1}.style-options{grid-template-columns:1fr}.creature-options{grid-template-columns:repeat(2,1fr)}}@media(prefers-color-scheme:light){h1,.creature-nickname,.modal-content h2{color:#333}}@keyframes evolve-pulse{0%{transform:scale(1);box-shadow:0 0 #646cffb3}50%{transform:scale(1.05);box-shadow:0 0 0 20px #646cff00}to{transform:scale(1);box-shadow:0 0 #646cff00}}@keyframes evolve-glow{0%,to{filter:brightness(1) drop-shadow(0 0 5px rgba(100,108,255,.5))}50%{filter:brightness(1.2) drop-shadow(0 0 20px rgba(100,108,255,.8))}}@keyframes evolve-shine{0%{background-position:-200% center}to{background-position:200% center}}@keyframes evolve-rainbow{0%{border-color:#ff6b6b;box-shadow:0 0 10px #ff6b6b80}25%{border-color:#feca57;box-shadow:0 0 10px #feca5780}50%{border-color:#48dbfb;box-shadow:0 0 10px #48dbfb80}75%{border-color:#1dd1a1;box-shadow:0 0 10px #1dd1a180}to{border-color:#ff6b6b;box-shadow:0 0 10px #ff6b6b80}}@keyframes evolve-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes evolve-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.evolve-pulse{animation:evolve-pulse 1.5s ease-in-out infinite}.evolve-glow{animation:evolve-glow 2s ease-in-out infinite}.evolve-shine{background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);background-size:200% 100%;animation:evolve-shine 1.5s ease-in-out infinite}.evolve-rainbow{animation:evolve-rainbow 3s linear infinite}.evolve-float{animation:evolve-float 3s ease-in-out infinite}.evolve-spin{animation:evolve-spin 2s linear infinite}.evolve-combined{animation:evolve-pulse 1.5s ease-in-out infinite,evolve-glow 2s ease-in-out infinite}.evolution-notification{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 8px 20px #f39c1266;display:flex;align-items:center;gap:.75rem;z-index:2000;animation:slideInRight .3s ease-out,fadeOut .3s ease-in 2.7s forwards}.settlement-notification{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;padding:1.25rem 1.5rem;border-radius:12px;box-shadow:0 8px 20px #27ae6066;z-index:2000;animation:slideInRight .3s ease-out,fadeOut .3s ease-in 2.7s forwards;min-width:280px}.settlement-content{display:flex;flex-direction:column;gap:.75rem}.settlement-title{font-weight:600;font-size:1rem;text-align:center;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.3)}.settlement-info{display:flex;flex-direction:column;gap:.5rem}.settlement-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.settlement-row .info-label{color:#ffffffe6;font-weight:400}.settlement-row .info-value{font-weight:600;padding-left:.5rem}.settlement-message{font-size:.85rem;color:#fffffff2;text-align:center;padding-top:.5rem}.settlement-message.weak-warning{color:#ffeb3b;font-weight:600;padding-top:.25rem}border-top: 1px solid rgba(255,255,255,.2); line-height: 1.4; } @keyframes slideInRight{from{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.notification-icon{font-size:1.5rem}.notification-message{font-weight:600;font-size:.95rem}.train-menu{position:absolute;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 8px 32px #ff8c8033;padding:1rem;z-index:1001;width:200px;display:flex;flex-direction:column;gap:.5rem;animation:dropdownSlideIn .2s ease-out;border:2px solid var(--border-light)}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.train-menu-header{font-size:.9rem;font-weight:600;color:var(--text-primary);text-align:center;padding-bottom:.5rem;margin-bottom:.25rem;border-bottom:1px solid var(--border-light)}.train-menu-btn{width:100%;padding:.75rem 1rem;font-size:.9rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.train-menu hr{width:100%;border:none;border-top:1px solid var(--border-light);margin:.25rem 0}.train-menu-btn:disabled{background:#e0e0e0!important;cursor:not-allowed;opacity:.6;transform:none!important}.mood-add-btn{background:linear-gradient(135deg,var(--danger),var(--primary-main));color:#fff;box-shadow:0 2px 6px #ff8a804d}.mood-add-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-main),var(--danger));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8066}.exp-add-btn{background:linear-gradient(135deg,var(--warning),var(--secondary-main));color:#fff;box-shadow:0 2px 6px #ffb74d4d}.exp-add-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--secondary-main),var(--warning));transform:translateY(-2px);box-shadow:0 4px 12px #ffb74d66}.mood-minus-btn,.exp-minus-btn{background:linear-gradient(135deg,#b39ddb,#9575cd);color:#fff;box-shadow:0 2px 6px #b39ddb4d}.mood-minus-btn:hover:not(:disabled),.exp-minus-btn:hover:not(:disabled){background:linear-gradient(135deg,#9575cd,#b39ddb);transform:translateY(-2px);box-shadow:0 4px 12px #b39ddb66}.history-btn{background:linear-gradient(135deg,var(--text-secondary),var(--text-primary));color:#fff;box-shadow:0 2px 6px #8888884d}.history-btn:hover{background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));transform:translateY(-2px);box-shadow:0 4px 12px #8886}.train-menu .custom-actions-btn{background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;box-shadow:0 2px 6px #ff8a804d}.train-menu .custom-actions-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8066}.sun-btn{background:linear-gradient(135deg,var(--warning),var(--secondary-main));color:#fff;box-shadow:0 2px 6px #ffb74d4d}.sun-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--secondary-main),var(--warning));transform:translateY(-2px);box-shadow:0 4px 12px #ffb74d66}.play-btn{background:linear-gradient(135deg,var(--danger),var(--primary-main));color:#fff;box-shadow:0 2px 6px #ff8a804d}.play-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-main),var(--danger));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8066}.feed-btn{background:linear-gradient(135deg,var(--danger),var(--primary-light));color:#fff;box-shadow:0 2px 6px #ff8a804d}.feed-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-light),var(--danger));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8066}.punish-btn{background:linear-gradient(135deg,#b39ddb,#9575cd);color:#fff;box-shadow:0 2px 6px #b39ddb4d}.punish-btn:hover{background:linear-gradient(135deg,#9575cd,#b39ddb);transform:translateY(-2px);box-shadow:0 4px 12px #b39ddb66}.exercise-btn{background:linear-gradient(135deg,#64b5f6,#42a5f5);color:#fff;font-weight:700;box-shadow:0 2px 6px #64b5f64d}.exercise-btn:hover:not(:disabled){background:linear-gradient(135deg,#42a5f5,#64b5f6);transform:translateY(-2px);box-shadow:0 4px 12px #64b5f666}.settlement-btn{background:linear-gradient(135deg,var(--success),var(--success-light));color:#fff;margin-top:.25rem;border-top:1px solid var(--border-light);padding-top:.75rem;box-shadow:0 2px 6px #81c7844d}.settlement-btn:hover{background:linear-gradient(135deg,var(--success-light),var(--success));transform:translateY(-2px);box-shadow:0 4px 12px #81c78466}.batch-action-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--bg-card);padding:1rem 1.5rem;border-radius:var(--radius-lg);box-shadow:0 8px 30px #ff8c8040;display:flex;flex-direction:column;gap:.75rem;z-index:1000;min-width:400px;animation:slideUp .3s ease-out;border:2px solid var(--border-light)}@keyframes slideUp{0%{transform:translate(-50%) translateY(50px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.selected-count{font-size:.9rem;font-weight:600;color:var(--primary-main);text-align:center}.batch-buttons{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.batch-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;color:#fff;box-shadow:0 2px 6px #ffb74d40}.batch-btn.sun-btn{background:linear-gradient(135deg,var(--warning),var(--secondary-main))}.batch-btn.sun-btn:hover{background:linear-gradient(135deg,var(--secondary-main),var(--warning));transform:translateY(-2px);box-shadow:0 4px 12px #ffb74d59}.batch-btn.play-btn{background:linear-gradient(135deg,var(--danger),var(--primary-main))}.batch-btn.play-btn:hover{background:linear-gradient(135deg,var(--primary-main),var(--danger));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8059}.batch-btn.feed-btn{background:linear-gradient(135deg,var(--danger),var(--primary-light));box-shadow:0 2px 6px #ff8a8040}.batch-btn.feed-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--danger));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8059}.batch-btn.punish-btn{background:linear-gradient(135deg,#b39ddb,#9575cd);box-shadow:0 2px 6px #b39ddb40}.batch-btn.punish-btn:hover{background:linear-gradient(135deg,#9575cd,#b39ddb);transform:translateY(-2px);box-shadow:0 4px 12px #b39ddb59}.batch-btn.exercise-btn{background:linear-gradient(135deg,#64b5f6,#42a5f5);font-weight:700;box-shadow:0 2px 6px #64b5f640}.batch-btn.exercise-btn:hover{background:linear-gradient(135deg,#42a5f5,#64b5f6);transform:translateY(-2px);box-shadow:0 4px 12px #64b5f659}.batch-btn.mood-add-btn{background:linear-gradient(135deg,var(--danger),var(--primary-main));box-shadow:0 2px 6px #ff8a804d}.batch-btn.mood-add-btn:hover{background:linear-gradient(135deg,var(--primary-main),var(--danger));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8066}.batch-btn.exp-add-btn{background:linear-gradient(135deg,var(--warning),var(--secondary-main));box-shadow:0 2px 6px #ffb74d4d}.batch-btn.exp-add-btn:hover{background:linear-gradient(135deg,var(--secondary-main),var(--warning));transform:translateY(-2px);box-shadow:0 4px 12px #ffb74d66}.batch-btn.mood-minus-btn,.batch-btn.exp-minus-btn{background:linear-gradient(135deg,#b39ddb,#9575cd);box-shadow:0 2px 6px #b39ddb4d}.batch-btn.mood-minus-btn:hover,.batch-btn.exp-minus-btn:hover{background:linear-gradient(135deg,#9575cd,#b39ddb);transform:translateY(-2px);box-shadow:0 4px 12px #b39ddb66}.batch-actions{display:flex;gap:.5rem;justify-content:center;border-top:1px solid var(--border-light);padding-top:.75rem}.select-all-btn,.clear-selection-btn,.batch-import-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s}.select-all-btn:hover,.clear-selection-btn:hover,.batch-import-btn:hover{background:var(--bg-card-hover);border-color:var(--primary-main);color:var(--primary-main)}.batch-import-btn{background:linear-gradient(135deg,var(--primary-main),var(--primary-light));color:#fff;border:none;box-shadow:0 2px 6px #ff8a8040}.batch-import-btn:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary-main));transform:translateY(-2px);box-shadow:0 4px 12px #ff8a8059}.batch-import-input-container{margin-bottom:1.5rem}.batch-import-textarea{width:100%;padding:1rem;font-size:1rem;border:2px solid var(--border-input);border-radius:var(--radius-md);resize:vertical;font-family:inherit;transition:border-color .3s;box-sizing:border-box;background:var(--bg-card)}.batch-import-textarea:focus{outline:none;border-color:var(--primary-main);box-shadow:0 0 0 3px var(--secondary-light)}.change-creature-hint{text-align:center;color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.done-btn{padding:.5rem 1.5rem;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,var(--success),var(--success-light));color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #81c78440}.done-btn:hover{background:linear-gradient(135deg,var(--success-light),var(--success));transform:translateY(-2px);box-shadow:0 4px 12px #81c78459}.low-mood-warning-btn{position:fixed;bottom:20px;left:20px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;background:linear-gradient(135deg,var(--warning),var(--secondary-main));color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #ffb74d66;z-index:1000;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.low-mood-warning-btn:hover{background:linear-gradient(135deg,var(--secondary-main),var(--warning));transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #ffb74d80}
