@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";.title-screen{background:linear-gradient(180deg,#0a0a1a,#1a1a2e,#16213e);position:relative;overflow:hidden}.title-stars{position:absolute;inset:0;pointer-events:none}.star{position:absolute;width:4px;height:4px;background:#fff;animation:blink 2s infinite}.star:nth-child(3n){width:2px;height:2px;background:gold}.title-content{display:flex;flex-direction:column;align-items:center;gap:32px;z-index:1;animation:fade-in 1s ease-out}.title-logo{display:flex;gap:12px;margin-bottom:8px}.title-vibe{font-family:"Press Start 2P",monospace;font-size:64px;color:#e94560;text-shadow:4px 4px 0 #000,0 0 20px rgba(233,69,96,.5),0 0 40px rgba(233,69,96,.3);animation:float 3s ease-in-out infinite}.title-guide{font-family:"Press Start 2P",monospace;font-size:64px;color:gold;text-shadow:4px 4px 0 #000,0 0 20px rgba(255,215,0,.5),0 0 40px rgba(255,215,0,.3);animation:float 3s ease-in-out infinite;animation-delay:.5s}.title-subtitle{font-size:18px;color:var(--color-text-dim);animation:fade-in .8s ease-out}.title-buttons{display:flex;flex-direction:column;gap:16px;align-items:center;margin-top:20px}.title-version{position:absolute;bottom:16px;right:24px;font-size:10px;color:var(--color-text-dim)}.title-overlay{position:absolute;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in .2s ease-out}.title-confirm-dialog{padding:32px;text-align:center;min-width:300px;animation:slide-up .25s ease-out}@media(max-width:800px){.title-logo{gap:8px}.title-vibe,.title-guide{font-size:32px}.title-subtitle{font-size:14px}.title-content{gap:20px}}@media(max-height:600px){.title-vibe,.title-guide{font-size:28px}.title-content{gap:16px}.title-buttons{gap:10px;margin-top:12px}}@media(max-width:500px){.title-logo{flex-direction:column;align-items:center;gap:4px}.title-vibe,.title-guide{font-size:24px}}.intro-screen{background:#0a0a1a;cursor:var(--cursor-sword-pointer),pointer;padding:0 60px 40px;justify-content:center;align-items:center}.intro-text-container{max-width:700px;width:100%;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:70vh;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%)}.intro-text-container::-webkit-scrollbar{display:none}.intro-spacer{flex-shrink:0;height:20vh}.intro-scroll-anchor{flex-shrink:0;height:1px}.intro-line{font-size:18px;color:var(--color-text);animation:intro-line-in .5s ease-out;transition:opacity .6s ease,color .6s ease}.intro-line--faded-1{color:var(--color-text-dim);opacity:.7}.intro-line--faded-2{color:var(--color-text-dim);opacity:.4}.intro-line--faded-3{color:var(--color-text-dim);opacity:.2}.intro-line--current{color:var(--color-text);opacity:1}@keyframes intro-line-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.intro-cursor{animation:blink .8s infinite;color:var(--color-accent)}.intro-continue{margin-top:24px;animation:magic-pulse 2.5s ease-in-out infinite}@keyframes magic-pulse{0%,to{box-shadow:0 3px 0 var(--btn-fill-extrude),0 0 6px #d4a04a33,inset 0 1px #ffffff1f}50%{box-shadow:0 3px 0 var(--btn-fill-extrude),0 0 18px #d4a04a59,0 0 32px #d4a04a1f,inset 0 1px #ffffff1f}}.intro-skip{position:absolute;bottom:20px;right:32px;opacity:.4;z-index:100;transition:opacity .25s ease,transform .2s ease}.intro-skip:hover{opacity:1;transform:translateY(-2px)}@media(max-width:800px){.intro-screen{padding:0 32px 80px}.intro-line{font-size:15px}.intro-text-container{max-width:500px}}@media(max-height:600px){.intro-screen{padding:0 24px 64px}.intro-line{font-size:14px}.intro-continue{margin-top:20px}.intro-skip{bottom:16px;right:24px}}.class-screen{background:linear-gradient(180deg,#1a1a2e,#16213e);padding:40px;gap:20px}.name-input-container{display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px 60px}.name-input-container h2{font-size:24px;color:var(--color-accent)}.pixel-input{font-family:var(--font-cn);font-size:20px;color:var(--color-text);background:var(--color-bg-dark);border:3px solid var(--color-text);padding:12px 20px;width:300px;text-align:center;outline:none}.pixel-input:focus{border-color:var(--color-accent);box-shadow:0 0 10px #ffd7004d}.class-title{font-size:24px;color:var(--color-accent)}.class-hint{font-size:14px;color:var(--color-text-dim);margin-bottom:8px}.class-cards{display:flex;gap:24px;margin-top:16px}.class-card{width:280px;padding:24px;cursor:var(--cursor-sword-pointer),pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;border-color:var(--color-text-dim)}.class-card:hover{transform:translateY(-4px);border-color:var(--class-color);box-shadow:0 0 15px color-mix(in srgb,var(--class-color) 40%,transparent)}.class-card--selected{border-color:var(--class-color)!important;box-shadow:0 0 20px color-mix(in srgb,var(--class-color) 50%,transparent)!important;transform:translateY(-4px)}.class-card__icon{font-size:48px;animation:float 3s ease-in-out infinite}.class-card__name{font-size:18px;color:var(--class-color)}.class-card__title{font-family:var(--font-cn);font-size:12px;color:var(--color-text-dim)}.class-card__desc{font-size:13px;color:var(--color-text);line-height:1.6}.class-card__skill{font-family:var(--font-cn);font-size:12px;padding:6px 12px;background:#ffffff0d;border:1px solid var(--class-color);border-radius:0}.skill-label{color:var(--color-text-dim)}.skill-name{color:var(--class-color);font-weight:700}.class-confirm{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:24px;animation:slide-up .3s ease-out}.class-confirm p{font-size:18px}@media(max-width:1000px){.class-cards{gap:16px}.class-card{width:220px;padding:16px}.class-card__icon{font-size:36px}.class-card__name{font-size:15px}}@media(max-width:800px){.class-screen{padding:20px;gap:12px}.class-cards{flex-direction:column;align-items:center;gap:12px;max-height:55vh;overflow-y:auto;padding:4px}.class-card{width:100%;max-width:340px;flex-direction:row;padding:12px 16px;gap:16px;text-align:left}.class-card__icon{font-size:32px;animation:none}.class-title{font-size:18px}.class-hint{font-size:12px}.name-input-container{padding:24px 20px;gap:16px}.name-input-container h2{font-size:18px}.pixel-input{width:240px;font-size:16px;padding:10px 16px}}@media(max-height:600px){.class-screen{padding:12px;gap:8px}.class-cards{max-height:50vh}.class-title{font-size:16px}.class-confirm p{font-size:14px}}.world-map-screen{background:linear-gradient(180deg,#060a14,#0a1628,#0d2030 60%,#0d2818);justify-content:flex-start;padding:0}.map-hud{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:linear-gradient(180deg,#000000b3,#00000073);border-bottom:2px solid var(--color-text-dim);z-index:10;flex-shrink:0;gap:12px}.hud-player{display:flex;align-items:center;gap:10px;flex-shrink:0}.hud-avatar{width:36px;height:36px;border:2px solid var(--color-accent);background:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:2px 2px #0006}.hud-player-info{display:flex;flex-direction:column;gap:2px}.hud-name{font-size:clamp(11px,1.8vw,14px);color:var(--color-accent);text-shadow:1px 1px 0 rgba(0,0,0,.5)}.hud-class{font-size:clamp(9px,1.3vw,11px);color:var(--color-text-dim)}.hud-xp{display:flex;align-items:center;gap:8px;flex:1;max-width:320px;min-width:120px}.hud-level-badge{display:flex;align-items:center;justify-content:center;min-width:42px;height:22px;padding:0 6px;background:linear-gradient(180deg,#ff6b81,#ee5a6f);border:2px solid #c0392b;font-size:9px;color:#fff;flex-shrink:0;box-shadow:2px 2px #0006,inset 0 1px #fff3;text-shadow:1px 1px 0 rgba(0,0,0,.4)}.hud-xp-bar{flex:1;min-width:80px}.hud-xp-text{font-size:10px;white-space:nowrap;color:var(--color-text-dim)}.hud-actions{display:flex;gap:6px;flex-shrink:0}.map-container{flex:1;width:100%;position:relative;overflow:hidden;background:radial-gradient(1px 1px at 7% 22%,rgba(255,255,255,.5) 50%,transparent 100%),radial-gradient(1px 1px at 18% 65%,rgba(255,255,255,.3) 50%,transparent 100%),radial-gradient(1px 1px at 32% 10%,rgba(255,255,255,.5) 50%,transparent 100%),radial-gradient(1px 1px at 50% 45%,rgba(255,255,255,.25) 50%,transparent 100%),radial-gradient(1px 1px at 67% 80%,rgba(255,255,255,.4) 50%,transparent 100%),radial-gradient(1px 1px at 83% 18%,rgba(255,255,255,.5) 50%,transparent 100%),radial-gradient(1px 1px at 91% 55%,rgba(255,255,255,.3) 50%,transparent 100%),radial-gradient(2px 2px at 24% 88%,rgba(255,215,0,.28) 50%,transparent 100%),radial-gradient(2px 2px at 76% 8%,rgba(255,215,0,.3) 50%,transparent 100%),radial-gradient(2px 2px at 55% 30%,rgba(180,160,255,.2) 50%,transparent 100%)}.map-container:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 40% at 15% 90%,rgba(34,100,60,.12) 0%,transparent 70%),radial-gradient(ellipse 50% 30% at 85% 15%,rgba(80,60,160,.12) 0%,transparent 70%),radial-gradient(ellipse 80% 20% at 50% 100%,rgba(20,60,30,.2) 0%,transparent 60%)}.map-container:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 40% 15% at 20% 50%,rgba(100,120,255,.06) 0%,transparent 80%),radial-gradient(ellipse 35% 12% at 70% 40%,rgba(255,215,0,.05) 0%,transparent 80%);animation:mist-drift 25s ease-in-out infinite alternate}@keyframes mist-drift{0%{transform:translate(0) translateY(0);opacity:.7}50%{transform:translate(15px) translateY(-8px);opacity:1}to{transform:translate(-10px) translateY(5px);opacity:.8}}.level-bg-deco{position:absolute;transform:translate(-50%,-50%);pointer-events:none;animation:deco-sway-slow 9s ease-in-out infinite;z-index:0;filter:blur(.4px)}@keyframes deco-sway-slow{0%,to{transform:translate(-50%,-50%) scale(1) rotate(0)}33%{transform:translate(-50%,-53%) scale(1.03) rotate(1deg)}66%{transform:translate(-50%,-48%) scale(.97) rotate(-1deg)}}.map-decoration{position:absolute;transform:translate(-50%,-50%);pointer-events:none;animation:deco-sway 6s ease-in-out infinite;z-index:1}@keyframes deco-sway{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-52%) scale(1.05)}}.map-grid-paths{position:absolute;top:0;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(60,1fr);grid-template-rows:repeat(35,1fr);pointer-events:none;z-index:2;image-rendering:pixelated}.path-cell{width:100%;height:100%;image-rendering:pixelated}.path-cell--center{background:#8b7355;border:1px solid #6b5535;box-shadow:inset 0 1px #ffffff14}.path-cell--edge{background:#7a6548;border:1px solid #5a4830;opacity:.75}.path-cell--decoration{background:#5a7a4a;border:1px solid #4a6a3a;opacity:.45}.path-cell--center,.path-cell--edge{filter:hue-rotate(var(--stone-hue, 0deg))}.path-cell--active.path-cell--center{background:#a08050;border-color:#806535;box-shadow:inset 0 1px #ffd70026}.path-cell--active.path-cell--edge{background:#8a7045;border-color:#6a5530;opacity:.85}.path-cell--active.path-cell--decoration{background:#6a8a52;opacity:.5}.path-cell--locked.path-cell--center{background:#3a3530;border-color:#2a2520;opacity:.4}.path-cell--locked.path-cell--edge{background:#302a25;border-color:#201a15;opacity:.25}.path-cell--locked.path-cell--decoration{opacity:.15}.path-cell--active.path-cell--center{animation:path-cell-march 3s steps(1) infinite;animation-delay:var(--march-delay, 0s)}@keyframes path-cell-march{0%,to{box-shadow:inset 0 1px #ffd70026}50%{box-shadow:inset 0 0 0 1px #ffd70059,0 0 4px #ffd70033}}.map-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;cursor:var(--cursor-sword-pointer),pointer;z-index:5;transition:none}.map-node:hover{transform:translate(-50%,-50%) scale(1.15)}.node-icon{font-size:clamp(28px,4vw,42px);filter:drop-shadow(2px 2px 4px rgba(0,0,0,.8));transition:none}.node-label{font-size:clamp(9px,1.3vw,12px);color:var(--color-text);text-shadow:1px 1px 3px rgba(0,0,0,.9);margin-top:4px;white-space:nowrap;transition:none}.node-flag{position:absolute;top:-6px;right:-10px;font-size:clamp(11px,1.4vw,15px);line-height:1;animation:flag-wave 1.8s ease-in-out infinite}@keyframes flag-wave{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.node-lock{position:absolute;top:-6px;right:-8px;font-size:clamp(10px,1.3vw,13px);line-height:1;opacity:.7}.node-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(6px);background:#080c1ceb;border:2px solid rgba(255,215,0,.25);border-radius:0;padding:6px 10px;white-space:nowrap;pointer-events:none;opacity:0;transition:none;z-index:20;box-shadow:0 4px 16px #00000080,0 0 8px #ffd70014}.node-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:6px;height:6px;background:#080c1ceb;border-right:2px solid rgba(255,215,0,.25);border-bottom:2px solid rgba(255,215,0,.25)}.node-tooltip-name{font-size:clamp(10px,1.4vw,13px);color:var(--color-accent);margin-bottom:2px}.node-tooltip-desc{font-size:clamp(8px,1.1vw,10px);color:var(--color-text-dim)}.map-node:hover .node-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.map-firefly-canvas{position:absolute;inset:0;pointer-events:none;z-index:6}.node--locked{opacity:.3;cursor:var(--cursor-sword),not-allowed;filter:grayscale(.9)}.node--locked:hover{transform:translate(-50%,-50%) scale(1.06);opacity:.45;filter:grayscale(.7);animation:node-shake .4s ease-in-out}.node--locked:hover .node-lock{opacity:1}.node--locked:hover .node-tooltip{border-color:#ffffff26}@keyframes node-shake{0%{transform:translate(-50%,-50%) scale(1.06) translate(0)}20%{transform:translate(-50%,-50%) scale(1.06) translate(-2px)}40%{transform:translate(-50%,-50%) scale(1.06) translate(2px)}60%{transform:translate(-50%,-50%) scale(1.06) translate(-1.5px)}80%{transform:translate(-50%,-50%) scale(1.06) translate(1px)}to{transform:translate(-50%,-50%) scale(1.06) translate(0)}}.node--available{animation:node-float-gentle 3.5s ease-in-out infinite}.node--available:hover{transform:translate(-50%,-50%) scale(1.18);animation:none}.node--available:hover .node-icon{transform:translateY(-4px);filter:drop-shadow(2px 2px 4px rgba(0,0,0,.8)) drop-shadow(0 0 18px rgba(255,215,0,.95)) drop-shadow(0 0 32px rgba(255,180,0,.6));animation:none}.node--available:hover .node-label{text-shadow:1px 1px 3px rgba(0,0,0,.9),0 0 8px rgba(255,215,0,.3)}.node--available .node-icon{animation:node-pulse-glow 2.5s ease-in-out infinite}@keyframes node-float-gentle{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-6px)}}@keyframes node-pulse-glow{0%,to{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.8)) drop-shadow(0 0 6px rgba(255,215,0,.3))}50%{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.8)) drop-shadow(0 0 16px rgba(255,215,0,.85)) drop-shadow(0 0 28px rgba(255,180,0,.4))}}.node--active{animation:node-float-active 2s ease-in-out infinite}.node--active:hover{transform:translate(-50%,-50%) scale(1.18);animation:none}.node--active:hover .node-icon{transform:translateY(-4px);filter:drop-shadow(0 0 16px rgba(255,255,180,1)) drop-shadow(0 0 32px rgba(255,215,0,.9)) drop-shadow(0 0 48px rgba(255,140,0,.5));animation:none}.node--active:hover .node-label{text-shadow:1px 1px 3px rgba(0,0,0,.9),0 0 10px rgba(255,215,0,.4)}.node--active .node-icon{animation:node-active-glow 1.6s ease-in-out infinite}@keyframes node-float-active{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-9px)}}@keyframes node-active-glow{0%,to{filter:drop-shadow(0 0 8px rgba(255,215,0,.7)) drop-shadow(0 0 16px rgba(255,215,0,.4))}50%{filter:drop-shadow(0 0 14px rgba(255,255,180,1)) drop-shadow(0 0 28px rgba(255,215,0,.85)) drop-shadow(0 0 40px rgba(255,140,0,.5))}}.node--completed .node-icon{filter:drop-shadow(0 0 6px rgba(46,204,113,.7))}.node--completed:hover{transform:translate(-50%,-50%) scale(1.15)}.node--completed:hover .node-icon{transform:translateY(-3px);filter:drop-shadow(0 0 12px rgba(46,204,113,.85)) drop-shadow(0 0 24px rgba(46,204,113,.55)) drop-shadow(0 0 36px rgba(46,204,113,.3))}.node--completed:hover .node-flag{animation-duration:.6s}.node--completed:hover .node-label{text-shadow:1px 1px 3px rgba(0,0,0,.9),0 0 8px rgba(46,204,113,.3)}.map-hint{padding:10px 24px;font-size:clamp(10px,1.5vw,13px);background:#00000073;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;display:flex;align-items:center;gap:8px}.map-hint-progress{color:var(--color-accent)}.map-hint-next{color:var(--color-text-dim)}.map-hint-done{color:var(--color-success);animation:blink 2s infinite}.map-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.map-confirm-dialog{padding:32px;text-align:center;min-width:280px}.prompt-block{background:#6a4ccd1a!important;border-color:#a78bfa!important;padding:14px 16px!important}.prompt-block__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.prompt-block__class-tag{display:inline-block;font-size:10px;padding:2px 8px;background:#a78bfa33;border:1px solid rgba(167,139,250,.4);color:#c4b5fd;border-radius:0}.prompt-block__label{color:#a78bfa;font-size:12px;margin:0}.prompt-block__bubble{display:flex;gap:10px;background:#00000059;border:1px solid rgba(167,139,250,.25);padding:12px 14px;position:relative}.prompt-block__bubble:before{content:"";position:absolute;top:14px;left:-6px;width:10px;height:10px;background:#00000059;border-left:1px solid rgba(167,139,250,.25);border-bottom:1px solid rgba(167,139,250,.25);transform:rotate(45deg)}.prompt-block__avatar{flex-shrink:0;font-size:20px;line-height:1}.prompt-block__text{font-size:12px;color:var(--color-text);white-space:pre-wrap;line-height:1.7;margin:0;flex:1;max-height:220px;overflow-y:auto}.prompt-block__actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.prompt-block__copy--done{background:var(--btn-emerald)!important;border-color:var(--btn-emerald-border)!important;color:#fff!important;box-shadow:0 3px 0 var(--btn-emerald-extrude),0 0 10px var(--btn-emerald-glow),inset 0 1px #ffffff1f!important;transform:scale(1.05);transition:all .15s cubic-bezier(.34,1.56,.64,1)}.prompt-block__explain-btn{background:#8b8fd614!important;border-color:#8b8fd64d!important;color:#a0a3e0!important;transition:all .2s ease}.prompt-block__explain-btn:hover{background:#8b8fd624!important;box-shadow:0 0 8px #8b8fd633!important}.prompt-block__explanation{margin-top:10px;padding:10px 12px;font-size:11px;line-height:1.8;color:var(--color-text-dim);background:#a78bfa0f;border:1px dashed rgba(167,139,250,.2)}.troubleshoot-panel{border-color:#f59e0b!important;background:#f59e0b1a!important;padding:14px 16px!important}.troubleshoot-panel__title{color:#f59e0b;font-size:11px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(245,158,11,.2)}.troubleshoot-panel__items{display:flex;flex-direction:column;gap:8px;background:#00000059;border:1px solid rgba(245,158,11,.25);padding:10px 12px}.troubleshoot-panel__item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid transparent;transition:all .15s}.troubleshoot-panel__item:hover{background:#f59e0b14;border-color:#f59e0b33}.troubleshoot-panel__situation{font-size:12px;color:#fbbf24;line-height:1.5}.troubleshoot-panel__action{font-size:11px;color:var(--color-text-dim);line-height:1.5;cursor:var(--cursor-sword-pointer),pointer}.troubleshoot-panel__action:hover{color:var(--color-text)}.troubleshoot-panel__action--copied{color:var(--color-success)!important}.level-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;-webkit-user-select:none;user-select:none}.level-bg__gradient{position:absolute;inset:0;z-index:0}.level-bg__emoji{position:absolute;z-index:1;line-height:1;filter:blur(.3px);animation:level-bg-drift ease-in-out infinite both;will-change:transform}@keyframes level-bg-drift{0%{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(var(--drift-x, 10px),calc(var(--drift-y, 8px) * -1)) rotate(4deg) scale(1.03)}50%{transform:translate(calc(var(--drift-x, 10px) * -.6),var(--drift-y, 8px)) rotate(-2deg) scale(.97)}75%{transform:translate(calc(var(--drift-x, 10px) * .4),calc(var(--drift-y, 8px) * -.5)) rotate(3deg) scale(1.01)}to{transform:translate(0) rotate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.level-bg__emoji{animation:none}}.level-screen{background:var(--color-bg-dark);position:relative}.level-placeholder{display:flex;flex-direction:column;align-items:center;gap:24px}.level-placeholder p{font-size:24px}.level-layout{width:100%;height:100%;display:flex;flex-direction:column;position:relative;z-index:1}.level-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#00000080;border-bottom:2px solid var(--color-text-dim)}.level-header__title{font-family:var(--font-cn);font-size:18px;color:var(--color-accent)}.level-header__progress{display:flex;align-items:center;gap:8px}.level-body{flex:1;display:flex;overflow:hidden}.level-scene{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px 24px 24px;position:relative;overflow-y:auto;min-width:0}.level-scene--forge{background:linear-gradient(180deg,#2a1a0e8c,#3d2b1a8c)}.level-scene--temple{background:linear-gradient(180deg,#1a1a3e8c,#2a1a4e8c)}.level-scene--create{background:linear-gradient(180deg,#1a2e1a8c,#2e3a1a8c)}.level-scene--deploy{background:linear-gradient(180deg,#1a1a3e8c,#0d1b2a8c)}.level-panels-row{display:flex;gap:12px;width:100%;max-width:720px;margin-top:12px;margin-left:auto;margin-right:auto}.level-panels-row>.pixel-panel{flex:1;min-width:0;margin-top:0!important;max-width:none!important}.level-tasks{width:360px;background:#0006;border-left:2px solid var(--color-text-dim);padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.level-tasks__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--color-text-dim);margin-bottom:4px}.level-tasks__title{font-family:var(--font-cn);font-size:16px;color:var(--color-accent)}.level-tasks__progress{font-family:var(--font-pixel);font-size:9px;color:var(--color-text-dim);display:flex;align-items:center;gap:6px}.level-tasks__progress-bar{width:60px;height:8px;background:var(--color-bg-dark);border:1px solid var(--color-text-dim);overflow:hidden}.level-tasks__progress-fill{height:100%;background:var(--color-accent);transition:width .4s ease}.task-step{display:flex;align-items:flex-start;gap:12px;background:#ffffff05;border:1px solid transparent;transition:all .3s;position:relative;margin-left:13px;border-left:2px solid var(--color-text-dim);padding:10px 12px 10px 20px}.task-step:first-of-type{border-top-left-radius:0}.task-step:last-of-type{border-left-color:transparent}.task-step--current{border-color:var(--color-accent);border-left-color:var(--color-accent);background:#ffd7000f;animation:task-step-glow 2s ease-in-out infinite}@keyframes task-step-glow{0%,to{box-shadow:inset 0 0 #ffd70000}50%{box-shadow:inset -2px 0 12px #ffd70014}}.task-step--completed{opacity:.55;border-left-color:var(--color-success);cursor:pointer;transition:all .2s}.task-step--completed:hover{opacity:.8;background:#2ecc7114}.task-step--viewing{opacity:1!important;border-color:#54a0ff;border-left-color:#54a0ff;background:#54a0ff1a}.task-step--viewing .task-step__number{border-color:#54a0ff;color:#54a0ff;box-shadow:0 0 6px #54a0ff66}.task-step--viewing .task-step__number:before{background:#54a0ff}.task-step__viewing-tag{display:inline-block;font-size:10px;margin-left:6px;padding:1px 6px;background:#54a0ff33;border:1px solid rgba(84,160,255,.4);color:#54a0ff;vertical-align:middle}.task-step--locked{opacity:.3;border-left-color:#8b8b8b4d}.task-step__number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--font-pixel);font-size:11px;border:2px solid var(--color-text-dim);color:var(--color-text-dim);flex-shrink:0;position:relative;transition:all .3s}.task-step__number:before{content:"";position:absolute;left:-28px;top:50%;width:8px;height:2px;background:var(--color-text-dim);transform:translateY(-50%)}.task-step--current .task-step__number{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 8px #ffd70066;animation:step-number-pulse 2s ease-in-out infinite}.task-step--current .task-step__number:before{background:var(--color-accent)}@keyframes step-number-pulse{0%,to{box-shadow:0 0 4px #ffd7004d}50%{box-shadow:0 0 12px #ffd70099,0 0 20px #ffd70033}}.task-step--completed .task-step__number{border-color:var(--color-success);color:var(--color-success);background:#2ecc7126}.task-step--completed .task-step__number:before{background:var(--color-success)}.task-step__content{display:flex;flex-direction:column;gap:4px}.task-step__title{font-family:var(--font-cn);font-size:14px;color:var(--color-text)}.task-step__desc{font-family:var(--font-cn);font-size:12px;color:var(--color-text-dim);line-height:1.5}.npc-container{display:flex;flex-direction:column;align-items:center;gap:16px}.npc-sprite{font-size:80px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.npc-name{font-family:var(--font-cn);font-size:16px;color:var(--color-accent)}.npc-dialog-bubble{max-width:520px;width:100%;padding:0;background:var(--color-bg);border:3px solid var(--color-text);position:relative;box-shadow:var(--shadow-pixel);animation:bubble-appear .25s ease-out}.npc-dialog-bubble__speaker{display:flex;align-items:center;gap:6px;padding:6px 16px;background:#ffd7001f;border-bottom:2px solid var(--color-text);font-family:var(--font-cn);font-size:12px;color:var(--color-accent);text-shadow:1px 1px 0 rgba(0,0,0,.5)}.npc-dialog-bubble__emotion{font-size:16px;animation:emotion-bounce .6s ease-out}.npc-dialog-bubble__body{padding:16px 20px;font-family:var(--font-cn);font-size:16px;color:var(--color-text);line-height:1.8;white-space:pre-line}.npc-dialog-bubble__cursor{opacity:.5;animation:blink .8s step-end infinite}@keyframes bubble-appear{0%{transform:translateY(8px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes emotion-bounce{0%{transform:scale(.3) rotate(-15deg)}50%{transform:scale(1.3) rotate(5deg)}to{transform:scale(1) rotate(0)}}.npc-dialog-bubble:before{content:"";position:absolute;top:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid var(--color-text)}.level-actions{display:flex;gap:12px;margin-top:20px;justify-content:center;flex-wrap:wrap;width:100%;max-width:720px;margin-left:auto;margin-right:auto;animation:step-fade-in .35s ease-out}.level-step-content{width:100%;display:flex;flex-direction:column;align-items:center;animation:step-fade-in .35s ease-out}@keyframes step-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.detection-status{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#0000004d;border:1px solid var(--color-text-dim);font-family:var(--font-cn);font-size:13px}.detection-dot{width:10px;height:10px;border-radius:0}.detection-dot--checking{background:var(--color-warning);animation:blink 1s infinite}.detection-dot--success{background:var(--color-success)}.detection-dot--fail{background:var(--color-danger)}@media(max-width:900px){.level-body{flex-direction:column}.level-tasks{width:100%;max-height:35vh;border-left:none;border-top:2px solid var(--color-text-dim);padding:12px 16px}.npc-dialog-bubble{max-width:90%;font-size:14px;padding:14px 18px}.npc-sprite{font-size:56px}.level-scene{padding:16px}.level-panels-row{flex-direction:column;max-width:100%}.level-header__title{font-size:14px}}@media(max-height:600px){.level-header{padding:8px 16px}.npc-sprite{font-size:48px}.npc-dialog-bubble{font-size:13px;padding:12px 16px;line-height:1.6}.level-tasks{max-height:30vh;padding:10px 14px;gap:8px}.task-step{padding:8px}.task-step__title{font-size:12px}.task-step__desc{font-size:11px}.level-actions{margin-top:12px}}.victory-screen{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1a0a2e,#0a0a1a);overflow:hidden;cursor:var(--cursor-sword-pointer),pointer}.victory-stars{position:absolute;inset:0;pointer-events:none}.victory-stars:before,.victory-stars:after{content:"";position:absolute;width:2px;height:2px;background:#fff;border-radius:0;box-shadow:40px 80px gold,120px 30px #fff,200px 150px #4ecdc4,350px 50px #ff9ff3,500px 120px gold,80px 250px #54a0ff,250px 300px #fff,450px 200px #ff6b6b,600px 80px gold,30px 350px #4ecdc4,550px 300px #ff9ff3,160px 400px #fff,700px 150px #54a0ff,380px 380px gold,630px 350px #fff;animation:twinkle-victory 3s ease-in-out infinite alternate}.victory-stars:after{box-shadow:60px 120px #fff,180px 60px gold,300px 200px #ff9ff3,420px 90px #4ecdc4,540px 180px #fff,100px 300px #54a0ff,320px 350px gold,480px 250px #fff,660px 120px #ff6b6b;animation-delay:1.5s}@keyframes twinkle-victory{0%{opacity:.4}to{opacity:1}}.victory-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:24px;animation:victory-fade-in 1.5s ease-out}@keyframes victory-fade-in{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.victory-title{font-family:var(--font-pixel);font-size:48px;color:gold;text-shadow:0 0 10px rgba(255,215,0,.5),0 0 30px rgba(255,215,0,.3),4px 4px 0px rgba(0,0,0,.5);animation:victory-glow 2s ease-in-out infinite alternate;text-align:center}@keyframes victory-glow{0%{text-shadow:0 0 10px rgba(255,215,0,.5),0 0 30px rgba(255,215,0,.3),4px 4px 0px rgba(0,0,0,.5)}to{text-shadow:0 0 20px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.4),4px 4px 0px rgba(0,0,0,.5)}}.victory-subtitle{font-family:var(--font-cn);font-size:20px;color:var(--color-text);text-align:center;line-height:1.8;max-width:600px}.victory-stats{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;margin-top:16px}.victory-stat{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:#ffd7000d;border:2px solid rgba(255,215,0,.2);min-width:100px}.victory-stat__icon{font-size:32px}.victory-stat__value{font-family:var(--font-pixel);font-size:24px;color:gold}.victory-stat__label{font-family:var(--font-cn);font-size:12px;color:var(--color-text-dim)}.victory-items{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:8px}.victory-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background:#ffffff08;border:1px solid var(--color-text-dim);animation:victory-item-pop .3s ease-out backwards}.victory-item:nth-child(1){animation-delay:.5s}.victory-item:nth-child(2){animation-delay:.7s}.victory-item:nth-child(3){animation-delay:.9s}.victory-item:nth-child(4){animation-delay:1.1s}.victory-item:nth-child(5){animation-delay:1.3s}@keyframes victory-item-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.victory-item__icon{font-size:28px}.victory-item__name{font-family:var(--font-cn);font-size:11px;color:var(--color-text);text-align:center;max-width:80px}.victory-hint{font-family:var(--font-cn);font-size:14px;color:var(--color-text-dim);margin-top:24px;animation:blink 2s infinite}@media(max-width:700px){.victory-title{font-size:32px}.victory-subtitle{font-size:16px;padding:0 16px}.victory-stats{gap:12px}.victory-stat{padding:12px 16px;min-width:80px}}@font-face{font-family:Zpix;src:url(../fonts/zpix.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg-dark: #1a1a2e;--color-bg: #16213e;--color-bg-light: #0f3460;--color-primary: #e94560;--color-secondary: #533483;--color-accent: #ffd700;--color-text: #eee8d5;--color-text-dim: #8b8b8b;--color-success: #2ecc71;--color-warning: #f39c12;--color-danger: #e74c3c;--color-product: #3498db;--color-developer: #2ecc71;--color-artist: #e94560;--pixel-size: 4px;--border-pixel: 3px solid var(--color-text);--shadow-pixel: 4px 4px 0 rgba(0,0,0,.3), -1px -1px 0 rgba(255,255,255,.1) inset;--btn-indigo: #8b8fd6;--btn-indigo-light: #a0a3e0;--btn-indigo-hover: #7d81cb;--btn-indigo-border: #6b6fb8;--btn-indigo-extrude: #5558a0;--btn-indigo-highlight: rgba(160, 163, 224, .2);--btn-indigo-glow: rgba(139, 143, 214, .25);--btn-emerald: #5ab89a;--btn-emerald-light: #72c8ac;--btn-emerald-hover: #4daa8d;--btn-emerald-border: #3f9a7d;--btn-emerald-extrude: #338268;--btn-emerald-highlight: rgba(114, 200, 172, .2);--btn-emerald-glow: rgba(90, 184, 154, .25);--btn-amber: #d4a04a;--btn-amber-light: #dfb468;--btn-amber-hover: #c89340;--btn-amber-border: #b08038;--btn-amber-extrude: #96692e;--btn-amber-highlight: rgba(223, 180, 104, .2);--btn-amber-glow: rgba(212, 160, 74, .25);--btn-ruby: #c96b6b;--btn-ruby-light: #d58585;--btn-ruby-hover: #be5e5e;--btn-ruby-border: #a85050;--btn-ruby-extrude: #8e4040;--btn-ruby-highlight: rgba(213, 133, 133, .2);--btn-ruby-glow: rgba(201, 107, 107, .25);--btn-slate: #7e8a9a;--btn-slate-light: #95a0ae;--btn-slate-hover: #717d8d;--btn-slate-border: #606c7c;--btn-slate-extrude: #4e5a68;--btn-slate-highlight: rgba(149, 160, 174, .18);--btn-slate-glow: rgba(126, 138, 154, .2);--btn-blue: var(--btn-indigo);--btn-blue-light: var(--btn-indigo-light);--btn-blue-hover: var(--btn-indigo-hover);--btn-blue-border: var(--btn-indigo-border);--btn-blue-extrude: var(--btn-indigo-extrude);--btn-blue-highlight: var(--btn-indigo-highlight);--btn-green: var(--btn-emerald);--btn-green-light: var(--btn-emerald-light);--btn-green-hover: var(--btn-emerald-hover);--btn-green-border: var(--btn-emerald-border);--btn-green-extrude: var(--btn-emerald-extrude);--btn-green-highlight: var(--btn-emerald-highlight);--btn-orange: var(--btn-amber);--btn-orange-light: var(--btn-amber-light);--btn-orange-hover: var(--btn-amber-hover);--btn-orange-border: var(--btn-amber-border);--btn-orange-extrude: var(--btn-amber-extrude);--btn-orange-highlight: var(--btn-amber-highlight);--btn-red: var(--btn-ruby);--btn-red-light: var(--btn-ruby-light);--btn-red-hover: var(--btn-ruby-hover);--btn-red-border: var(--btn-ruby-border);--btn-red-extrude: var(--btn-ruby-extrude);--btn-red-highlight: var(--btn-ruby-highlight);--btn-gray: var(--btn-slate);--btn-gray-light: var(--btn-slate-light);--btn-gray-hover: var(--btn-slate-hover);--btn-gray-border: var(--btn-slate-border);--btn-gray-extrude: var(--btn-slate-extrude);--btn-gray-highlight: var(--btn-slate-highlight);--btn-fill: var(--btn-indigo);--btn-fill-hover: var(--btn-indigo-hover);--btn-fill-border: var(--btn-indigo-border);--btn-fill-extrude: var(--btn-indigo-extrude);--btn-fill-glow: var(--btn-indigo-glow);--font-pixel: "Zpix", "Press Start 2P", monospace;--font-cn: "Zpix", "Press Start 2P", monospace;--cursor-sword: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Crect x='0' y='0' width='3' height='3' fill='%23fff'/%3E%3Crect x='3' y='3' width='3' height='3' fill='%23eee8d5'/%3E%3Crect x='6' y='6' width='3' height='3' fill='%23c8c4b0'/%3E%3Crect x='9' y='9' width='3' height='3' fill='%23a8a498'/%3E%3Crect x='9' y='12' width='3' height='3' fill='%23ffd700'/%3E%3Crect x='12' y='12' width='3' height='3' fill='%23b8860b'/%3E%3Crect x='15' y='12' width='3' height='3' fill='%23ffd700'/%3E%3Crect x='12' y='15' width='3' height='3' fill='%238b6914'/%3E%3Crect x='15' y='18' width='3' height='3' fill='%238b4513'/%3E%3Crect x='18' y='21' width='3' height='3' fill='%23b8860b'/%3E%3C/svg%3E") 1 1;--cursor-sword-pointer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Crect x='0' y='0' width='3' height='3' fill='%23fff'/%3E%3Crect x='3' y='3' width='3' height='3' fill='%23eee8d5'/%3E%3Crect x='6' y='6' width='3' height='3' fill='%23c8c4b0'/%3E%3Crect x='9' y='9' width='3' height='3' fill='%23a8a498'/%3E%3Crect x='9' y='12' width='3' height='3' fill='%23ffd700'/%3E%3Crect x='12' y='12' width='3' height='3' fill='%23b8860b'/%3E%3Crect x='15' y='12' width='3' height='3' fill='%23ffd700'/%3E%3Crect x='12' y='15' width='3' height='3' fill='%238b6914'/%3E%3Crect x='15' y='18' width='3' height='3' fill='%238b4513'/%3E%3Crect x='18' y='21' width='3' height='3' fill='%23b8860b'/%3E%3Crect x='12' y='0' width='3' height='3' fill='%23ffd700'/%3E%3Crect x='9' y='3' width='3' height='3' fill='%23ffd700'/%3E%3Crect x='12' y='3' width='3' height='3' fill='%23fff'/%3E%3Crect x='15' y='3' width='3' height='3' fill='%23ffd700'/%3E%3Crect x='12' y='6' width='3' height='3' fill='%23ffd700'/%3E%3C/svg%3E") 1 1}*{margin:0;padding:0;box-sizing:border-box;image-rendering:pixelated;image-rendering:crisp-edges}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--color-bg-dark);cursor:var(--cursor-sword),default}a,button,[role=button],label,select,summary,input[type=button],input[type=submit],input[type=checkbox],input[type=radio]{cursor:var(--cursor-sword-pointer),pointer!important}.game-container{width:100%;height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.pixel-text{font-family:var(--font-pixel);color:var(--color-text);text-shadow:2px 2px 0 rgba(0,0,0,.5);line-height:1.8}.pixel-text-cn{font-family:var(--font-cn);color:var(--color-text);text-shadow:2px 2px 0 rgba(0,0,0,.5);line-height:1.6}.pixel-btn{--btn-fill: var(--btn-indigo);--btn-fill-hover: var(--btn-indigo-hover);--btn-fill-border: var(--btn-indigo-border);--btn-fill-extrude: var(--btn-indigo-extrude);--btn-fill-glow: var(--btn-indigo-glow);font-family:var(--font-cn);font-size:16px;font-weight:600;color:#eff0f8;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 24px;border:3px solid var(--btn-fill-border);cursor:var(--cursor-sword-pointer),pointer;position:relative;overflow:hidden;letter-spacing:1.5px;text-shadow:0 1px 0 rgba(0,0,0,.25);background:var(--btn-fill);box-shadow:0 3px 0 var(--btn-fill-extrude),inset 0 1px #ffffff1f;-webkit-user-select:none;user-select:none;image-rendering:pixelated;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,background-color .12s ease,border-color .12s ease}.pixel-btn:before{content:"";position:absolute;top:0;left:3px;right:3px;height:1px;background:#ffffff26;pointer-events:none;transition:opacity .15s ease}.pixel-btn:after{content:none}.pixel-btn:hover{transform:translateY(-2px);background:var(--btn-fill-hover);box-shadow:0 5px 0 var(--btn-fill-extrude),0 0 12px var(--btn-fill-glow),inset 0 1px #ffffff29}.pixel-btn:hover:before{opacity:.85}.pixel-btn:active{transform:translateY(2px) scale(.98);transition-duration:.06s;background:var(--btn-fill-hover);box-shadow:0 1px 0 var(--btn-fill-extrude),inset 0 1px 2px #0000002e}.pixel-btn:active:before{opacity:.3}.pixel-btn:focus-visible{outline:none;box-shadow:0 3px 0 var(--btn-fill-extrude),0 0 0 3px #fff3,0 0 10px var(--btn-fill-glow),inset 0 1px #ffffff1f}.pixel-btn__icon{font-size:18px;line-height:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25));transition:transform .15s ease}.pixel-btn:hover .pixel-btn__icon{transform:scale(1.08)}.pixel-btn__label{line-height:1}.pixel-btn__badge{margin-left:auto;min-width:38px;height:30px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--btn-fill-border);background:#0000001f;color:#f0f0f0;font-size:13px;text-shadow:0 1px 0 rgba(0,0,0,.3);transition:background .12s ease}.pixel-btn--primary,.pixel-btn--orange{--btn-fill: var(--btn-amber);--btn-fill-hover: var(--btn-amber-hover);--btn-fill-border: var(--btn-amber-border);--btn-fill-extrude: var(--btn-amber-extrude);--btn-fill-glow: var(--btn-amber-glow);color:#fdf8ef}.pixel-btn--accent,.pixel-btn--green{--btn-fill: var(--btn-emerald);--btn-fill-hover: var(--btn-emerald-hover);--btn-fill-border: var(--btn-emerald-border);--btn-fill-extrude: var(--btn-emerald-extrude);--btn-fill-glow: var(--btn-emerald-glow);color:#f0faf6}.pixel-btn--blue{--btn-fill: var(--btn-indigo);--btn-fill-hover: var(--btn-indigo-hover);--btn-fill-border: var(--btn-indigo-border);--btn-fill-extrude: var(--btn-indigo-extrude);--btn-fill-glow: var(--btn-indigo-glow)}.pixel-btn--red{--btn-fill: var(--btn-ruby);--btn-fill-hover: var(--btn-ruby-hover);--btn-fill-border: var(--btn-ruby-border);--btn-fill-extrude: var(--btn-ruby-extrude);--btn-fill-glow: var(--btn-ruby-glow)}.pixel-btn--gray{--btn-fill: var(--btn-slate);--btn-fill-hover: var(--btn-slate-hover);--btn-fill-border: var(--btn-slate-border);--btn-fill-extrude: var(--btn-slate-extrude);--btn-fill-glow: var(--btn-slate-glow)}.pixel-btn:disabled,.pixel-btn[disabled]{--btn-fill: var(--btn-slate);--btn-fill-border: var(--btn-slate-border);--btn-fill-extrude: var(--btn-slate-extrude);--btn-fill-glow: var(--btn-slate-glow);color:#b8bcc8;text-shadow:none;cursor:not-allowed;pointer-events:none;animation:btn-breathe 2.5s ease-in-out infinite}.pixel-btn:disabled:before{opacity:.08}@keyframes btn-breathe{0%,to{opacity:.5}50%{opacity:.68}}.pixel-btn--large{font-size:20px;min-height:56px;padding:14px 32px;border-width:3px}.pixel-btn--small{font-size:12px;min-height:36px;padding:6px 14px;gap:8px;border-width:2px;letter-spacing:1px}.pixel-btn--small .pixel-btn__badge{min-width:28px;height:22px;font-size:10px;border-width:2px}@keyframes btn-stagger-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.title-buttons .pixel-btn,.class-confirm .pixel-btn{animation:btn-stagger-in .4s cubic-bezier(.16,1,.3,1) backwards}.title-buttons .pixel-btn:nth-child(1){animation-delay:.05s}.title-buttons .pixel-btn:nth-child(2){animation-delay:.12s}.title-buttons .pixel-btn:nth-child(3){animation-delay:.19s}.title-buttons .pixel-btn:nth-child(4){animation-delay:.26s}.title-buttons .pixel-btn:nth-child(5){animation-delay:.33s}.class-confirm .pixel-btn:nth-child(1){animation-delay:.05s}.class-confirm .pixel-btn:nth-child(2){animation-delay:.12s}.pixel-panel{background:var(--color-bg);border:3px solid var(--color-text);box-shadow:var(--shadow-pixel);padding:20px;position:relative}.pixel-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#ffffff26}.pixel-progress{width:100%;height:20px;background:var(--color-bg-dark);border:2px solid var(--color-text);position:relative;overflow:hidden}.pixel-progress__fill{height:100%;background:linear-gradient(90deg,#daa520,gold 35%,#ffec80,gold 65%,#daa520);background-size:200% 100%;animation:xp-energy-flow 2s linear infinite;transition:width .5s ease;position:relative}@keyframes xp-energy-flow{0%{background-position:100% 0}to{background-position:-100% 0}}.pixel-progress__fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#ffffff4d,#ffffff14)}.pixel-progress__fill:before{content:"";position:absolute;top:-1px;right:-2px;width:5px;height:calc(100% + 2px);background:linear-gradient(90deg,transparent 0%,#fff8dc 40%,#fffbe6 100%);border-radius:0;box-shadow:0 0 6px 2px #ffd700cc,0 0 12px 4px #ffd70066;animation:xp-tip-pulse 1.5s ease-in-out infinite}@keyframes xp-tip-pulse{0%,to{box-shadow:0 0 5px 2px #ffd700b3,0 0 10px 3px #ffd7004d}50%{box-shadow:0 0 8px 3px #ffd700f2,0 0 16px 6px #ffd70080}}.dialog-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#00000059;padding-bottom:32px}.dialog-box{position:relative;width:min(90%,800px);background:var(--color-bg);border:4px solid var(--color-text);box-shadow:var(--shadow-pixel),0 0 30px #00000080;padding:0;animation:dialog-slide-up .25s ease-out}.dialog-box__speaker{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#ffd7001a;border-bottom:3px solid var(--color-text);font-family:var(--font-cn);font-size:14px;color:var(--color-accent);text-shadow:1px 1px 0 rgba(0,0,0,.5)}.dialog-box__text{padding:20px 24px;font-family:var(--font-cn);font-size:18px;color:var(--color-text);line-height:1.8;min-height:60px}.dialog-box__indicator{position:absolute;bottom:8px;right:12px;font-size:12px;color:var(--color-text-dim);animation:blink 1s infinite}@keyframes dialog-slide-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.loading-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg-dark);color:var(--color-text);font-family:var(--font-cn);font-size:18px;gap:20px}.pixel-spinner{width:24px;height:24px;background:var(--color-accent);animation:spin-pixel .8s steps(4) infinite}.toast-stack{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:200;pointer-events:none}.notification-toast{display:flex;align-items:center;gap:10px;background:var(--color-bg);border:3px solid var(--color-accent);padding:10px 18px;font-family:var(--font-cn);font-size:13px;color:var(--color-text);box-shadow:var(--shadow-pixel);animation:toast-enter .3s ease-out;pointer-events:auto;cursor:var(--cursor-sword-pointer),pointer;max-width:380px;image-rendering:pixelated}.notification-toast__icon{font-family:var(--font-pixel);font-size:14px;flex-shrink:0}.notification-toast__msg{line-height:1.5}.notification-toast--success{border-color:#2ed573}.notification-toast--success .notification-toast__icon{color:#2ed573;text-shadow:0 0 6px rgba(46,213,115,.6)}.notification-toast--warning{border-color:#ffa502}.notification-toast--warning .notification-toast__icon{color:#ffa502;text-shadow:0 0 6px rgba(255,165,2,.6)}.notification-toast--error{border-color:#ff4757}.notification-toast--error .notification-toast__icon{color:#ff4757;text-shadow:0 0 6px rgba(255,71,87,.6)}.notification-toast--info{border-color:var(--color-accent)}.notification-toast--info .notification-toast__icon{color:var(--color-accent);text-shadow:0 0 6px rgba(255,215,0,.6)}.notification-toast--exit{animation:toast-exit .4s ease-in forwards}.notification-toast--action{border-image:linear-gradient(135deg,gold,#ff9ff3,gold) 1;background:linear-gradient(135deg,var(--color-bg) 0%,rgba(255,215,0,.06) 50%,var(--color-bg) 100%)}.notification-toast--action:hover{filter:brightness(1.15)}.notification-toast__arrow{font-family:var(--font-pixel);font-size:14px;color:gold;flex-shrink:0;margin-left:4px;animation:arrow-pulse 1.5s ease-in-out infinite}@keyframes arrow-pulse{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(3px)}}@keyframes toast-enter{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-exit{0%{transform:translate(0);opacity:1;filter:blur(0px)}60%{transform:translate(10px);opacity:.5;filter:blur(1px)}to{transform:translate(60px);opacity:0;filter:blur(3px)}}.screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;animation:screen-enter .3s ease-out both}@keyframes screen-enter{0%{opacity:0}to{opacity:1}}.screen--with-bg{background-size:cover;background-position:center}.screen-transition{width:100%;height:100%;animation:screen-fade-in .35s ease-out both}@keyframes screen-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes spin-pixel{0%{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(360deg)}}@keyframes slide-in-right{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px var(--color-accent)}50%{box-shadow:0 0 20px var(--color-accent),0 0 40px var(--color-accent)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.xp-popup{position:absolute;font-family:var(--font-pixel);font-size:16px;color:var(--color-accent);text-shadow:2px 2px 0 rgba(0,0,0,.8);animation:xp-float 1.5s ease-out forwards;pointer-events:none;z-index:150}@keyframes xp-float{0%{transform:translateY(0);opacity:1}to{transform:translateY(-60px);opacity:0}}@keyframes reward-bounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes glow-pulse{0%,to{filter:brightness(1) drop-shadow(0 0 6px currentColor)}50%{filter:brightness(1.3) drop-shadow(0 0 18px currentColor)}}@keyframes pixel-dissolve-in{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes pixel-dissolve-out{0%{clip-path:inset(0 0 0 0);opacity:1}to{clip-path:inset(0 0 0 100%);opacity:0}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes level-up-text{0%{transform:scale(.5) translateY(20px);opacity:0;text-shadow:0 0 0 #ffd700}40%{transform:scale(1.2) translateY(-10px);opacity:1;text-shadow:0 0 30px #ffd700}70%{transform:scale(.95) translateY(0)}to{transform:scale(1) translateY(0);opacity:1;text-shadow:0 0 10px #ffd700}}@keyframes shake-horizontal{0%,to{transform:translate(0)}10%{transform:translate(-6px)}20%{transform:translate(6px)}30%{transform:translate(-4px)}40%{transform:translate(4px)}50%{transform:translate(-2px)}60%{transform:translate(2px)}}@keyframes confetti-fall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes slide-in-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes zoom-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.anim-reward-bounce{animation:reward-bounce .6s ease forwards}.anim-glow-pulse{animation:glow-pulse 2s ease infinite}.anim-sparkle{animation:sparkle 1.5s ease infinite}.anim-level-up{animation:level-up-text .8s ease forwards}.anim-shake{animation:shake-horizontal .4s ease}.anim-fade-in{animation:fade-in .5s ease forwards}.anim-slide-up{animation:slide-up .5s ease forwards}.anim-zoom-in{animation:zoom-in .3s cubic-bezier(.175,.885,.32,1.275) forwards}.pixel-spinner{animation-timing-function:steps(4)!important}.dialog-box__indicator,.intro-cursor,.npc-dialog-bubble__cursor{animation-timing-function:steps(1,end)!important}.screen,.screen *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.screen *,.pixel-btn,.pixel-btn__badge,.pixel-btn--small,.pixel-btn--small .pixel-btn__badge{border-radius:0!important}.screen *{filter:none}.pixel-panel,.dialog-box,.notification-toast,.title-confirm-dialog,.prompt-block,.command-block,.class-card,.level-card,.map-tooltip,.replay-confirm{box-shadow:3px 3px #00000073!important}.pixel-progress__fill:before,.pixel-progress__fill:after{filter:none!important}@media(max-height:700px){.pixel-btn{font-size:12px;padding:6px 14px;min-height:36px;transition-duration:.1s}.pixel-btn:before{opacity:.1}.pixel-btn--large{font-size:16px;padding:10px 24px;min-height:46px}.dialog-box{padding:0}.dialog-box__text{font-size:15px;min-height:40px}.notification-toast{padding:8px 14px;font-size:12px}}@media(max-width:900px){.pixel-btn{font-size:12px;padding:6px 14px;min-height:36px;transition-duration:.1s}.pixel-btn:before{opacity:.1}.pixel-btn--large{font-size:16px;padding:10px 24px;min-height:46px}.pixel-panel{padding:14px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-dark);border-left:1px solid rgba(255,255,255,.08)}::-webkit-scrollbar-thumb{background:var(--color-bg-light);border:1px solid var(--color-text-dim);image-rendering:pixelated}::-webkit-scrollbar-thumb:hover{background:var(--color-accent);border-color:var(--color-accent)}::-webkit-scrollbar-corner{background:var(--color-bg-dark)}*{scrollbar-width:thin;scrollbar-color:var(--color-bg-light) var(--color-bg-dark)}
