:root{color-scheme:light;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at top left,rgba(255,185,135,.55),transparent 34%),radial-gradient(circle at top right,rgba(135,206,250,.38),transparent 28%),linear-gradient(180deg,#fff8ef,#f6fbff 44%,#fffef8);color:#3a2e2b}*{box-sizing:border-box}body{margin:0;min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#root{min-height:100vh}.app-shell{width:min(2320px,calc(100vw - 24px));margin:0 auto;padding:clamp(12px,1.4vw,24px) clamp(12px,1.6vw,28px) 48px;text-align:left}.top-nav{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:10px 12px;border-radius:24px;background:#ffffffd1;border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 40px #a673571f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.top-nav-spacer{flex:1}.top-nav-user{align-self:center;color:#7a6862;font-size:13px;font-weight:700}.top-nav-logout{margin:0;padding:8px 12px;border-radius:12px;border:1px solid rgba(190,168,160,.45)}.top-nav-item{border:0;border-radius:999px;padding:8px 12px;background:#fff8f0d9;color:#6e5c56;font:inherit;font-weight:700;cursor:pointer}.top-nav-item.active{background:linear-gradient(135deg,#ff7b54,#ff9f68);color:#fff}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,123,84,.55);outline-offset:2px}.screen-state{min-height:100vh;display:grid;place-items:center;font-size:20px}.site-footer{display:flex;justify-content:center;margin-top:28px;padding:12px 0 0;color:#8a746d;font-size:13px}.site-footer a{color:inherit;text-decoration:none}.footer-records{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 28px}.beian-link{display:inline-flex;align-items:center;gap:6px;line-height:20px}.beian-icon{width:18px;height:20px;flex:0 0 auto;object-fit:contain}.site-footer a:hover{color:#cb5e38;text-decoration:underline}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);padding:24px;border-radius:22px;background:#ffffffe6;border:1px solid rgba(255,225,197,.95);box-shadow:0 18px 36px #a6735724}.auth-card h1{margin:0 0 8px}.auth-card p{margin:0 0 16px;color:#7a6862}.auth-mode-row{display:flex;gap:10px;margin-bottom:14px}.auth-mode-row .ghost-action{flex:1}.auth-mode-row .auth-active{background:linear-gradient(135deg,#ff7b5426,#ffb57f33);border-color:#ff7b5466}.auth-notice{margin-top:12px;padding:10px 12px;border-radius:12px;background:#55c27124;color:#2f7b42;font-weight:700}.admin-user-list{display:grid;gap:12px}.admin-user-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:12px;align-items:center;padding:12px;border-radius:16px;border:1px solid rgba(255,231,212,.9);background:#fff8f0bf}.admin-user-main{display:grid;gap:4px}.admin-user-main span{color:#7a6862;font-size:13px}.admin-user-actions{display:grid;grid-template-columns:120px minmax(0,1fr) 110px;gap:10px;align-items:center}.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:16px;align-items:stretch;margin-bottom:14px}.hero h1{margin:0;font-size:clamp(30px,4.2vw,52px);line-height:1;letter-spacing:-.04em}.hero-copy-block{display:grid;align-content:center;gap:12px}.hero-kicker{color:#c9542f;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.hero-chip-row{display:flex;flex-wrap:wrap;gap:10px}.hero-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#ffffffd1;border:1px solid rgba(255,255,255,.92);box-shadow:0 10px 28px #a673571a;font-weight:700;color:#7a4f43}.hero-panel,.section-block,.stat-card,.student-card,.empty-card{background:#ffffffd1;border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 40px #a673571f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-panel{padding:18px;border-radius:28px;display:flex;flex-direction:column;justify-content:center;min-height:150px;background:radial-gradient(circle at top right,rgba(255,208,132,.34),transparent 40%),#ffffffd1}.hero-panel-label,.hero-panel-subtle{color:#7f6b65}.hero-panel-value{margin:6px 0 4px;font-size:42px;font-weight:800;line-height:1}.hero-panel-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.hero-panel-meta span{padding:8px 12px;border-radius:999px;background:#fff8f0eb;color:#7a4f43;font-size:13px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat-card{border-radius:22px;padding:22px;border-top:6px solid var(--accent)}.stat-label{color:#7a6862;margin-bottom:10px}.stat-value{font-size:34px;font-weight:800}.section-block{border-radius:28px;padding:24px;margin-bottom:22px}.panel-card{border-radius:28px;padding:24px;background:#ffffffd1;border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 40px #a673571f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.panel-card-head h3{margin:0;font-size:22px}.panel-card-head p{margin:8px 0 0;color:#7a6862;line-height:1.6}.hero-chip-action{border:0;gap:8px;cursor:pointer;font:inherit;color:#fff;background:linear-gradient(135deg,#ff7b54,#ff9562 45%,#ffb067);box-shadow:0 12px 24px #ff7e5647,inset 0 1px #ffffff59;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.hero-chip-action:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 16px 28px #ff7e5657,inset 0 1px #ffffff59}.hero-chip-action:active{transform:translateY(0);box-shadow:0 8px 16px #ff7e5642,inset 0 1px #ffffff47}.hero-chip-action-icon{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#ffffff38;font-size:12px}.hero-chip-batch-reward{background:linear-gradient(135deg,#55c271,#7fd897 45%,#a7e5ba);box-shadow:0 12px 24px #55c27147,inset 0 1px #ffffff59}.hero-chip-batch-reward:hover{box-shadow:0 16px 28px #55c27157,inset 0 1px #ffffff59}.hero-chip-batch-reward:active{box-shadow:0 8px 16px #55c2713d,inset 0 1px #ffffff47}.batch-reward-modal{display:grid;gap:14px}.batch-reward-modal p{margin:0;color:#7a6862}.batch-reward-modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}.batch-reward-option{position:relative;display:inline-flex}.batch-reward-option .primary-btn,.batch-reward-option .ghost-action{padding-right:32px}.batch-reward-remove{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:999px;background:#ffffffb8;color:#8a4b3a;font:inherit;font-size:14px;font-weight:900;line-height:1;cursor:pointer;transform:translateY(-50%)}.batch-reward-remove:disabled{cursor:not-allowed;opacity:.55}.batch-reward-custom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-head h2{margin:0;font-size:24px}.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}.ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.student-page-stack{display:grid;gap:18px;margin-bottom:22px}.student-card{position:relative;border-radius:24px;overflow:hidden;border:1px solid rgba(255,221,187,.9);background:radial-gradient(circle at top,rgba(255,247,234,.95),transparent 48%),#ffffffe0;box-shadow:0 16px 40px #a6735724,inset 0 1px #ffffffb3;transform-style:preserve-3d}.student-card.clickable{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;animation:card-float 5.2s ease-in-out infinite}.student-card.clickable:hover{transform:translateY(-8px) rotateX(3deg) rotateY(-3deg);border-color:#ffbb6df2;box-shadow:0 28px 54px #a6735738,0 0 0 1px #ffe8bfb3,inset 0 1px #ffffffd9}.student-card.clickable:focus-visible{outline:3px solid rgba(255,123,84,.45);outline-offset:3px}.student-card-frame{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#fffc,#ffcf7cb8,#ffffffa6);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;opacity:.9}.student-card.rarity-n .student-card-frame{background:linear-gradient(135deg,#ffffffd1,#ffd1a480,#ffffffb8)}.student-card.rarity-r .student-card-frame{background:linear-gradient(135deg,#a7e0ffeb,#6ec6ffa3,#ffffffb8)}.student-card.rarity-sr .student-card-frame{background:linear-gradient(135deg,#dab6ffeb,#9c6cffa8,#ffe29bcc)}.student-card.rarity-ssr .student-card-frame{background:linear-gradient(135deg,#fff3aaf5,#ffba54b8,#fff8e1d1)}.student-card.rarity-ur .student-card-frame{background:linear-gradient(135deg,#fff4c2fa,#ff876dc7,#fedbffe6,#fff5cafa)}.student-card.rarity-lr .student-card-frame,.student-card.rarity-mr .student-card-frame{background:linear-gradient(135deg,#fffad6fa,#62cdffb8,#ff8bced1,#fff6ccfa)}.student-card.flipping{animation:card-flip-pop .56s ease}.student-card.bursting{animation:card-burst-pop .82s ease}.student-media{border:0;width:100%;display:block;cursor:pointer;position:relative;aspect-ratio:1 / 1.08;padding:12px 12px 0;overflow:hidden;background:#fff}.student-media:focus-visible{outline:3px solid rgba(255,123,84,.45);outline-offset:-3px}.student-card-aura,.student-card-shine,.student-card-particles,.student-card-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.student-card-aura{background:radial-gradient(circle at 50% 38%,rgba(255,240,195,.9),transparent 30%),radial-gradient(circle at 50% 78%,rgba(255,176,109,.28),transparent 36%);filter:blur(4px);animation:aura-pulse 3.8s ease-in-out infinite}.student-card-shine{background:linear-gradient(115deg,transparent 24%,rgba(255,255,255,.1) 38%,rgba(255,255,255,.68) 48%,rgba(255,255,255,.06) 58%,transparent 72%);transform:translate(-135%)}.student-card.clickable:hover .student-card-shine{animation:card-shine .9s ease forwards}.student-card-particles{background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 2px,transparent 2.5px),radial-gradient(circle,rgba(255,218,150,.7) 0 1.5px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.6) 0 1px,transparent 1.5px);background-size:120px 120px,150px 150px,180px 180px;background-position:16px 24px,88px 36px,52px 92px;opacity:.55;animation:sparkle-drift 8s linear infinite}.student-card-burst{opacity:0;background:radial-gradient(circle at center,rgba(255,255,255,.85) 0 10%,rgba(255,229,163,.72) 14%,transparent 42%),conic-gradient(from 0deg,#fff0,#ffe6aacc,#fff0 64deg,#ffc678c7 110deg,#fff0 144deg,#ffe6aacc 220deg,#fff0 255deg,#ffc678c7 310deg,#fff0 360deg);mix-blend-mode:screen}.student-card.bursting .student-card-burst{animation:reward-burst .82s ease}.student-media img,.student-fallback{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block}.student-media img{object-fit:contain;width:112%;height:112%;margin-left:-6%;margin-top:-2%;filter:drop-shadow(0 18px 18px rgba(138,91,55,.16));transform-origin:center bottom;animation:pet-bob 4.4s ease-in-out infinite}.student-fallback{display:grid;place-items:center;font-size:48px}.student-stage-badge{position:absolute;z-index:2;top:14px;left:14px;padding:6px 10px;border-radius:999px;background:#ff7b54eb;color:#fff;font-size:12px;font-weight:700}.student-premium-badge{flex:0 1 96px;min-width:0;max-width:104px;padding:6px 9px;border-radius:999px;background:#6749bee6;color:#fff;font-size:11px;font-weight:800;line-height:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 18px #46308c2e}.student-rarity-badge{position:absolute;z-index:2;top:14px;right:14px;display:grid;justify-items:center;min-width:58px;padding:7px 10px;border-radius:16px;background:#ffffffd1;color:#7b4d38;box-shadow:0 8px 18px #00000014}.student-rarity-badge span{font-size:15px;font-weight:900;line-height:1}.student-rarity-badge small{margin-top:3px;font-size:10px;font-weight:700}.student-owner-art{position:absolute;z-index:2;right:12px;bottom:40px;max-width:min(78%,180px);padding:4px 8px 6px;color:#fff;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-size:23px;font-weight:900;line-height:1.05;letter-spacing:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:rotate(-5deg);filter:drop-shadow(0 5px 3px rgba(85,48,35,.24))}.student-owner-art-rainbow{background:linear-gradient(92deg,#ff684d,#ffb238,#37b978,#318ee8,#a15be8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 1px 0 rgba(255,255,255,.95),0 3px 0 rgba(116,67,45,.18),0 0 10px rgba(255,255,255,.84)}.student-owner-art-gold{color:#ffe079;text-shadow:0 1px 0 #fff8cf,0 3px 0 #b87916,0 0 12px rgba(255,222,92,.85)}.student-owner-art-crystal{color:#e8fbff;text-shadow:0 1px 0 #45c9ff,0 3px 0 #2163ac,0 0 14px rgba(78,212,255,.9)}.student-card.transferred .student-owner-art{bottom:74px}.student-farewell-ribbon{position:absolute;z-index:3;left:50%;bottom:40px;max-width:76%;padding:7px 11px;border-radius:999px;background:#ffffffe6;color:#2478a6;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(-50%);box-shadow:0 8px 18px #3a5c7a24}.student-status-badge{position:absolute;z-index:2;left:14px;bottom:12px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff}.student-status-badge.alive{background:#30824dd6}.student-status-badge.sleeping{background:#4c6286d6}.student-status-badge.dead{background:#7a2f2fe0}.student-card.rarity-r .student-rarity-badge{background:#e3f6ffe6;color:#2478a6}.student-card.rarity-sr .student-rarity-badge{background:#f2e8ffe6;color:#7a43c1}.student-card.rarity-ssr .student-rarity-badge{background:#fff5cfeb;color:#b67511}.student-card.rarity-ur .student-rarity-badge{background:linear-gradient(135deg,#fff2c9f0,#ffdef9f0);color:#b65752}.student-card.rarity-lr .student-rarity-badge,.student-card.rarity-mr .student-rarity-badge{background:linear-gradient(135deg,#e8f9fff2,#fff2c9f0,#ffe2f7f0);color:#2e6db0}.student-body{position:relative;z-index:1;padding:14px 16px 16px}.student-title-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.student-name{flex:1 1 auto;min-width:72px;font-size:18px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-points-badge{flex:none;padding:6px 9px;border-radius:14px;background:#ffe9d6e6;color:#c15a33;font-size:12px;font-weight:800}.student-energy-block{margin:0 0 12px}.student-energy-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;color:#78655e;font-size:13px}.energy-bar{height:12px;border-radius:999px;overflow:hidden;background:#ffbea059;box-shadow:inset 0 1px 2px #7c533d14}.energy-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9b54,#ffd255);box-shadow:0 0 12px #ffbe5480}.ranking-list{display:grid;gap:10px}.recent-orders-section{margin-top:16px}.stack-form{display:grid;gap:12px}.text-input{width:100%;border:1px solid rgba(190,168,160,.45);border-radius:16px;padding:12px 14px;background:#ffffffe6;font:inherit;text-align:left}.text-area{width:100%;border:1px solid rgba(190,168,160,.45);border-radius:16px;padding:12px 14px;background:#ffffffe6;font:inherit;resize:vertical;text-align:left}.field-label{display:grid;gap:6px;color:#6e5c56;font-weight:600}.field-label.inline-toggle{grid-template-columns:auto 1fr;align-items:center;gap:10px}.field-label.inline-toggle input{width:18px;height:18px;accent-color:#ff7b54}.primary-btn{border:0;border-radius:16px;padding:12px 16px;background:linear-gradient(135deg,#ff7b54,#ff9f68);color:#fff;font:inherit;font-weight:700;cursor:pointer}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.class-list,.mini-list{display:grid;gap:10px;margin-top:18px}.class-chip{border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:12px 14px;background:#fff8f0d9;text-align:left;cursor:pointer;display:grid;gap:4px}.class-chip.active{background:linear-gradient(135deg,#ff7b542e,#ffbf9c4d);border-color:#ff7b544d}.class-chip small,.empty-inline{color:#7a6862}.product-list{display:grid;gap:16px}.product-management-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.4fr);gap:20px}.product-management-side{display:grid;align-content:start;gap:12px}.product-management-main{min-width:0}.product-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-form-wide{grid-column:1 / -1}.ghost-action{border:1px solid rgba(190,168,160,.45);border-radius:16px;padding:12px 16px;background:#ffffffbf;color:#7a4f43;font:inherit;font-weight:700;cursor:pointer}.product-reset-btn{justify-self:start}.product-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;margin-bottom:16px}.product-summary-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.product-summary-row span{padding:8px 12px;border-radius:999px;background:#fff8f0d9;color:#7a4f43;font-size:13px;font-weight:700}.product-card-list{display:grid;gap:14px}.product-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:20px;background:#fff8f0b8;border:1px solid rgba(255,231,212,.95)}.product-card.active{border-color:#ff7b5461;box-shadow:0 16px 30px #a673571f}.product-card-main{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.product-card-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#ffffffe0;font-size:28px}.product-card-body{min-width:0}.product-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.product-card-top strong{font-size:16px}.product-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.product-card-meta span,.product-status{padding:4px 8px;border-radius:999px;background:#ffffffe0;font-size:12px;font-weight:700}.product-status.on{color:#2f7b42}.product-status.off{color:#b03b2d}.product-card-body p{margin:0;color:#78655e;line-height:1.5}.product-card-delete{margin:0;color:#b53d3d}.shop-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start;text-align:center}.shop-layout .text-input,.shop-layout .text-area{text-align:center}.shop-sidebar{position:sticky;top:92px}.shop-buyer-card{padding:18px;border-radius:20px;background:radial-gradient(circle at top right,rgba(255,219,170,.32),transparent 44%),linear-gradient(180deg,#fff7ef,#fffdf9);border:1px solid rgba(255,225,197,.95)}.shop-buyer-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.shop-buyer-label{color:#7a6862;font-size:13px;font-weight:700}.shop-pet-warning{margin:10px 0 0;color:#466483;font-size:13px;font-weight:700}.shop-pet-warning.danger{color:#9a3f3f}.shop-feed-box{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(190,168,160,.45)}.shop-feed-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#6e5c56;font-size:13px;font-weight:700}.shop-feed-list{display:grid;gap:8px;max-height:180px;overflow:auto;padding-right:4px}.shop-feed-btn{padding:8px 12px;border-radius:12px;text-align:left}.shop-feed-empty{margin:0;color:#7a6862;font-size:12px}.shop-confirm-modal{width:min(520px,100%)}.shop-confirm-body{display:grid;gap:14px;text-align:center}.shop-confirm-item{font-size:24px;font-weight:800;color:#5f3a30}.shop-confirm-text{margin:0;color:#705d58;line-height:1.6}.shop-confirm-actions{display:flex;justify-content:center;gap:12px}.shop-main{min-width:0;display:grid;gap:16px}.shop-toolbar{display:grid;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(255,225,197,.95);background:#fffbf6f0}.shop-search-input{min-height:46px}.shop-category-row{display:flex;flex-wrap:wrap;gap:10px}.shop-category-chip{border:1px solid rgba(255,219,195,.9);border-radius:999px;padding:8px 14px;background:#fff8f0d1;color:#7a4f43;font:inherit;font-weight:700;cursor:pointer}.shop-category-chip.active{background:linear-gradient(135deg,#ff7b54,#ff9f68);border-color:transparent;color:#fff}.shop-result-summary{display:flex;flex-wrap:wrap;gap:8px}.shop-result-summary span{padding:5px 10px;border-radius:999px;background:#fff4e7e6;color:#7a4f43;font-size:12px;font-weight:700}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.shop-item-card{display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#ffffffeb;border:1px solid rgba(255,235,219,.95);box-shadow:0 14px 30px #a673571a}.shop-item-cover{position:relative;display:grid;place-items:center;min-height:138px;padding:16px;background:radial-gradient(circle at top,rgba(255,246,219,.92),transparent 45%),linear-gradient(180deg,#fff7ef,#fffdf9)}.shop-item-icon{font-size:58px;line-height:1}.shop-item-badge{position:absolute;top:12px;left:12px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.shop-item-badge.sale{background:#ff7b5424;color:#cb5e38}.shop-item-badge.sold-out{background:#78787824;color:#6f6f6f}.shop-item-body{display:flex;flex-direction:column;gap:9px;padding:14px;flex:1;min-height:214px}.shop-item-name{font-size:19px;font-weight:800}.shop-item-desc{margin:0;color:#78655e;line-height:1.45;min-height:40px}.shop-item-energy-hint{margin:0;color:#3f6d54;font-size:12px;font-weight:700;min-height:18px;line-height:1.4}.shop-item-energy-hint.placeholder{visibility:hidden}.shop-item-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.shop-item-meta span{padding:5px 8px;border-radius:999px;background:#fff8f0e0;color:#7a4f43;font-size:12px;font-weight:700}.shop-item-footer{display:flex;justify-content:center;align-items:center;margin-top:auto}.shop-item-price{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap;word-break:keep-all;color:#ff5a2b;font-size:20px;font-weight:900;line-height:1}.shop-item-price-value{font-size:30px;font-variant-numeric:tabular-nums}.shop-item-price-unit{font-size:16px;font-weight:800;color:#d15a32}.shop-buy-btn{min-width:148px;min-height:52px;padding-inline:16px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.product-editor{padding:14px;border-radius:18px;background:#fff8f0d9}.product-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.row-actions{display:flex;gap:10px;margin-top:12px}.mini-list-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed rgba(190,168,160,.45)}.student-manager-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}.student-manager-side{display:grid;gap:14px;align-content:start}.student-manager-title{margin:0;font-size:16px}.student-edit-form{padding-top:14px;border-top:1px dashed rgba(190,168,160,.45)}.student-edit-head{display:flex;justify-content:space-between;align-items:center}.student-edit-empty{padding:12px 0 2px;color:#7a6862}.student-manager-list{display:grid;gap:10px;align-content:start;max-height:620px;overflow:auto;padding-right:4px}.student-row{border:1px solid rgba(255,230,214,.95);border-radius:16px;background:#fff8f0cc;padding:12px 14px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;font:inherit;color:inherit}.student-row.active{border-color:#ff7b5459;box-shadow:0 12px 24px #a673571f}.student-row-main{display:grid;gap:4px}.student-row-main small{color:#7a6862}.student-manager-side .text-input{min-height:52px;padding-top:0;padding-bottom:0}.student-create-bar{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 140px;gap:10px;margin-bottom:14px}.student-batch-import{margin-bottom:14px;padding:14px;border-radius:16px;border:1px solid rgba(255,230,214,.95);background:#fff8f0b8;display:grid;gap:10px}.student-batch-head{display:grid;gap:4px}.student-batch-head strong{font-size:15px;color:#7a4f43}.student-batch-head span{color:#7a6862;font-size:12px}.student-batch-input{min-height:110px}.student-batch-actions{display:flex;justify-content:flex-end}.student-table{border:1px solid rgba(255,230,214,.95);border-radius:16px;overflow:hidden}.student-table-head,.student-table-row{display:grid;grid-template-columns:1.1fr 1fr .7fr .8fr 300px;gap:10px;align-items:center;padding:12px 14px}.student-table-head{background:#fff8f0e6;font-weight:800;color:#7a4f43}.student-table-body{max-height:460px;overflow:auto}.student-table-row{border-top:1px solid rgba(255,230,214,.65);background:#ffffffd6}.student-table-row.active{background:#fff0e4d1}.student-edit-btn{margin:0}.student-row-actions{display:flex;flex-wrap:wrap;gap:8px}.student-status-text{font-weight:800;color:#6c8a4f}.student-status-text.graduated{color:#a56418}.student-status-text.transferred{color:#2478a6}.student-graduate-btn,.student-transfer-btn{margin:0}.student-clear-btn{margin:0;color:#b03b2d}.student-delete-btn{margin:0;color:#9d2e2e;border-color:#b9585866}.student-edit-modal-actions{display:flex;gap:10px}.reward-type-list{display:grid;gap:10px}.reward-type-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.1fr) 140px 88px;gap:10px;align-items:center}.reward-type-remove{margin:0;padding:10px}.reward-type-actions{display:flex;justify-content:space-between;gap:10px}.error-banner{margin-top:18px;padding:14px 16px;border-radius:18px;background:#ff54541f;color:#b53d3d;font-weight:600}.link-btn,.ghost-btn{border:0;background:transparent;color:#cb5e38;font:inherit;font-weight:700;cursor:pointer;padding:0;margin-top:10px}.danger-btn{border:0;border-radius:16px;padding:12px 16px;background:#d9534f;color:#fff;font:inherit;font-weight:700;cursor:pointer}.student-checkbox-list,.detail-list{display:grid;gap:10px}.check-row,.detail-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(190,168,160,.45)}.honor-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.badge-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.badge-stat-card{border-radius:18px;padding:14px;background:#fff8f0d9;text-align:center}.badge-stat-icon{font-size:28px;margin-bottom:8px}.badge-stat-name{font-weight:700;margin-bottom:4px}.badge-stat-count{color:#7a6862}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#180c0ae0;display:grid;place-items:center;padding:24px;z-index:50}.modal-card{width:min(920px,100%);max-height:85vh;overflow:auto;border-radius:28px;background:#fffaf6;padding:24px;box-shadow:0 24px 60px #00000047}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.detail-section{border-radius:20px;background:#fff8f0d9;padding:16px}.detail-section h4{margin-top:0}.badge-row{display:flex;flex-wrap:wrap;gap:8px}.badge-pill{padding:8px 12px;border-radius:999px;background:#ff7b541f}.floating-hint{position:fixed;right:24px;bottom:24px;padding:12px 16px;border-radius:16px;background:#3a2e2be6;color:#fff}.ranking-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,231,212,.85);background:#fff8f0c7}.ranking-rank{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ffefdff2;font-weight:800;color:#cb5e38}.ranking-main{min-width:0}.ranking-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-sub{margin-top:4px;display:flex;flex-wrap:wrap;gap:8px}.ranking-sub span{padding:2px 8px;border-radius:999px;background:#ffffffb8;color:#7a6862;font-size:12px;font-weight:600}.ranking-score{color:#b6452f;font-size:18px;font-weight:800;white-space:nowrap}.empty-card{border-radius:24px;padding:28px;color:#715f5a}.reward-choice-layout{display:grid;gap:28px}.reward-choice-title{margin:0 0 16px;font-size:18px}.reward-choice-title.positive{color:#e458a4}.reward-choice-title.negative{color:#e55240}.reward-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.reward-choice-card{border:1px solid transparent;border-radius:22px;padding:22px 16px;display:grid;justify-items:center;gap:8px;background:#fff;font:inherit;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.reward-choice-card:hover{transform:translateY(-2px);box-shadow:0 14px 24px #a673571f}.reward-choice-card.positive{background:linear-gradient(180deg,#f2fff7,#effbf1);border-color:#daf3df;color:#2f7b42}.reward-choice-card.negative{background:linear-gradient(180deg,#fff4f3,#fff1ef);border-color:#f6d8d3;color:#b03b2d}.reward-choice-card:disabled{opacity:.6;cursor:not-allowed}.reward-choice-icon{font-size:28px}.reward-choice-label{font-size:16px;font-weight:800}.reward-choice-score{font-size:14px;font-weight:700}.modal-card.compact-reward-modal{width:min(820px,100%);max-height:78vh;padding:18px}.compact-reward-modal .modal-head{margin-bottom:12px}.compact-reward-modal .modal-head h3{margin:0;font-size:22px}.compact-reward-modal .reward-choice-layout{gap:18px}.compact-reward-modal .reward-choice-title{margin:0 0 10px;font-size:16px}.compact-reward-modal .reward-choice-grid{gap:10px}.compact-reward-modal .reward-choice-card{border-radius:16px;padding:14px 10px;gap:6px}.compact-reward-modal .reward-choice-icon{font-size:22px}.compact-reward-modal .reward-choice-label{font-size:14px}.compact-reward-modal .reward-choice-score{font-size:12px}.call-modal-shell{display:grid;gap:18px}.call-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.call-modal-head h3{margin:0;font-size:28px}.call-modal-actions{display:flex;gap:10px;align-items:center}.card-call-panel{display:grid;gap:18px}.card-call-stage{position:relative;overflow:hidden;border-radius:28px;min-height:360px;display:grid;place-items:center;background:radial-gradient(circle at top,rgba(255,236,188,.82),transparent 25%),linear-gradient(180deg,#271718,#4f2d26 46%,#271718);padding:24px}.card-call-shuffle{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0}.card-call-shuffle.active{opacity:1}.shuffle-card{position:absolute;top:24%;left:50%;width:180px;height:240px;margin-left:-90px;border-radius:26px;background:linear-gradient(135deg,#ffd695e0,#ff7c54eb),#fff;box-shadow:0 20px 40px #0000003d}.shuffle-a{animation:shuffle-a .9s ease}.shuffle-b{animation:shuffle-b .9s ease}.shuffle-c{animation:shuffle-c .9s ease}.card-call-window{position:relative;z-index:1;width:100%;overflow:hidden;padding:12px 0}.card-call-track{display:flex;gap:16px;width:max-content;padding-inline:calc(50% - 90px);transition:transform 42ms linear}.call-pet-card{position:relative;width:180px;flex:none;overflow:hidden;border-radius:26px;background:radial-gradient(circle at top,rgba(255,248,233,.92),transparent 42%),#fffffff5;border:1px solid rgba(255,233,214,.95);box-shadow:0 14px 30px #00000029;transform:scale(.94);transition:transform .18s ease,box-shadow .18s ease}.call-pet-card.active{transform:scale(1)}.call-pet-card.winner{transform:scale(1.06);box-shadow:0 22px 44px #ff926747}.call-pet-card-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,228,171,.3),transparent 50%)}.call-pet-card-media{position:relative;display:grid;place-items:center;aspect-ratio:1 / 1.08;padding:12px;background:#fff}.call-pet-card-media img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(138,91,55,.18))}.call-pet-card-body{display:grid;gap:4px;padding:12px 14px 16px;text-align:center}.call-pet-card-body strong{font-size:18px;color:#4b2f29}.call-pet-card-body span{color:#8b6e65;font-size:13px;font-weight:700}.card-call-focus{position:absolute;top:12px;bottom:12px;left:50%;width:180px;transform:translate(-50%);border-radius:26px;border:2px solid rgba(255,211,148,.88);box-shadow:0 0 0 999px #1a0c0a2e,0 0 26px #ffc26b38;pointer-events:none}.card-call-result{position:relative;z-index:1;margin-top:16px;text-align:center;color:#fff}.card-call-result-label{color:#ffe4b5eb;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card-call-result-name{margin-top:10px;font-size:clamp(28px,5vw,54px);font-weight:900;letter-spacing:.04em}.card-call-result-subtle{margin-top:10px;color:#fff0d6db;font-size:15px}.card-call-panel.revealed .card-call-result-name{animation:winner-pop .7s ease}@keyframes pet-bob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.02)}}@keyframes card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes aura-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes sparkle-drift{0%{transform:translateY(0)}50%{transform:translateY(6px)}to{transform:translateY(0)}}@keyframes card-shine{0%{transform:translate(-135%)}to{transform:translate(140%)}}@keyframes reward-burst{0%{opacity:0;transform:scale(.3) rotate(0)}18%{opacity:1}to{opacity:0;transform:scale(1.6) rotate(26deg)}}@keyframes card-burst-pop{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-7px) scale(1.03)}60%{transform:translateY(-3px) scale(.99)}}@keyframes card-flip-pop{0%{transform:perspective(1200px) rotateY(0) scale(1)}35%{transform:perspective(1200px) rotateY(13deg) scale(1.02)}70%{transform:perspective(1200px) rotateY(-9deg) scale(.99)}to{transform:perspective(1200px) rotateY(0) scale(1)}}@keyframes winner-pop{0%{transform:scale(.86);opacity:.3}65%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes shuffle-a{0%{transform:translate(-40px) rotate(-8deg)}50%{transform:translate(-150px,-28px) rotate(-20deg)}to{transform:translate(-40px) rotate(-8deg)}}@keyframes shuffle-b{0%{transform:translate(0) rotate(0)}50%{transform:translateY(-36px) rotate(6deg)}to{transform:translate(0) rotate(0)}}@keyframes shuffle-c{0%{transform:translate(40px) rotate(8deg)}50%{transform:translate(150px,-28px) rotate(20deg)}to{transform:translate(40px) rotate(8deg)}}@media (max-width: 960px){.hero,.stats-grid,.ops-grid,.honor-grid,.detail-grid,.product-editor-grid,.product-management-layout,.product-toolbar,.product-form-grid,.shop-layout,.student-manager-layout{grid-template-columns:1fr}.shop-sidebar{position:static;top:auto}.shop-item-body{min-height:0}.top-nav-spacer{display:none}.top-nav-user{width:100%;order:10}.top-nav-logout{order:11}.admin-user-item,.admin-user-actions,.student-create-bar,.reward-type-row,.student-table-head,.student-table-row{grid-template-columns:1fr}.call-modal-head{flex-direction:column}.reward-choice-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
