@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/static/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/static/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.self-center{align-self:center}.border{border-width:1px}.p-8{padding:2rem}.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-cc-orange{--tw-text-opacity: 1;color:rgb(232 168 56 / var(--tw-text-opacity, 1))}.text-ink\/50{color:#2c241680}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--cc-bg: #120818;--cc-bg-elevated: rgba(255, 255, 255, .06);--cc-panel: rgba(255, 255, 255, .08);--cc-border: rgba(216, 180, 254, .28);--cc-green: #ec4899;--cc-green-dark: #db2777;--cc-orange: #f9a8d4;--cc-blue: #c084fc;--cc-purple: #a855f7;--cc-pink: #fce7f3;--cc-cyan: #e879f9;--cc-text: #fce7f3;--cc-muted: #d8b4fe;--cc-glass: rgba(255, 255, 255, .07);--cc-glass-strong: rgba(255, 255, 255, .12);--cc-glass-border: rgba(255, 255, 255, .18);--cc-glass-blur: blur(18px) saturate(1.45);--cc-radius: 12px;--cc-radius-sm: 8px;--cc-shadow: 0 8px 32px rgba(0, 0, 0, .35);--cc-shadow-glow: 0 0 32px rgba(168, 85, 247, .22), 0 0 64px rgba(236, 72, 153, .08);--cc-transition: .2s ease}*{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale, 1));height:100%;scroll-behavior:smooth}html,body,#root{min-height:100%;margin:0}#root{position:relative;isolation:isolate}.cc-app-shell{position:relative;z-index:1;min-height:100%}body{font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;font-size:inherit;background-color:var(--cc-bg);color:var(--cc-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background:#a855f759;color:#fff}::selection{background:#a855f759;color:#fff}*:focus-visible{outline:2px solid var(--cc-blue);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:#fbcfe8 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#fbcfe8;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#f9a8d4}@keyframes cc-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes cc-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cc-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes cc-spin{to{transform:rotate(360deg)}}@keyframes cc-aurora-drift{0%,to{transform:translate(0) scale(1) rotate(0);opacity:.55}33%{transform:translate(4%,-3%) scale(1.08) rotate(2deg);opacity:.75}66%{transform:translate(-3%,2%) scale(.96) rotate(-1deg);opacity:.6}}@keyframes cc-orb-float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-24px) scale(1.06)}}@keyframes cc-spark-pulse{0%,to{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1)}}@keyframes cc-scan-sweep{0%{transform:translateY(-100%);opacity:0}15%{opacity:.06}to{transform:translateY(100vh);opacity:0}}.site-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.site-bg__base{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 70% at 50% -10%,rgba(168,85,247,.35) 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 90% 20%,rgba(236,72,153,.2) 0%,transparent 50%),radial-gradient(ellipse 55% 45% at 10% 80%,rgba(124,58,237,.25) 0%,transparent 48%),linear-gradient(165deg,#0a0510,#140818 30%,#1a0a24 55%,#0f0618)}.site-bg__aurora{position:absolute;width:140%;height:70%;left:-20%;border-radius:50%;filter:blur(60px);animation:cc-aurora-drift 18s ease-in-out infinite}.site-bg__aurora--a{top:-15%;background:linear-gradient(90deg,#a855f759,#ec489940,#c084fc33)}.site-bg__aurora--b{bottom:-20%;animation-delay:-9s;animation-duration:22s;background:linear-gradient(90deg,#7c3aed47,#db27772e,#a78bfa38)}.site-bg__orb{position:absolute;border-radius:50%;filter:blur(40px);animation:cc-orb-float 12s ease-in-out infinite}.site-bg__orb--1{width:320px;height:320px;top:8%;left:12%;background:#a855f759;animation-duration:14s}.site-bg__orb--2{width:280px;height:280px;top:45%;right:8%;background:#ec489947;animation-delay:-4s;animation-duration:16s}.site-bg__orb--3{width:220px;height:220px;bottom:12%;left:35%;background:#c084fc4d;animation-delay:-7s;animation-duration:11s}.site-bg__orb--4{width:180px;height:180px;top:22%;right:32%;background:#db277738;animation-delay:-2s;animation-duration:13s}.site-bg__grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.07;background-image:linear-gradient(rgba(216,180,254,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(216,180,254,.5) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 20%,transparent 75%)}.site-bg__scan{position:absolute;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,rgba(216,180,254,.08),transparent);animation:cc-scan-sweep 8s linear infinite}.site-bg__spark{position:absolute;width:3px;height:3px;border-radius:50%;background:#f9a8d4;box-shadow:0 0 8px 2px #ec489999;animation:cc-spark-pulse ease-in-out infinite}@media(prefers-reduced-motion:reduce){.site-bg__aurora,.site-bg__orb,.site-bg__scan,.site-bg__spark{animation:none!important}}.cc-glass{background:var(--cc-glass);backdrop-filter:var(--cc-glass-blur);-webkit-backdrop-filter:var(--cc-glass-blur);border:1px solid var(--cc-glass-border)}.cc-glass-strong{background:var(--cc-glass-strong);backdrop-filter:var(--cc-glass-blur);-webkit-backdrop-filter:var(--cc-glass-blur);border:1px solid var(--cc-glass-border)}.cc-app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100vh;height:100dvh;font-family:Segoe UI,Microsoft YaHei,sans-serif;color:var(--cc-text);background:transparent}.cc-app-loading-spinner{width:36px;height:36px;border:3px solid rgba(168,85,247,.25);border-top-color:var(--cc-purple);border-radius:50%;animation:cc-spin .8s linear infinite}.cc-app-loading-text{font-size:.875rem;color:var(--cc-muted);letter-spacing:.04em}.cc-page{min-height:100vh;min-height:100dvh;background:transparent;color:var(--cc-text);position:relative}.cc-header{background:linear-gradient(180deg,#ffffff1a,#ffffff0a);border-bottom:1px solid var(--cc-glass-border);box-shadow:0 8px 32px #00000040;backdrop-filter:var(--cc-glass-blur);-webkit-backdrop-filter:var(--cc-glass-blur)}.cc-header-inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.cc-logo{display:flex;align-items:center;gap:12px}.cc-logo-icon{font-size:2rem;filter:drop-shadow(0 0 8px rgba(236,72,153,.35))}.cc-logo-title{font-size:1.5rem;font-weight:800;color:#fdf2f8;margin:0;letter-spacing:.02em;text-shadow:0 0 20px rgba(236,72,153,.35)}.cc-logo-sub{margin:0;font-size:.8125rem;color:var(--cc-muted)}.cc-header-stats{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 16px;min-width:0;font-size:.875rem}.cc-rank-badge{background:linear-gradient(135deg,#ec489959,#a855f759);color:#fce7f3;padding:4px 10px;border-radius:999px;font-weight:700;font-size:.75rem;border:1px solid var(--cc-glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cc-xp-text{color:#f9a8d4;font-weight:600}.cc-progress-text{color:var(--cc-muted)}.cc-header-link{color:#e879f9;text-decoration:none;font-weight:500}.cc-header-link:hover{text-decoration:underline}.cc-header-stats .display-settings--compact{padding:4px 8px;background:#ffffff0a;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm)}.cc-header-stats .setting-toggle{background:#ffffff0f;border-color:var(--cc-border);color:var(--cc-muted);font-family:inherit}.cc-header-stats .setting-toggle:hover{background:#ec48991a;border-color:#ec489959;color:var(--cc-text)}.cc-header-stats .setting-label{color:var(--cc-muted)}.cc-header-stats .setting-divider{background:var(--cc-border)}.cc-xp-bar-wrap{height:4px;background:#ffffff14}.cc-xp-bar{height:100%;background:linear-gradient(90deg,#a855f7,#ec4899,#f9a8d4);box-shadow:0 0 12px #a855f780;transition:width .4s ease}.cc-main{max-width:1200px;margin:0 auto;padding:24px 24px 32px}.cc-home-stack{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}.cc-home-stack>*{animation:cc-fade-up .45s ease backwards}.cc-home-stack>*:nth-child(1){animation-delay:.04s}.cc-home-stack>*:nth-child(2){animation-delay:.08s}.cc-home-stack>*:nth-child(3){animation-delay:.12s}.cc-home-stack>*:nth-child(4){animation-delay:.16s}.cc-home-stack>*:nth-child(5){animation-delay:.2s}.cc-home-stack .hero-select,.cc-home-stack .cc-dungeon-entry,.cc-home-stack .cc-forest-entry,.cc-home-stack .cc-continue-btn{margin-bottom:0}.cc-home-stack .equipment-launcher{width:100%}.cc-continue-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-bottom:24px;padding:12px 28px;background:linear-gradient(135deg,#ec489973,#a855f766);color:#fff;font-weight:800;font-size:1.125rem;border-radius:8px;text-decoration:none;border:1px solid var(--cc-glass-border);box-shadow:var(--cc-shadow-glow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .1s}.cc-continue-btn:hover{transform:translateY(-2px)}.cc-continue-btn:active{transform:translateY(2px);box-shadow:0 2px #be185d}.cc-section-title{font-size:1rem;font-weight:700;color:var(--cc-muted);margin:0 0 16px;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:12px}.cc-section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--cc-border),transparent)}.cc-campaigns{display:grid;gap:20px;animation:cc-fade-up .5s ease .25s backwards}@media(min-width:768px){.cc-campaigns{grid-template-columns:repeat(2,1fr)}}.cc-campaign{border-radius:var(--cc-radius);padding:20px;border:1px solid var(--cc-glass-border);position:relative;overflow:hidden;min-height:220px;display:flex;flex-direction:column;box-shadow:var(--cc-shadow);backdrop-filter:var(--cc-glass-blur);-webkit-backdrop-filter:var(--cc-glass-blur);transition:transform var(--cc-transition),box-shadow var(--cc-transition),border-color var(--cc-transition)}.cc-campaign:not(.cc-campaign--locked):hover{transform:translateY(-3px);box-shadow:var(--cc-shadow-glow);border-color:#ec489966}.cc-campaign--locked{opacity:.55;filter:grayscale(.4)}.cc-campaign-header{display:flex;justify-content:space-between;margin-bottom:12px}.cc-campaign-course{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--cc-muted);letter-spacing:.05em}.cc-campaign-lock{font-size:.75rem;background:#a855f733;color:var(--cc-muted);padding:2px 8px;border-radius:4px;border:1px solid var(--cc-glass-border)}.cc-campaign-body{display:flex;gap:16px;flex:1}.cc-campaign-icon{font-size:2.5rem;line-height:1}.cc-campaign-world{font-size:1.375rem;font-weight:800;margin:0 0 2px;color:var(--cc-text)}.cc-campaign-world-en{font-size:.875rem;color:var(--cc-muted);margin:0 0 8px;font-style:italic}.cc-campaign-desc{font-size:.8125rem;color:#fce7f3d9;margin:0 0 6px;line-height:1.5}.cc-campaign-progress{font-size:.75rem;color:var(--cc-muted);margin:0}.cc-level-path{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:16px 0 12px;padding:8px 0}.cc-level-node-wrap{display:flex;align-items:center}.cc-level-line{width:20px;height:3px;background:#fff3}.cc-level-line--done{background:#7dba4e}.cc-level-node{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;text-decoration:none;border:2px solid rgba(255,255,255,.3);color:#fff;transition:transform .15s,box-shadow .15s}.cc-level-node--open{background:#00000059;border-color:#fff}.cc-level-node--open:hover{transform:scale(1.15);box-shadow:0 0 12px #7dba4e99}.cc-level-node--done{background:#7dba4e4d;border-color:#7dba4e;color:#7dba4e}.cc-level-node--locked{background:#0006;opacity:.6;cursor:not-allowed}.cc-campaign-play{align-self:flex-start;padding:8px 24px;border-radius:6px;color:#0d1117;font-weight:800;text-decoration:none;font-size:.9375rem;box-shadow:0 3px #00000040;transition:transform .1s}.cc-campaign-play:hover{transform:translateY(-1px)}.cc-footer{text-align:center;padding:28px 24px;font-size:.75rem;color:var(--cc-muted);border-top:1px solid var(--cc-glass-border);background:#ffffff08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cc-footer a{color:#e879f9;text-decoration:none;transition:color var(--cc-transition)}.cc-footer a:hover{color:#f9a8d4;text-decoration:underline}.hero-select{margin-bottom:24px}.hero-select-head{margin-bottom:14px}.hero-select-title{font-size:1rem;font-weight:700;color:var(--cc-muted);margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em}.hero-select-sub{margin:0;font-size:.8125rem;color:var(--cc-muted);opacity:.85}.hero-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#080a14eb;display:flex;align-items:center;justify-content:center;padding:16px;animation:cc-overlay-in .2s ease}.hero-detail-frame{width:min(720px,96vw);max-height:min(92vh,640px);background:linear-gradient(165deg,#1e1630fa,#0c101cfa);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 24px 64px #0000008c,0 0 0 1px #a855f726;display:flex;flex-direction:column;overflow:hidden;animation:cc-modal-in .28s ease;isolation:isolate}.hero-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.hero-detail-title{margin:0;font-size:1.35rem;color:#f8fafc}.hero-detail-subtitle{margin:4px 0 0;font-size:.8125rem;color:var(--cc-muted)}.hero-detail-close{flex-shrink:0;width:36px;height:36px;border:none;border-radius:8px;background:#ffffff14;color:#e2e8f0;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .15s}.hero-detail-close:hover{background:#ffffff24}.hero-detail-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;padding:16px 18px 18px;overflow-y:auto}.hero-detail-body .hero-detail-photo{width:100%;min-height:340px;height:340px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0f1420}.hero-detail-photo img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center top;object-position:center top}@media(max-width:720px){.hero-detail-body{grid-template-columns:1fr}}.hero-detail-info{display:flex;flex-direction:column;gap:12px;min-width:0}.hero-detail-desc{margin:0;font-size:.9375rem;color:#cbd5e1;line-height:1.55}.hero-detail-stats{margin:0;display:flex;flex-direction:column;gap:8px;font-size:.8125rem}.hero-detail-stats div{display:grid;grid-template-columns:4.5em 1fr;gap:8px}.hero-detail-stats dt{margin:0;color:var(--cc-muted)}.hero-detail-stats dd{margin:0;color:#e2e8f0}.hero-detail-stats strong{color:#f9a8d4}.hero-detail-select{margin-top:auto;padding:10px 16px;border:1px solid rgba(236,72,153,.45);border-radius:10px;background:linear-gradient(145deg,#ec489940,#a855f733);color:#fce7f3;font-size:.9375rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s}.hero-detail-select:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ec489940}.hero-detail-select--active{border-color:#22c55e80;background:linear-gradient(145deg,#22c55e33,#10b98126);color:#bbf7d0}.hero-select-pack{margin-bottom:18px}.hero-select-pack-head{margin-bottom:10px}.hero-select-pack-title{display:inline-block;margin:0 8px 0 0;font-size:.9375rem;font-weight:700;color:#e2e8f0}.hero-select-pack-badge{display:inline-block;font-size:.6875rem;padding:2px 8px;border-radius:999px;background:#22c55e26;color:#86efac;vertical-align:middle}.hero-select-pack-desc{margin:6px 0 0;font-size:.75rem;color:var(--cc-muted)}.hero-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}.hero-card .hero-card-thumb{height:88px;border-radius:8px;display:flex;align-items:stretch;justify-content:center;margin-bottom:8px;border:1px solid rgba(255,255,255,.06);overflow:hidden;background:#0f1420;position:relative}.hero-card-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 18%;object-position:center 18%}.hero-card{position:relative;background:linear-gradient(145deg,#a855f71f,#ffffff0f);border:1px solid var(--cc-glass-border);border-radius:10px;padding:12px;cursor:pointer;text-align:center;transition:border-color var(--cc-transition),transform var(--cc-transition),box-shadow var(--cc-transition);color:inherit;font-family:inherit;box-shadow:var(--cc-shadow);backdrop-filter:var(--cc-glass-blur);-webkit-backdrop-filter:var(--cc-glass-blur)}.hero-card:hover{border-color:#ec489973;transform:translateY(-3px);box-shadow:var(--cc-shadow-glow)}.hero-card--active{border-color:#ec48998c;box-shadow:var(--cc-shadow-glow),0 4px 16px #0000004d}.hero-card-name{display:block;font-weight:700;font-size:.9375rem}.hero-card-role{display:block;font-size:.75rem;color:var(--cc-muted)}.hero-card-trait{display:block;font-size:.6875rem;color:#f9a8d4;margin-top:2px}.hero-card-check{position:absolute;top:6px;right:8px;color:#e879f9;font-weight:800}.equipment-panel--modal{margin-bottom:0}.equipment-panel--modal .equipment-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:min(52vh,480px);overflow-y:auto;padding-right:4px}.item-box-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:12px;animation:cc-overlay-in .2s ease}.item-box-frame{position:relative;width:min(920px,98vw);max-height:min(92vh,680px);background:linear-gradient(180deg,#6b4a2a,#4a3018 8%,#3d2810 92%,#2a1a08);border:4px solid #2a1808;border-radius:6px;box-shadow:0 0 0 3px #8b6914,0 24px 64px #000000a6,inset 0 2px #ffdc8c26;display:flex;flex-direction:column;overflow:hidden;animation:cc-modal-in .28s ease}.item-box-chains{position:absolute;top:-28px;left:12%;right:12%;height:32px;background:repeating-linear-gradient(90deg,transparent 0 18px,#888 18px 20px,transparent 20px 38px),linear-gradient(180deg,#aaa,#666);border-radius:4px 4px 0 0;pointer-events:none;opacity:.85}.item-box-header{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 16px 8px;position:relative;background:linear-gradient(180deg,#5c3a18,#4a2e10);border-bottom:3px solid #2a1808}.item-box-title{margin:0;font-size:1.375rem;font-weight:900;color:#ffe082;text-shadow:0 2px 0 #3d2008,0 0 12px rgba(255,200,80,.4);letter-spacing:.12em}.item-box-xp{display:flex;align-items:center;gap:6px;padding:4px 12px;background:linear-gradient(180deg,#f5e6c8,#dcc8a0);border:2px solid #8b6914;border-radius:6px;font-weight:800;font-size:.875rem;color:#2a1808;box-shadow:inset 0 1px #ffffff80}.item-box-xp-gem{font-size:1rem}.item-box-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:2px solid #8b2020;border-radius:4px;background:linear-gradient(180deg,#e85050,#a82020);color:#fff;font-size:1.25rem;font-weight:900;cursor:pointer;line-height:1;box-shadow:0 2px #5c1010}.item-box-close:hover{filter:brightness(1.08)}.item-box-body{padding:12px 14px 16px;overflow:auto;flex:1;min-height:0}.item-box{display:grid;grid-template-columns:200px 1fr 220px;gap:14px;min-height:420px}.item-box-col{display:flex;flex-direction:column;gap:12px;min-height:0}.item-box-paper{background:linear-gradient(180deg,#f8f0dc,#e8dcc4,#dcc8a8);border:3px solid #8b7355;border-radius:4px;box-shadow:inset 0 0 24px #8b691414;flex:1;min-height:0}.item-box-paper--hero{padding:10px}.item-box-paper--list{padding:10px 12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.item-box-paper--detail{padding:16px 14px;display:flex;flex-direction:column;align-items:center;text-align:center}.item-box-slot-grid{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(4,52px);gap:6px;justify-content:center;align-content:center;min-height:100%}.item-box-slot{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:2px dashed #a89878;border-radius:4px;background:#ffffff59;font-size:1.25rem;padding:0;cursor:default;font-family:inherit}.item-box-slot--deco{opacity:.45;font-size:1rem}.item-box-slot--equip{cursor:pointer;border-style:solid;border-color:#8b7355;background:#ffffff8c;transition:box-shadow .15s,border-color .15s}.item-box-slot--equip:hover{border-color:#58a6ff}.item-box-slot--filled{background:#ffffffbf}.item-box-slot--active{box-shadow:0 0 0 2px #58a6ff,0 0 12px #58a6ff8c;border-color:#58a6ff}.item-box-slot--weapon{grid-column:3;grid-row:1}.item-box-slot--armor{grid-column:1;grid-row:2}.item-box-slot--boots{grid-column:1;grid-row:4}.item-box-slot--head{grid-column:2;grid-row:1}.item-box-slot--neck{grid-column:1;grid-row:1}.item-box-slot--shoulder{grid-column:3;grid-row:2}.item-box-slot--ring{grid-column:3;grid-row:3}.item-box-slot--glove{grid-column:2;grid-row:4}.item-box-slot--belt{grid-column:3;grid-row:4}.item-box-hero-preview{grid-column:2;grid-row:2 / span 2;display:flex;align-items:center;justify-content:center;width:52px;height:110px;justify-self:center;align-self:center;overflow:hidden;border-radius:6px;background:#0f1420}.item-box-hero-photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 18%;object-position:center 18%}.item-box-hero-switch{padding:8px 10px;background:linear-gradient(180deg,#7dba4e,#5a9038);border:2px solid #4a7828;border-radius:6px;color:#fff;font-weight:800;font-size:.75rem;cursor:pointer;font-family:inherit;box-shadow:0 2px #3a5820;text-shadow:0 1px 0 rgba(0,0,0,.3)}.item-box-hero-switch:hover{filter:brightness(1.06)}.item-box-section-title{margin:0;font-size:.8125rem;font-weight:900;color:#5c4030;text-transform:uppercase;letter-spacing:.06em}.item-box-section-title--locked{margin-top:4px}.item-box-items-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:64px;position:relative}.item-box-items-grid{display:flex;flex-wrap:wrap;gap:8px;min-height:80px}.item-box-empty{font-size:.75rem;color:#8b7355;font-style:italic}.item-box-select-arrow{font-size:2rem;color:#ffd54f;text-shadow:0 0 8px rgba(255,213,79,.8);filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));animation:item-box-arrow-pulse .8s ease infinite alternate}@keyframes item-box-arrow-pulse{0%{transform:translate(0);opacity:.85}to{transform:translate(4px);opacity:1}}.item-box-tile{position:relative;width:56px;height:56px;border:2px solid #8b7355;border-radius:4px;background:#ffffffa6;cursor:pointer;padding:0;font-family:inherit;transition:border-color .12s,box-shadow .12s,transform .1s}.item-box-tile:hover{transform:translateY(-1px);border-color:#58a6ff}.item-box-tile--selected{border-color:#58a6ff;box-shadow:0 0 0 2px #58a6ff,0 0 14px #58a6ff80;background:#ffffffe6}.item-box-tile--equipped{border-color:#7dba4e;box-shadow:0 0 0 2px #7dba4e80}.item-box-tile--locked{opacity:.55;filter:grayscale(.6)}.item-box-tile--dimmed{opacity:.7}.item-box-tile-icon{font-size:1.75rem;line-height:1}.item-box-tile-badge{position:absolute;bottom:2px;right:2px;min-width:16px;height:16px;padding:0 3px;background:#3d2817;color:#ffe082;font-size:.5625rem;font-weight:800;border-radius:3px;line-height:16px}.item-box-hint-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:linear-gradient(180deg,#4a90d9,#3070b0);border:2px solid #205080;border-radius:4px;color:#fff;font-size:.6875rem;font-weight:700}.item-box-hint-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#ffffff40;font-size:.75rem}.item-box-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px}.item-box-btn{flex:1;padding:10px 12px;border-radius:6px;font-weight:900;font-size:.875rem;cursor:pointer;font-family:inherit;border:2px solid transparent;text-shadow:0 1px 0 rgba(0,0,0,.25)}.item-box-btn--equip{background:linear-gradient(180deg,#ffd54f,#e8a838);border-color:#c48820;color:#2a1808;box-shadow:0 3px #8b6914}.item-box-btn--equip:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}.item-box-btn--start{background:linear-gradient(180deg,#9a9a9a,#6a6a6a);border-color:#4a4a4a;color:#fff;box-shadow:0 3px #3a3a3a}.item-box-detail-icon{font-size:3rem;margin-bottom:8px}.item-box-detail-name{margin:0 0 4px;font-size:1rem;font-weight:900;color:#3d2817}.item-box-detail-slot{font-size:.6875rem;font-weight:700;color:#8b6914;text-transform:uppercase;margin-bottom:10px}.item-box-detail-desc{margin:0 0 12px;font-size:.75rem;line-height:1.5;color:#5c4030}.item-box-detail-stats{list-style:none;margin:0;padding:0;width:100%;text-align:left}.item-box-detail-stats li{padding:4px 8px;margin-bottom:4px;background:#7dba4e26;border-left:3px solid #7dba4e;font-size:.75rem;font-weight:700;color:#3d5020}.item-box-detail-lock,.item-box-detail-cost{margin:10px 0 0;font-size:.6875rem;font-weight:700;color:#a82020}.item-box-detail-empty{margin:auto;font-size:.8125rem;color:#8b7355;font-style:italic}@media(max-width:780px){.item-box{grid-template-columns:1fr;min-height:auto}.item-box-slot-grid{min-height:240px}}.equipment-launcher{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;background:linear-gradient(145deg,#1e2430 0%,var(--cc-bg-elevated) 100%);border:2px solid #3d4a5c;border-radius:var(--cc-radius);color:var(--cc-text);cursor:pointer;font-family:inherit;text-align:left;transition:border-color var(--cc-transition),transform .1s,box-shadow var(--cc-transition);box-shadow:0 2px 12px #00000040}.equipment-launcher:hover{border-color:var(--cc-orange);box-shadow:0 6px 24px #e8a83838;transform:translateY(-2px)}.equipment-launcher-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.equipment-launcher-icon{font-size:1.5rem}.equipment-launcher-text{display:flex;flex-direction:column;gap:2px;min-width:0}.equipment-launcher-text strong{font-size:.9375rem}.equipment-launcher-equipped{font-size:.8125rem;color:#8b949e;letter-spacing:.15em}.equipment-launcher-stats{font-size:.6875rem;font-weight:700;color:#7dba4e;white-space:nowrap}.equipment-launcher-arrow{font-size:1.25rem;color:#e8a838;font-weight:700}.equipment-launcher--sidebar{flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:linear-gradient(145deg,#2a2238,#1a1524);border:2px solid #4a3d5c;border-radius:12px;font-size:.625rem;font-weight:700;color:#c8bdd8}.equipment-launcher--sidebar:hover{border-color:#e8a838;color:#fff}.equipment-launcher--sidebar .equipment-launcher-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border-radius:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect fill='%23c44' x='8' y='20' width='48' height='28' rx='4'/%3E%3Crect fill='%23daa520' x='14' y='8' width='8' height='20' rx='2'/%3E%3Crect fill='%23888' x='42' y='8' width='8' height='20' rx='2'/%3E%3Ccircle fill='%2344aa44' cx='32' cy='34' r='8'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;font-size:0}.equipment-launcher--level{padding:6px 10px;width:auto;border-radius:8px;font-size:.75rem}.equipment-launcher--level .equipment-launcher-main{gap:6px}.equipment-launcher--level .equipment-launcher-text strong{font-size:.75rem}.equipment-launcher--level .equipment-launcher-equipped,.equipment-launcher--level .equipment-launcher-stats,.equipment-launcher--level .equipment-launcher-arrow{display:none}.cc-equip-hud-hint{display:block;font-size:.5625rem;color:#9fdc6b;margin-top:2px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.9);white-space:nowrap}.equipment-panel{margin-bottom:24px}.equipment-title{font-size:1rem;font-weight:700;color:#8b949e;margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em}.equipment-sub{margin:0 0 12px;font-size:.8125rem;color:#6e7681}.equipment-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.equipment-card{display:flex;gap:10px;padding:12px;background:#161b22;border:2px solid #30363d;border-radius:10px;align-items:flex-start;text-align:left;width:100%;font-family:inherit;color:inherit}.equipment-card--btn{cursor:pointer;transition:border-color .15s,transform .1s,box-shadow .15s}.equipment-card--btn:hover:not(:disabled){border-color:#58a6ff;transform:translateY(-1px)}.equipment-card--actionable:hover:not(:disabled){border-color:#7dba4e;box-shadow:0 4px 16px #7dba4e26}.equipment-card--btn:disabled{cursor:default}.equipment-dev-hint{color:#7dba4e}.equipment-equip-hint,.equipment-buy-hint{font-size:.6875rem;font-weight:700;color:#58a6ff}.equipment-buy-hint--disabled{color:#8b949e}.equipment-panel--compact .equipment-grid{grid-template-columns:1fr}.equipment-sub--compact{margin-bottom:8px}.cc-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:9999;padding:10px 20px;background:#21262d;border:1px solid #7dba4e;border-radius:8px;color:#e6edf3;font-size:.875rem;font-weight:600;box-shadow:0 8px 24px #00000073;animation:cc-toast-in .25s ease}@keyframes cc-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cc-dungeon-entry{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:18px 22px;background:linear-gradient(135deg,#a855f724,#ec48991a,#ffffff0f);border:1px solid var(--cc-glass-border);border-radius:var(--cc-radius);color:var(--cc-text);text-decoration:none;transition:border-color var(--cc-transition),transform var(--cc-transition),box-shadow var(--cc-transition);box-shadow:var(--cc-shadow);backdrop-filter:var(--cc-glass-blur);-webkit-backdrop-filter:var(--cc-glass-blur)}.cc-dungeon-entry:hover{border-color:#ec489973;transform:translateY(-3px);box-shadow:var(--cc-shadow-glow)}.cc-dungeon-entry-icon{font-size:2rem}.cc-dungeon-entry strong{display:block;font-size:1.125rem;margin-bottom:4px}.cc-dungeon-entry span:not(.cc-dungeon-entry-icon):not(.cc-dungeon-entry-arrow){font-size:.8125rem;color:var(--cc-muted)}.cc-dungeon-entry-arrow{margin-left:auto;font-size:1.5rem;color:#e879f9}.cc-map-page{min-height:100dvh;display:flex;position:relative;background:#121016;color:#f5f0e8;overflow:hidden}.cc-map-page--dungeon,.cc-map-page--forest,.cc-map-page--cyber{background:#121016}.cc-map-sidebar{width:88px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 10px;background:linear-gradient(180deg,#1c181f,#121016);border-right:1px solid rgba(255,255,255,.08);z-index:30}.cc-map-back-btn{display:block;width:100%;padding:8px 4px;text-align:center;font-size:.6875rem;font-weight:600;color:#9a8fb0;text-decoration:none;border-radius:8px;transition:color .15s,background .15s}.cc-map-back-btn:hover{color:#fff;background:#ffffff0f}.cc-map-nav{display:flex;flex-direction:column;gap:10px;width:100%}.cc-map-nav-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:linear-gradient(145deg,#2a2430,#1a161e);border:2px solid #3a3440;border-radius:12px;color:#c8c0c8;cursor:pointer;text-decoration:none;font-family:inherit;font-size:.625rem;font-weight:700;transition:transform .12s,border-color .15s,box-shadow .15s}.cc-map-nav-item:hover,.cc-map-nav-item--active{border-color:#a898a0;box-shadow:0 0 12px #ffffff14;transform:translateY(-1px);color:#fff}.cc-map-nav-icon{width:40px;height:40px;border-radius:8px;background-size:contain;background-repeat:no-repeat;background-position:center}.cc-map-nav-icon--gear{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect fill='%23c44' x='8' y='20' width='48' height='28' rx='4'/%3E%3Crect fill='%23daa520' x='14' y='8' width='8' height='20' rx='2'/%3E%3Crect fill='%23888' x='42' y='8' width='8' height='20' rx='2'/%3E%3Ccircle fill='%2344aa44' cx='32' cy='34' r='8'/%3E%3C/svg%3E")}.cc-map-nav-icon--hero{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle fill='%23f4c2a0' cx='22' cy='22' r='10'/%3E%3Ccircle fill='%23e8b090' cx='42' cy='22' r='10'/%3E%3Crect fill='%234a90d9' x='12' y='34' width='20' height='22' rx='4'/%3E%3Crect fill='%23c44' x='32' y='34' width='20' height='22' rx='4'/%3E%3C/svg%3E")}.cc-map-nav-icon--book{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect fill='%238b6914' x='12' y='10' width='40' height='44' rx='3'/%3E%3Crect fill='%23f5e6c8' x='18' y='16' width='28' height='4'/%3E%3Crect fill='%23f5e6c8' x='18' y='24' width='28' height='4'/%3E%3Crect fill='%23f5e6c8' x='18' y='32' width='20' height='4'/%3E%3C/svg%3E")}.cc-map-drawer{position:absolute;left:88px;top:0;bottom:0;width:min(380px,88vw);z-index:40;background:linear-gradient(180deg,#14101cfa,#0c0a12fa);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid rgba(255,255,255,.08);padding:16px;overflow-y:auto;box-shadow:12px 0 40px #00000080;animation:cc-fade-up .25s ease}.cc-map-drawer-close{position:absolute;top:10px;right:14px;background:none;border:none;color:#8b949e;font-size:1.5rem;cursor:pointer;line-height:1}.cc-map-main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.cc-map-viewport{flex:1;position:relative;overflow:hidden;min-height:0}.cc-map-viewport--3d{background:#0a0a0c}.cc-map-3d-canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;isolation:isolate;z-index:0}.cc-map-3d-canvas-wrap canvas{display:block;width:100%!important;height:100%!important}.cc-map-subtitle{position:absolute;top:58px;left:50%;transform:translate(-50%);z-index:10;pointer-events:none;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.85;text-shadow:0 1px 8px rgba(0,0,0,.8)}.cc-map-3d-label{display:flex;align-items:center;gap:6px;padding:5px 12px;background:#fffcf5f0;border:2px solid rgba(200,160,80,.55);border-radius:8px;white-space:nowrap;font-size:12px;font-weight:700;color:#2a2030;box-shadow:0 4px 20px #00000040;transform:translateY(-32px)}.cc-map-3d-label-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:linear-gradient(180deg,#70c0ff,#4090e0);color:#fff;font-size:11px;font-weight:900;box-shadow:0 2px 6px #4090e073}.cc-map-3d-node-num{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 4px;font-size:13px;font-weight:900;color:#fff;background:#0000008c;border:2px solid rgba(255,220,140,.7);border-radius:50%;text-shadow:0 1px 2px rgba(0,0,0,.6);box-shadow:0 2px 10px #00000059;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cc-map-3d-node-num--done{color:#ffe878;background:#28501ebf;border-color:#98e060;font-size:15px}.cc-map-3d-label--biome{background:#fffcf5f0;border:2px solid rgba(160,140,100,.45);color:#2a2030;box-shadow:0 4px 16px #00000040}.cc-map-3d-label--biome .cc-map-3d-label-num{background:linear-gradient(180deg,#ffd060,#c89030);box-shadow:0 2px 6px #c8903066;color:#fff}.cc-map-3d-node-num--biome{border-color:#c8b48cbf;background:#00000080;color:#fff;box-shadow:0 2px 8px #0000004d}.cc-map-biome-tag--biome{position:absolute;top:12px;left:12px;padding:6px 12px;font-size:.6875rem;font-weight:700;letter-spacing:.08em;color:#f5f0e1;background:#0000008c;border:1px solid rgba(255,255,255,.15);border-radius:999px;text-transform:uppercase}.cc-map-forest-scene{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 50% at 50% 60%,#1a3320,#0a1810),linear-gradient(180deg,#2a5030,#142818);overflow:hidden}.cc-map-page--dungeon .cc-map-page--forest,.cc-map-forest-scene .forest-deco--trees{background-image:radial-gradient(circle at 15% 30%,rgba(40,80,40,.5) 0%,transparent 25%),radial-gradient(circle at 85% 25%,rgba(30,70,35,.45) 0%,transparent 22%),radial-gradient(circle at 70% 80%,rgba(25,60,30,.4) 0%,transparent 20%)}.cc-map-forest-scene .forest-deco--river{position:absolute;bottom:18%;left:5%;right:5%;height:12%;background:linear-gradient(90deg,transparent,rgba(60,120,180,.35) 30%,rgba(80,140,200,.4) 50%,rgba(60,120,180,.35) 70%,transparent);border-radius:50%;filter:blur(2px)}.cc-map-forest-scene .forest-deco--camp{position:absolute;bottom:28%;left:42%;width:8%;height:8%;background:radial-gradient(circle,rgba(255,160,60,.5) 0%,transparent 70%);animation:forest-camp-flicker 2.4s ease-in-out infinite}.cc-map-forest-scene .forest-deco--canopy{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 40% at 50% 0%,rgba(20,50,28,.85) 0%,transparent 55%),radial-gradient(circle at 20% 15%,rgba(35,90,45,.35) 0%,transparent 18%),radial-gradient(circle at 78% 12%,rgba(30,80,40,.3) 0%,transparent 16%);pointer-events:none}.cc-map-forest-scene .forest-deco--fireflies{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 22% 58%,rgba(180,255,120,.55) 0%,transparent .8%),radial-gradient(circle at 35% 72%,rgba(160,240,100,.45) 0%,transparent .7%),radial-gradient(circle at 58% 48%,rgba(200,255,140,.5) 0%,transparent .75%),radial-gradient(circle at 72% 65%,rgba(170,230,110,.4) 0%,transparent .65%),radial-gradient(circle at 48% 38%,rgba(190,255,130,.35) 0%,transparent .6%);animation:forest-fireflies 6s ease-in-out infinite alternate}.cc-map-forest-scene .forest-deco--mist{position:absolute;left:0;right:0;bottom:10%;height:35%;background:linear-gradient(180deg,transparent,rgba(120,180,140,.12) 40%,rgba(80,140,100,.18));animation:forest-mist-drift 12s linear infinite}.cc-map-biome-tag{position:absolute;top:12px;left:14px;z-index:3;padding:4px 10px;border-radius:999px;font-size:11px;letter-spacing:.06em;color:#c8f0c0;background:#0a1e10b8;border:1px solid rgba(120,200,100,.35);pointer-events:none}@keyframes forest-camp-flicker{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}@keyframes forest-fireflies{0%{opacity:.35;transform:translateY(0)}to{opacity:.9;transform:translateY(-6px)}}@keyframes forest-mist-drift{0%{transform:translate(-2%)}to{transform:translate(2%)}}.cc-map-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 45%;object-position:center 45%;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.cc-map-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 90% 80% at 50% 50%,transparent 40%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 18%,transparent 78%,rgba(0,0,0,.5) 100%)}.cc-map-vignette--light{background:radial-gradient(ellipse 85% 75% at 50% 45%,transparent 55%,rgba(20,16,32,.22) 100%),linear-gradient(180deg,rgba(0,0,0,.12) 0%,transparent 22%,transparent 82%,rgba(0,0,0,.18) 100%)}.cc-map-grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.cc-map-title-ribbon{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:10;pointer-events:none}.cc-map-title-ribbon-inner{display:flex;align-items:center;gap:14px;padding:10px 28px 12px;background:linear-gradient(180deg,#8b2020,#5c1212,#3d0a0a);border:2px solid #c44;border-radius:4px;box-shadow:0 4px #2a0808,0 8px 24px #0009,inset 0 1px #ffffff26;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%)}.cc-map-campaign-name{margin:0;font-size:1.375rem;font-weight:900;color:#ffe8a0;text-shadow:0 2px 0 #3d0a0a,0 0 20px rgba(255,200,80,.4);letter-spacing:.08em;white-space:nowrap}.cc-map-campaign-progress{padding:4px 12px;background:#00000059;border:1px solid rgba(255,220,120,.35);border-radius:999px;font-weight:800;font-size:.9375rem;color:#ffd966}.cc-map-hud{position:absolute;top:14px;right:16px;z-index:10;display:flex;gap:10px;align-items:center}.cc-map-hud-rank{padding:5px 12px;background:#00000073;border:1px solid rgba(125,186,78,.4);border-radius:999px;font-size:.75rem;font-weight:700;color:#7dba4e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cc-map-hud-xp{padding:5px 14px;background:#00000073;border:1px solid rgba(232,168,56,.45);border-radius:999px;font-size:.8125rem;font-weight:800;color:#e8a838;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cc-map-paths{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.cc-map-path{stroke:#78648c8c;stroke-width:.55;stroke-linecap:round;stroke-dasharray:1.2 .8}.cc-map-path--done{stroke:#7dba4e;stroke-width:.65;stroke-dasharray:none;opacity:.85}.cc-map-node{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;padding:0;border:none;background:none;cursor:pointer;z-index:5;font-family:inherit}.cc-map-node-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid rgba(180,160,200,.7);background:radial-gradient(circle at 35% 30%,#4a4060,#2a2238 70%);box-shadow:0 2px 8px #0009,inset 0 1px #ffffff26;transition:transform .15s,box-shadow .15s,border-color .15s}.cc-map-node-core{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:#e8e0f0;text-shadow:0 1px 2px rgba(0,0,0,.8)}.cc-map-node:hover:not(:disabled) .cc-map-node-ring{transform:scale(1.2);border-color:#e8a838;box-shadow:0 0 20px #e8a8388c}.cc-map-node--done .cc-map-node-ring{border-color:#7dba4e;background:radial-gradient(circle at 35% 30%,#3d6a30,#1a3318 70%)}.cc-map-node--done .cc-map-node-core{color:#b8ff80;font-size:.875rem}.cc-map-node--next .cc-map-node-ring{border-color:#58a6ff;box-shadow:0 0 18px #58a6ffb3;animation:cc-map-node-pulse 1.4s ease infinite}.cc-map-node--locked{cursor:not-allowed;opacity:.35}.cc-map-node--locked .cc-map-node-ring{border-color:#555;background:#222}.cc-map-node-label{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;padding:3px 8px;background:#000000bf;border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:.625rem;font-weight:600;color:#e6edf3;opacity:0;pointer-events:none;transition:opacity .15s}.cc-map-node:hover:not(:disabled) .cc-map-node-label{opacity:1}@keyframes cc-map-node-pulse{0%,to{box-shadow:0 0 12px #58a6ff73}50%{box-shadow:0 0 24px #58a6ffe6}}.cc-map-pointer{position:absolute;transform:translate(-50%,-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:22px solid #58a6ff;filter:drop-shadow(0 0 8px rgba(88,166,255,.8));z-index:4;animation:cc-map-pointer-bounce 1s ease infinite;pointer-events:none}@keyframes cc-map-pointer-bounce{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(8px)}}.cc-map-footer{flex-shrink:0;padding:12px 24px 20px;display:flex;justify-content:center;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.65) 100%);z-index:10}.cc-map-continue-btn{min-width:min(280px,100%);max-width:520px;width:100%;padding:16px 32px;background:linear-gradient(180deg,#ffd54f,#e8a838 45%,#c48820);border:3px solid #ffe082;border-radius:12px;color:#1a1208;font-weight:900;font-size:1.0625rem;cursor:pointer;font-family:inherit;box-shadow:0 4px #8b6914,0 8px 28px #e8a83873;transition:transform .1s,filter .15s;text-shadow:0 1px 0 rgba(255,255,255,.3)}.cc-map-continue-btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.cc-map-continue-btn:active{transform:translateY(2px);box-shadow:0 2px #8b6914}.dungeon-map-page{min-height:100dvh;background:#0f0a14;color:#e6edf3;display:flex;flex-direction:column;overflow:hidden}.dungeon-sidebar-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#1e1628;border:2px solid #3d2a50;border-radius:10px;color:#e6edf3;cursor:pointer;text-decoration:none;font-family:inherit;font-size:.625rem}.dungeon-play-btn{width:100%;max-width:480px;margin:0 auto;display:block;padding:14px 24px;background:linear-gradient(180deg,#e8a838,#c48820);border:none;border-radius:10px;color:#0d1117;font-weight:800;font-size:1rem;cursor:pointer;font-family:inherit}.equipment-card--equipped{border-color:#7dba4e;box-shadow:0 0 12px #7dba4e33}.equipment-card--locked{opacity:.55}.equipment-card-icon{font-size:1.75rem;line-height:1}.equipment-card-body{flex:1;min-width:0}.equipment-card-name{display:block;font-weight:700;font-size:.9375rem}.equipment-card-slot{font-size:.6875rem;color:#8b949e}.equipment-card-desc{margin:4px 0;font-size:.75rem;color:#8b949e;line-height:1.4}.equipment-card-stats{display:flex;flex-wrap:wrap;gap:6px;font-size:.6875rem;color:#7dba4e}.equipment-card-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.equipment-btn{padding:4px 10px;font-size:.75rem;font-weight:600;border-radius:6px;border:1px solid #484f58;background:#21262d;color:#e6edf3;cursor:pointer;font-family:inherit}.equipment-btn:hover:not(:disabled){border-color:#7dba4e}.equipment-btn:disabled{opacity:.45;cursor:not-allowed}.equipment-btn--equip{border-color:#7dba4e;color:#7dba4e}.equipment-equipped-tag,.equipment-lock-tag{font-size:.6875rem;color:#8b949e}.equipment-equipped-tag{color:#7dba4e;font-weight:700}.font-serif{font-family:Segoe UI,Microsoft YaHei,sans-serif}.cc-play{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(125,186,78,.06) 0%,transparent 60%),#12121f}.cc-play-header{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 12px;background:#12121feb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid #0a0a14;flex-shrink:0;box-shadow:0 2px 12px #00000073}.cc-play-header-left,.cc-play-header-right{display:flex;align-items:center;gap:12px}.cc-play-home{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#3a3a55;border:1px solid #555570;border-radius:4px;color:#ccc;text-decoration:none;font-size:1.125rem;line-height:1}.cc-play-home:hover{background:#4a4a65;color:#fff}.cc-play-breadcrumb{display:flex;align-items:baseline;gap:6px;font-size:.875rem}.cc-play-campaign{font-weight:700;font-style:italic}.cc-play-sep{color:#666}.cc-play-level-name{color:#e6edf3;font-weight:600}.cc-play-hero-tag{font-size:.75rem;padding:3px 8px;background:#5588cc40;border:1px solid rgba(85,136,204,.4);border-radius:4px;color:#8be}.cc-play-main{flex:1;min-height:0;display:flex;flex-direction:column-reverse}@media(min-width:900px){.cc-play-main{flex-direction:row}.cc-play-code{width:40%;max-width:40%;flex:0 0 40%}.cc-play-game{width:60%;max-width:60%;flex:1 1 60%;min-height:0}}.cc-play-code{flex:1;min-height:0;display:flex;flex-direction:column;background:#252526;border-top:2px solid #0a0a14;overflow:hidden;overscroll-behavior:contain}.cc-play-code-bottom{flex-shrink:0;max-height:42%;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #1a1a1a}@media(min-width:900px){.cc-play-code{border-top:none;border-right:2px solid #0a0a14}}.cc-play-code--locked{opacity:.5;pointer-events:none}.cc-goals-panel{flex-shrink:0;padding:10px 14px;background:linear-gradient(180deg,#4a3520,#3a2818);border-bottom:2px solid #2a1a0a;box-shadow:inset 0 1px #ffffff14}.cc-goals-title{margin:0 0 6px;font-size:.8125rem;font-weight:800;color:#f0d890;text-transform:uppercase;letter-spacing:.08em}.cc-goals-list{margin:0;padding:0;list-style:none}.cc-goals-list li{display:flex;gap:8px;font-size:.875rem;color:#f5f0e1;line-height:1.5;padding:2px 0}.cc-goal-check{color:#e8a838;font-weight:700;flex-shrink:0}.cc-goal--done .cc-goal-check{color:#7dba4e}.cc-goals-tip{margin:6px 0 0;font-size:.75rem;color:#ffffff8c}.cc-editor-area{flex:1;min-height:180px;display:flex;flex-direction:column;overflow:hidden;border-bottom:1px solid #1a1a1a}.code-editor-wrap--fill{flex:1;min-height:0;height:100%!important;border:none;border-radius:0}.code-editor-wrap--fill .monaco-editor,.code-editor-wrap--fill .overflow-guard{border-radius:0!important}.cc-play-actions{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:#2d2d30;border-top:1px solid #1a1a1a}.cc-run-btn{padding:10px 32px;font-size:1rem;font-weight:800;color:#fff;background:linear-gradient(180deg,#fbcfe8,#ec4899,#db2777);border:2px solid #be185d;border-radius:6px;cursor:pointer;font-family:inherit;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 3px #9d174d,0 4px 12px #ec48994d;transition:transform .08s,box-shadow .08s}.cc-run-btn:hover:not(:disabled){filter:brightness(1.06)}.cc-run-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #9d174d}.cc-run-btn:disabled{opacity:.65;cursor:not-allowed}.cc-run-btn--sm{padding:6px 20px;font-size:.875rem}.cc-action-btn{padding:6px 12px;font-size:.8125rem;font-weight:600;color:#ccc;background:#3c3c3c;border:1px solid #555;border-radius:4px;cursor:pointer;font-family:inherit}.cc-action-btn:hover{background:#4a4a4a;color:#fff}.cc-action-btn--hint{color:#e8a838;border-color:#8a6830}.cc-console{flex-shrink:0;max-height:100px;border-top:1px solid #1a1a1a;background:#1e1e1e}.cc-console-label{padding:4px 12px;font-size:.6875rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em;background:#252526;border-bottom:1px solid #333}.cc-console-body{padding:8px 12px;font-family:Consolas,monospace;font-size:.8125rem;color:#ccc;overflow-y:auto;max-height:72px;white-space:pre-wrap;word-break:break-all}.cc-console-error{color:#f85149;margin-top:4px}.cc-console-warn{color:#e8a838;margin-top:4px}.cc-play-game{flex:1;min-height:0;display:flex;flex-direction:column;padding:4px;background:linear-gradient(180deg,#1a1a28,#0a0a14);overflow:hidden}@media(max-width:899px){.cc-play-game{min-height:38vh}}.cc-play-game-outer{flex:1;min-height:0;display:flex;flex-direction:column;padding:4px;background:linear-gradient(145deg,#6b4423,#4a2810,#3d2010);border-radius:4px;box-shadow:inset 0 2px 4px #ffffff1f,inset 0 -3px 6px #0006,0 4px 16px #00000080}.cc-play-game-frame{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:#0a0a14;border:3px solid #2a1808;border-radius:2px;overflow:hidden;isolation:isolate;z-index:0;box-shadow:inset 0 0 60px #000000d9}.cc-game-hud{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;padding:8px 10px;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,transparent 100%);pointer-events:none;font-size:.75rem}.cc-hero-hud{display:flex;align-items:center;gap:8px;padding:5px 9px 6px;background:#060a14b8;border:1px solid rgba(255,255,255,.18);border-radius:6px;box-shadow:0 2px 8px #0000008c}.cc-hero-portrait{width:40px;height:40px;border-radius:4px;border:2px solid #888;background:#0f1420;box-shadow:0 2px 6px #00000080,inset 0 0 0 1px #fff3;flex-shrink:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center 18%;object-position:center 18%}.cc-hero-hud-info{display:flex;flex-direction:column;gap:3px}.cc-hp-bar{width:80px;height:8px;background:#333;border:1px solid #111;border-radius:2px;overflow:hidden;box-shadow:inset 0 1px 3px #0009}.cc-hp-fill{height:100%;background:linear-gradient(180deg,#8fcf5e,#5a9a32);transition:width .3s ease}.cc-hp-fill--danger{background:linear-gradient(180deg,#ff8a5c,#c62f2f)}.cc-hp-num{font-size:.625rem;font-weight:700;color:#ffd76a;text-shadow:0 1px 2px rgba(0,0,0,.9);letter-spacing:.5px}.cc-hp-stepcost{font-size:.5625rem;font-weight:700;color:#ff9a8a;text-shadow:0 1px 2px rgba(0,0,0,.9);letter-spacing:.3px}.cc-hit-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;box-shadow:inset 0 0 70px 12px #dc2837d9;animation:cc-hit-flash .46s ease-out forwards}@keyframes cc-hit-flash{0%{opacity:1}to{opacity:0}}.cc-game-hud-hero{color:#fff;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.9);font-size:.8125rem}.cc-game-hud-level{color:#ffffffbf;text-shadow:0 1px 3px rgba(0,0,0,.8);padding-top:4px}.cc-minimap{position:absolute;bottom:8px;right:8px;z-index:3;border:2px solid rgba(255,255,255,.25);border-radius:4px;box-shadow:0 2px 10px #0009;pointer-events:none;line-height:0}.hero-facing-control{position:absolute;bottom:8px;left:8px;z-index:4;display:flex;align-items:center;gap:4px;padding:4px 6px;background:#0a0a14d1;border:1px solid rgba(255,255,255,.22);border-radius:6px;box-shadow:0 2px 10px #0000008c;pointer-events:auto;font-size:.6875rem}.hero-facing-control-label{color:#ffffffa6;font-weight:600;margin-right:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-facing-control-value{min-width:2.5rem;text-align:center;color:#9fd86a;font-weight:700;font-variant-numeric:tabular-nums;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-facing-btn{min-width:26px;height:26px;padding:0 4px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#3a3a55f2;color:#e6edf3;font-size:.8125rem;line-height:1;cursor:pointer}.hero-facing-btn:hover{background:#4a4a65fa;border-color:#9fd86a73;color:#fff}.hero-facing-btn--wide{min-width:auto;padding:0 6px;font-size:.625rem;font-weight:700}.cc-play-game-frame .game-canvas-wrap,.cc-play-game-frame .game-canvas-inner{flex:1;min-height:0;width:100%;height:100%}.cc-play-game-frame .game-canvas-inner canvas{border-radius:0}.level-page{height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:#0d1117;color:#e6edf3;overscroll-behavior:none}.game-canvas-wrap{width:100%;height:100%;min-height:0;display:flex;flex:1}.game-canvas-inner{width:100%;height:100%;flex:1;min-height:0}.game-canvas-inner canvas{display:block;width:100%!important;height:100%!important;border-radius:6px}.code-editor-wrap{position:relative;border-radius:8px;border:1px solid rgba(44,36,22,.2);overflow:hidden;flex-shrink:0}.code-editor-error{position:absolute;bottom:0;left:0;right:0;background:#c0392beb;color:#f5f0e1;font-size:.8125rem;padding:8px 12px}.code-tutor{flex-shrink:0;margin-top:4px}.code-tutor-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.code-tutor-ask-btn{padding:6px 14px;border-radius:8px;border:2px solid rgba(139,69,19,.45);background:linear-gradient(180deg,#d4af3759,#8b451333);color:#2c2416;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .12s,box-shadow .12s}.code-tutor-ask-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #8b451333}.code-tutor-ask-btn:disabled{opacity:.55;cursor:not-allowed}.code-tutor-toggle{padding:4px 10px;border-radius:6px;border:1px solid rgba(44,36,22,.2);background:#ffffff80;font-size:.75rem;font-family:inherit;cursor:pointer;color:#2c2416bf}.code-tutor-question-wrap{margin-top:8px}.code-tutor-question{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(44,36,22,.18);background:#ffffffa6;font-size:.8125rem;font-family:inherit;color:#2c2416}.code-tutor-question:focus{outline:none;border-color:#2d6a4f8c;box-shadow:0 0 0 2px #2d6a4f26}.code-tutor-error{margin-top:8px;font-size:.8125rem;color:#8b2500}.code-tutor-panel{margin-top:10px;border-radius:12px;border:2px solid rgba(45,106,79,.35);background:linear-gradient(145deg,#f5f0e1f2,#c9b89659);overflow:hidden;box-shadow:0 4px 16px #2c241614}.code-tutor-panel-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#2c24160f;border-bottom:1px solid rgba(44,36,22,.08)}.code-tutor-speaker{font-family:STKaiti,KaiTi,serif;font-weight:700;color:#2d6a4f;font-size:.9375rem}.code-tutor-badge{font-size:.625rem;padding:2px 8px;border-radius:999px;background:#2d6a4f1f;color:#2c24168c}.code-tutor-speak{margin-left:auto;font-size:.6875rem;padding:3px 10px;border-radius:6px;border:1px solid rgba(45,106,79,.35);background:#fff9;cursor:pointer;font-family:inherit;color:#2d6a4f}.code-tutor-answer{padding:12px 14px 14px;max-height:220px;overflow-y:auto;font-size:.8125rem;line-height:1.65;color:#2c2416}.code-tutor-answer-block+.code-tutor-answer-block{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(44,36,22,.12)}.code-tutor-answer-heading{font-family:STKaiti,KaiTi,serif;font-size:.875rem;font-weight:700;color:#8b4513;margin:0 0 6px}.code-tutor-answer-body p{margin:0 0 4px}.tutor-code-block{margin:8px 0;padding:10px 12px;background:#1e1e1e;border:1px solid #444;border-radius:6px;overflow-x:auto;font-family:Consolas,Courier New,monospace;font-size:.8125rem;line-height:1.45;color:#d4d4d4}.tutor-code-block code{white-space:pre}.code-tutor-answer-p,.code-tutor-answer-footnote{margin:0;font-size:.75rem;color:#2c24168c}.code-tutor-answer-footnote{margin-top:10px;font-style:italic}.level-win-banner{flex-shrink:0;border-radius:8px;background:#7dba4e1f;border:2px solid #7dba4e;padding:14px;text-align:center}.level-win-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.level-fail-banner{flex-shrink:0;border-radius:8px;background:#d64a4a21;border:2px solid #d64a4a;padding:14px;text-align:center}.cc-defeat-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:16px;box-sizing:border-box;background:#06040c9e}.cc-defeat-overlay .level-fail-banner{width:min(440px,100%);box-sizing:border-box}.level-fail-title{font-weight:700;color:#ff8b8b}.level-fail-reason{margin-top:4px;font-size:.85rem;color:#ffd0d0}.level-fail-tip{margin-top:6px;font-size:.75rem;line-height:1.5;color:#ffdcdca8}.level-win-home-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.level-game-label,.code-section-label{font-size:.75rem;color:#8b949e;margin-bottom:4px;flex-shrink:0;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.cc-level-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0}.cc-level-header-left{display:flex;align-items:center;gap:16px;min-width:0}.cc-level-back{color:#58a6ff;text-decoration:none;font-size:.875rem;white-space:nowrap}.cc-level-world{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.cc-level-title{margin:0;font-size:1.125rem;font-weight:800;color:#e6edf3}.cc-level-header-right{display:flex;align-items:center;gap:12px;font-size:.8125rem}.cc-icon-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px}.cc-btn{padding:6px 14px;border-radius:6px;font-size:.8125rem;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:transform .1s,filter .1s}.cc-btn:disabled{opacity:.5;cursor:not-allowed}.cc-btn--primary{background:linear-gradient(180deg,#8fcf5e,#7dba4e);color:#0d1117;box-shadow:0 2px #5a9a38}.cc-btn--primary:hover:not(:disabled){filter:brightness(1.08)}.cc-btn--secondary{background:#21262d;color:#e6edf3;border:1px solid #30363d}.cc-btn--ghost{background:transparent;color:#8b949e;border:1px solid #30363d}.cc-btn--hint{background:#e8a83826;color:#e8a838;border:1px solid rgba(232,168,56,.4)}.cc-hint-box{border-radius:8px;background:#e8a83814;border:1px solid rgba(232,168,56,.25);padding:10px 12px;font-size:.8125rem}.setting-toggle{font-size:.6875rem;padding:2px 8px;border-radius:4px;background:#ffffff1a;color:#f5f0e1;border:1px solid rgba(255,255,255,.15);cursor:pointer}.setting-toggle:hover{background:#ffffff2e}.guide-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#2c241699;font-size:.875rem}.story-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:16px;pointer-events:none;background:linear-gradient(to top,rgba(26,21,16,.55) 0%,transparent 45%)}.story-guide-panel{pointer-events:auto;width:100%;max-width:640px;background:linear-gradient(135deg,#f5f0e1,#ebe3cf);border:2px solid #2c2416;border-radius:16px;box-shadow:0 8px 32px #00000059;padding:16px 18px;animation:guideSlideUp .35s ease-out}@keyframes guideSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.story-guide-npc{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.npc-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#2d6a4f,#1b4332);color:#f5f0e1;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #b8860b;box-shadow:0 2px 8px #0003}.npc-name{display:block;font-weight:700;font-size:.9375rem;color:#2c2416}.npc-title{display:block;font-size:.6875rem;color:#2c24168c}.guide-step-badge{display:inline-block;font-size:.6875rem;color:#2d6a4f;background:#2d6a4f1f;padding:2px 8px;border-radius:4px;margin-bottom:8px}.guide-text{font-size:1.0625rem;line-height:1.75;color:#2c2416;margin:0}.guide-fill{margin-top:12px;padding:12px;background:#2c2416;border-radius:8px}.guide-fill-code{font-family:Consolas,Courier New,monospace;font-size:.875rem;color:#f5f0e1;margin:0;white-space:pre-wrap}.guide-fill-input{background:#f5f0e1;color:#2c2416;border:2px solid #b8860b;border-radius:4px;padding:2px 8px;font-family:inherit;font-size:.875rem;min-width:120px;margin:0 4px}.guide-fill-error{color:#ff6b6b;font-size:.75rem;margin:8px 0 0}.guide-fill-hint{color:#f5f0e199;font-size:.75rem;margin:8px 0 0}.guide-code-ready{margin-top:10px;font-size:.8125rem;color:#2d6a4f;font-weight:500}.story-guide-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.btn-guide{padding:8px 18px;border-radius:8px;font-size:.875rem;cursor:pointer;border:none;font-family:inherit}.btn-primary{background:#2d6a4f;color:#f5f0e1}.btn-primary:hover{background:#1b4332}.btn-watch{background:#b8860b;color:#f5f0e1}.btn-watch:hover:not(:disabled){background:#996f00}.btn-watch:disabled{opacity:.6;cursor:wait}.btn-ghost{background:transparent;color:#2c2416;border:1px solid rgba(44,36,22,.25)}.guide-watch-note{margin-top:8px;font-size:.75rem;color:#2d6a4fd9;background:#2d6a4f14;padding:6px 10px;border-radius:6px}.rank-badge{display:inline-block;font-size:.6875rem;padding:2px 10px;border-radius:999px;background:#b8860b40;color:gold;border:1px solid rgba(184,134,11,.4)}.xp-bar-wrap{position:relative;height:6px;background:#ffffff1f;border-radius:3px;overflow:hidden}.home-xp-bar{margin-top:12px;max-width:320px}.level-page .xp-bar-wrap{flex-shrink:0;margin:0 12px 4px}.xp-bar{height:100%;background:linear-gradient(90deg,#2d6a4f,#95d5b2);border-radius:3px;transition:width .4s ease}.xp-bar-label{display:block;font-size:.625rem;color:#f5f0e18c;margin-top:4px}.level-page .xp-bar-label{position:absolute;top:10px;left:0;right:0;text-align:center}.xp-gain-toast{flex-shrink:0;text-align:center;padding:8px;border-radius:8px;background:#b8860b26;color:#996f00;font-weight:600;animation:xpPop .5s ease}.xp-gain-toast--awaken{background:#7850c82e;color:#6b4fc0}.level-win-awaken{margin-top:4px;font-size:.875rem;color:#7c5fd4}.cc-level-node--awakened{box-shadow:0 0 10px #7c5fd473}.cc-map-3d-node-num--awakened{color:#c8a8ff;text-shadow:0 0 8px rgba(160,120,255,.8)}.cc-save-manager{padding:14px 16px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.cc-save-manager-title{margin:0 0 6px;font-size:.95rem;font-weight:600}.cc-save-manager-desc{margin:0 0 10px;font-size:.8rem;opacity:.75}.cc-save-manager-actions{display:flex;flex-wrap:wrap;gap:8px}.cc-save-manager-msg{margin:8px 0 0;font-size:.8rem;color:#7cb87c}.cc-action-btn--danger{border-color:#c8505080;color:#c86060}@keyframes xpPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.display-settings{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.display-settings--compact{gap:4px}.setting-label{font-size:.625rem;color:#f5f0e1b3;min-width:1.2em;text-align:center}.setting-divider{width:1px;height:14px;background:#ffffff26;margin:0 2px}.setting-group-label{font-size:.6875rem;color:#2c241699}.btn-replay-voice{margin-left:auto;font-size:.75rem;padding:4px 10px;border-radius:6px;border:1px solid rgba(45,106,79,.35);background:#2d6a4f1f;color:#2d6a4f;cursor:pointer;font-family:inherit}.btn-replay-voice:hover{background:#2d6a4f38}.guide-voice-controls{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-speed{font-size:.6875rem;padding:4px 8px;border-radius:6px;border:1px solid rgba(44,36,22,.2);background:#ffffff80;color:#2c2416a6;cursor:pointer;font-family:inherit;min-width:2.5em}.btn-speed:hover{background:#2d6a4f1f;border-color:#2d6a4f59}.btn-speed--active{background:#2d6a4f38;border-color:#2d6a4f;color:#2d6a4f;font-weight:600}.btn-listen-first{background:#b8860b40;border-color:#b8860b;color:#7a5a00;font-weight:600}.guide-voice-picker{display:flex;gap:4px}.guide-voice-hint{font-size:.8125rem;color:#996f00;background:#b8860b1f;padding:8px 12px;border-radius:8px;margin:0 0 10px;line-height:1.5}.guide-voice-debug{font-size:.625rem;color:#2c241673;margin:8px 0 0;text-align:right}.hidden{display:none}.hero-select--compact .hero-select-grid{grid-template-columns:1fr}@media(max-width:640px){.cc-map-sidebar{width:64px;padding:10px 6px}.cc-map-nav-icon{width:32px;height:32px}.cc-map-campaign-name{font-size:1rem}.cc-map-title-ribbon-inner{padding:8px 16px;gap:8px}}@media(max-width:1024px){.cc-map-hud{top:auto;bottom:88px;right:8px;flex-direction:column;align-items:flex-end}}.cc-forest-entry{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding:18px 22px;background:linear-gradient(135deg,#7c3aed1f,#ec489914,#ffffff0d);border:1px solid var(--cc-glass-border);border-radius:var(--cc-radius);color:var(--cc-text);text-decoration:none;transition:border-color var(--cc-transition),transform var(--cc-transition),box-shadow var(--cc-transition);box-shadow:var(--cc-shadow);backdrop-filter:var(--cc-glass-blur);-webkit-backdrop-filter:var(--cc-glass-blur)}.cc-forest-entry:hover{border-color:#a855f773;transform:translateY(-3px);box-shadow:var(--cc-shadow-glow)}.cc-forest-entry-icon{font-size:2rem}.cc-forest-entry strong{display:block;font-size:1.125rem;margin-bottom:4px}.cc-forest-entry span:not(.cc-forest-entry-icon):not(.cc-forest-entry-arrow){font-size:.8125rem;color:var(--cc-muted)}.cc-forest-entry-arrow{margin-left:auto;font-size:1.5rem;color:#c084fc}.forest-deco{position:absolute;border-radius:50%;pointer-events:none;opacity:.4}.forest-deco--trees{width:200px;height:140px;left:5%;bottom:8%;background:radial-gradient(circle,#3d8b4a 0%,transparent 70%)}.forest-deco--river{width:160px;height:60px;right:10%;top:40%;background:radial-gradient(circle,#4a90c4 0%,transparent 70%)}.forest-deco--camp{width:100px;height:80px;right:25%;bottom:20%;background:radial-gradient(circle,#e8a838 0%,transparent 70%)}.cc-help-main{max-width:760px;margin:0 auto;padding:32px 24px 48px;animation:cc-fade-up .4s ease}.cc-help-intro{margin:0 0 28px;font-size:.9375rem;color:var(--cc-muted);line-height:1.6}.cc-help-section{margin-bottom:28px;padding:20px 22px;background:linear-gradient(145deg,#161b22e6,#0d1117f2);border:1px solid var(--cc-border);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow)}.cc-help-section h2{margin:0 0 14px;font-size:1.125rem;font-weight:800;color:var(--cc-green);letter-spacing:.02em}.cc-help-subtitle{margin:12px 0 8px;font-size:.9rem;font-weight:700;color:var(--cc-text)}.cc-help-section p{margin:0 0 12px;font-size:.875rem;color:var(--cc-muted);line-height:1.65}.cc-help-section ul{margin:0;padding-left:1.25rem;font-size:.875rem;color:var(--cc-text);line-height:1.75}.cc-help-section li{margin-bottom:6px}.cc-help-section code{padding:2px 6px;background:#58a6ff1f;border:1px solid rgba(88,166,255,.25);border-radius:4px;font-family:Consolas,Courier New,monospace;font-size:.8125rem;color:#79c0ff}.cc-help-pre{margin:0;padding:14px 16px;background:#0d1117;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);font-family:Consolas,Courier New,monospace;font-size:.8125rem;line-height:1.55;color:#c9d1d9;overflow-x:auto}.cc-help-warn{border-color:#e8a83859;background:linear-gradient(145deg,#e8a83814,#161b22f2)}.cc-help-warn h2{color:var(--cc-orange)}.cc-help-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;font-size:.8125rem;color:var(--cc-muted);text-decoration:none;transition:color var(--cc-transition)}.cc-help-back:hover{color:var(--cc-blue)}.game-canvas-wrap--3d,.game-canvas-wrap--3d .game-canvas-inner--3d{width:100%;height:100%;min-height:0}.game-canvas-inner--3d canvas{display:block;width:100%!important;height:100%!important}.level-canvas-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;min-height:280px;background:#0d1117;color:#e6edf3;text-align:center;padding:24px}.level-canvas-error-detail{font-size:.8125rem;color:#8b949e;max-width:360px;word-break:break-word}.level-canvas-error button{margin-top:8px;padding:8px 16px;border:none;border-radius:8px;background:#2d6a4f;color:#fff;cursor:pointer}.settings-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--cc-glass-border);background:#ffffff0f;color:var(--cc-text);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.settings-trigger:hover{background:#ffffff1f;border-color:#a855f773}.settings-trigger--icon{padding:6px 10px;min-width:36px;justify-content:center}.settings-trigger-icon{font-size:1.05rem;line-height:1}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;background:#080a14e0;display:flex;align-items:center;justify-content:center;padding:16px;animation:cc-overlay-in .2s ease}.settings-frame{width:min(520px,96vw);max-height:min(90vh,720px);background:linear-gradient(165deg,#1e1630fa,#0c101cfa);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 24px 64px #0000008c;display:flex;flex-direction:column;overflow:hidden;animation:cc-modal-in .28s ease}.settings-frame-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.settings-frame-title{margin:0;font-size:1.25rem;color:#f8fafc}.settings-frame-sub{margin:4px 0 0;font-size:.8125rem;color:var(--cc-muted)}.settings-close-btn{border:none;background:#ffffff14;color:#e2e8f0;width:32px;height:32px;border-radius:8px;font-size:1.25rem;line-height:1;cursor:pointer}.settings-close-btn:hover{background:#ffffff26}.settings-frame-scroll{overflow-y:auto;padding:8px 18px 18px}.settings-panel-body{display:flex;flex-direction:column;gap:4px}.settings-section{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.settings-section--flush{border-bottom:none;padding-bottom:0}.settings-section-title{margin:0 0 6px;font-size:.9375rem;font-weight:700;color:var(--cc-green)}.settings-section-desc{margin:0 0 10px;font-size:.8rem;color:var(--cc-muted);line-height:1.5}.settings-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.settings-btn-row--compact{margin-top:6px}.settings-chip{padding:6px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--cc-text);font-size:.8125rem;font-weight:600;cursor:pointer}.settings-chip:hover{background:#ffffff1a}.settings-chip--active{border-color:#a855f799;background:#a855f733;color:#f3e8ff}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:.875rem}.settings-slider-row{display:flex;flex-direction:column;gap:8px;margin-top:4px;margin-bottom:4px}.settings-slider-head{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.settings-slider-value{font-size:.8125rem;font-weight:600;color:#e9d5ff}.settings-slider{width:100%;height:6px;accent-color:#a855f7;cursor:pointer}.settings-slider:disabled{opacity:.45;cursor:not-allowed}.settings-switch{min-width:52px;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#00000040;color:var(--cc-muted);font-size:.75rem;font-weight:700;cursor:pointer}.settings-switch--on{border-color:#7dba4e80;background:#7dba4e33;color:#9ae66e}.settings-voice-grid{display:flex;flex-direction:column;gap:8px}.settings-voice-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--cc-text);text-align:left;cursor:pointer}.settings-voice-card strong{font-size:.875rem}.settings-voice-card span{font-size:.75rem;color:var(--cc-muted)}.settings-voice-card--active{border-color:#a855f78c;background:#a855f726}.settings-facing-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.settings-facing-value{min-width:72px;text-align:center;font-size:.8125rem;font-weight:600;color:var(--cc-text)}.cc-save-manager--embedded{padding:0;border:none;background:transparent}.cc-map-hud-settings.settings-trigger--icon{background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.auth-page--centered{align-items:center}.auth-shell{width:min(420px,100%);border-radius:16px;overflow:hidden;border:1px solid var(--cc-glass-border);box-shadow:var(--cc-shadow),var(--cc-shadow-glow);background:var(--cc-glass);-webkit-backdrop-filter:var(--cc-glass-blur);backdrop-filter:var(--cc-glass-blur)}.auth-back-link{display:inline-block;margin-bottom:20px;color:var(--cc-muted);text-decoration:none;font-size:.875rem}.auth-back-link:hover{color:var(--cc-text)}.auth-panel{display:flex;flex-direction:column;padding:32px 28px;background:#0c0814a6}.auth-card{width:100%}.auth-tabs{display:flex;gap:4px;padding:4px;background:#ffffff0f;border-radius:10px;margin-bottom:24px}.auth-tab{flex:1;padding:10px;border:none;border-radius:8px;background:transparent;color:var(--cc-muted);font-weight:600;font-size:.875rem;cursor:pointer}.auth-tab--active{background:#a855f759;color:var(--cc-text)}.auth-card-title{margin:0 0 6px;font-size:1.5rem;font-weight:800}.auth-card-sub{margin:0 0 20px;font-size:.875rem;color:var(--cc-muted);line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;font-weight:600;color:var(--cc-muted)}.auth-field input{padding:12px 14px;border-radius:10px;border:1px solid var(--cc-glass-border);background:#00000040;color:var(--cc-text);font-size:.9375rem;font-family:inherit}.auth-field input:focus{outline:none;border-color:#a855f799;box-shadow:0 0 0 3px #a855f726}.auth-password-wrap{position:relative;display:flex}.auth-password-wrap input{flex:1;padding-right:64px}.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--cc-blue);font-size:.75rem;cursor:pointer;padding:4px 8px}.auth-submit{margin-top:8px;padding:13px 20px;border:none;border-radius:10px;background:linear-gradient(135deg,#a855f7,#ec4899);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;display:block}.auth-submit:hover:not(:disabled){filter:brightness(1.08)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-submit--ghost{background:#ffffff14;border:1px solid var(--cc-glass-border);color:var(--cc-text)}.auth-alert{padding:12px 14px;border-radius:10px;font-size:.8125rem;line-height:1.5;margin-bottom:16px}.auth-alert--error{background:#dc505026;border:1px solid rgba(220,80,80,.35);color:#fca5a5}.auth-alert--warn{background:#fbbf241f;border:1px solid rgba(251,191,36,.35);color:#fde68a}.auth-alert a{color:#f9a8d4}.auth-footer-hint{margin:20px 0 0;text-align:center;font-size:.875rem;color:var(--cc-muted)}.auth-footer-hint--center{display:block;margin-top:16px}.auth-link-btn{border:none;background:none;color:var(--cc-blue);font:inherit;cursor:pointer;text-decoration:underline}.auth-link-btn--block{display:block;text-align:center;margin-top:12px}.auth-muted{font-size:.8125rem;color:var(--cc-muted);line-height:1.5;margin-top:12px}.auth-verify-card{width:min(440px,100%);padding:40px 32px;text-align:center;border-radius:16px;border:1px solid var(--cc-glass-border);background:var(--cc-glass);-webkit-backdrop-filter:var(--cc-glass-blur);backdrop-filter:var(--cc-glass-blur);box-shadow:var(--cc-shadow)}.auth-verify-card h1{margin:16px 0 8px;font-size:1.5rem}.auth-verify-card p{margin:0 0 12px;color:var(--cc-muted);line-height:1.6;font-size:.9375rem}.auth-verify-icon{width:64px;height:64px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:800}.auth-verify-icon--ok{background:#7dba4e33;color:#9ae66e}.auth-verify-icon--err{background:#dc505033;color:#fca5a5}.auth-verify-icon--mail{background:#a855f740;color:#e9d5ff}.auth-verify-icon--spin{background:#ffffff14;animation:cc-spin 1s linear infinite}.auth-verify-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.auth-verify-form{display:flex;flex-direction:column;gap:12px;margin:20px 0 12px;text-align:left}.auth-verify-code-input{font-size:1.25rem!important;letter-spacing:.35em;text-align:center;font-weight:600}.auth-header-btn{padding:6px 14px;border-radius:999px;font-size:.8125rem;font-weight:600;text-decoration:none;border:1px solid var(--cc-glass-border);white-space:nowrap}.auth-header-btn--ghost{color:var(--cc-text);background:#ffffff0d}.auth-header-btn--primary{color:#fff;background:linear-gradient(135deg,#a855f7,#ec4899);border-color:transparent}.auth-user-menu{position:relative;display:flex;align-items:center;gap:8px}.auth-user-menu--guest{gap:6px}.auth-user-trigger{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--cc-glass-border);background:#ffffff0f;color:var(--cc-text);cursor:pointer;font-size:.8125rem;font-weight:600}.auth-user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#ec4899);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}.auth-user-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-user-caret{font-size:.65rem;opacity:.7}.auth-user-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;border:none;background:transparent;cursor:default}.auth-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:9999;min-width:220px;padding:8px;border-radius:12px;border:1px solid var(--cc-glass-border);background:#120c1cfa;box-shadow:var(--cc-shadow)}.auth-user-dropdown-head{padding:10px 12px 12px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:2px;font-size:.8125rem}.auth-user-dropdown-head strong{font-size:.9375rem}.auth-user-dropdown-head span{color:var(--cc-muted);font-size:.75rem}.auth-user-verified{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;background:#7dba4e33;color:#9ae66e;font-size:.6875rem;font-weight:700;width:-moz-fit-content;width:fit-content}.auth-user-dropdown-item{width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--cc-text);text-align:left;font-size:.875rem;cursor:pointer}.auth-user-dropdown-item:hover{background:#ffffff14}.auth-user-dropdown-item--danger{color:#fca5a5}.cc-map-hud .auth-user-menu{position:relative}.cc-map-hud .auth-user-trigger,.cc-map-hud .auth-header-btn--ghost,.cc-map-hud .auth-header-btn--primary{background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:768px){.auth-panel{padding:24px 16px}.auth-user-name{display:none}}:root{--px-bg: #0f1020;--px-bg-2: #1a1d33;--px-bg-3: #24294a;--px-stone: #2f365c;--px-line: #05060f;--px-hairline: #3d466f;--px-ink: #f5f2df;--px-muted: #96a0c8;--px-white: #fbfbf3;--px-gold: #f5c518;--px-amber: #ec9a3c;--px-teal: #33bdac;--px-green: #63c24d;--px-red: #e0533f;--px-danger: #c9382f;--px-blue: #4f9dff;--px-purple: #9a5fd6;--px-magenta: #e05fa3;--px-font-body: "Fusion Pixel 12px Monospaced SC", "Microsoft YaHei", monospace;--px-font-title: "Fusion Pixel 12px Monospaced SC", "Microsoft YaHei", monospace;--px-font-arcade: "Press Start 2P", "Fusion Pixel 12px Monospaced SC", monospace;--px-border: 3px;--px-gap: 8px;--px-radius: 0px;--px-shadow-hard: 4px 4px 0 0 rgba(5, 6, 15, .55);--px-shadow-inset: inset 0 0 0 var(--px-border) rgba(255, 255, 255, .05);--px-scanline: rgba(0, 0, 0, .16)}html,body{background-color:var(--px-bg)}body{font-family:var(--px-font-body);color:var(--px-ink);letter-spacing:0;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;font-smooth:never;text-rendering:geometricPrecision}img,canvas,.px-img{image-rendering:pixelated;image-rendering:crisp-edges}*{scrollbar-width:thin;scrollbar-color:var(--px-gold) var(--px-bg-2)}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:var(--px-bg-2)}*::-webkit-scrollbar-thumb{background:var(--px-stone);border:2px solid var(--px-line);border-radius:0}*::-webkit-scrollbar-thumb:hover{background:var(--px-gold)}.px-bg-grid{background-color:var(--px-bg);background-image:linear-gradient(rgba(61,70,111,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(61,70,111,.18) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}.px-crt{position:relative}.px-crt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;background:repeating-linear-gradient(to bottom,var(--px-scanline) 0px,var(--px-scanline) 1px,transparent 2px,transparent 3px);mix-blend-mode:multiply;opacity:.5}.px-panel{background:var(--px-bg-2);border:var(--px-border) solid var(--px-line);border-radius:var(--px-radius);box-shadow:var(--px-shadow-inset),var(--px-shadow-hard);color:var(--px-ink)}.px-panel--raised{background:linear-gradient(180deg,var(--px-bg-3) 0%,var(--px-bg-2) 100%)}.px-panel-title{font-family:var(--px-font-title);color:var(--px-gold);letter-spacing:1px;text-shadow:2px 2px 0 var(--px-line);margin:0}.px-btn{--px-btn-a: var(--px-stone);--px-btn-b: var(--px-bg-3);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--px-font-title);font-size:.9rem;color:var(--px-white);background:linear-gradient(180deg,var(--px-btn-a) 0%,var(--px-btn-b) 100%);border:var(--px-border) solid var(--px-line);border-radius:0;box-shadow:0 var(--px-border) 0 0 var(--px-line);padding:8px 14px;cursor:pointer;letter-spacing:1px;transition:transform .05s ease,box-shadow .05s ease,filter .1s ease;text-shadow:1px 1px 0 rgba(0,0,0,.6)}.px-btn:hover{filter:brightness(1.12)}.px-btn:active{transform:translateY(var(--px-border));box-shadow:0 0 0 0 var(--px-line)}.px-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.px-btn--primary{--px-btn-a: var(--px-gold);--px-btn-b: #b8860b;color:#1a1200;text-shadow:1px 1px 0 rgba(255,255,255,.35)}.px-btn--success{--px-btn-a: var(--px-green);--px-btn-b: #3d8b2f;color:#06140a}.px-btn--danger{--px-btn-a: var(--px-red);--px-btn-b: var(--px-danger)}.px-btn--magic{--px-btn-a: var(--px-purple);--px-btn-b: #6f3aa8}.px-btn--ghost{background:transparent;color:var(--px-muted);box-shadow:none;border-color:var(--px-hairline)}.px-btn--sm{font-size:.75rem;padding:5px 10px}.px-bar{position:relative;height:14px;background:var(--px-line);border:2px solid var(--px-line);box-shadow:var(--px-shadow-inset);overflow:hidden}.px-bar-fill{height:100%;background:var(--px-green);box-shadow:inset 0 -3px #00000059,inset 0 3px #ffffff40;transition:width .2s steps(12,end)}.px-bar--gold .px-bar-fill{background:var(--px-gold)}.px-bar--red .px-bar-fill{background:var(--px-red)}.px-bar__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.62rem;color:var(--px-white);text-shadow:1px 1px 0 var(--px-line);letter-spacing:1px}.px-pixel-panel{padding:0;overflow:hidden}.px-panel__head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(180deg,var(--px-stone) 0%,var(--px-bg-3) 100%);border-bottom:var(--px-border) solid var(--px-line)}.px-panel__head-icon{color:var(--px-gold)}.px-panel-title{font-size:.95rem}.px-panel__body{padding:12px}.px-font-arcade{font-family:var(--px-font-arcade);letter-spacing:1px}.px-title{font-family:var(--px-font-title);text-shadow:3px 3px 0 var(--px-line);color:var(--px-gold)}.px-muted{color:var(--px-muted)}.px-icon{display:inline-block;width:1em;height:1em;vertical-align:-.15em;image-rendering:pixelated}::-moz-selection{background:var(--px-gold);color:var(--px-line)}::selection{background:var(--px-gold);color:var(--px-line)}*:focus-visible{outline:3px solid var(--px-gold);outline-offset:1px}.px-cutscene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#242a52,#0f1020 70%);padding:24px;animation:px-fade-in .4s steps(4,end)}.px-cutscene__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;image-rendering:pixelated;opacity:.5}.px-cutscene__scene{position:relative;z-index:1;width:min(920px,100%)}.px-cutscene__title{font-family:var(--px-font-title);font-size:1.6rem;color:var(--px-gold);text-shadow:3px 3px 0 var(--px-line);margin:0 0 20px;text-align:center}.px-dialogue{position:relative;display:flex;align-items:stretch;gap:14px;background:var(--px-bg-2);border:var(--px-border) solid var(--px-line);box-shadow:var(--px-shadow-inset),6px 6px #05060f99;padding:16px;cursor:pointer;min-height:128px}.px-dialogue__portrait{flex:0 0 auto;width:96px;height:96px;-o-object-fit:contain;object-fit:contain;image-rendering:pixelated;background:var(--px-bg-3);border:var(--px-border) solid var(--px-line)}.px-dialogue__portrait--placeholder{display:flex;align-items:center;justify-content:center;color:var(--px-gold)}.px-dialogue__portrait--glyph{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,var(--px-bg-3),#05060f)}.px-dialogue__portrait--shadow{color:#b98cff;border-color:#4a2f6b}.px-dialogue__portrait--gem{color:#6ff0d6;border-color:#1f6b5e}.px-dialogue--narrator{display:block;background:linear-gradient(180deg,#0a0c1aeb,#060712f5);border-color:#2a2f52;text-align:center}.px-dialogue--narrator .px-dialogue__main{max-width:46ch;margin:0 auto}.px-dialogue--narrator .px-dialogue__text{font-style:italic;color:#cdd6ff;letter-spacing:.5px;min-height:3em}.px-float-dmg{font-family:var(--px-font-title);font-size:1.7rem;font-weight:900;line-height:1;color:#fff;padding:3px 8px;background:#080914b8;border:2px solid #000;box-shadow:0 0 10px #0009;text-shadow:2px 2px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;pointer-events:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:px-float-up 1.5s ease-out forwards}.px-float-dmg--damage{color:#ffe14a}.px-float-dmg--crit{color:#ff6a3d;font-size:2.1rem}.px-float-dmg--heal{color:#6fe07a}.px-float-dmg--taken{color:#f56}.px-float-dmg--evade{color:#46e0d0;font-size:1.35rem}.px-float-dmg--drain{color:#a9b6c8;font-size:1.05rem;padding:1px 5px}.px-speech-bubble{position:relative;font-family:var(--px-font-title);font-size:1.05rem;font-weight:800;color:#2a1a08;padding:5px 12px;background:#fff6dc;border:2px solid #000;box-shadow:0 0 0 2px #e8b94a,0 4px 10px #0000008c;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;animation:px-speech-pop .22s ease-out}.px-first-speech{position:absolute;left:50%;top:24%;transform:translate(-50%);pointer-events:none}.px-speech-bubble:after{content:"";position:absolute;left:50%;bottom:-9px;transform:translate(-50%);border:7px solid transparent;border-top-color:#000;border-bottom:0}@keyframes px-speech-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.cc-step-line{background:#ffc40038;box-shadow:inset 3px 0 #ffc400}.cc-step-line-gutter{background:#ffc400;width:4px!important;margin-left:3px}.cc-boss-plate{display:flex;align-items:center;gap:6px;padding:3px 7px;font-family:var(--px-font-title);color:#ffe9f0;background:linear-gradient(180deg,#260a18eb,#0c0610eb);border:2px solid #000;box-shadow:0 0 0 2px #ff4d4d59,0 4px 10px #000000b3;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.cc-boss-plate__name{font-size:.78rem;font-weight:900;letter-spacing:1px;text-shadow:2px 2px 0 #000}.cc-boss-plate__bar{width:62px;height:9px;background:#2a0d18;border:2px solid #000;overflow:hidden}.cc-boss-plate__fill{display:block;height:100%;background:linear-gradient(90deg,#ff2d55,#ff8a3d);transition:width .32s steps(6)}.cc-boss-plate__text{font-size:.62rem;color:#fff;text-shadow:1px 1px 0 #000}.cc-boss-plate__telegraph{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:900;letter-spacing:1px;text-shadow:1px 1px 0 #000,0 0 8px currentColor;animation:cc-boss-blink 1.1s steps(2,end) infinite}.cc-boss-plate__dot{width:7px;height:7px;display:inline-block;border:1px solid #000}@keyframes cc-boss-blink{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.cc-boss-plate__telegraph{animation:none}}@keyframes px-float-up{0%{transform:translateY(8px) scale(.6);opacity:0}16%{transform:translateY(0) scale(1.25);opacity:1}70%{transform:translateY(-34px) scale(1);opacity:1}to{transform:translateY(-56px) scale(.95);opacity:0}}.item-box-total{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}.item-box-total__label{font-family:var(--px-font-title);font-size:.72rem;color:var(--px-gold);text-shadow:1px 1px 0 var(--px-line);margin-right:2px}.item-box-total__chip{font-family:var(--px-font-arcade);font-size:.55rem;color:var(--px-muted);background:var(--px-bg);border:2px solid var(--px-line);padding:3px 7px;opacity:.6}.item-box-total__chip.is-on{color:#1a1200;background:var(--px-gold);border-color:var(--px-line);opacity:1;box-shadow:2px 2px 0 var(--px-line)}.item-box-total__note{margin:0 0 10px;font-size:.68rem;line-height:1.5;color:var(--px-teal)}.px-dialogue__main{flex:1 1 auto;min-width:0}.px-dialogue__name{display:inline-block;font-size:.85rem;color:#1a1200;background:var(--px-gold);border:2px solid var(--px-line);padding:2px 10px;margin-bottom:10px;letter-spacing:1px}.px-dialogue__text{font-size:.95rem;line-height:1.7;color:var(--px-ink);margin:0;min-height:3.4em;white-space:pre-wrap}.px-dialogue__caret{display:inline-block;width:8px;background:var(--px-gold);animation:px-blink .8s steps(1,end) infinite}.px-dialogue__hint{position:absolute;right:14px;bottom:8px;font-size:.7rem;color:var(--px-muted);animation:px-blink 1s steps(1,end) infinite}.px-dialogue__skip{position:absolute;right:14px;top:-30px}.px-dialogue__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}@keyframes px-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes px-fade-in{0%{opacity:0}to{opacity:1}}.px-dialogue--inline{position:static;margin:12px 0}.px-map-nav-icon{color:var(--px-gold);display:inline-flex}@keyframes px-pop-in{0%{transform:scale(.86);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}@keyframes px-rise{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes px-node-pulse{0%,to{box-shadow:inset 0 0 0 2px #ffffff0f}50%{box-shadow:inset 0 0 0 2px #ffffff0f,0 0 8px var(--px-gold)}}@keyframes px-toast-pop{0%{transform:translateY(14px) scale(.8);opacity:0}70%{transform:translateY(-4px) scale(1.08);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.px-campaign{animation:px-rise .28s steps(5,end) both;transition:transform .08s steps(2,end),box-shadow .08s steps(2,end)}.px-campaign:hover{transform:translateY(-3px);box-shadow:var(--px-shadow-inset),7px 9px #05060f99!important}.px-btn:active:not(:disabled),.cc-run-btn:active:not(:disabled),.cc-action-btn:active{animation:px-pop-in .12s steps(3,end)}.cc-level-node--open{animation:px-node-pulse 1.8s steps(2,end) infinite}.xp-gain-toast{animation:px-toast-pop .32s steps(4,end) both}.level-win-banner{animation:px-pop-in .26s steps(4,end) both}@media(prefers-reduced-motion:reduce){.px-campaign,.xp-gain-toast,.level-win-banner,.cc-level-node--open{animation:none!important}}.px-logo-icon{color:var(--px-gold);display:inline-flex;filter:drop-shadow(2px 2px 0 var(--px-line))}.px-title{letter-spacing:2px}.px-rank-badge{background:var(--px-bg-3);border:2px solid var(--px-gold);color:var(--px-gold);border-radius:0;box-shadow:2px 2px 0 var(--px-line);padding:2px 10px}.px-xp-bar-wrap{background:transparent;border:0}.px-continue-link{display:inline-block}.px-section-title{display:flex;align-items:center;gap:8px;font-family:var(--px-font-title);color:var(--px-gold);text-shadow:2px 2px 0 var(--px-line);letter-spacing:1px}.px-section-icon{color:var(--px-teal)}.px-campaign{border:var(--px-border) solid var(--px-line)!important;border-radius:0!important;box-shadow:var(--px-shadow-inset),var(--px-shadow-hard)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.px-campaign-header{display:flex;align-items:center;gap:8px}.px-campaign-icon{display:inline-flex;filter:drop-shadow(2px 2px 0 var(--px-line))}.px-course-label{font-family:var(--px-font-arcade);font-size:.6rem;color:var(--px-muted);letter-spacing:1px}.px-lock{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--px-danger);font-size:.75rem}.px-world-name{font-family:var(--px-font-title);color:var(--px-ink);text-shadow:2px 2px 0 var(--px-line)}.px-world-en{font-family:var(--px-font-arcade);font-size:.6rem;color:var(--px-muted)}.px-campaign-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:2px dashed var(--px-hairline)}.px-campaign-play-link{display:inline-block}.px-node,.cc-level-node{border-radius:0!important;background:var(--px-bg-3)!important;border:2px solid var(--px-line)!important;color:var(--px-ink);box-shadow:inset 0 0 0 2px #ffffff0f}.cc-level-node--done{background:var(--px-bg-2)!important}.cc-level-node--awakened{box-shadow:inset 0 0 0 2px #ffffff0f,0 0 10px var(--px-gold)}.cc-level-node--locked,.px-node{color:var(--px-muted)}.level-page{background-color:var(--px-bg)}.cc-play-header{background:linear-gradient(180deg,var(--px-bg-3) 0%,var(--px-bg-2) 100%);border-bottom:var(--px-border) solid var(--px-line);box-shadow:0 3px 0 var(--px-line);gap:12px}.cc-play-header-left{min-width:0;flex:1 1 auto}.cc-play-header-right{flex:0 0 auto}.cc-play-breadcrumb{min-width:0;white-space:nowrap;overflow:hidden}.cc-play-home{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--px-gold);background:var(--px-stone);border:2px solid var(--px-line);border-radius:0;box-shadow:2px 2px 0 var(--px-line)}.cc-play-campaign{font-family:var(--px-font-title);font-size:.72rem;letter-spacing:0;text-transform:uppercase;flex:0 0 auto}.cc-play-level-name{font-family:var(--px-font-title);color:var(--px-ink);text-shadow:1px 1px 0 var(--px-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cc-play-sep{color:var(--px-hairline);flex:0 0 auto}.cc-goals-panel{background:var(--px-bg-2);border:var(--px-border) solid var(--px-line);border-radius:0;box-shadow:var(--px-shadow-inset)}.cc-goals-title{font-family:var(--px-font-title);color:var(--px-gold);text-shadow:2px 2px 0 var(--px-line)}.cc-run-btn{font-family:var(--px-font-title);letter-spacing:1px;color:#1a1200;background:linear-gradient(180deg,var(--px-gold) 0%,#b8860b 100%);border:var(--px-border) solid var(--px-line);border-radius:0;box-shadow:0 var(--px-border) 0 0 var(--px-line);text-shadow:1px 1px 0 rgba(255,255,255,.35)}.cc-run-btn:hover:not(:disabled){filter:brightness(1.12)}.cc-run-btn:active:not(:disabled){transform:translateY(var(--px-border));box-shadow:0 0 0 0 var(--px-line)}.cc-action-btn{font-family:var(--px-font-title);letter-spacing:1px;color:var(--px-white);background:linear-gradient(180deg,var(--px-stone) 0%,var(--px-bg-3) 100%);border:var(--px-border) solid var(--px-line);border-radius:0;box-shadow:0 var(--px-border) 0 0 var(--px-line);text-shadow:1px 1px 0 rgba(0,0,0,.6)}.cc-action-btn:hover{filter:brightness(1.15);color:var(--px-white)}.cc-action-btn:active{transform:translateY(var(--px-border));box-shadow:0 0 0 0 var(--px-line)}.cc-action-btn--hint{color:var(--px-amber);border-color:var(--px-line)}.cc-console{background:var(--px-line);border:var(--px-border) solid var(--px-line);border-radius:0;box-shadow:var(--px-shadow-inset)}.cc-console-label{font-family:var(--px-font-arcade);font-size:.6rem;color:var(--px-teal)}.cc-console-body{color:var(--px-ink)}.cc-console-error{color:var(--px-red)}.cc-console-warn{color:var(--px-amber)}.cc-hint-box{background:var(--px-bg-2);border:2px solid var(--px-amber);border-radius:0}.cc-play-game-frame{position:relative;border:var(--px-border) solid var(--px-line);border-radius:0;box-shadow:var(--px-shadow-inset),6px 6px #05060f99;background:var(--px-bg-2)}.cc-play-game-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6;background:repeating-linear-gradient(to bottom,var(--px-scanline) 0px,var(--px-scanline) 1px,transparent 2px,transparent 3px);mix-blend-mode:multiply;opacity:.4}.cc-game-hud{z-index:7}.cc-minimap{position:absolute;bottom:8px;right:8px;z-index:8}.cc-scene-toolbar{position:absolute;left:12px;right:12px;bottom:min(152px,22%);z-index:9;display:flex;justify-content:center;flex-wrap:wrap;gap:7px;pointer-events:none}.cc-scene-btn{pointer-events:auto;padding:7px 10px;font:700 12px/1.4 var(--px-font-body);color:#fff3d1;background:#0d1626e6;border:2px solid #000;box-shadow:0 0 0 1px #748aa1,3px 3px #000;cursor:pointer}.cc-scene-btn:hover{color:#fff;background:#243a53}.cc-scene-btn--active{color:#7df5ff;box-shadow:0 0 0 2px #39c4d9,3px 3px #000}.cc-scene-btn:disabled{opacity:.5;cursor:not-allowed}.cc-scene-weather{color:#ffd495}.cc-skill-bar{position:absolute;left:10px;top:104px;z-index:9;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}.cc-skill-slot{pointer-events:auto;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:1px;width:92px;padding:4px 6px 5px;background:#0d1626e6;border:2px solid #000;box-shadow:0 0 0 1px #748aa1,3px 3px #000;cursor:pointer}.cc-skill-slot kbd{font:700 11px/1.3 var(--px-font-title);padding:0 5px;color:#fff3d1;background:#0009;border:1px solid currentColor}.cc-skill-name{font:700 12px/1.3 var(--px-font-body);color:#fff3d1}.cc-skill-sub{font-size:10px;line-height:1.2;color:#9fb6c9}.cc-skill-slot--wave{box-shadow:0 0 0 1px #2c8ea8,3px 3px #000}.cc-skill-slot--burst{box-shadow:0 0 0 1px #7b5bb5,3px 3px #000}.cc-skill-slot:hover{background:#243a53}.cc-skill-slot--cooling{cursor:not-allowed;filter:grayscale(.6) brightness(.75)}.cc-skill-cd{position:absolute;left:0;right:0;bottom:0;background:#04080eb8;pointer-events:none}@media(max-width:560px){.cc-skill-slot{width:46px;padding:3px}.cc-skill-name,.cc-skill-sub{display:none}}.cc-explore-prompt{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 40px));box-sizing:border-box;z-index:60;padding:22px;background:linear-gradient(160deg,#0f2c3bf7,#0c1223fa);border:3px solid #000;box-shadow:0 0 0 2px #49c7d8,7px 7px #0009;color:#d5e9ec;font-size:14px;line-height:1.8}.cc-explore-prompt-kicker{color:#69e3ef;font-size:12px;letter-spacing:2px}.cc-explore-prompt h2{margin:4px 0 12px;color:#fff0c3;font:24px var(--px-font-title)}.cc-explore-prompt p{margin:9px 0}.cc-explore-prompt-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.cc-spirit-panel{display:flex;flex-direction:column;flex:0 0 auto;padding:12px 16px;background:#0b2634;border-bottom:2px solid #38b3c4;color:#c8e7ec;font-size:12px;line-height:1.6;max-height:252px;overflow:hidden}@media(max-height:800px){.cc-spirit-panel{padding:8px 14px;line-height:1.45;max-height:190px}.cc-spirit-panel p:nth-of-type(2){display:none}}.cc-spirit-panel strong{flex:none;color:#70e8f5;font-size:15px}.cc-spirit-panel p{flex:none;margin:5px 0}.cc-spirit-panel pre{flex:1 1 auto;min-height:0;margin:8px 0;color:#ffd788;font:13px/1.5 Consolas,monospace;overflow:auto}.cc-spirit-panel button{flex:none}.cc-spirit-notice{color:#ffb39a}.cc-spirit-cleared{color:#8dffa9}.cc-game-hud-level{position:absolute;left:10px;bottom:8px;z-index:8;padding:2px 6px;color:var(--px-gold);background:#080914b8;border:2px solid #000;font-size:.68rem;letter-spacing:1px}.cc-hero-portrait{border:2px solid var(--px-gold);border-radius:0;image-rendering:pixelated;box-shadow:2px 2px 0 var(--px-line)}@media(min-width:900px){.cc-play-main{flex-direction:row-reverse}.cc-play-code{width:44%;max-width:44%;flex:0 0 44%;border-right:none;border-left:var(--px-border) solid var(--px-line)}.cc-play-game{width:56%;max-width:56%;flex:1 1 56%}}.cc-play-header{height:58px;padding:0 14px;gap:14px}.cc-play-home{width:40px;height:40px}.cc-play-breadcrumb{flex-direction:column;align-items:flex-start;gap:0;line-height:1.15}.cc-play-campaign{font-size:.6rem;color:var(--px-teal)!important}.cc-play-level-name{font-size:1rem;color:var(--px-gold)}.cc-play-sep{display:none}.cc-play-hero-tag{font-family:var(--px-font-title);color:var(--px-white);background:var(--px-stone);border:2px solid var(--px-line);border-radius:0;box-shadow:2px 2px 0 var(--px-line);padding:4px 10px}.cc-play-header-right>*{flex-shrink:0}.cc-play-header-right .cc-xp-text{white-space:nowrap}@media(max-width:760px){.cc-play-header{height:auto;min-height:58px;flex-wrap:wrap;padding:8px 14px;gap:8px}.cc-play-header-left,.cc-play-header-right{flex:1 1 100%;width:100%}.cc-play-header-right{flex-wrap:wrap;gap:8px}.cc-play-campaign{max-width:100%;overflow:hidden;text-overflow:ellipsis}.cc-play-game{min-height:max(38vh,340px)}}.cc-editor-titlebar{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:7px 12px;background:linear-gradient(180deg,var(--px-bg-3) 0%,var(--px-bg-2) 100%);border-bottom:var(--px-border) solid var(--px-line);font-family:var(--px-font-arcade);font-size:.6rem;letter-spacing:.5px}.cc-editor-titlebar__dots{display:flex;gap:5px}.cc-editor-titlebar__dot{width:10px;height:10px;border:2px solid var(--px-line);background:var(--px-stone)}.cc-editor-titlebar__dot--a{background:var(--px-red)}.cc-editor-titlebar__dot--b{background:var(--px-amber)}.cc-editor-titlebar__dot--c{background:var(--px-green)}.cc-editor-titlebar__file{color:var(--px-gold)}.cc-editor-titlebar__chip{margin-left:auto;color:var(--px-ink);border:2px solid var(--px-line);background:var(--px-bg);padding:2px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}.cc-editor-area .code-editor-wrap--fill{height:auto!important;flex:1 1 auto;min-height:0}.cc-goals-panel{position:relative;padding:12px 14px 12px 16px;border-left:6px solid var(--px-gold)}.cc-goals-list li{font-family:var(--px-font-body);color:var(--px-ink)}.cc-goal-check{color:var(--px-amber)}.cc-goal--done .cc-goal-check{color:var(--px-green)}.cc-goals-tip{font-family:var(--px-font-arcade);font-size:.58rem;color:var(--px-teal)}.cc-play-actions{background:var(--px-bg-3);border-top:var(--px-border) solid var(--px-line);padding:12px;gap:10px}.cc-play-game{background:repeating-linear-gradient(45deg,#14141f 0,#14141f 6px,#101019 6px,#101019 12px);padding:10px}.cc-play-game-outer{background:linear-gradient(180deg,#2a2340,#171328);border:var(--px-border) solid var(--px-line);box-shadow:var(--px-shadow-inset),8px 8px #05060f8c;padding:8px}.cc-hp-bar{background:var(--px-line);border:2px solid var(--px-line);border-radius:0}.cc-hp-fill{background:var(--px-green);border-radius:0;box-shadow:inset 0 -2px #00000059,inset 0 2px #ffffff40;transition:width .2s steps(10,end)}.cc-equip-hud-hint{font-family:var(--px-font-arcade);font-size:.55rem;color:var(--px-teal);max-width:220px;white-space:normal;line-height:1.35}.cc-hp-stepcost{font-family:var(--px-font-arcade);font-size:.62rem}.xp-gain-toast{font-family:var(--px-font-arcade);background:var(--px-gold);color:#1a1200;border:2px solid var(--px-line);border-radius:0;box-shadow:3px 3px 0 var(--px-line)}.xp-gain-toast--awaken{background:var(--px-purple);color:var(--px-white)}.level-win-banner{background:var(--px-bg-2);border:var(--px-border) solid var(--px-gold);border-radius:0;box-shadow:var(--px-shadow-inset),6px 6px #05060f99}.level-win-banner .text-cc-green{font-family:var(--px-font-title);color:var(--px-green);text-shadow:2px 2px 0 var(--px-line)}.level-fail-banner{background:var(--px-bg-2);border:var(--px-border) solid var(--px-red);border-radius:0;box-shadow:var(--px-shadow-inset),7px 9px #05060f99;animation:px-pop-in .3s steps(4,end) both}.level-fail-title{font-family:var(--px-font-title);font-size:22px;color:#ff8f8f;text-shadow:2px 2px 0 var(--px-line)}.level-win-stars{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:6px 0 2px;font-family:var(--px-font-arcade)}.lvw-stars{display:inline-flex;gap:3px}.lvw-star{font-size:22px;line-height:1;animation:px-pop-in .3s steps(4,end) both}.lvw-star:nth-child(2){animation-delay:.08s}.lvw-star:nth-child(3){animation-delay:.16s}.lvw-star--on{color:var(--px-gold);text-shadow:0 0 8px rgba(255,210,90,.75),2px 2px 0 var(--px-line)}.lvw-star--off{color:var(--px-bg-3);text-shadow:1px 1px 0 rgba(0,0,0,.6)}.lvw-steps{color:var(--px-white);font-size:12px;letter-spacing:1px}.lvw-best{padding:2px 8px;background:var(--px-green);color:#06210f;font-size:12px;border:2px solid var(--px-line)}.lvw-history{color:var(--px-muted, #9ab);font-size:12px}.cc-map-campaign-stars{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background:#00000059;border:1px solid rgba(255,220,120,.35);border-radius:999px;font-weight:800;font-size:.9375rem;color:#ffe8a0}.cc-map-campaign-stars-mark{color:#ffd966;text-shadow:0 0 10px rgba(255,210,90,.6)}.px-arcade-entry{display:flex;align-items:center;gap:12px;width:100%;max-width:520px;margin:6px auto 0;padding:12px 14px;color:var(--px-ink);text-decoration:none;background:linear-gradient(180deg,var(--px-bg-3) 0%,var(--px-bg-2) 100%);border:var(--px-border) solid var(--px-teal);box-shadow:var(--px-shadow-hard)}.px-arcade-entry:hover{filter:brightness(1.12)}.px-arcade-entry__icon{color:var(--px-teal);display:inline-flex}.px-arcade-entry__text{display:flex;flex-direction:column;gap:2px;text-align:left}.px-arcade-entry__text strong{font-family:var(--px-font-title);color:var(--px-gold)}.px-arcade-entry__text small{color:var(--px-muted);font-size:.72rem;line-height:1.35}.px-arcade-entry__go{margin-left:auto;color:var(--px-teal)}.px-arcade-home,.px-arcade-page{min-height:100vh;padding:18px clamp(12px,4vw,40px) 48px;background-color:var(--px-bg);background-image:linear-gradient(rgba(51,189,172,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(51,189,172,.06) 1px,transparent 1px);background-size:28px 28px}.px-arcade-header{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:20px}.px-arcade-header .px-title{display:flex;align-items:center;gap:10px;color:var(--px-gold);text-shadow:3px 3px 0 var(--px-line);font-size:1.5rem;margin:0}.px-arcade-back{display:inline-flex;align-items:center;gap:6px;color:var(--px-teal);text-decoration:none;font-size:.82rem}.px-arcade-back:hover{color:var(--px-white)}.px-arcade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.px-arcade-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px;background:var(--px-bg-2);border:var(--px-border) solid var(--px-line);box-shadow:var(--px-shadow-hard)}.px-arcade-card__icon{color:var(--px-teal)}.px-arcade-card__title{font-family:var(--px-font-title);color:var(--px-ink);font-size:1.05rem;margin:0}.px-arcade-card__en{font-family:var(--px-font-arcade);font-size:.56rem;color:var(--px-hairline);margin:0 0 6px;letter-spacing:1px}.px-arcade-card__desc{color:var(--px-muted);font-size:.82rem;line-height:1.5;flex:1}.px-arcade-card__concept{font-size:.72rem;margin-bottom:10px}.px-arcade-card__foot{margin-top:auto}.px-arcade-body{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}@media(min-width:960px){.px-arcade-body{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}.px-arcade-main{display:flex;flex-direction:column;gap:14px}.px-arcade-brief{color:var(--px-ink);line-height:1.5;margin:0 0 6px}.px-arcade-goal{display:flex;align-items:center;gap:6px;color:var(--px-gold);margin:0;font-size:.88rem}.px-mem-stage{position:relative;min-height:210px;overflow-x:auto;padding:6px 4px 12px;background:var(--px-bg-2);border:var(--px-border) solid var(--px-line);box-shadow:var(--px-shadow-inset)}.px-mem-svg{position:absolute;top:0;left:0;pointer-events:none;z-index:1}.px-mem-arrow{fill:none;stroke:var(--px-teal);stroke-width:3;filter:drop-shadow(0 0 4px rgba(70,224,208,.8))}.px-mem-arrow.is-active{stroke:var(--px-gold);stroke-width:4;filter:drop-shadow(0 0 8px rgba(245,197,24,.9))}.px-mem-arrowhead{fill:var(--px-teal)}.px-mem-empty{color:var(--px-muted);font-size:.85rem;padding:60px 16px;text-align:center}.px-mem-cell{position:absolute;width:96px;height:84px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(180deg,var(--px-bg-3) 0%,var(--px-stone) 100%);border:var(--px-border) solid var(--px-line);box-shadow:3px 3px #05060f99;animation:px-cell-in .32s ease-out}.px-mem-cell--ptr{background:linear-gradient(180deg,#16324a,#1c4a63)}.px-mem-cell__name{font-family:var(--px-font-title);color:var(--px-white);font-size:1.1rem}.px-mem-cell__value{font-family:var(--px-font-arcade);font-size:.9rem;color:var(--px-gold)}.px-mem-cell--ptr .px-mem-cell__value{color:var(--px-teal)}.px-mem-cell__addr{font-size:.62rem;color:var(--px-hairline)}.px-mem-cell__tag{position:absolute;top:-10px;right:-6px;font-size:.55rem;padding:1px 4px;color:#1a1200;background:var(--px-muted);border:2px solid var(--px-line)}.px-mem-cell--ptr .px-mem-cell__tag{background:var(--px-teal)}.px-mem-cell.is-new{box-shadow:0 0 0 3px var(--px-green),3px 3px #05060f99}.px-mem-cell.is-write{box-shadow:0 0 0 3px var(--px-gold),0 0 14px #f5c518b3;animation:px-cell-pulse .5s ease-in-out}.px-mem-cell.is-read{box-shadow:0 0 0 3px var(--px-blue)}.px-mem-cell.is-deref{box-shadow:0 0 0 3px var(--px-teal),0 0 14px #46e0d0b3}.px-mem-cell.is-target{outline:2px dashed rgba(70,224,208,.8);outline-offset:3px}@keyframes px-cell-in{0%{transform:translateY(-10px) scale(.8);opacity:0}to{transform:none;opacity:1}}@keyframes px-cell-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.12)}}.px-arcade-run{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.px-arcade-win{display:inline-flex;align-items:center;gap:6px;color:var(--px-green);font-family:var(--px-font-title);animation:px-cell-in .3s ease-out}.px-arcade-output{padding:10px 12px;min-height:34px;color:var(--px-teal);font-family:var(--px-font-arcade);font-size:.72rem;white-space:pre-wrap;background:var(--px-line);border:2px solid var(--px-hairline)}.px-arcade-output.is-error{color:var(--px-red)}.px-arcade-side{display:flex;flex-direction:column;gap:14px}.px-arcade-editor{background:var(--px-bg-2);border:var(--px-border) solid var(--px-line);box-shadow:var(--px-shadow-hard)}.px-arcade-editor__bar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--px-bg-3);border-bottom:2px solid var(--px-line)}.px-arcade-editor__file{margin-left:6px;font-family:var(--px-font-arcade);font-size:.6rem;color:var(--px-muted)}.px-dot{width:11px;height:11px;border-radius:0;border:1px solid var(--px-line)}.px-dot--r{background:var(--px-red)}.px-dot--y{background:var(--px-gold)}.px-dot--g{background:var(--px-green)}.px-arcade-puzzles{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--px-bg-2);border:var(--px-border) solid var(--px-line)}.px-arcade-puzzles__title{font-family:var(--px-font-title);color:var(--px-gold);margin-bottom:4px}.px-arcade-puzzle{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;color:var(--px-ink);text-align:left;background:var(--px-bg-3);border:2px solid var(--px-line)}.px-arcade-puzzle:hover{filter:brightness(1.15)}.px-arcade-puzzle.is-active{border-color:var(--px-teal);box-shadow:0 0 0 2px #46e0d059}.px-arcade-puzzle.is-solved{border-color:var(--px-green)}.px-arcade-puzzle__no{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#1a1200;background:var(--px-muted);border:2px solid var(--px-line);font-family:var(--px-font-arcade);font-size:.6rem}.px-arcade-puzzle.is-solved .px-arcade-puzzle__no{background:var(--px-green);color:var(--px-line)}.px-arcade-cheatsheet{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.px-arcade-cheatsheet code{color:var(--px-teal);background:var(--px-line);padding:1px 5px;border:1px solid var(--px-hairline);font-size:.82em}.px-arcade-cheatsheet li{color:var(--px-muted);font-size:.82rem}.px-circuit{display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--px-bg-2);border:var(--px-border) solid var(--px-line);box-shadow:var(--px-shadow-inset)}.px-circuit.is-live{border-color:var(--px-gold);box-shadow:var(--px-shadow-inset),0 0 18px #f5c51866}.px-bit-row{display:flex;align-items:center;gap:12px}.px-bit-row__label{width:64px;font-family:var(--px-font-title);color:var(--px-muted);display:inline-flex;align-items:center;gap:4px}.px-bit-row__label--a{color:var(--px-teal)}.px-bit-row__label--b{color:var(--px-blue)}.px-bit-row__label--target{color:var(--px-gold)}.px-bit-row__label--out{color:var(--px-amber)}.px-bit-row__cells{display:flex;gap:6px}.px-bit{width:34px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--px-font-arcade);font-size:.8rem;color:var(--px-hairline);background:var(--px-bg-3);border:2px solid var(--px-line);box-shadow:inset 0 -3px #0006;transition:all .18s steps(3,end)}.px-bit.is-on{color:#0a0a12}.px-bit--a.is-on{background:var(--px-teal);box-shadow:0 0 8px #46e0d099}.px-bit--b.is-on{background:var(--px-blue);box-shadow:0 0 8px #4f9dff99}.px-bit--target.is-on{background:var(--px-gold);box-shadow:0 0 8px #f5c51899}.px-bit--out.is-on{background:var(--px-amber)}.px-bit--out.is-match{border-color:var(--px-green)}.px-bit--out.is-diff{border-color:var(--px-red);color:var(--px-red)}.px-bit--out.is-on.is-match{background:var(--px-green);color:#06210a;box-shadow:0 0 10px #63c24db3}.px-circuit__expr{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:2px dashed var(--px-hairline);border-bottom:2px dashed var(--px-hairline)}.px-circuit__expr-label{font-size:.72rem;color:var(--px-muted)}.px-circuit__expr-text{font-family:var(--px-font-arcade);font-size:.9rem;color:var(--px-white)}.px-circuit__expr-error{color:var(--px-red);font-size:.75rem}.px-circuit__bulb{display:flex;align-items:center;gap:8px;color:var(--px-gold);font-family:var(--px-font-title);animation:px-cell-in .3s ease-out}.px-circuit-input{width:100%;box-sizing:border-box;margin-bottom:10px;padding:10px;font-family:var(--px-font-arcade);font-size:.9rem;color:var(--px-white);background:var(--px-line);border:2px solid var(--px-hairline)}.px-circuit-input:focus{outline:none;border-color:var(--px-teal)}.px-circuit-tokens{display:flex;flex-wrap:wrap;gap:6px}.px-circuit-token{min-width:34px;padding:6px 8px;cursor:pointer;font-family:var(--px-font-arcade);font-size:.7rem;color:var(--px-ink);background:var(--px-bg-3);border:2px solid var(--px-line)}.px-circuit-token:hover{background:var(--px-stone);color:var(--px-teal)}.px-circuit-hint{margin:10px 0 0;font-size:.78rem}.px-sort-mode{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.px-sort-court{position:relative;box-sizing:border-box;padding:16px 14px 34px;background:linear-gradient(180deg,#0a0c1aeb,#10142cf5);border:var(--px-border) solid var(--px-line);box-shadow:var(--px-shadow-inset),var(--px-shadow-hard);overflow:hidden}.px-sort-court:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:repeating-linear-gradient(90deg,rgba(70,224,208,.07) 0 1px,transparent 1px 28px)}.px-sort-court.is-won{border-color:var(--px-gold)}.px-sort-towers{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:8px;min-height:268px}.px-sort-tower{position:relative;display:flex;flex-direction:column;align-items:center;flex:1 1 0;max-width:76px;padding:0;cursor:pointer;background:transparent;border:0}.px-sort-tower[disabled]{cursor:default}.px-sort-tower__val{font-family:var(--px-font-arcade);font-size:.82rem;color:var(--px-white);text-shadow:1px 1px 0 #000;margin-bottom:3px}.px-sort-tower__cap{height:9px;background:var(--px-teal);border:2px solid #06121a;box-shadow:0 0 8px #46e0d073;transition:background .2s ease-out}.px-sort-tower__bar{width:100%;background:repeating-linear-gradient(180deg,#2f5f66 0,#2f5f66 6px,#234a52 6px,#234a52 12px);border:2px solid #0b1c22;border-top:0;transition:height .28s cubic-bezier(.2,.9,.2,1),background .2s ease-out}.px-sort-tower__idx{position:absolute;bottom:-26px;font-family:var(--px-font-arcade);font-size:.6rem;color:var(--px-muted)}.px-sort-tower__ok{position:absolute;top:-26px;color:var(--px-green);animation:px-cell-in .2s ease-out}.px-sort-tower.is-cmp .px-sort-tower__cap{background:var(--px-amber);box-shadow:0 0 12px #ffd24acc}.px-sort-tower.is-cmp .px-sort-tower__bar{background:repeating-linear-gradient(180deg,#6d5a20 0,#6d5a20 6px,#55451a 6px,#55451a 12px)}.px-sort-tower.is-swap .px-sort-tower__cap{background:var(--px-red);box-shadow:0 0 14px #ff5a50d9}.px-sort-tower.is-swap .px-sort-tower__bar{background:repeating-linear-gradient(180deg,#7a3236 0,#7a3236 6px,#5f262a 6px,#5f262a 12px)}.px-sort-tower.is-sel .px-sort-tower__cap{background:var(--px-gold);box-shadow:0 0 16px #ffd24af2}.px-sort-tower.is-sel{transform:translateY(-6px)}.px-sort-tower.is-sel .px-sort-tower__val{color:var(--px-gold)}.px-sort-ground{position:relative;z-index:1;height:8px;margin-top:0;background:var(--px-stone);border-top:2px solid var(--px-hairline);box-shadow:0 6px 14px #0000008c}.px-sort-note{position:relative;z-index:1;margin-top:30px;text-align:center;font-family:var(--px-font-title);font-size:.86rem;color:var(--px-teal)}.px-sort-win{display:flex;align-items:center;gap:10px;padding:12px 14px;color:var(--px-gold);background:var(--px-bg-2);border:var(--px-border) solid var(--px-gold);box-shadow:var(--px-shadow-hard);animation:px-cell-in .25s ease-out}.px-sort-win strong{font-family:var(--px-font-title)}.px-sort-win p{margin:4px 0 0;font-size:.82rem}.px-sort-speed{display:inline-flex;gap:4px;margin-left:4px}.px-sort-speed__btn{padding:5px 9px;cursor:pointer;font-family:var(--px-font-arcade);font-size:.62rem;color:var(--px-muted);background:var(--px-bg-3);border:2px solid var(--px-line)}.px-sort-speed__btn.is-on{color:var(--px-gold);border-color:var(--px-gold)}.px-sort-code{background:#0a0c18;border:2px solid var(--px-hairline);padding:8px 6px;font-family:Consolas,Courier New,monospace;font-size:.76rem;line-height:1.5;overflow-x:auto}.px-sort-code__line{display:flex;gap:8px;padding:1px 4px;color:#b9c6e6;white-space:pre}.px-sort-code__line.is-hl{background:#ffd24a2e;box-shadow:inset 3px 0 0 0 var(--px-gold)}.px-sort-code__line.is-hl code{color:var(--px-white)}.px-sort-code__no{min-width:16px;text-align:right;color:#4a5578;-webkit-user-select:none;-moz-user-select:none;user-select:none}.px-sort-progress{margin:8px 0 0;font-size:.78rem}.px-sort-stats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.px-sort-stats li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:5px;border-bottom:2px dotted var(--px-hairline);font-size:.84rem;color:var(--px-muted)}.px-sort-stats b{font-family:var(--px-font-arcade);font-size:.86rem;color:var(--px-white)}.px-sort-stats b.is-good{color:var(--px-green)}.px-sort-stats b.is-warn{color:var(--px-gold)}.px-sort-grade{margin:10px 0 0;font-size:.8rem}.px-sort-sol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.px-sort-sol li{display:flex;align-items:center;gap:8px;padding:3px 6px;border:2px solid transparent;font-family:Consolas,Courier New,monospace;font-size:.78rem;color:#7f8bb0}.px-sort-sol__no{flex:none;width:18px;height:18px;display:grid;place-items:center;background:#0a0c18;border:2px solid var(--px-hairline);font-size:.7rem;color:var(--px-muted)}.px-sort-sol li.is-done{color:var(--px-green)}.px-sort-sol li.is-done .px-sort-sol__no{border-color:var(--px-green);color:var(--px-green)}.px-sort-sol li.is-now{border-color:var(--px-gold);color:var(--px-white);background:#ffd24a1f}.px-sort-sol__intro{margin:0 0 10px;font-size:.8rem;line-height:1.5}.scr-page{min-height:100vh;padding:18px clamp(12px,4vw,40px) 48px;background-color:var(--px-bg);background-image:linear-gradient(rgba(255,210,74,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,210,74,.05) 1px,transparent 1px);background-size:28px 28px}.scr-header{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.scr-header-row{display:flex;gap:10px;flex-wrap:wrap}.scr-back{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;color:var(--px-teal);text-decoration:none;background:var(--px-bg-2);border:var(--px-border) solid var(--px-teal)}.scr-back:hover{filter:brightness(1.15)}.scr-header .px-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--px-gold)}.scr-body{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:900px){.scr-body{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start}.scr-panel-top{grid-column:1 / -1}}.scr-panel{min-width:0;padding:14px;background:linear-gradient(180deg,var(--px-bg-3) 0%,var(--px-bg-2) 100%);border:var(--px-border) solid var(--px-hairline);box-shadow:var(--px-shadow-hard)}.scr-h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 12px;font-family:var(--px-font-title);font-size:1rem;color:var(--px-gold)}.scr-h2-sub{font-family:inherit;font-size:.72rem;color:var(--px-muted)}.scr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:60vh;overflow:auto}.scr-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;color:var(--px-ink);cursor:pointer;text-align:left;background:var(--px-bg-1, #0d1024);border:2px solid var(--px-hairline);font-family:inherit}.scr-item:hover{border-color:var(--px-teal)}.scr-item--on{border-color:var(--px-gold);background:#ffd24a1a}.scr-item-ch{flex:none;width:34px;font-family:var(--px-font-title);font-size:.78rem}.scr-item-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.scr-item-runs{flex:none;color:var(--px-muted);font-size:.7rem}.scr-item-score{flex:none;min-width:46px;text-align:right;color:var(--px-gold);font-family:var(--px-font-title)}.scr-bars{display:flex;align-items:flex-end;gap:4px;height:96px;margin-bottom:14px;padding:6px;background:#0a0c18;border:2px solid var(--px-hairline)}.scr-bar-col{flex:1 1 0;min-width:6px;max-width:26px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.scr-bar{width:100%;background:linear-gradient(180deg,var(--px-teal),#1d6b6a);border:2px solid #0a0c18}.scr-bar-col:last-child .scr-bar{background:linear-gradient(180deg,var(--px-gold),#8a6a12)}.scr-bar-n{font-size:.6rem;color:var(--px-muted)}.scr-table{width:100%;border-collapse:collapse;font-size:.78rem}.scr-table th,.scr-table td{padding:5px 6px;text-align:left;border-bottom:2px solid var(--px-hairline);white-space:nowrap}.scr-table th{color:var(--px-muted);font-weight:400;font-size:.7rem}.scr-table td{color:var(--px-ink)}.scr-row--best{background:#ffd24a1a}.scr-td-score{color:var(--px-gold);font-family:var(--px-font-title)}.scr-delta{margin-left:4px;font-size:.7rem}.scr-delta--up{color:var(--px-green)}.scr-delta--down{color:var(--px-red)}.scr-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.scr-toplist{list-style:none;margin:0;padding:0;display:grid;gap:4px}@media(min-width:1200px){.scr-toplist{grid-template-columns:repeat(2,minmax(0,1fr))}}.scr-toplist li{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#0d1024;border:2px solid var(--px-hairline);font-size:.78rem}.scr-top-rank{flex:none;width:22px;color:var(--px-muted);font-family:var(--px-font-title)}.scr-top-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--px-ink);text-decoration:none}.scr-top-name:hover{color:var(--px-teal)}.scr-top-meta{flex:none;color:var(--px-muted);font-size:.7rem}.scr-top-score{flex:none;min-width:48px;text-align:right;color:var(--px-gold);font-family:var(--px-font-title)}.scr-rules{margin:12px 0 0;font-size:.72rem;line-height:1.6;color:var(--px-muted)}.scr-empty{padding:40px 16px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}.level-win-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:6px 0}.lvw-score-num{font-family:var(--px-font-title);font-size:1.15rem;color:var(--px-gold);text-shadow:2px 2px 0 var(--px-line)}.lvw-score-delta{font-size:.74rem;color:var(--px-muted)}.lvw-score-delta--up{color:var(--px-green)}.lvw-score-delta--down{color:var(--px-red)}.lvw-score-detail{flex:1 1 100%;font-size:.72rem;color:var(--px-muted)}:root{--px-font-body: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;--px-font-title: var(--px-font-body);--cc-bg: #0e1420;--cc-text: #eef2f6;--cc-muted: #aab8cb;--cc-border: #344155;--cc-blue: #73cfc0;--cc-green: #73cfc0;--cc-glass-blur: none;--px-bg: #0e1420;--px-bg-2: #172130;--px-bg-3: #223044;--px-ink: #eef2f6;--px-muted: #aab8cb;--px-hairline: #344155;--px-gold: #f2ce7e;--px-teal: #73cfc0}body{-webkit-font-smoothing:antialiased;text-rendering:auto}button,input,select,textarea{font:inherit}.site-bg--static{background:var(--px-bg)}.cc-header,.cc-play-header,.cc-map-sidebar,.hero-select,.hero-card,.settings-frame,.cc-panel,.px-panel,.px-arcade-entry{backdrop-filter:none;-webkit-backdrop-filter:none}.cc-level-node--open{animation:none}.cc-home-page .cc-header{background:var(--px-bg-2);box-shadow:none}.cc-home-page .cc-logo-title{letter-spacing:2px}.cc-home-page .cc-logo-sub{margin-top:6px}@font-face{font-family:Expedition Title;src:url(/brand/expedition-title.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+5F81,U+7A0B,U+7F16,U+8FDC}.cc-home-page .expedition-brand{gap:14px;min-width:0}.expedition-brand-emblem{display:block;width:96px;height:96px;flex:0 0 auto;-o-object-fit:contain;object-fit:contain;image-rendering:pixelated}.cc-home-page .expedition-brand .cc-logo-title{font-family:"Expedition Title",var(--px-font-title);font-weight:400;font-size:36px;color:var(--px-gold);letter-spacing:4px;line-height:1.25;text-shadow:3px 3px 0 var(--px-line);-webkit-font-smoothing:none}@media(max-width:480px){.cc-home-page .expedition-brand{gap:8px}.expedition-brand-emblem{width:80px;height:80px}.cc-home-page .expedition-brand .cc-logo-title{font-size:24px;letter-spacing:4px}.cc-home-page .expedition-brand .cc-logo-sub{max-width:22ch;line-height:1.6;font-size:.75rem}}.cc-home-page .cc-main{max-width:1240px;padding-top:28px}.cc-home-page .cc-home-stack{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 32px}.cc-home-stack>*{animation:none}.cc-eyebrow{margin:0 0 10px;font-size:.75rem;color:var(--px-teal);letter-spacing:1px}.cc-home-mission{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;padding:32px;background:var(--px-bg-2);border:1px solid var(--px-hairline);border-left:4px solid var(--px-gold)}.cc-home-mission h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.5;margin:0 0 12px;color:var(--px-ink)}.cc-mission-desc{color:var(--px-muted);line-height:1.8;margin:0 0 22px}.cc-mission-progress{border-left:1px solid var(--px-hairline);padding-left:28px;align-self:center;display:grid;gap:12px}.cc-mission-progress strong{font-size:2rem;color:var(--px-gold)}.cc-mission-progress small{font-size:.875rem;color:var(--px-muted);font-weight:400}.cc-home-page .px-arcade-entry{background:var(--px-bg-2);border:1px solid var(--px-hairline);box-shadow:none;margin:0;min-width:0}.cc-home-page .px-arcade-entry__text{min-width:0}.cc-home-page .px-arcade-entry small{font-size:.8125rem;line-height:1.6}.cc-home-page .px-campaign{background:var(--px-bg-2);border:1px solid var(--px-hairline)!important;border-top-width:3px!important;box-shadow:none!important;animation:none}.cc-home-page .px-campaign[style]{border-top-color:var(--chapter-accent, var(--px-hairline))!important}.cc-home-page .px-campaign:hover{transform:none;box-shadow:none!important}.cc-home-page .cc-campaign--locked{opacity:.75;filter:none}.cc-home-page .cc-campaign-desc{line-height:1.8}.cc-home-page .cc-level-path{flex-wrap:wrap;row-gap:10px}.cc-home-page .cc-level-node{width:40px;height:40px;min-width:40px}.cc-home-page .cc-level-line{max-width:16px}.cc-home-page .px-course-label,.cc-home-page .px-world-en{font-family:var(--px-font-body);font-size:.75rem}.cc-home-loadout{border-top:1px solid var(--px-hairline);margin-top:32px;padding-top:24px}.cc-loadout-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.cc-loadout-toolbar>div:first-child{margin-right:auto}.cc-loadout-toolbar h2{font-size:1.125rem;margin:0}.cc-home-loadout .hero-select{margin-top:20px}.cc-home-loadout .equipment-launcher{width:auto}.transfer-trial{margin:16px 0;border:1px solid var(--px-hairline);background:var(--px-bg-2);font-size:.8125rem}.transfer-trial>summary{cursor:pointer;padding:14px;color:var(--px-gold);line-height:1.7}.transfer-trial>summary span{display:block;color:var(--px-muted);font-size:.75rem;margin-left:14px}.transfer-trial-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:0;border:1px solid var(--px-hairline);background:var(--px-bg-2);color:var(--px-ink);overflow-y:auto;overscroll-behavior:contain}.transfer-trial-dialog::backdrop{background:#050a14cc}.transfer-dialog-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--px-bg-2);z-index:1}.transfer-dialog-header h2{margin:0;font-size:1.125rem;color:var(--px-gold)}.transfer-trial-body{border-top:1px solid var(--px-hairline);padding:14px;line-height:1.7;overflow-wrap:anywhere}.transfer-trial h3{margin:0 0 8px;font-size:.9375rem;color:var(--px-ink)}.transfer-trial p{margin:8px 0}.transfer-cases-preview{padding-left:18px}.transfer-trial fieldset{margin:14px 0;padding:10px;border:1px solid var(--px-hairline)}.transfer-trial fieldset label{display:flex;align-items:center;gap:8px;min-height:36px}.transfer-trial input{accent-color:var(--px-teal)}.transfer-trial-note,.transfer-history,.transfer-trial small{color:var(--px-muted);font-size:.75rem}.transfer-result-total{font-weight:700;color:var(--px-gold)}.transfer-results ol{padding:0;list-style:none}.transfer-results li{padding:12px 0;border-bottom:1px solid var(--px-hairline)}.transfer-case-pass>strong{color:var(--px-teal)}.transfer-case-fail>strong{color:#f3a993}.transfer-repair-hint{padding-left:10px;border-left:2px solid var(--px-gold)}.transfer-history{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--px-hairline);padding-top:12px}.transfer-history span{flex-basis:100%}.px-btn,.settings-chip,.settings-trigger,.cc-action-btn,.cc-run-btn{min-height:44px;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}a.px-btn{text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}.px-btn:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--px-teal);outline-offset:4px}button:disabled{cursor:not-allowed}.cc-editor-loading{display:grid;place-content:center;min-height:160px;color:var(--px-muted);background:#111923;padding:20px}.auth-tabs{flex-wrap:wrap}.auth-tab{min-height:44px}.auth-email-code-row{display:flex;align-items:stretch;gap:8px;min-width:0}.auth-email-code-row input{min-width:0;flex:1;width:0}.auth-email-code-row .auth-submit{flex:0 0 auto;width:auto;margin:0;padding:10px 12px;font-size:.875rem}.auth-recovery-links{margin-top:18px;text-align:right}.cc-skip-link{position:fixed;top:-100px;left:12px;z-index:10000;padding:12px;background:var(--px-gold);color:var(--px-bg)}.cc-skip-link:focus{top:12px}@media(max-width:768px){.cc-home-mission{grid-template-columns:1fr;gap:24px;padding:22px 18px}.cc-mission-progress{border-left:0;border-top:1px solid var(--px-hairline);padding:20px 0 0}.cc-home-page .cc-home-stack{grid-template-columns:1fr;gap:12px}.cc-home-page .cc-main{padding:18px 14px 28px}.cc-home-page .cc-header-inner{gap:16px}.cc-home-page .cc-header-stats{flex-wrap:wrap;gap:10px}.cc-home-page .cc-level-node{width:44px;height:44px;min-width:44px}.cc-home-page .cc-level-line{width:8px}.cc-loadout-toolbar>div:first-child{flex-basis:100%}.cc-home-page .hero-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-home-page .px-campaign-footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--cc-bg: #090f1b;--cc-text: #e9f1fc;--cc-muted: #a5b8cf;--cc-border: #2b4058;--cc-blue: #66e5dc;--cc-green: #66e5dc;--px-bg: #090f1b;--px-bg-2: #111e30;--px-bg-3: #1b3046;--px-ink: #e9f1fc;--px-muted: #a5b8cf;--px-hairline: #2b4058;--px-gold: #ffda87;--px-teal: #66e5dc}.site-bg--static{background:radial-gradient(ellipse at 12% 0,#12333d70,transparent 52%),linear-gradient(#66e5dc05 1px,transparent 1px),linear-gradient(90deg,#66e5dc05 1px,transparent 1px),#090f1b;background-size:auto,48px 48px,48px 48px,auto}.cc-home-page .cc-header{background:linear-gradient(105deg,#14283a,#101a2b 65%);border-bottom:1px solid #375369;box-shadow:inset 0 3px #66e5dc}.cc-home-page .cc-logo-sub{color:#adbed1;letter-spacing:1px}.cc-home-page .cc-header-stats{padding:10px 0}.cc-home-page .cc-xp-text{color:var(--px-teal);text-shadow:none}.cc-home-page .px-bar{border:1px solid #3a586b;background:#08121f;box-shadow:none}.cc-home-page .px-bar-fill{background:var(--px-teal);box-shadow:inset 0 -2px #0002}.cc-home-page .px-bar--gold .px-bar-fill{background:var(--px-gold)}.cc-home-page .cc-xp-bar-wrap{height:6px}.cc-rank-badge.px-rank-badge{color:var(--px-gold);background:#29291f;border:1px solid #b29655;box-shadow:2px 2px #050b13;padding:6px 10px;backdrop-filter:none;-webkit-backdrop-filter:none}.cc-home-page .cc-home-mission{position:relative;isolation:isolate;background:linear-gradient(115deg,#173940,#112637 48%,#151f33);border:1px solid #3d706f;border-left:4px solid var(--px-teal);box-shadow:0 4px #050b13,inset 0 1px #79eee51a}.cc-home-mission:after{content:"";pointer-events:none;position:absolute;z-index:-1;right:-1px;top:-1px;width:88px;height:88px;background:linear-gradient(45deg,transparent 74%,#66e5dc20 74%,#66e5dc20 81%,transparent 81%,transparent 89%,#66e5dc 89%)}.cc-home-mission h2{max-width:23ch;font-weight:800;letter-spacing:.02em}.cc-eyebrow{font-weight:700;letter-spacing:.12em}.cc-mission-progress{border-color:#41616c}.cc-mission-progress strong{font-variant-numeric:tabular-nums;font-size:2.5rem}.cc-home-page .cc-home-stack{gap:18px}.cc-home-page .px-arcade-entry{position:relative;padding:20px;border-color:#345368;background:linear-gradient(110deg,#152c3b,#111d2e);box-shadow:0 3px #050b13;border-left:3px solid var(--px-teal)}.cc-home-page .px-arcade-entry--scores{border-left-color:var(--px-gold)}.px-arcade-entry__icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;color:var(--px-teal);background:#66e5dc0d;border:1px solid #39676e}.px-arcade-entry--scores .px-arcade-entry__icon{color:var(--px-gold);border-color:#6a6045;background:#ffda870a}.cc-home-page .px-arcade-entry strong{color:var(--px-ink)}.cc-home-page .cc-section-title{margin-bottom:20px;letter-spacing:.12em}.cc-home-page .cc-section-title:after{background:linear-gradient(90deg,#456b76,transparent)}.cc-home-page .cc-campaigns{animation:none;gap:22px}.cc-home-page .px-campaign{border-radius:0;padding:24px;min-width:0;background:linear-gradient(135deg,#192a3e,#101c2e 70%);border-color:#334b64!important;border-top-color:var(--chapter-accent)!important;box-shadow:0 4px #050b13,inset 0 1px #ffffff06!important;transition:border-color .14s ease,transform .14s ease}.cc-home-page .px-campaign:after{content:"";position:absolute;top:0;right:0;pointer-events:none;width:16px;height:16px;background:linear-gradient(45deg,transparent 50%,var(--chapter-accent) 50%);opacity:.65}.cc-home-page .cc-campaign--locked{opacity:1;background:linear-gradient(135deg,#142034,#0f1929 70%)}.cc-campaign--locked .cc-campaign-world{color:#c3cfe0}.cc-home-page .cc-campaign-header{justify-content:flex-start;gap:10px;flex-wrap:wrap}.cc-home-page .px-campaign-icon{padding:7px;background:#070e1b;border:1px solid #344b63}.cc-home-page .px-course-label{color:#b6c9df;letter-spacing:.04em}.expedition-chapter-id{margin-left:auto;color:var(--chapter-accent);font-family:var(--px-font-arcade);font-size:18px;line-height:1.7;font-variant-numeric:tabular-nums}.cc-home-page .px-lock{margin-left:0;background:#1c2a3b;border-color:#344b63;color:#a9bad0}.cc-home-page .px-world-name{margin-top:8px;font-size:1.5rem}.cc-home-page .px-world-en{color:#8ea7bf;letter-spacing:.09em}.cc-home-page .cc-campaign-desc{margin-bottom:20px}.expedition-chapter-progress{height:3px;margin:18px 0 0;background:#26394e}.expedition-chapter-progress>span{display:block;height:100%;background:var(--chapter-accent)}.cc-home-page .px-campaign-footer{border-top:0;padding-top:14px;gap:12px}.cc-home-page .cc-level-node--open{border:1px solid var(--px-teal);color:var(--px-teal);background:#12363c;box-shadow:2px 2px #050b13;animation:none}.cc-home-page .cc-level-node--locked{opacity:.55}.cc-home-loadout{border-top-color:#345368}.px-btn,.cc-action-btn{background:linear-gradient(180deg,#233b52,#17283d);color:#e9f1fc;border:1px solid #4b6982;border-radius:0;box-shadow:0 3px #050b13,inset 0 1px #ffffff0d;text-shadow:none;filter:none}.px-btn--primary,.px-btn--success,.cc-run-btn,.auth-submit{background:linear-gradient(135deg,#91f4dc,#59d5d2);color:#08232c;border:1px solid #a6ffec;border-radius:0;box-shadow:0 3px #12626b;font-weight:800;text-shadow:none}.px-btn--danger,.cc-action-btn--danger{background:#612938;border-color:#b9687b;color:#ffe9ef}.cc-action-btn--hint{color:var(--px-gold);border-color:#847450}.px-btn--magic{background:#362c57;border-color:#8c77c1}.px-btn--ghost{background:transparent;box-shadow:none}.px-btn:hover,.cc-action-btn:hover,.cc-run-btn:hover:not(:disabled),.auth-submit:hover:not(:disabled){filter:none}.px-btn:disabled,.cc-run-btn:disabled,.auth-submit:disabled{filter:none;opacity:.5}.px-btn:active:not(:disabled),.cc-action-btn:active:not(:disabled),.cc-run-btn:active:not(:disabled){animation:none;transform:translateY(2px)}.settings-trigger,.auth-header-btn{border-radius:2px;border:1px solid #426078;background:#17293b;box-shadow:0 2px #050b13}.auth-header-btn--primary{color:var(--px-teal);background:#17383e;border-color:#4d938f}.settings-frame,.item-box-frame,.transfer-trial-dialog,.auth-shell{background:#101c2e;border:1px solid #477080;border-top:3px solid var(--px-teal);border-radius:2px;box-shadow:6px 6px #040a1399;backdrop-filter:none;-webkit-backdrop-filter:none}.settings-frame-header,.item-box-header,.transfer-dialog-header{background:linear-gradient(110deg,#193343,#142337);border-bottom:1px solid #345268}.settings-frame-title,.item-box-title{color:var(--px-gold)}.settings-close-btn,.settings-chip{background:#192a40;border:1px solid #3e556e;border-radius:2px}.settings-close-btn{min-width:44px;min-height:44px}.settings-chip--active{color:#b8fff1;border-color:#66bdb5;background:#1b3c45;box-shadow:inset 3px 0 0 var(--px-teal)}.settings-section{border-color:#2b4058}.settings-frame input[type=range]{accent-color:var(--px-teal)}.settings-overlay,.item-box-overlay{background:#050c19db;backdrop-filter:none;-webkit-backdrop-filter:none}.hero-select,.hero-card{background:#122237;border-color:#34536a}.hero-card--selected{border-color:var(--px-teal)}.auth-panel{background:transparent}.auth-tabs{background:#091423;border:1px solid #293e55;border-radius:2px}.auth-tab{border-radius:0}.auth-tab--active{background:#1b3c45;color:#b8fff1;box-shadow:inset 0 -2px 0 var(--px-teal)}.auth-card-title{color:var(--px-gold)}.auth-field input{background:#0a1424;border:1px solid #3c536d;border-radius:2px;color:var(--px-ink)}.auth-field input:focus{border-color:var(--px-teal);box-shadow:0 0 0 2px #66e5dc1f}.auth-submit--ghost{color:var(--px-teal);background:#19323d;border-color:#4c7c83;box-shadow:none}.cc-play-header,.cc-map-sidebar{background:linear-gradient(105deg,#172b3e,#111e30);border-color:#355568}.cc-goals-panel,.cc-console,.cc-panel,.px-panel{border:1px solid #345368;box-shadow:inset 0 2px #66e5dc20}.cc-goals-panel{background:#111f31}.cc-console{background:#080f1c}.cc-console-label{color:var(--px-teal)}.cc-map-title-ribbon-inner{background:#122537ed;border-color:#4b7180}.cc-map-back-btn,.cc-map-nav-item{border-radius:2px}.cc-map-biome-caption{position:absolute;bottom:18px;left:20px;display:grid;gap:6px;padding:10px 14px;pointer-events:none;border-left:2px solid #d7bf80;background:#07121bc9;color:#e3d6ac;font-size:.75rem}.cc-map-biome-caption span{font-size:.625rem;color:#a7bdca}.cc-map-3d-node-num--biome{min-width:28px;min-height:28px;border-radius:4px}.cc-map-nav-item{background:#14283c;border-color:#3a536e}.cc-map-continue-btn{background:linear-gradient(135deg,#91f4dc,#59d5d2);color:#08232c;border:1px solid #a6ffec;border-radius:2px;box-shadow:0 3px #12626b;text-shadow:none;min-height:48px}.cc-map-continue-btn:hover{background:#a2ffe7;box-shadow:0 3px #12626b}.cc-map-drawer{background:#101c2ef5;border-color:#345368;box-shadow:4px 0 #050b1377;backdrop-filter:none;-webkit-backdrop-filter:none}.cc-map-node--next .cc-map-node-ring,.cc-map-pointer{animation:none}.cc-map-hud .cc-rank-badge,.cc-map-hud .auth-header-btn{backdrop-filter:none;-webkit-backdrop-filter:none}.px-arcade-card,.scr-panel,.scr-empty{background:linear-gradient(135deg,#192a3e,#101c2e);border:1px solid #36566c;box-shadow:0 4px #050b13}.px-arcade-card{border-top-width:3px}.px-arcade-card__en{color:#92aac3}.scr-empty{padding:36px 20px}.scr-header,.px-arcade-header{padding-bottom:20px;border-bottom:1px solid #345368}.scr-item--on{background:#1c3b47;box-shadow:inset 3px 0 0 var(--px-teal)}.cc-home-page .cc-campaign,.cc-home-page .px-arcade-entry,.equipment-launcher{backdrop-filter:none;-webkit-backdrop-filter:none}@media(hover:hover)and (pointer:fine){.cc-home-page .px-campaign:not(.cc-campaign--locked):hover{transform:translateY(-2px);border-color:#65939c!important;box-shadow:0 4px #050b13!important}.cc-home-page .px-arcade-entry:hover{transform:translateY(-2px);border-color:#68aaa9}.px-btn:hover:not(:disabled),.cc-action-btn:hover:not(:disabled){border-color:var(--px-teal);color:#c5fff5}.px-btn--primary:hover:not(:disabled),.px-btn--success:hover:not(:disabled),.cc-run-btn:hover:not(:disabled){color:#08232c;background:#a2ffe7}}@media(max-width:768px){.cc-home-page .px-campaign{padding:20px 18px}.cc-home-page .px-arcade-entry{padding:16px;gap:12px}.cc-home-mission h2{font-size:1.5rem}.cc-home-mission:after{width:54px;height:54px}.cc-mission-progress{display:grid;grid-template-columns:1fr auto;gap:12px}.cc-mission-progress .cc-eyebrow{align-self:center;margin:0}.cc-mission-progress>:nth-child(n+3){grid-column:1 / -1}.expedition-chapter-id{font-size:16px}.cc-home-page .cc-campaign-header{gap:8px}.cc-home-page .px-course-label{font-size:.6875rem}.auth-panel{padding:28px 20px}}@media(prefers-reduced-motion:reduce){.cc-home-page .px-campaign:hover,.cc-home-page .px-arcade-entry:hover{transform:none}}.cc-home-page .cc-campaign.px-campaign{background:var(--chapter-surface)}.campaign-panorama{margin:0 -24px 18px;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff16;overflow:hidden;background:#101928}.campaign-panorama svg{display:block;width:100%;height:auto;aspect-ratio:480 / 128}.cc-home-page .cc-campaign .px-campaign-icon{border-color:var(--chapter-accent)}.cc-home-page .cc-campaign .px-world-name{color:#f0edf5}.cc-home-page .cc-campaign .cc-campaign-desc{margin-top:12px}.campaign-skill-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.campaign-skill-tags span{padding:3px 8px;color:#d0dce7;border:1px solid #ffffff20;border-left:2px solid var(--chapter-accent);background:#060d1c4d;font-size:.6875rem;line-height:1.6}.cc-home-page .cc-campaign .px-campaign-play-link{border-color:var(--chapter-accent)}.cc-home-page .cc-campaign .cc-level-node--awakened{box-shadow:2px 2px #050b13}.campaign-panorama [data-motion]{transform-box:fill-box;transform-origin:center;animation-play-state:paused}.campaign-panorama [data-motion=flame]{animation:campaign-fire 3.2s ease-in-out infinite alternate paused}.campaign-panorama [data-motion=pulse]{animation:campaign-light 4s ease-in-out infinite alternate paused}.campaign-panorama [data-motion=drift]{animation:campaign-leaves 7s ease-in-out infinite alternate paused}.campaign-panorama [data-motion=sand]{animation:campaign-sand 8s ease-in-out infinite alternate paused}.campaign-panorama [data-motion=snow]{animation:campaign-snow 8s ease-in-out infinite alternate paused}.campaign-panorama [data-motion=cloud]{animation:campaign-cloud 10s ease-in-out infinite alternate paused}.campaign-panorama [data-motion=gear]{animation:campaign-gear 16s linear infinite paused}.campaign-panorama [data-motion=water]{animation:campaign-water 6s ease-in-out infinite alternate paused}.cc-campaign[data-scene-active=true] .campaign-panorama [data-motion]{animation-play-state:running}.campaign-world-2 [data-motion]{animation-delay:-2s}.campaign-world-6 [data-motion]{animation-delay:-1s}@keyframes campaign-fire{0%{opacity:.65;transform:scaleY(.85)}to{opacity:1;transform:scaleY(1.08)}}@keyframes campaign-light{0%{opacity:.4}to{opacity:1}}@keyframes campaign-leaves{0%{transform:translate(-3px,-2px);opacity:.45}to{transform:translate(5px,5px);opacity:.9}}@keyframes campaign-sand{0%{transform:translate(-8px);opacity:.3}to{transform:translate(12px);opacity:.8}}@keyframes campaign-snow{0%{transform:translateY(-3px);opacity:.4}to{transform:translateY(8px);opacity:.9}}@keyframes campaign-cloud{0%{transform:translate(-6px)}to{transform:translate(8px)}}@keyframes campaign-gear{to{transform:rotate(360deg)}}@keyframes campaign-water{0%{transform:translate(-4px);opacity:.35}to{transform:translate(6px);opacity:.8}}@media(max-width:768px){.campaign-panorama{margin-left:-18px;margin-right:-18px}}@media(prefers-reduced-motion:reduce){.campaign-panorama [data-motion]{animation:none!important;transform:none;opacity:1}}.reward-dialog{box-sizing:border-box;width:min(580px,calc(100vw - 28px));max-height:min(880px,calc(100dvh - 28px));padding:0;background:#101e30;color:var(--px-ink);border:1px solid #5f9b9a;border-top:3px solid var(--px-teal);box-shadow:6px 6px #040a13;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.reward-dialog::backdrop{background:#040a15dc}.reward-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid #304b60}.reward-eyebrow{font-size:.6875rem;color:#a6d4d2;letter-spacing:.08em}.reward-close{width:44px;height:44px;border:1px solid #3c5a70;background:#1c3045;color:#d8e7f4;font-size:24px;cursor:pointer}.reward-body{padding:20px 28px;text-align:center}.reward-crest{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 10px;color:var(--px-gold);border:1px solid #998052;background:#2f3029;box-shadow:3px 3px #050c18}.reward-kicker{margin:0 0 6px;color:#a4b9d2;font-size:.8125rem}.reward-body h2{font-size:clamp(1.65rem,5vw,2.25rem);color:var(--px-gold);margin:0 0 10px;letter-spacing:.1em}.reward-goal{margin:0 0 18px;font-size:.875rem;line-height:1.7;color:#c7e9e4;overflow-wrap:anywhere}.reward-prize{position:relative;padding:18px 12px;background:linear-gradient(120deg,#1d494b,#132c3c);border:1px solid #4c9b94}.reward-prize:after{content:"";position:absolute;right:0;top:0;width:14px;height:14px;background:linear-gradient(45deg,transparent 50%,#83efda 50%)}.reward-xp{display:block;color:#a7ffe7;font-size:clamp(2.8rem,10vw,4rem);line-height:1.35;font-variant-numeric:tabular-nums}.reward-xp small{font-size:1rem;letter-spacing:.1em}.reward-dialog[open] .reward-xp{animation:reward-arrive .2s ease-out both}.reward-breakdown{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:.75rem;color:#bed7df}.reward-breakdown b{color:#9bf4de}.reward-replay-title{display:block;font-size:1.5rem;margin:10px 0;color:#b7f7e8}.reward-muted{color:var(--px-muted);font-size:.75rem}.reward-rating{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;padding:16px 0 12px;font-size:.8125rem}.reward-stars{letter-spacing:.15em;font-size:1.6rem;color:#40536a}.reward-stars .is-earned{color:var(--px-gold)}.reward-record{color:var(--px-gold);font-size:.8125rem;margin:10px 0}.reward-growth{display:grid;gap:8px;padding:14px 0;text-align:left;border-top:1px solid #30485e}.reward-growth>strong{font-size:.875rem}.reward-growth p{font-size:.75rem;margin:0;line-height:1.7}.reward-rank-up{color:var(--px-gold)}.reward-growth-track{background:#081322;height:5px}.reward-growth-track>span{display:block;height:100%;background:var(--px-teal)}.reward-unlock{display:flex;gap:10px;text-align:left;align-items:flex-start;padding:12px;border-left:2px solid var(--px-gold);background:#263029;font-size:.8125rem;line-height:1.7;color:#ffe3a6}.reward-unlock svg{flex:0 0 auto;margin-top:3px}.reward-unlock p{margin:0}.reward-unlock small{display:block;color:#bed0c9}.reward-details{text-align:left;padding-top:14px;border-top:1px solid #30485e;font-size:.75rem;color:var(--px-muted);line-height:1.7}.reward-details summary{min-height:32px;cursor:pointer;color:#b7cede}.reward-details ul{padding-left:16px}.reward-actions{display:flex;gap:12px;justify-content:space-between;position:sticky;bottom:0;padding:14px 20px;background:#102333;border-top:1px solid #3c6272}.reward-actions .cc-run-btn{flex:1;max-width:260px}.reward-reopen{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;margin-top:14px;border:1px solid #416c75;color:#a2efdd;font-size:.8125rem}@keyframes reward-arrive{0%{opacity:.5;transform:translateY(5px) scale(.96)}to{opacity:1;transform:none}}@media(max-width:480px),(max-height:650px){.reward-body{padding:14px 18px}.reward-crest{width:42px;height:42px;margin-bottom:8px}.reward-crest svg{width:26px;height:26px}.reward-prize{padding:12px 8px}.reward-goal{margin-bottom:12px}.reward-actions{padding:12px;gap:10px}.reward-actions button{padding:8px 10px;font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.reward-dialog[open] .reward-xp{animation:none}}.reward-dialog{width:min(620px,calc(100vw - 28px));border:1px solid #af9358;border-top:2px solid #f2d68c;background:radial-gradient(ellipse at 50% 12%,#6c53262b,transparent 48%),linear-gradient(160deg,#172638,#0d192b 75%);box-shadow:0 0 0 4px #091320,0 0 0 5px #675334,0 20px 60px #0007}.reward-dialog::backdrop{background:#030915e8}.reward-header{padding:6px 16px;border-bottom-color:#a183483d;background:#070f1c40}.reward-header .reward-eyebrow{color:#ccb986}.reward-header-diamond{color:#ffe1a0;margin-right:8px}.reward-header-divider{margin:0 8px;color:#6b675c}.reward-close{background:#1b2b3b;border-color:#7b704b;color:#e5d7b8}.reward-body{padding:10px 28px 18px}.reward-ceremony{position:relative;isolation:isolate;height:106px;display:grid;place-items:center}.reward-crest{border:0;background:none;box-shadow:none;width:132px;height:106px;margin:0;z-index:1}.reward-crest svg{display:block;width:132px;height:106px}.reward-halo{position:absolute;width:260px;height:130px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#f6d17a30,#edbb5d0b 50%,transparent 70%)}.reward-halo:before,.reward-halo:after{content:"";position:absolute;top:24px;right:86px;bottom:24px;left:86px;border:1px solid #d8b35b3d;transform:rotate(45deg)}.reward-halo:after{top:13px;right:75px;bottom:13px;left:75px;border-color:#d8b35b1c}.reward-sparks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.reward-sparks i{position:absolute;width:3px;height:3px;background:#f4d38a;left:25%;top:35%;opacity:.65}.reward-sparks i:nth-child(2){left:34%;top:14%}.reward-sparks i:nth-child(3){left:70%;top:24%;width:5px;height:5px}.reward-sparks i:nth-child(4){left:76%;top:70%}.reward-sparks i:nth-child(5){left:20%;top:78%}.reward-sparks i:nth-child(6){left:63%;top:85%}.reward-sparks i:nth-child(7){left:39%;top:92%;width:2px;height:2px}.reward-sparks i:nth-child(8){left:83%;top:40%;width:2px;height:2px}.reward-kicker{margin:4px 0;color:#acb9c9;font-size:.75rem}.reward-body h2{color:#ffe1a1;font-weight:800;text-shadow:0 2px 0 #634920;font-size:clamp(1.7rem,5vw,2.4rem);margin-bottom:6px}.reward-honor{color:#e6c57d;font-size:.6875rem;letter-spacing:.12em;margin:6px 0 10px}.reward-honor span{color:#9f8559;font-size:.5625rem;margin:0 8px}.reward-encouragement{font-size:.875rem;color:#ede4d3;line-height:1.6;margin:0 0 8px}.reward-goal{font-size:.75rem;color:#9ebbbf;margin-bottom:16px}.reward-prize{border-color:#b797573f;background:linear-gradient(110deg,#66502b21,#b18a3b1c 50%,#66502b21);padding:12px}.reward-prize:before{content:"";position:absolute;top:-1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,#ffe4a3,transparent)}.reward-prize:after{width:10px;height:10px;background:linear-gradient(45deg,transparent 50%,#dabb78 50%)}.reward-prize .reward-eyebrow{color:#d2bc89}.reward-xp{color:#ffe4a3;line-height:1.25;font-size:clamp(2.6rem,10vw,3.8rem);text-shadow:0 2px 0 #725524}.reward-breakdown{gap:6px 12px;padding-top:8px;font-size:.6875rem}.reward-breakdown b{color:#f4d68e}.reward-replay-title{font-size:1.4rem;color:#ffe4a3;margin:8px 0}.reward-prize--replay .reward-muted{margin:6px 0 0;font-size:.6875rem}.reward-rating{padding:12px 0}.reward-stars{display:inline-flex;align-items:center;gap:12px;letter-spacing:0}.reward-stars>span{display:inline-block;font-size:1.7rem}.reward-stars>span:nth-child(2){font-size:2.2rem}.reward-stars .is-earned{color:#ffe09a;text-shadow:0 2px 0 #8d642d}.reward-growth{padding:12px 0;border-top-color:#c6a46130}.reward-growth-track{height:4px;background:#080f1b}.reward-growth-track>span{background:linear-gradient(90deg,#a68548,#efd58e)}.reward-details{border-top-color:#c6a46130;padding-top:10px}.reward-actions{border-top-color:#b99c5c55;background:linear-gradient(105deg,#1c2c3b,#152334)}.reward-actions .cc-run-btn{border-color:#ffe9b0;color:#302312;background:linear-gradient(135deg,#ffe8ac,#dcb66a);box-shadow:0 3px #7b5e30}.reward-actions .cc-run-btn:hover:not(:disabled){color:#302312;background:#fff0c7}.reward-dialog--record .reward-prize,.reward-dialog--ascend .reward-prize,.reward-dialog--chapter .reward-prize{border-color:#d7b46d}.reward-dialog[open] .reward-crest{animation:reward-medal .52s cubic-bezier(.2,.7,.2,1) both}.reward-dialog[open] .reward-sparks i{animation:reward-spark 1.4s ease-out both}.reward-dialog[open] .reward-sparks i:nth-child(2n){animation-delay:.12s}.reward-dialog[open] .reward-sparks i:nth-child(3n){animation-delay:.24s}.reward-dialog[open] .reward-stars .is-earned{animation:reward-star .4s ease-out both}.reward-dialog[open] .reward-stars .is-earned:nth-child(2){animation-delay:.12s}.reward-dialog[open] .reward-stars .is-earned:nth-child(3){animation-delay:.24s}@keyframes reward-medal{0%{opacity:0;transform:translateY(8px) scale(.85)}to{opacity:1;transform:none}}@keyframes reward-spark{0%{opacity:0;transform:translateY(6px) scale(.4)}30%{opacity:.9}to{opacity:.35;transform:translateY(-8px) scale(1)}}@keyframes reward-star{0%{opacity:.3;transform:scale(.6) translateY(4px)}to{opacity:1;transform:none}}@media(max-width:480px){.reward-body{padding:8px 18px 14px}.reward-ceremony{height:80px}.reward-crest,.reward-crest svg{width:104px;height:80px}.reward-halo{height:110px;width:220px}.reward-body h2{font-size:1.75rem}.reward-encouragement{font-size:.75rem}.reward-honor{margin:5px 0 8px}.reward-goal{margin-bottom:12px;font-size:.6875rem}.reward-prize{padding:10px 8px}}@media(max-height:650px){.reward-header{padding:4px 12px}.reward-body{padding-top:4px}.reward-ceremony{height:44px}.reward-crest,.reward-crest svg{width:60px;height:46px}.reward-halo{width:180px;height:70px}.reward-kicker{font-size:.625rem;margin:2px 0}.reward-body h2{font-size:1.4rem;margin-bottom:3px}.reward-honor{margin:3px 0 6px;font-size:.625rem}.reward-encouragement{font-size:.6875rem;margin-bottom:4px}.reward-goal{margin-bottom:10px;font-size:.6875rem}.reward-xp{font-size:2.6rem}}@media(prefers-reduced-motion:reduce){.reward-dialog[open] .reward-crest,.reward-dialog[open] .reward-sparks i,.reward-dialog[open] .reward-stars .is-earned{animation:none}}
