:root{--bg:#0a0a0f;--bg-deep:#0e0e18;--bg-card:hsla(0,0%,100%,.04);--bg-card-solid:#12121a;--border:hsla(39,46%,61%,.15);--border-hover:hsla(39,46%,61%,.35);--text:#e8e6e3;--text-muted:#8a8a9a;--accent:#c9a96e;--accent-bright:#e8d5a3;--accent-dim:#8b7340;--accent-glow:hsla(39,46%,61%,.25);--danger:#e74c3c;--success:#2ecc71;--glass-blur:16px;--glass-bg:hsla(0,0%,100%,.05);--glass-border:hsla(39,46%,61%,.18)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans TC,"Noto Serif TC",Georgia,sans-serif;background:linear-gradient(160deg,var(--bg) 0,var(--bg-deep) 50%,#0a0a12 100%);color:var(--text);min-height:100vh;position:relative;overflow-x:hidden}body:before{background-image:radial-gradient(1.2px 1.2px at 10% 15%,hsla(0,0%,100%,.5) 50%,transparent 0),radial-gradient(1px 1px at 25% 35%,hsla(0,0%,100%,.35) 50%,transparent 0),radial-gradient(1.5px 1.5px at 40% 8%,hsla(0,0%,100%,.45) 50%,transparent 0),radial-gradient(.8px .8px at 55% 52%,hsla(0,0%,100%,.3) 50%,transparent 0),radial-gradient(1.2px 1.2px at 70% 20%,hsla(0,0%,100%,.4) 50%,transparent 0),radial-gradient(1px 1px at 85% 65%,hsla(0,0%,100%,.35) 50%,transparent 0),radial-gradient(1.3px 1.3px at 15% 75%,hsla(0,0%,100%,.3) 50%,transparent 0),radial-gradient(.9px .9px at 50% 90%,hsla(0,0%,100%,.25) 50%,transparent 0),radial-gradient(1.1px 1.1px at 92% 42%,hsla(0,0%,100%,.4) 50%,transparent 0),radial-gradient(1px 1px at 35% 60%,hsla(0,0%,100%,.3) 50%,transparent 0),radial-gradient(.7px .7px at 78% 85%,hsla(0,0%,100%,.2) 50%,transparent 0),radial-gradient(1.4px 1.4px at 5% 45%,hsla(39,46%,61%,.3) 50%,transparent 0),radial-gradient(1px 1px at 60% 30%,hsla(39,46%,61%,.2) 50%,transparent 0),radial-gradient(.8px .8px at 45% 70%,hsla(0,0%,100%,.25) 50%,transparent 0),radial-gradient(1.2px 1.2px at 20% 95%,hsla(0,0%,100%,.3) 50%,transparent 0);animation:twinkle 8s ease-in-out infinite alternate}body:after,body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}body:after{background-image:radial-gradient(1px 1px at 18% 28%,hsla(0,0%,100%,.3) 50%,transparent 0),radial-gradient(1.3px 1.3px at 33% 82%,hsla(0,0%,100%,.35) 50%,transparent 0),radial-gradient(.9px .9px at 62% 15%,hsla(0,0%,100%,.4) 50%,transparent 0),radial-gradient(1.1px 1.1px at 88% 55%,hsla(0,0%,100%,.25) 50%,transparent 0),radial-gradient(1px 1px at 42% 45%,hsla(39,46%,61%,.25) 50%,transparent 0),radial-gradient(.8px .8px at 73% 72%,hsla(0,0%,100%,.3) 50%,transparent 0),radial-gradient(1.5px 1.5px at 8% 60%,hsla(0,0%,100%,.2) 50%,transparent 0),radial-gradient(1px 1px at 95% 10%,hsla(0,0%,100%,.35) 50%,transparent 0);animation:twinkle 12s ease-in-out 4s infinite alternate}@keyframes twinkle{0%{opacity:.6}50%{opacity:1}to{opacity:.5}}body>*{position:relative;z-index:1}h1,h2,h3{font-weight:600;color:var(--accent-bright)}h1{font-family:"Noto Serif TC",Georgia,serif;letter-spacing:.05em}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-bright)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;margin-bottom:2rem;transition:border-color .3s,box-shadow .3s}.glass-card:hover{border-color:var(--border-hover);box-shadow:0 0 20px hsla(39,46%,61%,.08)}button,input,select{font-family:inherit;font-size:1rem}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],input[type=time],select{background:hsla(0,0%,100%,.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text);padding:.65rem .85rem;border-radius:10px;width:100%;transition:border-color .3s,box-shadow .3s}select option{background:#12121a;color:#e8e6e3}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=text]:focus,input[type=time]:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 12px hsla(39,46%,61%,.2)}button{cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.5rem;font-weight:600;transition:all .3s}button:disabled{opacity:.5;cursor:not-allowed}.btn-gold{background:linear-gradient(135deg,#c9a96e,#e8d5a3 50%,#c9a96e);color:#0a0e27;font-weight:700;border:none;border-radius:10px;padding:.8rem 2rem;font-size:1rem;cursor:pointer;transition:all .3s;box-shadow:0 2px 10px hsla(39,46%,61%,.2)}.btn-gold:hover{box-shadow:0 4px 20px hsla(39,46%,61%,.4);transform:translateY(-1px)}.btn-gold:active{transform:translateY(0)}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:10px;padding:.6rem 1.5rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-outline:hover{background:hsla(39,46%,61%,.1);box-shadow:0 0 12px hsla(39,46%,61%,.15)}.data-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.75rem}.data-table th{background:hsla(39,46%,61%,.1);color:var(--accent-bright);font-weight:600;padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--glass-border)}.data-table td{padding:.45rem .75rem;border-bottom:1px solid hsla(0,0%,100%,.04);color:var(--text)}.data-table tr:hover td{background:hsla(39,46%,61%,.06)}.badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:.75rem;font-weight:600}.badge-domicile{background:rgba(46,204,113,.2);color:#2ecc71}.badge-exalt{background:rgba(52,152,219,.2);color:#3498db}.badge-neutral{background:hsla(240,7%,57%,.15);color:#8a8a9a}.badge-detriment{background:rgba(243,156,18,.2);color:#f39c12}.badge-fall{background:rgba(231,76,60,.2);color:#e74c3c}.glossary-toggle{background:transparent;border:1px solid var(--border);color:var(--accent);width:100%;text-align:left;padding:.75rem 1rem;font-size:.95rem;cursor:pointer;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.glossary-toggle:hover{background:hsla(39,46%,61%,.05)}.glossary-content{padding:1rem;font-size:.85rem;line-height:1.8;border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px}.glossary-content dt{color:var(--accent);font-weight:600;margin-top:.5rem}.glossary-content dd{color:var(--text-muted);margin-left:1rem;margin-bottom:.25rem}.interpretation h3{margin-top:2.5rem;margin-bottom:.25rem;font-size:1.15rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.interpretation h3:first-child{margin-top:0}.explain-row td{border-top:1px solid var(--accent-dim)!important;border-bottom:1px solid var(--accent-dim)!important}.interpretation em{display:block;color:var(--text-muted);font-size:.85rem;margin-bottom:.75rem;font-style:italic}.interpretation p{margin-bottom:1rem;line-height:1.8;color:var(--text)}.interpretation ol,.interpretation ul{margin-bottom:1rem;padding-left:1.5rem;line-height:1.8}.interpretation li{margin-bottom:.5rem}.interpretation strong{color:var(--accent)}.interpretation blockquote{margin:2rem 0 1rem;padding:1.25rem 1.5rem;background:hsla(39,46%,61%,.08);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;font-size:1.05rem;line-height:1.9;color:var(--accent);font-weight:500;font-style:italic}.interpretation blockquote p{color:var(--accent);margin-bottom:0}.interpretation hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.top-nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;justify-content:space-between;padding:.75rem 2rem;background:rgba(10,10,15,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid hsla(39,46%,61%,.12)}.top-nav,.top-nav .nav-logo{display:flex;align-items:center}.top-nav .nav-logo{gap:.5rem;font-family:"Noto Serif TC",serif;font-size:1.15rem;font-weight:700;color:var(--accent-bright);letter-spacing:.05em}.top-nav .nav-logo img,.top-nav .nav-logo svg{width:28px;height:28px}.top-nav .nav-links{display:flex;align-items:center;gap:1.5rem}.top-nav .nav-links a{color:var(--text-muted);font-size:.9rem;font-weight:500;transition:color .2s}.top-nav .nav-links a.active,.top-nav .nav-links a:hover{color:var(--accent-bright)}.top-nav .nav-auth-btn{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:.4rem 1.2rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s}.top-nav .nav-auth-btn:hover{background:hsla(39,46%,61%,.1);box-shadow:0 0 10px hsla(39,46%,61%,.15)}.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:4px;background:none;border:none}.hamburger span{display:block;width:22px;height:2px;background:var(--accent);border-radius:1px;transition:all .3s}@media (max-width:768px){.hamburger{display:flex}.top-nav .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:rgba(10,10,15,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1rem 2rem;gap:.75rem;border-bottom:1px solid var(--glass-border)}.top-nav .nav-links.open{display:flex}}.site-footer{margin-top:4rem;padding:2.5rem 2rem 1.5rem;border-top:1px solid hsla(39,46%,61%,.12);background:rgba(10,10,15,.5)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:2rem;gap:2rem;max-width:900px;margin:0 auto 2rem}.footer-col h4{color:var(--accent);font-size:.85rem;font-weight:600;margin-bottom:.75rem;letter-spacing:.05em}.footer-col a,.footer-col p{display:block;color:var(--text-muted);font-size:.8rem;margin-bottom:.4rem;transition:color .2s}.footer-col a:hover{color:var(--accent-bright)}.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid hsla(0,0%,100%,.05);color:var(--text-muted);font-size:.75rem}.locked-card{position:relative;overflow:hidden;border-radius:16px}.locked-card .locked-blur{filter:blur(8px);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.locked-card .locked-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(10,10,15,.5);z-index:2}.locked-card .lock-icon{font-size:2rem;margin-bottom:.5rem;opacity:.6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s ease-out both}@media print{@page{margin:1.5cm;margin-top:1cm;margin-bottom:1cm}body{background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print,.site-footer,.top-nav,[style*="rgba(46, 204, 113"],body:after,body:before,button,form,header,input,nav,select{display:none!important}*{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#chart-result-area{color:#111!important;max-width:100%!important}#chart-result-area *{color:#111!important;border-color:#ccc!important}#chart-result-area h1,#chart-result-area h2,#chart-result-area h3{color:#222!important;font-weight:700!important}[style*=background],[style*=bg-card]{background:#fff!important}#personal-info-card,#personal-info-card>div{display:block!important;visibility:visible!important;background:#f9f7f2!important;border:2px solid #999!important;padding:12pt!important;margin-bottom:12pt!important;page-break-after:avoid;page-break-inside:avoid}#personal-info-card>div{border:none!important;padding:0!important;margin-bottom:0!important}#personal-info-card h2{color:#333!important;font-size:14pt!important}#personal-info-card div{color:#333!important}#personal-info-card span{color:#666!important}#personal-info-card strong{color:#111!important}table{border-collapse:collapse;width:100%!important;font-size:10pt!important}td,th{border:1px solid #ccc!important;padding:4px 6px!important;color:#111!important;word-break:break-word}th{background:#f5f5f5!important;font-weight:700!important}tr{page-break-inside:avoid}h2,h3{page-break-after:avoid}.dignity-badge{border:1px solid #666!important;padding:2px 6px!important}#chart-result-area:before{content:"七政四餘 命盤報告";display:block;text-align:center;font-size:18pt;font-weight:700;color:#222!important;margin-bottom:12pt;padding-bottom:8pt;border-bottom:2px solid #333}#chart-result-area .no-print{display:none!important}}