*{margin:0;padding:0;box-sizing:border-box}:root{--color-gold:#d4a84b;--color-gold-light:#e8c778;--color-gold-dark:#b8860b;--color-vermilion:#e74c3c;--color-cinnabar:#c23a2b;--color-ink:#1a1a2e;--color-ink-light:#16213e;--color-paper:#f5f0e8;--color-paper-dark:#e8e0d0;--color-jade:#2d8659;--color-azure:#3498db;--gradient-primary:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);--gradient-gold:linear-gradient(135deg,#d4a84b,#f0d78c 50%,#d4a84b);--gradient-card:linear-gradient(145deg,rgba(255,255,255,0.95),rgba(245,240,232,0.98));--shadow-soft:0 4px 20px rgba(0,0,0,0.15);--shadow-gold:0 4px 30px rgba(212,168,75,0.3);--shadow-elevated:0 20px 60px rgba(0,0,0,0.3)}body{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--gradient-primary);min-height:100vh;color:var(--color-paper);line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(212,168,75,.05) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(212,168,75,.05) 0,transparent 50%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L30 60M0 30L60 30' stroke='%23d4a84b' stroke-width='0.3' opacity='0.08'/%3E%3C/svg%3E");pointer-events:none;z-index:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-ink)}::-webkit-scrollbar-thumb{background:var(--color-gold);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-gold-light)}::selection{background:var(--color-gold);color:var(--color-ink)}.App{min-height:100vh;display:flex;flex-direction:column}.App,.App-header{position:relative}.App-header{padding:2rem 2rem 2.5rem;background:transparent;border-bottom:1px solid rgba(212,168,75,.2)}.header-content{max-width:1400px;margin:0 auto;padding:0 1rem}.header-content,.header-logo{display:flex;flex-direction:column;align-items:center}.header-logo{gap:.5rem;width:100%;text-align:center}.logo-icon{font-size:3rem;filter:grayscale(0) brightness(1.1) drop-shadow(0 2px 8px rgba(255,255,255,.3));animation:floatSimple 3s ease-in-out infinite}@keyframes floatSimple{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.logo-link{display:flex;flex-direction:column;align-items:center;gap:.3rem}.logo-link,.logo-link h1,.logo-link:hover{text-decoration:none}.logo-link h1{border-bottom:none}.App-header h1{font-family:Ma Shan Zheng,cursive;font-size:3.5rem;font-weight:400;color:var(--color-gold);text-shadow:0 0 40px rgba(212,168,75,.4),2px 2px 4px rgba(0,0,0,.3);letter-spacing:.3em;margin:.5rem 0}.header-subtitle{font-family:"Noto Serif SC",serif;font-size:1rem;color:rgba(245,240,232,.7);letter-spacing:.5em;font-weight:300}.header-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.divider-line{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--color-gold-dark),transparent)}.divider-symbol{color:var(--color-gold);font-size:.8rem;opacity:.8}.App-main{flex:1 1;padding:3rem 2rem;max-width:1400px;margin:0 auto;width:100%}.welcome-section{text-align:center;margin-bottom:3rem;animation:fadeInUp .8s ease-out}.welcome-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:rgba(212,168,75,.15);border:1px solid rgba(212,168,75,.3);border-radius:50px;margin-bottom:2rem}.badge-dot{width:8px;height:8px;background:var(--color-gold);border-radius:50%;animation:pulse 2s ease-in-out infinite}.badge-text{font-size:.85rem;color:var(--color-gold);letter-spacing:.1em}.welcome-section h2{font-family:"Noto Serif SC",serif;font-size:2.5rem;font-weight:600;color:var(--color-paper);margin-bottom:1rem;letter-spacing:.1em}.welcome-description{font-size:1.1rem;color:rgba(245,240,232,.7);max-width:600px;margin:0 auto 2rem;line-height:1.8}.features-highlight{display:flex;justify-content:center;gap:3rem;margin-top:3rem;flex-wrap:wrap}.feature-item{display:flex;flex-direction:column;align-items:center;gap:.8rem;opacity:.8;transition:all .3s ease}.feature-item:hover{opacity:1;transform:translateY(-5px)}.feature-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:rgba(212,168,75,.1);border:1px solid rgba(212,168,75,.3);border-radius:50%;font-size:1.5rem}.feature-text{font-size:.9rem;color:rgba(245,240,232,.8);letter-spacing:.05em}.analyzing-section{text-align:center;padding:5rem 2rem;animation:fadeIn .5s ease-in}.analyzing-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.bagua-spinner{position:relative;width:120px;height:120px}.bagua-outer{position:absolute;width:100%;height:100%;border:2px solid rgba(212,168,75,.3);border-radius:50%;animation:spinSlow 8s linear infinite}.bagua-inner{width:80px;height:80px;border:2px solid var(--color-gold);border-radius:50%;animation:spinReverse 4s linear infinite}.bagua-center,.bagua-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bagua-center{font-size:2.5rem;animation:pulse 1.5s ease-in-out infinite}@keyframes spinSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spinReverse{0%{transform:translate(-50%,-50%) rotate(1turn)}to{transform:translate(-50%,-50%) rotate(0deg)}}.analyzing-text{font-family:"Noto Serif SC",serif;font-size:1.3rem;color:var(--color-paper);letter-spacing:.2em}.analyzing-hint{font-size:.9rem;color:rgba(245,240,232,.5)}.App-footer{position:relative;padding:2rem;text-align:center;border-top:1px solid rgba(212,168,75,.2)}.App-footer:before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:100px;height:1px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-brand{font-family:Ma Shan Zheng,cursive;font-size:1.5rem;color:var(--color-gold);letter-spacing:.2em}.footer-links{display:flex;gap:2rem}.footer-link{color:rgba(245,240,232,.6);text-decoration:none;font-size:.85rem;transition:color .3s ease;cursor:pointer}.footer-link:hover{color:var(--color-gold)}.footer-copyright{font-size:.8rem;color:rgba(245,240,232,.4);margin-top:.5rem}.footer-disclaimer{font-size:.75rem;color:rgba(245,240,232,.3);max-width:400px;line-height:1.6}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.loading-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.loading-text{font-family:"Noto Serif SC",serif;font-size:1.2rem;color:var(--color-paper);letter-spacing:.2em}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sign-in-btn{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,var(--color-gold-dark) 0,var(--color-gold) 100%);border:none;border-radius:8px;color:var(--color-ink);font-family:Noto Sans SC,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px rgba(212,168,75,.3)}.sign-in-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(212,168,75,.4)}.sign-in-btn:active{transform:translateY(0)}.sign-in-btn .btn-icon{font-size:1rem}.sign-in-btn .btn-text{letter-spacing:.05em}.header-loading{display:flex;align-items:center;justify-content:center;width:40px;height:40px}.loading-dot{width:8px;height:8px;background:var(--color-gold);border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.image-upload-container{max-width:700px;margin:0 auto;animation:fadeInUp .6s ease-out}.upload-form{display:flex;flex-direction:column;gap:2rem}.consent-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.consent-dialog{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid rgba(212,168,75,.4);border-radius:16px;padding:0;max-width:420px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(212,168,75,.1);animation:slideUp .3s ease;overflow:hidden}.consent-dialog-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:rgba(212,168,75,.1);border-bottom:1px solid rgba(212,168,75,.2)}.consent-warning-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1.25rem;color:#f5a623;background:rgba(245,166,35,.15);border-radius:8px}.consent-dialog-title{font-size:1.1rem;font-weight:600;color:var(--color-paper)}.consent-dialog-content{padding:1.5rem}.consent-dialog-text{font-size:.95rem;color:rgba(245,240,232,.85);line-height:1.8;margin:0}.consent-dialog-actions{display:flex;gap:1rem;padding:1rem 1.5rem 1.5rem;justify-content:flex-end}.consent-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;border:none}.consent-btn-cancel{background:rgba(255,255,255,.1);color:rgba(245,240,232,.8);border:1px solid rgba(255,255,255,.2)}.consent-btn-cancel:hover{background:rgba(255,255,255,.15);color:var(--color-paper)}.consent-btn-agree{background:linear-gradient(135deg,var(--color-gold) 0,var(--color-gold-dark) 100%);color:var(--color-ink)}.consent-btn-agree:hover{background:linear-gradient(135deg,var(--color-gold-light) 0,var(--color-gold) 100%);box-shadow:0 4px 15px rgba(212,168,75,.4)}.upload-area{position:relative;background:linear-gradient(145deg,rgba(26,26,46,.8),rgba(22,33,62,.9));border-radius:20px;padding:3px;transition:all .4s ease}.upload-area:before{content:"";position:absolute;inset:0;border-radius:20px;padding:2px;background:linear-gradient(135deg,var(--color-gold) 0,transparent 50%,var(--color-gold) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;transition:opacity .4s ease;pointer-events:none}.upload-area.dragging:before,.upload-area:hover:before{opacity:1}.upload-area-inner{background:linear-gradient(145deg,rgba(26,26,46,.95),rgba(22,33,62,.98));border-radius:18px;padding:2rem}.upload-label{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;border:2px dashed rgba(212,168,75,.3);border-radius:15px;cursor:pointer;transition:all .4s ease;text-align:center;background:rgba(212,168,75,.02)}.upload-label:hover{border-color:var(--color-gold);background:rgba(212,168,75,.08)}.upload-area.dragging .upload-label{border-color:var(--color-gold);background:rgba(212,168,75,.12);transform:scale(1.02)}.upload-icon-wrapper{position:relative;width:100px;height:100px;margin-bottom:1.5rem}.upload-icon-bg{position:absolute;inset:0;background:radial-gradient(circle,rgba(212,168,75,.2) 0,transparent 70%);border-radius:50%;animation:breathe 3s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.upload-icon{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;z-index:1}.upload-text{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.5rem}.upload-text-main{font-family:"Noto Serif SC",serif;font-size:1.4rem;color:var(--color-paper);letter-spacing:.1em}.upload-text-sub{font-size:.95rem;color:rgba(245,240,232,.5)}.upload-formats{display:flex;align-items:center;gap:1rem;padding:.8rem 1.5rem;background:rgba(212,168,75,.1);border-radius:50px}.format-tag{font-size:.75rem;color:var(--color-gold);padding:.3rem .6rem;background:rgba(212,168,75,.15);border-radius:4px;letter-spacing:.05em}.format-divider{width:1px;height:12px;background:rgba(212,168,75,.3)}.format-limit{font-size:.8rem;color:rgba(245,240,232,.5)}.preview-container{display:flex;flex-direction:column;gap:1.5rem}.preview-wrapper{position:relative;border-radius:15px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}.preview-wrapper:before{content:"";position:absolute;inset:0;border:2px solid rgba(212,168,75,.3);border-radius:15px;pointer-events:none;z-index:1}.preview-image{width:100%;max-height:400px;object-fit:contain;background:rgba(0,0,0,.3);display:block}.preview-corner{position:absolute;width:30px;height:30px;border:2px solid var(--color-gold);z-index:2}.preview-corner.top-left{top:10px;left:10px;border-right:none;border-bottom:none}.preview-corner.top-right{top:10px;right:10px;border-left:none;border-bottom:none}.preview-corner.bottom-left{bottom:10px;left:10px;border-right:none;border-top:none}.preview-corner.bottom-right{bottom:10px;right:10px;border-left:none;border-top:none}.change-image-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;background:transparent;color:rgba(245,240,232,.7);border:1px solid rgba(212,168,75,.3);border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;align-self:center}.change-image-btn:hover{color:var(--color-gold);border-color:var(--color-gold);background:rgba(212,168,75,.1)}.error-message{display:flex;align-items:center;gap:.8rem;padding:1rem 1.5rem;background:rgba(199,58,43,.15);border:1px solid rgba(199,58,43,.3);border-radius:10px;animation:shake .5s ease-in-out}.error-icon{font-size:1.2rem}.error-text{color:#e74c3c;font-size:.95rem}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}.analyze-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.2rem 3rem;background:linear-gradient(135deg,var(--color-gold-dark) 0,var(--color-gold) 50%,var(--color-gold-dark) 100%);background-size:200% 200%;color:var(--color-ink);border:none;border-radius:12px;font-family:"Noto Serif SC",serif;font-size:1.2rem;font-weight:600;letter-spacing:.15em;cursor:pointer;transition:all .4s ease;box-shadow:0 4px 20px rgba(212,168,75,.4),inset 0 1px 0 rgba(255,255,255,.2);overflow:hidden}.analyze-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.analyze-btn:hover{background-position:100% 50%;transform:translateY(-3px);box-shadow:0 8px 30px rgba(212,168,75,.5),inset 0 1px 0 rgba(255,255,255,.3)}.analyze-btn:hover:before{left:100%}.analyze-btn:active{transform:translateY(-1px)}.btn-icon{font-size:1.4rem}.btn-text{position:relative}.btn-decoration{position:absolute;top:50%;transform:translateY(-50%);font-size:.8rem;opacity:.6}.btn-decoration.left{left:1rem}.btn-decoration.right{right:1rem}.auth-hint{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1rem 1.5rem;background:rgba(212,168,75,.1);border:1px solid rgba(212,168,75,.2);border-radius:10px}.hint-icon{font-size:1.2rem}.hint-text{font-size:.9rem;color:rgba(245,240,232,.7)}.result-container{animation:fadeInUp .8s ease-out;max-width:1200px;margin:0 auto}.invalid-image-container{display:flex;align-items:center;justify-content:center;min-height:400px}.invalid-image-content{text-align:center;padding:3rem 4rem;background:rgba(26,26,46,.8);border:1px solid rgba(212,168,75,.3);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:500px}.invalid-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.8}.invalid-title{font-family:Ma Shan Zheng,cursive;font-size:1.8rem;color:var(--color-gold);margin-bottom:1rem;letter-spacing:.1em}body[data-locale=en] .invalid-title{font-family:Playfair Display,serif;letter-spacing:.02em}.invalid-reason{color:rgba(245,240,232,.8);font-size:1.1rem;line-height:1.8;margin-bottom:2rem}.retry-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--color-gold) 0,var(--color-gold-dark) 100%);color:var(--color-ink);border:none;border-radius:10px;font-size:1rem;font-weight:600}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,168,75,.4)}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding:1.5rem 2rem;background:rgba(26,26,46,.6);border:1px solid rgba(212,168,75,.2);border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.result-title-group{display:flex;align-items:center;gap:1rem}.result-icon{font-size:2rem}.result-header h2{font-family:Ma Shan Zheng,cursive;font-size:2rem;color:var(--color-gold);letter-spacing:.2em;margin:0}.result-actions{gap:1rem}.reset-btn,.result-actions{display:flex;align-items:center}.reset-btn{gap:.5rem;padding:.8rem 1.5rem;background:transparent;color:rgba(245,240,232,.7);border:1px solid rgba(212,168,75,.4);border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.reset-btn:hover{color:var(--color-gold);border-color:var(--color-gold);background:rgba(212,168,75,.1)}.result-content{display:flex;flex-direction:column;gap:2.5rem}.result-main{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:2.5rem;gap:2.5rem;align-items:start}.image-frame,.image-section{position:relative}.image-frame{padding:15px;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.3);border-radius:15px;box-shadow:0 20px 60px rgba(0,0,0,.4)}.frame-corner{position:absolute;width:40px;height:40px;border:2px solid var(--color-gold);z-index:2}.frame-corner.top-left{top:8px;left:8px;border-right:none;border-bottom:none}.frame-corner.top-right{top:8px;right:8px;border-left:none;border-bottom:none}.frame-corner.bottom-left{bottom:8px;left:8px;border-right:none;border-top:none}.frame-corner.bottom-right{bottom:8px;right:8px;border-left:none;border-top:none}.result-image{width:100%;border-radius:10px;display:block}.image-frame.no-image{display:flex;align-items:center;justify-content:center;min-height:250px}.no-image-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem}.no-image-placeholder .placeholder-icon{font-size:4rem;opacity:.5}.no-image-placeholder .placeholder-text{font-family:"Noto Serif SC",serif;font-size:1rem;color:rgba(245,240,232,.5);letter-spacing:.1em}.image-label{text-align:center;margin-top:1rem;font-size:.85rem;color:rgba(245,240,232,.5);letter-spacing:.1em}.summary-section{display:flex;flex-direction:column;gap:2rem}.summary-card{position:relative;padding:2.5rem;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.3);border-radius:15px;text-align:center;overflow:hidden}.summary-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(212,168,75,.05) 0,transparent 50%);pointer-events:none}.summary-label{font-size:.9rem;color:rgba(245,240,232,.6);letter-spacing:.2em;margin-bottom:1rem}.summary-text{font-family:Ma Shan Zheng,cursive;font-size:3.5rem;color:var(--color-gold);text-shadow:0 0 40px rgba(212,168,75,.4);letter-spacing:.3em;margin-bottom:1.5rem;position:relative}.score-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.score-label{font-size:.85rem;color:rgba(245,240,232,.5);letter-spacing:.1em}.score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:100px;padding:.8rem 2rem;border-radius:50px;color:var(--color-ink);font-family:"Noto Serif SC",serif;font-size:1.8rem;font-weight:700;box-shadow:0 4px 20px rgba(0,0,0,.3)}.score-unit{font-size:1rem;margin-left:.3rem;opacity:.8}.element-card{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 2rem;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.3);border-radius:12px}.element-label{font-size:.9rem;color:rgba(245,240,232,.6);letter-spacing:.1em}.element-value{display:flex;align-items:center;gap:.8rem}.element-icon,.element-text{font-size:2rem}.element-text{font-family:Ma Shan Zheng,cursive;color:var(--color-gold)}.features-section{padding:2.5rem;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.2);border-radius:15px}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(212,168,75,.2)}.section-icon{font-size:1.5rem}.section-header h3{font-family:"Noto Serif SC",serif;font-size:1.4rem;color:var(--color-gold);letter-spacing:.15em;margin:0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem}.feature-card{position:relative;padding:1.5rem;background:rgba(212,168,75,.05);border:1px solid rgba(212,168,75,.15);border-radius:12px;transition:all .3s ease}.feature-card:hover{background:rgba(212,168,75,.1);border-color:rgba(212,168,75,.3);transform:translateY(-3px)}.feature-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.features-section .feature-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(212,168,75,.15);border-radius:8px;font-size:1.1rem;border:none}.feature-card h4{font-family:"Noto Serif SC",serif;font-size:1.1rem;color:var(--color-paper);margin:0;letter-spacing:.1em}.observation{font-size:.9rem;color:rgba(245,240,232,.6);margin-bottom:.8rem;padding-left:1rem;border-left:2px solid rgba(212,168,75,.3)}.interpretation{font-size:.95rem;color:rgba(245,240,232,.85);line-height:1.7}.fortune-section{padding:2.5rem;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.2);border-radius:15px}.fortune-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem}.fortune-card{position:relative;padding:2rem 1.5rem;background:linear-gradient(145deg,rgba(212,168,75,.1),rgba(212,168,75,.05));border:1px solid rgba(212,168,75,.25);border-radius:12px;text-align:center;transition:all .3s ease;overflow:hidden}.fortune-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);opacity:0;transition:opacity .3s ease}.fortune-card:hover{transform:translateY(-5px);border-color:rgba(212,168,75,.4)}.fortune-card:hover:before{opacity:1}.fortune-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.fortune-card h4{font-family:"Noto Serif SC",serif;font-size:1.2rem;color:var(--color-gold);margin-bottom:1rem;letter-spacing:.15em}.fortune-card p{font-size:.95rem;color:rgba(245,240,232,.8);line-height:1.8;text-align:left}.fortune-card.career{border-left:3px solid #3498db}.fortune-card.wealth{border-left:3px solid var(--color-gold)}.fortune-card.love{border-left:3px solid #e74c3c}.advice-section{position:relative;padding:2.5rem;background:linear-gradient(145deg,rgba(212,168,75,.08),rgba(26,26,46,.95));border:1px solid rgba(212,168,75,.3);border-radius:15px;overflow:hidden}.advice-section:before{content:'"';position:absolute;top:10px;left:20px;font-family:Ma Shan Zheng,cursive;font-size:6rem;color:rgba(212,168,75,.1);line-height:1}.advice-content{position:relative;display:flex;gap:2rem;align-items:flex-start}.advice-avatar{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-gold-dark),var(--color-gold));border-radius:50%;font-size:2.5rem;box-shadow:0 4px 20px rgba(212,168,75,.4)}.advice-text-wrapper{flex:1 1}.advice-label{font-family:Ma Shan Zheng,cursive;font-size:1.3rem;color:var(--color-gold);margin-bottom:1rem;letter-spacing:.2em}.advice-text{font-family:"Noto Serif SC",serif;font-size:1.15rem;color:rgba(245,240,232,.9);line-height:2;text-align:justify}.login-page{min-height:100vh;justify-content:center;padding:2rem;overflow:hidden}.login-container,.login-page{display:flex;align-items:center;position:relative}.login-container{flex-direction:column;gap:2rem;width:100%;max-width:450px;z-index:1}.login-decoration{position:fixed;inset:0;pointer-events:none;overflow:hidden}.decoration-circle{position:absolute;border-radius:50%;border:1px solid rgba(212,168,75,.1)}.circle-1{width:600px;height:600px;top:-200px;right:-200px;animation:rotate 60s linear infinite}.circle-2{width:400px;height:400px;bottom:-100px;left:-100px;animation:rotate 45s linear infinite reverse}.circle-3{width:300px;height:300px;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid rgba(212,168,75,.05);animation:pulse-ring 4s ease-in-out infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse-ring{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.1}}.login-card{width:100%;padding:3rem 2.5rem;background:linear-gradient(145deg,rgba(26,26,46,.95),rgba(22,33,62,.98));border:1px solid rgba(212,168,75,.3);border-radius:20px;box-shadow:0 25px 80px rgba(0,0,0,.5),inset 0 0 0 1px rgba(212,168,75,.1);position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100px;height:3px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent)}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(212,168,75,.2),rgba(212,168,75,.05));border:2px solid rgba(212,168,75,.4);border-radius:50%;position:relative}.login-logo:before{content:"";position:absolute;inset:-5px;border:1px solid rgba(212,168,75,.2);border-radius:50%;animation:pulse-ring 3s ease-in-out infinite}.logo-symbol{font-size:2.5rem;color:var(--color-gold);filter:drop-shadow(0 0 15px rgba(212,168,75,.5));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.login-title{font-family:Ma Shan Zheng,cursive;font-size:2.5rem;color:var(--color-gold);letter-spacing:.2em;margin:0 0 .5rem;text-shadow:0 0 30px rgba(212,168,75,.4)}.login-subtitle{font-family:"Noto Serif SC",serif;font-size:.95rem;color:rgba(245,240,232,.6);letter-spacing:.3em;margin:0}.login-divider{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.login-divider .divider-line{flex:1 1;height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,75,.3),transparent)}.divider-text{font-size:.85rem;color:rgba(245,240,232,.5);white-space:nowrap;letter-spacing:.1em}.login-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.login-btn{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding:1rem 1.5rem;border:1px solid rgba(212,168,75,.3);border-radius:12px;font-size:1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.login-btn:hover:before{left:100%}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn .btn-icon{flex-shrink:0}.login-btn .btn-text{font-family:Noto Sans SC,sans-serif;font-weight:500;letter-spacing:.05em}.google-btn{background:rgba(255,255,255,.95);color:#333}.google-btn:hover:not(:disabled){background:#fff;border-color:var(--color-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.2)}.github-btn{background:#24292e;color:#fff;border-color:#444}.github-btn:hover:not(:disabled){background:#2d3338;border-color:var(--color-gold);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.3)}.login-loading{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1rem;color:rgba(245,240,232,.7);font-size:.9rem}.loading-spinner{font-size:1.5rem;color:var(--color-gold);animation:spin 2s linear infinite}.login-error{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1rem;background:rgba(231,76,60,.15);border:1px solid rgba(231,76,60,.3);border-radius:8px;margin-bottom:1rem}.login-error .error-icon{color:#e74c3c}.login-error span:last-child{color:#e74c3c;font-size:.9rem}.login-footer{text-align:center;padding-top:1.5rem;border-top:1px solid rgba(212,168,75,.1)}.login-footer .footer-text{font-size:.8rem;color:rgba(245,240,232,.4);margin:0;line-height:1.6}.login-footer .footer-link{color:var(--color-gold);cursor:pointer;margin:0 .2rem;transition:opacity .3s ease}.login-footer .footer-link:hover{opacity:.8;text-decoration:underline}.login-bottom-decoration{display:flex;align-items:center;gap:1rem;color:rgba(245,240,232,.3);font-size:.85rem}.login-bottom-decoration .decoration-symbol{color:var(--color-gold);opacity:.5}.login-bottom-decoration .decoration-text{letter-spacing:.2em}.user-profile{position:relative}.profile-trigger{display:flex;align-items:center;gap:.8rem;padding:.5rem 1rem .5rem .5rem;background:rgba(212,168,75,.1);border:1px solid rgba(212,168,75,.3);border-radius:50px;cursor:pointer;transition:all .3s ease}.profile-trigger:hover{background:rgba(212,168,75,.15);border-color:var(--color-gold)}.avatar-wrapper{position:relative;width:36px;height:36px}.avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--color-gold)}.avatar-placeholder{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--color-gold-dark),var(--color-gold));color:var(--color-ink);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.avatar-placeholder.large{width:50px;height:50px;font-size:1.3rem}.avatar-status{position:absolute;bottom:0;right:0;width:10px;height:10px;background:#4caf50;border:2px solid var(--color-ink);border-radius:50%}.profile-name{color:var(--color-paper);font-size:.9rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:var(--color-gold);font-size:.8rem;transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.credits-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;color:var(--color-gold);font-weight:500}.profile-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:280px;background:linear-gradient(145deg,rgba(26,26,46,.98),rgba(22,33,62,.99));border:1px solid rgba(212,168,75,.3);border-radius:15px;box-shadow:0 15px 50px rgba(0,0,0,.4),inset 0 0 0 1px rgba(212,168,75,.1);overflow:hidden;animation:dropdown-appear .2s ease-out;z-index:1000}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;gap:1rem;padding:1.5rem;background:rgba(212,168,75,.05)}.dropdown-avatar{flex-shrink:0}.dropdown-avatar img{width:50px;height:50px;border-radius:50%;border:2px solid var(--color-gold)}.dropdown-info{display:flex;flex-direction:column;gap:.3rem;min-width:0}.dropdown-name{font-family:"Noto Serif SC",serif;font-size:1rem;font-weight:600;color:var(--color-paper)}.dropdown-email,.dropdown-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-email{font-size:.8rem;color:rgba(245,240,232,.6)}.dropdown-provider{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:rgba(245,240,232,.5);margin-top:.2rem}.dropdown-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,75,.3),transparent)}.dropdown-credits{padding:1rem;text-align:center}.dropdown-credits .credits-header{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.5rem}.dropdown-credits .credits-icon{font-size:1rem}.dropdown-credits .credits-label{color:var(--color-paper-muted);font-size:.8rem}.dropdown-credits .credits-detail{display:flex;align-items:baseline;justify-content:center;gap:.3rem;margin-bottom:.5rem}.dropdown-credits .credits-count{font-size:1.8rem;font-weight:600;color:var(--color-gold)}.dropdown-credits .credits-unit{color:var(--color-paper-muted);font-size:.85rem}.dropdown-credits .credits-free{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:.8rem}.dropdown-credits .free-tag{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;background:rgba(76,175,80,.15);border:1px solid rgba(76,175,80,.3);border-radius:10px;font-size:.7rem;color:#81c784}.buy-credits-btn{width:100%;padding:.6rem 1rem;background:linear-gradient(135deg,var(--color-gold-dark),var(--color-gold));border:none;border-radius:8px;color:var(--color-ink);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.buy-credits-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(212,168,75,.3)}.dropdown-menu{padding:.8rem}.dropdown-item{display:flex;align-items:center;gap:.8rem;width:100%;padding:.8rem 1rem;background:transparent;border:none;border-radius:8px;color:rgba(245,240,232,.8);font-size:.9rem;cursor:pointer;transition:all .2s ease}.dropdown-item:hover{background:rgba(212,168,75,.1);color:var(--color-paper)}.dropdown-item:disabled{opacity:.6;cursor:not-allowed}.item-icon{font-size:1.1rem;opacity:.7}.logout-item:hover{background:rgba(231,76,60,.15);color:#e74c3c}.logout-spinner{animation:spin 1s linear infinite}.auth-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.callback-content{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}.callback-spinner{position:relative;width:100px;height:100px}.spinner-outer{position:absolute;inset:0;border:2px solid rgba(212,168,75,.2);border-radius:50%;animation:spin 3s linear infinite}.spinner-inner{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:2px solid var(--color-gold);border-top:2px solid transparent;border-radius:50%;animation:spin 1.5s linear infinite reverse}.spinner-symbol{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;color:var(--color-gold);animation:pulse 1.5s ease-in-out infinite}.callback-text{font-family:"Noto Serif SC",serif;font-size:1.3rem;color:var(--color-paper);letter-spacing:.1em;margin:0}.callback-hint{font-size:.9rem;color:rgba(245,240,232,.5);margin:0}.callback-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.3);border-radius:15px}.callback-error .error-icon{font-size:3rem;color:#e74c3c}.callback-error p{margin:0;color:rgba(245,240,232,.9)}.redirect-hint{font-size:.85rem;color:rgba(245,240,232,.5)!important}.history-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.history-modal{width:90%;max-width:600px;max-height:80vh;background:linear-gradient(145deg,rgba(26,26,46,.98),rgba(22,33,62,.98));border-radius:20px;border:1px solid rgba(212,168,75,.3);box-shadow:0 25px 80px rgba(0,0,0,.5),0 0 40px rgba(212,168,75,.1);display:flex;flex-direction:column;animation:slideUp .4s ease}.history-header{justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid rgba(212,168,75,.2)}.history-header,.history-title{display:flex;align-items:center}.history-title{gap:.8rem;margin:0;font-family:"Noto Serif SC",serif;font-size:1.3rem;color:var(--color-gold);letter-spacing:.1em}.title-icon{font-size:1.5rem}.history-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(212,168,75,.3);border-radius:50%;color:rgba(245,240,232,.6);font-size:1rem;cursor:pointer;transition:all .3s ease}.history-close-btn:hover{background:rgba(212,168,75,.1);border-color:var(--color-gold);color:var(--color-gold)}.history-content{flex:1 1;overflow-y:auto;padding:1.5rem}.history-content::-webkit-scrollbar{width:6px}.history-content::-webkit-scrollbar-track{background:rgba(212,168,75,.1);border-radius:3px}.history-content::-webkit-scrollbar-thumb{background:rgba(212,168,75,.3);border-radius:3px}.history-content::-webkit-scrollbar-thumb:hover{background:rgba(212,168,75,.5)}.history-loading{color:rgba(245,240,232,.6)}.history-error,.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.history-error{text-align:center}.history-error .error-icon{font-size:2.5rem;margin-bottom:1rem}.history-error p{color:#e74c3c;margin:0 0 1rem}.retry-btn{padding:.6rem 1.5rem;background:transparent;border:1px solid rgba(212,168,75,.5);border-radius:8px;color:var(--color-gold);cursor:pointer;transition:all .3s ease}.retry-btn:hover{background:rgba(212,168,75,.1)}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.history-empty p{color:rgba(245,240,232,.7);margin:0}.empty-hint{font-size:.85rem;margin-top:.5rem!important;opacity:.5}.history-list{display:flex;flex-direction:column;gap:.8rem}.history-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:rgba(212,168,75,.05);border:1px solid rgba(212,168,75,.15);border-radius:12px;cursor:pointer;transition:all .3s ease}.history-item:hover{background:rgba(212,168,75,.1);border-color:rgba(212,168,75,.3);transform:translateX(5px)}.history-item .item-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(212,168,75,.2),rgba(212,168,75,.1));border-radius:10px;font-size:1.4rem;flex-shrink:0}.item-content{flex:1 1;min-width:0}.item-summary{font-size:.95rem;color:var(--color-paper);margin-bottom:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:rgba(245,240,232,.5)}.item-element{color:var(--color-gold);opacity:.8}.item-date{white-space:nowrap}.item-delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:8px;color:rgba(245,240,232,.4);font-size:.9rem;cursor:pointer;transition:all .3s ease;flex-shrink:0;opacity:0}.history-item:hover .item-delete-btn{opacity:1}.item-delete-btn:hover{background:rgba(199,58,43,.2);border-color:rgba(199,58,43,.3);color:#e74c3c}.item-delete-btn.deleting{opacity:.5;pointer-events:none}.history-footer{padding:1rem 2rem;border-top:1px solid rgba(212,168,75,.2);text-align:center}.history-count{margin:0;font-size:.85rem;color:rgba(245,240,232,.5)}@media (max-width:1024px){.result-main{grid-template-columns:1fr}.image-frame{max-width:400px;margin:0 auto}.fortune-grid{grid-template-columns:1fr}}@media (max-width:768px){.App-header{padding:1.5rem 1rem 2rem}.App-header h1{font-size:2.5rem;letter-spacing:.2em}.header-subtitle{font-size:.85rem;letter-spacing:.3em}.App-main{padding:2rem 1rem}.welcome-section h2{font-size:1.8rem}.welcome-description{font-size:1rem}.features-highlight{gap:2rem}.feature-icon{width:50px;height:50px;font-size:1.2rem}.footer-links{flex-direction:column;gap:1rem}.image-upload-container{max-width:100%}.upload-area-inner{padding:1.5rem}.upload-label{padding:3rem 1.5rem}.upload-icon-wrapper{width:80px;height:80px}.upload-icon{font-size:2.5rem}.upload-text-main{font-size:1.2rem}.upload-formats{flex-wrap:wrap;justify-content:center}.analyze-btn{padding:1rem 2rem;font-size:1.1rem}.preview-corner{width:20px;height:20px}.result-header{flex-direction:column;gap:1rem;text-align:center;padding:1.5rem}.result-header h2{font-size:1.6rem}.summary-text{font-size:2.5rem}.score-badge{font-size:1.4rem;padding:.6rem 1.5rem}.advice-section,.features-section,.fortune-section{padding:1.5rem}.features-grid{grid-template-columns:1fr}.advice-content{flex-direction:column;align-items:center}.advice-content,.advice-text{text-align:center}.element-card{flex-direction:column;gap:.8rem}.profile-name{display:none}.profile-trigger{padding:.4rem;border-radius:50%}.dropdown-arrow{display:none}.profile-dropdown{width:260px;right:-10px}.sign-in-btn{padding:.5rem 1rem;font-size:.85rem}.sign-in-btn .btn-text{display:none}.history-modal{width:95%;max-height:85vh}.history-header{padding:1.2rem 1.5rem}.history-title{font-size:1.1rem}.history-content{padding:1rem}.history-item{padding:.8rem 1rem}.history-item .item-icon{width:38px;height:38px;font-size:1.2rem}.item-meta{flex-direction:column;align-items:flex-start;gap:.3rem}.item-delete-btn{opacity:1}}@media (max-width:480px){.App-header h1{font-size:2rem}.features-highlight{flex-direction:column;gap:1.5rem}.upload-label{padding:2.5rem 1rem}.upload-text-main{font-size:1.1rem}.format-tag{font-size:.7rem;padding:.2rem .5rem}.btn-decoration{display:none}.auth-hint{flex-direction:column;text-align:center}.result-container{padding:0}.summary-card{padding:1.5rem}.summary-text{font-size:2rem;letter-spacing:.2em}.feature-card{padding:1rem}.fortune-card{padding:1.5rem 1rem}.advice-avatar{width:60px;height:60px;font-size:2rem}.login-page{padding:1rem}.login-card{padding:2rem 1.5rem}.login-title{font-size:2rem}.login-logo{width:70px;height:70px}.logo-symbol{font-size:2rem}.login-btn{padding:.9rem 1rem;font-size:.95rem}.login-btn .btn-icon{width:20px;height:20px}}body[data-locale=en]{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body[data-locale=en] .App-header h1{font-family:Playfair Display,serif;font-weight:600;letter-spacing:.1em}body[data-locale=en] .header-subtitle{font-family:Lora,serif;letter-spacing:.2em}body[data-locale=en] .welcome-section h2{font-family:Playfair Display,serif;letter-spacing:.05em}body[data-locale=en] .analyzing-text{font-family:Lora,serif;letter-spacing:.1em}body[data-locale=en] .loading-text{font-family:Lora,serif}body[data-locale=en] .footer-brand{font-family:Playfair Display,serif;letter-spacing:.1em}body[data-locale=en] .upload-text-main{font-family:Lora,serif}body[data-locale=en] .analyze-btn{font-family:Lora,serif;letter-spacing:.08em}body[data-locale=en] .result-header h2{font-family:Playfair Display,serif;letter-spacing:.1em}body[data-locale=en] .summary-label{letter-spacing:.1em}body[data-locale=en] .summary-text{font-family:Playfair Display,serif;font-size:2.5rem;letter-spacing:.05em}body[data-locale=en] .element-text{font-family:Playfair Display,serif;font-size:1.5rem}body[data-locale=en] .section-header h3{font-family:Lora,serif;letter-spacing:.08em}body[data-locale=en] .feature-card h4{font-family:Lora,serif}body[data-locale=en] .fortune-card h4{font-family:Lora,serif;letter-spacing:.08em}body[data-locale=en] .advice-label{font-family:Playfair Display,serif;letter-spacing:.1em}body[data-locale=en] .advice-text{font-family:Lora,serif}body[data-locale=en] .login-title{font-family:Playfair Display,serif;letter-spacing:.1em}body[data-locale=en] .login-subtitle{font-family:Lora,serif;letter-spacing:.15em}body[data-locale=en] .login-btn .btn-text{font-family:Inter,sans-serif}body[data-locale=en] .callback-text,body[data-locale=en] .dropdown-name,body[data-locale=en] .history-title,body[data-locale=en] .no-image-placeholder .placeholder-text{font-family:Lora,serif}body[data-locale=en] .score-badge{font-family:Playfair Display,serif}.header-actions{position:absolute;top:1.5rem;right:2rem;display:flex;align-items:center;gap:.8rem;z-index:10}.header-user{flex-shrink:0}.language-switcher{display:flex;gap:.5rem;background:rgba(212,168,75,.1);padding:.3rem;border-radius:8px;border:1px solid rgba(212,168,75,.2)}.lang-btn{padding:.4rem .8rem;background:transparent;border:none;border-radius:6px;color:rgba(245,240,232,.6);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .3s ease}.lang-btn:hover:not(:disabled){color:var(--color-gold);background:rgba(212,168,75,.1)}.lang-btn.active{background:var(--color-gold);color:var(--color-ink);cursor:default}.lang-btn:disabled{cursor:default}@media (max-width:768px){.header-actions{gap:.5rem}.language-switcher{padding:.2rem}.lang-btn{padding:.3rem .6rem;font-size:.75rem}}.legal-page{min-height:100vh;padding:2rem;position:relative;z-index:1}.legal-container{max-width:800px;margin:0 auto;background:rgba(26,26,46,.9);border:1px solid rgba(212,168,75,.2);border-radius:20px;padding:3rem 4rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legal-back{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-gold);text-decoration:none;font-size:.95rem;margin-bottom:2rem;transition:all .3s ease}.legal-back:hover{color:var(--color-gold-light);transform:translateX(-5px)}.legal-title{font-family:Ma Shan Zheng,cursive;font-size:2.5rem;color:var(--color-gold);margin-bottom:.5rem;letter-spacing:.1em}body[data-locale=en] .legal-title{font-family:Playfair Display,serif;letter-spacing:.05em}.legal-updated{color:rgba(245,240,232,.5);font-size:.9rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(212,168,75,.2)}.legal-section{margin-bottom:2rem}.legal-section h2{font-family:"Noto Serif SC",serif;font-size:1.3rem;color:var(--color-gold);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(212,168,75,.15)}body[data-locale=en] .legal-section h2{font-family:Lora,serif}.legal-section p{color:rgba(245,240,232,.85);line-height:1.8;margin-bottom:1rem}.legal-section ul{list-style:none;padding:0;margin:1rem 0}.legal-section li{color:rgba(245,240,232,.8);padding:.5rem 0 .5rem 1.5rem;position:relative;line-height:1.6}.legal-section li:before{content:"•";color:var(--color-gold);position:absolute;left:0;font-weight:700}.legal-warning{background:rgba(212,168,75,.1);border:1px solid rgba(212,168,75,.3);border-radius:10px;padding:1rem 1.5rem;margin:1rem 0;color:var(--color-gold)}.legal-ordered-list,.legal-section ol{list-style:none;padding:0;margin:1rem 0;counter-reset:step-counter}.legal-ordered-list li,.legal-section ol li{color:rgba(245,240,232,.8);padding:.5rem 0 .5rem 2rem;position:relative;line-height:1.6;counter-increment:step-counter}.legal-ordered-list li:before,.legal-section ol li:before{content:counter(step-counter) ".";color:var(--color-gold);position:absolute;left:0;font-weight:700}.legal-email{margin-top:1rem;padding:1rem;background:rgba(212,168,75,.1);border-radius:8px;color:rgba(245,240,232,.9)}.legal-email strong{color:var(--color-gold)}.about-hero{text-align:center;padding:2rem 0;margin-bottom:2rem;border-bottom:1px solid rgba(212,168,75,.2)}.about-logo{font-size:4rem;margin-bottom:1rem}.about-brand{font-family:Ma Shan Zheng,cursive;font-size:2.5rem;color:var(--color-gold);margin-bottom:.5rem}body[data-locale=en] .about-brand{font-family:Playfair Display,serif}.about-tagline{color:rgba(245,240,232,.7);font-size:1.1rem;letter-spacing:.2em}.about-features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem;margin:2rem 0}.about-feature{background:rgba(212,168,75,.05);border:1px solid rgba(212,168,75,.15);border-radius:12px;padding:1.5rem;text-align:center}.about-feature-icon{font-size:2rem;display:block;margin-bottom:.8rem}.about-feature h3{font-family:"Noto Serif SC",serif;color:var(--color-gold);font-size:1rem;margin-bottom:.5rem}body[data-locale=en] .about-feature h3{font-family:Lora,serif}.about-feature p{font-size:.85rem;color:rgba(245,240,232,.7);margin:0}@media (max-width:768px){.legal-container{padding:2rem 1.5rem;border-radius:15px}.legal-title{font-size:2rem}.legal-section h2{font-size:1.15rem}.about-features{grid-template-columns:1fr}}@media (max-width:480px){.legal-page{padding:1rem}.legal-container{padding:1.5rem 1rem}.legal-title{font-size:1.8rem}}.pdf-export-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,rgba(212,168,75,.2),rgba(212,168,75,.1));border:1px solid rgba(212,168,75,.4);border-radius:10px;color:var(--color-gold);font-size:.95rem;cursor:pointer;transition:all .3s ease}.pdf-export-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(212,168,75,.3),rgba(212,168,75,.2));transform:translateY(-2px);box-shadow:0 4px 15px rgba(212,168,75,.3)}.pdf-export-btn:disabled{opacity:.7;cursor:not-allowed}.pdf-icon{font-size:1.1rem}.pdf-spinner{display:inline-block;animation:spin 1s linear infinite}.pdf-content{width:794px;min-height:1123px;padding:40px;background:linear-gradient(180deg,#1a1a2e,#16213e 50%,#1a1a2e);color:var(--color-cream);font-family:"Noto Serif SC","Noto Serif",serif;position:absolute;left:-9999px;top:0}.pdf-header{text-align:center;padding-bottom:30px;border-bottom:2px solid rgba(212,168,75,.3);margin-bottom:30px}.pdf-logo{font-size:48px;margin-bottom:10px}.pdf-title{font-family:Ma Shan Zheng,cursive;font-size:36px;color:var(--color-gold);margin:0 0 8px;letter-spacing:.15em}body[data-locale=en] .pdf-title{font-family:Playfair Display,serif;letter-spacing:.05em}.pdf-subtitle{font-size:14px;color:rgba(245,240,232,.6);margin:0;letter-spacing:.2em}.pdf-date{margin-top:15px;font-size:12px;color:rgba(245,240,232,.5)}.pdf-main{display:flex;gap:30px;margin-bottom:30px}.pdf-photo-section{flex:0 0 200px}.pdf-photo{width:200px;height:200px;object-fit:cover;border-radius:10px;border:3px solid rgba(212,168,75,.4);box-shadow:0 4px 20px rgba(0,0,0,.3)}.pdf-summary-section{flex:1 1}.pdf-summary-card{background:rgba(26,26,46,.6);border:1px solid rgba(212,168,75,.2);border-radius:12px;padding:20px;margin-bottom:15px}.pdf-section-title{font-family:"Noto Serif SC",serif;font-size:16px;color:var(--color-gold);margin:0 0 12px;display:flex;align-items:center;gap:8px}body[data-locale=en] .pdf-section-title{font-family:Lora,serif}.pdf-summary-text{font-family:Ma Shan Zheng,cursive;font-size:28px;color:var(--color-gold);text-align:center;letter-spacing:.1em}body[data-locale=en] .pdf-summary-text{font-family:Playfair Display,serif;font-size:24px;letter-spacing:.02em}.pdf-score-row{display:flex;gap:15px}.pdf-element-card,.pdf-score-card{flex:1 1;background:rgba(26,26,46,.6);border:1px solid rgba(212,168,75,.2);border-radius:12px;padding:15px;text-align:center}.pdf-element-label,.pdf-score-label{display:block;font-size:12px;color:rgba(245,240,232,.6);margin-bottom:8px}.pdf-score-value{display:inline-block;font-size:32px;font-weight:700;color:#fff;padding:8px 20px;border-radius:8px}.pdf-score-unit{font-size:14px;margin-left:2px}.pdf-element-value{font-size:20px;color:var(--color-gold);display:flex;align-items:center;justify-content:center;gap:8px}.pdf-features-section{margin-bottom:30px}.pdf-features-section>.pdf-section-title{font-size:18px;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(212,168,75,.2)}.pdf-features-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:15px;gap:15px}.pdf-feature-card{background:rgba(26,26,46,.5);border:1px solid rgba(212,168,75,.15);border-radius:10px;padding:15px}.pdf-feature-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pdf-feature-icon{font-size:20px}.pdf-feature-header h3{font-size:14px;color:var(--color-gold);margin:0}.pdf-observation{font-size:12px;color:rgba(245,240,232,.7);margin:0 0 8px;line-height:1.5}.pdf-interpretation{font-size:12px;color:rgba(245,240,232,.9);margin:0;line-height:1.6;padding-left:10px;border-left:2px solid rgba(212,168,75,.3)}.pdf-fortune-section{margin-bottom:30px}.pdf-fortune-section>.pdf-section-title{font-size:18px;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(212,168,75,.2)}.pdf-fortune-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:15px;gap:15px}.pdf-fortune-card{background:rgba(26,26,46,.5);border:1px solid rgba(212,168,75,.15);border-radius:10px;padding:15px}.pdf-fortune-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pdf-fortune-header span{font-size:20px}.pdf-fortune-header h3{font-size:14px;color:var(--color-gold);margin:0}.pdf-fortune-card p{font-size:12px;color:rgba(245,240,232,.85);margin:0;line-height:1.6}.pdf-career{border-left:3px solid #4a90d9}.pdf-wealth{border-left:3px solid #d4a84b}.pdf-love{border-left:3px solid #e57373}.pdf-advice-section{margin-bottom:30px}.pdf-advice-card{display:flex;gap:20px;background:linear-gradient(135deg,rgba(212,168,75,.1),rgba(26,26,46,.8));border:1px solid rgba(212,168,75,.3);border-radius:12px;padding:20px}.pdf-advice-avatar{flex:0 0 60px;font-size:48px;text-align:center}.pdf-advice-content{flex:1 1}.pdf-advice-content h3{font-size:14px;color:var(--color-gold);margin:0 0 10px}.pdf-advice-content p{font-size:14px;color:rgba(245,240,232,.9);margin:0;line-height:1.8;font-style:italic}.pdf-footer{margin-top:30px;padding-top:20px;text-align:center}.pdf-footer-line{width:100px;height:2px;background:linear-gradient(90deg,transparent,rgba(212,168,75,.5),transparent);margin:0 auto 15px}.pdf-footer-text{font-size:12px;color:rgba(245,240,232,.5);margin:0 0 5px}.pdf-footer-disclaimer{font-size:10px;color:rgba(245,240,232,.4);margin:0}.header-nav{display:flex;justify-content:center;gap:.8rem;margin-top:1.2rem}.nav-tab{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:rgba(212,168,75,.08);border:1px solid rgba(212,168,75,.2);border-radius:25px;color:rgba(245,240,232,.6);text-decoration:none;font-size:.9rem;transition:all .3s ease}.nav-tab:hover{background:rgba(212,168,75,.15);border-color:rgba(212,168,75,.4);color:var(--color-gold)}.nav-tab.active{background:linear-gradient(135deg,var(--color-gold-dark) 0,var(--color-gold) 100%);border-color:var(--color-gold);color:var(--color-ink);font-weight:500}.nav-icon{font-size:1rem}.nav-text{letter-spacing:.05em}.relationship-welcome .features-highlight{gap:2rem}.relationship-welcome .feature-item{min-width:100px}.relationship-upload-container{max-width:900px;margin:0 auto;animation:fadeInUp .6s ease-out}.relationship-upload-form{display:flex;flex-direction:column;gap:2rem}.relationship-upload-zones{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:2rem;gap:2rem;align-items:start;margin-bottom:1rem}.relationship-upload-zone-container{display:flex;flex-direction:column;gap:1rem}.relationship-person-label{text-align:center;font-family:Ma Shan Zheng,cursive;font-size:1.2rem;color:var(--color-gold);letter-spacing:.15em}body[data-locale=en] .relationship-person-label{font-family:"Noto Serif SC",serif;font-size:1.1rem}.relationship-upload-zone{position:relative;min-height:280px;background:linear-gradient(145deg,rgba(26,26,46,.8),rgba(22,33,62,.9));border:2px dashed rgba(212,168,75,.3);border-radius:15px;cursor:pointer;transition:all .4s ease;overflow:hidden}.relationship-upload-zone.dragging,.relationship-upload-zone:hover{border-color:var(--color-gold);background:rgba(212,168,75,.08)}.relationship-upload-zone.has-preview{border-style:solid;border-color:rgba(212,168,75,.4)}.relationship-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2.5rem 1.5rem;min-height:280px;cursor:pointer}.relationship-upload-icon{font-size:3rem;opacity:.8}.relationship-upload-text{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.relationship-upload-text-main{font-family:"Noto Serif SC",serif;font-size:1.1rem;color:var(--color-paper);letter-spacing:.1em}.relationship-upload-text-sub{font-size:.85rem;color:rgba(245,240,232,.5)}.relationship-preview-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;height:100%}.relationship-preview-wrapper{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.4)}.relationship-preview-image{width:100%;max-height:220px;object-fit:cover;display:block}.relationship-change-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:transparent;color:rgba(245,240,232,.7);border:1px solid rgba(212,168,75,.3);border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .3s ease}.relationship-change-btn:hover{color:var(--color-gold);border-color:var(--color-gold);background:rgba(212,168,75,.1)}.relationship-vs-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:3rem}.relationship-vs-divider .vs-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-gold-dark) 0,var(--color-gold) 100%);border-radius:50%;font-size:1.8rem;box-shadow:0 4px 20px rgba(212,168,75,.4)}.relationship-type-selector{text-align:center}.relationship-type-title{font-size:1rem;color:rgba(245,240,232,.7);margin-bottom:1.2rem;letter-spacing:.1em}.relationship-type-options{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.relationship-type-btn{display:flex;align-items:center;gap:.6rem;padding:.8rem 1.5rem;background:rgba(26,26,46,.8);border:1px solid rgba(212,168,75,.3);border-radius:12px;color:rgba(245,240,232,.7);font-size:.95rem;cursor:pointer;transition:all .3s ease}.relationship-type-btn:hover{background:rgba(212,168,75,.1);border-color:rgba(212,168,75,.5);color:var(--color-paper)}.relationship-type-btn.active{background:linear-gradient(135deg,rgba(212,168,75,.2),rgba(212,168,75,.1));border-color:var(--color-gold);color:var(--color-gold)}.relationship-type-icon{font-size:1.2rem}.relationship-type-label{letter-spacing:.05em}.relationship-analyze-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.2rem 3rem;margin:0 auto;background:linear-gradient(135deg,var(--color-gold-dark) 0,var(--color-gold) 50%,var(--color-gold-dark) 100%);background-size:200% 200%;color:var(--color-ink);border:none;border-radius:12px;font-family:"Noto Serif SC",serif;font-size:1.2rem;font-weight:600;letter-spacing:.15em;cursor:pointer;transition:all .4s ease;box-shadow:0 4px 20px rgba(212,168,75,.4);overflow:hidden}.relationship-analyze-btn:hover{background-position:100% 50%;transform:translateY(-3px);box-shadow:0 8px 30px rgba(212,168,75,.5)}.relationship-consent-dialog{max-width:480px}.consent-third-party{display:flex;align-items:flex-start;gap:.8rem;margin-top:1.5rem;padding:1rem;background:rgba(212,168,75,.1);border:1px solid rgba(212,168,75,.2);border-radius:8px}.consent-third-party-icon{color:var(--color-gold);font-size:1rem;font-weight:700}.consent-third-party-text{font-size:.9rem;color:rgba(245,240,232,.9);line-height:1.6}.consent-dialog.relationship-consent{max-width:480px}.consent-checkbox-group{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(212,168,75,.2)}.consent-checkbox-item{display:flex;align-items:flex-start;gap:.8rem}.consent-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid rgba(212,168,75,.5);border-radius:4px;background:transparent;cursor:pointer;flex-shrink:0;margin-top:2px;transition:all .3s ease}.consent-checkbox:checked{background:var(--color-gold);border-color:var(--color-gold)}.consent-checkbox:checked:after{content:"✓";display:flex;align-items:center;justify-content:center;color:var(--color-ink);font-size:.8rem;font-weight:700}.consent-checkbox-label{font-size:.9rem;color:rgba(245,240,232,.8);line-height:1.6}.relationship-result-container{max-width:1000px}.relationship-photos-section{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:2rem;gap:2rem;align-items:start;margin-bottom:2.5rem}.relationship-photo-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.relationship-photo-container .image-frame{width:100%;max-width:280px}.relationship-photo-container .result-image{aspect-ratio:3/4;object-fit:cover}.person-label{font-family:"Noto Serif SC",serif;font-size:1rem;color:var(--color-gold);letter-spacing:.1em;text-align:center}.person-summary{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.element-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:rgba(212,168,75,.15);border:1px solid rgba(212,168,75,.3);border-radius:20px;font-size:.85rem;color:var(--color-gold)}.summary-text{font-size:.9rem;color:rgba(245,240,232,.7);line-height:1.6;max-width:200px}.relationship-vs-display{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:3rem}.vs-circle{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(212,168,75,.2),rgba(212,168,75,.1));border:2px solid var(--color-gold);border-radius:50%;box-shadow:0 0 30px rgba(212,168,75,.3)}.vs-circle .vs-icon{font-size:2rem}.vs-type-label{font-size:.85rem;color:rgba(245,240,232,.6);letter-spacing:.05em}.compatibility-score-section{display:flex;justify-content:center;margin-bottom:2.5rem}.score-card{text-align:center;padding:2.5rem 4rem;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.3);border-radius:20px;position:relative;overflow:hidden}.score-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(212,168,75,.08) 0,transparent 50%);pointer-events:none}.score-display-large{margin:1.5rem 0}.score-badge-large{display:inline-flex;align-items:baseline;justify-content:center;padding:1rem 2.5rem;border-radius:60px;color:var(--color-ink);font-family:"Noto Serif SC",serif;font-size:3rem;font-weight:700;box-shadow:0 6px 30px rgba(0,0,0,.3)}.score-badge-large .score-unit{font-size:1.2rem;margin-left:.3rem;opacity:.9}.compatibility-level{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.level-icon{font-size:1.2rem}.level-text{font-family:Ma Shan Zheng,cursive;font-size:1.5rem;color:var(--color-gold);letter-spacing:.2em}body[data-locale=en] .level-text{font-family:Playfair Display,serif;letter-spacing:.05em}.five-elements-section{padding:2.5rem;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.2);border-radius:15px;margin-bottom:2rem}.five-elements-content{display:flex;flex-direction:column;gap:2rem}.elements-visual{justify-content:center;gap:2rem}.element-item,.elements-visual{display:flex;align-items:center}.element-item{flex-direction:column;gap:.5rem}.element-icon-large{font-size:3rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}.element-name{font-family:Ma Shan Zheng,cursive;font-size:1.3rem;color:var(--color-gold);letter-spacing:.1em}body[data-locale=en] .element-name{font-family:"Noto Serif SC",serif;font-size:1.1rem}.element-interaction{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem 2rem;background:rgba(212,168,75,.1);border-radius:10px}.interaction-icon{font-size:2rem}.interaction-text{font-size:.9rem;color:var(--color-gold);letter-spacing:.05em}.elements-interpretation{text-align:center;font-size:1rem;color:rgba(245,240,232,.8);line-height:1.8;padding:0 1rem}.personality-section{padding:2.5rem;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.2);border-radius:15px;margin-bottom:2rem}.personality-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.personality-card{padding:1.5rem;background:rgba(212,168,75,.05);border:1px solid rgba(212,168,75,.2);border-radius:12px}.personality-card .card-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(212,168,75,.15)}.personality-card .card-icon{font-size:1.3rem}.personality-card h4{font-family:"Noto Serif SC",serif;font-size:1.1rem;color:var(--color-gold);margin:0;letter-spacing:.1em}.traits-list{list-style:none;padding:0;margin:0}.traits-list li{position:relative;padding:.5rem 0 .5rem 1.5rem;font-size:.95rem;color:rgba(245,240,232,.8);line-height:1.6}.traits-list li:before{content:"•";position:absolute;left:0;color:var(--color-gold)}.personality-card.complementary .traits-list li:before{content:"✦";color:#4caf50}.personality-card.conflicts .traits-list li:before{content:"○";color:#ffc107}.traits-list li.no-conflicts{color:rgba(245,240,232,.5);font-style:italic}.harmony-points{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:rgba(212,168,75,.1);border-radius:12px;border-left:3px solid var(--color-gold)}.harmony-icon{font-size:2rem;flex-shrink:0}.harmony-text{font-size:1rem;color:rgba(245,240,232,.85);line-height:1.8;margin:0}.relationship-advice-section{padding:2.5rem;background:linear-gradient(145deg,rgba(26,26,46,.9),rgba(22,33,62,.95));border:1px solid rgba(212,168,75,.2);border-radius:15px;margin-bottom:2rem}.advice-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem}.advice-card{padding:1.5rem;background:rgba(212,168,75,.05);border:1px solid rgba(212,168,75,.15);border-radius:12px;text-align:center;transition:all .3s ease}.advice-card:hover{background:rgba(212,168,75,.1);transform:translateY(-3px)}.advice-card .advice-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.advice-card h4{font-family:"Noto Serif SC",serif;font-size:1.1rem;color:var(--color-gold);margin-bottom:1rem;letter-spacing:.1em}.advice-card p{font-size:.95rem;color:rgba(245,240,232,.8);line-height:1.7;margin:0;text-align:left}.advice-card.strengths{border-top:3px solid #4caf50}.advice-card.growth{border-top:3px solid #ffc107}.advice-card.communication{border-top:3px solid #3498db}.master-blessing-section{background:linear-gradient(145deg,rgba(212,168,75,.1),rgba(26,26,46,.95))}.master-blessing-section .advice-content{text-align:center;flex-direction:column;align-items:center}.master-blessing-section .advice-avatar{margin-bottom:1rem}.master-blessing-section .advice-text-wrapper{max-width:700px}.master-blessing-section .advice-text{font-size:1.1rem;text-align:center}@media (max-width:900px){.relationship-upload-zones{grid-template-columns:1fr;gap:1.5rem}.relationship-vs-divider{flex-direction:row;padding:1rem 0}.relationship-vs-divider .vs-icon{width:50px;height:50px;font-size:1.4rem}.relationship-photos-section{grid-template-columns:1fr;gap:1.5rem}.relationship-vs-display{flex-direction:row;padding:1rem 0;gap:1rem}.vs-circle{width:60px;height:60px}.advice-grid,.personality-grid{grid-template-columns:1fr}.elements-visual{flex-direction:column;gap:1.5rem}.element-interaction{width:100%;flex-direction:row;justify-content:center}}@media (max-width:768px){.header-nav{margin-top:1rem;flex-wrap:wrap;justify-content:center}.nav-tab{padding:.5rem 1rem;font-size:.85rem}.nav-icon{font-size:.9rem}.relationship-type-options{gap:.8rem}.relationship-type-btn{padding:.6rem 1rem;font-size:.85rem}.relationship-upload-zone{min-height:220px}.relationship-upload-label{min-height:220px;padding:2rem 1rem}.score-card{padding:2rem}.score-badge-large{font-size:2.5rem;padding:.8rem 2rem}.level-text{font-size:1.2rem}.five-elements-section,.personality-section,.relationship-advice-section{padding:1.5rem}.element-icon-large{font-size:2.5rem}.harmony-points{flex-direction:column;text-align:center;gap:.8rem}}@media (max-width:480px){.relationship-upload-zone{min-height:180px}.relationship-upload-label{min-height:180px;padding:1.5rem 1rem;gap:1rem}.relationship-upload-icon{font-size:2.2rem}.relationship-upload-text-main{font-size:1rem}.relationship-consent-dialog{width:95%}.score-badge-large{font-size:2rem;padding:.6rem 1.5rem}.advice-card .advice-icon{font-size:2rem}.relationship-analyze-btn{padding:1rem 2rem;font-size:1rem}}.pricing-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}.pricing-modal{background:var(--gradient-card);border-radius:20px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-elevated);animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.pricing-modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;background:rgba(0,0,0,.1);border-radius:50%;font-size:1.5rem;cursor:pointer;color:var(--color-ink);transition:all .3s ease;display:flex;align-items:center;justify-content:center}.pricing-modal-close:hover{background:rgba(0,0,0,.2);transform:rotate(90deg)}.pricing-modal-header{text-align:center;padding:2rem 2rem 1rem;border-bottom:1px solid rgba(212,168,75,.2)}.pricing-modal-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.pricing-modal-header h2{color:var(--color-ink);font-size:1.8rem;margin-bottom:.5rem}.pricing-modal-subtitle{color:#666;font-size:1rem}.pricing-promo-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:white;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;margin-top:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pricing-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.5rem;gap:1.5rem;padding:2rem}.pricing-card{background:white;border-radius:16px;padding:1.5rem;text-align:center;position:relative;border:2px solid transparent;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.08)}.pricing-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.pricing-card.highlighted{border-color:var(--color-gold);background:linear-gradient(135deg,#fffbf0,#fff9e6)}.pricing-card.highlighted:before{content:"推荐";position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--gradient-gold);color:var(--color-ink);padding:.3rem 1rem;border-radius:10px;font-size:.75rem;font-weight:600}.pricing-discount-tag{position:absolute;top:1rem;right:1rem;background:#ff6b6b;color:white;padding:.25rem .5rem;border-radius:8px;font-size:.7rem;font-weight:600}.pricing-card-icon{font-size:2.5rem;margin-bottom:.5rem}.pricing-card-name{color:var(--color-ink);font-size:1.2rem;margin-bottom:.5rem}.pricing-card-desc{color:#666;font-size:.85rem;margin-bottom:1rem;min-height:40px}.pricing-card-price{margin-bottom:.5rem}.price-current{font-size:2rem;font-weight:700;color:var(--color-ink)}.price-original{font-size:1rem;color:#999;text-decoration:line-through;margin-left:.5rem}.pricing-card-credits{color:var(--color-gold-dark);font-size:.9rem;font-weight:600;margin-bottom:1rem}.pricing-buy-btn{width:100%;padding:.8rem 1.5rem;border:none;border-radius:10px;background:var(--gradient-gold);color:var(--color-ink);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.pricing-buy-btn:hover:not(:disabled){transform:scale(1.02);box-shadow:var(--shadow-gold)}.pricing-buy-btn:disabled{opacity:.6;cursor:not-allowed}.pricing-buy-btn .loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn-arrow{transition:transform .3s ease}.pricing-buy-btn:hover .btn-arrow{transform:translateX(5px)}.pricing-error{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fff5f5;color:#c53030;padding:1rem;margin:0 2rem;border-radius:10px;font-size:.9rem}.pricing-footer{text-align:center;padding:1.5rem 2rem 2rem;border-top:1px solid rgba(212,168,75,.2)}.pricing-secure{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--color-jade);font-size:.9rem;margin-bottom:.5rem}.pricing-terms{color:#999;font-size:.75rem}.pricing-links-divider{color:#666}.pricing-link{color:#d4a84b;text-decoration:none;transition:color .2s ease}.pricing-link:hover{color:#e8c06a;text-decoration:underline}.credits-display{align-items:center;padding:.5rem 1rem;background:rgba(212,168,75,.15);border-radius:20px;font-size:.85rem;color:var(--color-gold)}.credits-display .credits-icon{font-size:1rem}.credits-display .credits-count{font-weight:600}.purchase-prompt{background:linear-gradient(135deg,#fff9e6,#fffbf0);border:1px solid var(--color-gold);border-radius:12px;padding:1.5rem;text-align:center;margin:1rem 0}.purchase-prompt-title{color:var(--color-ink);font-size:1.1rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.purchase-prompt-desc{color:#666;font-size:.9rem;margin-bottom:1rem}.purchase-prompt-btn{padding:.8rem 2rem;border:none;border-radius:10px;background:var(--gradient-gold);color:var(--color-ink);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.purchase-prompt-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-gold)}@media (max-width:768px){.pricing-modal{max-height:95vh}.pricing-options{grid-template-columns:1fr;padding:1rem}.pricing-modal-header{padding:1.5rem 1rem 1rem}.pricing-modal-header h2{font-size:1.5rem}.pricing-card.highlighted:before{content:"⭐ 推荐"}}.payment-result-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.payment-result-container{background:var(--gradient-card);border-radius:20px;padding:3rem;max-width:500px;width:100%;text-align:center;box-shadow:var(--shadow-elevated);border:1px solid rgba(212,168,75,.3)}.payment-result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.5rem;font-weight:700}.payment-result-icon.success{background:linear-gradient(135deg,#2d8659,#3da36d);color:white;box-shadow:0 8px 30px rgba(45,134,89,.4)}.payment-result-icon.failed{background:linear-gradient(135deg,#e74c3c,#c0392b);color:white;box-shadow:0 8px 30px rgba(231,76,60,.4)}.payment-result-title{font-size:1.8rem;color:var(--color-ink);margin-bottom:.75rem;font-weight:700}.payment-result-message{color:#666;font-size:1rem;margin-bottom:2rem;line-height:1.6}.payment-result-details{background:rgba(212,168,75,.1);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid rgba(212,168,75,.2)}.credits-display{display:flex;flex-direction:column;gap:.5rem}.credits-label{color:#888;font-size:.9rem}.credits-value{font-size:2.5rem;font-weight:700;color:var(--color-gold-dark)}.loading-dots{animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%,20%{opacity:.3}50%{opacity:1}80%,to{opacity:.3}}.payment-result-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.payment-result-actions .btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;background:var(--gradient-gold);color:var(--color-ink);border-radius:12px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .3s ease;box-shadow:var(--shadow-gold)}.payment-result-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(212,168,75,.5)}.payment-result-actions .btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;background:transparent;color:var(--color-gold-dark);border:2px solid var(--color-gold);border-radius:12px;font-weight:600;font-size:.95rem;text-decoration:none;transition:all .3s ease}.payment-result-actions .btn-secondary:hover{background:rgba(212,168,75,.1)}.payment-result-note{color:#999;font-size:.85rem}.payment-result-reasons{background:rgba(231,76,60,.05);border-radius:12px;padding:1.25rem;margin-bottom:2rem;text-align:left;border:1px solid rgba(231,76,60,.2)}.payment-result-reasons .reasons-title{color:#666;font-size:.9rem;margin-bottom:.75rem;font-weight:500}.payment-result-reasons ul{list-style:none;padding:0;margin:0}.payment-result-reasons li{color:#888;font-size:.85rem;padding:.25rem 0 .25rem 1.25rem;position:relative}.payment-result-reasons li:before{content:"•";position:absolute;left:0;color:var(--color-vermilion)}.payment-result-support{color:#999;font-size:.85rem}.payment-result-support a{color:var(--color-gold-dark);text-decoration:none}.payment-result-support a:hover{text-decoration:underline}@media (max-width:480px){.payment-result-container{padding:2rem 1.5rem}.payment-result-icon{width:70px;height:70px;font-size:2rem}.payment-result-title{font-size:1.5rem}.credits-value{font-size:2rem}}.payment-toast{position:fixed;top:80px;left:50%;transform:translateX(-50%);padding:1rem 2rem;border-radius:12px;display:flex;align-items:center;gap:.75rem;font-weight:600;z-index:1000;animation:slideDown .3s ease-out;box-shadow:0 8px 30px rgba(0,0,0,.3)}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.payment-toast.success{background:linear-gradient(135deg,#2d8659,#3da36d);color:white}.payment-toast.verifying{background:linear-gradient(135deg,#3498db,#2980b9);color:white}.payment-toast .toast-icon{font-size:1.25rem}.credits-banner{background:linear-gradient(135deg,rgba(212,168,75,.15),rgba(212,168,75,.05));border-bottom:1px solid rgba(212,168,75,.2);padding:.75rem 1.5rem}.credits-info{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:.5rem}.credits-icon{font-size:1.1rem}.credits-text{display:flex;align-items:center;gap:1rem;font-size:.9rem}.free-badge{background:linear-gradient(135deg,var(--color-jade),#3da36d);color:white;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.paid-credits{color:var(--color-gold);font-weight:600}.no-credits{color:rgba(255,255,255,.6)}@media (max-width:480px){.credits-banner{padding:.5rem 1rem}.credits-text{font-size:.8rem;gap:.5rem}.free-badge{font-size:.75rem;padding:.2rem .5rem}}