:root{--pink-main:#e91e8c;--pink-dark:#c2185b;--pink-light:#f8bbd0;--pink-pale:#fdf5f9;--pink-border:#fce4ec;--purple-main:#7c4dff;--purple-light:#ede7f6;--text-dark:#2d2d2d;--text-mid:#666;--text-light:#999;--text-pale:#ccc;--bg-page:#fdf5f9;--bg-card:#fff;--bg-nav:#fff;--color-success:#43a047;--color-warning:#fb8c00;--color-danger:#e53935;--color-info:#1e88e5;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-full:999px;--shadow-card:0 2px 12px #e91e8c14;--shadow-hover:0 8px 28px #e91e8c2e;--shadow-modal:0 20px 60px #00000029;--shadow-nav:0 2px 12px #00000012}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-y:scroll}body{background:var(--bg-page);color:var(--text-dark);touch-action:pan-y;min-height:100vh;font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea{font-family:inherit;font-size:inherit;border-radius:var(--radius-sm);color:var(--text-dark);border:1.5px solid #e0e0e0;outline:none;padding:8px 12px;transition:border-color .2s}input:focus,textarea:focus{border-color:var(--pink-main)}.page-main{min-height:calc(100vh - 62px);margin-top:62px;padding:24px 24px 48px;overflow-x:hidden}.welcome-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:calc(100vh - 140px);display:flex}.welcome-emoji{font-size:80px;animation:2.2s ease-in-out infinite bounceFloat}@keyframes bounceFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.welcome-title{color:var(--pink-main);font-size:28px;font-weight:700}.welcome-subtitle{color:var(--text-mid);font-size:15px;line-height:1.9}.welcome-create-btn{background:var(--pink-main);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;align-items:center;gap:8px;margin-top:4px;padding:13px 34px;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 18px #e91e8c61}.welcome-create-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #e91e8c73}.dashboard{max-width:1400px;margin:0 auto}.class-info-bar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;display:flex}.class-info-title{color:var(--text-dark);font-size:20px;font-weight:700}.class-info-count{color:var(--text-light);border-radius:var(--radius-full);border:1px solid var(--pink-border);background:#fff;padding:3px 12px;font-size:13px}.class-info-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.btn-outline-pink{border:1.5px solid var(--pink-main);color:var(--pink-main);border-radius:var(--radius-full);cursor:pointer;background:#fff;align-items:center;gap:5px;padding:7px 15px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.btn-outline-pink:hover{background:var(--pink-pale)}.btn-solid-pink{background:var(--pink-main);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;align-items:center;gap:5px;padding:7px 15px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.btn-solid-pink:hover{opacity:.9;transform:translateY(-1px)}.student-grid{grid-template-columns:repeat(var(--card-cols,6),1fr);gap:calc(16px * var(--card-scale,1));touch-action:pan-y pinch-zoom;display:grid}.zoom-ctrl{align-items:center;gap:4px;margin-left:auto;display:flex}.zoom-btn{border-radius:var(--radius-full);height:28px;color:var(--text-mid);cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e0e0e0;justify-content:center;align-items:center;padding:5px 11px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.zoom-btn:hover{border-color:var(--pink-main);color:var(--pink-main)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 20px;display:flex}.empty-state-icon{opacity:.55;font-size:52px}.empty-state-text{color:var(--text-light);font-size:16px;font-weight:500}.empty-state-sub{color:var(--text-pale);font-size:13px}.nav-bar{background:var(--bg-nav);height:62px;box-shadow:var(--shadow-nav);z-index:100;align-items:center;gap:10px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{color:var(--pink-main);white-space:nowrap;flex-shrink:0;align-items:center;gap:7px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.nav-logo-icon{font-size:22px}.nav-divider{background:var(--pink-border);flex-shrink:0;width:1px;height:26px}.nav-class-selector{flex-shrink:0;position:relative}.nav-class-btn{background:var(--pink-pale);border:1.5px solid var(--pink-border);border-radius:var(--radius-full);color:var(--pink-main);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.nav-class-btn:hover{background:#fce4ec}.nav-class-arrow{font-size:10px;transition:transform .25s;display:inline-block}.nav-class-arrow.open{transform:rotate(180deg)}.class-dropdown{border-radius:var(--radius-md);min-width:210px;box-shadow:var(--shadow-modal);z-index:300;background:#fff;border:1px solid #f0f0f0;padding:6px;display:none;position:absolute;top:calc(100% + 8px);left:0}.class-dropdown.show{display:block}.class-dropdown-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dark);justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-size:14px;transition:background .15s;display:flex}.class-dropdown-item:hover{background:var(--pink-pale)}.class-dropdown-item.active{background:var(--pink-pale);color:var(--pink-main);font-weight:600}.class-dropdown-item-count{color:var(--text-light);border-radius:var(--radius-full);background:#f5f5f5;flex-shrink:0;padding:2px 8px;font-size:12px}.class-dropdown-create{border-radius:var(--radius-sm);cursor:pointer;color:var(--pink-main);border-top:1px solid #f5f5f5;align-items:center;gap:8px;margin-top:4px;padding:9px 11px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.class-dropdown-create:hover{background:var(--pink-pale)}.class-dropdown-action{cursor:pointer;color:var(--text-dark);border-radius:var(--radius-sm);border-top:1px solid #f5f5f5;padding:9px 11px;font-size:14px;transition:background .15s}.class-dropdown-action.danger{color:#e53935}.class-dropdown-action:hover{background:var(--pink-pale)}.nav-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.nav-action-btn{border-radius:var(--radius-full);white-space:nowrap;cursor:pointer;align-items:center;gap:5px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.nav-btn-interact{background:var(--purple-light);color:var(--purple-main);border:1.5px solid #d1c4e9}.nav-btn-interact:hover{background:#d1c4e9}.nav-btn-settings{color:#555;background:#f5f5f5;border:1.5px solid #e0e0e0}.nav-btn-settings:hover{background:#eee}.nav-btn-undo{color:#f57f17;background:#fff8e1;border:1.5px solid #ffe082;transition:all .2s}.nav-btn-undo:hover:not(:disabled){background:#fff3cd;border-color:#f9a825}.nav-btn-undo:disabled{opacity:.38;cursor:not-allowed}.nav-btn-pk{color:#fff;border-radius:var(--radius-full);background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;padding:7px 18px;font-size:13px;font-weight:700;transition:all .2s;box-shadow:0 2px 10px #ff6b3566}.nav-btn-pk:hover{transform:translateY(-1px);box-shadow:0 4px 14px #ff6b3580}.score-icon{object-fit:contain;vertical-align:middle;width:20px;height:20px;display:inline-block}.student-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1.5px solid var(--pink-border);padding:calc(14px * var(--card-scale,1));cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative}.student-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}.student-card.card-max-level{border-color:gold;box-shadow:0 2px 14px #ffd70040}.student-card.card-max-level:hover{box-shadow:0 8px 28px #ffd70066}.card-top-bar{margin-bottom:calc(10px * var(--card-scale,1));justify-content:space-between;align-items:center;display:flex}.card-level-badge{align-items:center;gap:calc(4px * var(--card-scale,1));font-size:calc(12px * var(--card-scale,1));color:var(--text-mid);font-weight:700;display:flex}.card-level-badge-img{width:calc(26px * var(--card-scale,1));height:calc(26px * var(--card-scale,1));object-fit:contain;flex-shrink:0}.card-level-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.card-heart-btn{font-size:calc(14px * var(--card-scale,1));color:var(--text-pale);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;padding:2px;line-height:1;transition:all .2s;display:flex}.card-heart-btn:hover{color:var(--pink-main);transform:scale(1.2)}.card-heart-btn.liked{color:var(--pink-main)}.card-pet-area{height:calc(182px * var(--card-scale,1));margin-bottom:calc(10px * var(--card-scale,1));justify-content:center;align-items:center;animation:3s ease-in-out infinite petFloat;display:flex;position:relative}.student-card:nth-child(2) .card-pet-area{animation-delay:-.5s}.student-card:nth-child(3) .card-pet-area{animation-delay:-1s}.student-card:nth-child(4) .card-pet-area{animation-delay:-1.5s}.student-card:nth-child(5) .card-pet-area{animation-delay:-2s}.student-card:nth-child(6) .card-pet-area{animation-delay:-2.5s}.student-card:nth-child(7) .card-pet-area{animation-delay:-.8s}.student-card:nth-child(8) .card-pet-area{animation-delay:-1.8s}.card-pet-emoji{width:calc(163px * var(--card-scale,1));height:calc(163px * var(--card-scale,1));object-fit:contain;cursor:pointer;transition:transform .2s;display:block}.card-pet-egg{width:calc(196px * var(--card-scale,1));height:calc(196px * var(--card-scale,1));object-fit:contain;cursor:pointer;transition:transform .2s;display:block}.student-card:hover .card-pet-egg,.student-card:hover .card-pet-emoji{transform:scale(1.08)}.card-second-pet-badge{width:calc(28px * var(--card-scale,1));height:calc(28px * var(--card-scale,1));object-fit:contain;cursor:help;background:#fff;border:2px solid gold;border-radius:50%;position:absolute;bottom:0;right:0;box-shadow:0 2px 6px #ffd70066}.card-bubble-pet{width:calc(40px * var(--card-scale,1));height:calc(40px * var(--card-scale,1));object-fit:contain;cursor:help;background:#fff;border:2px solid #ffd700cc;border-radius:50%;animation:2.8s ease-in-out infinite bubblePetFloat;position:absolute;box-shadow:0 2px 10px #ffd70073}.card-stat-pet-name{font-size:calc(11px * var(--card-scale,1));color:var(--text-light);text-align:center}.card-stat-medals{font-size:calc(11px * var(--card-scale,1));color:#b8860b;text-align:right;justify-content:flex-end;font-weight:700}.card-medal-icon{width:calc(16px * var(--card-scale,1));height:calc(16px * var(--card-scale,1));object-fit:contain;vertical-align:middle}.card-adopt-prompt{border:2px dashed var(--pink-light);border-radius:var(--radius-md);color:var(--pink-main);font-size:calc(12px * var(--card-scale,1));cursor:pointer;background:var(--pink-pale);text-align:center;flex-direction:column;align-items:center;gap:6px;width:100%;padding:12px 16px;font-weight:600;transition:all .2s;display:flex}.student-card:hover .card-adopt-prompt{border-color:var(--pink-main);background:#fce4ec}.card-adopt-prompt-icon{font-size:calc(24px * var(--card-scale,1))}.card-name-row{margin-bottom:calc(6px * var(--card-scale,1));justify-content:space-between;align-items:baseline;gap:4px;display:flex}.card-student-name{font-size:calc(15px * var(--card-scale,1));color:var(--text-dark);font-weight:700}.card-pet-type{font-size:calc(11px * var(--card-scale,1));color:var(--text-light);flex-shrink:0}.card-progress-area{margin-bottom:calc(10px * var(--card-scale,1))}.card-progress-label{font-size:calc(11px * var(--card-scale,1));color:var(--text-light);margin-bottom:calc(5px * var(--card-scale,1));justify-content:space-between;display:flex}.card-progress-bar-bg{height:calc(5px * var(--card-scale,1));border-radius:var(--radius-full);background:#f0f0f0;overflow:hidden}.card-progress-bar-fill{background:linear-gradient(90deg,var(--pink-main),#ff6b9d);border-radius:var(--radius-full);min-width:0;height:100%;transition:width .5s}.card-stats-row{padding-top:calc(9px * var(--card-scale,1));font-size:calc(12px * var(--card-scale,1));border-top:1px solid #f5f5f5;grid-template-columns:1fr 1fr 1fr;align-items:center;display:grid}.card-stat-item{color:var(--text-mid);align-items:center;gap:3px;display:flex}.card-stat-value{color:var(--text-dark);font-weight:700}.pet-stage-lv6{filter:drop-shadow(0 0 10px #ffc80099);animation:2.5s ease-in-out infinite petGlow6}.pet-stage-lv7{filter:drop-shadow(0 0 14px #ffd700cc);animation:2s ease-in-out infinite petLegendary}.pet-stage-lv8{filter:drop-shadow(0 0 12px #ff5000a6);animation:2s ease-in-out infinite petGlow6}.pet-stage-lv9{filter:drop-shadow(0 0 16px #dc1e00cc);animation:1.8s ease-in-out infinite petLegendary}.pet-stage-lv10{filter:drop-shadow(0 0 22px gold);animation:1.4s ease-in-out infinite petMaxLv}.sort-batch-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.sort-label{color:var(--text-light);white-space:nowrap;font-size:13px;font-weight:600}.sort-btn{border-radius:var(--radius-full);cursor:pointer;color:var(--text-mid);background:#fff;border:1.5px solid #e0e0e0;padding:5px 13px;font-size:12px;font-weight:600;transition:all .2s}.sort-btn:hover{border-color:var(--pink-main);color:var(--pink-main)}.sort-btn.active{background:var(--pink-main);color:#fff;border-color:var(--pink-main)}.sort-bar-divider{background:#e0e0e0;flex-shrink:0;width:1px;height:20px}.batch-enter-btn{border-radius:var(--radius-full);cursor:pointer;color:var(--text-mid);background:#fff;border:1.5px solid #e0e0e0;padding:5px 13px;font-size:12px;font-weight:600;transition:all .2s}.batch-enter-btn:hover{color:#1976d2;border-color:#90caf9}.batch-enter-btn.batch-mode-active{color:#1976d2;background:#e3f2fd;border-color:#90caf9}.batch-modal-hint{color:var(--text-mid);margin:0 0 12px;font-size:13px}.modal-overlay{z-index:500;opacity:0;visibility:hidden;background:#00000075;justify-content:center;align-items:center;padding:20px;transition:opacity .25s,visibility .25s;display:flex;position:fixed;inset:0}.modal-overlay.show{opacity:1;visibility:visible}.modal-box{border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);background:#fff;width:100%;max-width:480px;max-height:90vh;transition:transform .25s;overflow-y:auto;transform:scale(.94)translateY(12px)}.modal-overlay.show .modal-box{transform:scale(1)translateY(0)}.modal-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{color:var(--text-dark);font-size:17px;font-weight:700}.modal-close-btn{width:32px;height:32px;color:var(--text-light);cursor:pointer;background:#f5f5f5;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.modal-close-btn:hover{color:var(--text-dark);background:#eee}.modal-header-gradient{background:linear-gradient(135deg,var(--purple-main) 0%,var(--pink-main) 100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;color:#fff;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px;display:flex}.modal-header-gradient .modal-title{color:#fff;font-size:19px}.modal-header-subtitle{color:#fffc;margin-top:3px;font-size:13px}.modal-close-btn-white{color:#ffffffd9;cursor:pointer;background:#ffffff2e;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .2s;display:flex}.modal-close-btn-white:hover{color:#fff;background:#ffffff47}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:10px;padding:14px 24px 20px;display:flex}.btn-cancel{border-radius:var(--radius-full);color:var(--text-mid);cursor:pointer;background:#fff;border:1.5px solid #e0e0e0;padding:9px 24px;font-size:14px;transition:all .2s}.btn-cancel:hover{background:#f5f5f5}.btn-confirm{background:var(--pink-main);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;padding:9px 24px;font-size:14px;font-weight:600;transition:all .2s}.btn-confirm:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-confirm:disabled{opacity:.45;cursor:not-allowed}.form-group{margin-bottom:16px}.form-label{color:var(--text-mid);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input{border-radius:var(--radius-md);width:100%;color:var(--text-dark);border:1.5px solid #e0e0e0;padding:10px 14px;font-size:14px;transition:border-color .2s}.form-input:focus{border-color:var(--pink-main)}.form-textarea{border-radius:var(--radius-md);resize:vertical;width:100%;min-height:160px;color:var(--text-dark);border:1.5px solid #e0e0e0;padding:10px 14px;font-size:14px;line-height:1.7;transition:border-color .2s}.form-textarea:focus{border-color:var(--pink-main)}.form-hint{color:var(--text-light);margin-top:5px;font-size:12px}.modal-tip{border-radius:var(--radius-md);color:#795548;background:#fff8e1;margin-bottom:16px;padding:11px 14px;font-size:13px;line-height:1.7}.import-preview{border-radius:var(--radius-md);background:#f9f9f9;max-height:140px;margin-top:10px;padding:12px 14px;overflow-y:auto}.import-preview-title{color:var(--text-mid);margin-bottom:8px;font-size:12px;font-weight:600}.import-preview-tag{border:1px solid var(--pink-border);border-radius:var(--radius-full);color:var(--text-dark);background:#fff;align-items:center;margin:3px;padding:3px 10px;font-size:12px;display:inline-flex}.pet-selection-grid{flex-direction:column;gap:4px;padding:4px 0;display:flex}.pet-tier-section{margin-bottom:12px}.pet-tier-label{color:var(--text-mid);margin-bottom:6px;padding-left:2px;font-size:11px;font-weight:700}.pet-tier-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.pet-selection-item{border-radius:var(--radius-md);cursor:pointer;background:#f9f9f9;border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;transition:all .18s;display:flex}.pet-selection-item:hover{background:var(--pink-pale);border-color:var(--pink-light)}.pet-selection-item.selected{background:var(--pink-pale);border-color:var(--pink-main)}.pet-selection-emoji{object-fit:contain;width:52px;height:52px}.pet-selection-name{color:var(--text-mid);text-align:center;font-size:11px;font-weight:600}.adopt-student-card{background:var(--pink-pale);border-radius:var(--radius-md);border:1px solid var(--pink-border);align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.adopt-student-avatar{background:var(--pink-main);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;font-weight:700;display:flex}.adopt-student-name{color:var(--text-dark);font-size:15px;font-weight:700}.adopt-student-hint{color:var(--text-mid);margin-top:2px;font-size:12px}.scoring-header{border-bottom:1px solid #f0f0f0;align-items:center;gap:12px;padding:18px 22px 14px;display:flex}.scoring-header-pet{flex-shrink:0;font-size:38px;line-height:1}.scoring-header-pet-img{object-fit:contain;border-radius:8px;flex-shrink:0;width:52px;height:52px}.scoring-header-info{flex:1;min-width:0}.scoring-header-name{color:var(--text-dark);font-size:16px;font-weight:700}.scoring-header-level{color:var(--text-mid);margin-top:2px;font-size:12px}.scoring-header-points{text-align:right;flex-shrink:0}.scoring-points-big{color:var(--pink-main);font-size:26px;font-weight:900;line-height:1}.scoring-points-unit{color:var(--text-light);font-size:11px}.scoring-progress-wrap{border-bottom:1px solid #f0f0f0;padding:10px 22px 14px}.scoring-progress-bar-bg{border-radius:var(--radius-full);background:#f0f0f0;height:6px;overflow:hidden}.scoring-progress-bar-fill{background:linear-gradient(90deg,var(--pink-main),#ff6b9d);border-radius:var(--radius-full);height:100%;transition:width .4s}.scoring-progress-label{color:var(--text-light);text-align:right;margin-top:5px;font-size:11px}.scoring-section{margin-bottom:14px}.scoring-section-title{align-items:center;gap:5px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.scoring-section-title-add{color:var(--color-success)}.scoring-section-title-deduct{color:var(--color-danger)}.scoring-section-title-custom{color:var(--text-mid)}.scoring-rules-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.scoring-rule-btn{border-radius:var(--radius-md);cursor:pointer;text-align:left;border:1.5px solid;flex-direction:row;justify-content:space-between;align-items:center;gap:6px;min-height:50px;padding:10px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.scoring-rule-btn-add{color:#2e7d32;background:#f0faf0;border-color:#c8e6c9}.scoring-rule-btn-add:hover{border-color:var(--color-success);background:#dcedc8;transform:translateY(-1px)}.scoring-rule-btn-deduct{color:#c62828;background:#fff5f5;border-color:#ffcdd2}.scoring-rule-btn-deduct:hover{border-color:var(--color-danger);background:#ffebee;transform:translateY(-1px)}.scoring-rule-btn-icon{flex-shrink:0;font-size:16px;line-height:1}.scoring-rule-btn-name{flex:1;font-size:13px}.scoring-rule-btn-val{border-radius:var(--radius-full);flex-shrink:0;padding:2px 7px;font-size:12px;font-weight:700}.scoring-rule-btn-add .scoring-rule-btn-val{color:#1b5e20;background:#c8e6c9}.scoring-rule-btn-deduct .scoring-rule-btn-val{color:#b71c1c;background:#ffcdd2}.scoring-custom-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scoring-custom-adjuster{border-radius:var(--radius-md);border:1.5px solid #e0e0e0;align-items:center;display:flex;overflow:hidden}.scoring-custom-adjuster-btn{cursor:pointer;width:32px;height:34px;color:var(--text-dark);background:#f5f5f5;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:background .15s;display:flex}.scoring-custom-adjuster-btn:hover{background:#e0e0e0}.scoring-custom-amount{text-align:center;width:64px;height:34px;color:var(--text-dark);-moz-appearance:textfield;background:#fff;border:none;border-left:1.5px solid #e0e0e0;border-right:1.5px solid #e0e0e0;outline:none;padding:0;font-size:15px;font-weight:700}.scoring-custom-amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scoring-custom-amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.scoring-custom-action-btn{border-radius:var(--radius-full);cursor:pointer;border:none;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s}.scoring-custom-add-btn{color:#2e7d32;background:#e8f5e9;border:1.5px solid #c8e6c9}.scoring-custom-add-btn:hover{background:#c8e6c9}.scoring-custom-deduct-btn{color:#c62828;background:#ffebee;border:1.5px solid #ffcdd2}.scoring-custom-deduct-btn:hover{background:#ffcdd2}.scoring-footer{border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:12px 22px 18px;display:flex}.scoring-undo-btn{border-radius:var(--radius-full);color:#f57f17;cursor:pointer;background:#fff8e1;border:1.5px solid #ffe082;align-items:center;gap:5px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.scoring-undo-btn:hover:not(:disabled){background:#fff3cd}.scoring-undo-btn:disabled{opacity:.38;cursor:not-allowed}.scoring-done-btn{background:var(--pink-main);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;padding:7px 20px;font-size:13px;font-weight:600;transition:all .2s}.scoring-done-btn:hover{opacity:.9}.scoring-adopt-pet-btn{background:linear-gradient(135deg,var(--purple-main),var(--pink-main));color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;padding:7px 16px;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #7c4dff4d}.scoring-adopt-pet-btn:hover{opacity:.9;transform:translateY(-1px)}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:76px;right:20px}.toast{border-radius:var(--radius-md);color:#fff;align-items:center;gap:8px;min-width:200px;max-width:320px;padding:11px 18px;font-size:14px;font-weight:500;animation:.3s toastIn;display:flex;box-shadow:0 4px 16px #00000024}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-danger)}.toast-info{background:var(--color-info)}.toast-warning{background:var(--color-warning)}.interact-tabs{border-bottom:2px solid #f0f0f0;gap:0;margin-bottom:0;display:flex}.interact-tab-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.interact-tab-btn.active{color:var(--pink-main);border-bottom-color:var(--pink-main)}.interact-tab-btn:hover:not(.active){color:var(--text-mid);background:#fafafa}.interact-tab-content{padding:18px 22px;display:none}.interact-tab-content.active{display:block}.slot-count-row{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.slot-count-label{color:var(--text-mid);font-size:14px;font-weight:600}.slot-count-hint{color:var(--text-pale);font-size:12px}.slot-count-adjuster{border-radius:var(--radius-md);border:1.5px solid #e0e0e0;align-items:center;display:flex;overflow:hidden}.slot-count-btn{cursor:pointer;width:34px;height:34px;color:var(--text-dark);background:#f5f5f5;border:none;justify-content:center;align-items:center;font-size:17px;font-weight:700;transition:background .15s;display:flex}.slot-count-btn:hover{background:#e0e0e0}.slot-count-val{text-align:center;width:40px;height:34px;color:var(--text-dark);pointer-events:none;background:#fff;border:none;border-left:1.5px solid #e0e0e0;border-right:1.5px solid #e0e0e0;outline:none;font-size:16px;font-weight:700}.slot-display-box{border:2px solid var(--pink-border);border-radius:var(--radius-lg);text-align:center;background:linear-gradient(135deg,#f5f0ff,#fff0f8);flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:140px;margin-bottom:14px;padding:22px 16px;transition:border-color .2s;display:flex}.slot-display-box.is-rolling{border-color:var(--pink-main);animation:80ms ease-in-out infinite slotShake}.slot-display-box.has-result{background:linear-gradient(135deg,#fffde7,#fff8e1);border-color:gold}.slot-display-pet{font-size:52px;line-height:1;transition:filter 50ms}.slot-display-name{color:var(--text-dark);font-size:20px;font-weight:700}.slot-display-sub{color:var(--text-light);font-size:12px}.slot-display-idle{opacity:.3;font-size:40px}.slot-display-idle-text{color:var(--text-pale);font-size:14px}.slot-start-btn{background:linear-gradient(135deg,var(--purple-main),var(--pink-main));color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;width:100%;padding:12px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 3px 12px #7c4dff4d}.slot-start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 18px #7c4dff66}.slot-start-btn:disabled{opacity:.55;cursor:not-allowed}.slot-results-area{margin-top:14px}.slot-results-title{color:var(--text-light);text-align:center;margin-bottom:8px;font-size:12px;font-weight:600}.slot-results-grid{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.slot-result-card{border:1.5px solid var(--pink-border);border-radius:var(--radius-md);background:#fff;flex-direction:column;align-items:center;gap:4px;min-width:76px;padding:10px 14px;animation:.4s cubic-bezier(.34,1.56,.64,1) both resultPop;display:flex}.slot-result-pet{font-size:26px}.slot-result-name{color:var(--text-dark);font-size:12px;font-weight:700}.slot-reroll-btn{border:1.5px solid var(--pink-border);border-radius:var(--radius-full);width:100%;color:var(--pink-main);cursor:pointer;background:#fff;margin-top:10px;padding:8px;font-size:13px;font-weight:500;transition:all .2s;display:block}.slot-reroll-btn:hover{background:var(--pink-pale)}.countdown-display-big{color:var(--text-dark);text-align:center;letter-spacing:2px;font-variant-numeric:tabular-nums;padding:16px 0 10px;font-size:68px;font-weight:900;line-height:1;transition:color .3s}.countdown-display-big.warning{color:var(--color-danger);animation:.9s ease-in-out infinite timerPulse}.countdown-display-big.finished{color:var(--color-danger)}.timer-set-row{justify-content:center;align-items:center;gap:10px;margin:10px 0 18px;display:flex}.timer-unit-group{align-items:center;gap:5px;display:flex}.timer-unit-adjuster{border-radius:var(--radius-md);border:1.5px solid #e0e0e0;align-items:center;display:flex;overflow:hidden}.timer-adj-btn{cursor:pointer;width:30px;height:30px;color:var(--text-dark);background:#f5f5f5;border:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;transition:background .15s;display:flex}.timer-adj-btn:hover{background:#e0e0e0}.timer-unit-val{text-align:center;width:38px;height:30px;color:var(--text-dark);pointer-events:none;background:#fff;border:none;border-left:1.5px solid #e0e0e0;border-right:1.5px solid #e0e0e0;outline:none;font-size:15px;font-weight:700}.timer-unit-label{color:var(--text-mid);font-size:13px;font-weight:500}.timer-colon{color:var(--text-mid);margin:0 2px;font-size:20px;font-weight:700}.timer-controls{justify-content:center;gap:10px;display:flex}.timer-ctrl-btn{border-radius:var(--radius-full);cursor:pointer;border:none;flex:1;max-width:110px;padding:10px;font-size:14px;font-weight:600;transition:all .2s}.timer-btn-start{background:var(--color-success);color:#fff}.timer-btn-start:hover{opacity:.88}.timer-btn-pause{color:#f57f17;background:#fff8e1;border:1.5px solid #ffe082}.timer-btn-pause:hover{background:#fff3cd}.timer-btn-reset{color:var(--text-mid);background:#f5f5f5;border:1.5px solid #e0e0e0}.timer-btn-reset:hover{background:#eee}.timer-finished-tip{text-align:center;color:var(--color-danger);margin-top:8px;font-size:13px;font-weight:600;animation:.9s ease-in-out infinite timerPulse}.settings-tabs{border-bottom:2px solid #f0f0f0;gap:0;margin-bottom:0;display:flex}.settings-tab-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:11px;font-size:14px;font-weight:600;transition:all .2s}.settings-tab-btn.active-add{color:var(--color-success);border-bottom-color:var(--color-success)}.settings-tab-btn.active-deduct{color:var(--color-danger);border-bottom-color:var(--color-danger)}.settings-tab-btn.active-level{color:#ff8f00;border-bottom-color:#ff8f00}.settings-tab-btn:hover:not(.active-add):not(.active-deduct):not(.active-level){color:var(--text-mid);background:#fafafa}.settings-tab-content{padding:14px 22px;display:none}.settings-tab-content.active{display:block}.settings-rule-row{border-bottom:1px solid #f5f5f5;align-items:center;gap:8px;padding:8px 0;display:flex}.settings-rule-row:last-of-type{border-bottom:none}.settings-icon-input{text-align:center;border-radius:var(--radius-sm);width:44px;padding:6px 4px;font-size:18px}.settings-name-input{border-radius:var(--radius-sm);flex:1;padding:7px 10px}.settings-points-wrap{flex-shrink:0;align-items:center;gap:3px;display:flex}.settings-points-prefix{color:var(--color-success);font-size:13px;font-weight:700}.settings-points-prefix.deduct-prefix{color:var(--color-danger)}.settings-points-input{text-align:center;border-radius:var(--radius-sm);width:46px;padding:7px 4px}.settings-delete-btn{border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;color:var(--color-danger);background:#fff5f5;border:1px solid #ffcdd2;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:all .15s;display:flex}.settings-delete-btn:hover{background:#ffebee}.settings-add-rule-btn{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-light);background:0 0;border:1.5px dashed #e0e0e0;justify-content:center;align-items:center;gap:6px;margin-top:10px;padding:9px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.settings-add-rule-btn:hover{border-color:var(--pink-main);color:var(--pink-main);background:var(--pink-pale)}.settings-hint{color:var(--text-light);padding:10px 0 2px;font-size:12px}.level-config-table{width:100%}.level-config-row{border-bottom:1px solid #f5f5f5;align-items:center;gap:8px;padding:8px 0;display:flex}.level-config-row:last-child{border-bottom:none}.lv-badge{border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:28px;font-size:11px;font-weight:700;display:flex}.lv-stage-name{color:var(--text-light);flex-shrink:0;width:44px;font-size:12px}.lv-name{color:var(--text-dark);flex-shrink:0;width:46px;font-size:13px;font-weight:600}.lv-emoji{text-align:center;flex-shrink:0;width:24px;font-size:16px}.lv-badge-img{object-fit:contain;flex-shrink:0;width:28px;height:28px}.lv-exp-label{color:var(--text-light);white-space:nowrap;font-size:12px}.lv-exp-input{text-align:center;border-radius:var(--radius-sm);width:66px;padding:5px 6px;font-size:13px;font-weight:700}.lv-max-badge{color:#f57f17;border-radius:var(--radius-full);background:#fff8e1;border:1px solid #ffe082;padding:4px 10px;font-size:11px;font-weight:700}.settings-level-reset-btn{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-light);background:0 0;border:1.5px dashed #e0e0e0;justify-content:center;align-items:center;gap:5px;margin-top:10px;padding:8px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.settings-level-reset-btn:hover{border-color:var(--color-warning);color:var(--color-warning);background:#fff8e1}.settings-post-max-row{border-radius:var(--radius-md);border:1px solid var(--pink-border);background:#fdf5f9;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.settings-post-max-label{color:var(--text-mid);white-space:nowrap;font-size:13px}.settings-post-max-input{text-align:center;width:64px;padding:5px 8px}.tier-config-row{border-radius:var(--radius-md);background:#fafafa;border:1px solid #f0f0f0;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;display:flex}.tier-icon{flex-shrink:0;font-size:20px}.tier-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tier-label{color:var(--text-dark);font-size:13px;font-weight:600}.tier-pets{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tier-pts-label{color:var(--text-light);white-space:nowrap;font-size:12px}.tier-pts-input{text-align:center;flex-shrink:0;width:60px;padding:5px 6px;font-size:13px;font-weight:700}.lb-medal-icon{object-fit:contain;vertical-align:middle;width:18px;height:18px}.modal-medal-icon{object-fit:contain;vertical-align:middle;width:24px;height:24px}.maxlevel-pet-wrap{justify-content:center;margin-bottom:10px;display:flex}.maxlevel-pet-img{object-fit:contain;width:130px;height:130px;animation:.5s cubic-bezier(.34,1.56,.64,1) levelupPop,2s ease-in-out .5s infinite levelupPetFloat}.maxlevel-badge-row{justify-content:center;align-items:center;gap:8px;margin-bottom:10px;display:flex}.maxlevel-badge-icon{object-fit:contain;width:36px;height:36px}.maxlevel-level-text{color:#b8860b;font-size:16px;font-weight:700}.icon-picker-panel{z-index:9999;border-radius:var(--radius-lg);background:#fff;border:1.5px solid #e0e0e0;width:280px;max-height:360px;padding:12px 14px;position:absolute;overflow-y:auto;box-shadow:0 8px 28px #00000024}.icon-picker-cat-label{color:var(--text-light);letter-spacing:.5px;margin:8px 0 4px;font-size:11px;font-weight:700}.icon-picker-cat-label:first-child{margin-top:0}.icon-picker-grid{grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:4px;display:grid}.icon-picker-item{text-align:center;border-radius:var(--radius-sm);cursor:pointer;padding:5px 2px;font-size:22px;line-height:1.3;transition:background .12s}.icon-picker-item:hover{background:var(--pink-pale)}.mathpk-overlay{z-index:9999;background:#1a1a2e;flex-direction:column;display:none;position:fixed;inset:0}.mathpk-overlay.show{display:flex}.mathpk-topbar{background:#ffffff0f;border-bottom:1px solid #ffffff1f;flex-shrink:0;justify-content:space-between;align-items:center;height:46px;padding:8px 18px;display:flex}.mathpk-topbar-info{align-items:center;gap:10px;display:flex}.mathpk-topbar-logo{color:#fff;font-size:16px;font-weight:700}.mathpk-topbar-class{color:#ffffffa6;border-radius:var(--radius-full);background:#ffffff1a;padding:3px 11px;font-size:13px}.mathpk-topbar-hint{color:#ffffff59;font-size:12px}.mathpk-back-btn{color:#ffffffe6;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.mathpk-back-btn:hover{color:#fff;background:#fff3}.mathpk-iframe{border:none;flex:1;width:100%;display:block}.batch-checkbox{z-index:2;cursor:pointer;background:#fff;border:2px solid #ccc;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:all .18s;display:flex;position:absolute;top:9px;left:9px}.batch-checkbox.checked{background:var(--pink-main);border-color:var(--pink-main);color:#fff}.student-card.batch-on{cursor:pointer}.student-card.batch-selected{border-color:var(--pink-main);box-shadow:0 0 0 3px #e91e8c2e,var(--shadow-card)}.batch-float-bar{border-radius:var(--radius-full);z-index:400;border:1.5px solid var(--pink-border);background:#fff;align-items:center;gap:10px;padding:10px 20px;display:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 28px #00000029}.batch-float-bar.show{display:flex}.batch-float-info{color:var(--text-mid);white-space:nowrap;font-size:13px;font-weight:700}.batch-float-info span{color:var(--pink-main)}.batch-select-all-btn{border-radius:var(--radius-full);cursor:pointer;border:1.5px solid var(--pink-border);background:var(--pink-pale);color:var(--pink-main);white-space:nowrap;padding:6px 13px;font-size:12px;font-weight:600;transition:all .2s}.batch-select-all-btn:hover{background:var(--pink-light)}.batch-add-btn{border-radius:var(--radius-full);cursor:pointer;color:#2e7d32;white-space:nowrap;background:#e8f5e9;border:1.5px solid #c8e6c9;padding:6px 15px;font-size:12px;font-weight:700;transition:all .2s}.batch-add-btn:hover{background:#c8e6c9}.batch-reset-btn{border-radius:var(--radius-full);cursor:pointer;color:#c62828;white-space:nowrap;background:#fff5f5;border:1.5px solid #ffcdd2;padding:6px 15px;font-size:12px;font-weight:700;transition:all .2s}.batch-reset-btn:hover{background:#ffcdd2}.batch-exit-btn{border-radius:var(--radius-full);cursor:pointer;color:var(--text-mid);white-space:nowrap;background:#f5f5f5;border:1.5px solid #e0e0e0;padding:6px 13px;font-size:12px;font-weight:600;transition:all .2s}.batch-exit-btn:hover{background:#eee}.batch-add-modal .modal-box{max-width:380px}.lb-table{border-collapse:collapse;width:100%}.lb-row{border-bottom:1px solid #f5f5f5;align-items:center;gap:12px;padding:11px 20px;transition:background .15s;display:flex}.lb-row:hover{background:#fdf5f9}.lb-row:last-child{border-bottom:none}.lb-rank{text-align:center;width:36px;color:var(--text-light);flex-shrink:0;font-size:20px;font-weight:700}.lb-rank.top1{color:gold;font-size:22px}.lb-rank.top2{color:silver}.lb-rank.top3{color:#cd7f32}.lb-pet-avatar{object-fit:contain;flex-shrink:0;width:36px;height:36px}.lb-name{color:var(--text-dark);flex:1;font-size:14px;font-weight:700}.lb-medals{color:#b8860b;white-space:nowrap;font-size:13px;font-weight:700}.lb-points{color:var(--pink-main);white-space:nowrap;text-align:right;min-width:54px;font-size:14px;font-weight:700}.lb-empty{text-align:center;color:var(--text-pale);padding:40px;font-size:14px}@keyframes petFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes bubblePetFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.06)}}@keyframes petGlow6{0%,to{filter:drop-shadow(0 0 10px #ffc8008c)}50%{filter:drop-shadow(0 0 20px #ffc800d9)}}@keyframes petLegendary{0%,to{filter:drop-shadow(0 0 14px #ffd700bf);transform:scale(1)}50%{filter:drop-shadow(0 0 26px gold);transform:scale(1.07)}}@keyframes petMaxLv{0%,to{filter:drop-shadow(0 0 20px #ffd700d9);transform:scale(1)}50%{filter:drop-shadow(0 0 36px gold);transform:scale(1.1)}}.score-float-text{pointer-events:none;z-index:2000;transform-origin:50%;font-size:22px;font-weight:900;animation:1.1s ease-out forwards scoreFloat;position:fixed}.score-float-positive{color:#2e7d32}.score-float-negative{color:#c62828}@keyframes scoreFloat{0%{opacity:1;transform:translateY(0)scale(1)}60%{opacity:1;transform:translateY(-44px)scale(1.25)}to{opacity:0;transform:translateY(-76px)scale(.8)}}.card-levelup-flash{animation:.6s cardLevelupFlash}@keyframes cardLevelupFlash{0%{box-shadow:var(--shadow-card)}30%{box-shadow:0 0 0 4px #ffd70099,0 8px 28px #ffd70066}70%{box-shadow:0 0 0 6px #ffd7004d,0 8px 28px #ffd7004d}to{box-shadow:var(--shadow-card)}}.levelup-modal-body{text-align:center;padding:32px 24px}.levelup-pet-wrap{margin-bottom:6px;display:inline-block;position:relative}.levelup-pet-img{object-fit:contain;width:140px;height:140px;animation:.5s cubic-bezier(.34,1.56,.64,1) levelupPop,2s ease-in-out .5s infinite levelupPetFloat}@keyframes levelupPop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes levelupPetFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.levelup-stars{pointer-events:none;position:absolute;top:50%;left:50%}.lu-star{animation:.8s ease-out forwards luStarFly;position:absolute;top:0;left:0}@keyframes luStarFly{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}.levelup-title{color:var(--text-dark);margin:14px 0 6px;font-size:22px;font-weight:700}.levelup-subtitle{color:var(--text-mid);font-size:14px;line-height:1.7}.levelup-level-badge{border-radius:var(--radius-full);align-items:center;gap:6px;margin:10px 0 0;padding:6px 18px;font-size:13px;font-weight:700;display:inline-flex}.levelup-badge-img{object-fit:contain;vertical-align:middle;width:20px;height:20px;margin-right:2px}.levelup-confirm-btn{background:var(--pink-main);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;margin-top:20px;padding:10px 32px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 3px 12px #e91e8c59}.levelup-confirm-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #e91e8c66}.maxlevel-modal-body{text-align:center;padding:30px 24px}.maxlevel-crown{font-size:52px;animation:2s ease-in-out infinite crownFloat}@keyframes crownFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.maxlevel-medal{font-size:72px;animation:.7s cubic-bezier(.34,1.56,.64,1) .2s both medalDrop}@keyframes medalDrop{0%{opacity:0;transform:translateY(-40px)scale(.5)}to{opacity:1;transform:translateY(0)scale(1)}}.maxlevel-title{color:#b8860b;margin:12px 0 6px;font-size:22px;font-weight:700}.maxlevel-subtitle{color:var(--text-mid);margin-bottom:18px;font-size:14px;line-height:1.7}.maxlevel-btns{flex-direction:column;align-items:center;gap:10px;display:flex}.btn-adopt-second-pet{background:linear-gradient(135deg,var(--purple-main),var(--pink-main));color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;width:100%;padding:11px 28px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 3px 12px #7c4dff59}.btn-adopt-second-pet:hover{opacity:.9;transform:translateY(-2px)}.btn-skip-adopt{border-radius:var(--radius-full);color:var(--text-mid);cursor:pointer;background:#fff;border:1.5px solid #e0e0e0;padding:8px 24px;font-size:14px;transition:all .2s}.btn-skip-adopt:hover{background:#f5f5f5}.btn-decline-adopt{border-radius:var(--radius-full);color:var(--text-mid);cursor:pointer;background:#fff;border:1.5px solid #e0e0e0;width:100%;padding:8px 24px;font-size:14px;transition:all .2s}.btn-decline-adopt:hover{background:#f5f5f5}@keyframes toastIn{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(110%)}}@keyframes slotShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes resultPop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.55}}.nav-btn-shop{color:#e65100;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#fff8e1,#ffe082);border:1.5px solid #ffe082;align-items:center;gap:5px;padding:7px 16px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.nav-btn-shop:hover{transform:translateY(-1px);box-shadow:0 3px 12px #ffa72666}.shop-tabs{border-bottom:2px solid #f0f0f0;gap:0;padding:0 20px;display:flex}.shop-tab-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.shop-tab-btn.active{color:var(--pink-main);border-bottom-color:var(--pink-main)}.shop-tab-content{padding:16px 20px 20px;display:none}.shop-tab-content.active{flex-direction:column;gap:14px;display:flex}.shop-step-label{color:var(--text-mid);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.shop-item-grid{flex-wrap:wrap;gap:10px;display:flex}.shop-item-card{border-radius:var(--radius-md);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e0e0e0;min-width:88px;padding:10px 14px;transition:all .18s}.shop-item-card:hover{border-color:var(--pink-main);background:var(--pink-pale)}.shop-item-card.selected{border-color:var(--pink-main);background:var(--pink-pale);box-shadow:0 0 0 3px #e91e8c1f}.shop-item-name{color:var(--text-dark);margin-bottom:5px;font-size:14px;font-weight:700}.shop-item-cost{color:#b8860b;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:600;display:flex}.shop-student-grid{flex-wrap:wrap;gap:8px;max-height:220px;display:flex;overflow-y:auto}.shop-student-card{border-radius:var(--radius-md);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e0e0e0;min-width:74px;padding:8px 12px;transition:all .18s}.shop-student-card:hover{border-color:var(--pink-main);background:var(--pink-pale)}.shop-student-card.selected{border-color:var(--pink-main);background:var(--pink-pale);box-shadow:0 0 0 3px #e91e8c1f}.shop-student-card.insufficient{opacity:.5}.shop-student-card.insufficient.selected{background:#ffebee;border-color:#e53935;box-shadow:0 0 0 3px #e539351f}.shop-student-name{color:var(--text-dark);margin-bottom:4px;font-size:13px;font-weight:700}.shop-student-medals{color:#b8860b;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:600;display:flex}.shop-medal-icon{object-fit:contain;vertical-align:middle;width:16px;height:16px}.shop-exchange-footer{justify-content:flex-end;padding-top:4px;display:flex}.shop-confirm-btn{color:#fff;border-radius:var(--radius-full);cursor:pointer;background:linear-gradient(135deg,gold,#ff9800);border:none;padding:9px 24px;font-size:14px;font-weight:700;transition:all .2s;box-shadow:0 2px 10px #ff980059}.shop-confirm-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #ff980073}.shop-confirm-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none;background:#ccc}.shop-empty{text-align:center;color:var(--text-pale);width:100%;padding:24px;font-size:14px}.shop-settings-row{border-bottom:1px solid #f5f5f5;align-items:center;gap:8px;padding:6px 0;display:flex}.shop-settings-row:last-child{border-bottom:none}.shop-name-input{flex:1;min-width:0}.shop-cost-input{text-align:center;width:60px}.shop-delete-btn{width:28px;height:28px;color:var(--text-light);cursor:pointer;background:#fff;border:1.5px solid #e0e0e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex}.shop-delete-btn:hover{color:#e53935;background:#ffebee;border-color:#e53935}.shop-add-btn{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-light);background:0 0;border:1.5px dashed #e0e0e0;margin-top:6px;padding:8px;font-size:13px;font-weight:500;transition:all .2s}.shop-add-btn:hover{border-color:var(--pink-main);color:var(--pink-main);background:var(--pink-pale)}.shop-settings-footer{justify-content:flex-end;padding-top:8px;display:flex}.feedback-fab{background:var(--pink-main,#e91e8c);color:#fff;cursor:pointer;z-index:900;border:none;border-radius:50%;width:48px;height:48px;font-size:20px;transition:transform .15s,box-shadow .15s;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #0003}.feedback-fab:hover{transform:scale(1.1);box-shadow:0 6px 18px #00000040}.auth-overlay{z-index:2000;background:linear-gradient(135deg,#fce4ec 0%,#e8f5e9 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-box{background:#fff;border-radius:20px;flex-direction:column;gap:0;width:380px;max-width:calc(100vw - 32px);padding:36px 40px 32px;display:flex;box-shadow:0 8px 40px #00000026}.auth-logo{text-align:center;margin-bottom:6px;font-size:40px}.auth-title{text-align:center;color:var(--text-dark);margin-bottom:4px;font-size:20px;font-weight:700}.auth-subtitle{text-align:center;color:var(--text-light);margin-bottom:24px;font-size:13px}.auth-field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.auth-label{color:var(--text-mid);font-size:13px;font-weight:600}.auth-input{background:#fafafa;border:1.5px solid #e0e0e0;border-radius:10px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.auth-input:focus{border-color:var(--pink-main);background:#fff}.auth-error{color:#e53935;min-height:18px;margin-bottom:4px;font-size:12px}.auth-btn-primary{background:linear-gradient(135deg, var(--pink-main), #ff6b9d);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:6px;margin-bottom:14px;padding:12px;font-size:15px;font-weight:700;transition:all .2s}.auth-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #e91e8c59}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-light);font-size:13px}.auth-switch a{color:var(--pink-main);cursor:pointer;font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.license-banner{color:#e65100;background:linear-gradient(90deg,#fff8e1,#fff3e0);border:1px solid #ffe082;border-radius:12px;align-items:center;gap:10px;margin:16px 20px 0;padding:10px 16px;font-size:13px;display:flex}.license-banner-text{flex:1;font-weight:600}.license-activate-btn{color:#fff;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,gold,#ff9800);border:none;padding:6px 14px;font-size:12px;font-weight:700;transition:all .2s}.license-activate-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #ff980066}.nav-user-area{align-items:center;gap:8px;display:flex}.nav-user-email{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;overflow:hidden}.nav-user-badge{border-radius:var(--radius-full);white-space:nowrap;padding:3px 8px;font-size:11px;font-weight:700}.nav-user-badge.trial{color:#e65100;background:#fff3e0;border:1px solid #ffe082}.nav-user-badge.activated{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.nav-signout-btn{color:var(--text-light);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:1px solid #e0e0e0;padding:4px 10px;font-size:12px;transition:all .15s}.nav-signout-btn:hover{color:#e53935;border-color:#e53935}.license-modal-content{flex-direction:column;gap:14px;padding:20px 24px 24px;display:flex}.license-modal-desc{color:var(--text-mid);font-size:13px;line-height:1.6}.license-key-input{letter-spacing:2px;text-transform:uppercase;text-align:center;border:2px solid #e0e0e0;border-radius:10px;outline:none;padding:12px 16px;font-size:16px;font-weight:600;transition:border-color .2s}.license-key-input:focus{border-color:var(--pink-main)}.license-modal-footer{justify-content:flex-end;gap:10px;display:flex}
