@import "https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600;700&family=Noto+Sans+TC:wght@300;400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg-primary:#ecead8;--bg-secondary:#e2e0cf;--bg-card:#f6f3e3;--bg-card-hover:#f1eed8;--bg-elevated:#e6e3cf;--bg-tint:#f0eddb;--border-subtle:#14110e1a;--border-rule:#14110e4d;--border-accent:#14110e8c;--text-primary:#14110e;--text-secondary:#3a342c;--text-muted:#6e6657;--text-faint:#9a917f;--vermillion:#8a2010;--vermillion-deep:#6a1808;--vermillion-soft:#8a201014;--oolong:#8a7820;--oolong-soft:#8a78201a;--star-major:#6a1808;--star-auspicious:#2a2418;--star-malefic:#4a3428;--star-romance:#5a2848;--mutagen-0:#8a2010;--mutagen-1:#1a3068;--mutagen-2:#1a5828;--mutagen-3:#1a1510;--font-display:"Noto Serif TC", Georgia, serif;--font-body:"Noto Sans TC", sans-serif;--font-mono:"IBM Plex Mono", monospace;--font-num:"IBM Plex Mono", monospace;--shadow-card:none;--shadow-seal:none;--radius-sm:0px;--radius:0px;--radius-lg:0px;--nav-bg:var(--bg-primary);--nav-border:var(--text-primary);--nav-h1-deco:transparent;--submit-bg:var(--text-primary);--submit-hover:var(--vermillion);--scope-active-bg:var(--text-primary);--scope-active-color:var(--bg-card);--tab-active-color:var(--vermillion);--tab-active-border:var(--vermillion);--fate-bg:var(--text-primary);--fate-color:var(--bg-primary);--palace-focused-bg:var(--vermillion-soft);--palace-focused-border:var(--vermillion);--palace-opposite-bg:var(--bg-tint);--palace-opposite-border:var(--text-primary);--palace-surround-bg:var(--bg-tint);--palace-surround-border:var(--border-rule);--card-title-deco:var(--vermillion);--analysis-border:var(--text-primary);--mutagen-tag-bg:transparent;--mutagen-tag-color:var(--vermillion);--mutagen-tag-border:var(--vermillion);--range-badge-bg:transparent;--range-badge-color:var(--text-primary);--range-badge-border:var(--border-rule)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);font-feature-settings:"kern", "palt";line-height:1.65}#root{width:100%;max-width:100%}.top-nav{border-bottom:2px solid var(--nav-border);z-index:100;-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:auto 1fr;align-items:end;gap:32px;padding:20px 32px 16px;display:grid;position:sticky;top:0;background:var(--nav-bg)!important}.top-nav h1{font-family:var(--font-display);color:var(--text-primary);letter-spacing:6px;border-right:1px solid var(--border-rule);padding-right:20px;font-size:26px;font-weight:700;line-height:1}.nav-tabs{justify-self:end;gap:0;display:flex}.nav-tabs button{border:none;border-right:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;font-family:var(--font-display);letter-spacing:4px;background:0 0;padding:4px 16px;font-size:13px;font-weight:500;transition:color .15s}.nav-tabs button:last-child{border-right:none}.nav-tabs button:hover{color:var(--text-primary)}.nav-tabs button.active{color:var(--tab-active-color);font-weight:700}.nav-tabs button:disabled{opacity:.3;cursor:not-allowed}.error-banner{background:var(--vermillion-soft);border:1px solid var(--vermillion);border-left:4px solid var(--vermillion);color:var(--vermillion-deep);font-size:14px;font-family:var(--font-mono);border-radius:0;margin:16px 32px 0;padding:14px 22px}.main-content{max-width:1280px;margin:0 auto;padding:28px 32px}.chart-input-container{background:var(--bg-card);border:none;border-top:1px solid var(--text-primary);border-bottom:1px solid var(--text-primary);box-shadow:none;border-radius:0;margin-bottom:24px;padding:28px 32px;position:relative}.chart-input-container h2{font-family:var(--font-display);color:var(--ink);letter-spacing:8px;text-transform:none;border-bottom:1px solid var(--border-rule);align-items:baseline;gap:14px;margin-bottom:24px;padding-bottom:12px;font-size:14px;font-weight:700;display:flex}.chart-input-container h2:after{content:"ASTROLABE / 排盤";font-family:var(--font-mono);color:var(--text-faint);letter-spacing:2px;margin-left:auto;font-size:10px;font-weight:400}.chart-form{grid-template-columns:repeat(2,1fr);gap:20px 24px;display:grid}.chart-form>.submit-btn,.chart-form>.form-group:first-child,.chart-form>.form-group:nth-child(2){grid-column:1/-1}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:500}.form-group input,.form-group select{border:none;border-bottom:1px solid var(--border-rule);color:var(--text-primary);font-family:var(--font-mono);background:0 0;border-radius:0;padding:8px 0;font-size:14px;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-bottom-color:var(--vermillion);border-bottom-width:2px;outline:none;padding-bottom:7px}.form-group select option{background:var(--bg-card);color:var(--text-primary)}.btn-group{border:1px solid var(--border-rule);gap:0;display:flex}.btn-group button{border:none;border-right:1px solid var(--border-rule);color:var(--text-secondary);cursor:pointer;font-family:var(--font-display);letter-spacing:4px;background:0 0;border-radius:0;flex:1;padding:10px;font-size:14px;font-weight:500;transition:all .15s}.btn-group button:last-child{border-right:none}.btn-group button:hover{background:var(--bg-tint);color:var(--text-primary)}.btn-group button.active{background:var(--text-primary);color:var(--bg-card)}.submit-btn{background:var(--submit-bg);color:var(--bg-primary);font-family:var(--font-display);cursor:pointer;letter-spacing:12px;text-indent:12px;border:none;border-radius:0;padding:14px;font-size:14px;font-weight:600;transition:all .15s}.submit-btn:hover{background:var(--submit-hover)}.scope-toolbar{border:none;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;align-items:center;gap:22px;margin:0 0 18px;padding:12px 0;display:flex}.scope-toggles{border:1px solid var(--border-rule);gap:0;display:flex}.scope-btn{border:none;border-right:1px solid var(--border-rule);color:var(--text-muted);cursor:pointer;font-family:var(--font-display);letter-spacing:3px;background:0 0;border-radius:0;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.scope-btn:last-child{border-right:none}.scope-btn:hover{background:var(--bg-tint);color:var(--text-primary)}.scope-btn.active{background:var(--scope-active-bg);color:var(--scope-active-color)}.scope-date-picker{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.scope-date-picker label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;display:flex}.scope-date-picker input[type=date],.scope-date-picker select{border:none;border-bottom:1px solid var(--border-rule);color:var(--text-primary);font-family:var(--font-mono);background:0 0;border-radius:0;padding:4px 0;font-size:13px}.update-horoscope-btn{background:var(--submit-bg);color:var(--bg-primary);cursor:pointer;font-family:var(--font-display);letter-spacing:3px;border:none;border-radius:0;padding:7px 16px;font-size:12px;font-weight:600;transition:background .15s}.update-horoscope-btn:hover{background:var(--vermillion)}.chart-view{flex-direction:column;gap:22px;display:flex}.chart-container{border:1px solid var(--text-primary);box-shadow:none;background:0 0;border-radius:0;padding:12px;overflow-x:auto}.iztro-wrapper{background:var(--bg-card);border:none;border-radius:0;padding:4px}.astrolabe-grid{aspect-ratio:1.05;grid-template-rows:repeat(4,minmax(200px,1fr));grid-template-columns:repeat(4,1fr);gap:4px;width:100%;max-width:960px;margin:0 auto;display:grid}.iztro-center-palace{grid-area:2/2/4/4}.iztro-astrolabe-theme-default{--iztro-star-font-size-big:14px;--iztro-star-font-size-small:11px;--iztro-color-major:var(--star-major);--iztro-color-focus:var(--vermillion-soft);--iztro-color-quan:var(--star-auspicious);--iztro-color-tough:var(--star-malefic);--iztro-color-awesome:var(--vermillion);--iztro-color-active:var(--vermillion);--iztro-color-happy:var(--star-romance);--iztro-color-nice:var(--star-auspicious);--iztro-color-decorator-1:oklch(45% .04 280);--iztro-color-decorator-2:oklch(45% .04 80);--iztro-color-text:var(--text-primary);--iztro-color-border:var(--border-rule);--iztro-color-decadal:var(--vermillion);--iztro-color-yearly:oklch(45% .04 80);--iztro-color-monthly:var(--star-auspicious);--iztro-color-daily:var(--star-romance);--iztro-color-hourly:var(--text-secondary)}.iztro-astrolabe{background:0 0;border-radius:0}.iztro-palace{box-shadow:none;transition:all .18s;position:relative;overflow:hidden;border:1px solid var(--border-subtle)!important;background:var(--bg-card)!important;max-height:unset!important;grid-template-rows:unset!important;grid-template-columns:unset!important;grid-template-areas:unset!important;grid-auto-flow:unset!important;grid-area:unset!important;border-radius:0!important;flex-direction:column!important;gap:0!important;padding:6px 5px 4px!important;display:flex!important}.iztro-palace:hover{z-index:2;border-color:var(--text-primary)!important;background:var(--bg-tint)!important}.iztro-palace-major,.iztro-palace-minor,.iztro-palace-adj,.iztro-palace-horo-star{flex-flow:wrap!important;flex:auto!important;align-content:flex-start!important;align-items:flex-start!important;gap:4px!important;width:100%!important;min-height:0!important;display:flex!important;overflow:hidden!important}.iztro-palace-fate{border-top:1px solid var(--border-subtle)!important;grid-area:unset!important;flex-flow:row!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;gap:4px!important;width:100%!important;margin-top:auto!important;padding:5px 0 0!important;display:flex!important}.iztro-palace-footer{border-top:1px solid var(--border-subtle)!important;grid-area:unset!important;flex-flow:row!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;gap:4px!important;width:100%!important;margin-top:0!important;padding:3px 0 0!important;display:flex!important}.iztro-palace-name{font-family:var(--font-display);letter-spacing:4px;font-size:12px;font-weight:700;color:var(--text-primary)!important}.iztro-star,.iztro-star-adjective{writing-mode:vertical-rl!important;text-orientation:upright!important;letter-spacing:3px!important;white-space:nowrap!important;flex-direction:row!important;flex:none!important;justify-content:flex-start!important;align-items:center!important;gap:0!important;min-width:16px!important;max-height:100%!important;padding:2px 0!important;font-size:13px!important;line-height:1.2!important;display:inline-flex!important}.iztro-star.small{min-width:14px!important;font-size:11px!important}.iztro-star-major{font-weight:700;color:var(--star-major)!important}.iztro-star-soft{opacity:.92;color:var(--star-auspicious)!important}.iztro-star-tough{opacity:.88;color:var(--star-malefic)!important}.iztro-star-flower{opacity:.85;color:var(--star-romance)!important}.iztro-star-helper{opacity:.85;color:var(--star-auspicious)!important}.iztro-star-tianma,.iztro-star-lucun{font-weight:500;color:var(--vermillion)!important}.iztro-star-adjective{opacity:.7;font-style:normal;font-family:var(--font-mono);color:var(--text-muted)!important;letter-spacing:.5px!important;font-size:10px!important}.iztro-star-brightness{writing-mode:inherit!important;text-orientation:inherit!important;opacity:.55!important;letter-spacing:0!important;margin-top:4px!important;margin-left:0!important;font-size:10px!important;display:block!important}.iztro-palace-gz{font-family:var(--font-mono);letter-spacing:1px;opacity:.85;font-size:10px;color:var(--text-muted)!important}.iztro-star-mutagen-0,.iztro-star-mutagen-1,.iztro-star-mutagen-2,.iztro-star-mutagen-3{font-weight:700;font-family:var(--font-display);border-radius:0;writing-mode:horizontal-tb!important;text-orientation:mixed!important;color:var(--bg-primary)!important;text-align:center!important;align-self:center!important;width:fit-content!important;margin:5px auto 0!important;padding:2px 5px!important;font-size:10px!important;line-height:1.4!important;display:block!important}.iztro-star-mutagen-0{background-color:var(--mutagen-0)!important}.iztro-star-mutagen-1{background-color:var(--mutagen-1)!important}.iztro-star-mutagen-2{background-color:var(--mutagen-2)!important}.iztro-star-mutagen-3{background-color:var(--mutagen-3)!important;color:#ccc!important}.iztro-palace-fate span{font-family:var(--font-display);letter-spacing:1.5px;border-radius:0;padding:1px 5px;font-size:11px;font-weight:700;background-color:var(--fate-bg)!important;color:var(--fate-color)!important}.iztro-center-palace{background:var(--bg-card);border:1px solid var(--text-primary);box-shadow:none;border-radius:0;padding:18px}.iztro-center-palace .center-title{color:var(--text-primary);border-bottom:1px solid var(--border-rule);font-family:var(--font-display);letter-spacing:6px;margin-bottom:12px;padding-bottom:10px;font-size:13px;font-weight:700}.iztro-center-palace ul.basic-info{grid-template-columns:1fr 1fr;gap:6px 16px;list-style:none;display:grid}.iztro-center-palace ul.basic-info li{color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);border-bottom:1px dotted var(--border-subtle);justify-content:space-between;padding:3px 0;display:flex}.iztro-center-palace ul.basic-info li b{color:var(--text-primary);font-family:var(--font-display);font-weight:700}.horo-buttons{border:1px solid var(--border-rule);flex-wrap:wrap;gap:0;margin-top:12px;display:flex}.horo-buttons .center-button{color:var(--text-secondary);font-family:var(--font-display);letter-spacing:2px;cursor:pointer;background:0 0;border-radius:0;padding:6px 11px;font-size:12px;border:none!important;border-right:1px solid var(--border-subtle)!important}.horo-buttons .center-button:last-child{border-right:none!important}.horo-buttons .center-button:not(.disabled):hover{color:var(--bg-card);background-color:var(--text-primary)}.horo-buttons .center-button.active{background:var(--text-primary);color:var(--bg-card)}.solar-horoscope{margin-top:8px}.solar-horoscope .today{border:1px solid var(--border-rule);color:var(--text-secondary);font-family:var(--font-mono);background:0 0;border-radius:0;padding:3px 9px;font-size:11px}#palace-line{stroke:var(--vermillion);opacity:.55;stroke-width:1px;stroke-dasharray:2 4}.iztro-palace.focused-palace{background:var(--palace-focused-bg)!important;border-color:var(--palace-focused-border)!important;box-shadow:inset 0 0 0 1px var(--palace-focused-border)!important}.iztro-palace.opposite-palace{background:var(--palace-opposite-bg)!important;border-color:var(--palace-opposite-border)!important}.iztro-palace.surrounded-palace{background:var(--palace-surround-bg)!important;border-color:var(--palace-surround-border)!important}.iztro-palace-name-body{color:var(--text-faint);font-family:var(--font-mono);font-size:10px}.iztro-palace-name .iztro-palace-name-taichi{border-radius:0;padding:0 4px;font-weight:700;background-color:var(--vermillion)!important;color:var(--bg-primary)!important}.iztro-palace-center-item label{color:var(--text-muted)}.iztro-palace-center-item span{color:var(--vermillion);font-family:var(--font-mono)}.gender.gender-male{color:var(--star-auspicious)!important}.gender.gender-female{color:var(--star-romance)!important}.iztro-copyright{font-size:10px;font-family:var(--font-mono);opacity:.5;color:var(--text-faint)!important}.natal-surrounding h3{font-family:var(--font-display);color:var(--text-primary);letter-spacing:8px;border-bottom:2px solid var(--text-primary);margin-bottom:22px;padding-bottom:12px;font-size:15px;font-weight:700}.tab-bar{flex-wrap:wrap;gap:0;margin-bottom:22px;display:flex}.tab-btn{border:1px solid var(--border-rule);color:var(--text-muted);cursor:pointer;font-family:var(--font-display);letter-spacing:4px;background:0 0;border-right:none;border-radius:0;padding:8px 18px;font-size:13px;font-weight:500;transition:all .15s}.tab-btn:last-child{border-right:1px solid var(--border-rule)}.tab-btn:hover{background:var(--bg-tint);color:var(--text-primary)}.tab-btn.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.palace-grid{border-top:1px solid var(--border-rule);border-left:1px solid var(--border-rule);grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:0;display:grid}.surrounding-card{background:var(--bg-card);border:none;border-right:1px solid var(--border-rule);border-bottom:1px solid var(--border-rule);box-shadow:none;border-radius:0;flex-direction:column;transition:all .18s;display:flex;overflow:hidden}.surrounding-card:hover{background:var(--bg-tint);z-index:2;box-shadow:inset 0 0 0 1px var(--text-primary);position:relative}.card-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:6px;border-bottom:1px solid var(--border-subtle);align-items:baseline;gap:10px;padding:14px 18px 10px;font-size:14px;font-weight:700;display:flex}.card-title:before{content:"·";color:var(--vermillion);font-size:22px;line-height:0}.card-slots{flex-direction:column;gap:4px;padding:12px 18px;display:flex}.slot{border-bottom:1px dotted var(--border-subtle);align-items:baseline;gap:12px;padding:5px 0;display:flex}.slot:last-child{border-bottom:none}.slot-label{color:var(--text-faint);min-width:32px;font-size:10px;font-weight:500;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;flex-shrink:0}.slot-palace{color:var(--text-secondary);min-width:48px;font-size:12px;font-family:var(--font-display);letter-spacing:2px}.slot-stars{color:var(--text-primary);flex:1;font-size:13px}.card-analysis{color:var(--text-secondary);border-left:2px solid var(--analysis-border);background:0 0;border-radius:0;margin:0 18px 12px;padding:12px 14px;font-size:13px;line-height:1.7}.card-footer{border-top:1px solid var(--border-subtle);background:0 0;flex-direction:column;align-items:center;gap:8px;padding:10px 18px;display:flex}.decadal-palace-name{color:var(--text-muted);font-size:12px;font-family:var(--font-display);letter-spacing:2px}.decadal-mutagens{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.mutagen-tag{background:var(--mutagen-tag-bg);color:var(--mutagen-tag-color);border:1px solid var(--mutagen-tag-border);letter-spacing:1px;font-size:11px;font-weight:700;font-family:var(--font-display);border-radius:0;padding:2px 8px}.decadal-range-badge{background:var(--range-badge-bg);color:var(--range-badge-color);border:1px solid var(--range-badge-border);text-align:center;font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:1px;border-radius:0;padding:3px 12px}.interpretation-report{flex-direction:column;gap:0;display:flex}.report-header{border:none;border-bottom:2px solid var(--text-primary);box-shadow:none;background:0 0;border-radius:0;padding:22px 0 18px}.palace-report-card,.decadal-section{border:none;border-bottom:1px solid var(--border-subtle);box-shadow:none;background:0 0;border-radius:0;padding:22px 0}.report-header h2{font-family:var(--font-display);color:var(--text-primary);letter-spacing:8px;margin-bottom:12px;font-size:14px;font-weight:700}.birth-info p{color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);letter-spacing:1px;margin:4px 0}.palace-reports{flex-direction:column;gap:0;display:flex}.palace-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.palace-header h3{font-family:var(--font-display);color:var(--text-primary);letter-spacing:4px;font-size:14px;font-weight:700}.palace-stars-report{color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);margin:8px 0}.palace-desc{color:var(--text-primary);font-size:14px;line-height:1.85}.decadal-section h3{font-family:var(--font-display);color:var(--text-primary);letter-spacing:6px;margin-bottom:10px;font-size:14px}.decadal-range{color:var(--text-secondary);font-size:13px;font-family:var(--font-mono)}.overall-advice{background:var(--text-primary);border:none;border-radius:0;margin-top:18px;padding:24px 28px}.overall-advice h3{color:var(--vermillion);font-family:var(--font-display);letter-spacing:6px;margin-bottom:12px;font-size:13px}.overall-advice p{color:var(--bg-primary);font-size:14px;line-height:1.85}.palace-sihua{border:1px solid var(--border-rule);background:0 0;border-radius:0;margin-top:12px;padding:12px 16px}.palace-sihua strong{color:var(--vermillion);font-family:var(--font-display);letter-spacing:2px}.palace-sihua ul{margin:8px 0 0;padding-left:18px}.palace-sihua li{color:var(--text-secondary);font-size:13px;line-height:1.7;font-family:var(--font-mono)}@media (width<=1024px){.iztro-astrolabe-theme-default{--iztro-star-font-size-big:11px;--iztro-star-font-size-small:9px}.iztro-palace{padding:3px!important}.astrolabe-grid{grid-template-rows:repeat(4,minmax(160px,1fr))!important}}@media (width<=430px){.iztro-astrolabe-theme-default{--iztro-star-font-size-big:9px;--iztro-star-font-size-small:7px}.palace-grid{grid-template-columns:1fr}.scope-toolbar{flex-direction:column;align-items:flex-start}.top-nav{grid-template-columns:1fr;padding:16px 20px}.top-nav h1{border-right:none;border-bottom:1px solid var(--border-rule);padding-bottom:8px;padding-right:0;font-size:20px}.nav-tabs{justify-self:start}.chart-form{grid-template-columns:1fr}.main-content{padding:18px}}@media (prefers-reduced-motion:reduce){.iztro-palace,.surrounding-card,button{transition:none}}
