@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Noto+Sans+TC:wght@300..900&display=swap";:root{--color-background: #0A122C;--color-text-primary: #FFF1C5;--color-text-secondary: #FFCC00;--color-glass-bg: rgba(10, 25, 60, .65);--color-glass-border: rgba(255, 204, 0, .35);--color-glass-hover: rgba(255, 204, 0, .15);--color-input-bg: rgba(5, 12, 30, .9);--color-accent: #FFCC00;--color-accent-hover: rgba(255, 204, 0, .2);--color-heart: #FF1C1C;--font-pokemon: "Fredoka", "Noto Sans TC", sans-serif;--manager-glass: rgba(10, 25, 60, .65);--manager-line: rgba(255, 204, 0, .35);--manager-ink: #FFF1C5;--manager-accent: #FFCC00;--manager-muted: #8FA2C4}.adventure-console-page{display:flex;flex-direction:column;gap:18px}.adventure-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}.adventure-card,.adventure-locked-card{min-width:0;padding:18px;border:2px solid rgba(255,207,79,.24);border-radius:16px;background:#08122ac7;box-shadow:0 14px 34px #00000042}.adventure-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.adventure-card-head span,.adventure-note,.adventure-stat-grid span{color:#f8fbffb8;font-size:.86rem;font-weight:800}.adventure-card-head h4,.adventure-locked-card h3{margin:3px 0 0;color:#ffcf4f;font-size:1.2rem;line-height:1.2}.adventure-card-head strong{flex:0 0 auto;padding:5px 10px;border:1px solid rgba(110,231,183,.35);border-radius:999px;background:#6ee7b71f;color:#8cf3c7;font-size:.82rem}.boss-stage{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:center;gap:16px;margin-bottom:14px}.boss-stage img{width:100%;max-height:190px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.35))}.boss-hp-panel{display:grid;gap:10px}.boss-hp-copy{display:flex;justify-content:space-between;gap:12px;color:#f8fbff;font-weight:900}.boss-hp-track{height:16px;overflow:hidden;border:2px solid rgba(23,50,95,.95);border-radius:999px;background:#ffffff24}.boss-hp-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#e4563a,#ffcf4f,#6ee7b7)}.adventure-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.adventure-stat-grid>div{display:grid;gap:3px;padding:10px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:#ffffff14}.adventure-stat-grid strong{color:#fff8d7;font-size:1.08rem}.adventure-actions{display:flex;flex-wrap:wrap;gap:10px}.adventure-actions .game-btn,.expedition-button{min-width:160px}.expedition-route{min-height:120px;display:grid;grid-template-columns:54px 1fr 54px 1fr 54px;align-items:center;margin:8px 0 14px}.expedition-node{width:54px;height:54px;display:grid;place-items:center;border:3px solid #17325f;border-radius:50%;background:#fff8d7;color:#17325f;box-shadow:0 5px #17325f;font-weight:950}.expedition-node.is-field{background:#b7f2d4}.expedition-node.is-chest{background:#ffcf4f}.expedition-line{height:5px;background:linear-gradient(90deg,#ffcf4f33,#6ee7b7d9)}.adventure-teacher-panel{display:grid;gap:16px}.adventure-teacher-summary,.adventure-settings-grid,.adventure-form-grid{display:grid;gap:12px}.adventure-teacher-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.adventure-teacher-summary>div,.adventure-teacher-boss-state{padding:12px;border:1px solid var(--color-glass-border);border-radius:12px;background:#ffffff14}.adventure-teacher-summary span,.adventure-teacher-boss-state span{display:block;color:var(--manager-muted);font-size:.85rem;font-weight:800}.adventure-teacher-summary strong{color:var(--color-text-secondary);font-size:1.35rem;font-weight:950}.adventure-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.adventure-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--color-glass-border);border-radius:12px;background:#ffffff12}.adventure-switch-row strong{display:block;color:var(--color-text-primary)}.adventure-switch-row span{color:var(--manager-muted);font-size:.84rem}.adventure-switch-row.is-disabled{opacity:.76}.adventure-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.adventure-form-grid label,.adventure-wide-field{display:grid;gap:6px;color:var(--manager-muted);font-size:.86rem;font-weight:900}.adventure-form-grid input,.adventure-wide-field input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--color-glass-border);border-radius:10px;background:#0000002e;color:var(--color-text-primary);font:inherit}.adventure-wide-field,.adventure-require-row,.adventure-teacher-boss-state{margin-top:12px}.adventure-teacher-boss-state{display:grid;gap:10px}.student-game-console.is-low-motion:before,.student-game-console.is-low-motion:after,.cm-app-shell.is-low-motion .student-game-console:before,.cm-app-shell.is-low-motion .student-game-console:after,.student-game-console.is-low-motion .console-ambient-particles,.cm-app-shell.is-low-motion .student-game-console .console-ambient-particles,.student-game-console.is-low-motion .floating-particle,.cm-app-shell.is-low-motion .student-game-console .floating-particle{display:none!important;animation:none!important}.student-game-console.is-low-motion *,.cm-app-shell.is-low-motion .student-game-console *{animation:none!important;transition:none!important;text-shadow:none!important}.student-game-console.is-low-motion .legendary-glow,.cm-app-shell.is-low-motion .student-game-console .legendary-glow,.student-game-console.is-low-motion .current-pet-hero-img,.cm-app-shell.is-low-motion .student-game-console .current-pet-hero-img,.student-game-console.is-low-motion .boss-stage img,.cm-app-shell.is-low-motion .student-game-console .boss-stage img{filter:none!important}@media(max-width:900px){.adventure-grid,.adventure-teacher-summary,.adventure-settings-grid,.adventure-form-grid,.boss-stage{grid-template-columns:1fr}}body.light-mode{--color-background: #FFFDF0;--color-text-primary: #0A285F;--color-text-secondary: #3E5E98;--color-glass-bg: rgba(255, 255, 255, .85);--color-glass-border: rgba(10, 40, 95, .15);--color-glass-hover: rgba(255, 255, 255, .98);--color-input-bg: #FFFFFF;--color-accent: #FF1C1C;--color-accent-hover: rgba(255, 28, 28, .1);--color-heart: #FF1C1C;--manager-glass: rgba(255, 255, 255, .85);--manager-line: rgba(10, 40, 95, .15);--manager-ink: #0A285F;--manager-accent: #FF1C1C;--manager-muted: #5A7EBA}body,button,input,select,textarea{font-family:var(--font-pokemon)!important}body:after{content:"";position:fixed;bottom:0;left:0;width:100%;height:48px;background-image:url(./assets/grass_decor.png);background-repeat:repeat-x;background-size:auto 48px;pointer-events:none;z-index:10005}.app-container{padding-bottom:48px}@keyframes crystal-icon-wobble{0%{transform:rotate(0) scale(1)}15%{transform:rotate(-18deg) scale(1.1)}30%{transform:rotate(15deg) scale(1.1)}45%{transform:rotate(-12deg) scale(1.1)}60%{transform:rotate(9deg) scale(1.1)}75%{transform:rotate(-5deg) scale(1.05)}90%{transform:rotate(3deg) scale(1.05)}to{transform:rotate(0) scale(1)}}.nav-crystal-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;margin-right:8px;object-fit:contain;filter:drop-shadow(0 2px 0 rgba(23,50,95,.2)) drop-shadow(0 5px 9px rgba(42,129,214,.22));transition:transform .2s ease,filter .2s ease}.nav-btn:hover .nav-crystal-icon,.nav-btn.active .nav-crystal-icon{animation:crystal-icon-wobble .9s ease-in-out}.pokemon-card{position:relative;background:linear-gradient(135deg,#fff5cc,#ffe57f);border:4px solid #FFC107;border-radius:16px;padding:14px;box-shadow:0 8px 20px #00000026;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;overflow:hidden;color:#0a285f!important}.pokemon-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 28px #00000040}.pokemon-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff80,#fff0 60%);pointer-events:none}.pokemon-card-type{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:700;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.4);margin-top:4px}.type-\8349 {background-color:#4caf50}.type-\706b {background-color:#ff5722}.type-\6c34 {background-color:#2196f3}.type-\96fb {background-color:#ffeb3b;color:#333!important;text-shadow:none!important}.type-\87f2 ,.type-\87f2\/\98db\884c {background-color:#8bc34a}.type-\4e00\822c ,.type-\4e00\822c\/\98db\884c {background-color:#9e9e9e}.type-\6bd2 ,.type-\6bd2\/\60e1 {background-color:#9c27b0}.type-\5730\9762 ,.type-\5730\9762\/\5ca9\77f3 {background-color:#ff9800}.type-\5e7d\9748 ,.type-\5e7d\9748\/\706b {background-color:#673ab7}.type-\8d85\80fd\529b ,.type-\8d85\80fd\529b\/\5996\7cbe {background-color:#e91e63}.type-\5ca9\77f3 {background-color:#795548}.type-\51b0 ,.type-\6c34\/\51b0 ,.type-\51b0\/\87f2 {background-color:#00bcd4}.type-\9f8d ,.type-\9f8d\/\706b ,.type-\9f8d\/\60e1 ,.type-\9f8d\/\5996\7cbe {background-color:#3f51b5}.type-\683c\9b25 ,.type-\683c\9b25\/\92fc\9435 ,.type-\87f2\/\683c\9b25 {background-color:#d32f2f}.type-\5996\7cbe ,.type-\8349\/\5996\7cbe {background-color:#ff80ab}.type-\92fc\9435 ,.type-\96fb\/\92fc\9435 {background-color:#607d8b}.type-\60e1 {background-color:#263238}.pet-showcase{background:radial-gradient(circle at 50% 58%,rgba(255,207,79,.18),transparent 58%),transparent;border:2px dashed rgba(10,40,95,.12);border-radius:12px;padding:8px;width:100%;text-align:center;margin-top:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:visible}.pet-emoji-large{font-size:3.2rem;margin:6px 0;display:inline-block;transition:transform .2s ease}.pokemon-card:hover .pet-emoji-large{transform:scale(1.2) rotate(5deg)}.gacha-machine-panel{background:linear-gradient(180deg,#ff4b4b,#ff1c1c 50%,#fff 50% 100%);border:6px solid #263238;border-radius:24px;padding:24px;box-shadow:0 12px 32px #00000040;display:flex;flex-direction:column;align-items:center;position:relative}.gacha-machine-panel:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:#fff;border:6px solid #263238;border-radius:50%;box-shadow:0 4px 8px #00000026;pointer-events:none;z-index:10}.gacha-title{color:#fff;font-size:1.8rem;font-weight:900;text-shadow:2px 2px 0px #000000;margin-bottom:20px;z-index:1}.gacha-button{background:#fc0;color:#0a285f;border:3px solid #0A285F;border-radius:999px;font-size:1.25rem;font-weight:900;padding:12px 36px;cursor:pointer;box-shadow:0 6px #08204d;transition:all .1s ease;z-index:1}.gacha-button:active{transform:translateY(4px);box-shadow:0 2px #08204d}.game-btn{background:#fc0;color:#0a285f;border:3px solid #0A285F;border-radius:12px;font-weight:900;cursor:pointer;box-shadow:0 4px #08204d;transition:all .1s ease;padding:8px 16px}.game-btn:hover{background:#ffe066}.game-btn:active{transform:translateY(2px);box-shadow:0 2px #08204d}.game-btn.btn-red{background:#ff4b4b;color:#fff;border-color:#263238;box-shadow:0 4px #263238}.game-btn.btn-red:hover{background:#ff6b6b}.game-btn.btn-blue{background:#2196f3;color:#fff;border-color:#0a285f;box-shadow:0 4px #0a285f}.game-btn.btn-blue:hover{background:#42a5f5}.game-btn.btn-green{background:#4caf50;color:#fff;border-color:#1b5e20;box-shadow:0 4px #1b5e20}.game-btn.btn-green:hover{background:#66bb6a}.power-bar-container{background:#0000001a;border-radius:10px;height:12px;width:100%;overflow:hidden;margin:6px 0;border:1px solid rgba(0,0,0,.2)}.power-bar-fill{background:linear-gradient(90deg,#4caf50,#8bc34a);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.pokedex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;max-height:350px;overflow-y:auto;padding:8px;background:#0000000d;border-radius:12px}.pokedex-slot{width:100%;aspect-ratio:1;background:#fff;border:2px solid #DDD;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;position:relative;transition:all .2s ease}.pokedex-slot.locked{background:#eceff1;color:#b0bec5;filter:grayscale(1)}.pokedex-slot.locked:after{content:"?";font-weight:900;font-size:1.4rem;color:#b0bec5}.pokedex-slot.owned{border-color:#ffc107;background:#fff9c4}.pokedex-slot:hover{transform:scale(1.1);box-shadow:0 4px 8px #0000001a;z-index:2}.slot-badge{position:absolute;bottom:2px;right:2px;background:#ff1c1c;color:#fff;font-size:.6rem;font-weight:900;padding:1px 4px;border-radius:4px}.equipped-pet-badge{position:absolute;top:10px;right:10px;font-size:1.8rem;background:#ffffffb3;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid #FFC107;box-shadow:0 2px 6px #0000001a;transition:transform .2s ease}.equipped-pet-badge:hover{transform:scale(1.2)}.evolution-scene{text-align:center;padding:40px 20px;background:radial-gradient(circle,#2196f3,#0d47a1);color:#fff;border-radius:20px;box-shadow:inset 0 0 100px #000c;overflow:hidden;position:relative}.evo-flash{animation:flash-animation 1.5s ease-out infinite alternate}@keyframes flash-animation{0%{filter:brightness(1) drop-shadow(0 0 10px rgba(255,255,255,0))}to{filter:brightness(2.2) drop-shadow(0 0 30px rgba(255,255,255,1))}}.evo-particles{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.15) 10%,transparent 10%);background-size:16px 16px}.qr-modal-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.qr-code-img{border:6px solid #263238;border-radius:16px;background:#fff;padding:10px;box-shadow:0 6px 16px #00000026;margin:16px 0}.gacha-reveal-scene{text-align:center;padding:30px 20px;background:radial-gradient(circle,#ff5f6d,#ffc371);color:#fff;border-radius:24px;border:4px solid #FFCC00;box-shadow:0 20px 60px #00000080,inset 0 0 80px #0000004d;overflow:hidden;position:relative}.gacha-stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.4) 10%,transparent 10%);background-size:24px 24px;animation:star-move 10s linear infinite}@keyframes star-move{0%{background-position:0 0}to{background-position:100px 100px}}.gacha-animation-container{position:relative;height:280px;display:flex;align-items:center;justify-content:center;margin:10px 0}.gacha-capsule-wobble{width:140px;height:140px;position:absolute;animation:gacha-shake-and-burst 2.8s cubic-bezier(.36,.07,.19,.97) forwards;transform-origin:bottom center}.gacha-capsule-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}@keyframes gacha-shake-and-burst{0%{transform:scale(.2) rotate(0);opacity:0}10%{transform:scale(1) rotate(0);opacity:1}15%{transform:rotate(-15deg)}20%{transform:rotate(15deg)}25%{transform:rotate(-15deg)}30%{transform:rotate(15deg)}35%{transform:rotate(0)}45%{transform:scale(1) rotate(0);filter:none}50%{transform:rotate(-15deg) scale(1.05);filter:drop-shadow(0 0 15px rgba(255,0,0,.8))}55%{transform:rotate(15deg) scale(1.05);filter:drop-shadow(0 0 15px rgba(255,0,0,.8))}60%{transform:rotate(-15deg) scale(1.05);filter:drop-shadow(0 0 15px rgba(255,0,0,.8))}65%{transform:rotate(15deg) scale(1.05);filter:drop-shadow(0 0 15px rgba(255,0,0,.8))}70%{transform:rotate(0) scale(1.1);filter:brightness(1.5) drop-shadow(0 0 25px rgba(255,255,255,1))}75%{transform:scale(1.3);opacity:1;filter:brightness(3)}80%{transform:scale(2);opacity:0;filter:brightness(5)}to{transform:scale(2);opacity:0}}.gacha-reveal-card{opacity:0;transform:scale(.1) rotate(-20deg);animation:gacha-card-enter .8s cubic-bezier(.175,.885,.32,1.275) 2.3s forwards;width:100%}@keyframes gacha-card-enter{0%{opacity:0;transform:scale(.1) rotate(-20deg)}10%{opacity:.5}to{opacity:1;transform:scale(1) rotate(0)}}.legendary-glow{box-shadow:0 0 25px #fc0,0 0 50px #fc09;animation:legendary-pulse 2s infinite alternate}img.legendary-glow{box-shadow:none!important;background:transparent!important;background-color:transparent!important;filter:drop-shadow(0 0 10px #FFCC00) drop-shadow(0 0 20px rgba(255,204,0,.6))!important;animation:legendary-img-pulse 2s infinite alternate!important}@keyframes legendary-pulse{0%{box-shadow:0 0 15px #fc0,0 0 30px #ffcc0080}to{box-shadow:0 0 30px gold,0 0 60px #ffd700e6}}@keyframes legendary-img-pulse{0%{filter:drop-shadow(0 0 6px #FFCC00) drop-shadow(0 0 12px rgba(255,204,0,.5))!important}to{filter:drop-shadow(0 0 12px #FFD700) drop-shadow(0 0 24px rgba(255,215,0,.9))!important}}.student-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;padding:10px;width:100%}.student-pet-card{position:relative;background:var(--color-glass-bg);border:3px solid var(--color-glass-border);border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;aspect-ratio:1 / 1.25;cursor:pointer;transition:all .25s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;box-shadow:0 4px 10px #00000026}.student-pet-card:hover{transform:translateY(-6px) scale(1.03);border-color:var(--color-accent);box-shadow:0 8px 24px #ffcc004d}.student-pet-card.active{border-color:var(--color-accent);background:#ffcc001a}.student-pet-card .card-number{font-size:.9rem;font-weight:900;color:var(--color-text-secondary);background:#0003;padding:2px 8px;border-radius:20px;align-self:flex-start;margin-bottom:4px}.student-pet-card .card-sprite-container{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:4px;position:relative}.student-pet-card .card-sprite-container img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));transition:transform .2s ease}.student-pet-card:hover .card-sprite-container img{transform:scale(1.15) rotate(4deg)}.student-pet-card .card-sprite-empty{font-size:2.2rem;opacity:.25;filter:grayscale(1)}.student-pet-card .card-name{font-size:.85rem;font-weight:700;color:var(--color-text-primary);margin-top:4px;text-align:center;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-pet-card .card-score{font-size:.75rem;opacity:.8;color:var(--manager-muted)}.pet-sprite-thumb{width:28px;height:28px;object-fit:contain;vertical-align:middle;image-rendering:-webkit-optimize-contrast}.pet-sprite-medium{width:56px;height:56px;object-fit:contain;image-rendering:-webkit-optimize-contrast}.pet-sprite-large{width:96px;height:96px;object-fit:contain;image-rendering:-webkit-optimize-contrast}.gacha-overlay-backdrop{position:fixed;inset:0;background-color:#0a122cf2;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.gacha-reveal-container{width:100%;max-width:480px}.mode-tab-bar{display:flex;gap:8px;margin-bottom:16px;border-bottom:2px solid var(--color-glass-border);padding-bottom:8px}.mode-tab-button{background:transparent;border:none;color:var(--manager-muted);font-weight:900;font-size:1rem;padding:6px 16px;cursor:pointer;border-radius:8px;transition:all .2s}.mode-tab-button.active{color:var(--color-text-secondary);background:var(--color-glass-hover);border:1px solid var(--color-glass-border)}@keyframes console-zoom-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.student-game-console{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(ellipse at 40% 30%,#0f2042,#050b1a 80%);z-index:10000;display:flex;flex-direction:column;color:#fff1c5;font-family:var(--font-pokemon)!important;overflow:hidden;box-sizing:border-box;animation:console-zoom-in .45s cubic-bezier(.22,1,.36,1) both}@keyframes ambient-float{0%{transform:translate(0) scale(1);opacity:.35}25%{transform:translate(30px,-40px) scale(1.15);opacity:.5}50%{transform:translate(-20px,-60px) scale(1.05);opacity:.3}75%{transform:translate(10px,-30px) scale(1.2);opacity:.45}to{transform:translate(0) scale(1);opacity:.35}}.student-game-console:before{content:"";position:absolute;inset:0;background:radial-gradient(circle 220px at 15% 70%,rgba(255,204,0,.06) 0%,transparent 70%),radial-gradient(circle 180px at 80% 20%,rgba(33,150,243,.07) 0%,transparent 70%),radial-gradient(circle 260px at 50% 50%,rgba(255,87,34,.04) 0%,transparent 70%);pointer-events:none;z-index:0;animation:ambient-float 18s ease-in-out infinite}@keyframes ambient-stars{0%{background-position:0 0,0 0,0 0}to{background-position:200px 300px,-150px 200px,100px -250px}}.student-game-console:after{content:"";position:absolute;inset:0;background-image:radial-gradient(1.2px 1.2px at 20px 30px,rgba(255,255,255,.35) 50%,transparent 50%),radial-gradient(1px 1px at 80px 120px,rgba(255,255,255,.25) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 160px 60px,rgba(255,255,255,.2) 50%,transparent 50%);background-size:200px 200px,170px 170px,220px 220px;pointer-events:none;z-index:0;animation:ambient-stars 40s linear infinite}.student-game-console>*{position:relative;z-index:1}.console-header{background:#0a193ceb;border-bottom:4px solid #FFCC00;padding:12px 24px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;box-shadow:0 4px 24px #00000080,inset 0 -1px #ffcc0026}.console-title-area{display:flex;align-items:center;gap:12px;min-width:0}.console-title-area h2{margin:0;font-size:1.6rem;font-weight:900;color:#fc0;text-shadow:2px 2px 0px #000,0 0 12px rgba(255,204,0,.3);white-space:nowrap}.console-student-info{background:#00000073;border:2px solid #FFCC00;padding:6px 16px;border-radius:99px;font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:12px;color:#fff;box-shadow:inset 0 1px 4px #0000004d}@keyframes token-glow{0%,to{text-shadow:1px 1px 0px #000,0 0 6px rgba(255,204,0,.4)}50%{text-shadow:1px 1px 0px #000,0 0 14px rgba(255,204,0,.8),0 0 24px rgba(255,204,0,.3)}}.console-token-badge{color:#fc0;font-weight:900;animation:token-glow 3s ease-in-out infinite;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.token-spend-anim{animation:token-spend .5s cubic-bezier(.34,1.56,.64,1)!important}@keyframes token-spend{0%{transform:scale(1)}30%{transform:scale(.7)}60%{transform:scale(1.15);color:#ff5722}to{transform:scale(1)}}.token-earn-anim{animation:token-earn .6s cubic-bezier(.34,1.56,.64,1)!important}@keyframes token-earn{0%{transform:scale(1)}40%{transform:scale(1.35);color:#4caf50;text-shadow:0 0 16px rgba(76,175,80,.8)}70%{transform:scale(.95)}to{transform:scale(1)}}.console-tab-bar{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.console-tab-btn{background:#263238d9;color:#8fa2c4;border:3px solid #8FA2C4;border-bottom:none;border-radius:12px 12px 0 0;padding:10px 22px;font-size:1.05rem;font-weight:900;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);transform:translateY(4px);white-space:nowrap}.console-tab-btn.active{background:#fc0;color:#0a285f;border-color:#0a285f;transform:translateY(0);box-shadow:0 -4px 14px #ffcc0059;z-index:2}.console-tab-btn:hover:not(.active){background:#37474f;color:#fff;transform:translateY(2px)}.console-body{flex:1;padding:24px 24px 80px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;scroll-behavior:smooth}@keyframes console-fade-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.console-page-content{width:100%;max-width:1000px;display:flex;flex-direction:column;gap:20px;animation:console-fade-in .4s cubic-bezier(.22,1,.36,1) both}@keyframes shake-it{0%,to{transform:translate(0)}10%{transform:translate(-6px)}20%{transform:translate(5px)}30%{transform:translate(-4px)}40%{transform:translate(3px)}50%{transform:translate(-2px)}60%{transform:translate(1px)}}.console-screen-shake{animation:shake-it .45s ease-out!important}.console-gacha-layout{display:grid;grid-template-columns:1fr;gap:30px;align-items:center}.console-gacha-info{background:#0a193ccc;border:3px solid var(--color-glass-border);border-radius:20px;padding:24px;text-align:center;box-shadow:0 8px 32px #00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.console-gacha-info h3{margin-top:0;color:#fc0;font-size:1.5rem;font-weight:900}.console-gacha-machine-wrapper{display:flex;justify-content:center;align-items:center;perspective:1000px;position:relative}@keyframes gacha-glow-pulse{0%,to{box-shadow:0 0 40px 10px #ffcc0026,0 0 80px 30px #ffcc000f}50%{box-shadow:0 0 60px 20px #ffcc0040,0 0 120px 50px #ffcc001a}}.gacha-machine-glow{position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,204,0,.1) 0%,transparent 70%);animation:gacha-glow-pulse 4s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes float-gacha{0%,to{transform:translateY(0) rotate(0);filter:drop-shadow(0 15px 30px rgba(0,0,0,.5)) drop-shadow(0 0 12px rgba(255,204,0,.08))}50%{transform:translateY(-12px) rotate(1deg);filter:drop-shadow(0 20px 35px rgba(0,0,0,.4)) drop-shadow(0 0 20px rgba(255,204,0,.15))}}.console-gacha-machine-img{width:100%;max-width:320px;animation:float-gacha 4s ease-in-out infinite;position:relative;z-index:1}@keyframes sparkle-drift-1{0%,to{transform:translate(0) scale(0);opacity:0}20%{opacity:1;transform:translate(-15px,-25px) scale(1)}80%{opacity:.6;transform:translate(-30px,-60px) scale(.6)}}@keyframes sparkle-drift-2{0%,to{transform:translate(0) scale(0);opacity:0}25%{opacity:1;transform:translate(20px,-30px) scale(1.1)}85%{opacity:.4;transform:translate(40px,-70px) scale(.4)}}@keyframes sparkle-drift-3{0%,to{transform:translate(0) scale(0);opacity:0}30%{opacity:1;transform:translate(-10px,-20px) scale(.9)}90%{opacity:.3;transform:translate(-25px,-55px) scale(.3)}}.gacha-sparkles{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:2}.gacha-sparkles:before,.gacha-sparkles:after{content:"\2726";position:absolute;font-size:1rem;color:#fc0;text-shadow:0 0 6px rgba(255,204,0,.8)}.gacha-sparkles:before{top:20%;left:15%;animation:sparkle-drift-1 3s ease-in-out infinite}.gacha-sparkles:after{top:30%;right:18%;animation:sparkle-drift-2 3.5s ease-in-out infinite .5s}@keyframes gacha-btn-pulse{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.04) translateY(-3px)}}.student-game-console .gacha-button{background:#fc0;color:#0a285f;border:3px solid #0A285F;border-radius:999px;font-size:1.25rem;font-weight:900;padding:12px 36px;cursor:pointer;box-shadow:0 6px #08204d,0 0 18px #fc03;transition:box-shadow .2s ease,background .15s ease;z-index:1;animation:gacha-btn-pulse 2.2s cubic-bezier(.34,1.56,.64,1) infinite;will-change:transform}.student-game-console .gacha-button:hover{background:#ffe066;box-shadow:0 6px #08204d,0 0 28px #fc06}.student-game-console .gacha-button:active{transform:translateY(4px) scale(.97)!important;box-shadow:0 2px #08204d;animation:none}.student-game-console .gacha-button:disabled{background:#555;color:#999;border-color:#666;box-shadow:0 4px #333;cursor:not-allowed;animation:none;opacity:.6}.console-shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;width:100%}.console-shop-card{background:linear-gradient(135deg,#0f2043f2,#0a193cf2);border:3px solid var(--color-glass-border);border-radius:20px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;box-shadow:0 8px 24px #0000004d;transition:all .35s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.console-shop-card:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.06) 45%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.06) 55%,transparent 70%);transition:left .7s ease;pointer-events:none;z-index:1}.console-shop-card:hover:after{left:130%}.console-shop-card:hover{transform:translateY(-8px) scale(1.02);border-color:#fc0;box-shadow:0 14px 36px #ffcc0038}@keyframes shop-item-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.console-shop-card img{width:90px;height:90px;object-fit:contain;margin:12px 0;filter:drop-shadow(0 6px 12px rgba(0,0,0,.3));animation:shop-item-bob 3.5s ease-in-out infinite;position:relative;z-index:2}.console-shop-item-title{font-size:1.25rem;font-weight:900;color:#fc0;margin:0;position:relative;z-index:2}.console-shop-item-desc{font-size:.85rem;color:#8fa2c4;margin:8px 0 16px;min-height:40px;line-height:1.4;position:relative;z-index:2}@keyframes price-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.console-shop-price{background:#ff5722;color:#fff;font-weight:900;padding:4px 14px;border-radius:99px;margin-bottom:12px;font-size:.95rem;box-shadow:0 3px 8px #ff572259;animation:price-pulse 2.5s ease-in-out infinite;position:relative;z-index:2}@keyframes shop-buy-flash{0%{opacity:0}15%{opacity:.6}to{opacity:0}}.shop-buy-flash:before{content:"";position:absolute;inset:0;background:#ffffffb3;border-radius:18px;z-index:10;animation:shop-buy-flash .5s ease-out forwards;pointer-events:none}@keyframes shop-power-glow{0%{box-shadow:0 8px 24px #0000004d}30%{box-shadow:0 0 30px #4caf5099,0 0 60px #4caf5040;border-color:#4caf50}to{box-shadow:0 8px 24px #0000004d}}.shop-power-up{animation:shop-power-glow .8s ease-out!important}.console-pokedex-layout{display:grid;grid-template-columns:1fr;gap:24px}.console-pokedex-left{display:flex;flex-direction:column;gap:16px}.console-pokedex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:10px;height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,204,0,.2);border-radius:20px;box-shadow:inset 0 4px 20px #00000080,0 0 1px #ffffff0d}@keyframes pokedex-owned-glow{0%,to{border-color:#ffc107;box-shadow:0 0 6px #ffc10733}50%{border-color:#ffd54f;box-shadow:0 0 14px #ffc10773}}.student-game-console .pokedex-slot.owned{border-color:#ffc107;background:#fff9c4;animation:pokedex-owned-glow 3s ease-in-out infinite}.student-game-console .pokedex-slot.owned:hover{transform:scale(1.18);box-shadow:0 0 18px #ffc10799;z-index:3}@keyframes pokedex-unlock-pulse{0%{box-shadow:0 0 #fc09;transform:scale(.95)}50%{box-shadow:0 0 0 10px #fc00;transform:scale(1.05)}to{box-shadow:0 0 #fc00;transform:scale(1)}}.pokedex-unlock-pulse{animation:pokedex-unlock-pulse .7s cubic-bezier(.34,1.56,.64,1)!important}.console-pokedex-right{display:flex;flex-direction:column;gap:20px;align-items:center}.console-detail-card{background:linear-gradient(135deg,#0f2043d9,#0a193cd9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:3px solid rgba(255,204,0,.25);border-radius:24px;padding:24px;width:100%;box-sizing:border-box;box-shadow:0 10px 35px #00000073,inset 0 1px #ffffff0a;transition:border-color .4s ease,box-shadow .4s ease}.console-detail-card:hover{border-color:#ffcc0073;box-shadow:0 12px 40px #00000080,0 0 18px #ffcc001a}.console-pokedex-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.console-pokedex-title{margin:0;font-size:1.4rem;font-weight:900;color:#fc0}.console-pokedex-progress{font-weight:700;font-size:1.1rem;color:#fc0}@keyframes console-legendary-rainbow{0%{box-shadow:0 0 18px #fc0,0 0 40px #ffcc0080;border-color:#fc0}25%{box-shadow:0 0 18px #ff5722,0 0 40px #ff572266;border-color:#ff5722}50%{box-shadow:0 0 18px #e91e63,0 0 40px #e91e6366;border-color:#e91e63}75%{box-shadow:0 0 18px #2196f3,0 0 40px #2196f366;border-color:#2196f3}to{box-shadow:0 0 18px #fc0,0 0 40px #ffcc0080;border-color:#fc0}}.student-game-console .legendary-glow{animation:console-legendary-rainbow 3s linear infinite!important}@keyframes evo-ready-glow{0%,to{box-shadow:0 4px #1b5e20,0 0 8px #4caf504d}50%{box-shadow:0 4px #1b5e20,0 0 22px #4caf50a6,0 0 40px #4caf5033}}.evo-ready-pulse{animation:evo-ready-glow 1.8s ease-in-out infinite!important}.student-game-console .evolution-scene:before{content:"";position:absolute;top:50%;left:50%;width:300%;height:300%;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.06) 5deg,transparent 10deg,transparent 30deg,rgba(255,255,255,.04) 35deg,transparent 40deg,transparent 60deg,rgba(255,255,255,.07) 65deg,transparent 70deg);animation:evo-rays-spin 8s linear infinite;pointer-events:none}@keyframes evo-rays-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes power-bar-stripes{0%{background-position:0 0}to{background-position:30px 0}}.student-game-console .power-bar-container{background:#00000040;border-radius:10px;height:14px;width:100%;overflow:hidden;margin:6px 0;border:1px solid rgba(255,255,255,.08);transition:box-shadow .5s ease}.student-game-console .power-bar-container.near-threshold{box-shadow:0 0 10px #4caf5080,0 0 22px #4caf5033}.student-game-console .power-bar-fill{background:repeating-linear-gradient(-45deg,rgba(255,255,255,.08) 0px,rgba(255,255,255,.08) 6px,transparent 6px,transparent 12px),linear-gradient(90deg,#4caf50,#8bc34a);background-size:30px 30px,100% 100%;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);animation:power-bar-stripes 1.2s linear infinite;border-radius:10px}@media(min-width:768px){.console-gacha-layout{grid-template-columns:1fr 1.2fr}.console-pokedex-layout{grid-template-columns:1.2fr 1fr}}@media(max-width:1024px){.console-page-content{max-width:92vw}}@media(max-width:768px){.console-header{flex-direction:column;align-items:stretch;padding:10px 14px;gap:8px}.console-title-area{justify-content:center;flex-wrap:wrap}.console-title-area h2{font-size:1.25rem;text-align:center}.console-student-info{justify-content:center;font-size:.95rem;padding:5px 12px}.console-tab-bar{justify-content:center;gap:4px}.console-tab-btn{padding:8px 14px;font-size:.9rem}.console-body{padding:14px 10px 70px}.console-page-content{max-width:100%;gap:14px}.console-gacha-machine-img{max-width:240px}.gacha-machine-glow{width:200px;height:200px}.console-shop-grid{grid-template-columns:1fr}.console-pokedex-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));height:45vh;gap:8px;padding:10px}.console-detail-card{padding:16px}.console-pokedex-title{font-size:1.15rem}.console-pokedex-progress{font-size:.95rem}.console-gacha-info{padding:16px}.console-gacha-info h3{font-size:1.2rem}.student-game-console .gacha-button{font-size:1.1rem;padding:10px 28px}.console-shop-card{padding:16px}.console-shop-card img{width:72px;height:72px}.console-shop-item-title{font-size:1.1rem}}@media(max-width:400px){.console-tab-btn{padding:6px 10px;font-size:.8rem}.console-title-area h2{font-size:1.1rem}.student-game-console .gacha-button{font-size:1rem;padding:8px 22px}.console-pokedex-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}}body.pokemon-theme{--color-background: #fff8d7;--color-text-primary: #17325f;--color-text-secondary: #ff5f4c;--color-glass-bg: rgba(255, 255, 255, .88);--color-glass-border: rgba(23, 50, 95, .28);--color-glass-hover: rgba(255, 255, 255, .98);--color-accent: #ff5f4c;--manager-ink: #17325f;--manager-muted: #496b95;--manager-line: rgba(23, 50, 95, .18);--manager-glass: rgba(255, 255, 255, .88);--manager-accent: #ff5f4c;--manager-accent-2: #2f8c70;--manager-warm: #ffcf4f;background:linear-gradient(120deg,#fff8d7f5,#e1f6ffeb 52%,#ffecd6f0),url(./assets/anime-classroom-hub.png) center top / cover fixed!important}body.pokemon-theme:before{background-image:linear-gradient(rgba(23,50,95,.06) 2px,transparent 2px),linear-gradient(90deg,rgba(23,50,95,.05) 2px,transparent 2px),linear-gradient(45deg,transparent 0 46%,rgba(255,207,79,.18) 46% 54%,transparent 54% 100%);background-size:46px 46px,46px 46px,28px 28px;opacity:.52}body.pokemon-theme:after{height:54px;opacity:.82;mix-blend-mode:multiply;z-index:8}.pokemon-theme .cm-app-shell{width:min(1540px,calc(100vw - 24px));gap:18px;padding-bottom:60px}.pokemon-theme .cm-sidebar,.pokemon-theme .cm-main,.pokemon-theme .cm-glass,.pokemon-theme .cm-card,.pokemon-theme .glass-card,.pokemon-theme .modal-card{border:3px solid #17325f;box-shadow:0 10px #17325f,0 24px 60px #17325f2e;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.pokemon-theme .cm-sidebar,.pokemon-theme .rail{background:linear-gradient(180deg,#fff8d7f5,#ffffffeb),repeating-linear-gradient(-45deg,rgba(255,207,79,.15) 0 8px,transparent 8px 18px)}.pokemon-theme .cm-main,.pokemon-theme .workspace{background:#ffffffe0;position:relative}.pokemon-theme .cm-main:after{content:"";position:absolute;top:12px;right:18px;width:min(360px,35vw);aspect-ratio:1;background:url(./assets/anime-teacher-mode.png) center / cover;border:4px solid rgba(255,255,255,.9);border-radius:28px;box-shadow:0 10px #17325f,0 24px 46px #17325f33;opacity:.16;transform:rotate(4deg);pointer-events:none}.pokemon-theme .cm-topbar,.pokemon-theme .topbar{position:relative;background:linear-gradient(90deg,#fff8d7fa,#fff8d7f0 54%,#fff8d747),url(./assets/anime-classroom-hub.png) center / cover!important;color:#17325f;border-bottom:4px solid #17325f;overflow:hidden}.pokemon-theme .cm-topbar:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 32%),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 3px,transparent 3px 18px);pointer-events:none}.pokemon-theme .cm-topbar>*{position:relative;z-index:1}.pokemon-theme .cm-topbar .cm-title,.pokemon-theme .topbar .page-title{color:#17325f;text-shadow:0 3px 0 #ffcf4f,0 0 16px rgba(255,255,255,.72)}.pokemon-theme .cm-topbar .cm-description,.pokemon-theme .topbar .page-desc,.pokemon-theme .cm-topbar .eyebrow,.pokemon-theme .topbar .eyebrow{color:#335783}.pokemon-theme .cm-button,.pokemon-theme .btn,.pokemon-theme .tool-link{border:3px solid #17325f;border-radius:14px;box-shadow:0 4px #17325f;font-weight:900}.pokemon-theme .cm-button:hover,.pokemon-theme .btn:hover,.pokemon-theme .tool-link:hover{transform:translateY(-3px);box-shadow:0 7px #17325f,0 14px 28px #17325f2e}.pokemon-theme .cm-button:active,.pokemon-theme .btn:active,.pokemon-theme .tool-link:active,.pokemon-theme .game-btn:active{transform:translateY(2px);box-shadow:0 2px #17325f}.pokemon-theme .cm-primary,.pokemon-theme .btn.primary{color:#17325f;background:linear-gradient(180deg,#ffe66b,#ffcf4f)}.pokemon-theme .cm-secondary,.pokemon-theme .btn.secondary{color:#17325f;background:linear-gradient(180deg,#e7fbff,#c4efff)}.pokemon-theme .cm-brand-icon,.pokemon-theme .brand-badge{color:#17325f;background:linear-gradient(145deg,#ffcf4f,#6ee7b7);border:3px solid #17325f;border-radius:14px;box-shadow:0 5px #17325f}.pokemon-theme .cm-nav-link{background:#fff;border:3px solid #17325f;box-shadow:0 4px #17325f}.pokemon-theme .cm-nav-link.is-active{background:linear-gradient(135deg,#ff5f4c,#ffcf4f);color:#17325f}.pokemon-theme .daily-home-hero{min-height:310px;align-items:end;color:#fff8d7;background:linear-gradient(90deg,#17325feb,#17325f6b 56%,#17325f14),url(./assets/anime-classroom-hub.png) center / cover!important;border-radius:28px;overflow:hidden}.pokemon-theme .daily-home-hero h2{color:#fff8d7;text-shadow:0 4px 0 #17325f}.pokemon-theme .daily-home-hero p,.pokemon-theme .daily-home-hero .cm-eyebrow{color:#fff8d7eb}.pokemon-theme .feature-launch-card,.pokemon-theme .daily-reminders-card,.pokemon-theme .daily-board-preview,.pokemon-theme .student-card,.pokemon-theme .class-card,.pokemon-theme .stat-card{background:linear-gradient(180deg,#fffffff5,#fffae2eb),repeating-linear-gradient(135deg,rgba(255,207,79,.11) 0 6px,transparent 6px 18px);border:3px solid #17325f;box-shadow:0 8px #17325f,0 18px 36px #17325f24}@keyframes animeMascotFloat{0%,to{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-10px) rotate(-1deg)}}@keyframes animeSparkleDrift{0%{background-position:0 0,0 0}to{background-position:110px -80px,-90px 100px}}@keyframes animeCardPop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.pet-system-page{width:100%;display:flex;flex-direction:column;gap:18px;position:relative;flex:1 1 auto;min-height:100%}.mode-tab-shell{position:relative;z-index:1}.mode-tab-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:10px;border:3px solid #17325f;border-radius:24px;background:linear-gradient(180deg,#fffffff5,#e7fbffe6),repeating-linear-gradient(90deg,rgba(255,207,79,.15) 0 10px,transparent 10px 20px);box-shadow:0 8px #17325f,0 18px 34px #17325f24}.mode-tab-button{min-height:86px;padding:12px;display:flex;align-items:center;justify-content:flex-start;gap:12px;border:3px solid #17325f;border-radius:18px;background:#fff;color:#17325f;box-shadow:0 5px #17325f;text-align:left}.mode-tab-button:hover{transform:translateY(-3px)}.mode-tab-button.active{color:#17325f;border-color:#17325f;box-shadow:0 7px #17325f,0 0 0 5px #ffcf4f47}.mode-tab-student.active{background:linear-gradient(135deg,#6ee7b7,#c4efff 58%,#ffcf4f)}.mode-tab-teacher.active{background:linear-gradient(135deg,#ffcf4f,#ffad8c 55%,#9ec6ff)}.mode-tab-icon{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center}.mode-svg,.card-placeholder-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 0 rgba(23,50,95,.25))}.mode-tab-copy{display:grid;gap:3px}.mode-tab-copy strong{font-size:clamp(1rem,2vw,1.22rem);line-height:1.1}.mode-tab-copy small{color:#496b95;font-size:.78rem;line-height:1.35}.pet-mode-hero{position:relative;min-height:250px;display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,300px);align-items:center;gap:clamp(18px,3vw,34px);padding:clamp(20px,4vw,34px);border:4px solid #17325f;border-radius:28px;overflow:hidden;box-shadow:0 12px #17325f,0 28px 60px #17325f2e;animation:animeCardPop .45s cubic-bezier(.2,.8,.2,1) both}.pet-mode-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 18px 22px,rgba(255,255,255,.42) 0 2px,transparent 3px),radial-gradient(circle at 64px 44px,rgba(255,207,79,.4) 0 3px,transparent 4px);background-size:96px 72px,124px 92px;animation:animeSparkleDrift 16s linear infinite;pointer-events:none}.pet-mode-hero.is-student{background:linear-gradient(120deg,#2392baeb,#6fe7b7cc 56%,#ffcf4fd1),url(./assets/anime-student-mode.png) right center / auto 120% no-repeat}.pet-mode-hero.is-teacher{background:linear-gradient(120deg,#17325ff0,#ff5f4cb3 52%,#ffcf4fe0),url(./assets/anime-teacher-mode.png) right center / auto 120% no-repeat}.pet-mode-copy,.pet-mode-art-wrap{position:relative;z-index:1}.pet-mode-copy{max-width:680px;color:#fff;text-shadow:0 2px 0 rgba(23,50,95,.52)}.pet-mode-kicker{display:inline-flex;min-height:28px;align-items:center;padding:4px 10px;border-radius:999px;background:#fff8d7;color:#17325f;border:2px solid #17325f;box-shadow:0 3px #17325f;font-size:.78rem;font-weight:900}.pet-mode-copy h2{margin:14px 0 8px;color:#fff8d7;font-size:clamp(2.2rem,6vw,4.8rem);line-height:.92;text-shadow:0 5px 0 #17325f,0 0 18px rgba(255,207,79,.28)}.pet-mode-copy p{max-width:620px;margin:0;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.65}.pet-mode-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.pet-mode-badges span{display:inline-flex;align-items:center;min-height:34px;padding:5px 12px;border-radius:12px;background:#fff;color:#17325f;border:2px solid #17325f;box-shadow:0 3px #17325f;font-weight:900}.pet-mode-art-wrap{align-self:stretch;display:grid;place-items:center}.pet-mode-art{width:min(100%,280px);aspect-ratio:1;object-fit:cover;border:4px solid rgba(255,255,255,.92);border-radius:28px;box-shadow:0 10px #17325f,0 22px 44px #17325f3d;animation:animeMascotFloat 4.2s ease-in-out infinite}.student-cards-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px;padding:8px 0 18px}.student-pet-card{min-height:210px;border:3px solid #17325f;border-radius:20px;background:linear-gradient(180deg,#fffffff2,#e7fbffe6),repeating-linear-gradient(135deg,rgba(110,231,183,.13) 0 8px,transparent 8px 18px);box-shadow:0 8px #17325f,0 18px 32px #17325f29;animation:animeCardPop .4s cubic-bezier(.2,.8,.2,1) both}.student-pet-card:hover{border-color:#17325f;transform:translateY(-8px) rotate(-1deg);box-shadow:0 12px #17325f,0 24px 46px #17325f38}.student-pet-card .card-number{color:#17325f;background:#ffcf4f;border:2px solid #17325f;box-shadow:0 3px #17325f}.student-pet-card .card-name{color:#17325f;font-weight:900}.student-pet-card .card-score{color:#496b95;font-weight:800}.student-pet-card .card-sprite-container{min-height:96px}.student-pet-card .card-sprite-container img,.pet-sprite-large,.pet-sprite-medium,.pet-sprite-thumb{background:transparent!important;filter:drop-shadow(0 6px 0 rgba(23,50,95,.16)) drop-shadow(0 12px 18px rgba(23,50,95,.18))}img[src*="assets/pets/pet_"]{background:transparent!important;object-fit:contain}.student-pet-card .card-sprite-empty{width:74px;height:74px;opacity:.82}.teacher-command-grid{gap:20px!important}.teacher-roster-panel,.teacher-command-panel{border:3px solid #17325f!important;border-radius:22px!important;background:linear-gradient(180deg,#fffffff5,#fff8d7e6)!important;box-shadow:0 8px #17325f,0 18px 36px #17325f29!important}.pet-mode-teacher .cm-list-item{background:#ffffffc7;border:2px solid rgba(23,50,95,.14)!important;transition:transform .18s ease,background .18s ease,border-color .18s ease}.pet-mode-teacher .cm-list-item:hover,.pet-mode-teacher .cm-list-item.is-active{transform:translate(4px);background:#fff8d7;border-color:#17325f!important}.game-toast{border:3px solid #17325f!important;box-shadow:0 7px #17325f,0 18px 38px #17325f33!important}.student-game-console{background:linear-gradient(180deg,#0a193cb8,#050b1ae0),url(./assets/anime-classroom-hub.png) center / cover}.student-game-console:before{background:repeating-linear-gradient(90deg,rgba(255,207,79,.08) 0 4px,transparent 4px 24px),repeating-linear-gradient(0deg,rgba(110,231,183,.06) 0 3px,transparent 3px 24px)}.console-header{border-bottom-color:#17325f;box-shadow:0 8px #17325f,0 16px 34px #00000047}.console-tab-btn,.student-game-console .gacha-button,.student-game-console .game-btn{border:3px solid #17325f;box-shadow:0 5px #17325f}.console-tab-btn.active{box-shadow:0 5px #17325f,0 0 0 5px #ffcf4f40}@media(max-width:980px){.pokemon-theme .cm-main:after{display:none}.pet-mode-hero{grid-template-columns:1fr}.pet-mode-art-wrap{display:none}.teacher-command-grid{flex-direction:column}.teacher-roster-panel{width:100%!important;max-height:none!important}}@media(max-width:620px){.mode-tab-bar{grid-template-columns:1fr}.mode-tab-button{min-height:76px}.pet-mode-hero{min-height:300px;padding:18px;align-items:end}.pet-mode-copy h2{font-size:clamp(2rem,15vw,3.6rem)}}@media(prefers-reduced-motion:reduce){.pet-mode-art,.pet-mode-hero:before,.student-pet-card,.student-game-console:after,.student-game-console .gacha-button{animation:none!important}}.brand-login-button{width:fit-content;margin-top:8px;padding:6px 10px;border:2px solid #17325f;border-radius:9px;background:#fff8d7;color:#17325f;box-shadow:0 3px #17325f;font-size:.76rem;font-weight:900;cursor:pointer}.brand-login-button:hover{transform:translateY(-1px);background:#ffcf4f}.student-game-console{position:fixed!important;inset:0!important;z-index:12000!important;display:grid!important;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden!important;color:#f8fbff;background:radial-gradient(circle at 16% 20%,rgba(255,207,79,.32),transparent 24%),radial-gradient(circle at 82% 18%,rgba(110,231,183,.24),transparent 26%),linear-gradient(135deg,#0c1e46e6,#140f2ee6),url(./assets/anime-student-mode.png) center / cover!important}.student-game-console .console-ambient-particles{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:1!important;overflow:hidden!important}.student-game-console .particle{position:absolute!important;border-radius:50%!important;background:radial-gradient(circle,#fffc,#fff0 70%)!important;pointer-events:none!important}.student-game-console .particle-1{width:12px;height:12px;top:15%;left:8%;opacity:.4;animation:console-particle-float-1 8s ease-in-out infinite}.student-game-console .particle-2{width:8px;height:8px;top:40%;right:12%;opacity:.3;animation:console-particle-float-2 12s ease-in-out infinite 1s}.student-game-console .particle-3{width:14px;height:14px;bottom:25%;left:16%;opacity:.5;animation:console-particle-float-3 10s ease-in-out infinite .5s}.student-game-console .particle-4{width:9px;height:9px;top:25%;right:30%;opacity:.35;animation:console-particle-float-4 14s ease-in-out infinite 2s}.student-game-console .particle-5{width:10px;height:10px;bottom:12%;right:18%;opacity:.4;animation:console-particle-float-1 9s ease-in-out infinite 1.5s}.student-game-console .particle-6{width:7px;height:7px;top:55%;left:5%;opacity:.25;animation:console-particle-float-2 11s ease-in-out infinite 3s}@keyframes console-particle-float-1{0%,to{transform:translate(0) scale(1);opacity:.4}50%{transform:translate(15px,-25px) scale(1.2);opacity:.6}}@keyframes console-particle-float-2{0%,to{transform:translate(0) scale(1);opacity:.3}50%{transform:translate(-20px,-40px) scale(.9);opacity:.5}}@keyframes console-particle-float-3{0%,to{transform:translate(0) scale(1);opacity:.5}50%{transform:translate(25px,-15px) scale(1.15);opacity:.7}}@keyframes console-particle-float-4{0%,to{transform:translate(0) scale(1);opacity:.35}50%{transform:translate(-10px,-30px) scale(1.3);opacity:.55}}.cm-app-shell.has-student-console{overflow:hidden}.cm-app-shell.has-student-console .cm-sidebar{display:none!important}.cm-app-shell.has-student-console .cm-main{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important;overflow:hidden!important}.cm-app-shell.has-student-console .cm-topbar{display:none!important}.cm-app-shell.has-student-console .cm-content{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important}.student-game-console:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(180deg,transparent,#000 16%,#000 84%,transparent)}.console-exit-button{position:fixed;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));z-index:12020;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px 8px 10px;border:3px solid #17325f;border-radius:12px;background:#fff8d7;color:#17325f;box-shadow:0 5px #17325f,0 14px 28px #00000038;font-weight:950;cursor:pointer}.console-exit-button svg{width:22px;height:22px;fill:currentColor}.console-exit-button:hover{transform:translateY(-2px);background:#ffcf4f}.console-auto-sync-status{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));z-index:12020;display:inline-flex;align-items:center;gap:6px;min-height:28px;max-width:min(240px,calc(100vw - 28px));box-sizing:border-box;padding:4px 10px;border:2px solid #17325f;border-radius:999px;background:#f4ffeef0;color:#155724;box-shadow:0 3px #17325f,0 6px 16px #00000026;font-size:.72rem;font-weight:900;line-height:1.15;pointer-events:none}.console-auto-sync-status svg{flex:0 0 auto;width:14px;height:14px;fill:currentColor}.console-auto-sync-status.is-syncing{background:#fff8d7f5;color:#8a5c00}.console-auto-sync-status.is-limited{background:#f2f4f7f5;color:#667085}.student-game-console .console-header{position:relative;z-index:2;display:grid!important;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:18px 24px 16px 130px!important;border:0!important;border-bottom:4px solid #17325f!important;background:linear-gradient(180deg,#fffffff5,#e6f7ffe6),repeating-linear-gradient(135deg,rgba(255,207,79,.18) 0 8px,transparent 8px 18px);color:#17325f;box-shadow:0 8px #17325f,0 18px 36px #00000047!important;min-height:90px;max-height:120px;box-sizing:border-box}@media(min-width:801px){.student-game-console .console-header{height:96px!important;min-height:96px!important;max-height:96px!important}}.console-title-lockup p,.console-section-heading p,.console-panel-kicker,.gacha-kicker,.evo-kicker{margin:0;color:#e4563a;font-size:.74rem;font-weight:950;letter-spacing:0}.console-title-area h2{margin:2px 0 8px!important;color:#17325f!important;font-size:clamp(1.65rem,3.2vw,2.5rem)!important;line-height:1!important;text-shadow:0 3px 0 #ffcf4f}.console-resource-pills{display:flex!important;flex-wrap:wrap;gap:8px}.console-resource-pills span,.console-token-badge,.console-section-heading>span{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:2px solid #17325f;border-radius:10px;background:#fff;color:#17325f!important;box-shadow:0 3px #17325f;font-weight:900}.student-game-console .console-tab-bar{display:grid!important;grid-template-columns:repeat(5,minmax(82px,1fr));gap:8px;align-self:center}.student-game-console .console-tab-btn{min-height:44px;padding:6px 10px!important;border-radius:12px!important;background:#fff!important;color:#17325f!important;font-size:.9rem!important;line-height:1.15}.student-game-console .console-tab-btn.active{background:#ffcf4f!important;color:#17325f!important}.console-player-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:8px;border:3px solid #17325f;border-radius:14px;background:#fff;box-shadow:0 5px #17325f}.console-player-card img,.console-player-empty{width:52px;height:52px;object-fit:contain;border-radius:0;background:transparent}.console-player-card strong,.console-player-card span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-player-card strong{color:#17325f;font-size:.95rem}.console-player-card span{color:#496b95;font-size:.82rem;font-weight:800}.student-game-console .console-body{position:relative;z-index:1;min-height:0;overflow-y:scroll!important;overflow-x:hidden!important;padding:12px clamp(14px,3vw,36px) 36px!important}.student-game-console .console-page-content{width:min(1180px,100%);min-height:auto!important;margin:0 auto;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}.console-section-heading{display:none!important}.console-section-heading h3{margin:2px 0 0;color:#fff8d7;font-size:clamp(1.35rem,2.8vw,2.1rem);text-shadow:0 3px 0 #17325f}.student-game-console .console-gacha-layout{display:grid!important;grid-template-columns:minmax(300px,1.15fr) minmax(280px,.85fr);gap:clamp(18px,3vw,36px);align-items:start!important;margin-top:0!important}.console-gacha-stage,.console-action-panel,.student-game-console .console-detail-card,.student-game-console .console-shop-card,.student-game-console .cm-glass{border:4px solid #17325f!important;border-radius:18px!important;background:linear-gradient(180deg,#fffffff5,#e8f9ffe6)!important;color:#17325f!important;box-shadow:0 9px #17325f,0 22px 44px #0000003d!important}.console-gacha-stage{position:relative;display:grid;place-items:center;min-height:430px;padding:clamp(18px,4vw,36px);overflow:hidden}.console-gacha-stage:before{content:"";position:absolute;inset:18px;border:2px dashed rgba(23,50,95,.26);border-radius:16px;pointer-events:none}.console-gacha-machine-art{position:relative;z-index:1;width:min(390px,82vw)!important;height:auto!important;max-height:340px;object-fit:contain;border-radius:18px;filter:drop-shadow(0 10px 0 rgba(23,50,95,.26)) drop-shadow(0 22px 34px rgba(0,0,0,.22));animation:animeMascotFloat 3.8s ease-in-out infinite}.console-gacha-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:12px;width:min(420px,100%);margin-top:18px}.console-gacha-stats div{padding:10px;border:3px solid #17325f;border-radius:14px;background:#fff;box-shadow:0 5px #17325f;text-align:center}.console-gacha-stats strong{display:block;color:#e4563a;font-size:1.55rem}.console-gacha-stats span{color:#496b95;font-weight:900}.console-action-panel{display:flex;flex-direction:column;justify-content:center;min-height:430px;padding:clamp(18px,3vw,32px)}.console-action-panel h3{margin:4px 0 12px;color:#17325f;font-size:clamp(2rem,5vw,3.4rem);line-height:1}.console-action-panel>p:not(.console-panel-kicker){margin:0 0 20px;color:#496b95;line-height:1.7;font-weight:800}.console-pity-track{height:18px;margin:4px 0 22px;overflow:hidden;border:3px solid #17325f;border-radius:999px;background:#fff;box-shadow:inset 0 3px #17325f1f}.console-pity-fill{height:100%;border-right:3px solid #17325f;background:linear-gradient(90deg,#6ee7b7,#ffcf4f,#e4563a);transition:width .45s ease}.student-game-console .gacha-button{min-height:58px;border-radius:16px!important;background:linear-gradient(180deg,#e4563a,#c73f30)!important;color:#fff!important;font-size:1.1rem!important;text-shadow:0 2px 0 rgba(0,0,0,.22);animation:gachaButtonPulse 1.8s ease-in-out infinite}.console-warning-text{margin-top:14px;color:#c73f30;font-weight:950}.student-game-console .console-shop-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.student-game-console .console-shop-card{padding:18px!important}.student-game-console .console-shop-card img{width:min(120px,42vw)!important;height:min(120px,42vw)!important;object-fit:contain}.student-game-console .console-pokedex-layout{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:18px;align-items:start}.student-game-console .console-pokedex-left,.student-game-console .console-pokedex-right{min-width:0}.student-game-console .console-pokedex-grid{max-height:min(62vh,640px);overflow:auto;padding:8px;border:4px solid #17325f;border-radius:18px;background:#ffffffe0;box-shadow:0 8px #17325f}.student-game-console .pokedex-slot{border:2px solid #17325f!important;border-radius:12px!important;background:#fff!important;box-shadow:0 3px #17325f}.student-game-console .pokedex-slot.locked{opacity:.42;background:repeating-linear-gradient(135deg,#e8f2ff 0 6px,#fff 6px 14px)!important}.student-game-console .game-btn,.student-game-console .gacha-button{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.student-game-console .game-btn:hover,.student-game-console .gacha-button:hover{transform:translateY(-2px);filter:saturate(1.08)}.gacha-overlay-backdrop{background:radial-gradient(circle at 50% 35%,rgba(255,207,79,.3),transparent 30%),#080e1ec7!important;backdrop-filter:blur(8px)}.gacha-reveal-scene,.evolution-scene{border:4px solid #17325f!important;border-radius:22px!important;background:linear-gradient(180deg,#182e60fa,#0c183afa)!important;box-shadow:0 10px #17325f,0 30px 70px #00000073!important;color:#fff!important}.gacha-reveal-scene h2,.evolution-scene h2{margin:4px 0 10px!important;color:#fff8d7!important;font-size:clamp(1.8rem,5vw,3rem)!important;text-shadow:0 4px 0 #17325f}.gacha-reveal-scene>p:not(.gacha-kicker),.evo-copy{color:#d9f7ff!important;font-weight:800}.gacha-animation-container{min-height:330px;display:grid;place-items:center}.gacha-reveal-card{animation:gachaCardReveal 3.15s ease forwards!important}.evolution-scene{padding:clamp(18px,4vw,34px)!important;text-align:center}.evo-stage{position:relative;display:grid;grid-template-columns:minmax(120px,1fr) 80px minmax(120px,1fr);gap:14px;align-items:center;margin-top:26px}.evo-pet-frame{position:relative;padding:16px 10px;border:3px solid rgba(255,255,255,.78);border-radius:18px;background:#ffffff1f}.evo-pet-frame div{margin-top:8px;color:#fff8d7;font-weight:950}.evo-old-pet{animation:evoOldPhase 2.4s ease-in-out infinite}.evo-new-pet{animation:evoNewPhase 1.1s ease-out both}.evo-arrow-beam{height:20px;border:3px solid #17325f;border-radius:999px;background:linear-gradient(90deg,#6ee7b7,#fff8d7,#ffcf4f);box-shadow:0 0 24px #ffcf4fbd;animation:evoBeam 1.2s ease-in-out infinite}@keyframes gachaButtonPulse{0%,to{box-shadow:0 5px #17325f,0 0 #ffcf4f00}50%{box-shadow:0 5px #17325f,0 0 0 8px #ffcf4f38}}@keyframes gachaCardReveal{0%,68%{opacity:0;transform:translateY(18px) scale(.84);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes evoOldPhase{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(.92);filter:brightness(1.8)}}@keyframes evoNewPhase{0%{transform:scale(.55);opacity:0;filter:brightness(2.3) blur(8px)}to{transform:scale(1);opacity:1;filter:brightness(1) blur(0)}}@keyframes evoBeam{0%,to{transform:scaleX(.78);opacity:.75}50%{transform:scaleX(1.08);opacity:1}}@media(max-width:800px){.student-game-console .console-header{grid-template-columns:1fr;padding:72px 16px 14px!important;max-height:none}.student-game-console .console-tab-bar{width:100%}.console-player-card{grid-template-columns:48px 1fr}.student-game-console .console-gacha-layout,.student-game-console .console-pokedex-layout{grid-template-columns:1fr}.console-gacha-stage,.console-action-panel{min-height:auto}}@media(max-width:620px){.console-exit-button{min-height:38px;padding:6px 10px}.student-game-console .console-header{padding-top:64px!important}.student-game-console .console-tab-bar{grid-template-columns:1fr}.console-section-heading{align-items:stretch;flex-direction:column}.console-gacha-stats,.evo-stage{grid-template-columns:1fr}.evo-arrow-beam{width:20px;height:54px;margin:0 auto;background:linear-gradient(180deg,#6ee7b7,#fff8d7,#ffcf4f)}}@media(prefers-reduced-motion:reduce){.console-gacha-machine-art,.student-game-console .gacha-button,.gacha-reveal-card,.evo-old-pet,.evo-new-pet,.evo-arrow-beam{animation:none!important}}.student-pet-card{min-height:208px;aspect-ratio:auto;width:100%;box-sizing:border-box}.student-pet-card .battle-power-badge{min-width:96px;justify-content:center;background:#e4563a;color:#fff}.student-pet-card .card-sprite-container{min-height:105px;overflow:visible}.student-pet-card .card-sprite-container img{width:min(120px,92%)!important;height:min(120px,92%)!important;transform-origin:center;animation:petFloatLarge 3.4s ease-in-out infinite}.student-pet-card .card-name{font-size:1.05rem}.student-pet-card .card-score{font-size:.86rem}.student-game-console .console-tab-bar{grid-template-columns:repeat(5,minmax(82px,1fr))}.current-pet-layout{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(320px,.9fr);gap:clamp(18px,3vw,32px);align-items:stretch}.current-pet-stage-card,.current-pet-control-card,.current-pet-empty,.console-shop-status{border:4px solid #17325f;border-radius:20px;background:linear-gradient(180deg,#fffffff5,#e8f9ffeb),repeating-linear-gradient(135deg,rgba(255,207,79,.1) 0 8px,transparent 8px 20px);color:#17325f;box-shadow:0 9px #17325f,0 22px 46px #0000003d}.current-pet-stage-card{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;min-height:560px;padding:clamp(18px,4vw,36px);overflow:hidden}.current-pet-stage-card:before{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(255,207,79,.36),transparent 68%);filter:blur(10px)}.current-pet-hero-img{position:relative;z-index:1;width:min(448px,73.6vw);height:min(416px,49.6vh);object-fit:contain;transform-origin:center;filter:drop-shadow(0 12px 0 rgba(23,50,95,.14)) drop-shadow(0 28px 40px rgba(23,50,95,.26));animation:petFloatLarge 3.6s ease-in-out infinite}.current-pet-nameplate{position:relative;z-index:1;box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;width:100%;max-width:100%;margin-top:18px;padding:12px;border:3px solid #17325f;border-radius:16px;background:#fff8d7;box-shadow:0 5px #17325f}.current-pet-nameplate strong{font-size:clamp(1.4rem,4vw,2.2rem);line-height:1}.current-pet-nameplate span{font-weight:900;color:#496b95}.current-pet-control-card{display:flex;flex-direction:column;gap:18px;padding:clamp(18px,3vw,30px)}.battle-power-readout{padding:18px;border:4px solid #17325f;border-radius:18px;background:linear-gradient(135deg,#17325f,#284b86);color:#fff8d7;box-shadow:0 7px #0d1d3d}.battle-power-readout span{display:block;color:#6ee7b7;font-size:.78rem;font-weight:950}.battle-power-readout strong{display:block;margin-top:4px;font-size:clamp(3rem,8vw,5rem);line-height:.95;text-shadow:0 4px 0 rgba(0,0,0,.22)}.pet-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pet-stat-grid div{padding:12px;border:3px solid #17325f;border-radius:14px;background:#fff;box-shadow:0 5px #17325f}.pet-stat-grid span,.equipment-slot-card span,.equipment-card-topline span{display:block;color:#496b95;font-size:.74rem;font-weight:950}.pet-stat-grid strong{display:block;margin-top:3px;color:#17325f;font-size:1.2rem}.current-upgrade-btn{min-height:58px;font-size:1.06rem!important}.pet-feed-effect{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.feed-treat{position:absolute;width:clamp(62px,9vw,92px);height:clamp(62px,9vw,92px);object-fit:contain;filter:drop-shadow(0 8px 0 rgba(23,50,95,.18)) drop-shadow(0 18px 24px rgba(23,50,95,.24));transform-origin:center}.feed-treat.treat-1{right:8%;bottom:24%;animation:feedTreatArcOne 1.15s cubic-bezier(.18,.86,.25,1) forwards}.feed-treat.treat-2{right:12%;bottom:17%;width:clamp(50px,7.5vw,78px);height:clamp(50px,7.5vw,78px);animation:feedTreatArcTwo 1.08s .12s cubic-bezier(.18,.86,.25,1) forwards}.feed-sparkles{position:absolute;left:50%;top:43%;width:clamp(150px,26vw,240px);height:auto;opacity:0;transform:translate(-50%,-50%) scale(.45);animation:feedSparkBurst .62s .72s ease-out forwards;filter:drop-shadow(0 4px 0 rgba(23,50,95,.18))}.current-pet-hero-img.pet-fed-bounce{animation:petFedBounce .86s cubic-bezier(.18,.86,.25,1),petFloatLarge 3.6s .86s ease-in-out infinite!important}.equipment-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.equipment-slot-card{min-height:176px;padding:12px;border:3px solid #17325f;border-radius:16px;background:#fff;box-shadow:0 6px #17325f;text-align:center}.equipment-slot-card img,.empty-equipment-slot{width:86px;height:86px;margin:6px auto;object-fit:contain}.equipment-slot-card img{animation:petFloatLarge 3.2s ease-in-out infinite}.empty-equipment-slot{border:3px dashed rgba(23,50,95,.3);border-radius:18px;background:#17325f0a}.equipment-slot-card strong{display:block;min-height:38px;color:#17325f;font-size:.9rem}.equipment-slot-card small{display:block;color:#e4563a;font-weight:900}.mini-text-button{margin-top:8px;border:0;background:transparent;color:#e4563a;font-weight:950;cursor:pointer}.current-pet-empty{display:grid;place-items:center;min-height:460px;padding:36px;text-align:center}.current-pet-empty img{width:150px;height:150px;object-fit:contain;animation:petFloatLarge 3.3s ease-in-out infinite}.console-shop-status{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:14px 18px}.console-shop-status strong{font-size:1.05rem}.console-shop-status span{color:#496b95;font-weight:800}.equipment-card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.equipment-card-topline strong{padding:4px 8px;border:2px solid #17325f;border-radius:9px;background:#6ee7b7;color:#17325f;box-shadow:0 3px #17325f;font-size:.76rem}.equipment-shop-icon{width:min(148px,52vw)!important;height:min(148px,52vw)!important;margin:8px auto 10px;object-fit:contain;animation:petFloatLarge 3.5s ease-in-out infinite}.gacha-prize-card .pet-showcase{min-height:165px;overflow:visible}.gacha-prize-pet{width:min(190px,42vw)!important;height:min(180px,25vh)!important;transform-origin:center;animation:petFloatLarge 3.2s ease-in-out infinite}.settings-toggle-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--color-glass-border);border-radius:12px;background:#ffffff14}.settings-toggle-row input{width:18px;height:18px}.settings-toggle-row span{font-weight:900}.settings-toggle-row small{color:var(--manager-muted)}.settings-switch-row{justify-content:space-between;flex-wrap:nowrap;gap:14px;background:#ffffff9e}.settings-toggle-copy{flex:1 1 auto;min-width:0;display:grid;gap:4px}.settings-toggle-copy span,.settings-toggle-copy small{overflow-wrap:anywhere}.settings-switch-row>button{flex:0 0 auto}@keyframes petFloatLarge{0%,to{transform:translateY(0) rotate(-1deg) scale(1.1)}50%{transform:translateY(-10px) rotate(1deg) scale(1.2)}}@keyframes feedTreatArcOne{0%{opacity:0;transform:translate(0) rotate(12deg) scale(.75)}16%{opacity:1}70%{opacity:1;transform:translate(-220%,-118%) rotate(-12deg) scale(1.08)}to{opacity:0;transform:translate(-275%,-150%) rotate(8deg) scale(.28)}}@keyframes feedTreatArcTwo{0%{opacity:0;transform:translate(0) rotate(-16deg) scale(.7)}18%{opacity:1}76%{opacity:1;transform:translate(-250%,-96%) rotate(18deg) scale(1)}to{opacity:0;transform:translate(-305%,-126%) rotate(-8deg) scale(.24)}}@keyframes feedSparkBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.45) rotate(-8deg)}38%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(3deg)}to{opacity:0;transform:translate(-50%,-50%) scale(1.38) rotate(8deg)}}@keyframes petFedBounce{0%{transform:translateY(0) rotate(-1deg) scale(1.1);filter:drop-shadow(0 12px 0 rgba(23,50,95,.14)) drop-shadow(0 28px 40px rgba(23,50,95,.26))}38%{transform:translateY(-18px) rotate(2deg) scale(1.28);filter:drop-shadow(0 0 0 rgba(23,50,95,0)) drop-shadow(0 0 34px rgba(255,207,79,.84))}68%{transform:translateY(3px) rotate(-2deg) scale(1.16)}to{transform:translateY(0) rotate(-1deg) scale(1.1);filter:drop-shadow(0 12px 0 rgba(23,50,95,.14)) drop-shadow(0 28px 40px rgba(23,50,95,.26))}}@media(max-width:800px){.current-pet-layout{grid-template-columns:1fr}.current-pet-stage-card{min-height:420px}.student-game-console .console-tab-bar{grid-template-columns:repeat(2,minmax(120px,1fr))}.student-game-console .console-shop-grid{grid-template-columns:1fr!important}}@media(max-width:680px){.pet-stat-grid,.equipment-slots{grid-template-columns:1fr}.console-shop-status{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.student-pet-card .card-sprite-container img,.current-pet-hero-img,.equipment-slot-card img,.equipment-shop-icon,.gacha-prize-pet,.feed-treat,.feed-sparkles,.current-pet-hero-img.pet-fed-bounce{animation:none!important}}.shop-sub-tab-bar{display:flex;gap:8px;margin-bottom:16px;padding:6px;border:3px solid #17325f;border-radius:16px;background:#ffffff1f}.shop-sub-tab-btn{flex:1;min-height:42px;padding:8px 16px;border:2px solid transparent;border-radius:12px;background:#ffffff14;color:#8fa2c4;font-size:.95rem;font-weight:800;cursor:pointer;transition:all .2s ease}.shop-sub-tab-btn:hover{background:#ffffff26;color:#fff}.shop-sub-tab-btn.active{border-color:#ffcf4f;background:linear-gradient(135deg,#17325f,#1e4280);color:#ffcf4f;box-shadow:0 3px #0c1e3a,0 6px 18px #0000004d}.shop-sub-tab-btn{display:flex;align-items:center;justify-content:center;gap:4px}.shop-tab-icon{width:18px;height:18px;fill:currentColor;flex-shrink:0}.console-shop-card .game-btn,.console-shop-card button{position:relative;z-index:2}.shop-card-owned{opacity:.65;position:relative}.shop-card-owned:after{content:"\2713";position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:#27ae60;color:#fff;font-size:1rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d}.pet-mode-hero.is-teacher{min-height:clamp(300px,30vw,380px);align-items:center}.pet-mode-hero.is-teacher .pet-mode-copy{max-width:min(640px,100%);padding:6px 0 8px}.pet-mode-hero.is-teacher .pet-mode-copy h2{margin:12px 0 10px;font-size:clamp(2.35rem,5.2vw,4.25rem);line-height:1}.pet-mode-hero.is-teacher .pet-mode-copy p{max-width:580px;font-size:clamp(.95rem,1.45vw,1.12rem);line-height:1.55}.pet-mode-hero.is-teacher .pet-mode-badges{margin-top:14px;padding-bottom:4px}.student-game-console{width:100vw!important;height:100vh!important}@supports (height: 100dvh){.student-game-console,.cm-app-shell.has-student-console .cm-main,.cm-app-shell.has-student-console .cm-content{height:100dvh!important}}.student-game-console .console-header,.student-game-console .console-title-area,.student-game-console .console-tab-bar,.student-game-console .console-player-card,.student-game-console .console-page-content,.current-pet-layout,.current-pet-stage-card,.current-pet-control-card,.console-gacha-layout,.student-game-console .console-pokedex-layout{min-width:0!important}.student-game-console .console-header{overflow:hidden}.student-game-console .console-body{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.current-pet-control-card{min-height:0}.current-pet-control-card>div:last-child{flex-wrap:wrap!important}.current-pet-control-card>div:last-child .game-btn{min-width:150px}@media(max-width:1180px){.pet-mode-hero.is-teacher{grid-template-columns:minmax(0,1fr) minmax(170px,240px);min-height:304px;padding:24px}.pet-mode-hero.is-teacher .pet-mode-copy h2{font-size:clamp(2.15rem,4.8vw,3.55rem)}.pet-mode-hero.is-teacher .pet-mode-copy p{font-size:.98rem;line-height:1.5}.pet-mode-hero.is-teacher .pet-mode-art{width:min(100%,220px)}.student-game-console .console-header{grid-template-columns:minmax(0,1fr) minmax(190px,280px)!important;grid-template-areas:"title player" "tabs tabs";height:auto!important;min-height:126px!important;max-height:168px!important;gap:10px 12px!important;padding:12px 16px 12px 130px!important}.student-game-console .console-title-area{grid-area:title}.student-game-console .console-tab-bar{grid-area:tabs;width:100%;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px}.student-game-console .console-player-card{grid-area:player;justify-self:end;width:min(280px,100%)}.console-title-area h2{margin:2px 0 6px!important;font-size:clamp(1.3rem,2.4vw,2rem)!important}.console-title-lockup p{font-size:.68rem}.console-resource-pills{gap:6px}.console-resource-pills span,.console-token-badge,.console-section-heading>span{min-height:26px;padding:3px 8px;font-size:.78rem}.student-game-console .console-tab-btn{min-height:38px;padding:5px 8px!important;font-size:.82rem!important}.student-game-console .console-body{padding:10px 14px 30px!important}.student-game-console .console-page-content{width:min(100%,1040px)}.current-pet-layout{grid-template-columns:minmax(260px,.95fr) minmax(300px,1.05fr);gap:14px}.current-pet-stage-card{min-height:clamp(320px,46vh,420px);padding:16px}.current-pet-hero-img{width:min(330px,42vw)!important;height:min(300px,34vh)!important}.current-pet-nameplate{margin-top:12px;padding:10px}.current-pet-nameplate strong{font-size:clamp(1.15rem,2.7vw,1.65rem)}.current-pet-control-card{gap:12px;padding:16px}.battle-power-readout{padding:14px}.battle-power-readout strong{font-size:clamp(2.2rem,5vw,3.4rem)}.pet-stat-grid div{padding:10px}.pet-stat-grid strong{font-size:1.05rem}.current-upgrade-btn{min-height:48px;font-size:.95rem!important}.equipment-slots{gap:10px}.equipment-slot-card{min-height:138px;padding:10px}.equipment-slot-card img,.empty-equipment-slot{width:62px;height:62px}.equipment-slot-card strong{min-height:32px;font-size:.82rem}.equipment-slot-card small{font-size:.72rem}.student-game-console .console-gacha-layout{grid-template-columns:minmax(260px,1fr) minmax(260px,.86fr);gap:14px}.console-gacha-stage,.console-action-panel{min-height:clamp(300px,43vh,380px);padding:16px}.console-gacha-machine-art{max-height:min(260px,31vh)}.console-action-panel h3{font-size:clamp(1.75rem,4vw,2.7rem)}.console-action-panel>p:not(.console-panel-kicker){margin-bottom:14px;line-height:1.55}.student-game-console .console-shop-grid,.mission-console-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px}}@media(max-width:980px){.pet-mode-hero.is-teacher{min-height:auto;padding:22px}.pet-mode-hero.is-teacher .pet-mode-copy h2{font-size:clamp(2.1rem,9vw,3.4rem)}.pet-mode-hero.is-teacher .pet-mode-badges{gap:7px}.pet-mode-hero.is-teacher .pet-mode-badges span{min-height:30px;padding:4px 10px}}@media(max-width:900px){.student-game-console .console-header{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"title" "tabs" "player";min-height:0!important;max-height:none!important;padding:64px 14px 12px!important}.student-game-console .console-player-card{justify-self:stretch;width:100%}.student-game-console .console-tab-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.student-game-console .console-body{padding:10px 12px 28px!important}.current-pet-layout,.student-game-console .console-gacha-layout,.student-game-console .console-pokedex-layout{grid-template-columns:1fr!important}.current-pet-stage-card{min-height:320px}.current-pet-hero-img{width:min(300px,72vw)!important;height:min(270px,32vh)!important}.pet-stat-grid,.equipment-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.console-gacha-stage,.console-action-panel{min-height:auto}}@media(max-width:620px){.student-game-console .console-tab-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pet-stat-grid{grid-template-columns:1fr}.equipment-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.current-pet-control-card>div:last-child .game-btn{min-width:100%}}.owned-badge{display:inline-block;padding:2px 8px;border-radius:6px;background:#27ae60;color:#fff!important;font-size:.75rem!important;font-weight:800}.btn-disabled{background:#4a5568!important;color:#a0aec0!important;cursor:not-allowed;box-shadow:0 3px #2d3748}.btn-yellow{background:linear-gradient(180deg,#ffd54f,#ffc107)!important;color:#17325f!important;border:2px solid #17325f;box-shadow:0 3px #17325f}.btn-yellow:disabled{opacity:.5;cursor:not-allowed}.pet-visual-fx-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:180px}.pet-visual-fx-container .current-pet-hero-img{position:relative;z-index:2}.badge-feet-glow{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:120px;height:40px;border-radius:50%;opacity:.55;z-index:1;animation:feetGlowPulse 2.5s ease-in-out infinite;pointer-events:none}@keyframes feetGlowPulse{0%,to{opacity:.4;transform:translate(-50%) scale(1)}50%{opacity:.65;transform:translate(-50%) scale(1.1)}}.armor-body-glow{position:absolute;inset:0;z-index:1;pointer-events:none;animation:armorGlowPulse 3s ease-in-out infinite}@keyframes armorGlowPulse{0%,to{opacity:.18}50%{opacity:.32}}.floating-particle{position:absolute;width:6px;height:6px;border-radius:50%;opacity:.7;z-index:3;pointer-events:none;box-shadow:0 0 8px currentColor}.fp-1{animation:floatParticle1 4s ease-in-out infinite;top:15%;left:10%}.fp-2{animation:floatParticle2 4.5s ease-in-out infinite;top:25%;right:8%}.fp-3{animation:floatParticle3 3.8s ease-in-out infinite;bottom:20%;left:15%}.fp-4{animation:floatParticle4 5s ease-in-out infinite;top:10%;right:20%}.fp-5{animation:floatParticle5 4.2s ease-in-out infinite;bottom:30%;right:12%}.fp-6{animation:floatParticle6 3.5s ease-in-out infinite;top:50%;left:5%}@keyframes floatParticle1{0%{transform:translate(0);opacity:.5}25%{transform:translate(8px,-12px);opacity:.9}50%{transform:translate(-4px,-20px);opacity:.6}75%{transform:translate(12px,-8px);opacity:.85}to{transform:translate(0);opacity:.5}}@keyframes floatParticle2{0%{transform:translate(0);opacity:.6}33%{transform:translate(-10px,-15px);opacity:.9}66%{transform:translate(5px,-25px);opacity:.5}to{transform:translate(0);opacity:.6}}@keyframes floatParticle3{0%{transform:translate(0);opacity:.7}50%{transform:translate(15px,-18px);opacity:.4}to{transform:translate(0);opacity:.7}}@keyframes floatParticle4{0%{transform:translate(0);opacity:.4}40%{transform:translate(-12px,10px);opacity:.85}80%{transform:translate(8px,-14px);opacity:.55}to{transform:translate(0);opacity:.4}}@keyframes floatParticle5{0%{transform:translate(0);opacity:.65}30%{transform:translate(10px,8px);opacity:.4}60%{transform:translate(-8px,-12px);opacity:.9}to{transform:translate(0);opacity:.65}}@keyframes floatParticle6{0%{transform:translate(0);opacity:.5}50%{transform:translate(-6px,-16px);opacity:.8}to{transform:translate(0);opacity:.5}}.slot-tap-hint{display:block;color:#8fa2c4!important;font-size:.7rem!important;font-weight:700;opacity:.7;margin-top:2px}.equipment-slot-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffcf4f40;border-color:#ffcf4f}.eq-popup-overlay{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(6px);animation:fadeIn .2s ease-out}.eq-popup-modal{width:min(420px,92vw);max-height:80vh;overflow-y:auto;border:3px solid #ffcf4f;border-radius:20px;background:linear-gradient(150deg,#1a2d4d,#17325f,#0f2240);color:#fff;box-shadow:0 8px #0c1e3a,0 24px 60px #00000080;animation:popupSlideUp .3s ease-out}@keyframes popupSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.eq-popup-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:2px solid rgba(255,207,79,.3)}.eq-popup-header h3{margin:0;color:#ffcf4f;font-size:1.15rem;font-weight:900}.eq-popup-close{width:32px;height:32px;border:2px solid #ffffff40;border-radius:8px;background:#ffffff1a;color:#fff;font-size:1rem;cursor:pointer;transition:all .15s ease}.eq-popup-close:hover{background:#e4563a;border-color:#e4563a}.eq-popup-empty{padding:30px 20px;text-align:center}.eq-popup-empty p{margin:0 0 16px;color:#8fa2c4;font-size:.95rem}.eq-popup-list{padding:12px;display:flex;flex-direction:column;gap:10px}.eq-popup-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:2px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0f;transition:all .2s ease}.eq-popup-item.eq-active{border-color:#ffcf4f;background:#ffcf4f1a}.eq-popup-item-info{display:flex;align-items:center;gap:10px;min-width:0}.eq-popup-item-info img{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#ffffff1a;padding:4px}.eq-popup-item-info strong{display:block;color:#fff;font-size:.9rem}.eq-popup-item-info span{display:block;color:#8fa2c4;font-size:.78rem;font-weight:700}.eq-popup-item-actions{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.eq-active-badge{display:inline-block;padding:4px 10px;border-radius:8px;background:#27ae60;color:#fff;font-size:.75rem;font-weight:800}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gacha-overlay-backdrop.is-legendary-draw{background:radial-gradient(circle,#ffdf0073,#0a122cf5 75%)!important;animation:legendary-bg-flash .8s ease-out}@keyframes legendary-bg-flash{0%{background-color:#fff}50%{background-color:#ffd700cc}to{background-color:#0a122cf5}}.gacha-reveal-scene.legendary-reveal:before{content:"";position:absolute;top:50%;left:50%;width:900px;height:900px;margin-top:-450px;margin-left:-450px;background:repeating-conic-gradient(from 0deg,#ffd70000 0deg 15deg,#ffd70029 15deg 30deg);border-radius:50%;z-index:-1;pointer-events:none;animation:legendary-sunburst-spin 25s linear infinite}@keyframes legendary-sunburst-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.legendary-sparkle-burst{position:absolute;inset:0;pointer-events:none;z-index:13500;background-image:radial-gradient(circle at 30% 40%,#ffd700 .5%,transparent 1%),radial-gradient(circle at 70% 30%,#ffd700 .6%,transparent 1.2%),radial-gradient(circle at 40% 70%,#ffcf4f .5%,transparent 1.1%),radial-gradient(circle at 80% 80%,#ffd700 .4%,transparent .9%),radial-gradient(circle at 20% 80%,#ffd700 .7%,transparent 1.4%),radial-gradient(circle at 50% 20%,#ffd700 .5%,transparent 1%),radial-gradient(circle at 60% 60%,#ffcf4f .6%,transparent 1.2%);background-size:100% 100%;animation:legendary-sparkles-fade 3s cubic-bezier(.1,.8,.3,1) forwards}@keyframes legendary-sparkles-fade{0%{opacity:0;transform:scale(.6) rotate(0)}10%{opacity:1}to{opacity:0;transform:scale(1.3) rotate(35deg)}}.is-legendary-draw .gacha-capsule-wobble{animation:gacha-shake-and-burst 2.8s cubic-bezier(.36,.07,.19,.97) forwards,legendary-wobble-pulse .5s ease-in-out infinite alternate!important}.is-legendary-draw .gacha-capsule-img{filter:drop-shadow(0 8px 20px rgba(255,215,0,.8))!important}@keyframes legendary-wobble-pulse{0%{filter:drop-shadow(0 0 10px rgba(255,215,0,.6)) brightness(1)}to{filter:drop-shadow(0 0 30px rgba(255,215,0,1)) brightness(1.3)}}.pet-teacher-mission-stack{display:grid;gap:18px}.pet-teacher-settings-panel,.pet-mission-manager{padding:18px;border-radius:16px}.pet-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid rgba(255,207,79,.35)}.pet-panel-head h3{margin:0;color:var(--color-text-secondary);font-size:1.22rem}.mission-ratio-readout{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 12px;border:2px solid #17325f;border-radius:12px;background:#ffcf4f;color:#17325f;box-shadow:0 4px #17325f;font-weight:950}.ratio-control-row,.mission-create-form{display:grid;gap:10px;align-items:end}.ratio-control-row{grid-template-columns:minmax(150px,1fr) minmax(130px,.7fr) auto}.mission-create-form{grid-template-columns:minmax(220px,1.2fr) minmax(130px,.7fr) minmax(96px,.45fr) minmax(110px,.55fr) auto}.ratio-control-row label{display:grid;gap:5px;font-size:.82rem;font-weight:900;color:var(--color-text-secondary)}.ratio-control-row select,.ratio-control-row input,.mission-create-form input,.mission-create-form select{width:100%;min-height:42px;padding:8px 10px;border:2px solid #17325f;border-radius:10px;background:#ffffffeb;color:#17325f;font-weight:850}.ratio-control-row p{grid-column:1 / -1;margin:2px 0 0;color:var(--manager-muted);font-size:.85rem}.mission-review-board{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;margin-top:16px}.mission-review-column{min-width:0;display:grid;gap:10px;align-content:start;padding:12px;border:2px solid rgba(23,50,95,.2);border-radius:14px;background:#ffffff85}.mission-review-column h4{margin:0;color:#17325f;font-size:1rem}.mission-review-row,.mission-admin-card,.mission-console-card{display:grid;gap:10px;border:2px solid #17325f;border-radius:14px;background:linear-gradient(180deg,#fffdf0,#eef9ff);box-shadow:0 5px #17325f,0 12px 26px #17325f26}.mission-review-row,.mission-admin-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px}.mission-admin-card{grid-template-columns:1fr;align-items:stretch;position:relative;padding:14px 12px 12px 44px}.mission-delete-button{position:absolute;top:10px;left:10px;z-index:2;display:inline-grid;place-items:center;width:28px;height:28px;border:3px solid #17325f;border-radius:999px;background:#ff8a8a;color:#17325f;box-shadow:0 3px #17325f;font-size:1rem;font-weight:950;line-height:1;cursor:pointer}.mission-delete-button:hover{background:#ffb0a3;transform:translateY(-1px)}.mission-delete-button:active{transform:translateY(2px);box-shadow:0 1px #17325f}.mission-review-row strong,.mission-admin-card strong{display:block;color:#17325f;font-size:.98rem}.mission-review-row span,.mission-admin-card span{display:block;color:#17325fb8;font-size:.82rem;font-weight:800;margin-top:3px;overflow-wrap:anywhere}.mission-review-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mission-admin-actions{display:grid;grid-template-columns:repeat(2,minmax(132px,1fr));gap:8px}.mission-admin-actions .game-btn{min-width:0;padding:9px 13px;font-size:.86rem}.mission-admin-card.is-disabled{opacity:.62;filter:grayscale(.45)}.mission-empty-note,.mission-console-empty{min-height:112px;display:grid;place-items:center;text-align:center;border:2px dashed rgba(23,50,95,.25);border-radius:14px;color:#17325fb8;font-weight:850}.teacher-student-missions-panel{display:grid;gap:12px;padding:18px;border-radius:16px}.teacher-student-missions-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid rgba(23,50,95,.22)}.teacher-student-missions-head h3{margin:0;color:#17325f;font-size:1.15rem;line-height:1.15}.teacher-student-missions-head>span{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border:2px solid #17325f;border-radius:999px;background:#ffcf4f;color:#17325f;font-size:.78rem;font-weight:950}.teacher-student-mission-list{display:grid;gap:10px}.teacher-student-mission-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,auto);align-items:center;gap:12px;min-width:0;padding:12px;border:2px solid #17325f;border-radius:14px;background:linear-gradient(180deg,#fffdf0,#eef9ff);box-shadow:0 5px #17325f,0 12px 24px #17325f21}.teacher-student-mission-main{min-width:0;display:grid;gap:6px}.teacher-student-mission-main strong{color:#17325f;overflow-wrap:anywhere}.teacher-student-mission-main>span{color:#17325fb8;font-size:.84rem;font-weight:850}.teacher-student-mission-row .game-btn{min-width:0;white-space:normal}.mission-console-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.mission-console-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:16px;position:relative;overflow:hidden}.mission-console-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 18%,rgba(255,207,79,.32),transparent 28%)}.mission-console-card>*{position:relative;z-index:1}.mission-console-main{display:grid;gap:6px}.mission-type-badge{width:fit-content;padding:4px 9px;border-radius:999px;border:2px solid #17325f;color:#17325f;background:#ffcf4f;font-size:.74rem;font-weight:950}.mission-type-badge.is-daily{background:#9cf1ff}.mission-console-card h4{margin:0;color:#17325f;font-size:1.1rem}.mission-console-card p{margin:0;color:#17325fb8;font-weight:800}.mission-console-reward{display:grid;place-items:center;justify-self:end;align-self:center;width:74px;height:74px;border:2px solid #17325f;border-radius:16px;background:#fff4a8;color:#17325f}.mission-console-reward strong{font-size:1.35rem;line-height:1}.mission-console-reward span{font-size:.78rem;font-weight:900}.mission-status-approved{background:linear-gradient(180deg,#ecfff2,#e7fbff)}.mission-status-submitted{background:linear-gradient(180deg,#fff8da,#edf8ff)}.mission-filter-bar,.mission-card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}.mission-filter-bar{padding:8px;border:3px solid #17325f;border-radius:16px;background:#ffffffe0;box-shadow:0 5px #17325f}.mission-filter-chip,.mission-category-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;max-width:100%;padding:5px 11px;border:2px solid #17325f;border-radius:999px;background:#fff;color:#17325f;font-size:.78rem;font-weight:950;line-height:1.1;overflow-wrap:anywhere;white-space:normal}.mission-filter-chip{cursor:pointer;transition:transform .16s ease,background .16s ease}.mission-filter-chip.active,.mission-filter-chip:hover{background:#ffcf4f;transform:translateY(-1px)}.mission-category-badge.tone-cyan,.mission-filter-chip.tone-cyan.active{background:#9cf1ff}.mission-category-badge.tone-yellow,.mission-filter-chip.tone-yellow.active{background:#ffcf4f}.mission-category-badge.tone-red,.mission-filter-chip.tone-red.active{background:#ffb6a3}.mission-category-badge.tone-green,.mission-filter-chip.tone-green.active{background:#b9ffd1}.mission-category-badge.tone-blue,.mission-filter-chip.tone-blue.active{background:#b9d7ff}.mission-category-badge.tone-purple,.mission-filter-chip.tone-purple.active{background:#dcc7ff}.mission-category-badge.tone-custom,.mission-filter-chip.tone-custom.active{background:#fff8d7}.mission-template-library{display:grid;gap:12px;padding:14px;border:2px solid rgba(23,50,95,.2);border-radius:16px;background:#ffffff8a}.mission-template-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.mission-template-head h4,.mission-template-head p{margin:0}.mission-template-head h4{color:#17325f;font-size:1.05rem}.mission-template-head p{color:#17325fad;font-weight:800;font-size:.86rem}.mission-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.mission-template-card{display:grid;gap:8px;padding:12px;border:2px solid #17325f;border-radius:14px;background:linear-gradient(180deg,#fffdf0,#eef9ff);box-shadow:0 4px #17325f}.mission-template-card strong{color:#17325f;line-height:1.25}.mission-template-card>span{color:#17325fb8;font-weight:900}.mission-template-actions,.mission-custom-category-row{display:flex;flex-wrap:wrap;gap:8px}.mission-template-actions .game-btn{flex:1 1 80px}.mission-custom-category-row input{flex:1 1 220px}.leaderboard-console-page{gap:16px}.pet-leaderboard-list,.teacher-leaderboard-list{display:grid;gap:10px}.pet-leaderboard-row,.teacher-leaderboard-row{display:grid;align-items:center;gap:10px;border:2px solid #17325f;border-radius:16px;background:#ffffffeb;color:#17325f;box-shadow:0 5px #17325f}.pet-leaderboard-row{grid-template-columns:54px 64px minmax(0,1fr) minmax(86px,auto) minmax(92px,auto);padding:12px}.teacher-leaderboard-row{grid-template-columns:48px 46px minmax(0,1fr) 72px;padding:9px 10px}.leaderboard-rank,.teacher-leaderboard-row>strong{display:grid;place-items:center;min-height:42px;border-radius:12px;background:#ffcf4f;border:2px solid #17325f;font-weight:950}.pet-leaderboard-row.rank-1 .leaderboard-rank,.teacher-leaderboard-row.rank-1>strong{background:#fff4a8;box-shadow:0 0 0 4px #ffcf4f47}.leaderboard-pet,.teacher-leaderboard-row img,.leaderboard-pet-empty{width:54px;height:54px}.teacher-leaderboard-row img{width:46px;height:46px;object-fit:contain}.leaderboard-pet{display:grid;place-items:center}.leaderboard-pet img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 5px 0 rgba(23,50,95,.2))}.leaderboard-pet-empty{display:grid;place-items:center;border:2px dashed rgba(23,50,95,.36);border-radius:12px;color:#17325f9e;font-weight:950}.leaderboard-main{display:grid;min-width:0;gap:2px}.leaderboard-main strong,.teacher-leaderboard-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17325f}.leaderboard-main span,.teacher-leaderboard-row span,.leaderboard-token{color:#17325fad;font-size:.84rem;font-weight:850}.leaderboard-stat{display:grid;place-items:center;padding:8px 10px;border-radius:12px;background:#17325f;color:#fff8d7}.leaderboard-stat strong{font-size:1.3rem;line-height:1}.leaderboard-stat span{font-size:.72rem;font-weight:950}.leaderboard-token{justify-self:end;white-space:nowrap}.teacher-leaderboard-panel{display:grid;gap:14px;padding:20px;border-radius:16px}.teacher-leaderboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:14px}.teacher-leaderboard-row em{justify-self:end;color:#17325f;font-style:normal;font-size:1.2rem;font-weight:950}.teacher-leaderboard-alerts{display:grid;gap:10px;align-content:start}.teacher-leaderboard-alerts>div{display:grid;gap:6px;min-height:92px;padding:14px;border:2px solid rgba(23,50,95,.22);border-radius:14px;background:#fff8d7b8}.teacher-leaderboard-alerts strong{color:#17325f}.teacher-leaderboard-alerts span{color:#17325fb8;font-weight:850;line-height:1.45}@media(max-width:900px){.ratio-control-row,.mission-create-form,.mission-review-board,.teacher-leaderboard-grid,.mission-review-row,.mission-admin-card,.mission-console-card{grid-template-columns:1fr}.mission-review-actions,.mission-admin-actions{justify-content:stretch}.mission-admin-actions .game-btn{flex:1 1 150px}.mission-console-reward{display:flex;width:100%;height:auto;min-height:58px;justify-self:stretch;gap:6px;padding:10px 14px}.pet-leaderboard-row{grid-template-columns:44px 54px minmax(0,1fr) minmax(76px,auto)}.leaderboard-token{grid-column:3 / -1;justify-self:start}}@media(max-width:620px){.mission-template-head{align-items:stretch;flex-direction:column}.pet-leaderboard-row,.teacher-leaderboard-row{grid-template-columns:42px 48px minmax(0,1fr)}.leaderboard-stat,.teacher-leaderboard-row em{grid-column:1 / -1;justify-self:stretch}}.student-game-console{container-type:inline-size}.student-game-console .console-header{flex:0 0 auto;overflow:visible!important;grid-template-columns:minmax(250px,.86fr) minmax(420px,1.18fr) minmax(172px,.56fr)!important;gap:clamp(8px,1.1vw,14px)!important;max-height:none!important}.student-game-console .console-title-area,.student-game-console .console-title-lockup,.student-game-console .console-player-card,.student-game-console .leaderboard-main{min-width:0}.student-game-console .console-tab-bar{min-width:0;width:100%;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch}.student-game-console .console-tab-btn{width:100%;min-width:0;min-height:clamp(36px,4.6cqw,44px);padding:5px clamp(5px,.9cqw,10px)!important;overflow:hidden;text-overflow:ellipsis;font-size:clamp(.72rem,1.08cqw,.9rem)!important;line-height:1.08}.console-title-lockup p{font-size:clamp(.62rem,.9cqw,.74rem)}.console-title-area h2{font-size:clamp(1.45rem,2.7cqw,2.45rem)!important;overflow-wrap:anywhere}.console-resource-pills{min-width:0}.console-resource-pills span,.console-token-badge,.console-section-heading>span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.72rem,.95cqw,.9rem)}.student-game-console .console-player-card{justify-self:end;width:min(218px,100%);grid-template-columns:clamp(40px,5cqw,52px) minmax(0,1fr);padding:clamp(6px,.8cqw,8px)}.student-game-console .console-player-card img,.student-game-console .console-player-empty{width:clamp(40px,5cqw,52px);height:clamp(40px,5cqw,52px)}.student-game-console .console-player-card strong{font-size:clamp(.78rem,.95cqw,.95rem)}.student-game-console .console-player-card span{font-size:clamp(.68rem,.82cqw,.82rem)}.pet-leaderboard-list{min-width:0}.pet-leaderboard-row{min-width:0;grid-template-columns:clamp(38px,4.8cqw,54px) clamp(48px,6cqw,64px) minmax(0,1fr) minmax(68px,auto) minmax(78px,auto);gap:clamp(6px,.9cqw,10px);padding:clamp(8px,1.2cqw,12px)}.leaderboard-pet,.leaderboard-pet-empty{width:clamp(46px,6cqw,54px);height:clamp(46px,6cqw,54px)}.leaderboard-pet img{width:clamp(52px,7cqw,62px);height:clamp(52px,7cqw,62px)}.leaderboard-main strong,.teacher-leaderboard-row b{font-size:clamp(.82rem,1.05cqw,1rem)}.leaderboard-stat{min-width:0;padding:7px 8px}.leaderboard-stat strong{font-size:clamp(1rem,1.7cqw,1.3rem)}.leaderboard-token{min-width:0;font-size:clamp(.72rem,.95cqw,.84rem)}.pet-teacher-ops-panel{display:grid;gap:14px;min-width:0}.pet-teacher-ops-head{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:14px;align-items:end;padding:18px;border:3px solid #17325f;border-radius:18px;background:linear-gradient(180deg,#fffffff5,#e8f9ffe6),repeating-linear-gradient(135deg,rgba(255,207,79,.12) 0 8px,transparent 8px 20px);box-shadow:0 7px #17325f,0 18px 34px #17325f29}.pet-teacher-ops-head h3{margin:3px 0 0;color:#17325f;font-size:clamp(1.2rem,2vw,1.55rem)}.pet-teacher-ops-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pet-teacher-ops-tab{min-width:0;min-height:42px;padding:8px 10px;border:3px solid #17325f;border-radius:12px;background:#fff;color:#17325f;box-shadow:0 4px #17325f;font:inherit;font-size:clamp(.82rem,1.1vw,.96rem);font-weight:950;cursor:pointer}.pet-teacher-ops-tab.is-active{background:#ffcf4f;transform:translateY(2px);box-shadow:0 2px #17325f}.pet-teacher-ops-content,.pet-teacher-ops-content>*{min-width:0}.pet-teacher-ops-content .pet-teacher-settings-panel,.pet-teacher-ops-content .pet-mission-manager,.pet-teacher-ops-content .teacher-leaderboard-panel{margin:0}.mission-create-form{grid-template-columns:minmax(260px,1.2fr) minmax(130px,.62fr) minmax(88px,.38fr) minmax(118px,.55fr) minmax(132px,auto);gap:12px}.mission-create-form .game-btn,.mission-custom-category-row .game-btn,.mission-template-head .game-btn,.pet-panel-head .game-btn{min-width:max-content;white-space:nowrap}.mission-custom-category-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(132px,auto);gap:12px;align-items:stretch}.mission-custom-category-row input{flex:none;width:100%}.mission-template-library{min-width:0}.mission-template-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}@media(max-width:1280px){.student-game-console .console-header{grid-template-columns:minmax(0,1fr) minmax(170px,218px)!important;grid-template-areas:"title player" "tabs tabs";padding:12px 14px 12px 130px!important}.student-game-console .console-title-area{grid-area:title}.student-game-console .console-tab-bar{grid-area:tabs}.student-game-console .console-player-card{grid-area:player}.student-game-console .console-tab-btn{min-height:36px;font-size:clamp(.7rem,1.4cqw,.8rem)!important}.pet-leaderboard-row{grid-template-columns:44px 54px minmax(0,1fr) minmax(72px,auto)}.leaderboard-token{grid-column:3 / -1;justify-self:start;white-space:normal}.mission-create-form{grid-template-columns:minmax(280px,1fr) minmax(130px,.45fr) minmax(96px,.32fr) minmax(130px,.45fr)}.mission-create-form input[name=missionTitle]{grid-column:1 / -1}.mission-create-form .game-btn{grid-column:1 / -1;justify-self:stretch}}@media(max-width:900px){.student-game-console .console-header{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"title" "tabs" "player";padding:64px 12px 12px!important}.student-game-console .console-tab-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important}.student-game-console .console-player-card{width:100%;justify-self:stretch}.pet-teacher-ops-head{grid-template-columns:1fr;align-items:stretch}.mission-create-form,.mission-custom-category-row{grid-template-columns:1fr}.mission-create-form input[name=missionTitle],.mission-create-form .game-btn{grid-column:auto}}@media(min-width:761px)and (max-width:900px){.student-game-console .console-header{grid-template-columns:minmax(0,1fr) minmax(168px,218px)!important;grid-template-areas:"title player" "tabs tabs";padding:12px 14px 12px 130px!important}.student-game-console .console-title-area{grid-area:title}.student-game-console .console-tab-bar{grid-area:tabs;grid-template-columns:repeat(5,minmax(0,1fr))!important}.student-game-console .console-player-card{grid-area:player;width:min(218px,100%);justify-self:end}}@media(max-width:620px){.student-game-console .console-tab-bar,.pet-teacher-ops-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.student-game-console .console-header{height:auto!important;min-height:clamp(94px,8vw,118px)!important;max-height:none!important;gap:clamp(8px,1vw,16px)!important;align-items:center!important;overflow:visible!important}@media(min-width:1281px){.student-game-console .console-header{grid-template-columns:minmax(420px,.82fr) minmax(460px,1fr) minmax(196px,.32fr)!important}}.student-game-console .console-title-area.console-title-lockup{display:grid!important;grid-template-columns:minmax(180px,max-content) minmax(0,1fr);align-items:center;gap:6px clamp(8px,1vw,14px);width:100%;min-width:0}.student-game-console .console-title-text{min-width:0}.student-game-console .console-title-lockup p{margin:0;font-size:clamp(.62rem,.86cqw,.76rem);line-height:1.05}.student-game-console .console-title-lockup h2{margin:2px 0 0!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.5rem,2.45cqw,2.45rem)!important}.student-game-console .console-student-info{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.student-game-console .pill-icon{flex-shrink:0;display:inline-block;vertical-align:middle}.student-game-console .console-resource-pills{display:grid!important;grid-template-columns:repeat(2,minmax(74px,1fr));align-self:center;justify-self:start;width:min(224px,100%);max-width:100%;gap:6px}.student-game-console .console-resource-pills span,.student-game-console .console-token-badge{width:100%;min-height:28px;padding:3px 7px;justify-content:center;font-size:clamp(.62rem,.78cqw,.82rem);line-height:1.05}.student-game-console .console-token-badge{animation:none!important;text-shadow:none!important}.student-game-console .console-token-badge.token-spend-anim{animation:token-spend .5s cubic-bezier(.34,1.56,.64,1)!important}.student-game-console .console-tab-bar{align-self:center;justify-self:stretch;max-width:100%;gap:clamp(6px,.8vw,10px)}.student-game-console .console-tab-btn{min-width:0;min-height:clamp(38px,3.8cqw,52px);padding:6px clamp(5px,.8cqw,10px)!important;font-size:clamp(.7rem,.9cqw,.92rem)!important;line-height:1.08;white-space:normal}.student-game-console .console-player-card{position:relative;z-index:3;width:min(230px,100%);max-width:100%}.student-game-console .console-body{min-height:0}.pet-mission-manager{overflow:visible!important}.pet-mission-manager .mission-create-form{grid-template-columns:minmax(220px,1.1fr) minmax(120px,.45fr) minmax(88px,.28fr) minmax(124px,.45fr)!important;gap:12px;align-items:stretch;max-width:100%}.pet-mission-manager .mission-create-form input[name=missionTitle]{grid-column:auto}.pet-mission-manager .mission-create-form .game-btn{grid-column:1 / -1!important;justify-self:end!important;width:min(190px,100%)!important;min-width:0!important;max-width:100%}.pet-mission-manager .mission-custom-category-row{grid-template-columns:minmax(220px,1fr) minmax(160px,auto)!important;max-width:100%;overflow:visible}.pet-mission-manager .mission-custom-category-row .game-btn{width:100%!important;min-width:0!important}@media(min-width:1700px){.student-game-console .console-header{grid-template-columns:minmax(550px,.88fr) minmax(620px,1fr) minmax(230px,.32fr)!important}.student-game-console .console-resource-pills{width:min(252px,100%)}}@media(min-width:1281px)and (max-width:1440px){.student-game-console .console-header{grid-template-columns:minmax(400px,.78fr) minmax(430px,1fr) minmax(188px,.34fr)!important}.student-game-console .console-title-area.console-title-lockup{grid-template-columns:minmax(168px,max-content) minmax(0,1fr)}.student-game-console .console-resource-pills{width:min(196px,100%)}.student-game-console .console-player-card{width:min(204px,100%)}}@media(max-width:1280px){.student-game-console .console-header{min-height:132px!important;grid-template-columns:minmax(0,1fr) minmax(180px,224px)!important;grid-template-areas:"title player" "tabs tabs";padding:12px 14px 12px 130px!important}.student-game-console .console-title-area.console-title-lockup{grid-area:title;grid-template-columns:minmax(180px,max-content) minmax(0,220px)}.student-game-console .console-tab-bar{grid-area:tabs;grid-template-columns:repeat(5,minmax(0,1fr))!important}.student-game-console .console-player-card{grid-area:player;justify-self:end}.pet-mission-manager .mission-create-form{grid-template-columns:minmax(220px,1fr) minmax(126px,.45fr) minmax(88px,.32fr) minmax(126px,.45fr)!important}}@media(min-width:761px)and (max-width:900px){.student-game-console .console-header{min-height:138px!important;grid-template-columns:minmax(0,1fr) minmax(168px,212px)!important;grid-template-areas:"title player" "tabs tabs";padding:12px 12px 12px 130px!important}.student-game-console .console-title-area.console-title-lockup{grid-template-columns:minmax(158px,max-content) minmax(0,190px)}.student-game-console .console-title-lockup h2{font-size:clamp(1.42rem,3.5cqw,1.82rem)!important}.student-game-console .console-resource-pills{width:min(190px,100%)}.student-game-console .console-tab-btn{min-height:38px;font-size:clamp(.66rem,1.45cqw,.78rem)!important}}@media(max-width:760px){.student-game-console .console-header{min-height:0!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"title" "tabs" "player";padding:62px 12px 12px!important}.student-game-console .console-title-area.console-title-lockup{grid-template-columns:1fr;justify-items:start}.student-game-console .console-resource-pills{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.student-game-console .console-player-card{justify-self:stretch;width:100%}}@media(max-width:980px){.pet-mission-manager .mission-create-form{grid-template-columns:minmax(0,1fr) minmax(118px,.52fr)!important}.pet-mission-manager .mission-create-form input[name=missionTitle],.pet-mission-manager .mission-create-form .game-btn{grid-column:1 / -1!important}.pet-mission-manager .mission-create-form .game-btn{justify-self:stretch!important;width:100%!important}.pet-mission-manager .mission-custom-category-row{grid-template-columns:1fr!important}}@media(max-width:620px){.student-game-console .console-tab-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.pet-mission-manager .mission-compose-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;margin:16px 0 18px}.pet-mission-manager .mission-composer-card{min-width:0;box-sizing:border-box;position:relative;display:grid;grid-template-rows:auto auto;gap:14px;padding:18px 20px 22px;border:3px solid #17325f;border-radius:18px;background:linear-gradient(180deg,#fffffff0,#fffce8d6),repeating-linear-gradient(135deg,rgba(255,207,79,.08) 0 10px,transparent 10px 22px);box-shadow:0 6px #17325f,0 18px 34px #17325f1f}.pet-mission-manager .mission-category-composer{padding-bottom:34px;background:linear-gradient(180deg,#fffffff0,#edfff4db),repeating-linear-gradient(135deg,rgba(110,231,183,.08) 0 10px,transparent 10px 22px)}.pet-mission-manager .mission-composer-head{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.pet-mission-manager .mission-composer-head h4,.pet-mission-manager .mission-composer-head p{margin:0}.pet-mission-manager .mission-composer-head h4{color:#17325f;font-size:1.08rem;line-height:1.15}.pet-mission-manager .mission-composer-head p{margin-top:4px;color:#17325fb8;font-size:.82rem;font-weight:850;line-height:1.35}.pet-mission-manager .mission-composer-head>span{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:32px;box-sizing:border-box;margin:0 0 0 12px;padding:5px 10px;border:2px solid #17325f;border-radius:999px;background:#ffcf4f;color:#17325f;font-size:.72rem;font-weight:950;letter-spacing:0}.pet-mission-manager .mission-create-form.mission-create-form-refined{display:grid!important;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.58fr) minmax(86px,.34fr) minmax(128px,.52fr)!important;gap:12px!important;align-items:end!important;max-width:100%}.pet-mission-manager .mission-field{min-width:0;display:grid;gap:6px;color:#17325f;font-size:.78rem;font-weight:950}.pet-mission-manager .mission-field>span{line-height:1}.pet-mission-manager .mission-field input,.pet-mission-manager .mission-field select{width:100%;min-width:0;min-height:58px;padding:0 18px!important;box-sizing:border-box;border:4px solid #17325f!important;border-radius:18px!important;background-color:#fffdf0!important;color:#17325f!important;font-weight:950!important;font-size:16px!important;line-height:1.2!important;box-shadow:inset 0 0 0 2px #2e756c1f,0 6px #17325f38!important}.pet-mission-manager .mission-field select{padding-right:48px!important;appearance:none;-webkit-appearance:none;background-image:radial-gradient(circle at 50% 50%,#ffffff 0 4px,#17325f 4px 6px,transparent 6px),linear-gradient(180deg,#ff5f4c 0 46%,#17325f 46% 55%,#fff 55% 100%);background-repeat:no-repeat;background-size:18px 18px,24px 24px;background-position:calc(100% - 17px) 50%,calc(100% - 14px) 50%}.pet-mission-manager .mission-field input::placeholder{color:#17325f7a;opacity:1}.pet-mission-manager .mission-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;min-width:0}.pet-mission-manager .mission-form-actions .game-btn{width:min(220px,100%)!important;min-width:0!important}.pet-mission-manager .mission-custom-category-row.mission-category-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,auto)!important;gap:16px!important;align-items:end;padding-bottom:12px;overflow:visible}.pet-mission-manager .mission-custom-category-row.mission-category-form .mission-field{min-width:0;width:100%}.pet-mission-manager .mission-custom-category-row.mission-category-form input{width:100%;min-width:0;min-height:58px;padding-inline:18px!important;font-size:16px!important}.pet-mission-manager .mission-custom-category-row.mission-category-form .game-btn{width:min(220px,100%)!important;min-width:0!important;min-height:58px;justify-self:end;margin-bottom:0;white-space:normal;line-height:1.2}@media(max-width:1180px){.pet-mission-manager .mission-compose-grid{grid-template-columns:1fr}.pet-mission-manager .mission-custom-category-row.mission-category-form{grid-template-columns:minmax(0,1fr) minmax(180px,auto)!important;align-items:end}}@media(max-width:920px){.pet-mission-manager .mission-create-form.mission-create-form-refined{grid-template-columns:minmax(0,1fr) minmax(120px,.45fr)}.pet-mission-manager .mission-title-field,.pet-mission-manager .mission-form-actions{grid-column:1 / -1}.pet-mission-manager .mission-form-actions .game-btn{width:100%!important}}@media(max-width:640px){.pet-mission-manager .mission-create-form.mission-create-form-refined,.pet-mission-manager .mission-custom-category-row.mission-category-form{grid-template-columns:1fr!important}.pet-mission-manager .mission-composer-head{grid-template-columns:1fr}.pet-mission-manager .mission-composer-head>span{justify-self:start;margin-left:0}}.pet-login-gate-backdrop{position:fixed;inset:0;z-index:12500;display:flex;align-items:center;justify-content:center;padding:clamp(18px,4vw,46px);background:linear-gradient(180deg,#0d1c3ed1,#080c20e6),radial-gradient(circle at 18% 18%,rgba(255,207,79,.3),transparent 28%),radial-gradient(circle at 84% 72%,rgba(110,231,183,.24),transparent 32%);backdrop-filter:blur(14px)}.pet-login-gate-backdrop.is-inline{position:relative;inset:auto;flex:1 1 auto;min-height:100%;border:0;border-radius:16px;overflow:auto;box-shadow:none;z-index:10}.pet-login-gate-card{position:relative;margin:auto;width:min(520px,100%);padding:clamp(22px,4vw,34px);border:4px solid #17325f;border-radius:24px;background:linear-gradient(180deg,#fffffffa,#ecfafff5),repeating-linear-gradient(135deg,rgba(255,207,79,.14) 0 8px,transparent 8px 20px);color:#17325f;text-align:center;box-shadow:0 9px #17325f,0 26px 54px #00000040}.pet-login-gate-card:before,.pet-login-gate-card:after{content:"";position:absolute;width:56px;height:56px;border:3px solid rgba(23,50,95,.22);border-radius:18px;transform:rotate(12deg)}.pet-login-gate-card:before{top:18px;left:18px;background:#ffcf4f47}.pet-login-gate-card:after{right:18px;bottom:18px;background:#6ee7b742;transform:rotate(-10deg)}.pet-login-crest{position:relative;z-index:1;width:112px;height:112px;margin:0 auto 12px;display:grid;place-items:center;border:4px solid #17325f;border-radius:999px;background:linear-gradient(180deg,#ff5959 0 48%,#fff 49% 100%);box-shadow:0 7px #17325f,0 18px 34px #17325f2e;animation:crystal-icon-wobble 2.8s ease-in-out infinite}.pet-login-crest.is-key{background:linear-gradient(180deg,#ffcf4f,#fff8d7)}.pet-login-crest svg{width:78px;height:78px;fill:none;stroke:#17325f;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.pet-login-kicker{position:relative;z-index:1;margin:0 0 6px;color:#e4563a;font-size:.78rem;font-weight:950;letter-spacing:0}.pet-login-gate-card h2{position:relative;z-index:1;margin:0;color:#17325f;font-size:clamp(1.7rem,5vw,2.65rem);line-height:1.05;text-shadow:0 3px 0 #ffcf4f}.pet-login-gate-card p{position:relative;z-index:1;margin:12px auto 18px;max-width:34em;color:#496b95;font-weight:800;line-height:1.55}.pet-google-login-button,.pet-login-secondary-button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:min(280px,100%);padding:10px 18px;border:4px solid #17325f;border-radius:14px;color:#17325f;font:inherit;font-weight:950;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.pet-google-login-button{background:linear-gradient(180deg,#fff,#e9f8ff);box-shadow:0 6px #17325f,0 16px 28px #17325f29}.pet-google-login-button.is-password{background:linear-gradient(180deg,#4bb857,#2f973d);color:#fff}.pet-login-secondary-button{margin-top:12px;min-height:40px;min-width:min(190px,100%);border-width:3px;background:#fff8d7;box-shadow:0 4px #17325f}.pet-google-login-button:not(:disabled):hover,.pet-login-secondary-button:hover{transform:translateY(-2px);filter:saturate(1.05)}.pet-google-login-button:disabled{opacity:.62;cursor:wait}.google-mark{display:grid;place-items:center;width:28px;height:28px;border:3px solid #17325f;border-radius:999px;background:#fff;color:#e4563a;box-shadow:0 2px #17325f;font-weight:950}.pet-login-user{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:8px 12px;border:3px solid #17325f;border-radius:999px;background:#fff8d7;color:#17325f;font-weight:900}.pet-login-user img{width:32px;height:32px;border-radius:999px}.pet-login-gate-card small{position:relative;z-index:1;display:block;margin-top:12px;color:#6b7890;font-weight:800}.pet-password-input{position:relative;z-index:1;width:min(260px,100%);margin:0 auto 14px;text-align:center;letter-spacing:.26em;font-size:1.3rem;font-weight:950}.pet-password-settings{display:grid;gap:12px;margin-top:12px}.pet-password-field{display:grid;gap:7px;padding:12px;border:2px solid rgba(23,50,95,.16);border-radius:14px;background:#ffffff9e}.pet-password-field span,.pet-password-toggle span{color:#17325f;font-weight:950}.pet-password-field input{max-width:220px;letter-spacing:.16em}.pet-password-field small,.pet-password-toggle small{color:#6b7890;font-weight:800}.pet-password-toggle{align-items:flex-start;padding:12px;border:2px solid rgba(23,50,95,.16);border-radius:14px;background:#ffffff9e}@media(max-width:620px){.pet-login-gate-backdrop{padding:14px}.pet-login-gate-card{padding:20px 16px}.pet-login-crest{width:92px;height:92px}.pet-login-crest svg{width:62px;height:62px}}.pet-system-page,.pet-system-layout,.teacher-command-grid,.teacher-control-panel,.teacher-roster-panel,.teacher-command-panel,.pet-teacher-ops-panel,.pet-teacher-ops-content,.pet-mission-manager,.mission-template-library,.mission-template-card,.mission-composer-card,.mission-review-column,.mission-admin-card,.teacher-student-missions-panel{min-width:0;max-width:100%;box-sizing:border-box}.teacher-command-grid{align-items:flex-start}.teacher-control-panel,.teacher-command-panel{overflow-wrap:anywhere}.teacher-command-panel .game-btn{max-width:100%;white-space:normal}.teacher-qr-actions{width:min(620px,100%);min-width:0;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));justify-content:stretch}.teacher-qr-actions .game-btn{width:100%;min-width:0}.teacher-roster-actions{min-width:0}.teacher-roster-actions .cm-badge{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-roster-row{display:grid!important;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:8px;min-width:0;padding:10px 12px!important;border-bottom:1px solid var(--color-glass-border);border-radius:10px;margin-bottom:4px}.teacher-roster-main{display:grid;gap:6px;min-width:0}.teacher-roster-name{min-width:0;color:var(--color-text);font-weight:950;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-roster-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0}.teacher-roster-metric{display:inline-flex;align-items:baseline;justify-content:center;gap:3px;min-width:0;padding:3px 4px;border:1px solid rgba(23,50,95,.14);border-radius:8px;background:#ffffff75;color:#17325f;line-height:1}.teacher-roster-metric b{min-width:0;font-size:.86rem;font-weight:950;overflow:hidden;text-overflow:ellipsis}.teacher-roster-metric em{flex:0 0 auto;color:#17325fad;font-size:.64rem;font-style:normal;font-weight:900}.teacher-roster-metric.is-token{background:#ffcf4f59}.teacher-roster-metric.is-score{background:#6ee7b747}.teacher-roster-row .teacher-roster-qr-button{width:38px;min-width:38px;min-height:48px;align-self:stretch}.settings-switch-row.pet-password-toggle,.settings-switch-row.score-password-toggle{align-items:center}@media(max-width:1180px){.teacher-command-grid{flex-direction:column!important;height:auto!important;min-height:auto!important}.teacher-roster-panel{width:100%!important;flex-shrink:1!important;max-height:none!important}.teacher-control-panel{width:100%;flex:1 1 auto!important}.teacher-student-mission-row{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.teacher-qr-actions{grid-template-columns:1fr}.settings-switch-row{align-items:flex-start}}@media(max-width:1280px){.pet-mission-manager{overflow:hidden!important}.pet-mission-manager .mission-template-head,.pet-mission-manager .pet-panel-head{grid-template-columns:1fr;justify-items:stretch}.pet-mission-manager .mission-template-head .game-btn,.pet-mission-manager .pet-panel-head .game-btn{width:100%;min-width:0}.pet-mission-manager .mission-composer-card{padding:16px;overflow:hidden}.pet-mission-manager .mission-composer-head{grid-template-columns:1fr}.pet-mission-manager .mission-composer-head>span{justify-self:start;max-width:100%;margin-left:0}.pet-mission-manager .mission-create-form.mission-create-form-refined{grid-template-columns:minmax(0,1.4fr) minmax(128px,.7fr)!important;gap:12px!important}.pet-mission-manager .mission-title-field,.pet-mission-manager .mission-form-actions{grid-column:1 / -1!important}.pet-mission-manager .mission-field input,.pet-mission-manager .mission-field select{max-width:100%}.pet-mission-manager .mission-form-actions{justify-content:stretch}.pet-mission-manager .mission-form-actions .game-btn,.pet-mission-manager .mission-create-form .game-btn{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}.pet-mission-manager .mission-custom-category-row.mission-category-form{grid-template-columns:minmax(0,1fr)!important}.pet-mission-manager .mission-custom-category-row.mission-category-form .game-btn{width:100%!important;justify-self:stretch}.pet-mission-manager .mission-review-board{grid-template-columns:1fr!important}.mission-admin-card{padding-right:12px}.mission-admin-actions{grid-template-columns:1fr!important}.mission-admin-actions .game-btn{width:100%;min-width:0;box-sizing:border-box;overflow-wrap:anywhere;white-space:normal}}.pet-teacher-ops-panel,.pet-teacher-ops-content,.adventure-teacher-panel,.adventure-boss-config{min-width:0;max-width:100%;overflow:hidden}.pet-teacher-ops-head{gap:14px}.pet-teacher-ops-tabs{flex-wrap:wrap;max-width:100%}.adventure-teacher-summary,.adventure-settings-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}.adventure-form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important}.adventure-switch-row{min-width:0;flex-wrap:wrap}.adventure-switch-row>div{flex:1 1 220px;min-width:0}.adventure-form-grid label,.adventure-wide-field{min-width:0}.adventure-form-grid input,.adventure-form-grid select,.adventure-wide-field input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.adventure-form-grid select{min-height:40px;padding:8px 10px;border:1px solid var(--color-glass-border);border-radius:10px;background:#0000002e;color:var(--color-text-primary);font:inherit}.teacher-boss-preview{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:center;padding:12px;margin-bottom:12px;border:1px solid var(--color-glass-border);border-radius:12px;background:#08102033}.teacher-boss-preview img{width:82px;height:82px;object-fit:contain;border-radius:16px;background:#ffffff14}.teacher-boss-preview strong,.teacher-boss-preview span{display:block;overflow-wrap:anywhere}.teacher-boss-preview strong{color:var(--color-text-primary);font-size:1.05rem;font-weight:950}.teacher-boss-preview span{margin-top:4px;color:var(--manager-muted);font-size:.86rem;font-weight:850}.expedition-adventure-card{position:relative}.expedition-game-thumbnail{position:relative;min-height:190px;aspect-ratio:16 / 9;overflow:hidden;border:4px solid #17325f;border-radius:18px;background:#9be7ff;box-shadow:0 7px #17325f,0 14px 26px #00000038}.expedition-game-thumbnail>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03)}.expedition-game-thumbnail:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07182dd6,#07182d47 52%,#07182d14),linear-gradient(0deg,rgba(7,24,45,.36),transparent 42%)}.expedition-adventure-card.is-complete .expedition-game-thumbnail>img:first-child{filter:saturate(.82) brightness(.76)}.expedition-thumb-overlay{position:absolute;z-index:2;top:18px;left:18px;display:grid;gap:2px;color:#f8fbff}.expedition-thumb-overlay span{max-width:180px;color:#f8fbffc2;font-size:.88rem;font-weight:950;overflow-wrap:anywhere}.expedition-thumb-overlay strong{max-width:240px;color:#ffcf4f;font-size:clamp(1.55rem,4vw,2.45rem);line-height:1.02;font-weight:950;overflow-wrap:anywhere}.expedition-pet-thumbs{position:absolute;z-index:2;right:14px;bottom:12px;display:flex;gap:8px;align-items:center;min-height:58px;padding:7px 9px;border:2px solid rgba(255,255,255,.7);border-radius:999px;background:#07182d9e;backdrop-filter:blur(4px)}.expedition-pet-thumbs img{width:48px;height:48px;object-fit:contain;border:2px solid rgba(255,255,255,.74);border-radius:999px;background:#ffffffe6}.expedition-pet-thumbs span{color:#f8fbff;font-size:.8rem;font-weight:950;white-space:nowrap}.expedition-game-rewards{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.expedition-game-rewards span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:2px solid rgba(255,207,79,.42);border-radius:999px;background:#ffcf4f1f;color:#fff7d1;font-size:.86rem;font-weight:950;overflow-wrap:anywhere}.adventure-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#040a18b8;backdrop-filter:blur(10px);box-sizing:border-box;z-index:12010!important}.expedition-picker-modal,.boss-attack-modal,.expedition-animation-modal{width:min(94vw,620px);max-height:min(92vh,760px);overflow:auto;display:flex;flex-direction:column;gap:16px;border:4px solid #17325f;border-radius:20px;background:linear-gradient(180deg,#f8fbff,#e9f5ff);color:#17325f;box-shadow:0 12px #17325f,0 24px 60px #00000059;padding:18px}.expedition-picker-head,.boss-attack-head,.expedition-animation-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.expedition-picker-head p,.boss-attack-head p,.expedition-animation-head p{margin:0;color:#e4563a;font-size:.74rem;font-weight:950;letter-spacing:0}.expedition-picker-head h3,.boss-attack-head h3,.expedition-animation-head h3{margin:2px 0 0;color:#17325f;font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:0}.expedition-picker-note{margin:10px 0 12px;color:#315174;font-weight:800;font-size:.9rem}.expedition-pet-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:10px}.expedition-pet-choice{min-width:0;min-height:148px;display:grid;justify-items:center;align-content:center;gap:6px;padding:10px;border:3px solid #c3d7ef;border-radius:14px;background:#fff;color:#17325f;cursor:pointer;box-shadow:0 4px #9fb9d6;font:inherit}.expedition-pet-choice.is-selected{border-color:#48d158;background:#effff2;box-shadow:0 4px #15803d}.expedition-pet-choice.is-locked{opacity:.5;cursor:not-allowed}.expedition-pet-choice img{width:76px;height:76px;object-fit:contain}.expedition-pet-choice strong,.expedition-pet-choice span{max-width:100%;overflow-wrap:anywhere;text-align:center}.expedition-pet-choice strong{font-weight:950}.expedition-pet-choice span{color:#315174;font-size:.78rem;font-weight:850}.expedition-picker-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px}.expedition-picker-actions>span{font-weight:950}.boss-attack-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:34px;min-height:260px;margin:14px 0;padding:24px 20px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 74% 36%,rgba(255,207,79,.22),transparent 34%),linear-gradient(180deg,#dbeafe,#eefcf3 72%,#81c784 72%,#5ca65f)}.boss-attack-pet,.boss-attack-target{position:relative;z-index:2;display:grid;justify-items:center;gap:8px}.boss-attack-pet img{width:min(31vw,132px);height:min(31vw,132px);object-fit:contain;animation:boss-pet-hop 1.1s ease-in-out infinite}.boss-attack-pet strong{max-width:160px;padding:4px 10px;border:2px solid #17325f;border-radius:999px;background:#ffffffd9;text-align:center;overflow-wrap:anywhere}.boss-attack-target img{width:min(34vw,160px);height:min(34vw,160px);object-fit:contain;animation:boss-hit-shake 1.4s ease-in-out .8s 3}.battle-projectile{position:absolute;z-index:3;width:26px;height:26px;--proj-scale: 1;--proj-delay: 0s;top:var(--base-top, 42%);animation-delay:var(--proj-delay)!important;animation:projectile-flight 1.15s cubic-bezier(.3,.1,.3,1) infinite;display:flex;align-items:center;justify-content:center}.battle-projectile:after{content:"";width:100%;height:100%;border-radius:999px;background:var(--attack-spark, #ffcf4f);box-shadow:0 0 18px currentColor,0 0 34px currentColor;color:var(--attack-color, #ffcf4f)}.effect-fire .battle-projectile:after{border-radius:0 50% 50%;transform:rotate(-45deg);background:#ff5722;box-shadow:-4px 4px 15px #ffeb3b,-8px 8px 25px #ff9800;animation:fire-flicker .2s infinite}.effect-water .battle-projectile:after{border-radius:100% 0 100% 100%;transform:rotate(45deg);background:#03a9f4;box-shadow:-5px -5px 15px #81d4fa}.effect-nature .battle-projectile:after{border-radius:80% 0;transform:rotate(20deg);background:#4caf50;box-shadow:-5px -5px 20px #81c784;animation:nature-flutter .6s ease-in-out infinite alternate}.effect-ice .battle-projectile:after{border-radius:2px;transform:rotate(45deg);background:#e0f7fa;box-shadow:0 0 15px #00bcd4,0 0 25px #00acc1}.effect-bolt .battle-projectile{width:50px;height:6px}.effect-bolt .battle-projectile:after{border-radius:2px;background:#ff0;box-shadow:0 0 15px #ffea00,0 0 30px #ffd600;transform:skew(-45deg)}.effect-shadow .battle-projectile:after{background:#111;box-shadow:0 0 20px 8px #9c27b0,0 0 40px 15px #6a1b9a;animation:shadow-pulse .4s infinite alternate}.projectile-2{--base-top: 35%;--proj-delay: .12s;--proj-scale: .9}.projectile-3{--base-top: 52%;--proj-delay: .24s;--proj-scale: 1.15}.projectile-4{--base-top: 46%;--proj-delay: .36s;--proj-scale: .75}.projectile-5{--base-top: 30%;--proj-delay: .48s;--proj-scale: 1.05}.boss-hit-burst{position:absolute;top:40%;right:15%;width:100px;height:100px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.95),var(--attack-spark, rgba(255, 207, 79, .65)) 42%,transparent 68%);transform:translate(50%,-50%);animation:hit-burst 1.15s cubic-bezier(.1,.8,.3,1) infinite}.boss-attack-result,.expedition-progress-panel,.expedition-result-panel{display:grid;justify-items:center;gap:6px;padding:12px;border:2px solid #c3d7ef;border-radius:14px;background:#ffffffc2;text-align:center}.boss-attack-result strong{color:#e4563a;font-size:2rem;font-weight:950}.boss-attack-result span,.boss-attack-result em{color:#315174;font-style:normal;font-weight:850}.expedition-wild-scene{position:relative;min-height:280px;margin:14px 0;border:4px solid #17325f;border-radius:18px;overflow:hidden;background:#9be7ff url(assets/expedition/dispatch_forest_bg.png) center center / cover no-repeat}.expedition-bg{position:absolute;inset:0;width:240%;background-image:url(assets/expedition/dispatch_forest_bg.png);background-size:auto 100%;background-repeat:repeat-x;animation:expedition-bg-scroll 5s linear forwards}.expedition-bg-back{opacity:.72}.expedition-bg-mid{opacity:.32;filter:blur(1px);animation-duration:4.4s}.expedition-ground{position:absolute;left:0;right:0;bottom:0;height:76px;background:repeating-linear-gradient(90deg,rgba(23,50,95,.15) 0 8px,transparent 8px 34px),linear-gradient(180deg,#6ca3417a,#3f8f46b8)}.expedition-travel-pet{position:absolute;z-index:2;bottom:44px;display:grid;justify-items:center;gap:2px;animation:expedition-pet-wobble .72s ease-in-out infinite}.expedition-travel-pet img{width:min(24vw,104px);height:min(24vw,104px);object-fit:contain}.expedition-travel-pet span{max-width:120px;padding:3px 8px;border-radius:999px;background:#ffffffd6;color:#17325f;font-size:.78rem;font-weight:950;text-align:center;overflow-wrap:anywhere}.pet-pos-0{left:12%;animation-delay:0s}.pet-pos-1{left:38%;bottom:38px;animation-delay:.16s}.pet-pos-2{left:64%;animation-delay:.32s}.expedition-chest{position:absolute;right:9%;bottom:48px;width:58px;height:42px;border:4px solid #17325f;border-radius:8px;background:linear-gradient(180deg,#ffcf4f 0 45%,#c47a1c 46% 100%);box-shadow:0 8px #17325f4d}.expedition-chest:before{content:"";position:absolute;inset:16px -4px auto;height:6px;background:#17325f}.expedition-progress-track{width:min(100%,360px);height:12px;overflow:hidden;border-radius:999px;background:#dbeafe}.expedition-progress-track span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#48d158,#ffcf4f);transform-origin:left;animation:expedition-progress 5s linear forwards}.expedition-result-panel strong{color:#17325f;font-size:1.35rem;font-weight:950}.expedition-result-panel>span{color:#e4563a;font-size:1.75rem;font-weight:950}.expedition-result-panel em{color:#315174;font-style:normal;font-weight:850}.expedition-rare-reward{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff8d6;color:#854d0e;font-weight:950}.expedition-rare-reward img{width:34px;height:34px;object-fit:contain}.adventure-modal-backdrop{z-index:100}.gacha-reveal-card,.gacha-prize-card,.gacha-prize-pet{visibility:visible!important}.gacha-prize-pet{opacity:1!important}@keyframes boss-pet-hop{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(-14px) scale(1.04)}}@keyframes boss-hit-shake{0%,to{transform:translate(0)}35%{transform:translate(7px) rotate(2deg)}55%{transform:translate(-7px) rotate(-2deg)}}@keyframes projectile-flight{0%{opacity:0;transform:translate(0) scale(.35)}18%{opacity:1}82%{opacity:1}to{opacity:0;transform:translate(205px,16px) scale(1.55)}}@keyframes hit-burst{0%,35%{opacity:0;transform:translate(-50%,-50%) scale(.25)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-50%) scale(1.55)}}@keyframes expedition-bg-scroll{0%{transform:translate(0)}to{transform:translate(-42%)}}@keyframes expedition-pet-wobble{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}@keyframes expedition-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:640px){.expedition-picker-actions,.boss-attack-stage{grid-template-columns:1fr}.expedition-picker-actions{align-items:stretch;flex-direction:column}.boss-attack-stage{gap:8px}.battle-projectile{left:46%;top:42%}@keyframes projectile-flight{0%{opacity:0;transform:translate(-80px) scale(.35)}18%{opacity:1}82%{opacity:1}to{opacity:0;transform:translate(80px,-12px) scale(1.35)}}}.expedition-game-thumbnail>img:first-child{z-index:0}.expedition-game-thumbnail:after{z-index:1}.expedition-thumb-overlay,.expedition-pet-thumbs{z-index:3}.battle-effect-backdrop,.expedition-effect-backdrop{background:radial-gradient(circle at 50% 22%,rgba(255,207,79,.24),transparent 34%),#040a18d1}.boss-attack-modal,.expedition-animation-modal{width:min(96vw,760px);border:4px solid #17325f;border-radius:18px;background:linear-gradient(180deg,#f8fbfff5,#def0fffa),#f8fbff}.boss-attack-stage{isolation:isolate;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:340px;padding:26px 26px 18px;border:4px solid #17325f;border-radius:18px;background:linear-gradient(180deg,#2679ff59,#092348c7),url(assets/expedition/dispatch_forest_bg.png) center 58% / cover no-repeat;box-shadow:inset 0 0 0 999px #07182d57,0 8px #17325f}.boss-attack-stage:before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 78% 44%,rgba(255,207,79,.32),transparent 24%),linear-gradient(90deg,rgba(255,255,255,.16),transparent 24%,transparent 76%,rgba(255,255,255,.12));animation:battle-stage-pulse 1.6s ease-in-out infinite}.battle-speed-field{position:absolute;z-index:1;inset:0;opacity:.72;background:repeating-linear-gradient(105deg,transparent 0 28px,rgba(255,255,255,.22) 29px 31px,transparent 32px 58px);transform:translate(-18%);animation:battle-speed-sweep .8s linear infinite;pointer-events:none}.battle-floor-aura{position:absolute;z-index:1;left:8%;right:8%;bottom:20px;height:74px;border-radius:999px;background:radial-gradient(ellipse at center,rgba(255,207,79,.42),rgba(72,209,88,.22) 38%,transparent 72%);filter:blur(2px);animation:floor-aura-breathe 1.4s ease-in-out infinite}.battle-versus-badge{position:absolute;z-index:6;top:16px;left:50%;transform:translate(-50%) rotate(-5deg);min-width:52px;padding:7px 12px;border:3px solid #17325f;border-radius:999px;background:#ffcf4f;color:#17325f;box-shadow:0 4px #17325f;font-size:1rem;font-weight:950}.boss-attack-pet,.boss-attack-target{z-index:4;align-self:end}.boss-attack-pet{animation:pet-lunge-combo 1.55s cubic-bezier(.2,.72,.24,1) infinite}.pet-command-ring,.boss-target-ring{display:none!important;position:absolute;z-index:-1;width:min(32vw,154px);height:min(32vw,154px);border-radius:999px;border:4px solid rgba(255,207,79,.65);background:radial-gradient(circle,rgba(255,207,79,.26),transparent 68%);animation:command-ring-spin 1.8s linear infinite}.boss-target-ring{width:min(38vw,184px);height:min(38vw,184px);border-color:#ff6b35b8;background:radial-gradient(circle,rgba(255,107,53,.26),transparent 70%);animation-duration:1.15s;animation-direction:reverse}.boss-attack-pet img{width:min(30vw,132px);height:min(30vw,132px);filter:drop-shadow(0 16px 14px rgba(0,0,0,.34))}.boss-attack-target img{width:min(39vw,188px);height:min(39vw,188px);filter:drop-shadow(0 22px 18px rgba(0,0,0,.38));animation:boss-damage-react 1.55s ease-in-out infinite}.battle-projectile{z-index:5;left:28%;top:46%;width:92px;height:20px;border-radius:999px;background:linear-gradient(90deg,transparent,currentColor 22%,#ffffff 52%,currentColor 78%,transparent);box-shadow:0 0 22px currentColor,0 0 44px #ffffffb8;animation:battle-projectile-burst 1.55s cubic-bezier(.16,.84,.24,1) infinite}.battle-projectile:before,.battle-projectile:after{content:"";position:absolute;inset:50% auto auto 48%;width:42px;height:5px;border-radius:999px;background:#ffffffdb;transform:translate(-50%,-50%) rotate(28deg)}.battle-projectile:after{transform:translate(-50%,-50%) rotate(-28deg)}.projectile-2{top:38%;animation-delay:.12s}.projectile-3{top:55%;animation-delay:.24s}.projectile-4{top:48%;animation-delay:.36s}.projectile-5{top:31%;animation-delay:.48s}.battle-slash{--slash-rot: -22deg;position:absolute;z-index:7;left:58%;top:42%;width:118px;height:22px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);filter:drop-shadow(0 0 12px #fff);opacity:0;transform:rotate(var(--slash-rot));animation:battle-slash-pop 1.55s ease-in-out infinite}.slash-2{--slash-rot: 18deg;top:54%;animation-delay:.16s}.slash-3{--slash-rot: 42deg;top:35%;animation-delay:.28s}.boss-hit-burst{z-index:8;width:116px;height:116px;background:radial-gradient(circle,rgba(255,255,255,1),rgba(255,207,79,.76) 28%,rgba(255,107,53,.32) 54%,transparent 72%);mix-blend-mode:screen;animation:boss-impact-flare 1.55s ease-in-out infinite}.boss-impact-shockwave{position:absolute;z-index:7;top:42%;left:50%;width:42px;height:42px;border:5px solid rgba(255,255,255,.82);border-radius:999px;transform:translate(-50%,-50%);animation:shockwave-ring 1.55s ease-in-out infinite}.battle-damage-number{position:absolute;z-index:9;top:20%;right:13%;padding:8px 16px;border:4px solid #17325f;border-radius:14px;background:#ffcf4f;color:#e4563a;box-shadow:0 6px #17325f;font-size:clamp(1.55rem,4vw,2.5rem);font-weight:950;transform:rotate(-5deg);animation:damage-number-pop 1.55s ease-in-out infinite}.battle-bonus-ribbon{position:absolute;z-index:9;right:16px;bottom:16px;padding:6px 12px;border:3px solid #17325f;border-radius:999px;background:#48d158;color:#073b1a;box-shadow:0 4px #17325f;font-size:.88rem;font-weight:950}.expedition-animation-modal{width:min(96vw,820px)}.expedition-wild-scene{isolation:isolate;min-height:360px;background:#80d4ff;box-shadow:inset 0 -24px 42px #1657243d,0 8px #17325f}.expedition-light-rays{position:absolute;z-index:1;inset:0;background:linear-gradient(104deg,transparent 0 16%,rgba(255,255,255,.26) 17% 23%,transparent 24% 100%),linear-gradient(74deg,transparent 0 46%,rgba(255,255,255,.18) 47% 54%,transparent 55% 100%);mix-blend-mode:screen;pointer-events:none;animation:expedition-rays 5s ease-in-out forwards}.expedition-bg{z-index:0;pointer-events:none}.expedition-bg-back{opacity:1;filter:saturate(1.08);animation-name:expedition-bg-pan-back}.expedition-bg-mid{z-index:1;opacity:.32;filter:blur(1px) saturate(1.15);animation-name:expedition-bg-pan-mid}.expedition-dust-lane{position:absolute;z-index:2;left:-20%;right:-20%;bottom:54px;height:70px;background:radial-gradient(circle at 18% 66%,rgba(255,244,198,.56),transparent 8%),radial-gradient(circle at 48% 58%,rgba(255,244,198,.42),transparent 10%),radial-gradient(circle at 72% 62%,rgba(255,244,198,.52),transparent 8%);opacity:.75;animation:expedition-dust-drift 1.1s linear infinite;pointer-events:none}.expedition-ground{z-index:3;height:92px;pointer-events:none}.expedition-travel-pet{z-index:6;bottom:62px;animation:expedition-run-cycle .68s ease-in-out infinite}.expedition-travel-pet img{width:min(24vw,112px);height:min(24vw,112px);filter:drop-shadow(0 12px 10px rgba(0,0,0,.28))}.expedition-pet-shadow{position:absolute;z-index:-1;bottom:22px;width:82px;height:18px;border-radius:999px;background:#17325f47;filter:blur(2px);animation:expedition-shadow-pulse .68s ease-in-out infinite}.expedition-travel-pet>span:not(.expedition-pet-shadow){border:2px solid rgba(23,50,95,.38);box-shadow:0 3px #17325f47}.pet-pos-0{left:8%;animation-delay:0s}.pet-pos-1{left:34%;bottom:54px;animation-delay:.12s}.pet-pos-2{left:58%;bottom:66px;animation-delay:.24s}.expedition-chest{z-index:5;right:8%;bottom:72px;width:72px;height:52px;pointer-events:none;animation:chest-bounce 1.4s ease-in-out infinite}.expedition-chest-glow{position:absolute;z-index:-1;inset:-22px;border-radius:999px;background:radial-gradient(circle,rgba(255,207,79,.72),transparent 68%);animation:chest-glow-pulse 1.2s ease-in-out infinite}.expedition-foreground-leaves{position:absolute;z-index:8;inset:0;pointer-events:none;background:radial-gradient(ellipse at 6% 86%,rgba(20,83,45,.58) 0 6%,transparent 7%),radial-gradient(ellipse at 92% 90%,rgba(22,101,52,.52) 0 8%,transparent 9%),radial-gradient(ellipse at 82% 16%,rgba(255,255,255,.22) 0 2%,transparent 3%);animation:expedition-foreground-sway 2.4s ease-in-out infinite}.expedition-wild-scene.is-result .expedition-chest{animation:chest-open-pop .65s ease-out forwards}.expedition-wild-scene.is-result .expedition-travel-pet{animation-duration:1.05s}@keyframes battle-stage-pulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes battle-speed-sweep{0%{transform:translate(-18%)}to{transform:translate(18%)}}@keyframes floor-aura-breathe{0%,to{transform:scaleX(.88);opacity:.56}50%{transform:scaleX(1.08);opacity:.95}}@keyframes command-ring-spin{0%{transform:rotate(0) scale(.94)}to{transform:rotate(360deg) scale(1.02)}}@keyframes pet-lunge-combo{0%,to{transform:translate(0) translateY(0) scale(1)}32%{transform:translate(18px) translateY(-12px) scale(1.06)}52%{transform:translate(58px) translateY(-18px) scale(1.12)}72%{transform:translate(12px) translateY(0) scale(1.02)}}@keyframes boss-damage-react{0%,to{transform:translate(0) rotate(0) scale(1)}45%{transform:translate(8px) rotate(2deg) scale(1.03)}58%{transform:translate(-11px) rotate(-2deg) scale(.98)}72%{transform:translate(3px) rotate(1deg) scale(1.01)}}@keyframes battle-projectile-burst{0%{opacity:0;transform:translate(-18px,10px) rotate(-8deg) scaleX(.35)}20%{opacity:1}58%{opacity:1;transform:translate(176px,-12px) rotate(-8deg) scaleX(1.2)}to{opacity:0;transform:translate(230px,-18px) rotate(-8deg) scaleX(.55)}}@keyframes battle-slash-pop{0%,36%{opacity:0;transform:translate(-20px,8px) rotate(var(--slash-rot)) scaleX(.25)}52%{opacity:1;transform:translate(0) rotate(var(--slash-rot)) scaleX(1.05)}76%,to{opacity:0;transform:translate(20px,-8px) rotate(var(--slash-rot)) scaleX(.75)}}@keyframes boss-impact-flare{0%,34%{opacity:0;transform:translate(-50%,-50%) scale(.22)}52%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.75)}}@keyframes shockwave-ring{0%,40%{opacity:0;transform:translate(-50%,-50%) scale(.3)}58%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%) scale(3.1)}}@keyframes damage-number-pop{0%,38%{opacity:0;transform:translateY(18px) rotate(-5deg) scale(.5)}52%{opacity:1;transform:translateY(-8px) rotate(-5deg) scale(1.12)}88%,to{opacity:0;transform:translateY(-38px) rotate(-5deg) scale(.9)}}@keyframes expedition-rays{0%{transform:translate(-6%);opacity:.25}to{transform:translate(8%);opacity:.72}}@keyframes expedition-bg-pan-back{0%{transform:translate(0)}to{transform:translate(-36%)}}@keyframes expedition-bg-pan-mid{0%{transform:translate(-10%)}to{transform:translate(-48%)}}@keyframes expedition-dust-drift{0%{transform:translate(0)}to{transform:translate(18%)}}@keyframes expedition-run-cycle{0%,to{transform:translateY(0) rotate(-1deg)}38%{transform:translateY(-16px) rotate(2deg)}72%{transform:translateY(-4px) rotate(-2deg)}}@keyframes expedition-shadow-pulse{0%,to{transform:scaleX(1);opacity:.34}42%{transform:scaleX(.76);opacity:.2}}@keyframes chest-bounce{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes chest-glow-pulse{0%,to{opacity:.42;transform:scale(.88)}50%{opacity:.9;transform:scale(1.14)}}@keyframes chest-open-pop{0%{transform:translateY(0) scale(1);filter:brightness(1)}42%{transform:translateY(-18px) scale(1.18);filter:brightness(1.45)}to{transform:translateY(-8px) scale(1.08);filter:brightness(1.18)}}@keyframes expedition-foreground-sway{0%,to{transform:translate(0);opacity:.78}50%{transform:translate(-10px);opacity:.92}}@media(max-width:640px){.boss-attack-stage{min-height:420px;grid-template-columns:1fr;align-items:center}.battle-damage-number{top:44%;right:8%}.battle-projectile{left:36%;top:47%}.expedition-wild-scene{min-height:300px}.expedition-travel-pet img{width:82px;height:82px}.pet-pos-0{left:5%}.pet-pos-1{left:31%}.pet-pos-2{left:56%}}.boss-attack-modal{display:grid;gap:12px;padding:18px 18px 16px}.boss-attack-head{align-items:center}.boss-attack-modal>.game-btn{justify-self:end;min-width:118px;min-height:42px;margin-top:2px;border-radius:12px;box-shadow:0 5px #17325f,0 10px 18px #00000029}.boss-attack-result{grid-template-columns:minmax(128px,auto) 1fr auto;align-items:center;justify-items:start;min-height:72px;padding:12px 16px;text-align:left}.boss-attack-result strong{font-size:clamp(1.35rem,3.6vw,2rem);line-height:1}.boss-attack-result span{justify-self:center}.boss-attack-result em{justify-self:end;padding:6px 10px;border-radius:999px;background:#17325f14}.boss-attack-stage{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:end;min-height:332px;padding:32px 30px 26px;background-position:center 64%}.boss-attack-stage:after{content:"";position:absolute;z-index:2;left:8%;right:8%;bottom:60px;height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);opacity:.75}.boss-attack-pet,.boss-attack-target{display:flex;align-items:flex-end;justify-content:center;min-height:218px}.boss-attack-pet{justify-self:center;margin-bottom:0;animation:none!important}.boss-attack-target{justify-self:center;margin-bottom:0}.boss-attack-pet img{width:min(20vw,92px);height:min(20vw,92px);transform:scaleX(-1);transform-origin:center bottom;animation:pet-attack-once 1.35s cubic-bezier(.2,.72,.24,1) 1 both!important}.boss-attack-pet strong{position:absolute;z-index:9;left:50%;bottom:-16px;transform:translate(-50%);min-width:72px;max-width:132px;background:#f8fbfff0;box-shadow:0 3px #17325f}.boss-attack-target img{width:min(44vw,238px);height:min(44vw,238px);transform-origin:center bottom;animation:boss-react-once 1.35s ease-in-out 1 both!important}.pet-command-ring{width:min(25vw,126px);height:min(25vw,126px)}.boss-target-ring{width:min(46vw,250px);height:min(46vw,250px)}.battle-versus-badge{top:18px}.battle-speed-field,.boss-attack-stage:before,.battle-floor-aura,.battle-projectile,.battle-slash,.boss-hit-burst,.boss-impact-shockwave,.battle-damage-number,.battle-bonus-ribbon,.pet-command-ring,.boss-target-ring{animation-iteration-count:1!important;animation-fill-mode:both!important}.battle-speed-field{animation-duration:1.25s!important}.boss-attack-stage:before{animation-duration:1.35s!important}.battle-floor-aura,.pet-command-ring,.boss-target-ring{animation-duration:1.35s!important}.battle-projectile{left:25%;top:43%;width:126px;animation-duration:1.35s!important}.projectile-2{top:36%}.projectile-3{top:51%}.projectile-4{top:46%}.projectile-5{top:29%}.battle-slash{left:60%;animation-duration:1.35s!important}.battle-damage-number{top:18%;right:10%;animation-duration:1.35s!important}.battle-bonus-ribbon{right:18px;bottom:18px}@keyframes pet-attack-once{0%{transform:translate(-8px) translateY(0) scaleX(-1) scale(.88);filter:drop-shadow(0 12px 10px rgba(0,0,0,.24))}32%{transform:translate(16px) translateY(-10px) scaleX(-1) scale(.96)}54%{transform:translate(44px) translateY(-14px) scaleX(-1) scale(1.02)}78%{transform:translate(8px) translateY(0) scaleX(-1) scale(.92)}to{transform:translate(0) translateY(0) scaleX(-1) scale(.9);filter:drop-shadow(0 12px 10px rgba(0,0,0,.26))}}@keyframes boss-react-once{0%{transform:translate(0) translateY(0) scale(1);filter:drop-shadow(0 22px 18px rgba(0,0,0,.38))}48%{transform:translate(10px) translateY(-5px) rotate(1.5deg) scale(1.06);filter:brightness(1.18) drop-shadow(0 24px 20px rgba(0,0,0,.38))}62%{transform:translate(-8px) translateY(0) rotate(-1.5deg) scale(1.02)}to{transform:translate(0) translateY(0) scale(1.02);filter:drop-shadow(0 22px 18px rgba(0,0,0,.38))}}@media(max-width:640px){.boss-attack-result{grid-template-columns:1fr;justify-items:center;text-align:center}.boss-attack-result span,.boss-attack-result em,.boss-attack-modal>.game-btn{justify-self:stretch;text-align:center}.boss-attack-pet img{width:82px;height:82px}.boss-attack-target img{width:min(68vw,220px);height:min(68vw,220px)}}.adventure-modal-backdrop{z-index:12400}.expedition-picker-backdrop{z-index:12650!important;align-items:center;justify-content:center;padding:clamp(14px,3vw,28px);background:radial-gradient(circle at 62% 20%,rgba(255,207,79,.16),transparent 32%),#040a18db;backdrop-filter:blur(14px) saturate(1.08)}.expedition-picker-modal{width:min(92vw,720px);max-height:min(88vh,720px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:18px;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#f8fbfffa,#def0fffa),#f8fbff;box-shadow:0 12px #17325f,0 28px 72px #0000007a}.expedition-picker-head{align-items:center}.expedition-picker-note{margin:0;padding:9px 12px;border:2px solid rgba(23,50,95,.12);border-radius:12px;background:#17325f0f;color:#315174;line-height:1.55}.expedition-pet-select-grid{min-height:0;max-height:none;overflow:auto;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;padding:4px 2px 8px}.expedition-pet-choice{min-height:142px;padding:12px 10px;border-radius:14px;background:radial-gradient(circle at 50% 28%,rgba(255,207,79,.18),transparent 42%),linear-gradient(180deg,#fff,#eef7ff);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.expedition-pet-choice:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 7px #9fb9d6,0 12px 24px #17325f29}.expedition-pet-choice.is-selected{background:radial-gradient(circle at 50% 28%,rgba(72,209,88,.24),transparent 44%),linear-gradient(180deg,#f6fff8,#dcfce7)}.expedition-pet-choice img{width:74px;height:74px;filter:drop-shadow(0 8px 8px rgba(23,50,95,.18))}.expedition-picker-actions{align-items:center;gap:12px;margin-top:0;padding-top:12px;border-top:2px solid rgba(23,50,95,.1)}.expedition-picker-count{margin-right:auto;padding:7px 12px;border:2px solid rgba(23,50,95,.18);border-radius:999px;background:#ffffffc2;color:#17325f;white-space:nowrap}.expedition-picker-start-btn{min-width:152px;min-height:44px;border-radius:12px;box-shadow:0 5px #17325f,0 10px 18px #00000029}.expedition-animation-modal{width:min(96vw,820px);display:grid;gap:12px;padding:18px 18px 16px}.expedition-animation-head{align-items:center}.expedition-animation-modal>.game-btn{align-self:center;margin-top:auto;min-width:132px;min-height:42px;border-radius:12px;box-shadow:0 5px #17325f,0 10px 18px #00000029}.expedition-wild-scene{min-height:376px;margin:0;background:linear-gradient(180deg,#3696ff2e,#07182d1a),#80d4ff}.expedition-wild-scene:after{content:"";position:absolute;z-index:4;left:7%;right:7%;bottom:82px;height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);opacity:.72;pointer-events:none}.expedition-wild-scene.is-travel .expedition-light-rays,.expedition-wild-scene.is-travel .expedition-bg,.expedition-wild-scene.is-travel .expedition-dust-lane,.expedition-wild-scene.is-travel .expedition-foreground-leaves,.expedition-wild-scene.is-travel .expedition-chest,.expedition-wild-scene.is-travel .expedition-chest-glow,.expedition-wild-scene.is-travel .expedition-travel-pet,.expedition-wild-scene.is-travel .expedition-travel-pet img,.expedition-wild-scene.is-travel .expedition-pet-shadow{animation-iteration-count:1!important;animation-fill-mode:both!important}.expedition-wild-scene.is-travel .expedition-light-rays{animation:expedition-rays 5s ease-in-out 1 both!important}.expedition-wild-scene.is-travel .expedition-bg-back{animation:expedition-bg-pan-back 5s linear 1 both!important}.expedition-wild-scene.is-travel .expedition-bg-mid{animation:expedition-bg-pan-mid 5s linear 1 both!important}.expedition-wild-scene.is-travel .expedition-dust-lane{animation:expedition-dust-drift-once 5s linear 1 both!important}.expedition-wild-scene.is-travel .expedition-foreground-leaves{animation:expedition-foreground-sweep-once 5s ease-in-out 1 both!important}.expedition-wild-scene.is-travel .expedition-chest{animation:expedition-chest-wait-once 5s ease-in-out 1 both!important}.expedition-wild-scene.is-travel .expedition-chest-glow{animation:expedition-glow-once 5s ease-in-out 1 both!important}.expedition-travel-pet{bottom:66px!important;min-width:112px;transform-origin:center bottom}.expedition-wild-scene.is-travel .expedition-travel-pet{animation:expedition-team-run-once 5s cubic-bezier(.18,.72,.24,1) 1 both!important}.expedition-travel-pet img{width:min(18vw,92px);height:min(18vw,92px);transform-origin:center bottom;filter:drop-shadow(0 12px 10px rgba(0,0,0,.28))}.expedition-wild-scene.is-travel .expedition-travel-pet img{transform:scaleX(-1);animation:expedition-pet-hop-once 5s ease-in-out 1 both!important}.expedition-pet-shadow{bottom:18px;width:76px;height:16px}.expedition-wild-scene.is-travel .expedition-pet-shadow{animation:expedition-shadow-once 5s ease-in-out 1 both!important}.pet-pos-0{left:9%;animation-delay:0s!important}.pet-pos-1{left:32%;bottom:66px!important;animation-delay:.12s!important}.pet-pos-2{left:55%;bottom:66px!important;animation-delay:.24s!important}.expedition-wild-scene.is-result .expedition-light-rays,.expedition-wild-scene.is-result .expedition-bg,.expedition-wild-scene.is-result .expedition-dust-lane,.expedition-wild-scene.is-result .expedition-foreground-leaves,.expedition-wild-scene.is-result .expedition-travel-pet,.expedition-wild-scene.is-result .expedition-travel-pet img,.expedition-wild-scene.is-result .expedition-pet-shadow{animation:none!important}.expedition-wild-scene.is-result .expedition-travel-pet{transform:translate(26px)}.expedition-wild-scene.is-result .expedition-travel-pet img{transform:scaleX(-1)}.expedition-wild-scene.is-result .expedition-chest{animation:chest-open-pop .65s ease-out 1 forwards!important}.expedition-progress-panel,.expedition-result-panel{grid-template-columns:minmax(128px,auto) 1fr auto;align-items:center;justify-items:start;min-height:70px;padding:12px 16px;text-align:left}.expedition-progress-panel strong,.expedition-result-panel strong{white-space:nowrap}.expedition-progress-track{justify-self:stretch;width:100%}.expedition-result-panel>span{justify-self:center;line-height:1}.expedition-result-panel em,.expedition-rare-reward{justify-self:end}@keyframes expedition-dust-drift-once{0%{opacity:0;transform:translate(-10%)}16%{opacity:.76}to{opacity:.18;transform:translate(24%)}}@keyframes expedition-team-run-once{0%{transform:translate(-18px) translateY(0) rotate(-1deg)}18%{transform:translate(-2px) translateY(-8px) rotate(1.5deg)}36%{transform:translate(14px) translateY(0) rotate(-1deg)}54%{transform:translate(30px) translateY(-7px) rotate(1deg)}72%{transform:translate(44px) translateY(0) rotate(-.5deg)}to{transform:translate(56px) translateY(0) rotate(0)}}@keyframes expedition-pet-hop-once{0%{transform:scaleX(-1) translateY(0) scale(.94)}16%{transform:scaleX(-1) translateY(-9px) scale(.98)}32%{transform:scaleX(-1) translateY(0) scale(.94)}48%{transform:scaleX(-1) translateY(-8px) scale(.98)}64%{transform:scaleX(-1) translateY(0) scale(.94)}80%{transform:scaleX(-1) translateY(-5px) scale(.96)}to{transform:scaleX(-1) translateY(0) scale(.94)}}@keyframes expedition-shadow-once{0%,32%,64%,to{transform:scaleX(1);opacity:.34}16%,48%,80%{transform:scaleX(.72);opacity:.2}}@keyframes expedition-chest-wait-once{0%,28%,56%,84%,to{transform:translateY(0) rotate(-1deg)}14%,42%,70%{transform:translateY(-7px) rotate(1deg)}}@keyframes expedition-glow-once{0%,to{opacity:.46;transform:scale(.9)}22%,58%{opacity:.92;transform:scale(1.12)}}@keyframes expedition-foreground-sweep-once{0%{transform:translate(0);opacity:.72}to{transform:translate(-14px);opacity:.88}}@media(max-width:640px){.expedition-picker-modal{width:min(94vw,520px);max-height:86vh;padding:14px}.expedition-pet-select-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.expedition-picker-actions,.expedition-progress-panel,.expedition-result-panel{grid-template-columns:1fr;justify-items:stretch;text-align:center}.expedition-picker-actions{flex-direction:column;align-items:stretch}.expedition-picker-count,.expedition-picker-start-btn,.expedition-animation-modal>.game-btn,.expedition-result-panel em,.expedition-rare-reward{justify-self:stretch;margin-right:0;text-align:center}.expedition-wild-scene{min-height:320px}.expedition-travel-pet{min-width:90px}.expedition-travel-pet img{width:76px;height:76px}.pet-pos-0{left:3%}.pet-pos-1{left:30%}.pet-pos-2{left:57%}}.adventure-teacher-panel{overflow:visible}.adventure-simple-controls{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(240px,1fr) minmax(160px,.58fr);gap:14px;min-width:0;max-width:100%}.adventure-simple-controls>*{min-width:0}.adventure-master-toggle,.adventure-control-field{min-height:116px;box-sizing:border-box}.adventure-control-field{display:grid;align-content:center;gap:9px;padding:14px;border:1px solid var(--color-glass-border);border-radius:12px;background:#ffffff12;color:var(--manager-muted);font-size:.88rem;font-weight:950}.adventure-control-field select,.adventure-control-field input{width:100%;min-width:0;min-height:46px;box-sizing:border-box;padding:9px 12px;border:1px solid rgba(107,137,174,.48);border-radius:12px;background:#ffffffdb;color:#17325f;font:inherit;font-weight:950}.adventure-boss-config-simple{display:block;padding:0;border:0;background:transparent;overflow:visible}.adventure-boss-config-simple .teacher-boss-preview{margin:0;grid-template-columns:108px minmax(0,1fr);padding:14px;border-radius:16px;background:linear-gradient(135deg,#ffffffd1,#fff8d6ad)}.adventure-boss-config-simple .teacher-boss-preview img{width:108px;height:108px;border-radius:18px;background:#ffffff9e}.teacher-boss-preview small{display:block;margin-top:6px;color:#6b89ae;font-size:.8rem;font-weight:850;line-height:1.35}.expedition-adventure-card{display:grid;grid-template-rows:auto minmax(180px,auto) auto auto;gap:14px;align-content:start}.expedition-game-thumbnail{min-height:210px}.expedition-pet-thumbs{right:14px;bottom:14px;max-width:calc(100% - 28px);min-height:0;padding:6px;gap:6px;border-color:#ffffffdb;background:#f8fbff38;box-shadow:0 6px 16px #07182d3d}.expedition-pet-thumbs img{flex:0 0 auto;width:42px;height:42px;padding:2px;box-sizing:border-box;border:2px solid rgba(23,50,95,.72);background:#fffffff0}.expedition-game-rewards{margin-top:0;gap:10px}.expedition-game-rewards span{min-height:38px}.expedition-button{width:min(100%,260px);justify-self:start;margin-top:2px}.boss-attack-modal>.game-btn{align-self:center;margin-top:auto;min-width:168px;min-height:46px}.battle-finish-overlay{position:absolute;z-index:40;inset:0;display:grid;place-content:center;gap:10px;padding:22px;background:radial-gradient(circle at center,#17325f9e,#030914e0 72%),#030914c7;color:#f8fbff;text-align:center;pointer-events:none;opacity:1;animation:battle-finish-reveal .5s ease-out 1.45s 1 both}.battle-finish-overlay strong{color:#ffcf4f;font-size:clamp(1.45rem,4.2vw,2.75rem);line-height:1;font-weight:950;text-shadow:0 4px 0 rgba(23,50,95,.72)}.battle-finish-overlay span{color:#fff;font-size:clamp(1rem,2.4vw,1.35rem);font-weight:950}.expedition-chest{z-index:7;right:7%;bottom:58px;width:min(22vw,126px);height:min(19vw,108px);border:0;border-radius:0;background:transparent;box-shadow:none}.expedition-chest:before{display:none}.expedition-chest img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(23,50,95,.32))}.expedition-chest-glow{z-index:0;inset:-26px}.expedition-foreground-leaves{z-index:9;opacity:.56}.expedition-travel-pet{z-index:8}.expedition-wild-scene.is-result .expedition-chest{z-index:10}@keyframes battle-finish-reveal{0%{opacity:0;transform:scale(1.015);backdrop-filter:blur(0)}to{opacity:1;transform:scale(1);backdrop-filter:blur(2px)}}@media(max-width:980px){.adventure-simple-controls{grid-template-columns:1fr}.adventure-master-toggle,.adventure-control-field{min-height:0}}@media(max-width:640px){.adventure-boss-config-simple .teacher-boss-preview{grid-template-columns:82px minmax(0,1fr)}.adventure-boss-config-simple .teacher-boss-preview img{width:82px;height:82px}.expedition-game-thumbnail{min-height:176px}.expedition-pet-thumbs img{width:34px;height:34px}.expedition-button,.boss-attack-modal>.game-btn{justify-self:stretch;width:100%}.battle-finish-overlay{padding:18px}.expedition-chest{width:92px;height:82px;right:4%;bottom:56px}}.boss-attack-modal{--attack-rgb: 126, 166, 255;--attack-color: rgb(var(--attack-rgb));--attack-soft: rgba(var(--attack-rgb), .18);--attack-line: rgba(var(--attack-rgb), .58);--attack-spark: rgba(var(--attack-rgb), .76)}.boss-attack-modal.effect-fire{--attack-rgb: 255, 119, 74}.boss-attack-modal.effect-water{--attack-rgb: 74, 178, 255}.boss-attack-modal.effect-bolt{--attack-rgb: 255, 216, 82}.boss-attack-modal.effect-nature{--attack-rgb: 92, 211, 129}.boss-attack-modal.effect-ice{--attack-rgb: 130, 225, 255}.boss-attack-modal.effect-light{--attack-rgb: 255, 232, 154}.boss-attack-modal.effect-shadow{--attack-rgb: 158, 126, 255}.boss-attack-modal.effect-stone{--attack-rgb: 184, 158, 112}.boss-attack-modal.effect-arcane{--attack-rgb: 126, 166, 255}.boss-attack-stage{min-height:350px;background:linear-gradient(180deg,#2a71bc47,#07182dc2),url(assets/expedition/dispatch_forest_bg.png) center 58% / cover no-repeat}.boss-attack-stage:before{background:radial-gradient(circle at 76% 46%,var(--attack-soft),transparent 24%),radial-gradient(circle at 24% 56%,rgba(var(--attack-rgb),.12),transparent 26%),linear-gradient(90deg,rgba(255,255,255,.11),transparent 28%,transparent 72%,rgba(255,255,255,.08));animation:refined-stage-breathe 1.9s ease-in-out 1 both!important}.battle-speed-field{opacity:.26;background:repeating-linear-gradient(105deg,transparent 0 38px,rgba(255,255,255,.16) 39px 40px,transparent 41px 78px);animation:refined-speed-sweep 1.9s cubic-bezier(.2,.72,.22,1) 1 both!important}.battle-floor-aura{background:radial-gradient(ellipse at center,rgba(var(--attack-rgb),.22),rgba(255,255,255,.1) 34%,transparent 72%);filter:blur(5px);animation:refined-floor-aura 1.9s ease-in-out 1 both!important}.pet-command-ring,.boss-target-ring{border:2px solid var(--attack-line);background:radial-gradient(circle,rgba(var(--attack-rgb),.1),transparent 68%);box-shadow:0 0 0 1px #ffffff4d,0 0 12px rgba(var(--attack-rgb),.22);animation:refined-ring-breathe 1.9s ease-in-out 1 both!important}.boss-target-ring{border-color:rgba(var(--attack-rgb),.46);background:radial-gradient(circle,rgba(var(--attack-rgb),.08),transparent 70%);box-shadow:0 0 0 1px #ffffff38,0 0 14px rgba(var(--attack-rgb),.2)}.boss-attack-pet{animation:none!important}.boss-attack-pet img{filter:drop-shadow(0 0 4px rgba(var(--attack-rgb),.46)) drop-shadow(0 13px 10px rgba(0,0,0,.26));animation:pet-attack-refined 1.9s cubic-bezier(.16,.62,.18,1) 1 both!important}.boss-attack-target img{filter:drop-shadow(0 0 5px rgba(var(--attack-rgb),.3)) drop-shadow(0 22px 18px rgba(0,0,0,.36));animation:boss-react-refined 1.9s ease-in-out 1 both!important}.battle-projectile{left:28%;top:47%;width:72px;height:8px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(var(--attack-rgb),.3) 15%,rgba(255,255,255,.96) 50%,rgba(var(--attack-rgb),.62) 76%,transparent);box-shadow:0 0 6px rgba(var(--attack-rgb),.42),0 0 14px rgba(var(--attack-rgb),.18),-13px 5px 0 -3px rgba(var(--attack-rgb),.58),-24px -4px 0 -4px #ffffffc7,-34px 7px 0 -4px rgba(var(--attack-rgb),.44);animation:battle-projectile-refined 1.9s cubic-bezier(.18,.72,.2,1) 1 both!important}.battle-projectile:before,.battle-projectile:after{width:18px;height:2px;background:rgba(var(--attack-rgb),.62);opacity:.78}.projectile-2{top:39%;animation-delay:.08s!important}.projectile-3{top:55%;animation-delay:.16s!important}.projectile-4{top:49%;animation-delay:.24s!important}.projectile-5{top:33%;animation-delay:.32s!important}.battle-slash{width:78px;height:10px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),rgba(var(--attack-rgb),.58),transparent);filter:drop-shadow(0 0 5px rgba(var(--attack-rgb),.56));animation:battle-slash-refined 1.9s ease-in-out 1 both!important}.slash-2{animation-delay:.08s!important}.slash-3{animation-delay:.16s!important}.boss-hit-burst{width:98px;height:98px;background:radial-gradient(circle,rgba(255,255,255,.88),rgba(var(--attack-rgb),.5) 31%,rgba(var(--attack-rgb),.16) 58%,transparent 74%);mix-blend-mode:screen;animation:boss-impact-refined 1.9s ease-in-out 1 both!important}.boss-impact-shockwave{border:2px solid rgba(var(--attack-rgb),.58);box-shadow:0 0 10px rgba(var(--attack-rgb),.18);animation:shockwave-refined 1.9s ease-in-out 1 both!important}.battle-damage-number{border-width:3px;background:#fff7def0;color:#e4563a;box-shadow:0 5px #17325f,0 0 14px rgba(var(--attack-rgb),.2);animation:damage-number-refined 1.9s ease-in-out 1 both!important}.battle-bonus-ribbon{background:rgba(var(--attack-rgb),.86);color:#09203c}.battle-finish-overlay{animation:battle-finish-reveal .5s ease-out 1.9s 1 both}.expedition-wild-scene{box-shadow:inset 0 -22px 44px #16572438,inset 0 0 70px #ffffff24,0 8px #17325f}.expedition-light-rays{opacity:.36;animation-duration:5.4s}.expedition-dust-lane{height:58px;opacity:.42;filter:blur(.3px);background:radial-gradient(circle at 18% 68%,rgba(255,244,198,.36),transparent 5%),radial-gradient(circle at 36% 57%,rgba(255,255,255,.28),transparent 4%),radial-gradient(circle at 58% 63%,rgba(255,244,198,.34),transparent 5%),radial-gradient(circle at 75% 69%,rgba(255,255,255,.26),transparent 4%)}.expedition-wild-scene.is-travel .expedition-light-rays{animation:expedition-rays 5.4s ease-in-out 1 both!important}.expedition-wild-scene.is-travel .expedition-bg-back{animation:expedition-bg-pan-back 5.4s linear 1 both!important}.expedition-wild-scene.is-travel .expedition-bg-mid{animation:expedition-bg-pan-mid 5.4s linear 1 both!important}.expedition-wild-scene.is-travel .expedition-dust-lane{animation:expedition-dust-drift-polished 5.4s linear 1 both!important}.expedition-wild-scene.is-travel .expedition-foreground-leaves{animation:expedition-foreground-sweep-once 5.4s ease-in-out 1 both!important}.expedition-wild-scene.is-travel .expedition-chest{animation:expedition-chest-wait-polished 5.4s ease-in-out 1 both!important}.expedition-wild-scene.is-travel .expedition-chest-glow{animation:expedition-glow-polished 5.4s ease-in-out 1 both!important}.expedition-wild-scene.is-travel .expedition-travel-pet{animation:expedition-team-run-polished 5.4s cubic-bezier(.18,.72,.24,1) 1 both!important}.expedition-wild-scene.is-travel .expedition-travel-pet img{animation:expedition-pet-hop-polished 5.4s ease-in-out 1 both!important;filter:drop-shadow(0 0 4px rgba(255,255,255,.38)) drop-shadow(0 12px 10px rgba(0,0,0,.26))}.expedition-wild-scene.is-travel .expedition-pet-shadow{animation:expedition-shadow-polished 5.4s ease-in-out 1 both!important}.expedition-pet-shadow{opacity:.34}.expedition-chest-glow{opacity:.42;filter:blur(10px)}.expedition-progress-track span{animation-duration:5.4s!important}@keyframes refined-stage-breathe{0%,to{opacity:.72}44%{opacity:.9}68%{opacity:.78}}@keyframes refined-speed-sweep{0%{transform:translate(-18%);opacity:0}22%{opacity:.28}74%{opacity:.22}to{transform:translate(16%);opacity:0}}@keyframes refined-floor-aura{0%{transform:scaleX(.88);opacity:.42}42%{transform:scaleX(1.02);opacity:.64}64%{transform:scaleX(1.12);opacity:.78}to{transform:scaleX(.98);opacity:.46}}@keyframes refined-ring-breathe{0%{transform:scale(.96);opacity:.72}44%{transform:scale(1.03);opacity:.92}68%{transform:scale(.99);opacity:.82}to{transform:scale(1);opacity:.74}}@keyframes pet-attack-refined{0%{transform:scaleX(-1) translate(0) rotate(0) scale(.92)}24%{transform:scaleX(-1) translate(-8px,-8px) rotate(-1deg) scale(.94)}48%{transform:scaleX(-1) translate(-46px,-16px) rotate(-3deg) scale(.98)}63%{transform:scaleX(-1) translate(-64px,-8px) rotate(-1deg) scale(1.02)}78%{transform:scaleX(-1) translate(-22px) rotate(0) scale(.95)}to{transform:scaleX(-1) translate(0) rotate(0) scale(.92)}}@keyframes boss-react-refined{0%,52%{transform:translate(0) rotate(0) scale(1);filter:drop-shadow(0 0 5px rgba(var(--attack-rgb),.3)) drop-shadow(0 22px 18px rgba(0,0,0,.36))}60%{transform:translate(8px) rotate(1.2deg) scale(1.02);filter:brightness(1.18) drop-shadow(0 0 9px rgba(var(--attack-rgb),.56)) drop-shadow(0 22px 18px rgba(0,0,0,.36))}67%{transform:translate(-9px) rotate(-1.4deg) scale(.99)}74%{transform:translate(4px) rotate(.7deg) scale(1.01)}to{transform:translate(0) rotate(0) scale(1);filter:drop-shadow(0 0 5px rgba(var(--attack-rgb),.3)) drop-shadow(0 22px 18px rgba(0,0,0,.36))}}@keyframes battle-projectile-refined{0%{opacity:0;transform:translate(-22px,8px) rotate(-7deg) scaleX(.18)}24%{opacity:.96}54%{opacity:1;transform:translate(132px,-9px) rotate(-7deg) scaleX(1)}70%{opacity:.7;transform:translate(168px,-11px) rotate(-7deg) scaleX(.82)}to{opacity:0;transform:translate(192px,-13px) rotate(-7deg) scaleX(.42)}}@keyframes battle-slash-refined{0%,52%{opacity:0;transform:translate(-16px,7px) rotate(var(--slash-rot)) scaleX(.2)}64%{opacity:.92;transform:translate(0) rotate(var(--slash-rot)) scaleX(1.02)}82%,to{opacity:0;transform:translate(18px,-8px) rotate(var(--slash-rot)) scaleX(.64)}}@keyframes boss-impact-refined{0%,56%{opacity:0;transform:translate(-50%,-50%) scale(.22)}66%{opacity:.82;transform:translate(-50%,-50%) scale(.82)}to{opacity:0;transform:translate(-50%,-50%) scale(1.42)}}@keyframes shockwave-refined{0%,58%{opacity:0;transform:translate(-50%,-50%) scale(.42)}70%{opacity:.64}to{opacity:0;transform:translate(-50%,-50%) scale(2.45)}}@keyframes damage-number-refined{0%,60%{opacity:0;transform:translateY(12px) rotate(-5deg) scale(.72)}72%{opacity:1;transform:translateY(-8px) rotate(-5deg) scale(1.03)}to{opacity:0;transform:translateY(-32px) rotate(-5deg) scale(.9)}}@keyframes expedition-dust-drift-polished{0%{opacity:0;transform:translate(-10%)}20%{opacity:.44}78%{opacity:.32}to{opacity:.12;transform:translate(22%)}}@keyframes expedition-chest-wait-polished{0%,70%{transform:translateY(0) scale(1)}82%{transform:translateY(-5px) scale(1.02)}to{transform:translateY(0) scale(1)}}@keyframes expedition-glow-polished{0%,64%{opacity:.22;transform:scale(.92)}84%{opacity:.44;transform:scale(1.05)}to{opacity:.28;transform:scale(1)}}@keyframes expedition-team-run-polished{0%{transform:translate(-18px) translateY(0) rotate(-.6deg)}20%{transform:translate(-4px) translateY(-5px) rotate(.8deg)}40%{transform:translate(12px) translateY(0) rotate(-.5deg)}60%{transform:translate(28px) translateY(-4px) rotate(.6deg)}80%{transform:translate(42px) translateY(0) rotate(-.2deg)}to{transform:translate(54px) translateY(0) rotate(0)}}@keyframes expedition-pet-hop-polished{0%{transform:scaleX(-1) translateY(0) scale(.94)}18%{transform:scaleX(-1) translateY(-6px) scale(.97)}36%{transform:scaleX(-1) translateY(0) scale(.94)}54%{transform:scaleX(-1) translateY(-5px) scale(.97)}72%{transform:scaleX(-1) translateY(0) scale(.94)}88%{transform:scaleX(-1) translateY(-3px) scale(.96)}to{transform:scaleX(-1) translateY(0) scale(.94)}}@keyframes expedition-shadow-polished{0%,36%,72%,to{transform:scaleX(1);opacity:.3}18%,54%,88%{transform:scaleX(.78);opacity:.2}}.student-game-console .cm-eyebrow,.student-game-console .console-panel-kicker,.student-game-console .gacha-kicker,.gacha-reveal-scene .gacha-kicker{letter-spacing:0!important;text-transform:none!important}.student-game-console .console-gacha-layout{grid-template-columns:minmax(320px,1.1fr) minmax(300px,.9fr)!important;align-items:stretch!important}.student-game-console .console-gacha-stage{min-height:clamp(420px,56vh,600px);padding:clamp(22px,4vw,42px);border-color:#14305cf2!important;background:linear-gradient(180deg,#f7fdfff5,#e0f5ffeb),radial-gradient(circle at 50% 42%,rgba(111,231,190,.24),transparent 52%),radial-gradient(circle at 18% 18%,rgba(255,214,101,.26),transparent 38%)!important}.student-game-console .console-gacha-stage:before{inset:20px;border:2px solid rgba(31,85,138,.18);border-radius:18px;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.5) 48%,transparent 56%),radial-gradient(circle at 50% 78%,rgba(23,50,95,.08),transparent 34%);opacity:.9}.student-game-console .console-gacha-stage:after{content:"";position:absolute;left:12%;right:12%;bottom:34px;height:24px;border-radius:50%;background:radial-gradient(ellipse,rgba(23,50,95,.22),transparent 70%);filter:blur(8px);pointer-events:none}.student-game-console .console-gacha-machine-art{width:min(430px,82vw)!important;max-height:clamp(280px,42vh,430px);border-radius:0;transform-origin:center bottom;filter:drop-shadow(0 8px 0 rgba(23,50,95,.2)) drop-shadow(0 26px 34px rgba(10,24,50,.24));animation:gacha-machine-breathe 4.2s ease-in-out infinite}.student-game-console .console-gacha-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px}.student-game-console .console-gacha-stats div{border-width:2px;background:#ffffffe6;box-shadow:0 4px #17325ff2}.student-game-console .console-action-panel{min-height:clamp(420px,56vh,600px);background:linear-gradient(180deg,#fffdf4fa,#e8f8f9f0),radial-gradient(circle at 85% 20%,rgba(255,122,93,.12),transparent 34%)!important}.student-game-console .console-panel-kicker{display:inline-flex;align-items:center;width:fit-content;max-width:100%;margin:0 0 8px;padding:6px 12px;border:2px solid rgba(23,50,95,.22);border-radius:999px;background:#6fe7be3d;color:#1c6f74!important;font-weight:950}.student-game-console .gacha-button{min-height:64px;border-radius:18px!important;box-shadow:0 8px #17325f,0 20px 30px #17325f38!important}.gacha-overlay-backdrop{background:#040c1cc7;backdrop-filter:blur(10px)}.gacha-reveal-container{width:min(94vw,760px)}.gacha-reveal-scene{padding:clamp(22px,4vw,38px)!important;background:radial-gradient(circle at 50% 42%,rgba(105,218,255,.22),transparent 34%),radial-gradient(circle at 22% 18%,rgba(255,214,101,.18),transparent 30%),linear-gradient(180deg,#17325f,#091a39)!important;overflow:hidden}.gacha-reveal-scene:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.18);border-radius:18px;pointer-events:none}.gacha-stars{background-image:radial-gradient(circle,rgba(255,255,255,.52) 0 1.1px,transparent 1.2px),radial-gradient(circle,rgba(111,231,190,.42) 0 1.2px,transparent 1.3px),radial-gradient(circle,rgba(255,214,101,.44) 0 1px,transparent 1.1px);background-size:72px 72px,106px 106px,134px 134px;opacity:.75;animation:crystal-star-drift 18s linear infinite}.gacha-animation-container{min-height:clamp(300px,45vh,420px);margin:2px 0 8px}.gacha-capsule-wobble{width:clamp(140px,26vw,210px);height:clamp(140px,26vw,210px);animation:crystal-capsule-summon 3.25s cubic-bezier(.18,.82,.24,1) forwards!important}.gacha-capsule-img{filter:drop-shadow(0 8px 0 rgba(23,50,95,.18)) drop-shadow(0 18px 24px rgba(0,0,0,.28)) saturate(1.08)}.is-legendary-draw .gacha-capsule-wobble{animation:crystal-capsule-summon 3.25s cubic-bezier(.18,.82,.24,1) forwards,legendary-capsule-breath 1.05s ease-in-out .4s 2 alternate!important}.is-legendary-draw .gacha-capsule-img{filter:drop-shadow(0 8px 0 rgba(117,82,12,.22)) drop-shadow(0 0 18px rgba(255,216,93,.7)) saturate(1.18)!important}.gacha-reveal-card{animation:crystal-prize-card-enter .82s cubic-bezier(.18,.82,.24,1) 2.65s forwards!important}.gacha-prize-card{border-width:3px!important;background:linear-gradient(180deg,#fff8d7,#fff 72%),radial-gradient(circle at 50% 16%,rgba(111,231,190,.22),transparent 40%)!important;box-shadow:0 8px #17325feb,0 24px 42px #00000047!important}.gacha-prize-pet{animation:gacha-prize-hover 2.7s ease-in-out infinite;filter:drop-shadow(0 10px 16px rgba(23,50,95,.24))}.current-pet-empty{gap:14px;background:linear-gradient(180deg,#fffdf4fa,#e2f7fff0),radial-gradient(circle at 50% 28%,rgba(111,231,190,.18),transparent 38%)!important}.current-pet-empty img{width:clamp(138px,22vw,190px);height:clamp(138px,22vw,190px);filter:drop-shadow(0 8px 0 rgba(23,50,95,.16)) drop-shadow(0 20px 26px rgba(23,50,95,.22));animation:empty-capsule-breathe 3.4s ease-in-out infinite}.student-pet-card .card-sprite-empty-img{width:min(72%,128px)!important;height:min(72%,128px)!important;object-fit:contain;opacity:.9;filter:drop-shadow(0 5px 0 rgba(23,50,95,.14)) drop-shadow(0 12px 18px rgba(23,50,95,.18))}@keyframes gacha-machine-breathe{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(-8px) scale(1.012)}70%{transform:translateY(-3px) scale(1.006)}}@keyframes crystal-star-drift{0%{background-position:0 0,20px 40px,70px 10px}to{background-position:80px 110px,-50px 130px,140px -70px}}@keyframes crystal-capsule-summon{0%{opacity:0;transform:translateY(32px) scale(.5) rotate(-8deg);filter:blur(4px)}12%{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:blur(0)}28%{transform:translateY(-4px) scale(1.04) rotate(-5deg)}42%{transform:translateY(0) scale(1.02) rotate(4deg)}56%{transform:translateY(-3px) scale(1.04) rotate(-3deg)}68%{transform:translateY(0) scale(1.02) rotate(2deg)}78%{transform:translateY(-4px) scale(1.08) rotate(0);opacity:1}88%{transform:translateY(-10px) scale(1.24) rotate(0);opacity:.84;filter:brightness(1.45)}to{transform:translateY(-16px) scale(1.78) rotate(0);opacity:0;filter:brightness(2.6) blur(2px)}}@keyframes legendary-capsule-breath{0%{filter:drop-shadow(0 0 10px rgba(255,216,93,.44))}to{filter:drop-shadow(0 0 26px rgba(255,216,93,.82))}}@keyframes crystal-prize-card-enter{0%{opacity:0;transform:translateY(18px) scale(.78);filter:blur(8px)}64%{opacity:1;transform:translateY(-4px) scale(1.03);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes gacha-prize-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes empty-capsule-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.035)}}@media(max-width:760px){.student-game-console .console-gacha-layout{grid-template-columns:1fr!important}.student-game-console .console-gacha-stage,.student-game-console .console-action-panel{min-height:auto}}body.pokemon-theme{background:linear-gradient(120deg,#fff8d7f0,#e0f7ffe6 54%,#ffe8dde6),url(./assets/ui/classroom_home_bg.png) center top / cover fixed!important}.pokemon-theme .cm-topbar,.pokemon-theme .topbar{background:linear-gradient(90deg,#fff8d7fa,#fff8d7e6 52%,#fff8d742),url(./assets/ui/classroom_home_bg.png) center / cover!important}.pokemon-theme .cm-main:after{background:url(./assets/ui/classroom_home_bg.png) center / cover}.pokemon-theme .funfun-site-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px clamp(14px,2vw,24px) clamp(14px,2vw,22px);padding:14px clamp(14px,2vw,20px);border:4px solid #17325f;border-radius:20px;background:radial-gradient(circle at 16% 20%,rgba(255,207,79,.55) 0 9%,transparent 10%),linear-gradient(180deg,#ff7666,#e8483d);color:#fff8d7;box-shadow:0 8px #17325f,0 18px 34px #17325f2e}.pokemon-theme .funfun-footer-credit{font-size:clamp(16px,1.8vw,22px);font-weight:950;letter-spacing:0;text-shadow:0 3px 0 rgba(23,50,95,.45)}.pokemon-theme .funfun-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pokemon-theme .funfun-footer-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border:3px solid #17325f;border-radius:999px;background:#fffdf0;color:#17325f;font-size:14px;font-weight:950;text-decoration:none;box-shadow:0 4px #17325f;transition:transform .16s ease,box-shadow .16s ease}.pokemon-theme .funfun-footer-button.is-support{background:#ffcf4f}.pokemon-theme .funfun-footer-button:hover{transform:translateY(-2px);box-shadow:0 6px #17325f}.pokemon-theme .cm-app-shell.has-student-console .funfun-site-footer{display:none}.pokemon-theme .ai-tools-select-field:after{width:30px;height:30px;right:16px;border:0;border-radius:0;background:url(./assets/ui/crystal_icon.png) center / contain no-repeat;box-shadow:none;transform:translateY(-50%) rotate(-8deg);filter:drop-shadow(0 2px 0 rgba(23,50,95,.35)) drop-shadow(0 8px 12px rgba(42,129,214,.22))}.pokemon-theme .ai-tools-select-field:before{display:none}.pokemon-theme .ai-tool-card-icon{border-radius:14px;background:radial-gradient(circle at 36% 26%,rgba(255,255,255,.9) 0 13%,transparent 14%),linear-gradient(145deg,#fffdf0,#dff8ff 52%,#c9f3de)}.pokemon-theme .ai-tool-card-icon.is-featured{background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.95) 0 13%,transparent 14%),linear-gradient(145deg,#fff4a8,#bdf6e1 58%,#dff5ff)}.pokemon-theme .ai-tool-card-icon svg{stroke-width:2.5}.student-game-console .pet-reveal-card,.gacha-overlay-backdrop .pet-reveal-card{position:relative;overflow:hidden;border:4px solid #17325f!important;border-radius:30px!important;padding:16px 16px 18px!important;background:radial-gradient(circle at 50% 36%,rgba(255,207,79,.34) 0 22%,transparent 23%),linear-gradient(180deg,#fffdf0,#e6f7ff 48%,#d8f4df)!important;box-shadow:0 10px #17325f,0 18px 34px #17325f3d!important}.student-game-console .pet-reveal-card:before,.gacha-overlay-backdrop .pet-reveal-card:before{content:"";position:absolute;inset:0 0 auto;height:74px;background:linear-gradient(100deg,rgba(255,255,255,.78),transparent 36%),repeating-linear-gradient(90deg,#ffcf4f47 0 10px,#ffffff05 10px 22px);pointer-events:none}.student-game-console .pet-reveal-card:after,.gacha-overlay-backdrop .pet-reveal-card:after{content:"";position:absolute;inset:10px;border:1px solid rgba(23,50,95,.18);border-radius:24px;pointer-events:none}.student-game-console .pet-reveal-card>*,.gacha-overlay-backdrop .pet-reveal-card>*{position:relative;z-index:1}.student-game-console .pet-reveal-card .pet-showcase,.gacha-overlay-backdrop .pet-reveal-card .pet-showcase{min-height:164px;margin:14px 0 6px;border:2px solid rgba(23,50,95,.16);border-radius:24px;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.95) 0 28%,rgba(255,207,79,.28) 29% 48%,transparent 49%),linear-gradient(180deg,#ffffff9e,#ffffff3d)}.student-game-console .pet-reveal-card h4,.gacha-overlay-backdrop .pet-reveal-card h4{color:#17325f;font-size:1.32rem!important;letter-spacing:0}.student-game-console .pet-type-badge,.gacha-overlay-backdrop .pet-type-badge{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 11px 5px 7px;border:3px solid #17325f;border-radius:999px;color:#17325f!important;background:linear-gradient(180deg,#fffdf0,#e9f8ff);font-size:.82rem!important;font-weight:950;line-height:1;text-shadow:none!important;box-shadow:0 3px #17325f}.student-game-console .pet-type-icon,.gacha-overlay-backdrop .pet-type-icon{flex:0 0 auto;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.student-game-console .pet-type-badge.tone-\706b {background:linear-gradient(180deg,#fff1cf,#ffd0bd)}.student-game-console .pet-type-badge.tone-\6c34 {background:linear-gradient(180deg,#e3f7ff,#bde8ff)}.student-game-console .pet-type-badge.tone-\8349 {background:linear-gradient(180deg,#e7ffd8,#bdf0ca)}.student-game-console .pet-type-badge.tone-\96fb ,.student-game-console .pet-type-badge.tone-\96f7 {background:linear-gradient(180deg,#fff9b9,#ffe27a)}.student-game-console .pet-type-badge.tone-\51b0 {background:linear-gradient(180deg,#f3fdff,#c8f4ff)}.student-game-console .pet-type-badge.tone-\9f8d {background:linear-gradient(180deg,#f0e8ff,#d5c7ff)}.student-game-console .pet-type-badge.tone-\5e7d\9748 ,.student-game-console .pet-type-badge.tone-\60e1 ,.student-game-console .pet-type-badge.tone-\6697\5f71 {background:linear-gradient(180deg,#ede7ff,#cfc8e8)}.student-game-console .pet-type-badge.tone-\8d85\80fd\529b ,.student-game-console .pet-type-badge.tone-\5996 ,.student-game-console .pet-type-badge.tone-\5996\7cbe {background:linear-gradient(180deg,#ffe8f7,#ffd0eb)}.student-game-console .pet-type-badge.tone-\5ca9\77f3 ,.student-game-console .pet-type-badge.tone-\5730\9762 {background:linear-gradient(180deg,#fff1d8,#e7cc9e)}.student-game-console .pet-type-badge.tone-\683c\9b25 {background:linear-gradient(180deg,#ffe1d7,#ffc0ba)}.student-game-console .pet-type-badge.tone-\6bd2 {background:linear-gradient(180deg,#f5dcff,#dfc0ff)}.student-game-console .pet-type-badge.tone-\87f2 {background:linear-gradient(180deg,#efffd1,#d1ef9a)}.student-game-console .pet-type-badge.tone-\98db\884c {background:linear-gradient(180deg,#edf9ff,#c9e9ff)}.student-game-console .pet-type-badge.tone-\92fc ,.student-game-console .pet-type-badge.tone-\92fc\9435 ,.student-game-console .pet-type-badge.tone-\6a5f\68b0 {background:linear-gradient(180deg,#f1f8fb,#cedde7)}.student-game-console .pet-type-badge.tone-\5149 {background:linear-gradient(180deg,#fff8bd,#ffe6a0)}.gacha-overlay-backdrop .pet-type-badge.tone-\706b {background:linear-gradient(180deg,#fff1cf,#ffd0bd)}.gacha-overlay-backdrop .pet-type-badge.tone-\6c34 {background:linear-gradient(180deg,#e3f7ff,#bde8ff)}.gacha-overlay-backdrop .pet-type-badge.tone-\8349 {background:linear-gradient(180deg,#e7ffd8,#bdf0ca)}.gacha-overlay-backdrop .pet-type-badge.tone-\96fb ,.gacha-overlay-backdrop .pet-type-badge.tone-\96f7 {background:linear-gradient(180deg,#fff9b9,#ffe27a)}.gacha-overlay-backdrop .pet-type-badge.tone-\51b0 {background:linear-gradient(180deg,#f3fdff,#c8f4ff)}.gacha-overlay-backdrop .pet-type-badge.tone-\9f8d {background:linear-gradient(180deg,#f0e8ff,#d5c7ff)}.gacha-overlay-backdrop .pet-type-badge.tone-\5e7d\9748 ,.gacha-overlay-backdrop .pet-type-badge.tone-\60e1 ,.gacha-overlay-backdrop .pet-type-badge.tone-\6697\5f71 {background:linear-gradient(180deg,#ede7ff,#cfc8e8)}.gacha-overlay-backdrop .pet-type-badge.tone-\8d85\80fd\529b ,.gacha-overlay-backdrop .pet-type-badge.tone-\5996 ,.gacha-overlay-backdrop .pet-type-badge.tone-\5996\7cbe {background:linear-gradient(180deg,#ffe8f7,#ffd0eb)}.gacha-overlay-backdrop .pet-type-badge.tone-\5ca9\77f3 ,.gacha-overlay-backdrop .pet-type-badge.tone-\5730\9762 {background:linear-gradient(180deg,#fff1d8,#e7cc9e)}.gacha-overlay-backdrop .pet-type-badge.tone-\683c\9b25 {background:linear-gradient(180deg,#ffe1d7,#ffc0ba)}.gacha-overlay-backdrop .pet-type-badge.tone-\6bd2 {background:linear-gradient(180deg,#f5dcff,#dfc0ff)}.gacha-overlay-backdrop .pet-type-badge.tone-\87f2 {background:linear-gradient(180deg,#efffd1,#d1ef9a)}.gacha-overlay-backdrop .pet-type-badge.tone-\98db\884c {background:linear-gradient(180deg,#edf9ff,#c9e9ff)}.student-game-console .boss-adventure-card.is-defeated .boss-stage img{filter:grayscale(1) opacity(.5);animation:none}.student-game-console .boss-defeated-stamp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);background:#000000b3;color:#fff;padding:12px 24px;font-size:24px;font-weight:800;border:3px solid #fff;border-radius:8px;text-shadow:2px 2px 4px rgba(0,0,0,.8);letter-spacing:2px;box-shadow:0 4px 15px #00000080;z-index:10;pointer-events:none}.gacha-overlay-backdrop .pet-type-badge.tone-\92fc ,.gacha-overlay-backdrop .pet-type-badge.tone-\92fc\9435 ,.gacha-overlay-backdrop .pet-type-badge.tone-\6a5f\68b0 {background:linear-gradient(180deg,#f1f8fb,#cedde7)}.gacha-overlay-backdrop .pet-type-badge.tone-\5149 {background:linear-gradient(180deg,#fff8bd,#ffe6a0)}.student-game-console .adventure-console-page{gap:16px}.student-game-console .adventure-grid{grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);align-items:stretch}.student-game-console .adventure-card{border:4px solid #17325f;border-radius:24px;overflow:hidden;box-shadow:0 8px #17325f,0 20px 38px #17325f38}.student-game-console .boss-adventure-card,.student-game-console .expedition-adventure-card{background:linear-gradient(180deg,#07142da3,#07142de6),url(./assets/expedition/adventure_scene_bg.png) center / cover!important}.student-game-console .boss-stage{display:grid;grid-template-columns:minmax(118px,180px) minmax(0,1fr);gap:14px;align-items:center;min-width:0;padding:12px;border-radius:22px;background:#040f2270;border:2px solid rgba(255,255,255,.14)}.student-game-console .boss-stage img{width:clamp(118px,18vw,178px);max-width:100%}.student-game-console .expedition-adventure-card{display:grid;grid-template-rows:auto auto auto auto;gap:12px}.student-game-console .expedition-game-thumbnail{min-height:0;height:auto;aspect-ratio:16 / 10;border-radius:22px;border:4px solid #17325f;box-sizing:border-box;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff38}.student-game-console .expedition-game-thumbnail,.student-game-console .expedition-game-thumbnail *{box-sizing:border-box;max-width:100%}.student-game-console .expedition-game-thumbnail>img:first-child{width:100%!important;height:100%!important;transform:none!important}.student-game-console .expedition-game-thumbnail:after{background:linear-gradient(90deg,rgba(5,14,33,.72),transparent 54%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 44%)}.student-game-console .expedition-thumb-overlay{max-width:calc(100% - 28px);left:14px;top:14px}.student-game-console .expedition-thumb-overlay strong{font-size:clamp(1.35rem,3.2vw,2.2rem)}.student-game-console .expedition-pet-thumbs{left:14px;right:14px;bottom:12px;justify-content:flex-end;align-items:flex-end;min-width:0;max-width:calc(100% - 28px);box-sizing:border-box;overflow:hidden}.student-game-console .expedition-pet-thumbs img{flex:0 0 auto;width:clamp(34px,4.4vw,48px);height:clamp(34px,4.4vw,48px);object-fit:contain}.student-game-console .expedition-game-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-game-console .expedition-game-rewards span{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:38px;padding:7px 9px;border:3px solid #17325f;border-radius:999px;background:#fff8d7;color:#17325f;font-size:clamp(.8rem,1.6vw,.95rem);text-align:center;box-shadow:0 3px #17325f}.student-game-console .expedition-button{width:100%;justify-self:stretch}.student-game-console .expedition-animation-modal{width:min(96vw,740px);max-height:min(92vh,780px);overflow:hidden auto;padding:clamp(14px,2vw,20px);border-radius:26px}.student-game-console .expedition-wild-scene{min-height:clamp(300px,48vh,440px);border-radius:24px;background:linear-gradient(180deg,#ffffff14,#030c1c1a),url(./assets/expedition/adventure_scene_bg.png) center / cover!important}.student-game-console .expedition-travel-pet{width:clamp(78px,13vw,112px);max-width:112px}.student-game-console .expedition-travel-pet img{max-width:100%;object-fit:contain}.student-game-console .expedition-travel-pet>span:not(.expedition-pet-shadow){max-width:100%;padding:4px 7px;white-space:normal;overflow-wrap:anywhere;text-align:center}.student-game-console .expedition-chest img{max-width:min(150px,26vw)}.student-game-console .boss-attack-pet img,.student-game-console .boss-attack-target img{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--pet-attribute-glow, #ffcf4f) 62%,transparent)) drop-shadow(0 7px 0 rgba(23,50,95,.2))}.student-game-console .battle-projectile{width:13px;height:13px;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--pet-attribute-glow, #ffcf4f) 64%,transparent)) drop-shadow(0 0 2px rgba(255,255,255,.9))}.student-game-console .battle-projectile:after{content:"";position:absolute;top:50%;right:8px;width:52px;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),currentColor);transform:translateY(-50%)}.student-game-console .boss-hit-burst{border-width:2px;box-shadow:0 0 0 2px #ffffff94,0 0 24px color-mix(in srgb,var(--pet-attribute-glow, #ffcf4f) 54%,transparent)}@media(max-width:860px){.student-game-console .adventure-grid{grid-template-columns:1fr!important}.student-game-console .boss-stage{grid-template-columns:minmax(92px,130px) minmax(0,1fr)}.student-game-console .expedition-game-rewards{grid-template-columns:1fr}.pokemon-theme .funfun-site-footer,.pokemon-theme .funfun-footer-actions{align-items:stretch;justify-content:stretch}.pokemon-theme .funfun-footer-actions,.pokemon-theme .funfun-footer-button{width:100%}}.pokemon-theme #app,.pokemon-theme .manager-shell{min-height:100vh}.pokemon-theme .cm-app-shell:not(.has-student-console){min-height:calc(100vh - 24px);align-items:stretch;margin-bottom:0}.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-main{display:flex;flex-direction:column;min-height:calc(100vh - 48px)}.pokemon-theme .cm-app-shell:not(.has-student-console) .funfun-site-footer{grid-column:1 / -1;width:100%;margin:0;align-self:end}.boss-hp-track{overflow:hidden;background:#17325f33}.boss-hp-fill{min-width:0;background:linear-gradient(90deg,#55d675,#ffd95a 62%,#f45f55)!important;transition:width .42s ease}.student-game-console .current-pet-hero-img.is-legendary-pet{transform:scale(1.28);transform-origin:center bottom;max-width:min(80%,310px)}.student-game-console .console-player-card img.is-legendary-pet,.student-pet-card .card-sprite-container img.is-legendary-pet{transform:scale(1.32);transform-origin:center bottom}.student-game-console .eq-popup-item-info img.is-legendary-pet{transform:scale(1.35);transform-origin:center}.student-game-console .expedition-pet-choice.has-legendary-pet img,.student-game-console .expedition-pet-thumbs img.is-legendary-pet{transform:scale(1.45);transform-origin:center bottom}.student-game-console .expedition-travel-pet.has-legendary-pet{width:clamp(118px,18vw,164px);max-width:164px}.student-game-console .expedition-travel-pet.has-legendary-pet img{transform:scale(1.12);transform-origin:center bottom}.student-game-console .legendary-glow.is-legendary-pet,.student-game-console img.is-legendary-pet.legendary-glow{filter:drop-shadow(0 0 8px rgba(255,216,94,.46)) drop-shadow(0 8px 12px rgba(23,50,95,.2))}.student-game-console .boss-attack-stage{isolation:isolate}.student-game-console .boss-attack-pet,.student-game-console .boss-attack-target{position:absolute;top:50%;display:grid;place-items:center;align-content:end}.student-game-console .boss-attack-pet{left:clamp(42px,10vw,92px);width:clamp(150px,22vw,210px);min-height:clamp(160px,27vw,230px);padding-bottom:40px;transform:translateY(-46%)}.student-game-console .boss-attack-target{right:clamp(34px,7vw,78px);width:clamp(230px,31vw,330px);min-height:clamp(220px,33vw,350px);transform:translateY(-48%)}.student-game-console .boss-attack-pet img{width:clamp(92px,14vw,128px);max-height:138px;object-fit:contain;transform-origin:center bottom}.student-game-console .boss-attack-pet.has-legendary-pet img{width:clamp(132px,18vw,178px);max-height:184px}.student-game-console .boss-attack-target img{width:clamp(215px,27vw,306px);max-height:326px;object-fit:contain}.student-game-console .boss-attack-pet strong{position:absolute;left:50%;bottom:8px;z-index:8;max-width:min(9.5em,100%);padding:5px 10px;border:2px solid rgba(23,50,95,.9);border-radius:999px;background:#fffdf0f0;color:#17325f;font-size:clamp(12px,1.35vw,15px);line-height:1.15;text-align:center;white-space:normal;overflow-wrap:anywhere;transform:translate(-50%)}.student-game-console .boss-attack-pet img,.student-game-console .boss-attack-target img{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--pet-attribute-glow, #ffcf4f) 56%,transparent)) drop-shadow(0 0 1px rgba(255,255,255,.7)) drop-shadow(0 9px 0 rgba(23,50,95,.16))}.student-game-console .battle-projectile{width:8px;height:8px;opacity:.92;animation-duration:2.15s!important;animation-timing-function:cubic-bezier(.22,.7,.22,1)!important}.student-game-console .battle-projectile:after{right:5px;width:38px;height:2px;opacity:.72}.student-game-console .battle-slash{opacity:.58;animation-duration:2.15s!important}.student-game-console .boss-hit-burst{width:38px;height:38px;border-width:2px;opacity:0}.student-game-console .boss-impact-shockwave{opacity:0}.student-game-console .battle-finish-overlay{position:absolute;inset:0;z-index:18;display:grid;place-content:center;gap:8px;padding:24px;border-radius:inherit;background:#030918b8;color:#fff8d7;text-align:center;opacity:0;animation:battle-finish-card-in .58s ease 2.75s forwards}.student-game-console .battle-finish-overlay strong{font-size:clamp(24px,4vw,40px);font-weight:950}.student-game-console .battle-finish-overlay span{font-size:clamp(16px,2vw,22px);font-weight:900}.student-game-console .boss-attack-modal>.game-btn{align-self:center;min-width:172px;margin:12px auto 0}.student-game-console .expedition-wild-scene{isolation:isolate;overflow:hidden}.student-game-console .expedition-light-rays{z-index:1}.student-game-console .expedition-bg-back{z-index:0}.student-game-console .expedition-bg-mid{z-index:2}.student-game-console .expedition-ground{z-index:3}.student-game-console .expedition-dust-lane{z-index:4}.student-game-console .expedition-travel-pet{z-index:6}.student-game-console .expedition-chest{z-index:7}.student-game-console .expedition-foreground-leaves{z-index:9}.student-game-console .expedition-travel-pet img{filter:drop-shadow(0 6px 0 rgba(23,50,95,.16)) drop-shadow(0 16px 18px rgba(0,0,0,.22))}.student-game-console .expedition-pet-shadow{opacity:.34}.student-game-console .expedition-animation-modal.is-result .expedition-wild-scene{min-height:clamp(240px,38vh,340px)}.student-game-console .expedition-result-panel{display:grid;gap:12px;padding:16px;border:3px solid #17325f;border-radius:20px;background:radial-gradient(circle at 12% 18%,rgba(255,207,79,.34),transparent 28%),linear-gradient(180deg,#fffdf0,#e9f8ff);color:#17325f;box-shadow:0 6px #17325f,0 18px 28px #17325f29}.student-game-console .expedition-result-title{display:flex;align-items:end;justify-content:space-between;gap:10px}.student-game-console .expedition-result-title span{color:#f45f55;font-size:12px;font-weight:950}.student-game-console .expedition-result-title strong{font-size:clamp(24px,3vw,34px);color:#17325f}.expedition-effect-backdrop .expedition-reward-cards,.student-game-console .expedition-reward-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.expedition-effect-backdrop .expedition-reward-card,.student-game-console .expedition-reward-card{min-height:86px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:2px solid rgba(23,50,95,.32);border-radius:16px;background:#ffffffb8}.expedition-effect-backdrop .expedition-reward-card img,.student-game-console .expedition-reward-card img{width:56px;height:56px;object-fit:contain}.expedition-effect-backdrop .expedition-reward-card span,.student-game-console .expedition-reward-card span{color:#496b95;font-size:12px;font-weight:900}.expedition-effect-backdrop .expedition-reward-card strong,.student-game-console .expedition-reward-card strong{display:block;color:#17325f;font-size:clamp(16px,2vw,22px);line-height:1.15;overflow-wrap:anywhere}.student-game-console .gacha-card-type,.gacha-overlay-backdrop .gacha-card-type{max-width:78px;min-height:28px;padding:4px 7px;gap:4px;font-size:.68rem!important;line-height:1.05;white-space:normal;overflow-wrap:anywhere}.student-game-console .gacha-card-type .pet-type-icon,.gacha-overlay-backdrop .gacha-card-type .pet-type-icon{width:15px;height:15px;flex:0 0 15px}.student-game-console .gacha-prize-card>div:first-child,.gacha-overlay-backdrop .gacha-prize-card>div:first-child{gap:8px}.current-pet-empty>img{width:clamp(68px,11vw,96px)!important;height:clamp(68px,11vw,96px)!important;animation:none!important;transform:none!important}.student-pet-card .card-sprite-empty-img{width:min(40%,64px)!important;height:min(40%,64px)!important;animation:none!important}@keyframes battle-finish-card-in{0%{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@media(max-width:740px){.student-game-console .boss-attack-pet{left:18px;width:38vw}.student-game-console .boss-attack-target{right:10px;width:52vw}.student-game-console .expedition-reward-cards{grid-template-columns:1fr}}.pokemon-theme .pet-teacher-ops-content{overflow:visible}.pokemon-theme .adventure-teacher-panel-v2{overflow:visible;display:grid;gap:14px;padding:clamp(16px,2.2vw,24px)}.pokemon-theme .adventure-teacher-panel-v2 .pet-panel-head{min-height:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 0 12px;border-bottom:3px solid rgba(255,207,79,.35)}.pokemon-theme .adventure-teacher-panel-v2 .pet-panel-head h3{margin:0;font-size:clamp(1.45rem,2.3vw,2.2rem);line-height:1.1}.pokemon-theme .adventure-status-badge{flex:0 0 auto;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border:4px solid #17325f;border-radius:16px;background:#ffcf4f;color:#17325f;box-shadow:0 6px #17325f;font-size:clamp(1rem,1.6vw,1.35rem);font-weight:950;white-space:nowrap}.pokemon-theme .adventure-status-badge.is-off{background:#eef4ff;color:#496b95}.pokemon-theme .adventure-control-dashboard{min-width:0;display:grid;gap:14px}.pokemon-theme .adventure-boss-overview-v2{min-width:0;display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:2px solid rgba(23,50,95,.22);border-radius:18px;background:radial-gradient(circle at 8% 20%,rgba(255,207,79,.34),transparent 28%),linear-gradient(135deg,#fffdf0f0,#e8f8ffcc)}.pokemon-theme .adventure-boss-art-v2{width:132px;height:132px;display:grid;place-items:center;overflow:hidden;border-radius:18px;background:#ffffffb8;box-shadow:inset 0 0 0 2px #17325f14}.pokemon-theme .adventure-boss-art-v2 img{width:118px;height:118px;object-fit:contain}.pokemon-theme .adventure-boss-copy-v2{min-width:0;display:grid;gap:6px}.pokemon-theme .adventure-boss-copy-v2 span,.pokemon-theme .adventure-boss-copy-v2 em,.pokemon-theme .adventure-field-card span,.pokemon-theme .adventure-toggle-card span{color:#5c7da8;font-weight:900}.pokemon-theme .adventure-boss-copy-v2 span,.pokemon-theme .adventure-field-card span,.pokemon-theme .adventure-toggle-card span{font-size:.88rem}.pokemon-theme .adventure-boss-copy-v2 strong{min-width:0;color:#17325f;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.1;font-weight:950;overflow-wrap:anywhere}.pokemon-theme .adventure-boss-copy-v2 em{font-style:normal;line-height:1.35;overflow-wrap:anywhere}.pokemon-theme .adventure-summary-v2{min-width:0;grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}.pokemon-theme .adventure-summary-v2>div{min-width:0;min-height:78px;display:grid;align-content:center;gap:3px;padding:10px 12px;border:2px solid rgba(23,50,95,.16);border-radius:14px;background:#ffffffb8}.pokemon-theme .adventure-summary-v2 span{color:#5c7da8;font-size:clamp(.76rem,1.1vw,.9rem);line-height:1.15;font-weight:900;white-space:normal}.pokemon-theme .adventure-summary-v2 strong{color:#ff6b60;font-size:clamp(1.35rem,2vw,2rem);line-height:1;font-weight:950;overflow-wrap:anywhere}.pokemon-theme .adventure-config-board{min-width:0;display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) repeat(2,minmax(132px,.58fr));gap:12px;align-items:stretch}.pokemon-theme .adventure-toggle-card,.pokemon-theme .adventure-field-card{min-width:0;min-height:104px;box-sizing:border-box;border:2px solid rgba(23,50,95,.18);border-radius:18px;background:#ffffffc7}.pokemon-theme .adventure-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px}.pokemon-theme .adventure-toggle-card>div{min-width:0;display:grid;gap:4px}.pokemon-theme .adventure-toggle-card strong{color:#17325f;font-size:1.2rem;line-height:1.1;font-weight:950}.pokemon-theme .adventure-toggle-card em{color:#6b89ae;font-size:.82rem;font-style:normal;font-weight:850;line-height:1.25}.pokemon-theme .adventure-field-card{display:grid;align-content:center;gap:8px;padding:14px}.pokemon-theme .adventure-field-card select,.pokemon-theme .adventure-field-card input{width:100%;max-width:100%;min-width:0;min-height:46px;box-sizing:border-box;padding:9px 12px;border:2px solid rgba(23,50,95,.18);border-radius:14px;background:#fffdf0;color:#17325f;font:inherit;font-size:clamp(.9rem,1.25vw,1rem);font-weight:950}.pokemon-theme .adventure-limit-field input{text-align:center}.pokemon-theme .adventure-state-v2{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto);align-items:center;gap:14px;padding:14px;border:2px solid rgba(23,50,95,.2);border-radius:18px;background:linear-gradient(135deg,#fffdf0eb,#fff8d7c2)}.pokemon-theme .adventure-state-copy{min-width:0}.pokemon-theme .adventure-state-copy strong{display:block;color:#17325f;font-size:clamp(1rem,1.55vw,1.25rem);line-height:1.2;font-weight:950;overflow-wrap:anywhere}.pokemon-theme .adventure-state-copy span{display:block;margin-top:4px;color:#4e6f9e;font-size:clamp(.82rem,1.1vw,.96rem);line-height:1.35;font-weight:900;overflow-wrap:anywhere}.pokemon-theme .adventure-state-meter{min-width:0;grid-column:1 / -1}.pokemon-theme .adventure-state-v2 .boss-hp-track{height:22px}.pokemon-theme .adventure-reset-boss-btn{width:100%;min-width:0;max-width:176px;justify-self:end;white-space:normal;line-height:1.15}@media(max-width:1180px){.pokemon-theme .adventure-boss-overview-v2{grid-template-columns:118px minmax(0,1fr)}.pokemon-theme .adventure-summary-v2{grid-column:1 / -1}}@media(max-width:980px){.pokemon-theme .adventure-config-board,.pokemon-theme .adventure-state-v2{grid-template-columns:1fr}.pokemon-theme .adventure-reset-boss-btn{max-width:none;justify-self:stretch}}@media(max-width:680px){.pokemon-theme .adventure-teacher-panel-v2 .pet-panel-head,.pokemon-theme .adventure-toggle-card{align-items:stretch;flex-direction:column}.pokemon-theme .adventure-status-badge{width:100%}.pokemon-theme .adventure-boss-overview-v2,.pokemon-theme .adventure-summary-v2{grid-template-columns:1fr!important}.pokemon-theme .adventure-boss-art-v2{width:104px;height:104px}.pokemon-theme .adventure-boss-art-v2 img{width:94px;height:94px}}html{overflow-y:auto!important}body.pokemon-theme{min-height:100dvh!important;height:auto!important;overflow-y:visible!important}.pokemon-theme #app{min-height:100dvh;display:flex;flex-direction:column;align-items:center}.pokemon-theme .cm-app-shell:not(.has-student-console){width:min(1540px,calc(100vw - 24px));min-height:0;grid-template-rows:auto;align-content:stretch;padding-bottom:0;margin:14px auto 0}.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-sidebar,.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-main{min-height:auto}.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-sidebar{min-height:calc(100dvh - 28px);height:auto}.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-main{display:flex;flex-direction:column}.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-content{flex:1 0 auto}.pokemon-theme #app>.funfun-site-footer{width:min(1540px,calc(100vw - 24px));margin:18px auto 14px;flex:0 0 auto;box-sizing:border-box}.student-game-console .adventure-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr))!important}.student-game-console .adventure-card,.student-game-console .boss-adventure-card,.student-game-console .expedition-adventure-card{min-width:0}.student-game-console .boss-stage{position:relative;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:clamp(10px,1.8vw,18px)}.student-game-console .boss-stage img{width:clamp(150px,22vw,230px);max-height:250px;justify-self:center}.student-game-console .boss-hp-panel,.student-game-console .boss-hp-copy,.student-game-console .boss-hp-copy strong{min-width:0}.student-game-console .boss-hp-copy{flex-wrap:wrap}.student-game-console .boss-hp-copy strong{overflow-wrap:anywhere}.student-game-console .adventure-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-game-console .adventure-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-game-console .adventure-actions .game-btn{min-width:0;width:100%;white-space:normal}.student-game-console .expedition-game-thumbnail{min-width:0;aspect-ratio:16 / 9}.student-game-console .expedition-thumb-overlay{max-width:min(62%,260px)}.student-game-console .expedition-pet-thumbs{left:auto;right:12px;bottom:10px;max-width:calc(100% - 24px);min-height:66px;align-items:center;justify-content:flex-end;gap:6px;padding:6px 8px;overflow:visible}.student-game-console .expedition-pet-thumbs img{width:clamp(38px,4.8vw,52px);height:clamp(38px,4.8vw,52px)}.student-game-console .expedition-pet-thumbs img.is-legendary-pet{width:clamp(54px,6.6vw,70px);height:clamp(54px,6.6vw,70px);transform:none}.student-game-console .boss-attack-modal{width:min(96vw,860px);overflow:hidden}.student-game-console .boss-attack-stage{min-height:clamp(340px,44vw,430px);grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);padding:clamp(30px,4vw,42px) clamp(20px,3.6vw,36px) clamp(26px,3vw,34px)}.student-game-console .boss-attack-pet{left:clamp(28px,7vw,84px);width:clamp(150px,22vw,240px);min-height:clamp(170px,28vw,250px);padding-bottom:0}.student-game-console .boss-attack-target{right:clamp(18px,4.8vw,66px);width:clamp(260px,36vw,420px);min-height:clamp(250px,38vw,420px)}.student-game-console .boss-attack-pet strong{display:none!important}.student-game-console .boss-attack-pet img{width:clamp(112px,16vw,160px);max-height:174px}.student-game-console .boss-attack-pet.has-legendary-pet img{width:clamp(152px,22vw,226px);max-height:236px}.student-game-console .boss-attack-target img{width:clamp(260px,34vw,392px);max-height:402px}.student-game-console .pet-command-ring{width:clamp(126px,20vw,210px);height:clamp(126px,20vw,210px)}.student-game-console .boss-target-ring{width:clamp(270px,36vw,430px);height:clamp(270px,36vw,430px)}.student-game-console .battle-projectile{left:25%;top:44%}.student-game-console .battle-damage-number{right:clamp(18px,4vw,54px)}.student-game-console .expedition-wild-scene{min-height:clamp(330px,46vw,420px)}.student-game-console .expedition-travel-pet{bottom:62px!important;width:clamp(92px,14vw,132px);height:clamp(108px,16vw,150px);display:flex;align-items:flex-end;justify-content:center;transform-origin:center bottom}.student-game-console .expedition-travel-pet img{width:clamp(86px,12vw,118px);height:clamp(86px,12vw,118px);object-fit:contain}.student-game-console .expedition-travel-pet.has-legendary-pet{width:clamp(124px,18vw,172px);height:clamp(134px,19vw,190px)}.student-game-console .expedition-travel-pet.has-legendary-pet img{width:clamp(120px,17vw,164px);height:clamp(120px,17vw,164px);transform:none}.student-game-console .expedition-pet-shadow{bottom:2px}.student-game-console .expedition-pet-name{display:none}.student-game-console .pet-pos-0{left:8%;bottom:62px!important}.student-game-console .pet-pos-1{left:34%;bottom:62px!important}.student-game-console .pet-pos-2{left:58%;bottom:62px!important}.battle-effect-backdrop .boss-attack-modal{width:min(98vw,1200px);height:clamp(500px,90vh,1000px);max-height:98vh;display:flex;flex-direction:column}.battle-effect-backdrop .boss-attack-stage{flex:1;min-height:300px;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);padding:30px 40px;align-items:flex-end}.battle-effect-backdrop .boss-attack-pet{left:0;width:100%;height:100%;padding-bottom:0;display:flex;align-items:flex-end;justify-content:center}.battle-effect-backdrop .boss-attack-target{right:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}.battle-effect-backdrop .boss-attack-pet strong{display:none!important}.battle-effect-backdrop .boss-attack-pet img{width:auto;height:auto;max-width:100%;max-height:75%;object-fit:contain;object-position:bottom center}.battle-effect-backdrop .boss-attack-pet.pet-stage-1 img{max-height:45%}.battle-effect-backdrop .boss-attack-pet.pet-stage-2 img{max-height:60%}.battle-effect-backdrop .boss-attack-pet.pet-stage-3 img{max-height:75%}.battle-effect-backdrop .boss-attack-pet.has-legendary-pet img{max-height:90%}.battle-effect-backdrop .boss-attack-target img{width:auto;height:auto;max-width:100%;max-height:95%;object-fit:contain;object-position:bottom center}.battle-effect-backdrop .pet-command-ring{width:clamp(126px,20vw,210px);height:clamp(126px,20vw,210px)}.battle-effect-backdrop .boss-target-ring{width:clamp(270px,36vw,430px);height:clamp(270px,36vw,430px)}.battle-effect-backdrop .battle-projectile{left:25%;top:44%}.battle-effect-backdrop .battle-damage-number{right:clamp(18px,4vw,54px)}.expedition-effect-backdrop .expedition-wild-scene{min-height:clamp(330px,46vw,420px)}.expedition-effect-backdrop .expedition-travel-pet{bottom:62px!important;width:clamp(92px,14vw,132px);height:clamp(108px,16vw,150px);display:flex;align-items:flex-end;justify-content:center;transform-origin:center bottom}.expedition-effect-backdrop .expedition-travel-pet img{width:clamp(86px,12vw,118px);height:clamp(86px,12vw,118px);object-fit:contain}.expedition-effect-backdrop .expedition-travel-pet.pet-stage-1{width:clamp(55px,8vw,79px);height:clamp(65px,10vw,90px)}.expedition-effect-backdrop .expedition-travel-pet.pet-stage-1 img{width:clamp(52px,7vw,71px);height:clamp(52px,7vw,71px)}.expedition-effect-backdrop .expedition-travel-pet.pet-stage-2{width:clamp(74px,11vw,106px);height:clamp(86px,13vw,120px)}.expedition-effect-backdrop .expedition-travel-pet.pet-stage-2 img{width:clamp(69px,9vw,94px);height:clamp(69px,9vw,94px)}.expedition-effect-backdrop .expedition-travel-pet.has-legendary-pet{width:clamp(124px,18vw,172px);height:clamp(134px,19vw,190px)}.expedition-effect-backdrop .expedition-travel-pet.has-legendary-pet img{width:clamp(120px,17vw,164px);height:clamp(120px,17vw,164px);transform:none}.expedition-effect-backdrop .expedition-pet-shadow{bottom:2px}.expedition-effect-backdrop .expedition-pet-name{display:none!important}.expedition-effect-backdrop .pet-pos-0{left:8%;bottom:62px!important}.expedition-effect-backdrop .pet-pos-1{left:34%;bottom:62px!important}.expedition-effect-backdrop .pet-pos-2{left:58%;bottom:62px!important}@media(max-width:760px){.student-game-console .boss-stage{grid-template-columns:1fr}.student-game-console .boss-stage img{width:min(68vw,240px)}.student-game-console .adventure-actions,.student-game-console .adventure-stat-grid{grid-template-columns:1fr}.student-game-console .expedition-thumb-overlay{max-width:calc(100% - 28px)}.student-game-console .expedition-pet-thumbs{left:12px;justify-content:center}}@media(max-width:640px){.student-game-console .boss-attack-modal,.student-game-console .expedition-animation-modal,.battle-effect-backdrop .boss-attack-modal,.expedition-effect-backdrop .expedition-animation-modal{width:min(96vw,540px);max-height:92vh;overflow:auto}.student-game-console .boss-attack-stage,.battle-effect-backdrop .boss-attack-stage{min-height:470px;grid-template-columns:1fr}.student-game-console .boss-attack-pet,.battle-effect-backdrop .boss-attack-pet{top:32%;left:50%;transform:translate(-50%,-50%)}.student-game-console .boss-attack-target,.battle-effect-backdrop .boss-attack-target{top:66%;left:50%;right:auto;transform:translate(-50%,-50%)}.student-game-console .boss-attack-pet img,.battle-effect-backdrop .boss-attack-pet img{width:104px;max-height:120px}.student-game-console .boss-attack-pet.has-legendary-pet img,.battle-effect-backdrop .boss-attack-pet.has-legendary-pet img{width:142px;max-height:160px}.student-game-console .boss-attack-target img,.battle-effect-backdrop .boss-attack-target img{width:min(70vw,260px);max-height:280px}.student-game-console .battle-projectile,.battle-effect-backdrop .battle-projectile{left:45%;top:46%}.student-game-console .pet-pos-0{left:4%}.student-game-console .pet-pos-1{left:31%}.student-game-console .pet-pos-2{left:57%}.expedition-effect-backdrop .pet-pos-0{left:4%}.expedition-effect-backdrop .pet-pos-1{left:31%}.expedition-effect-backdrop .pet-pos-2{left:57%}}.pokemon-theme .cm-app-shell:not(.has-student-console){align-items:start}.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-sidebar{align-self:start;min-height:auto!important;height:auto;padding-bottom:18px}@supports (height: fit-content){.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-sidebar{height:fit-content}}.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-sidebar-footer{margin-top:16px!important;position:static!important;bottom:auto!important;z-index:auto;padding-top:0;background:transparent!important;flex:0 0 auto}.pokemon-theme .cm-app-shell:not(.has-student-console) .cm-sidebar-footer .cm-button{width:100%;position:relative;z-index:1}.pokemon-theme #app>.funfun-site-footer{align-self:center;margin-top:auto}.pokemon-theme .adventure-teacher-panel-v2{max-width:100%;overflow:hidden}.pokemon-theme .adventure-control-dashboard,.pokemon-theme .adventure-boss-overview-v2,.pokemon-theme .adventure-config-board,.pokemon-theme .adventure-state-v2{width:100%;max-width:100%;box-sizing:border-box}.pokemon-theme .adventure-config-board{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))!important}.pokemon-theme .adventure-toggle-card,.pokemon-theme .adventure-field-card{overflow:hidden}.pokemon-theme .adventure-toggle-card .toggle-switch,.pokemon-theme .adventure-toggle-card [role=switch]{flex:0 0 auto}.pokemon-theme .adventure-field-card select,.pokemon-theme .adventure-field-card input{overflow:hidden;text-overflow:ellipsis}.expedition-progress-panel .expedition-result-skip-btn{min-width:148px;margin-top:4px}.expedition-effect-backdrop .expedition-animation-modal,.student-game-console .expedition-animation-modal{max-height:min(94dvh,860px);overflow:auto}.expedition-effect-backdrop .expedition-progress-panel,.expedition-effect-backdrop .expedition-result-panel,.student-game-console .expedition-progress-panel,.student-game-console .expedition-result-panel{width:100%;min-height:0!important;box-sizing:border-box;display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;justify-items:stretch!important;gap:12px;text-align:left!important}.expedition-effect-backdrop .expedition-progress-panel strong,.student-game-console .expedition-progress-panel strong{display:block;color:#17325f;font-size:clamp(18px,2vw,24px);line-height:1.15}.expedition-effect-backdrop .expedition-progress-track,.student-game-console .expedition-progress-track{width:100%!important;height:14px}.expedition-effect-backdrop .expedition-result-skip-btn,.student-game-console .expedition-result-skip-btn{justify-self:end}.expedition-effect-backdrop .expedition-result-title,.student-game-console .expedition-result-title{width:100%}.expedition-effect-backdrop .expedition-reward-cards,.student-game-console .expedition-reward-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.expedition-effect-backdrop .expedition-reward-card,.student-game-console .expedition-reward-card{min-width:0}.expedition-effect-backdrop .expedition-result-panel>em,.student-game-console .expedition-result-panel>em{justify-self:start!important;color:#496b95;font-style:normal;font-weight:900}.expedition-effect-backdrop .expedition-animation-modal>.game-btn,.student-game-console .expedition-animation-modal>.game-btn{justify-self:center;align-self:center;margin-top:auto;min-width:min(100%,220px)}.student-game-console .boss-attack-pet strong,.battle-effect-backdrop .boss-attack-pet strong{display:none!important}.student-game-console .expedition-pet-thumbs{align-items:flex-end;min-height:78px}.student-game-console .expedition-pet-thumbs img{align-self:flex-end;flex:0 0 auto;object-fit:contain;transform-origin:center bottom}.student-game-console .expedition-wild-scene,.expedition-effect-backdrop .expedition-wild-scene{--expedition-floor-line: clamp(58px, 8.4vw, 72px)}.student-game-console .expedition-travel-pet,.expedition-effect-backdrop .expedition-travel-pet{bottom:var(--expedition-floor-line)!important;align-items:flex-end}.student-game-console .pet-pos-0,.student-game-console .pet-pos-1,.student-game-console .pet-pos-2,.expedition-effect-backdrop .pet-pos-0,.expedition-effect-backdrop .pet-pos-1,.expedition-effect-backdrop .pet-pos-2{bottom:var(--expedition-floor-line)!important}.student-game-console .pet-pos-0,.expedition-effect-backdrop .pet-pos-0{left:8%}.student-game-console .pet-pos-1,.expedition-effect-backdrop .pet-pos-1{left:34%}.student-game-console .pet-pos-2,.expedition-effect-backdrop .pet-pos-2{left:58%}.student-game-console .expedition-pet-shadow,.expedition-effect-backdrop .expedition-pet-shadow{bottom:0}@media(max-width:1240px){.pokemon-theme .adventure-config-board{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.pokemon-theme .adventure-toggle-card{grid-column:1 / -1}}@media(max-width:760px){.pokemon-theme .adventure-config-board,.pokemon-theme .adventure-boss-overview-v2,.pokemon-theme .adventure-summary-v2{grid-template-columns:1fr!important}.pokemon-theme .adventure-boss-art-v2{width:112px;height:112px}.pokemon-theme .adventure-toggle-card{flex-direction:column;align-items:stretch}.expedition-effect-backdrop .expedition-reward-cards,.student-game-console .expedition-reward-cards{grid-template-columns:1fr!important}.student-game-console .expedition-wild-scene,.expedition-effect-backdrop .expedition-wild-scene{--expedition-floor-line: 54px}.student-game-console .pet-pos-0,.expedition-effect-backdrop .pet-pos-0{left:4%}.student-game-console .pet-pos-1,.expedition-effect-backdrop .pet-pos-1{left:31%}.student-game-console .pet-pos-2,.expedition-effect-backdrop .pet-pos-2{left:57%}}.student-game-console.is-low-motion,.cm-app-shell.is-low-motion .student-game-console{background:linear-gradient(135deg,#07182d,#102a42)!important}.student-game-console.is-low-motion:before,.student-game-console.is-low-motion:after,.cm-app-shell.is-low-motion .student-game-console:before,.cm-app-shell.is-low-motion .student-game-console:after,.student-game-console.is-low-motion .console-ambient-particles,.cm-app-shell.is-low-motion .student-game-console .console-ambient-particles,.student-game-console.is-low-motion .floating-particle,.student-game-console.is-low-motion .pet-feed-effect,.student-game-console.is-low-motion .legendary-sparkle-burst,.cm-app-shell.is-low-motion .student-game-console .floating-particle,.cm-app-shell.is-low-motion .student-game-console .pet-feed-effect,.cm-app-shell.is-low-motion .student-game-console .legendary-sparkle-burst{display:none!important;animation:none!important}.student-game-console.is-low-motion *,.cm-app-shell.is-low-motion .student-game-console *,.cm-app-shell.is-low-motion .adventure-modal-backdrop *,.cm-app-shell.is-low-motion .gacha-overlay-backdrop *{animation:none!important;transition:none!important;text-shadow:none!important}.cm-app-shell.is-low-motion .adventure-modal-backdrop,.cm-app-shell.is-low-motion .gacha-overlay-backdrop{backdrop-filter:none!important}body:has(.cm-app-shell.is-low-motion) .adventure-modal-backdrop *,body:has(.cm-app-shell.is-low-motion) .gacha-overlay-backdrop *{animation:none!important;transition:none!important;text-shadow:none!important}body:has(.cm-app-shell.is-low-motion) .adventure-modal-backdrop,body:has(.cm-app-shell.is-low-motion) .gacha-overlay-backdrop{backdrop-filter:none!important}.student-game-console.is-low-motion .legendary-glow,.student-game-console.is-low-motion .current-pet-hero-img,.student-game-console.is-low-motion .boss-stage img,.cm-app-shell.is-low-motion .boss-attack-target img,.cm-app-shell.is-low-motion .battle-projectile,.cm-app-shell.is-low-motion .boss-hit-burst,.cm-app-shell.is-low-motion .student-game-console .legendary-glow,.cm-app-shell.is-low-motion .student-game-console .current-pet-hero-img,.cm-app-shell.is-low-motion .student-game-console .boss-stage img{filter:none!important}
