.parchment-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#e8dcc0,#d4c4a8,#c8b898,#d4c4a8,#e8dcc0);z-index:0}.parchment-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.08;pointer-events:none}.hand-drawn-map-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;background-image:url(/map/efab3cb7fae328.jpeg);background-size:contain;background-position:center;background-repeat:no-repeat;opacity:.15;filter:sepia(30%) contrast(1.1);z-index:1;pointer-events:none}.cover-page{width:100vw;height:100vh;position:relative;overflow:hidden;background:transparent}.cover-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.mountain-layer{position:absolute;width:100%;height:100%;opacity:0;transition:opacity 1s ease}.loaded .mountain-layer{opacity:1}.mountain-layer.far{animation:fadeIn 2s ease forwards}.mountain-layer.mid{animation:fadeIn 2s ease .4s forwards}.mountain-layer.near{animation:fadeIn 2s ease .8s forwards}.cloud-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cloud{position:absolute;background:radial-gradient(ellipse at center,rgba(255,255,255,.3) 0%,rgba(255,255,255,.08) 50%,transparent 70%);border-radius:50%;filter:blur(30px)}.cloud-1{width:600px;height:200px;top:15%;left:-10%;animation:cloudFloat 30s ease-in-out infinite}.cloud-2{width:800px;height:250px;top:30%;right:-20%;animation:cloudFloat 35s ease-in-out infinite reverse}.cloud-3{width:500px;height:180px;top:45%;left:30%;animation:cloudFloat 25s ease-in-out infinite;animation-delay:-8s}.petals-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.petal{position:absolute;width:10px;height:10px;background:linear-gradient(135deg,#c8a08c99,#b48c7866,#a078644d);border-radius:50% 0 50% 50%;animation:petalFall linear infinite;opacity:.5}.cover-content{position:relative;z-index:10;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.top-decoration{display:flex;align-items:center;gap:24px;margin-bottom:40px;opacity:0;animation:fadeInUp 1s ease .5s forwards}.decoration-line{width:120px;height:2px;background:linear-gradient(90deg,transparent,#8b6914,transparent)}.decoration-pattern{color:#8b6914;font-size:18px;opacity:.7;font-family:Ma Shan Zheng,cursive}.title-section{position:relative;margin-bottom:20px}.main-title{font-family:Ma Shan Zheng,cursive;font-size:120px;font-weight:400;letter-spacing:60px;display:flex;gap:40px;margin:0;color:#3d2914}.title-char{display:inline-block;color:#3d2914;text-shadow:2px 2px 4px rgba(0,0,0,.1),0 0 40px rgba(139,105,20,.15);opacity:0;transform:translateY(30px);transition:all .8s ease;position:relative}.title-char:after{content:"";position:absolute;bottom:-5px;left:10%;right:10%;height:3px;background:linear-gradient(90deg,transparent,rgba(139,105,20,.3),transparent)}.loaded .title-char:nth-child(1){animation:fadeInUp 1s ease .3s forwards}.loaded .title-char:nth-child(2){animation:fadeInUp 1s ease .6s forwards}.loaded .title-char:nth-child(3){animation:fadeInUp 1s ease .9s forwards}.title-seal{position:absolute;top:-10px;right:-50px;width:60px;height:60px;background:#b83e2f;border-radius:4px;display:flex;align-items:center;justify-content:center;transform:rotate(8deg);box-shadow:0 3px 10px #b83e2f66,inset 0 1px 3px #fff3;opacity:0;animation:fadeInScale .8s ease 1.2s forwards;border:2px solid #a03528}.seal-text{color:#fff;font-family:Ma Shan Zheng,cursive;font-size:22px;font-weight:400;letter-spacing:4px;writing-mode:vertical-rl;text-orientation:upright}.subtitle{display:flex;align-items:center;gap:24px;margin-bottom:30px;opacity:0;animation:fadeInUp 1s ease 1.1s forwards}.subtitle-line{font-family:ZCOOL XiaoWei,serif;font-size:18px;color:#5a4a3a;letter-spacing:10px}.subtitle-divider{color:#8b6914;opacity:.5;font-size:14px}.poem-decoration{margin-bottom:50px;padding:20px 40px;border-top:1px solid rgba(139,105,20,.2);border-bottom:1px solid rgba(139,105,20,.2);opacity:0;animation:fadeInUp 1s ease 1.4s forwards}.poem-text{font-family:ZCOOL XiaoWei,serif;font-size:16px;color:#6b5a4a;letter-spacing:8px;margin:0}.enter-button{position:relative;padding:16px 50px;background:linear-gradient(180deg,#8b6914,#6b4d0e);border:2px solid #5a3d08;border-radius:4px;cursor:pointer;overflow:hidden;opacity:0;animation:fadeInUp 1s ease 1.7s forwards;transition:all .4s ease;box-shadow:0 4px 15px #0003,inset 0 1px #ffffff1a}.enter-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%);pointer-events:none}.enter-button:hover{background:linear-gradient(180deg,#a67c1a,#8b6914);transform:translateY(-2px);box-shadow:0 6px 20px #8b691466,0 0 30px #d4af3733}.enter-button:active{transform:translateY(0)}.button-text{position:relative;z-index:1;font-family:Ma Shan Zheng,cursive;font-size:24px;color:#f5f0e6;letter-spacing:12px;font-weight:400}.button-decoration{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.6),transparent)}.bottom-info{position:absolute;bottom:30px;display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:fadeIn 1.2s ease 2s forwards}.version-text{font-family:ZCOOL XiaoWei,serif;font-size:14px;color:#8b7355;letter-spacing:6px}.bottom-decoration{display:flex;align-items:center;gap:16px;opacity:.5}.cloud-icon,.mountain-icon{font-size:16px;color:#8b6914}.corner-decoration{position:absolute;width:60px;height:60px;border:2px solid rgba(139,105,20,.3);z-index:5}.corner-decoration.top-left{top:30px;left:30px;border-right:none;border-bottom:none}.corner-decoration.top-right{top:30px;right:30px;border-left:none;border-bottom:none}.corner-decoration.bottom-left{bottom:30px;left:30px;border-right:none;border-top:none}.corner-decoration.bottom-right{bottom:30px;right:30px;border-left:none;border-top:none}.cover-page:before{content:"";position:absolute;top:20px;left:20px;right:20px;bottom:20px;border:1px solid rgba(139,105,20,.15);pointer-events:none;z-index:2}@keyframes fadeInScale{0%{opacity:0;transform:rotate(8deg) scale(.8)}to{opacity:1;transform:rotate(8deg) scale(1)}}@keyframes cloudFloat{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(20px) translateY(-10px)}50%{transform:translate(-10px) translateY(5px)}75%{transform:translate(15px) translateY(-5px)}}@keyframes petalFall{0%{transform:translateY(-100px) rotate(0);opacity:0}10%{opacity:.5}90%{opacity:.5}to{transform:translateY(100vh) rotate(360deg);opacity:0}}@media (max-width: 768px){.main-title{font-size:60px;letter-spacing:20px;gap:15px}.title-seal{width:40px;height:40px;right:-30px;top:-5px}.seal-text{font-size:14px}.subtitle{flex-direction:column;gap:8px}.subtitle-line{font-size:14px;letter-spacing:4px}.subtitle-divider{display:none}.poem-text{font-size:12px;letter-spacing:3px}.enter-button{padding:14px 40px}.button-text{font-size:16px;letter-spacing:6px}}:root{--color-ink: #1a1a1a;--color-paper: #f7f3e9;--color-paper-dark: #ebe5d8;--color-cinnabar: #c9372c;--color-cinnabar-light: #d9453a;--color-gold: #d4a84b;--color-gold-light: #f0d878;--color-jade: #4a7c59;--color-ochre: #b87333;--color-indigo: #2c3e50;--color-border: rgba(160, 128, 96, .4);--color-border-light: rgba(160, 128, 96, .2);--color-text-primary: #1a1a1a;--color-text-secondary: #666;--color-text-muted: #999;--gradient-gold: linear-gradient(135deg, #d4a84b 0%, #f0d878 50%, #d4a84b 100%);--gradient-gold-text: linear-gradient(180deg, #f0d878 0%, #d4a84b 100%);--gradient-paper: linear-gradient(180deg, #f7f3e9 0%, #ebe5d8 100%);--gradient-dark: linear-gradient(180deg, #1a1a2e 0%, #2c3e50 100%);--gradient-cover: linear-gradient(180deg, rgba(26, 26, 46, .3) 0%, rgba(26, 26, 46, .1) 40%, rgba(26, 26, 46, .4) 100% );--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--shadow-glow: 0 0 20px rgba(212, 168, 75, .3);--shadow-gold: 0 4px 20px rgba(212, 168, 75, .4);--font-title: "Ma Shan Zheng", cursive;--font-body: "LXGW WenKai", "Noto Serif SC", serif;--font-calligraphy: "Ma Shan Zheng", cursive;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes textGlow{0%,to{text-shadow:0 0 10px rgba(212,168,75,.5),0 0 20px rgba(212,168,75,.3),0 0 30px rgba(212,168,75,.2)}50%{text-shadow:0 0 20px rgba(212,168,75,.8),0 0 40px rgba(212,168,75,.5),0 0 60px rgba(212,168,75,.3)}}@keyframes cloudFloat{0%{transform:translate(-10%) translateY(0)}50%{transform:translate(10%) translateY(-10px)}to{transform:translate(-10%) translateY(0)}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes petalFall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:0}}@keyframes buttonGlow{0%,to{box-shadow:0 4px 20px #c9372c66}50%{box-shadow:0 4px 30px #c9372c99,0 0 40px #d4a84b4d}}@keyframes scrollUnroll{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .5s ease forwards}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in-scale{animation:fadeInScale .5s ease forwards}.animate-text-glow{animation:textGlow 3s ease-in-out infinite}.animate-cloud-float{animation:cloudFloat 20s ease-in-out infinite}.animate-wave{animation:wave 4s ease-in-out infinite}.animate-petal-fall{animation:petalFall 8s linear infinite}.animate-button-glow{animation:buttonGlow 2s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-800{animation-delay:.8s}.delay-1000{animation-delay:1s}.opacity-0{opacity:0}.hall-page{width:100vw;height:100vh;position:relative;overflow:hidden;background:linear-gradient(180deg,#2c2416,#3d3020 20%,#4a3a28,#3d3020 80%,#2c2416);display:flex;flex-direction:column}.hall-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,rgba(212,168,75,.05) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(201,55,44,.05) 0%,transparent 50%)}.bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center top,rgba(255,255,255,.05) 0%,transparent 60%)}.hall-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;padding:40px 60px 20px;gap:40px}.header-decoration{display:flex;align-items:center}.cloud-pattern{width:80px;height:30px;background:radial-gradient(ellipse at center,rgba(212,168,75,.3) 0%,transparent 70%);position:relative}.cloud-pattern:before,.cloud-pattern:after{content:"";position:absolute;background:radial-gradient(ellipse at center,rgba(212,168,75,.2) 0%,transparent 70%)}.cloud-pattern:before{width:60px;height:20px;left:-20px;top:5px}.cloud-pattern:after{width:60px;height:20px;right:-20px;top:5px}.title-wrapper{text-align:center}.hall-title{font-family:var(--font-title);font-size:48px;font-weight:700;background:var(--gradient-gold-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:16px;margin:0 0 8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.hall-subtitle{font-family:var(--font-body);font-size:16px;color:#ffffff80;letter-spacing:8px;margin:0}.palace-decoration{position:absolute;top:100px;left:50%;transform:translate(-50%);z-index:2;opacity:.3;pointer-events:none}.hall-content{position:relative;z-index:10;flex:1;display:flex;align-items:center;justify-content:center;padding:20px 60px}.entrance-cards{display:flex;gap:40px;justify-content:center;align-items:stretch}.entrance-card{position:relative;width:240px;padding:0;background:transparent;border:none;cursor:pointer;transition:all .3s ease}.card-content{position:relative;z-index:2;background:linear-gradient(145deg,#f7f3e9f2,#ebe5d8f2);border-radius:var(--radius-lg);padding:40px 30px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff80}.card-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,#d4a84b80,#c9372c4d,#d4a84b80);border-radius:calc(var(--radius-lg) + 2px);opacity:0;transition:opacity .3s ease;z-index:1}.card-border{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid transparent;border-radius:var(--radius-lg);background:linear-gradient(135deg,#d4a84b99,#a080604d,#d4a84b99);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;pointer-events:none}.entrance-card:hover{transform:translateY(-8px)}.entrance-card:hover .card-glow{opacity:1}.entrance-card:hover .card-content{box-shadow:0 12px 40px #0006,0 0 30px #d4a84b33,inset 0 1px #ffffff80}.entrance-card:active{transform:translateY(-4px)}.card-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(212,168,75,.1) 0%,transparent 70%);border-radius:50%;transition:all .3s ease}.entrance-card:hover .card-icon{transform:scale(1.1);background:radial-gradient(circle at center,rgba(212,168,75,.2) 0%,transparent 70%)}.card-title{font-family:var(--font-title);font-size:24px;font-weight:600;color:var(--color-ink);margin:0;letter-spacing:4px}.card-desc{font-family:var(--font-body);font-size:14px;color:var(--color-text-secondary);margin:0;letter-spacing:2px}.card-decoration{display:flex;align-items:center;gap:8px;margin-top:8px}.decoration-dot{width:4px;height:4px;background:var(--color-ochre);border-radius:50%;opacity:.5}.decoration-line{width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--color-ochre),transparent);opacity:.3}.hall-footer{position:relative;z-index:10;padding:20px 60px 30px}.footer-content{display:flex;align-items:center;justify-content:center;gap:30px}.user-info{display:flex;align-items:center;gap:12px}.user-label{font-family:var(--font-body);font-size:14px;color:#fff6;letter-spacing:2px}.user-email{font-family:var(--font-body);font-size:14px;color:#ffffffb3;letter-spacing:1px;background:#ffffff1a;padding:6px 16px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1)}.footer-divider{color:#d4a84b66;font-size:12px}.logout-btn{display:flex;align-items:center;gap:8px;padding:8px 20px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:#c9372c33;border-color:#c9372c66}.btn-icon{color:#fff9;font-size:14px}.btn-text{font-family:var(--font-body);font-size:14px;color:#fff9;letter-spacing:2px}.logout-btn:hover .btn-icon,.logout-btn:hover .btn-text{color:#ffffffe6}.footer-decoration{position:absolute;bottom:0;left:0;right:0;height:4px;overflow:hidden}.wave-pattern{width:100%;height:100%;background:repeating-linear-gradient(90deg,transparent,transparent 20px,rgba(212,168,75,.2) 20px,rgba(212,168,75,.2) 40px);opacity:.3}.corner-ornament{position:absolute;font-size:24px;color:#d4a84b4d;z-index:5}.corner-ornament.top-left{top:30px;left:30px}.corner-ornament.top-right{top:30px;right:30px}.corner-ornament.bottom-left{bottom:30px;left:30px}.corner-ornament.bottom-right{bottom:30px;right:30px}@media (max-width: 900px){.entrance-cards{flex-direction:column;gap:24px}.entrance-card{width:280px}.hall-title{font-size:36px;letter-spacing:12px}.footer-content{flex-direction:column;gap:16px}}.era-select-page{display:flex;flex-direction:column;width:100vw;height:100vh;background:#1a1510;color:#e8e0d0;overflow:hidden;position:relative}.era-select-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/map/efab3cb7fae328.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.15;filter:sepia(30%) contrast(1.2) brightness(.8);z-index:0;pointer-events:none}.era-header,.era-content,.era-footer{position:relative;z-index:1}.era-header{display:flex;align-items:center;padding:16px 32px;background:linear-gradient(180deg,#1a1510f2,#1a1510cc);border-bottom:2px solid #8b6914;box-shadow:0 2px 20px #00000080}.back-button{padding:10px 20px;background:transparent;border:1px solid #8b6914;border-radius:4px;color:#d4af37;cursor:pointer;font-size:14px;font-family:LXGW WenKai,"Noto Serif SC",serif;transition:all .3s ease}.back-button:hover{background:#8b691433;border-color:#d4af37;box-shadow:0 0 10px #d4af374d}.era-title{flex:1;margin:0;text-align:center;font-size:32px;font-family:LXGW WenKai,"Noto Serif SC",serif;font-weight:700;letter-spacing:12px;color:#d4af37;text-shadow:0 0 10px rgba(212,175,55,.5),2px 2px 4px rgba(0,0,0,.8)}.era-subtitle{position:absolute;right:32px;font-size:14px;color:#8b7355;font-family:LXGW WenKai,"Noto Serif SC",serif}.era-content{flex:1;display:flex;overflow:hidden;padding:20px;gap:20px}.scenario-list{width:300px;padding:20px;background:#1a1510d9;border:1px solid #3d2914;border-radius:8px;overflow-y:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scenario-list h3{margin:0 0 20px;font-size:18px;color:#d4af37;font-family:LXGW WenKai,"Noto Serif SC",serif;border-bottom:2px solid #8b6914;padding-bottom:12px;text-align:center;letter-spacing:4px}.scenario-card{padding:16px;margin-bottom:12px;background:#3d29144d;border:1px solid #5a4a3a;border-radius:6px;cursor:pointer;transition:all .3s ease;position:relative}.scenario-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:all .3s ease}.scenario-card:hover{background:#3d291480;border-color:#8b6914;transform:translate(4px)}.scenario-card:hover:before{background:#d4af37}.scenario-card.selected{background:#8b691440;border-color:#d4af37;box-shadow:0 0 15px #d4af3733,inset 0 0 20px #d4af370d}.scenario-card.selected:before{background:#d4af37}.scenario-era{display:inline-block;padding:4px 10px;background:#d4af3726;border:1px solid rgba(212,175,55,.3);border-radius:3px;font-size:11px;color:#d4af37;margin-bottom:10px;font-family:LXGW WenKai,"Noto Serif SC",serif}.scenario-name{margin:0 0 6px;font-size:16px;font-family:LXGW WenKai,"Noto Serif SC",serif;color:#e8e0d0;font-weight:700}.scenario-year{font-size:12px;color:#8b7355;margin-bottom:10px;font-family:LXGW WenKai,"Noto Serif SC",serif}.scenario-desc{margin:0 0 10px;font-size:12px;line-height:1.6;color:#e8e0d0b3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scenario-factions{font-size:11px;color:#d4af37;font-family:LXGW WenKai,"Noto Serif SC",serif}.map-section{flex:1;display:flex;align-items:center;justify-content:center;position:relative;background:#1a151099;border:1px solid #3d2914;border-radius:8px;overflow:hidden}.era-background{position:absolute;top:30px;left:30px;right:30px;bottom:30px;background-image:url(/map/efab3cb7fae328.jpeg);background-size:contain;background-position:center;background-repeat:no-repeat;opacity:.4;filter:sepia(20%) contrast(1.1) brightness(.9);border-radius:4px}.map-section:before{content:"";position:absolute;top:15px;left:15px;right:15px;bottom:15px;border:1px solid rgba(139,105,20,.3);border-radius:6px;pointer-events:none}.map-section:after{content:"";position:absolute;top:20px;left:20px;right:20px;bottom:20px;border:1px solid rgba(139,105,20,.15);border-radius:4px;pointer-events:none}.map-title-overlay{position:absolute;bottom:40px;left:50%;transform:translate(-50%);font-family:LXGW WenKai,"Noto Serif SC",serif;font-size:14px;color:#8b7355;letter-spacing:8px;opacity:.8}.faction-panel{width:320px;padding:20px;background:#1a1510d9;border:1px solid #3d2914;border-radius:8px;overflow-y:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.faction-panel h3{margin:0 0 20px;font-size:18px;color:#d4af37;font-family:LXGW WenKai,"Noto Serif SC",serif;border-bottom:2px solid #8b6914;padding-bottom:12px;text-align:center;letter-spacing:4px}.faction-list{display:flex;flex-direction:column;gap:10px}.faction-select-card{display:flex;padding:14px;background:#3d29144d;border:1px solid #5a4a3a;border-radius:6px;cursor:pointer;transition:all .3s ease;position:relative}.faction-select-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:all .3s ease;border-radius:6px 0 0 6px}.faction-select-card:hover{background:#3d291480;border-color:#8b6914}.faction-select-card:hover:before{background:#d4af37}.faction-select-card.selected{background:#8b691440;border-color:#d4af37;box-shadow:0 0 10px #d4af3726}.faction-select-card.selected:before{background:#d4af37}.faction-color-bar{width:4px;border-radius:2px;margin-right:12px;flex-shrink:0}.faction-info{flex:1}.faction-name{margin:0 0 4px;font-size:15px;font-family:LXGW WenKai,"Noto Serif SC",serif;color:#e8e0d0;font-weight:700}.faction-type{margin:0 0 6px;font-size:11px;color:#8b7355;font-family:LXGW WenKai,"Noto Serif SC",serif}.faction-meta{margin-bottom:6px}.difficulty{font-size:11px;color:#d4af37}.faction-brief{margin:0;font-size:11px;line-height:1.5;color:#e8e0d099}.selected-faction-detail{margin-top:20px;padding:16px;background:#3d291466;border:1px solid #8b6914;border-radius:6px}.selected-faction-detail h4{margin:0 0 12px;font-size:16px;font-family:LXGW WenKai,"Noto Serif SC",serif;color:#d4af37;text-align:center;border-bottom:1px solid rgba(139,105,20,.3);padding-bottom:8px}.detail-traits{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;justify-content:center}.trait-badge{padding:3px 8px;background:#d4af3726;border:1px solid rgba(212,175,55,.3);border-radius:3px;font-size:10px;color:#d4af37;font-family:LXGW WenKai,"Noto Serif SC",serif}.detail-desc{margin:0;font-size:12px;line-height:1.7;color:#e8e0d0cc;text-align:justify}.era-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:linear-gradient(0deg,#1a1510f2,#1a1510cc);border-top:2px solid #8b6914}.selection-summary{display:flex;gap:32px}.summary-item{display:flex;align-items:center;gap:8px;font-size:14px}.summary-item label{color:#8b7355;font-family:LXGW WenKai,"Noto Serif SC",serif}.summary-item strong{color:#e8e0d0;font-family:LXGW WenKai,"Noto Serif SC",serif;font-size:15px}.start-game-button{padding:12px 40px;background:linear-gradient(180deg,#8b6914,#6b4d0e);border:2px solid #d4af37;border-radius:6px;color:#fff;font-size:16px;font-family:LXGW WenKai,"Noto Serif SC",serif;font-weight:700;letter-spacing:4px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000004d}.start-game-button:hover:not(:disabled){background:linear-gradient(180deg,#a67c1a,#8b6914);box-shadow:0 0 20px #d4af3766;transform:translateY(-2px)}.start-game-button:disabled{opacity:.5;cursor:not-allowed}.scenario-list::-webkit-scrollbar,.faction-panel::-webkit-scrollbar{width:6px}.scenario-list::-webkit-scrollbar-track,.faction-panel::-webkit-scrollbar-track{background:#3d29144d;border-radius:3px}.scenario-list::-webkit-scrollbar-thumb,.faction-panel::-webkit-scrollbar-thumb{background:#5a4a3a;border-radius:3px}.scenario-list::-webkit-scrollbar-thumb:hover,.faction-panel::-webkit-scrollbar-thumb:hover{background:#8b6914}@media (max-width: 1200px){.scenario-list{width:260px}.faction-panel{width:280px}}@media (max-width: 900px){.era-content{flex-direction:column}.scenario-list,.faction-panel{width:100%;max-height:200px}.map-section{min-height:300px}}.top-bar{height:70px;background:linear-gradient(180deg,#000000e6,#000000b3);border-bottom:2px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.game-title{display:flex;align-items:center;height:100%}.game-title h1{color:var(--color-gold);font-size:28px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:8px;margin:0;line-height:1}.subtitle{color:var(--color-paper);font-size:11px;opacity:.7;letter-spacing:2px;margin-top:4px}.game-date{background:#8b73554d;padding:8px 24px;border-radius:4px;border:1px solid var(--color-border)}.date-display{color:var(--color-paper);font-size:16px;font-weight:500;letter-spacing:2px}.top-bar-right{display:flex;align-items:center;gap:20px}.resources{display:flex;gap:16px}.resource-item{display:flex;align-items:center;gap:6px;background:#0006;padding:6px 12px;border-radius:4px;border:1px solid rgba(139,115,85,.3)}.resource-icon{font-size:16px}.resource-value{color:var(--color-paper);font-size:14px;font-weight:600;min-width:40px;text-align:right}.user-menu-container{position:relative}.user-avatar-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#8b6914,#d4af37);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;border:2px solid rgba(212,175,55,.5);box-shadow:0 2px 8px #0000004d;transition:all .2s ease}.user-avatar-btn:hover .user-avatar{transform:scale(1.05);box-shadow:0 4px 12px #d4af3766;border-color:#d4af37}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:linear-gradient(145deg,#2a2018,#1a1510);border:1px solid #8b6914;border-radius:8px;padding:8px 0;min-width:180px;box-shadow:0 8px 24px #0006;z-index:1000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{padding:14px 16px;border-bottom:1px solid rgba(139,105,20,.4);background:linear-gradient(145deg,#3d3028,#2a2018)}.user-email{font-size:14px;color:#f5f0e8;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:500}.user-dropdown-divider{height:1px;background:#8b691433;margin:8px 0}.user-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:none;border:none;color:#e8e0d0;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:left}.user-dropdown-item:hover{background:#8b691426}.user-dropdown-item.logout:hover{background:#e85d751a;color:#e85d75}.dropdown-icon{font-size:16px;opacity:.8}.user-dropdown-menu:before{content:"";position:absolute;top:-6px;right:14px;width:10px;height:10px;background:#2a2018;border-left:1px solid #8b6914;border-top:1px solid #8b6914;transform:rotate(45deg)}.side-panel{width:200px;background:linear-gradient(180deg,#000000d9,#000000b3);border-right:2px solid var(--color-border);display:flex;flex-direction:column;padding:20px 0}.main-nav{flex:1;display:flex;flex-direction:column;gap:8px;padding:0 12px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--color-paper);cursor:pointer;transition:all .2s;text-align:left}.nav-item:hover{background:#8b735533;border-color:#8b735566}.nav-item.active{background:#b873334d;border-color:var(--color-ochre)}.nav-icon{font-size:20px}.nav-label{font-size:14px;font-weight:500}.panel-footer{padding:20px 16px;border-top:1px solid rgba(139,115,85,.3);margin-top:auto}.faction-info{text-align:center}.faction-info h3{color:var(--color-gold);font-size:18px;margin-bottom:12px;letter-spacing:4px}.faction-info p{color:var(--color-paper);font-size:12px;opacity:.7;margin:4px 0}.city-panel{padding:20px;color:var(--color-paper)}.panel-title{font-size:24px;color:var(--color-gold);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-border)}.city-stats{display:flex;gap:16px;margin-bottom:30px}.stat-card{background:#0006;border:1px solid var(--color-border);border-radius:8px;padding:16px 24px;min-width:120px;text-align:center}.stat-label{display:block;font-size:12px;color:#fff9;margin-bottom:8px}.stat-value{font-size:20px;font-weight:600;color:var(--color-paper)}.buildings-section{margin-bottom:30px}.buildings-section h3{font-size:18px;color:var(--color-ochre);margin-bottom:16px}.buildings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.building-card{background:#0006;border:1px solid var(--color-border);border-radius:8px;padding:16px;transition:all .2s}.building-card:hover{border-color:var(--color-ochre);background:#00000080}.building-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.building-icon{font-size:32px}.building-info{display:flex;flex-direction:column}.building-name{font-size:16px;font-weight:600;color:var(--color-paper)}.building-level{font-size:12px;color:#ffffff80}.building-desc{font-size:13px;color:#fff9;margin-bottom:12px}.building-output{font-size:13px;color:var(--color-jade);margin-bottom:12px}.build-btn{width:100%;padding:10px;background:var(--color-ochre);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.build-btn:hover:not(:disabled){background:var(--color-gold)}.build-btn:disabled{background:#ffffff1a;color:#ffffff4d;cursor:not-allowed}.population-section h3{font-size:18px;color:var(--color-ochre);margin-bottom:16px}.population-bars{background:#0006;border:1px solid var(--color-border);border-radius:8px;padding:20px}.pop-bar{display:flex;align-items:center;gap:16px;margin-bottom:16px}.pop-bar:last-child{margin-bottom:0}.pop-label{width:60px;font-size:14px;color:#fffc}.pop-track{flex:1;height:24px;background:#0000004d;border-radius:4px;overflow:hidden}.pop-fill{height:100%;background:linear-gradient(90deg,var(--color-ochre),var(--color-gold));border-radius:4px;transition:width .3s ease}.pop-fill.idle{background:linear-gradient(90deg,#666,#888)}.pop-value{width:50px;text-align:right;font-size:14px;color:#fffc}.income-summary{margin-bottom:30px;background:#0006;border:1px solid var(--color-border);border-radius:8px;padding:20px}.income-summary h3{font-size:16px;color:var(--color-ochre);margin-bottom:16px}.income-items{display:flex;gap:32px}.income-item{display:flex;align-items:center;gap:8px}.income-icon{font-size:24px}.income-value{font-size:18px;font-weight:600;color:var(--color-jade)}.pop-slider{flex:1;height:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000004d;border-radius:4px;outline:none;cursor:pointer}.pop-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--color-ochre);border-radius:50%;cursor:pointer;transition:all .2s}.pop-slider::-webkit-slider-thumb:hover{background:var(--color-gold);transform:scale(1.1)}.pop-slider::-moz-range-thumb{width:20px;height:20px;background:var(--color-ochre);border-radius:50%;cursor:pointer;border:none}.talent-panel{padding:20px;height:100%;overflow-y:auto}.panel-title{font-size:1.5rem;color:#f0d878;margin-bottom:16px;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}.talent-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid rgba(201,162,39,.3);padding-bottom:12px}.tab-btn{padding:8px 16px;background:#c9a22726;border:1px solid rgba(201,162,39,.4);color:#f0d878;cursor:pointer;border-radius:4px;transition:all .3s;font-weight:500}.tab-btn:hover{background:#c9a2274d;color:#fff8d0}.tab-btn.active{background:#c9a22766;border-color:#f0d878;color:#fff8d0}.talent-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}.talent-list{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.talent-card{display:flex;align-items:center;gap:12px;padding:12px;background:#0000004d;border:1px solid rgba(201,162,39,.2);border-radius:8px;cursor:pointer;transition:all .3s}.talent-card:hover{background:#c9a2271a;border-color:#c9a22766}.talent-card.selected{background:#c9a22726;border-color:#c9a227}.talent-portrait{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#3d2817,#2a1a0f);border:2px solid;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#f0d878;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.5)}.talent-basic{flex:1;display:flex;flex-direction:column;gap:4px}.talent-name{font-weight:700;color:beige}.talent-school{font-size:.85rem}.talent-position{font-size:.8rem;color:#4a90e2;background:#4a90e233;padding:2px 6px;border-radius:4px;width:fit-content}.talent-loyalty{display:flex;flex-direction:column;align-items:center;gap:4px}.loyalty-label{font-size:.75rem;color:#888}.loyalty-bar{width:60px;height:6px;background:#00000080;border-radius:3px;overflow:hidden}.loyalty-fill{height:100%;background:linear-gradient(90deg,#8b0000,#c9a227);transition:width .3s}.talent-detail{background:#0000004d;border:1px solid rgba(201,162,39,.3);border-radius:8px;padding:20px}.detail-header{display:flex;gap:16px;margin-bottom:16px}.detail-portrait{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#3d2817,#2a1a0f);border:3px solid;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#f0d878;text-shadow:0 1px 3px rgba(0,0,0,.5)}.detail-basic{display:flex;flex-direction:column;gap:8px}.detail-basic h3{margin:0;font-size:1.4rem;color:beige}.quality-row{display:flex;align-items:center;gap:8px}.detail-quality{font-size:1rem;font-weight:700;padding:2px 8px;border-radius:4px;background:#0000004d}.quality-desc{font-size:.85rem;color:#888;font-style:italic}.detail-school{font-size:.9rem}.detail-position{font-size:.85rem;color:#4a90e2}.detail-position.unassigned{color:#888}.detail-description{color:#aaa;font-size:.9rem;line-height:1.5;margin-bottom:20px;padding:12px;background:#0003;border-radius:6px}.detail-stats h4{color:#c9a227;margin-bottom:12px}.stats-grid{display:grid;gap:12px}.stat-item{display:flex;align-items:center;gap:12px}.stat-name{width:50px;font-size:.9rem;color:#aaa}.stat-bar{flex:1;height:8px;background:#00000080;border-radius:4px;overflow:hidden}.stat-fill{height:100%;border-radius:4px;transition:width .3s}.stat-fill.politics{background:linear-gradient(90deg,#2c3e50,#4a90e2)}.stat-fill.military{background:linear-gradient(90deg,#8b0000,#c93756)}.stat-fill.intelligence{background:linear-gradient(90deg,#4a0080,#9b59b6)}.stat-fill.charisma{background:linear-gradient(90deg,#b8860b,#d4af37)}.stat-value{width:40px;text-align:right;font-weight:700;color:beige}.detail-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.action-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s}.action-btn.appoint{background:#4a90e24d;color:#4a90e2}.action-btn.appoint:hover{background:#4a90e280}.action-btn.remove{background:#8b00004d;color:#ff6b6b}.action-btn.remove:hover{background:#8b000080}.action-btn.train{background:#c9a2274d;color:#c9a227}.action-btn.train:hover:not(:disabled){background:#c9a22780}.action-btn.train:disabled{opacity:.5;cursor:not-allowed}.action-btn.dismiss{background:#6464644d;color:#888}.action-btn.dismiss:hover{background:#64646480}.recruit-section{display:flex;flex-direction:column;gap:20px}.recruit-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:#0000004d;border-radius:8px}.recruit-info h3{margin:0 0 8px;color:#c9a227}.recruit-info p{margin:0 0 12px;color:#aaa;font-size:.9rem}.recruit-cost{display:flex;gap:16px;font-size:.9rem}.cooldown{display:block;margin-top:8px;color:#ff6b6b;font-size:.85rem}.refresh-btn{padding:8px 16px;background:#c9a2274d;border:1px solid #c9a227;color:#c9a227;cursor:pointer;border-radius:4px;transition:all .3s}.refresh-btn:hover:not(:disabled){background:#c9a22780}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.available-talents{display:flex;flex-direction:column;gap:12px}.talent-card.available{cursor:default}.talent-preview{display:flex;gap:8px;font-size:.8rem;color:#888}.recruit-btn{padding:6px 12px;background:#4a90e24d;border:1px solid #4a90e2;color:#4a90e2;cursor:pointer;border-radius:4px;transition:all .3s}.recruit-btn:hover:not(:disabled){background:#4a90e280}.recruit-btn:disabled{opacity:.5;cursor:not-allowed}.training-section{display:flex;flex-direction:column;gap:16px}.training-section h3{color:#c9a227;margin:0}.training-desc{color:#aaa;margin:0}.training-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.training-option{padding:16px;background:#0000004d;border:1px solid rgba(201,162,39,.2);border-radius:8px}.training-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.training-header h4{margin:0;color:beige}.training-duration{font-size:.85rem;color:#888}.training-description{font-size:.85rem;color:#aaa;margin-bottom:12px}.training-cost{display:flex;gap:12px;font-size:.85rem;margin-bottom:8px}.training-effect{font-size:.85rem;color:#4a90e2;background:#4a90e233;padding:4px 8px;border-radius:4px;width:fit-content}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.training-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #c9a227;border-radius:12px;padding:24px;max-width:400px;width:90%}.training-modal h3{margin:0 0 8px;color:#c9a227}.training-modal p{margin:0 0 16px;color:#aaa}.training-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.training-select-btn{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#c9a2271a;border:1px solid rgba(201,162,39,.3);color:beige;cursor:pointer;border-radius:6px;transition:all .3s}.training-select-btn:hover:not(:disabled){background:#c9a22733}.training-select-btn:disabled{opacity:.5;cursor:not-allowed}.training-name{font-weight:700}.training-cost{font-size:.85rem;color:#c9a227}.close-modal{width:100%;padding:10px;background:#6464644d;border:1px solid #888;color:#888;cursor:pointer;border-radius:6px;transition:all .3s}.close-modal:hover{background:#64646480}.biography-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #c9a227;border-radius:12px;padding:24px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.biography-header{text-align:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(201,162,39,.3)}.biography-header h2{margin:0 0 8px;color:#c9a227;font-size:1.8rem}.biography-era{display:inline-block;background:#c9a22733;color:#c9a227;padding:4px 12px;border-radius:4px;font-size:.9rem;margin-right:8px}.biography-lifespan{color:#888;font-size:.9rem}.biography-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.biography-tag{background:#4a90e233;color:#4a90e2;padding:4px 10px;border-radius:12px;font-size:.85rem}.biography-content{display:flex;flex-direction:column;gap:16px}.biography-section{background:#0003;padding:16px;border-radius:8px}.biography-section h4{margin:0 0 10px;color:#c9a227;font-size:1.1rem;border-bottom:1px solid rgba(201,162,39,.2);padding-bottom:6px}.biography-section p{margin:0;color:#ccc;line-height:1.6}.biography-section ul{margin:0;padding-left:20px;color:#ccc}.biography-section li{margin-bottom:6px;line-height:1.5}.biography-section.quotes blockquote{margin:8px 0;padding:10px 16px;border-left:3px solid #c9a227;background:#c9a2271a;color:#c9a227;font-style:italic;font-size:.95rem}.action-btn.biography{background:#9b59b64d;color:#9b59b6}.action-btn.biography:hover:not(:disabled){background:#9b59b680}.action-btn.biography:disabled{background:#64646433;color:#666;cursor:not-allowed}.historical-badge{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:linear-gradient(135deg,#c9a227,#d4af37);color:#1a1a2e;border-radius:50%;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #0000004d;transition:transform .2s}.historical-badge:hover{transform:scale(1.1)}.historical-tag{display:inline-block;background:linear-gradient(135deg,#c9a22733,#d4af371a);color:#c9a227;padding:2px 8px;border-radius:4px;font-size:.75rem;border:1px solid rgba(201,162,39,.4);cursor:pointer;transition:all .2s}.historical-tag:hover{background:linear-gradient(135deg,#c9a2274d,#d4af3733);border-color:#c9a227}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#888}.empty-state p{font-size:1.1rem}@media (max-width: 900px){.talent-content,.training-list{grid-template-columns:1fr}}.save-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.save-panel{background:linear-gradient(145deg,#f5f0e8,#ebe5d8);border:2px solid #a08060;border-radius:8px;padding:24px;width:600px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff4d;position:relative}.save-panel:before{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:1px solid rgba(160,128,96,.3);border-radius:6px;pointer-events:none}.save-title{font-size:22px;font-weight:700;color:#2c2c2c;text-align:center;margin-bottom:20px;font-family:"Noto Serif SC",serif}.save-section{margin-bottom:24px}.save-section-title{font-size:16px;font-weight:600;color:#555;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #d4c8b8}.autosave-card{background:linear-gradient(145deg,#fff,#f8f5f0);border:1px solid #c4b8a8;border-radius:6px;padding:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease}.autosave-card:hover{border-color:#d48c4a;box-shadow:0 2px 8px #d48c4a26}.autosave-info{flex:1}.autosave-label{font-size:14px;font-weight:600;color:#2c2c2c;margin-bottom:4px}.autosave-time{font-size:12px;color:#888}.autosave-preview{display:flex;gap:16px;font-size:12px;color:#666;margin-top:8px}.autosave-preview-item{display:flex;align-items:center;gap:4px}.autosave-empty{color:#999;font-style:italic}.save-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.save-slot{background:linear-gradient(145deg,#fff,#f8f5f0);border:1px solid #c4b8a8;border-radius:6px;padding:12px;min-height:120px;display:flex;flex-direction:column;cursor:pointer;transition:all .2s ease;position:relative}.save-slot:hover{border-color:#d48c4a;box-shadow:0 2px 8px #d48c4a26}.save-slot.active{border-color:#7db87d;background:linear-gradient(145deg,#f0f8f0,#e8f0e8)}.save-slot.empty{border-style:dashed;background:transparent}.save-slot.empty:hover{background:#d48c4a0d}.save-slot-number{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#d48c4a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.save-slot-name{font-size:14px;font-weight:600;color:#2c2c2c;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-slot-time{font-size:11px;color:#888;margin-bottom:8px}.save-slot-preview{flex:1;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#666}.save-slot-preview-item{display:flex;justify-content:space-between}.save-slot-empty-text{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-size:13px}.save-actions{display:flex;gap:12px;justify-content:center;margin-top:24px;padding-top:16px;border-top:1px solid #d4c8b8}.save-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.save-btn-primary{background:linear-gradient(145deg,#d48c4a,#c47a3a);color:#fff;box-shadow:0 4px 12px #d48c4a4d}.save-btn-primary:hover:not(:disabled){background:linear-gradient(145deg,#e09c5a,#d48c4a);transform:translateY(-1px)}.save-btn-primary:disabled{opacity:.5;cursor:not-allowed}.save-btn-secondary{background:transparent;color:#666;border:1px solid #c4b8a8}.save-btn-secondary:hover{background:#c4b8a81a}.save-btn-danger{background:transparent;color:#e85d75;border:1px solid #e85d75}.save-btn-danger:hover{background:#e85d751a}.save-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.save-dialog{background:#f5f0e8;border:2px solid #a08060;border-radius:8px;padding:24px;width:320px;box-shadow:0 8px 32px #0000004d}.save-dialog-title{font-size:18px;font-weight:700;color:#2c2c2c;margin-bottom:16px;text-align:center}.save-dialog-input{width:100%;padding:12px;border:1px solid #c4b8a8;border-radius:6px;font-size:14px;margin-bottom:16px;box-sizing:border-box}.save-dialog-input:focus{outline:none;border-color:#d48c4a}.save-dialog-actions{display:flex;gap:12px;justify-content:center}.save-confirm-text{font-size:14px;color:#555;text-align:center;margin-bottom:16px;line-height:1.5}.save-close-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;background:transparent;border:1px solid #c4b8a8;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#888;transition:all .2s ease}.save-close-btn:hover{background:#e85d751a;border-color:#e85d75;color:#e85d75}.cloud-loading{margin-left:8px;font-size:12px;color:#d48c4a;font-weight:400}.cloud-error{background:#e85d751a;border:1px solid rgba(232,93,117,.3);border-radius:6px;padding:8px 12px;color:#c94a5a;font-size:13px;margin-bottom:12px;cursor:pointer}.cloud-saves-grid{display:flex;flex-direction:column;gap:8px}.cloud-empty{text-align:center;color:#999;font-size:14px;padding:16px;font-style:italic}.cloud-save-card{background:linear-gradient(145deg,#fff,#f8f5f0);border:1px solid #c4b8a8;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:4px}.cloud-save-header{display:flex;justify-content:space-between;align-items:center}.cloud-save-name{font-size:14px;font-weight:600;color:#2c2c2c}.cloud-save-slot{font-size:12px;color:#888;background:#d48c4a1a;padding:2px 8px;border-radius:4px}.cloud-save-time{font-size:11px;color:#888}.cloud-save-preview{display:flex;gap:12px;font-size:11px;color:#666;margin-top:4px}.cloud-save-actions{display:flex;gap:8px;margin-top:8px}.cloud-btn{padding:6px 12px;font-size:12px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.cloud-btn:disabled{opacity:.5;cursor:not-allowed}.cloud-btn-download{background:linear-gradient(145deg,#7db87d,#6aa86a);color:#fff}.cloud-btn-download:hover:not(:disabled){background:linear-gradient(145deg,#8dc88d,#7db87d)}.cloud-btn-delete{background:transparent;color:#e85d75;border:1px solid #e85d75}.cloud-btn-delete:hover:not(:disabled){background:#e85d751a}.save-btn-cloud{background:linear-gradient(145deg,#5a9fd4,#4a8fc4);color:#fff;box-shadow:0 4px 12px #5a9fd44d}.save-btn-cloud:hover:not(:disabled){background:linear-gradient(145deg,#6aafd4,#5a9fd4);transform:translateY(-1px)}.save-btn-cloud:disabled{opacity:.6;cursor:not-allowed}.game-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;pointer-events:none}.game-container>*{pointer-events:auto}.main-layout{flex:1;display:flex;overflow:hidden}.content-area{flex:1;padding:20px;overflow-y:auto}.map-view{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-paper);font-size:24px;opacity:.6}.bottom-bar{height:60px;background:#000c;border-top:2px solid var(--color-border);display:flex;align-items:center;padding:0 20px}.time-controls{display:flex;align-items:center;gap:20px}.control-btn{padding:8px 20px;background:var(--color-ochre);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.control-btn:hover{background:var(--color-gold)}.control-btn.active{background:var(--color-cinnabar)}.speed-controls{display:flex;gap:8px}.speed-btn{padding:6px 12px;background:transparent;color:var(--color-paper);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.speed-btn:hover{background:#ffffff1a}.speed-btn.active{background:var(--color-jade);border-color:var(--color-jade)}.game-status{margin-left:auto;color:var(--color-paper);font-size:14px;opacity:.8}.save-btn{margin-left:16px;padding:8px 16px;background:linear-gradient(145deg,#d48c4a,#c47a3a);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;box-shadow:0 2px 8px #d48c4a4d}.save-btn:hover{background:linear-gradient(145deg,#e09c5a,#d48c4a);transform:translateY(-1px);box-shadow:0 4px 12px #d48c4a66}.save-btn:active{transform:translateY(0)}.gf-paper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.04;pointer-events:none}.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1a1a1ef2,#2c3e50e6,#1a1a1ef2);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-panel{background:linear-gradient(145deg,var(--gf-paper) 0%,var(--gf-paper-warm) 100%);border:2px solid var(--gf-gold-dark);border-radius:var(--gf-radius-lg);padding:var(--gf-space-10);width:400px;max-width:90vw;box-shadow:0 20px 60px #0006,0 0 0 1px #d4a84b33,inset 0 1px #fff6;position:relative;animation:gf-scale-in .4s ease forwards}.auth-panel:before{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;border:1px solid rgba(160,128,96,.25);border-radius:calc(var(--gf-radius-lg) - 6px);pointer-events:none}.auth-panel:after{content:"";position:absolute;top:0;left:20%;right:20%;height:3px;background:linear-gradient(90deg,transparent 0%,var(--gf-gold) 30%,var(--gf-gold-light) 50%,var(--gf-gold) 70%,transparent 100%);border-radius:0 0 2px 2px}.auth-title{font-family:var(--gf-font-title);font-size:36px;font-weight:400;color:var(--gf-text-primary);text-align:center;margin-bottom:var(--gf-space-2);letter-spacing:8px;position:relative}.auth-title:after{content:"❖";display:block;font-size:12px;color:var(--gf-gold);margin-top:var(--gf-space-2);letter-spacing:0}.auth-subtitle{font-family:var(--gf-font-body);font-size:14px;color:var(--gf-text-muted);text-align:center;margin-bottom:var(--gf-space-8)}.auth-form{display:flex;flex-direction:column;gap:var(--gf-space-5)}.auth-input-group{display:flex;flex-direction:column;gap:var(--gf-space-2)}.auth-label{font-family:var(--gf-font-body);font-size:14px;font-weight:500;color:var(--gf-text-secondary);padding-left:var(--gf-space-1)}.auth-input{composes:gf-input;font-size:16px}.auth-input:focus{border-color:var(--gf-gold);box-shadow:0 0 0 4px #d4a84b26}.otp-input{text-align:center;font-size:24px;letter-spacing:8px;font-family:var(--gf-font-ui);padding:var(--gf-space-4)}.auth-error{background:#c9372c1a;border:1px solid rgba(201,55,44,.3);border-radius:var(--gf-radius-md);padding:var(--gf-space-3) var(--gf-space-4);color:var(--gf-cinnabar);font-size:13px;text-align:center;animation:gf-slide-up .3s ease}.auth-button{composes:gf-btn;width:100%;padding:var(--gf-space-4) var(--gf-space-6);font-size:15px;margin-top:var(--gf-space-2)}.auth-button-primary{composes:gf-btn-primary}.auth-button-secondary{composes:gf-btn-ghost;margin-top:var(--gf-space-3)}.auth-button-text{composes:gf-btn-text;margin-top:var(--gf-space-4);font-size:13px}.auth-loading{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-hint{font-family:var(--gf-font-body);font-size:12px;color:var(--gf-text-muted);text-align:center;margin-top:var(--gf-space-6);line-height:1.8;position:relative;padding-top:var(--gf-space-4)}.auth-hint:before{content:"";position:absolute;top:0;left:30%;right:30%;height:1px;background:linear-gradient(90deg,transparent,var(--gf-border),transparent)}@media (max-width: 480px){.auth-panel{padding:var(--gf-space-8) var(--gf-space-6);margin:var(--gf-space-4)}.auth-title{font-size:28px;letter-spacing:6px}}:root{--gf-ink: #1a1a1a;--gf-ink-light: #2d2d2d;--gf-paper: #f5f0e6;--gf-paper-warm: #ebe5d8;--gf-paper-dark: #d4c8b0;--gf-cinnabar: #c9372c;--gf-cinnabar-light: #e74c3c;--gf-gold: #d4a84b;--gf-gold-light: #f0d878;--gf-gold-dark: #b8941d;--gf-jade: #4a7c59;--gf-jade-light: #5a9c6b;--gf-ochre: #b87333;--gf-indigo: #2c3e50;--gf-porcelain: #e8f4f8;--gf-border: rgba(160, 128, 96, .4);--gf-border-light: rgba(160, 128, 96, .2);--gf-shadow: rgba(0, 0, 0, .15);--gf-shadow-dark: rgba(0, 0, 0, .3);--gf-text-primary: #1a1a1a;--gf-text-secondary: #5a5a5a;--gf-text-muted: #8a8a8a;--gf-text-light: #f5f0e6;--gf-space-1: 4px;--gf-space-2: 8px;--gf-space-3: 12px;--gf-space-4: 16px;--gf-space-5: 20px;--gf-space-6: 24px;--gf-space-8: 32px;--gf-space-10: 40px;--gf-space-12: 48px;--gf-radius-sm: 4px;--gf-radius-md: 8px;--gf-radius-lg: 12px;--gf-radius-xl: 16px;--gf-radius-full: 9999px;--gf-shadow-sm: 0 1px 2px var(--gf-shadow);--gf-shadow-md: 0 4px 12px var(--gf-shadow);--gf-shadow-lg: 0 8px 24px var(--gf-shadow-dark);--gf-shadow-gold: 0 4px 20px rgba(212, 168, 75, .3);--gf-transition-fast: .15s ease;--gf-transition-normal: .3s ease;--gf-transition-slow: .5s ease;--gf-font-title: "Ma Shan Zheng", "ZCOOL XiaoWei", cursive;--gf-font-body: "LXGW WenKai", "Noto Serif SC", serif;--gf-font-ui: "Noto Sans SC", sans-serif}.gf-paper{background:var(--gf-paper);position:relative}.gf-paper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.04;pointer-events:none}.gf-card{background:linear-gradient(145deg,var(--gf-paper) 0%,var(--gf-paper-warm) 100%);border:1px solid var(--gf-border);border-radius:var(--gf-radius-md);padding:var(--gf-space-6);box-shadow:var(--gf-shadow-md);position:relative;overflow:hidden}.gf-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gf-gold),transparent);opacity:.6}.gf-border-decorated{border:2px solid var(--gf-gold-dark);border-radius:var(--gf-radius-md);position:relative}.gf-border-decorated:before{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:1px solid rgba(212,168,75,.3);border-radius:calc(var(--gf-radius-md) - 4px);pointer-events:none}.gf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gf-space-2);padding:var(--gf-space-3) var(--gf-space-6);font-family:var(--gf-font-body);font-size:14px;font-weight:500;border-radius:var(--gf-radius-md);cursor:pointer;transition:all var(--gf-transition-normal);border:none;outline:none;position:relative;overflow:hidden}.gf-btn:disabled{opacity:.5;cursor:not-allowed}.gf-btn-primary{background:linear-gradient(135deg,var(--gf-cinnabar) 0%,var(--gf-cinnabar-light) 100%);color:#fff;box-shadow:0 4px 12px #c9372c4d}.gf-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #c9372c66}.gf-btn-primary:active:not(:disabled){transform:translateY(0)}.gf-btn-secondary{background:linear-gradient(135deg,var(--gf-gold) 0%,var(--gf-gold-light) 100%);color:var(--gf-ink);box-shadow:var(--gf-shadow-gold)}.gf-btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d4a84b66}.gf-btn-ghost{background:transparent;color:var(--gf-text-secondary);border:1px solid var(--gf-border)}.gf-btn-ghost:hover:not(:disabled){background:#a080601a;border-color:var(--gf-gold);color:var(--gf-ochre)}.gf-btn-text{background:transparent;color:var(--gf-text-secondary);padding:var(--gf-space-2) var(--gf-space-3)}.gf-btn-text:hover:not(:disabled){color:var(--gf-cinnabar);background:#c9372c0d}.gf-input{width:100%;padding:var(--gf-space-3) var(--gf-space-4);font-family:var(--gf-font-ui);font-size:15px;color:var(--gf-text-primary);background:#fff;border:1px solid var(--gf-border);border-radius:var(--gf-radius-md);transition:all var(--gf-transition-fast);outline:none}.gf-input:focus{border-color:var(--gf-gold);box-shadow:0 0 0 3px #d4a84b26}.gf-input::placeholder{color:var(--gf-text-muted)}.gf-input:disabled{background:var(--gf-paper-warm);cursor:not-allowed}.gf-input-group{display:flex;flex-direction:column;gap:var(--gf-space-2)}.gf-input-label{font-family:var(--gf-font-body);font-size:14px;font-weight:500;color:var(--gf-text-secondary)}.gf-title{font-family:var(--gf-font-title);font-weight:400;color:var(--gf-text-primary);margin:0}.gf-title-xl{font-size:48px;letter-spacing:8px}.gf-title-lg{font-size:36px;letter-spacing:6px}.gf-title-md{font-size:28px;letter-spacing:4px}.gf-title-sm{font-size:20px;letter-spacing:2px}.gf-title-gold{background:linear-gradient(180deg,var(--gf-gold-light) 0%,var(--gf-gold) 50%,var(--gf-gold-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.gf-divider{height:1px;background:linear-gradient(90deg,transparent 0%,var(--gf-border) 20%,var(--gf-gold) 50%,var(--gf-border) 80%,transparent 100%);margin:var(--gf-space-6) 0;position:relative}.gf-divider:before,.gf-divider:after{content:"◆";position:absolute;top:50%;transform:translateY(-50%);color:var(--gf-gold);font-size:8px}.gf-divider:before{left:25%}.gf-divider:after{right:25%}.gf-tag{display:inline-flex;align-items:center;padding:var(--gf-space-1) var(--gf-space-3);font-size:12px;font-family:var(--gf-font-ui);border-radius:var(--gf-radius-full);background:var(--gf-paper-warm);border:1px solid var(--gf-border-light);color:var(--gf-text-secondary)}.gf-tag-primary{background:#c9372c1a;border-color:#c9372c4d;color:var(--gf-cinnabar)}.gf-tag-gold{background:#d4a84b1a;border-color:#d4a84b4d;color:var(--gf-gold-dark)}.gf-scroll::-webkit-scrollbar{width:6px;height:6px}.gf-scroll::-webkit-scrollbar-track{background:var(--gf-paper-warm);border-radius:var(--gf-radius-full)}.gf-scroll::-webkit-scrollbar-thumb{background:var(--gf-border);border-radius:var(--gf-radius-full)}.gf-scroll::-webkit-scrollbar-thumb:hover{background:var(--gf-gold)}@keyframes gf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gf-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gf-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.gf-animate-fade{animation:gf-fade-in .5s ease forwards}.gf-animate-slide-up{animation:gf-slide-up .5s ease forwards}.gf-animate-scale{animation:gf-scale-in .3s ease forwards}.gf-delay-1{animation-delay:.1s}.gf-delay-2{animation-delay:.2s}.gf-delay-3{animation-delay:.3s}.gf-delay-4{animation-delay:.4s}.app{width:100vw;height:100vh;display:flex;position:relative;background:linear-gradient(135deg,#1a1a2e,#16213e)}.game-canvas{flex:1;position:relative;overflow:hidden}.game-canvas canvas{display:block;width:100%;height:100%}*{box-sizing:border-box}body{font-family:var(--gf-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gf-paper-warm);border-radius:var(--gf-radius-full)}::-webkit-scrollbar-thumb{background:var(--gf-border);border-radius:var(--gf-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gf-gold)}::selection{background:#d4a84b4d;color:var(--gf-text-primary)}:focus-visible{outline:2px solid var(--gf-gold);outline-offset:2px}.no-select{-webkit-user-select:none;user-select:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}
