.decoStar{animation:starTwinkle 3s ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.decoSparkle{position:relative}.sparkleGlow{animation:sparklePulse 2s ease-in-out infinite;transform-origin:center}@keyframes sparklePulse{0%,to{opacity:calc(.3 * var(--intensity, 1));transform:scale(1)}50%{opacity:calc(.7 * var(--intensity, 1));transform:scale(1.1)}}.tarotSuitSymbol{display:inline-block;opacity:.3;transition:opacity .3s ease}.tarotSuitSymbol:hover{opacity:.6}.tarotSuitSymbol.major{color:var(--color-secondary)}.tarotSuitSymbol.wands,.tarotSuitSymbol.cups,.tarotSuitSymbol.swords,.tarotSuitSymbol.pentacles{color:var(--color-text-secondary)}.zodiacSymbol{display:inline-block;transition:transform .3s ease}.zodiacSymbol:hover{transform:rotate(15deg) scale(1.1)}.constellationPattern{opacity:.6}.constellationStar{animation:constellationShimmer 4s ease-in-out infinite}.constellationStar:nth-child(odd){animation-delay:.5s}@keyframes constellationShimmer{0%,to{opacity:.6;r:2}50%{opacity:1;r:3}}.orbGlow{position:relative}.orbCore{animation:orbPulse 3s ease-in-out infinite}@keyframes orbPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.orbRing{animation:ringRotate 8s linear infinite;transform-origin:center}.orbRingOuter{animation-direction:reverse;animation-duration:12s}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.moonPhase{display:inline-block;filter:drop-shadow(0 0 4px var(--color-secondary))}.floatingParticle{animation:particleFloat 6s ease-in-out infinite}@keyframes particleFloat{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:.8;transform:translateY(-10px)}}.home{padding-bottom:40px}.section-title{font-size:28px;color:var(--color-secondary);text-align:center;margin-bottom:32px}.features{margin-bottom:60px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.feature-card{background:#2d1b4e99;border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:24px;text-align:center;transition:all .3s}.feature-card:hover{border-color:var(--color-secondary);transform:translateY(-4px)}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h3{color:var(--color-text);margin-bottom:8px}.feature-card p{color:var(--color-text-secondary);font-size:14px}.spreads{margin-top:60px;margin-bottom:40px}.spreads-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.spread-card{background:#2d1b4e99;border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:20px;text-align:center}.spread-card h3{color:var(--color-secondary);margin-bottom:8px}.spread-card p{color:var(--color-text-secondary);font-size:14px;margin-bottom:12px}.spread-info{display:inline-block;padding:4px 12px;background:#d4af3733;border-radius:20px;font-size:12px;color:var(--color-secondary)}.spreads-action{text-align:center}.service-block{position:relative;display:flex;align-items:center;justify-content:space-between;padding:48px;margin:40px 0;border-radius:16px;overflow:hidden}.service-block .service-content{display:flex;align-items:center;gap:32px;flex:1;z-index:1}.service-block .service-info{flex:1}.service-icon{font-size:72px;flex-shrink:0}.service-title{font-size:32px;color:var(--color-secondary);margin-bottom:12px}.service-desc{color:var(--color-text-secondary);font-size:16px;margin-bottom:16px;line-height:1.6}.service-features{list-style:none;padding:0;margin:0}.service-features li{color:var(--color-text);padding:6px 0 6px 20px;position:relative}.service-features li:before{content:"◆";position:absolute;left:0;color:var(--color-secondary);font-size:10px}.service-action{flex-shrink:0}.service-action .btn{padding:14px 32px;font-size:16px}.service-decoration{position:absolute;right:40px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;opacity:.7;font-size:48px;color:var(--color-secondary);z-index:0}.service-decoration>*{position:relative}.decoStarSvg{filter:drop-shadow(0 0 4px var(--color-secondary))}.decoStarSvg.star1{animation:starFloat 4s ease-in-out infinite}.decoStarSvg.star2{animation:starFloat 5s ease-in-out infinite .5s}.decoStarSvg.star3{animation:starFloat 6s ease-in-out infinite 1s}.decoStarSvg.star4{animation:starFloat 4.5s ease-in-out infinite .3s}.decoStarSvg.star5{animation:starFloat 5.5s ease-in-out infinite .8s}.decoStarSvg.star6{animation:starFloat 4s ease-in-out infinite .2s}.decoStarSvg.star7{animation:starFloat 5s ease-in-out infinite .7s}.decoStarSvg.star8{animation:starFloat 6s ease-in-out infinite 1.2s}@keyframes starFloat{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-8px) rotate(10deg);opacity:1}}.decoSparkle{position:absolute;right:100px;top:20px;animation:sparkleRotate 12s linear infinite}.decoConstellation{position:absolute;right:20px;bottom:20px;opacity:.6}.decoConstellation svg{animation:constellationTwinkle 6s ease-in-out infinite}@keyframes constellationTwinkle{0%,to{opacity:.4}50%{opacity:.8}}.decoOrb{position:absolute;right:80px;top:50%;transform:translateY(-50%);animation:orbPulse 4s ease-in-out infinite}@keyframes orbPulse{0%,to{opacity:.5;transform:translateY(-50%) scale(1)}50%{opacity:.8;transform:translateY(-50%) scale(1.05)}}.serviceDecorationZiwei{right:30px}.serviceDecorationZiwei .ziweiSparkle{right:90px;top:10px}.serviceDecorationAstrology{right:30px}.serviceDecorationAstrology .astroSparkle{right:100px;top:30px}.serviceDecorationAstrology .astroConstellation{right:10px;bottom:30px}.service-block .service-decoration{right:auto;left:40px}.tarot-hero{background:linear-gradient(135deg,#2d1b4ecc,#1e0f32e6);border:1px solid rgba(212,175,55,.3)}.tarot-hero .deco-star{color:#d4af3799}.ziwei-block{background:linear-gradient(135deg,#2d1b4ecc,#1e143ce6);border:1px solid rgba(212,175,55,.3)}.astrology-block{background:linear-gradient(135deg,#142d4ecc,#1e193ce6);border:1px solid rgba(100,150,212,.3)}.astrology-block .deco-star{color:#64b4ff99}@media (max-width: 1024px){.service-block .service-content{flex-direction:column;text-align:center}.astrology-block .service-content{flex-direction:column}.service-block .service-info{text-align:center}.service-features{display:inline-block;text-align:left}.service-decoration{display:none}.service-action{margin-top:16px}}@media (max-width: 768px){.hero-title{font-size:32px}.hero-subtitle{font-size:16px}.service-block{padding:32px 20px;margin:24px 0}.service-icon{font-size:48px}.service-title{font-size:24px}.service-desc{font-size:14px}.service-action .btn{padding:12px 24px;font-size:14px}}.profile{max-width:500px;margin:0 auto}.profile-card{display:flex;align-items:center;gap:20px;background:#2d1b4e99;border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:24px;margin-bottom:24px}.profile-avatar{width:64px;height:64px;background:#d4af3733;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px}.profile-info{flex:1}.profile-phone{color:var(--color-text);font-size:18px;margin-bottom:4px}.profile-level{color:var(--color-secondary);font-size:14px}.profile-menu{background:#2d1b4e99;border:1px solid rgba(212,175,55,.2);border-radius:12px;overflow:hidden}.menu-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid rgba(212,175,55,.1);cursor:pointer;transition:background .2s;background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-family:inherit}.menu-item:last-child{border-bottom:none}.menu-item:hover{background:#d4af370d}.menu-icon{font-size:20px}.menu-item span:last-child{color:var(--color-text)}.profile-message{text-align:center;color:var(--color-text-secondary);margin-top:20px}.login-card{background:#2d1b4e99;border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:32px;text-align:center}.login-card h2{color:var(--color-secondary);margin-bottom:8px}.login-desc{color:var(--color-text-secondary);margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:16px}.login-form input{padding:14px 16px;background:#1a0f2ecc;border:1px solid rgba(212,175,55,.3);border-radius:8px;color:var(--color-text);font-size:16px;text-align:center}.login-form input:focus{outline:none;border-color:var(--color-secondary)}.login-form input::placeholder{color:var(--color-text-secondary)}.login-message{margin-top:16px;color:var(--color-text-secondary)}.api-settings-card{background:#2d1b4e99;border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:24px;margin-top:24px;text-align:center}.api-settings-card h2{color:var(--color-secondary);margin-bottom:8px}.api-settings-desc{color:var(--color-text-secondary);font-size:14px;margin-bottom:20px}.api-key-form{display:flex;gap:12px;margin-bottom:16px}.api-key-form input{flex:1;padding:12px 16px;background:#1a0f2ecc;border:1px solid rgba(212,175,55,.3);border-radius:8px;color:var(--color-text);font-size:14px}.api-key-form input:focus{outline:none;border-color:var(--color-secondary)}.api-key-actions{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.api-key-hint{color:var(--color-text-secondary);font-size:12px}.api-key-hint a{color:var(--color-secondary);text-decoration:none}.api-key-hint a:hover{text-decoration:underline}.stats-link{margin-top:20px;padding-top:16px;border-top:1px solid rgba(212,175,55,.2)}.stats-link .btn{width:100%}.default-key-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#4caf5026;border:1px solid rgba(76,175,80,.3);border-radius:8px;margin-bottom:16px;color:#4caf50;font-size:14px}.default-key-icon{font-size:16px}.settings-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid rgba(212,175,55,.2);padding-bottom:12px}.tab-btn{flex:1;padding:10px 16px;background:transparent;border:1px solid rgba(212,175,55,.3);border-radius:6px;color:var(--color-text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#d4af371a;color:var(--color-text)}.tab-btn.active{background:#d4af3726;border-color:var(--color-secondary);color:var(--color-secondary)}.visit-stats{text-align:left}.stats-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stat-value{color:var(--color-secondary);font-size:24px;font-weight:700}.stat-label{color:var(--color-text-secondary);font-size:12px}.stats-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.recent-records{margin-bottom:20px}.recent-records-title{color:var(--color-secondary);font-size:15px;margin-bottom:12px;text-align:center}.no-records{color:var(--color-text-secondary);text-align:center;padding:20px}.records-table{background:#1a0f2e66;border:1px solid rgba(212,175,55,.2);border-radius:8px;overflow:hidden}.records-header{display:grid;grid-template-columns:40px 1fr 80px 60px;gap:8px;padding:12px 16px;background:#d4af371a;color:var(--color-text-secondary);font-size:12px;font-weight:500}.records-row{display:grid;grid-template-columns:40px 1fr 80px 60px;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(212,175,55,.1);color:var(--color-text);font-size:13px}.col-time{color:var(--color-text)}.col-device{display:flex;align-items:center;gap:4px}.device-icon{font-size:14px}.device-label{color:var(--color-text-secondary);font-size:12px}.col-questions{color:var(--color-secondary);font-weight:500}.stats-actions{display:flex;justify-content:center}.stats-actions .btn{color:var(--color-error);border-color:var(--color-error)}.stats-actions .btn:hover{background:#f443361a}@media (max-width: 768px){.stats-overview{grid-template-columns:repeat(2,1fr)}.stat-card{padding:12px 8px}.stat-value{font-size:20px}.stats-charts{grid-template-columns:1fr}.records-header,.records-row{grid-template-columns:30px 1fr 70px 50px;font-size:12px;padding:10px 12px}}.pie-chart-container{display:flex;flex-direction:column;align-items:center;gap:16px}.pie-chart-title{color:var(--color-secondary);font-size:15px;font-weight:600;margin:0;text-align:center}.pie-chart-wrapper{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center}.pie-chart{border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 12px #0000004d}.pie-chart-inner{width:60%;height:60%;background:var(--color-background);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}.pie-chart-total{color:var(--color-secondary);font-size:24px;font-weight:700;line-height:1}.pie-chart-label{color:var(--color-text-secondary);font-size:11px;margin-top:4px}.pie-chart-legend{display:flex;flex-direction:column;gap:8px}.pie-chart-legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text)}.pie-chart-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.pie-chart-legend-icon{font-size:14px;flex-shrink:0}.pie-chart-legend-label{min-width:50px;color:var(--color-text-secondary)}.pie-chart-legend-value{color:var(--color-text);font-weight:500;min-width:30px;text-align:right}.pie-chart-legend-percentage{color:var(--color-secondary);font-weight:600;min-width:40px;text-align:right}.pie-chart-empty{border-radius:50%;background:#2d1b4e80;border:2px dashed rgba(212,175,55,.3);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:14px}@media (max-width: 768px){.pie-chart{width:140px!important;height:140px!important}.pie-chart-wrapper{flex-direction:column;gap:16px}.pie-chart-legend{flex-flow:row wrap;justify-content:center;gap:12px}.pie-chart-legend-item{flex-direction:column;gap:4px;min-width:60px;font-size:12px}.pie-chart-legend-label{min-width:unset}.pie-chart-legend-value,.pie-chart-legend-percentage{min-width:unset;text-align:center}}.statistics{padding:20px}.stats-overview{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}@media (max-width: 768px){.stats-overview{grid-template-columns:repeat(2,1fr)}}.stat-card{background:linear-gradient(135deg,#d4af371a,#d4af370d);border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:16px 12px;text-align:center;display:flex;flex-direction:column;gap:4px}.stat-value{font-size:28px;font-weight:700;color:var(--color-secondary)}.stat-label{font-size:12px;color:var(--color-text-secondary)}.stats-charts{display:flex;justify-content:center;gap:40px;margin-bottom:24px;flex-wrap:wrap}.recent-records{background:#1a0f2e80;border:1px solid rgba(212,175,55,.2);border-radius:12px;padding:16px;margin-bottom:20px}.recent-records-title{font-size:16px;color:var(--color-text);margin-bottom:12px}.no-records{text-align:center;color:var(--color-text-secondary);padding:20px}.records-table{font-size:14px}.records-header,.records-row{display:grid;grid-template-columns:40px 1fr 80px 60px;gap:8px;padding:8px 4px;align-items:center}.records-header{color:var(--color-text-secondary);font-size:12px;border-bottom:1px solid rgba(212,175,55,.2)}.records-row{color:var(--color-text);border-bottom:1px solid rgba(212,175,55,.1)}.records-row:last-child{border-bottom:none}.col-index{color:var(--color-text-secondary)}.col-time{font-family:monospace}.col-device{display:flex;align-items:center;gap:6px}.device-icon{font-size:16px}.device-label{font-size:12px}.col-questions{text-align:right}.stats-actions{display:flex;justify-content:center;padding-top:8px}.back-to-top{position:fixed;right:30px;bottom:30px;width:48px;height:48px;border-radius:8px;background:#2d1b4ee6;border:2px solid rgba(212,175,55,.5);color:var(--color-secondary);cursor:pointer;z-index:999;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000004d}.back-to-top:hover{background:#2d1b4e;transform:translateY(-3px);border-color:var(--color-secondary);box-shadow:0 6px 24px #0006}.back-to-top:hover:after{content:attr(data-tooltip);position:absolute;bottom:56px;right:0;background:#2d1b4ef2;border:1px solid rgba(212,175,55,.4);color:var(--color-secondary);font-size:12px;padding:4px 10px;border-radius:6px;white-space:nowrap;pointer-events:none}.back-to-top svg{width:22px;height:22px;stroke:currentcolor;stroke-width:3;fill:none}.floatingDecor{position:fixed;pointer-events:none;z-index:1}.floatingDecor.topLeft{top:80px;left:20px}.floatingDecor.topRight{top:80px;right:20px}.floatingDecor.bottomLeft{bottom:100px;left:20px}.floatingDecor.bottomRight{bottom:100px;right:20px}.floatStar{position:absolute;animation:floatDrift 6s ease-in-out infinite}.floatStar.star1{top:0;left:0;animation-delay:0s}.floatStar.star2{top:30px;left:40px;animation-delay:1s}.floatStar.star3{top:10px;right:10px;animation-delay:.5s}.floatStar.star4{top:50px;right:0;animation-delay:1.5s}.floatStar.star5{bottom:20px;left:10px;animation-delay:2s}.floatStar.star6{bottom:0;left:50px;animation-delay:.3s}.floatStar.star7{bottom:30px;right:20px;animation-delay:1.2s}.floatStar.star8{bottom:60px;right:0;animation-delay:2.2s}@keyframes floatDrift{0%,to{transform:translateY(0) rotate(0);opacity:.7}25%{transform:translateY(-8px) rotate(5deg);opacity:1}50%{transform:translateY(-4px) rotate(-3deg);opacity:.8}75%{transform:translateY(-12px) rotate(3deg);opacity:1}}.floatParticle{position:absolute;animation:particleDrift 8s ease-in-out infinite}.floatParticle.particle1{top:20px;left:20px;animation-delay:0s}.floatParticle.particle2{top:40px;right:30px;animation-delay:2s}.floatParticle.particle3{bottom:40px;left:30px;animation-delay:4s}.floatParticle.particle4{bottom:10px;right:10px;animation-delay:6s}@keyframes particleDrift{0%,to{transform:translateY(0) translate(0);opacity:.4}25%{transform:translateY(-15px) translate(5px);opacity:.8}50%{transform:translateY(-8px) translate(-5px);opacity:.6}75%{transform:translateY(-20px) translate(3px);opacity:.9}}.floatSparkle{position:absolute;animation:sparkleRotate 10s linear infinite}.floatSparkle.sparkle1{top:50px;left:10px;animation-duration:12s}.floatSparkle.sparkle2{top:80px;right:20px;animation-duration:15s;animation-direction:reverse}.floatSparkle.sparkle3{bottom:60px;left:0;animation-duration:10s}.floatSparkle.sparkle4{bottom:80px;right:40px;animation-duration:18s;animation-direction:reverse}@keyframes sparkleRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.floatingDecor{display:none}}.language-toggle{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#7b5b9e66;border:1px solid var(--color-border);border-radius:20px;cursor:pointer;transition:all .3s ease;font-family:Cinzel,serif}.language-toggle:hover{background:#7b5b9e99;border-color:var(--color-secondary)}.lang-btn{font-size:14px;font-weight:600;color:var(--color-text-secondary);transition:all .3s ease}.lang-btn.active{color:var(--color-secondary);text-shadow:0 0 8px var(--color-secondary)}.lang-divider{color:var(--color-text-secondary);opacity:.5}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:#1a0f2ef2;border-bottom:1px solid rgba(212,175,55,.3);position:sticky;top:0;z-index:100;backdrop-filter:blur(10px)}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:60px}.header-left{display:flex;align-items:center;gap:16px}.logo{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:700;color:var(--color-secondary);text-decoration:none}.logo-icon{font-size:28px}.nav{display:flex;gap:8px}.nav-link{padding:8px 16px;border-radius:6px;color:var(--color-text-secondary);text-decoration:none;transition:all .2s}.nav-link:hover{color:var(--color-text);background:#d4af371a}.nav-link.active{color:var(--color-secondary);background:#d4af3726}.main{flex:1;padding:40px 20px;max-width:1200px;width:100%;margin:0 auto}.page-disclaimer{margin-top:40px;padding-top:20px;border-top:1px solid rgba(212,175,55,.15);text-align:center}.page-disclaimer p{font-size:12px;color:var(--color-text-secondary);line-height:1.6;margin:0}.footer{text-align:center;padding:20px;color:var(--color-text-secondary);font-size:14px;border-top:1px solid rgba(212,175,55,.2)}.mobile-nav{display:none;position:fixed;top:0;left:0;right:0;z-index:100;background:#1a0f2efa;border-bottom:1px solid rgba(212,175,55,.4);backdrop-filter:blur(10px)}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 12px;color:var(--color-text-secondary);text-decoration:none;transition:all .2s;min-width:60px}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-item.active{color:var(--color-secondary)}.nav-icon{font-size:22px}.nav-label{font-size:11px;font-weight:500}.layout-mobile .header{display:none}.layout-mobile .main{padding-top:calc(clamp(86px,12vh,90px) + env(safe-area-inset-top,0px));padding-bottom:80px}.layout-mobile .footer{display:block;padding:12px 20px;text-align:center;font-size:12px;color:var(--color-text-secondary)}.layout-mobile .mobile-nav{display:flex;justify-content:space-around;align-items:center;padding:8px 0;padding-top:calc(8px + env(safe-area-inset-top,0))}.layout-mobile .mobile-nav-item{display:flex}.layout.layout-pad,.layout-pad{flex-direction:row}.layout-pad .header{position:fixed;left:0;top:0;bottom:0;width:80px;border-bottom:none;border-right:1px solid rgba(212,175,55,.3);display:flex;flex-direction:column;justify-content:flex-start;padding-top:20px}.layout-pad .header-content{flex-direction:column;height:auto;width:100%;padding:0;gap:0}.layout-pad .logo{flex-direction:column;font-size:18px;padding:10px 0;gap:4px}.layout-pad .logo-icon{font-size:28px}.layout-pad .logo-text{display:none}.layout-pad .nav{flex-direction:column;width:100%;gap:4px;padding:0 8px}.layout-pad .nav-link{padding:12px 8px;font-size:12px;text-align:center;border-radius:8px}.layout-pad .main{margin-left:80px;padding:20px;padding-top:calc(20px + env(safe-area-inset-top,0px))}.layout-pad .footer,.layout-pad .mobile-nav{display:none}.route-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.route-fallback-pulse{width:48px;height:48px;border-radius:50%;background:var(--color-panel, rgba(123, 91, 158, .6));border:2px solid var(--color-border-strong, rgba(255, 215, 0, .5));animation:route-fallback-pulse 1.4s ease-in-out infinite}@keyframes route-fallback-pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.1);opacity:1}}.route-fallback-text{color:var(--color-text-secondary, #c4b5d4);font-size:14px;letter-spacing:.05em}:root{--color-primary: #7B5B9E;--color-secondary: #FFD700;--color-background: #1A1028;--color-text: #F5F0FA;--color-text-secondary: #C4B5D4;--color-success: #B088C4;--color-warning: #F0D060;--color-error: #E8A0B0;--color-panel: rgba(123, 91, 158, .6);--color-panel-solid: rgba(26, 16, 40, .95);--color-border: rgba(255, 215, 0, .25);--color-border-strong: rgba(255, 215, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Noto Serif SC",Cinzel,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:600;font-size:20px;background:linear-gradient(135deg,var(--color-background) 0%,var(--color-primary) 100%);color:var(--color-text);min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-size:1.2em}p,li,span,label,input,textarea,button{font-size:1em}a{color:var(--color-secondary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 20px}.flex-center{display:flex;align-items:center;justify-content:center}.hover-lift{transition:transform .2s ease}.hover-lift:hover{transform:translateY(-4px)}@keyframes btnPoof{0%{transform:scale(1);box-shadow:0 0 #ffd70066}15%{transform:scale(.95);box-shadow:0 0 #ffd70066}30%{transform:scale(1.08);box-shadow:0 0 20px 4px #ffd70099,0 0 40px 8px #ffd7004d}50%{transform:scale(1.02);box-shadow:0 0 15px 3px #ffd70080,0 0 30px 6px #ffd70033}70%{transform:scale(1);box-shadow:0 0 8px 2px #ffd7004d,0 0 15px 3px #ffd70026}to{transform:scale(1);box-shadow:0 0 #ffd70000}}.btn-poof{animation:btnPoof .4s cubic-bezier(.25,.46,.45,.94)}@keyframes btnRipple{0%{transform:scale(0);opacity:.6}to{transform:scale(2.5);opacity:0}}.btn-poof:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,215,0,.4) 0%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%) scale(0);pointer-events:none}.btn-poof.rippling:before{animation:btnRipple .5s ease-out}.mist-overlay{position:fixed;inset:0;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at center,transparent 0%,rgba(60,30,80,.25) 100%),radial-gradient(ellipse at top left,rgba(123,91,158,.2) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(180,120,180,.15) 0%,transparent 50%);animation:mistPulse 8s ease-in-out infinite}@keyframes mistPulse{0%,to{opacity:.8}50%{opacity:1}}.stardust-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.stardust-particle{position:absolute;width:4px;height:4px;background:var(--color-secondary);border-radius:50%;pointer-events:none;animation:stardustFade 1s ease-out forwards;box-shadow:0 0 4px var(--color-secondary),0 0 8px var(--color-secondary),0 0 16px #ffd70080}@keyframes stardustFade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0) translateY(-30px)}}.cursor-glow{position:fixed;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.12) 0%,transparent 70%);pointer-events:none;z-index:9997;transform:translate(-50%,-50%);transition:opacity .3s ease}.poof-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;overflow:hidden}.poof-particle{position:absolute;background:radial-gradient(circle,rgba(255,215,0,.9) 0%,rgba(255,215,0,.4) 50%,transparent 70%);border-radius:50%;pointer-events:none;box-shadow:0 0 10px 3px #ffd70099,0 0 20px 6px #ffd7004d,0 0 30px 10px #ffd7001a;transform:translate(-50%,-50%)}.cooldown-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:14px 24px;background:var(--color-panel-solid);border:1px solid var(--color-border-strong);border-radius:12px;box-shadow:0 4px 20px #0006;z-index:1000;animation:toastFadeIn .3s ease-out}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cooldown-icon{font-size:20px}.cooldown-text{color:var(--color-secondary);font-size:15px;font-weight:500}.ai-error{background:#e8a0b01a;border:1px solid var(--color-error);border-radius:8px;padding:16px;margin:16px auto;text-align:center;color:var(--color-error);max-width:400px}.ai-error button{margin-top:8px;padding:4px 16px;background:transparent;border:1px solid var(--color-error);border-radius:4px;color:var(--color-error);cursor:pointer}.btn{display:inline-block;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:500;transition:all .3s ease}.btn-primary{background:var(--color-secondary);color:var(--color-primary)}.btn-primary:hover{background:#d8b2e2;transform:translateY(-2px);box-shadow:0 4px 15px #c8a2d666}.btn-primary:disabled{background:#555;color:#888;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;border:1px solid var(--color-secondary);color:var(--color-secondary)}.btn-secondary:hover{background:#c8a2d61a}.btn-secondary:disabled{border-color:#555;color:#666;cursor:not-allowed}.page-title{font-size:32px;color:var(--color-secondary);margin-bottom:24px;text-align:center;text-shadow:0 0 20px rgba(200,162,214,.3)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.spinner{width:40px;height:40px;border:3px solid var(--color-text-secondary);border-top-color:var(--color-secondary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scroll-indicator{position:fixed;right:0;top:0;width:8px;height:100vh;background:linear-gradient(180deg,transparent 0%,var(--color-secondary) 50%,transparent 100%);opacity:.6;pointer-events:none;z-index:999}.scroll-indicator:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:60px;background:var(--color-secondary);border-radius:3px;animation:scrollHint 2s ease-in-out infinite;box-shadow:0 0 10px var(--color-secondary)}@keyframes scrollHint{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(20px)}}.layout-mobile .scroll-indicator{display:none}.layout-mobile .page-title{font-size:24px;margin-bottom:16px}.layout-mobile .btn{width:100%;padding:14px 20px;font-size:15px}.layout-mobile .btn+.btn{margin-top:12px}.layout-mobile .card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.layout-mobile .container{padding:0 16px}.layout-mobile .modal-content,.layout-mobile .card{padding:16px;border-radius:8px}.layout-mobile input,.layout-mobile textarea{font-size:16px}.layout-mobile textarea{min-height:120px}@supports (padding: env(safe-area-inset-bottom)){.layout-mobile .main{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}.layout-pad .card-grid{grid-template-columns:repeat(3,1fr);gap:16px}.layout-desktop .card-grid{grid-template-columns:repeat(4,1fr);gap:24px}
