@import"https://fonts.googleapis.cn/css2?family=Noto+Serif+SC:wght@400;600;700;900&family=Noto+Sans+SC:wght@300;400;500;700&display=swap";*,: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}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.flex{display:flex}.hidden{display:none}.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))}.resize{resize:both}.border{border-width:1px}.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{--bg-primary: #080c18;--bg-secondary: #0d1424;--bg-panel: rgba(13, 20, 36, .85);--bg-card: rgba(15, 22, 40, .7);--border-gold: rgba(201, 164, 86, .4);--border-gold-bright: rgba(201, 164, 86, .7);--gold: #c9a456;--gold-light: #e0c068;--gold-dim: #8a7033;--cyan: #3ecfcf;--cyan-dim: rgba(62, 207, 207, .3);--purple: #8b5cf6;--purple-dim: rgba(139, 92, 246, .3);--red: #e05555;--green: #34d399;--text-primary: #e8e0d0;--text-secondary: #bfa76a;--text-dim: rgba(232, 224, 208, .5);--font-title: "Noto Serif SC", serif;--font-body: "Noto Sans SC", sans-serif;--shadow-gold: 0 0 15px rgba(201, 164, 86, .15);--shadow-cyan: 0 0 15px rgba(62, 207, 207, .15);--radius: 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}#app{width:100%;height:100%;position:relative}#bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.game-root{width:100%;height:100%;position:relative;z-index:1}.game-container{display:flex;flex-direction:column;height:100%;max-width:1400px;margin:0 auto;padding:0 12px}.game-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border-gold);background:linear-gradient(180deg,rgba(201,164,86,.08) 0%,transparent 100%);flex-shrink:0}.header-title{display:flex;align-items:center;gap:10px}.title-icon{font-size:24px;color:var(--gold);filter:drop-shadow(0 0 6px rgba(201,164,86,.4))}.header-title h1{font-family:var(--font-title);font-size:22px;font-weight:700;background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dim));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:4px}.title-sub{font-family:var(--font-title);font-size:12px;color:var(--text-dim);letter-spacing:2px}.header-resources{display:flex;gap:20px}.resource-display{display:flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--border-gold);border-radius:var(--radius);background:#c9a4560d}.res-icon{font-size:16px}.res-value{font-family:var(--font-title);font-weight:600;color:var(--gold-light);font-size:15px}.res-label{font-size:11px;color:var(--text-dim)}.main-area{display:flex;flex:1;gap:12px;min-height:0;padding:12px 0}.left-panel{width:220px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid var(--border-gold);border-radius:var(--radius);background:var(--bg-panel);overflow-y:auto}.character-display{padding:16px;text-align:center}.character-portrait{width:100%;max-width:180px;margin:0 auto 12px;aspect-ratio:3 / 4;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#0000004d,#0009);border:1px solid var(--border-gold)}.character-portrait img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.character-svg{width:100%;height:100%}.aura-circle{animation:aura-rotate 8s linear infinite;transform-origin:center}.aura-2{animation-duration:12s;animation-direction:reverse}.aura-3{animation-duration:16s}@keyframes aura-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.char-realm{font-family:var(--font-title);font-size:16px;font-weight:600;color:var(--gold-light);margin-bottom:4px;text-shadow:0 0 10px rgba(201,164,86,.3)}.char-active-tech,.char-active-beast{font-size:12px;color:var(--text-secondary);margin-top:4px}.center-panel{flex:1;display:flex;flex-direction:column;min-width:0;border:1px solid var(--border-gold);border-radius:var(--radius);background:var(--bg-panel);overflow:hidden}.tab-bar{display:flex;border-bottom:1px solid var(--border-gold);background:#c9a45608;flex-shrink:0;overflow-x:auto}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;transition:all .3s ease;font-family:var(--font-body);font-size:11px;white-space:nowrap;position:relative}.tab-btn:hover{color:var(--text-primary);background:#c9a4560d}.tab-btn.active{color:var(--gold-light);background:#c9a45614}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.tab-icon{font-size:18px}.tab-label{font-size:11px}.tab-content{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent}.tab-content::-webkit-scrollbar{width:6px}.tab-content::-webkit-scrollbar-track{background:transparent}.tab-content::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px}.panel-title{font-family:var(--font-title);font-size:20px;font-weight:700;color:var(--gold-light);text-align:center;margin-bottom:16px;letter-spacing:4px;text-shadow:0 0 15px rgba(201,164,86,.3)}.section-title{font-family:var(--font-title);font-size:15px;font-weight:600;color:var(--gold);margin-bottom:10px;padding-left:8px;border-left:3px solid var(--gold)}.main-tab{display:flex;flex-direction:column;gap:16px}.cultivation-display{text-align:center;padding:16px;background:#3ecfcf08;border:1px solid rgba(62,207,207,.15);border-radius:var(--radius)}.realm-badge{margin-bottom:12px}.realm-name{display:block;font-family:var(--font-title);font-size:24px;font-weight:900;background:linear-gradient(135deg,var(--cyan),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 8px rgba(62,207,207,.3))}.realm-desc{display:block;font-size:12px;color:var(--text-dim);margin-top:4px}.cultivation-bar-wrapper{margin:12px 0}.cultivation-bar{height:20px;background:#0006;border:1px solid var(--border-gold);border-radius:10px;overflow:hidden;position:relative}.cultivation-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--gold),var(--purple));border-radius:10px;transition:width .5s ease;position:relative}.cultivation-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.cultivation-text{display:flex;justify-content:center;gap:6px;margin-top:6px;font-family:var(--font-title);font-size:14px;color:var(--text-secondary)}.cultivation-rate{font-size:13px;color:var(--cyan);margin-top:4px}.next-realm-hint{font-size:12px;color:var(--text-dim);margin-top:4px}.next-realm-hint.max-realm{color:var(--gold)}.breakthrough-section{text-align:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border:1px solid var(--border-gold);border-radius:var(--radius);background:linear-gradient(135deg,#c9a45626,#c9a4560d);color:var(--gold-light);font-family:var(--font-title);font-size:14px;cursor:pointer;transition:all .3s ease;letter-spacing:2px}.btn:hover{background:linear-gradient(135deg,#c9a45640,#c9a4561a);border-color:var(--border-gold-bright);transform:translateY(-1px);box-shadow:var(--shadow-gold)}.btn:active{transform:translateY(0)}.btn-sm{padding:4px 12px;font-size:12px;letter-spacing:1px}.btn-breakthrough{background:linear-gradient(135deg,#3ecfcf33,#3ecfcf0d);border-color:#3ecfcf80;color:var(--cyan);animation:pulse-glow 2s ease-in-out infinite}.btn-tribulation{background:linear-gradient(135deg,#8b5cf633,#8b5cf60d);border-color:#8b5cf680;color:var(--purple);animation:pulse-glow-purple 2s ease-in-out infinite}.btn-cultivate-manual{width:100%;padding:14px 20px;margin:12px 0;background:linear-gradient(135deg,#ffd70026,#ffa50014);border:2px solid rgba(255,215,0,.4);border-radius:12px;color:gold;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease}.btn-cultivate-manual:hover{background:linear-gradient(135deg,#ffd70040,#ffa50026);border-color:#ffd700b3;transform:translateY(-2px);box-shadow:0 4px 15px #ffd70033}.btn-cultivate-manual:active{transform:translateY(0)}.btn-cultivate-manual.pulse{animation:btn-pulse .3s ease}@keyframes btn-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3ecfcf33}50%{box-shadow:0 0 20px #3ecfcf66}}@keyframes pulse-glow-purple{0%,to{box-shadow:0 0 5px #8b5cf633}50%{box-shadow:0 0 20px #8b5cf666}}.btn-icon{font-size:18px}.btn-hint{font-size:11px;opacity:.7}.btn-danger{border-color:#e0555580;color:var(--red);background:#e055551a}.btn-danger:hover{background:#e0555533;border-color:var(--red)}.active-buffs{display:flex;gap:8px;justify-content:center;margin-top:8px;flex-wrap:wrap}.buff-tag{padding:2px 8px;border-radius:10px;font-size:11px;background:#34d39926;border:1px solid rgba(52,211,153,.3);color:var(--green)}.spirit-roots-display{padding:12px;background:var(--bg-card);border:1px solid rgba(201,164,86,.15);border-radius:var(--radius)}.roots-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.root-item{text-align:center;padding:8px 4px;background:#0003;border-radius:var(--radius);border:1px solid rgba(255,255,255,.05)}.root-icon{font-family:var(--font-title);font-size:20px;font-weight:700;display:block;margin-bottom:2px}.root-name{font-size:11px;color:var(--text-dim)}.root-value{font-family:var(--font-title);font-size:16px;font-weight:600;color:var(--text-primary);margin:2px 0}.root-bar{height:4px;background:#0000004d;border-radius:2px;overflow:hidden;margin-top:4px}.root-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}.technique-card,.pill-card,.artifact-card,.beast-card,.realm-card{padding:12px;margin-bottom:10px;background:var(--bg-card);border:1px solid rgba(201,164,86,.12);border-radius:var(--radius);transition:all .3s ease}.technique-card:hover,.pill-card:hover,.artifact-card:hover,.beast-card:hover,.realm-card:hover{border-color:var(--border-gold);background:#c9a4560d}.technique-card.locked,.pill-card.locked,.artifact-card.locked,.beast-card.locked,.realm-card.locked{opacity:.4;pointer-events:none}.technique-card.active,.beast-card.active{border-color:var(--cyan);box-shadow:0 0 10px #3ecfcf26}.artifact-card.owned{border-color:#34d3994d}.tech-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tech-name{font-family:var(--font-title);font-size:15px;font-weight:600;color:var(--gold-light)}.tech-element{font-size:12px;padding:1px 8px;border-radius:10px;border:1px solid currentColor;opacity:.8}.tech-desc{font-size:12px;color:var(--text-dim);margin-bottom:8px}.tech-level{font-size:13px;color:var(--cyan);margin-bottom:6px}.tech-actions{display:flex;gap:8px;flex-wrap:wrap}.tech-active-tag{font-size:11px;color:var(--cyan);padding:2px 8px;border:1px solid var(--cyan);border-radius:10px}.tech-max-tag{font-size:11px;color:var(--gold);padding:2px 8px}.tech-lock-info{font-size:12px;color:var(--red);margin-bottom:6px}.pill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.pill-name{font-family:var(--font-title);font-size:15px;font-weight:600;color:var(--green)}.pill-count{font-size:12px;color:var(--text-secondary)}.pill-desc{font-size:12px;color:var(--text-dim);margin-bottom:6px}.pill-recipe,.art-craft-cost{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.recipe-label{font-size:12px;color:var(--text-secondary)}.recipe-item{font-size:11px;padding:1px 6px;border-radius:4px;background:#3ecfcf1a;color:var(--cyan);border:1px solid rgba(62,207,207,.2)}.recipe-item.insufficient{color:var(--red);border-color:#e055554d;background:#e055550d}.pill-info{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.pill-actions{display:flex;gap:8px}.lock-text{font-size:12px;color:var(--red)}.art-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.art-name{font-family:var(--font-title);font-size:15px;font-weight:600;color:var(--gold-light)}.art-slot{font-size:11px;color:var(--text-dim)}.art-desc{font-size:12px;color:var(--text-dim);margin-bottom:6px}.art-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.stat-tag{font-size:11px;padding:1px 6px;border-radius:4px;background:#c9a4561a;color:var(--gold);border:1px solid rgba(201,164,86,.2)}.beast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.beast-name{font-family:var(--font-title);font-size:15px;font-weight:600;color:var(--purple)}.beast-element{font-size:12px;padding:1px 8px;border-radius:10px;border:1px solid currentColor}.beast-desc{font-size:12px;color:var(--text-dim);margin-bottom:6px}.beast-stats{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.beast-level{font-size:12px;color:var(--cyan);margin-bottom:6px}.beast-actions{display:flex;gap:8px}.beast-cost{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.active-tag{font-size:11px;color:var(--cyan);padding:2px 8px;border:1px solid var(--cyan);border-radius:10px}.realm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.realm-card .realm-name{font-family:var(--font-title);font-size:15px;font-weight:600;color:var(--cyan)}.realm-danger{font-size:12px;color:var(--gold)}.realm-desc{font-size:12px;color:var(--text-dim);margin-bottom:6px}.realm-info{display:flex;gap:16px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.realm-rewards{font-size:11px;color:var(--text-dim);margin-bottom:8px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.reward-label{color:var(--gold)}.exploring-tag{font-size:12px;color:var(--cyan);animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.explore-status{padding:12px;background:#3ecfcf0d;border:1px solid rgba(62,207,207,.2);border-radius:var(--radius);margin-bottom:16px}.explore-info{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px;color:var(--cyan)}.explore-bar{height:8px;background:#0000004d;border-radius:4px;overflow:hidden}.explore-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--purple));border-radius:4px;transition:width 1s linear}.alchemy-resources,.materials-display{padding:10px;background:var(--bg-card);border:1px solid rgba(201,164,86,.12);border-radius:var(--radius);margin-bottom:12px}.resource-group h4{font-size:13px;color:var(--gold);margin-bottom:6px}.resource-items{display:flex;flex-wrap:wrap;gap:8px}.resource-tag{font-size:12px;padding:2px 8px;border-radius:4px;background:#3ecfcf14;border:1px solid rgba(62,207,207,.15);color:var(--text-secondary)}.equipped-slots{padding:10px;background:var(--bg-card);border:1px solid rgba(201,164,86,.12);border-radius:var(--radius);margin-bottom:12px}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.equip-slot{text-align:center;padding:8px;background:#0003;border-radius:var(--radius);border:1px solid rgba(201,164,86,.1)}.slot-label{font-size:11px;color:var(--text-dim);margin-bottom:4px}.slot-item{font-family:var(--font-title);font-size:13px;color:var(--gold-light);margin-bottom:4px}.settings-section{padding:12px;background:var(--bg-card);border:1px solid rgba(201,164,86,.12);border-radius:var(--radius);margin-bottom:12px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.info-item{display:flex;justify-content:space-between;padding:4px 8px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.05)}.info-item span:first-child{color:var(--text-dim)}.info-item span:last-child{color:var(--gold-light);font-family:var(--font-title)}.save-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.btn-save{border-color:#34d39980;color:var(--green)}.btn-export{border-color:#3ecfcf80;color:var(--cyan)}.btn-import{border-color:#8b5cf680;color:var(--purple)}.import-textarea{width:100%;height:80px;background:#0000004d;border:1px solid var(--border-gold);border-radius:var(--radius);color:var(--text-primary);font-family:monospace;font-size:11px;padding:8px;resize:none;margin-top:8px}.import-textarea:focus{outline:none;border-color:var(--gold)}.log-panel{flex-shrink:0;height:100px;border:1px solid var(--border-gold);border-radius:var(--radius);background:var(--bg-panel);margin-bottom:8px;overflow:hidden;display:flex;flex-direction:column}.log-header{display:flex;align-items:center;gap:6px;padding:4px 12px;border-bottom:1px solid rgba(201,164,86,.15);font-family:var(--font-title);font-size:12px;color:var(--gold);flex-shrink:0}.scroll-icon{font-size:14px}.log-content{flex:1;overflow-y:auto;padding:6px 12px;scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent}.log-entry{font-size:12px;color:var(--text-dim);padding:2px 0;border-bottom:1px solid rgba(255,255,255,.02)}.log-entry:first-child{color:var(--text-secondary)}.notification-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:8px}.notification{padding:10px 20px;border-radius:var(--radius);font-size:13px;font-family:var(--font-title);transform:translate(120%);transition:transform .3s ease;max-width:300px}.notification.show{transform:translate(0)}.notification-success{background:#34d39926;border:1px solid rgba(52,211,153,.4);color:var(--green)}.notification-error{background:#e0555526;border:1px solid rgba(224,85,85,.4);color:var(--red)}.notification-info{background:#3ecfcf26;border:1px solid rgba(62,207,207,.4);color:var(--cyan)}.secret-realm-status{padding:10px;background:#3ecfcf0d;border:1px solid rgba(62,207,207,.15);border-radius:var(--radius)}.realm-explore-info{display:flex;justify-content:space-between;font-size:13px;color:var(--cyan)}@media(max-width:900px){.main-area{flex-direction:column}.left-panel{width:100%;flex-direction:row;height:auto}.character-display{display:flex;align-items:center;gap:12px;width:100%}.character-silhouette{width:80px;max-width:80px;margin:0}.roots-grid{grid-template-columns:repeat(5,1fr)}.slots-grid{grid-template-columns:repeat(3,1fr)}.info-grid{grid-template-columns:1fr}.game-header{flex-direction:column;gap:8px}}@media(max-width:600px){.game-container{padding:0 4px}.header-title h1{font-size:18px}.tab-label{font-size:10px}.tab-icon{font-size:16px}.realm-name{font-size:20px}.roots-grid{grid-template-columns:repeat(5,1fr);gap:4px}.root-icon{font-size:16px}.root-value{font-size:14px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gold)}::-moz-selection{background:#c9a4564d;color:var(--text-primary)}::selection{background:#c9a4564d;color:var(--text-primary)}.tab-bar{flex-wrap:wrap;gap:4px;padding:6px 8px}.tab-btn{padding:4px 8px;font-size:11px;min-width:auto}.tab-btn .tab-label{font-size:10px}.constitution-card{padding:20px;border-radius:8px;text-align:center;margin-bottom:16px}.constitution-card.rarity-common{background:#64646433;border:1px solid rgba(150,150,150,.3)}.constitution-card.rarity-rare{background:#3ecfcf1a;border:1px solid rgba(62,207,207,.4)}.constitution-card.rarity-epic{background:#8b5cf61a;border:1px solid rgba(139,92,246,.4)}.constitution-card.rarity-legendary{background:#c9a45626;border:1px solid rgba(201,164,86,.5);box-shadow:0 0 20px #c9a45633}.constitution-card.rarity-hidden{background:#e055551a;border:1px solid rgba(224,85,85,.4)}.constitution-name{font-size:20px;font-weight:700;color:var(--gold);font-family:"Noto Serif SC",serif}.constitution-desc{color:var(--text-secondary);margin:8px 0;font-size:13px}.constitution-rarity{font-size:12px;color:var(--cyan)}.dao-heart-bar{height:24px;background:#ffffff0d;border-radius:12px;overflow:hidden;position:relative;margin:12px 0}.dao-heart-fill{height:100%;border-radius:12px;transition:width .5s ease}.dao-heart-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700;color:var(--text-primary);text-shadow:0 1px 3px rgba(0,0,0,.8)}.dao-heart-status{text-align:center;color:var(--text-secondary);font-size:13px;margin-bottom:16px;font-style:italic}.karma-bar{height:16px;background:linear-gradient(90deg,#8b0000,#333 50%,#006400);border-radius:8px;position:relative;margin:12px 0}.karma-pointer{position:absolute;top:-4px;width:4px;height:24px;background:var(--gold);border-radius:2px;transition:left .3s ease;box-shadow:0 0 6px var(--gold)}.karma-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text-secondary);margin-top:4px}.karma-value{text-align:center;color:var(--text-primary);font-size:14px;margin:8px 0}.dao-laws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.dao-law-card{background:var(--bg-card);border:1px solid;border-radius:8px;padding:12px}.dao-law-name{font-size:16px;font-weight:700;margin-bottom:4px}.dao-law-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.dao-law-level{font-size:13px;color:var(--text-primary);margin-bottom:4px}.dao-law-progress{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:4px}.dao-law-bar{height:100%;border-radius:3px;transition:width .3s}.dao-law-fragments{font-size:11px;color:var(--text-secondary)}.dao-law-bonus{font-size:11px;color:var(--cyan);margin-top:4px}.cooking-panel .recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.recipe-card{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:8px;padding:12px;transition:all .3s}.recipe-card.can-cook{border-color:var(--border-gold-bright)}.recipe-card.cannot-cook{opacity:.6}.recipe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.recipe-name{font-size:15px;font-weight:700;color:var(--gold)}.recipe-difficulty{color:var(--gold);font-size:12px}.recipe-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.recipe-ingredients{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ing-ok{font-size:11px;color:var(--cyan);background:#3ecfcf1a;padding:2px 6px;border-radius:4px}.ing-lack{font-size:11px;color:var(--red);background:#e055551a;padding:2px 6px;border-radius:4px}.recipe-mastery{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mastery-badge{font-size:11px;padding:2px 8px;border-radius:4px}.mastery-novice{background:#6464644d;color:#888}.mastery-beginner{background:#3ecfcf33;color:var(--cyan)}.mastery-skilled{background:#60a5fa33;color:#60a5fa}.mastery-expert{background:#8b5cf633;color:#8b5cf6}.mastery-master{background:#c9a45633;color:var(--gold)}.mastery-grandmaster{background:#c9a4564d;color:var(--gold);box-shadow:0 0 8px #c9a4564d}.mastery-exp{font-size:11px;color:var(--text-secondary)}.recipe-effect{font-size:11px;color:var(--cyan);margin-bottom:8px}.qte-container{text-align:center;padding:20px}.qte-phase-info{margin-bottom:16px}.phase-num{color:var(--gold);font-size:14px;font-weight:700}.phase-name{color:var(--cyan);font-size:16px;margin-left:12px}.qte-score{margin-top:16px;font-size:18px;color:var(--gold)}.fire-bar-container{position:relative;margin:20px auto;width:80%;max-width:400px}.fire-bar{display:flex;height:30px;border-radius:6px;overflow:hidden;border:1px solid var(--border-gold)}.fire-zone{display:flex;align-items:center;justify-content:center;font-size:10px;color:#ffffffb3}.fire-zone.low{width:20%;background:#1a3a5c}.fire-zone.perfect{width:15%;background:linear-gradient(180deg,#c9a456,#f0d78c)}.fire-zone.good{width:25%;background:linear-gradient(180deg,#2a6a4a,#34d399)}.fire-zone.over{width:40%;background:linear-gradient(180deg,#8b2020,#e05555)}.fire-pointer{position:absolute;top:-8px;width:4px;height:46px;background:var(--gold);border-radius:2px;box-shadow:0 0 10px var(--gold);transition:left .02s linear}.btn-fire{background:linear-gradient(135deg,#e05555,#f87171);color:#fff;padding:12px 32px;font-size:16px;margin-top:16px}.stir-fry-container{margin:20px auto}.stir-fry-sequence{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.key-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-gold);border-radius:6px;font-size:14px;font-weight:700;background:var(--bg-card);color:var(--text-primary)}.key-current{animation:keyPulse .5s infinite alternate;box-shadow:0 0 10px currentColor}.key-done{opacity:.3}@keyframes keyPulse{0%{transform:scale(1)}to{transform:scale(1.15)}}.stir-fry-combo{font-size:16px;color:var(--cyan);margin-bottom:8px}.stir-fry-timer{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.timer-bar{height:100%;background:linear-gradient(90deg,var(--cyan),var(--gold));transition:width .05s linear}.seasoning-container{text-align:center;margin:20px auto}.seasoning-wheel{width:200px;height:200px;border-radius:50%;margin:0 auto 16px;position:relative;border:3px solid var(--border-gold);overflow:hidden;background:conic-gradient(#34d399 0deg 72deg,#c9a456 72deg 180deg,#f0d78c 180deg 288deg,#e05555 288deg)}.wheel-pointer{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:20px;color:var(--gold);z-index:2}.btn-season{background:linear-gradient(135deg,var(--gold),#f0d78c);color:var(--bg-primary);padding:12px 32px;font-size:16px;font-weight:700}.gambling-lobby{padding:12px}.gambling-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:16px}.gambling-warning{text-align:center;color:var(--red);font-size:12px;margin-bottom:16px;padding:8px;background:#e055551a;border-radius:6px}.gambling-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.game-card{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:8px;padding:16px;text-align:center;cursor:pointer;transition:all .3s}.game-card:hover{border-color:var(--border-gold-bright);transform:translateY(-2px);box-shadow:0 4px 12px #c9a45633}.game-icon{font-size:32px;margin-bottom:8px}.game-name{font-size:16px;font-weight:700;color:var(--gold);margin-bottom:4px}.game-desc{font-size:11px;color:var(--text-secondary)}.gambling-achievements{margin-top:16px}.achievement-badge{display:inline-block;padding:4px 10px;background:#c9a45626;border:1px solid var(--border-gold);border-radius:4px;font-size:11px;color:var(--gold);margin:4px}.slots-container{padding:12px}.slots-machine{text-align:center;margin:16px 0}.slots-display{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.slot-reel{width:80px;height:80px;background:var(--bg-card);border:2px solid var(--border-gold);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:36px;overflow:hidden}.slot-reel.spinning span{animation:slotSpin .1s infinite}.reel-stop{animation:reelFlash .3s}@keyframes slotSpin{0%{transform:translateY(-10px)}to{transform:translateY(10px)}}@keyframes reelFlash{0%{box-shadow:0 0 20px var(--gold)}to{box-shadow:none}}.slots-result{font-size:14px;margin:8px 0;min-height:20px}.slots-result.win{color:var(--gold);text-shadow:0 0 10px rgba(201,164,86,.5)}.slots-result.lose{color:var(--text-secondary)}.slots-controls{text-align:center;margin:12px 0}.bet-selector{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.bet-btn.active{background:var(--gold);color:var(--bg-primary)}.btn-spin{padding:12px 40px;font-size:16px}.slots-paytable{margin-top:16px}.paytable-grid{display:grid;gap:4px}.paytable-row{display:flex;justify-content:space-between;font-size:12px;padding:4px 8px;background:#ffffff05;border-radius:4px}.dice-container{padding:12px;text-align:center}.dice-area{margin:16px 0}.dice-cup{display:flex;justify-content:center;gap:16px;margin-bottom:12px}.dice{width:60px;height:60px;background:linear-gradient(135deg,#2a2a3a,#1a1a2a);border:2px solid var(--border-gold);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--text-primary)}.dice-total{font-size:14px;color:var(--cyan)}.dice-bets{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0}.bet-group{text-align:center}.bet-group h4{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.dice-bet-amount{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.dbet-btn.active{background:var(--gold);color:var(--bg-primary)}.dice-result{font-size:14px;margin:12px 0;min-height:20px}.dice-result.win{color:var(--gold)}.dice-result.lose{color:var(--text-secondary)}.dice-streak{color:var(--cyan);font-size:14px}.cards-container{padding:12px}.cards-table{margin:12px 0}.cards-players{display:flex;justify-content:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.ai-player{text-align:center;padding:8px;background:var(--bg-card);border-radius:8px;min-width:100px}.ai-avatar{font-size:28px}.ai-name{font-size:12px;color:var(--gold);font-weight:700}.ai-style{font-size:10px;color:var(--text-secondary)}.ai-cards{display:flex;gap:4px;justify-content:center;margin-top:6px}.ai-status{font-size:11px;color:var(--red);margin-top:4px}.cards-pot{text-align:center;font-size:18px;color:var(--gold);margin:12px 0}.cards-player-area{text-align:center}.player-cards{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.card{width:50px;height:70px;background:var(--bg-card);border:2px solid var(--border-gold);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px}.card-hidden{background:linear-gradient(135deg,#1a2a4a,#0d1424)}.card-rank{font-size:16px;font-weight:700}.card-suit{font-size:12px}.cards-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.cards-result{text-align:center;font-size:16px;margin:12px 0;min-height:24px}.cards-result.win{color:var(--gold);text-shadow:0 0 10px rgba(201,164,86,.5)}.cards-result.lose{color:var(--text-secondary)}.formations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.formation-card{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:8px;padding:12px}.formation-card.active{border-color:var(--gold);box-shadow:0 0 12px #c9a45633}.formation-card.learned{border-color:var(--cyan)}.formation-name{font-size:15px;font-weight:700;color:var(--gold);margin-bottom:4px}.formation-desc{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.formation-stats{font-size:11px;color:var(--cyan);margin-bottom:6px}.formation-level{font-size:12px;color:var(--text-primary);margin-bottom:6px}.formation-req{font-size:11px;color:var(--text-secondary);margin-bottom:6px}.sect-intro{text-align:center;padding:20px}.sect-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.sect-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.buildings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:16px}.building-card{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:6px;padding:10px}.building-name{font-size:14px;font-weight:700;color:var(--gold);margin-bottom:4px}.building-desc{font-size:11px;color:var(--text-secondary);margin-bottom:6px}.donate-btns{display:flex;gap:8px;flex-wrap:wrap}.reincarnation-info{margin-bottom:16px}.reinc-stat{font-size:14px;margin:6px 0}.reinc-ready{color:var(--gold);font-size:16px;text-align:center;margin:12px 0;animation:goldPulse 2s infinite}.reinc-locked{color:var(--text-secondary);text-align:center;margin:12px 0}.btn-reincarnate{width:100%;padding:12px;font-size:16px;margin-bottom:16px}.dao-fruit-shop{margin-top:16px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.shop-item{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:6px;padding:10px;text-align:center}.shop-name{font-size:14px;font-weight:700;color:var(--gold)}.shop-desc{font-size:11px;color:var(--text-secondary);margin:4px 0}.shop-level{font-size:12px;color:var(--cyan);margin-bottom:6px}.leaderboard-section{margin-bottom:20px}.lb-entry{display:flex;align-items:center;padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.05)}.lb-entry.player{background:#c9a4561a;border-radius:4px}.lb-entry.top3{font-weight:700}.lb-rank{width:30px;font-size:14px}.lb-name{flex:1;font-size:13px}.lb-value{font-size:13px;color:var(--gold)}.bonus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.bonus-item{display:flex;justify-content:space-between;padding:6px 10px;background:#ffffff08;border-radius:4px;font-size:12px}.bonus-label{color:var(--text-secondary)}.bonus-value{color:var(--cyan);font-weight:700}.effect-list{margin:8px 0}.effect-item{font-size:12px;padding:4px 0;color:var(--text-secondary)}.effect-item.active{color:var(--cyan)}.effect-item.danger{color:var(--red)}.btn-back{background:transparent;border:1px solid var(--border-gold);color:var(--text-secondary);padding:6px 12px;font-size:12px;margin-bottom:12px}.btn-back:hover{border-color:var(--gold);color:var(--gold)}.btn-disabled{opacity:.4;cursor:not-allowed}.btn-purple{background:linear-gradient(135deg,#6d28d9,#8b5cf6);color:#fff}.btn-danger{background:linear-gradient(135deg,#991b1b,#e05555);color:#fff}.btn-download,.btn-import-file{border:1px solid #3ecfcf;color:#3ecfcf;background:#3ecfcf14}.btn-download:hover,.btn-import-file:hover{background:#3ecfcf33;box-shadow:0 0 10px #3ecfcf4d}.gold{color:var(--gold)}.purple{color:#8b5cf6}.cyan{color:var(--cyan)}.red{color:var(--red)}.save-status{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:#3ecfcf0f;border:1px solid rgba(62,207,207,.15);border-radius:4px;font-size:13px;color:var(--text-secondary)}.save-dot{width:8px;height:8px;border-radius:50%;background:#555;flex-shrink:0;transition:background .3s}.save-dot.saved{background:#34d399}.save-dot.flash{animation:save-flash .5s ease}@keyframes save-flash{0%{box-shadow:0 0 #34d39999}50%{box-shadow:0 0 8px 4px #34d3994d}to{box-shadow:0 0 #34d39900}}.save-text{color:var(--text-secondary)}.import-warning{color:var(--red);font-size:12px;margin-bottom:8px;padding:6px 10px;background:#e055551a;border:1px solid rgba(224,85,85,.2);border-radius:4px}.import-btns{display:flex;gap:8px;margin-top:8px}.btn-cancel-import{border:1px solid var(--text-secondary);color:var(--text-secondary);background:transparent}.btn-cancel-import:hover{border-color:var(--text-primary);color:var(--text-primary)}@media(max-width:768px){body{font-size:14px}.game-header{flex-direction:column;align-items:flex-start;gap:6px;padding:8px 12px}.header-title{font-size:16px}.header-resources{width:100%;justify-content:space-between}.main-area{flex-direction:column;height:auto;min-height:calc(100vh - 80px)}.left-panel{width:100%;max-width:100%;border-right:none;border-bottom:1px solid var(--border-gold);max-height:40vh;overflow-y:auto}.center-panel{width:100%;max-width:100%;padding:12px}.tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;background:linear-gradient(180deg,#080c18f2,#0d1424fa);border-top:1px solid var(--gold-dim);border-left:none;border-right:none;border-bottom:none;padding:4px 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);justify-content:flex-start;gap:0}.tab-btn{flex:0 0 auto;min-width:64px;padding:6px 8px;font-size:10px;border:none;border-radius:0;border-top:2px solid transparent}.tab-btn.active{border-bottom:none;border-top:2px solid var(--gold);background:#c9a4561a}.tab-icon{font-size:16px;display:block}.tab-label{font-size:10px;display:block;margin-top:2px}.main-area{padding-bottom:60px}.btn{min-height:44px;padding:10px 16px;font-size:14px}.btn-sm{min-height:36px;padding:8px 12px;font-size:12px}.panel{padding:12px;margin-bottom:8px}.panel-title{font-size:16px}.section-title{font-size:14px}.info-grid{grid-template-columns:1fr;gap:6px}.technique-grid,.alchemy-grid,.artifact-grid,.beast-grid,.realm-grid{grid-template-columns:1fr}.dao-grid,.formation-grid{grid-template-columns:1fr 1fr}.sect-buildings{grid-template-columns:1fr}.modal-content{width:95vw;max-width:95vw;max-height:85vh;margin:5vh auto;padding:16px}.qte-zone{min-height:200px}.qte-btn{min-width:56px;min-height:56px;font-size:20px}.slot-machine{flex-direction:column;align-items:center}.slot-reels{gap:8px}.slot-reel{width:70px;height:70px;font-size:28px}.card-table{padding:8px}.playing-card{width:50px;height:70px;font-size:12px}.dice-container{gap:8px}.dice{width:50px;height:50px;font-size:24px}.save-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tab-bar::-webkit-scrollbar{height:2px}}@media(max-width:380px){.tab-btn{min-width:52px;padding:4px}.tab-icon{font-size:14px}.tab-label{font-size:9px}.btn{min-height:40px;padding:8px 12px;font-size:13px}.save-actions,.dao-grid,.formation-grid{grid-template-columns:1fr}}@media(min-width:1200px){.center-panel{max-width:900px}.technique-grid,.alchemy-grid,.artifact-grid,.beast-grid{grid-template-columns:1fr 1fr}}.author-fab{position:fixed;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#e05555,#ff6b6b);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #e0555566;z-index:1000;transition:transform .3s ease,box-shadow .3s ease;animation:author-fab-pulse 2s infinite;-webkit-user-select:none;-moz-user-select:none;user-select:none}.author-fab:hover{transform:scale(1.1) rotate(90deg);box-shadow:0 6px 24px #e0555599}@keyframes author-fab-pulse{0%,to{box-shadow:0 4px 16px #e0555566}50%{box-shadow:0 4px 24px #e05555b3}}.author-panel{position:fixed;top:140px;right:20px;width:340px;max-height:calc(100vh - 180px);background:linear-gradient(180deg,#1a1028,#0d1424);border:1px solid #e05555;border-radius:12px;box-shadow:0 8px 32px #e0555533;z-index:999;overflow:hidden;display:flex;flex-direction:column;animation:author-panel-in .3s ease}@keyframes author-panel-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.author-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#e0555526;border-bottom:1px solid rgba(224,85,85,.3);color:#ff6b6b;font-weight:700;font-size:14px}.author-panel-close{background:none;border:none;color:#ff6b6b;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.author-panel-close:hover{color:#fff}.author-panel-body{padding:12px;overflow-y:auto;flex:1}.author-panel-body::-webkit-scrollbar{width:4px}.author-panel-body::-webkit-scrollbar-thumb{background:#e055554d;border-radius:2px}.author-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06)}.author-section:last-child{border-bottom:none}.author-section h4{font-size:13px;color:#c9a456;margin-bottom:8px;font-weight:600}.author-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.author-select,.author-input{flex:1;min-width:0;padding:6px 10px;background:#ffffff0d;border:1px solid rgba(201,164,86,.3);border-radius:6px;color:#e8e0d0;font-size:13px;outline:none}.author-select:focus,.author-input:focus{border-color:#c9a456}.author-input{max-width:120px}.author-slider{flex:1;accent-color:#e05555}.btn-sm{padding:5px 12px;font-size:12px;white-space:nowrap}.btn-danger{background:linear-gradient(135deg,#e05555,#c44);color:#fff;border:1px solid #e05555}.btn-danger:hover{background:linear-gradient(135deg,#ff6b6b,#e05555)}.author-settings-entry{margin-top:16px;padding:16px;background:#e055550d;border:1px solid rgba(224,85,85,.2);border-radius:10px}.author-entry-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.author-lock-icon{font-size:20px}.author-entry-title{font-size:15px;font-weight:700;color:#e8e0d0}.author-badge{padding:2px 8px;background:#e0555533;border:1px solid #e05555;border-radius:10px;font-size:11px;color:#ff6b6b}.author-entry-desc{font-size:12px;color:#bfa76a;margin-bottom:10px}.btn-author-toggle{background:linear-gradient(135deg,#e05555,#c44);color:#fff;border:1px solid #e05555;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .3s ease}.btn-author-toggle:hover{background:linear-gradient(135deg,#ff6b6b,#e05555);transform:translateY(-1px)}.author-dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.author-dialog{background:linear-gradient(180deg,#1a1028,#0d1424);border:1px solid #c9a456;border-radius:16px;padding:24px;width:320px;max-width:90vw;box-shadow:0 16px 48px #00000080}.author-dialog h3{color:#c9a456;font-size:18px;margin-bottom:8px}.author-dialog p{color:#bfa76a;font-size:13px;margin-bottom:16px}.author-password-input{width:100%;padding:10px 14px;background:#ffffff0d;border:1px solid rgba(201,164,86,.3);border-radius:8px;color:#e8e0d0;font-size:14px;outline:none;margin-bottom:16px;box-sizing:border-box}.author-password-input:focus{border-color:#c9a456;box-shadow:0 0 8px #c9a45633}.author-dialog-btns{display:flex;gap:10px;justify-content:flex-end}.author-dialog-error{color:#e05555;font-size:12px;margin-top:10px;text-align:center}.author-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(20px);background:linear-gradient(135deg,#1a1028,#2a1a3a);border:1px solid #c9a456;color:#e8e0d0;padding:10px 24px;border-radius:20px;font-size:13px;box-shadow:0 4px 16px #0006;z-index:3000;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none}.author-toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:768px){.author-panel{inset:auto 0 0;width:100%;max-height:60vh;border-radius:16px 16px 0 0}.author-fab{top:auto;bottom:80px;right:12px}.author-dialog{width:90vw}}.hero-screen{display:flex;height:100%;width:100%;overflow:hidden}.hero-left{flex-shrink:0;width:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border-right:1px solid var(--border-gold);background:linear-gradient(180deg,rgba(201,164,86,.03),transparent)}.hero-portrait{position:relative;width:220px;height:300px;margin-bottom:20px}.portrait-glow{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,var(--race-color, rgba(201, 164, 86, .3)) 0%,transparent 70%);opacity:.4;animation:portrait-glow-pulse 3s ease-in-out infinite}@keyframes portrait-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}.portrait-emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:6rem;border-radius:16px;background:linear-gradient(135deg,#0000004d,#0009)}.portrait-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:16px}.hero-name{font-family:var(--font-title);font-size:22px;font-weight:700;color:var(--gold-light);text-shadow:0 0 15px rgba(201,164,86,.3);margin-bottom:4px}.hero-race{font-size:14px;color:var(--text-secondary)}.hero-right{flex:1;display:flex;flex-direction:column;padding:24px 32px;gap:20px;overflow-y:auto}.hero-realm{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:var(--radius);padding:16px}.realm-title{font-family:var(--font-title);font-size:20px;font-weight:700;color:var(--gold-light);margin-bottom:12px}.realm-progress-bar{height:12px;background:#0000004d;border-radius:6px;overflow:hidden;border:1px solid var(--border-gold)}.realm-progress-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--gold));border-radius:6px;transition:width .5s ease;box-shadow:0 0 10px #3ecfcf66}.realm-progress-text{font-size:12px;color:var(--text-secondary);margin-top:6px;text-align:right}.hero-stats{display:flex;flex-direction:column;gap:8px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--bg-card);border:1px solid rgba(201,164,86,.15);border-radius:6px}.stat-label{font-size:13px;color:var(--text-secondary)}.stat-value{font-family:var(--font-title);font-size:15px;font-weight:600;color:var(--gold-light)}.hero-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.hero-nav-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--bg-card);border:1px solid var(--border-gold);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .3s ease;font-family:var(--font-body)}.hero-nav-btn:hover{background:#c9a45614;border-color:var(--border-gold-bright);color:var(--gold-light);transform:translateY(-2px)}.nav-icon{font-size:20px}.nav-text{font-size:12px}@media(max-width:768px){.hero-screen{flex-direction:column;overflow-y:auto}.hero-left{width:100%;border-right:none;border-bottom:1px solid var(--border-gold);padding:16px}.hero-portrait{width:140px;height:190px}.hero-right{padding:16px}.hero-nav{grid-template-columns:repeat(3,1fr)}}.portrait-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;border-radius:16px;filter:drop-shadow(0 0 20px var(--race-color, #c9a456))}.hero-portrait .portrait-img{animation:hero-portrait-float 4s ease-in-out infinite}@keyframes hero-portrait-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.race-card-portrait{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;border-radius:12px;margin-bottom:12px;background:linear-gradient(135deg,#0000004d,#0009)}.race-card-portrait img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transition:transform .3s ease,opacity .3s ease}.race-card:hover .race-card-portrait img{transform:scale(1.05)}.race-card-portrait .portrait-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(transparent,#000c);display:flex;justify-content:space-between;align-items:center}.race-card-portrait .portrait-emoji-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;background:linear-gradient(135deg,#0000004d,#0009)}.btn-toggle-form{padding:4px 10px;font-size:11px;background:#8b5cf64d;border:1px solid rgba(139,92,246,.5);color:#c4b5fd;border-radius:12px;cursor:pointer;transition:all .2s}.btn-toggle-form:hover{background:#8b5cf680;color:#fff}.race-detail-portrait{position:relative;width:100%;height:280px;overflow:hidden;border-radius:16px;margin-bottom:16px;background:linear-gradient(135deg,#0000004d,#0009);border:2px solid rgba(201,164,86,.3)}.race-detail-portrait img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transition:opacity .3s ease}.race-detail-portrait .portrait-emoji-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:6rem}.race-detail-portrait .portrait-actions{position:absolute;bottom:12px;right:12px;display:flex;gap:8px}.race-select-screen{width:100%;height:100%;overflow-y:auto;padding:24px 20px 40px;scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent}.race-select-screen::-webkit-scrollbar{width:6px}.race-select-screen::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px}.race-select-header{text-align:center;margin-bottom:24px}.race-title{font-family:var(--font-title);font-size:28px;font-weight:700;color:var(--gold-light);text-shadow:0 0 20px rgba(201,164,86,.4);letter-spacing:6px;margin-bottom:8px}.race-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:6px}.race-warning{font-size:13px;color:var(--red);opacity:.8}.race-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;margin:0 auto 24px}.race-card{background:var(--bg-card);border:2px solid var(--border-gold);border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;text-align:center}.race-card:hover{border-color:var(--border-gold-bright);background:#c9a45614;transform:translateY(-4px);box-shadow:0 8px 24px #0006,0 0 20px var(--race-color, var(--gold-dim))}.race-card.selected{border-color:var(--gold);background:#c9a4561f;box-shadow:0 0 30px #c9a4564d}.race-card-name{font-family:var(--font-title);font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.race-card-element{display:flex;justify-content:center;gap:6px;margin-bottom:8px}.element-tag{display:inline-block;padding:2px 10px;font-size:12px;border-radius:10px;background:#c9a45626;color:var(--gold-light);border:1px solid var(--border-gold)}.race-detail-panel{max-width:900px;margin:0 auto 24px;padding:20px;background:var(--bg-panel);border:1px solid var(--border-gold);border-radius:var(--radius);min-height:120px}.race-detail-empty{text-align:center;color:var(--text-dim);padding:40px 0;font-size:14px}.race-detail-content{display:flex;flex-direction:column;gap:16px}.race-detail-header{display:flex;gap:20px;align-items:flex-start}.race-detail-name{font-family:var(--font-title);font-size:22px;font-weight:700;color:var(--gold-light);margin-bottom:6px}.race-detail-desc{font-size:13px;color:var(--text-secondary);line-height:1.6}.race-detail-section{padding:12px 0;border-top:1px solid rgba(201,164,86,.1)}.race-detail-section h3{font-family:var(--font-title);font-size:15px;color:var(--gold);margin-bottom:8px}.constitution-desc{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.constitution-stats{display:flex;flex-wrap:wrap;gap:8px}.stat-item{display:inline-block;padding:3px 10px;font-size:12px;border-radius:8px;background:#c9a4561a;color:var(--text-primary)}.stat-item.positive{background:#34d3991a;color:var(--green)}.stat-item.negative{background:#e055551a;color:var(--red)}.race-skills{display:flex;flex-direction:column;gap:8px}.skill-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:#0003;border-radius:8px;border-left:3px solid var(--cyan)}.skill-name{font-weight:600;color:var(--text-primary);font-size:14px}.skill-desc{font-size:12px;color:var(--text-secondary)}.skill-cd{font-size:11px;color:var(--text-dim)}.section-note{font-size:13px;color:var(--text-secondary)}.race-confirm-area{text-align:center;padding:12px 0}.btn-race-confirm{padding:12px 48px;font-family:var(--font-title);font-size:18px;font-weight:700;color:var(--bg-primary);background:linear-gradient(135deg,var(--gold-light),var(--gold));border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;letter-spacing:4px}.btn-race-confirm:hover:not(:disabled){box-shadow:0 0 30px #c9a45680;transform:translateY(-2px)}.btn-race-confirm:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.race-grid{grid-template-columns:1fr}.race-detail-header{flex-direction:column}.race-title{font-size:22px;letter-spacing:4px}}.dialogue-overlay{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:auto}.dialogue-fullscreen-portrait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0a0a1a99,#0a0a1af2);animation:fadeIn .5s ease}.dialogue-fullscreen-portrait img{max-height:80vh;max-width:60vw;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 30px var(--accent-gold));animation:portraitFadeIn .8s ease}@keyframes portraitFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dialogue-box{position:relative;background:linear-gradient(180deg,#0f0f23f2,#0a0a1afa);border-top:2px solid var(--accent-gold);padding:20px 24px;min-height:180px;box-shadow:0 -4px 30px #c9a45633}.dialogue-box:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-gold),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.dialogue-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dialogue-avatar{width:56px;height:56px;border-radius:50%;border:2px solid var(--accent-gold);-o-object-fit:cover;object-fit:cover;background:linear-gradient(135deg,#c9a45633,#8b5cf633)}.dialogue-name{font-family:"Noto Serif SC",serif;font-size:1.1rem;color:var(--accent-gold);text-shadow:0 0 10px rgba(201,164,86,.5)}.dialogue-text{font-size:1rem;line-height:1.8;color:var(--text-primary);min-height:60px;padding:8px 0}.dialogue-text .cursor{display:inline-block;width:2px;height:1em;background:var(--accent-gold);animation:blink .8s infinite;vertical-align:middle;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.dialogue-choice-btn{padding:10px 16px;background:linear-gradient(135deg,#c9a4561a,#8b5cf61a);border:1px solid rgba(201,164,86,.3);border-radius:8px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.dialogue-choice-btn:hover{background:linear-gradient(135deg,#c9a45633,#8b5cf633);border-color:var(--accent-gold);transform:translate(4px)}.dialogue-continue{position:absolute;bottom:12px;right:16px;color:var(--accent-gold);font-size:.85rem;opacity:.7;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.quest-tracker{position:fixed;top:80px;right:12px;width:280px;background:linear-gradient(135deg,#0f0f23f2,#0a0a1afa);border:1px solid rgba(201,164,86,.3);border-radius:12px;z-index:100;overflow:hidden;transition:all .3s ease}.quest-tracker.collapsed{width:48px;height:48px;border-radius:50%}.quest-tracker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(90deg,rgba(201,164,86,.1),transparent);border-bottom:1px solid rgba(201,164,86,.2)}.quest-tracker-title{font-family:"Noto Serif SC",serif;font-size:.95rem;color:var(--accent-gold)}.quest-tracker-toggle{width:24px;height:24px;background:none;border:none;color:var(--accent-gold);cursor:pointer;font-size:1rem}.quest-tracker-content{padding:12px 16px}.quest-item-title{font-size:.9rem;color:var(--text-primary);margin-bottom:4px}.quest-item-desc{font-size:.8rem;color:var(--text-secondary);margin-bottom:6px}.quest-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-gold));border-radius:2px;transition:width .3s ease}.feature-locked{position:relative}.feature-locked:after{content:"🔒 未解锁";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0a1ad9;color:var(--text-secondary);font-size:.9rem;border-radius:inherit;pointer-events:none}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.screen-shake{animation:shake .5s ease}@keyframes flash{0%{opacity:0}50%{opacity:1}to{opacity:0}}.screen-flash{position:fixed;inset:0;background:#fff;z-index:99999;pointer-events:none;animation:flash .3s ease}@media(max-width:768px){.dialogue-box{padding:16px;min-height:150px}.dialogue-avatar{width:44px;height:44px}.dialogue-name{font-size:1rem}.dialogue-text{font-size:.95rem}.quest-tracker{top:auto;bottom:70px;right:8px;width:240px}.dialogue-fullscreen-portrait img{max-height:60vh;max-width:80vw}}.dialogue-box{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:9999!important;display:block!important;visibility:visible!important;opacity:1!important;background:linear-gradient(180deg,#0f0f23f7,#0a0a1afc)!important;border-top:2px solid var(--accent-gold, #c9a456)!important;padding:20px 24px!important;min-height:160px!important;box-shadow:0 -4px 30px #c9a45633!important;pointer-events:auto!important}.dialogue-box.fullscreen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(180deg,#0a0a1afa,#05050ffc);min-height:100vh;z-index:1000}.dialogue-box.shake{animation:shake .5s ease}.dialogue-box.flash:after{content:"";position:fixed;inset:0;background:#fff;z-index:99999;pointer-events:none;opacity:0;animation:flash .3s ease forwards}.dialogue-portrait{width:80px;height:80px;border-radius:50%;border:2px solid var(--accent-gold, #c9a456);background-size:cover;background-position:center;margin-bottom:12px}.dialogue-box.fullscreen .dialogue-portrait{width:200px;height:200px}.dialogue-content{max-width:700px;margin:0 auto}.dialogue-speaker{font-family:"Noto Serif SC",serif;font-size:1.1rem;color:var(--accent-gold, #c9a456);text-shadow:0 0 10px rgba(201,164,86,.5);margin-bottom:8px}.dialogue-text{font-size:1rem;line-height:1.8;color:var(--text-primary, #e8e0d0);min-height:40px;margin-bottom:12px}.dialogue-choices{display:flex;flex-direction:column;gap:8px;margin-top:12px}.dialogue-choice-btn{padding:10px 16px;background:linear-gradient(135deg,#c9a4561a,#8b5cf61a);border:1px solid rgba(201,164,86,.3);border-radius:8px;color:var(--text-primary, #e8e0d0);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.dialogue-choice-btn:hover{background:linear-gradient(135deg,#c9a45633,#8b5cf633);border-color:var(--accent-gold, #c9a456);transform:translate(4px)}.dialogue-continue-btn{display:block;margin:12px auto 0;padding:8px 24px;background:linear-gradient(135deg,#c9a45626,#8b5cf626);border:1px solid var(--accent-gold, #c9a456);border-radius:8px;color:var(--accent-gold, #c9a456);font-size:.95rem;cursor:pointer;transition:all .2s ease}.dialogue-continue-btn:hover{background:linear-gradient(135deg,#c9a45640,#8b5cf640)}.quest-tracker{position:fixed;top:80px;right:12px;width:280px;background:linear-gradient(135deg,#0f0f23f2,#0a0a1afa);border:1px solid rgba(201,164,86,.3);border-radius:12px;z-index:90;overflow:hidden}.quest-tracker.collapsed{width:48px;height:48px}.quest-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(90deg,rgba(201,164,86,.1),transparent);border-bottom:1px solid rgba(201,164,86,.2)}.quest-title{font-family:"Noto Serif SC",serif;font-size:.9rem;color:var(--accent-gold, #c9a456)}.quest-toggle{width:24px;height:24px;background:none;border:none;color:var(--accent-gold, #c9a456);cursor:pointer;font-size:.85rem}.quest-list{padding:10px 14px;max-height:300px;overflow-y:auto}.quest-empty{color:var(--text-secondary, #8a8a9a);font-size:.8rem;text-align:center;padding:12px 0}.quest-item{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.quest-item:last-child{border-bottom:none}.quest-item.completed{opacity:.5}.quest-item-title{font-size:.85rem;color:var(--text-primary, #e8e0d0);margin-bottom:4px}.quest-item-desc{font-size:.75rem;color:var(--text-secondary, #8a8a9a);margin-bottom:6px}.quest-progress{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.quest-progress-bar{height:100%;background:linear-gradient(90deg,#3ecfcf,#c9a456);border-radius:2px;transition:width .3s ease}.quest-target{font-size:.75rem;color:var(--accent-gold, #c9a456);margin-top:4px}.race-tab{padding:16px}.race-tab .race-desc{color:var(--text-secondary, #8a8a9a);font-size:.9rem;margin-bottom:16px;line-height:1.6}.race-portrait-large{position:relative;width:100%;max-width:200px;margin:0 auto 20px;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;border:2px solid var(--accent-gold, #c9a456);background:linear-gradient(135deg,#0000004d,#0009)}.race-portrait-large img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.race-portrait-large .btn-toggle-trueform{position:absolute;bottom:8px;left:50%;transform:translate(-50%);white-space:nowrap}.race-section{margin-bottom:20px}.race-section .section-title{font-family:"Noto Serif SC",serif;font-size:1rem;color:var(--accent-gold, #c9a456);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(201,164,86,.2)}.race-constitution-desc{font-size:.85rem;color:var(--text-secondary, #8a8a9a);margin-bottom:10px}.race-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.race-stats-grid .stat-item{display:flex;justify-content:space-between;padding:6px 10px;background:#ffffff0d;border-radius:6px;font-size:.8rem}.race-stats-grid .stat-item span:first-child{color:var(--text-secondary, #8a8a9a)}.race-stats-grid .stat-item span:last-child{color:var(--accent-gold, #c9a456);font-weight:700}.race-skills-list{display:flex;flex-direction:column;gap:10px}.skill-card{padding:12px;background:linear-gradient(135deg,#c9a4560d,#8b5cf60d);border:1px solid rgba(201,164,86,.2);border-radius:10px}.skill-card.on-cooldown{opacity:.6}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.skill-name{font-family:"Noto Serif SC",serif;font-size:.95rem;color:var(--accent-gold, #c9a456)}.skill-cd{font-size:.75rem;color:var(--text-secondary, #8a8a9a)}.skill-desc{font-size:.8rem;color:var(--text-secondary, #8a8a9a);margin-bottom:8px}.race-sub-list{display:flex;flex-direction:column;gap:8px}.race-sub-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#ffffff0a;border-radius:8px;font-size:.85rem}.race-sub-item .sub-name{color:var(--text-primary, #e8e0d0);font-weight:700;min-width:80px}.race-sub-item .sub-desc{color:var(--text-secondary, #8a8a9a);flex:1}.race-sub-item .sub-danger{color:#f87171;font-size:.75rem}.race-sub-item .sub-stats{color:var(--accent-cyan, #3ecfcf);font-size:.75rem}.race-tag{display:inline-block;padding:1px 6px;background:#c9a45626;border-radius:4px;font-size:.65rem;color:var(--accent-gold, #c9a456);margin-left:4px}.achievements-tab{padding:10px}.achievement-progress{background:var(--bg-card, rgba(15, 22, 40, .7));border:1px solid var(--border-gold, rgba(201, 164, 86, .4));border-radius:var(--radius, 6px);padding:12px 16px;margin-bottom:16px}.achievement-progress .progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem}.achievement-progress .progress-percent{color:var(--gold, #c9a456);font-weight:700}.achievement-progress .progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.achievement-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim, #8a7033),var(--gold, #c9a456));border-radius:4px;transition:width .3s ease}.achievement-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-gold, rgba(201, 164, 86, .2))}.achievement-filters .filter-btn{padding:6px 14px;background:var(--bg-card, rgba(15, 22, 40, .7));border:1px solid var(--border-gold, rgba(201, 164, 86, .3));border-radius:20px;color:var(--text-secondary, #bfa76a);font-size:.8rem;cursor:pointer;transition:all .2s ease;font-family:var(--font-body, "Noto Sans SC", sans-serif)}.achievement-filters .filter-btn:hover{border-color:var(--gold, #c9a456);color:var(--gold, #c9a456)}.achievement-filters .filter-btn.active{background:var(--gold, #c9a456);color:var(--bg-primary, #080c18);border-color:var(--gold, #c9a456);font-weight:700}.achievement-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.achievement-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-card, rgba(15, 22, 40, .7));border:1px solid var(--border-gold, rgba(201, 164, 86, .3));border-radius:var(--radius, 6px);transition:all .2s ease}.achievement-card.unlocked{border-color:var(--gold, #c9a456);box-shadow:var(--shadow-gold, 0 0 15px rgba(201, 164, 86, .15))}.achievement-card.locked{opacity:.5}.achievement-card:hover{transform:translateY(-2px);border-color:var(--gold, #c9a456)}.achievement-icon{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#c9a4561a;border-radius:50%}.achievement-card.unlocked .achievement-icon{background:#c9a45633}.achievement-info{flex:1;min-width:0}.achievement-name{font-weight:700;color:var(--text-primary, #e8e0d0);font-size:.95rem;margin-bottom:4px}.achievement-card.locked .achievement-name{color:var(--text-dim, rgba(232, 224, 208, .5))}.achievement-desc{color:var(--text-secondary, #bfa76a);font-size:.8rem;margin-bottom:6px}.achievement-category .cat-tag{display:inline-block;padding:2px 8px;background:#3ecfcf26;color:var(--cyan, #3ecfcf);border-radius:4px;font-size:.7rem}
