body:has(.ziwei-app){height:100dvh;min-height:0}body:has(.ziwei-app)>.header{height:60px;min-height:60px;width:calc(100% - 48px)}body:has(.ziwei-app)>.footer{display:none}body:has(.ziwei-app)>main.wrap{width:calc(100% - 48px);padding:12px 0;min-height:0;flex:1}.ziwei-app.birth-page{height:100%;min-height:0;width:min(100%,1040px);padding:0;display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,500px);align-items:center;gap:64px}.birth-intro{align-self:center;padding:24px}.birth-intro>svg{width:140px;color:var(--brand);margin-bottom:30px}.birth-intro .birth-title{display:block}.birth-intro .birth-title h1{font-size:36px;margin-top:12px}.birth-intro .mode-chip{display:inline-block;margin-top:22px}.ziwei-app .birth-form{padding:24px;gap:16px;min-width:0;width:100%}.identity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end}.gender-field legend,.name-field{font-size:14px;font-weight:600}.ziwei-app .birth-row{grid-template-columns:1fr;gap:16px}.ziwei-app .birth-form input:not([type=radio]){height:40px;font-size:15px}.ziwei-app .gender-options label{height:40px;min-width:58px}.ziwei-app .numeric-date{grid-template-columns:1.3fr 1fr 1fr;gap:10px}.ziwei-app .numeric-time{grid-template-columns:1fr 1fr;gap:10px;max-width:280px}.ziwei-app .place-combo{grid-template-columns:minmax(0,1fr) 100px;align-items:end}.longitude-inline{display:block}.ziwei-app .birth-actions{gap:12px}.ziwei-app .birth-actions>span{font-size:10px;letter-spacing:0}.dst-hint{margin:7px 0 0;padding:6px 8px;border-left:2px solid #c7a36b;background:#fbf8f1;color:#6e604d}.dst-hint--quiet{background:transparent;border-color:var(--line)}.ziwei-app.chart-page{height:100%;min-height:0;width:100%;display:flex;flex-direction:column;overflow:visible}.ziwei-app .workspace-nav{height:42px;flex-shrink:0;padding:0 8px}.ziwei-app .workspace{flex:1;min-height:0;height:auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;padding:0;overflow:visible;position:relative}.ziwei-app .workspace-chart{height:100%;min-height:0;padding:8px;align-items:center;justify-content:center;overflow:visible}.ziwei-app .chart-shell{height:100%;width:auto;aspect-ratio:4/5;max-width:100%;max-height:none;flex:none;padding:15px 20px;container-type:inline-size}.ziwei-app .chart-grid{height:100%;width:100%;grid-template-rows:repeat(4,minmax(0,1fr))}.ziwei-app .workspace-notes{min-height:0;height:100%;padding:20px;overflow:auto}.notes-close,.notes-toggle{display:none}.ziwei-app .palace{padding:5px;display:grid;grid-template-rows:minmax(0,1fr) 39px;gap:3px;overflow:visible}.ziwei-app .palace__stars{display:grid;grid-template-rows:1fr 1fr;height:auto;min-height:0;gap:2px;overflow:visible;white-space:normal}.ziwei-app .star-group{position:static;display:flex;flex-wrap:wrap;gap:3px;align-content:start;align-items:start;min-width:0}.ziwei-app .star-group--minor{justify-content:flex-start;align-self:center;flex-direction:row-reverse;max-width:100%;padding:0;gap:2px}.ziwei-app button.star{font-family:inherit;line-height:1;display:grid;grid-template-rows:auto auto auto;min-width:0;gap:2px;flex:0 0 auto;padding:0}.ziwei-app button.star--major{font-size:clamp(14px,3.3cqw,20px);font-weight:650;color:#cf3030}.ziwei-app button.star--malefic,.ziwei-app button.star--support{font-size:clamp(12px,2.9cqw,17px);font-weight:500}.ziwei-app button.star--malefic{color:#29252d}.ziwei-app button.star--minor{font-size:clamp(10px,2.1cqw,12px);font-weight:400;color:#756e7d}.ziwei-app .star__name{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:0;line-height:1.05}.ziwei-app .star__state{font-size:8px;line-height:1;min-height:0}.ziwei-app .star__state:empty{display:none}.ziwei-app .mutagen{font-size:9px;min-width:13px;padding:1px 2px;line-height:1.15}.ziwei-app .palace__footer{display:grid;grid-template-columns:1fr auto;align-items:end;min-height:0;margin:0}.ziwei-app .palace__labels{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"decadal decadal" "name body";gap:3px;align-items:center}.ziwei-app .palace__decadal{grid-area:decadal;font-size:10px;color:#6f6971;white-space:nowrap;justify-self:start}.ziwei-app .palace__labels>strong{grid-area:name;font-size:clamp(12px,2.6cqw,15px);line-height:1.1}.ziwei-app .body-tag{grid-area:body;justify-self:start;font-size:8px;padding:0 2px}.ziwei-app .palace__stem-branch{margin:0;display:flex;flex-direction:column;align-items:center;font-size:11px;line-height:1.05;gap:1px}.palace__stem-branch i{font-style:normal}.ziwei-app .palace__changsheng{font-size:9px;white-space:nowrap;margin-bottom:2px;color:#756e7d}.ziwei-app .chart-center{min-height:0;padding:12px;justify-content:center;overflow:visible}.ziwei-app .chart-brand{font-size:9px}.ziwei-app .chart-center h2{font-size:19px;margin:5px 0}.ziwei-app .chart-center>p{font-size:11px;margin-bottom:8px}.ziwei-app .chart-center dl{font-size:11px}.ziwei-app .chart-center dl div{grid-template-columns:60px minmax(0,1fr);gap:3px;padding:2px 0}.ziwei-app .chart-center dd{white-space:normal;overflow-wrap:anywhere}.ziwei-app .center-shift{margin-top:8px}.ziwei-app .center-shift button{height:28px;font-size:11px}.ziwei-app .solar-note{font-size:9px}@media(max-width:1100px){.ziwei-app .workspace{grid-template-columns:1fr}.ziwei-app .workspace-notes{display:none}.ziwei-app .notes-close,.ziwei-app .notes-toggle{display:block}.ziwei-app .notes-open .workspace-notes{display:block;position:absolute;right:0;top:0;bottom:0;width:min(320px,90%);z-index:25;background:white;border:1px solid var(--line)}.notes-close{border:0;background:none;color:var(--brand);margin-left:auto;padding:8px}.ziwei-app.birth-page{gap:24px;grid-template-columns:minmax(160px,1fr) minmax(0,480px)}}@media(max-height:780px) and (min-width:761px){.ziwei-app .birth-form{padding:18px 22px;gap:10px}.ziwei-app .birth-row{gap:10px}.ziwei-app .birth-form input:not([type=radio]),.ziwei-app .gender-options label{height:36px}.ziwei-app .chart-center{padding:8px}.ziwei-app .chart-center h2{font-size:16px}.ziwei-app .chart-center dl{font-size:10px}.ziwei-app .chart-center dl div{grid-template-columns:54px minmax(0,1fr)}.ziwei-app .palace{padding:4px;grid-template-rows:minmax(0,1fr) 36px}}@media(max-width:760px){body:has(.ziwei-app){height:auto;min-height:100dvh}body:has(.ziwei-app)>main.wrap{width:calc(100% - 24px);padding:16px 0}.ziwei-app.birth-page{display:block;width:min(500px,100%);height:auto}.birth-intro{padding:0 4px 18px;display:flex;align-items:center;gap:18px}.birth-intro>svg{width:50px;margin:0}.birth-intro .birth-title h1{font-size:27px;margin-top:5px}.birth-intro .mode-chip{display:none}.ziwei-app .birth-form{padding:18px}.ziwei-app.chart-page{height:auto}.ziwei-app .workspace{display:block}.ziwei-app .workspace-chart{padding:10px 0}.ziwei-app .chart-shell{width:100%;padding:16px}.ziwei-app .chart-grid,.ziwei-app .chart-shell{height:auto;aspect-ratio:4/5}.ziwei-app .workspace-nav{height:auto;min-height:42px;gap:8px;flex-wrap:wrap;padding:0}.workspace-period{gap:1px}.workspace-period>*{padding:7px 5px}.workspace-actions{margin-left:auto}.ziwei-app .chart-center{padding:6px}.ziwei-app .chart-center h2{font-size:15px}.ziwei-app .chart-center dl div{grid-template-columns:1fr;padding:1px 0}.ziwei-app .chart-center dl{font-size:9px}.ziwei-app .chart-center dt{font-size:8px}.ziwei-app .chart-center>p{font-size:10px;margin-bottom:4px}.ziwei-app .chart-brand{display:none}.ziwei-app .center-shift button{font-size:10px;height:26px}.ziwei-app .solar-note{font-size:8px}.identity-row{gap:12px}.ziwei-app .gender-options label{min-width:48px}}.ziwei-app .star-group--dense{gap:3px 4px;max-width:100%;justify-self:end}.ziwei-app .star-group--dense .star__name{writing-mode:horizontal-tb;line-height:1.15}@media(max-width:760px){.ziwei-app .chart-grid{min-height:600px}.ziwei-app .chart-shell{aspect-ratio:auto}.ziwei-app .palace__stars{grid-template-rows:1fr 1fr}}.ziwei-app .star-group--primary{container-type:inline-size;flex-wrap:nowrap;gap:2px;width:100%}.ziwei-app .star-group--primary button.star--major{font-size:min(20px,3.3cqw)}.ziwei-app .star-group--primary button.star{font-size:clamp(10px,calc((100cqw - (var(--star-count) - 1) * 2px) / max(1,var(--star-count)) / 1.05),16px)}.ziwei-app .star-group--primary button.star--major{font-size:clamp(11px,calc((100cqw - (var(--star-count) - 1) * 2px) / max(1,var(--star-count)) / 1.05),18px)}.ziwei-app .star-group--primary button.star{grid-template-rows:38px 10px 18px;row-gap:1px;align-items:start}.ziwei-app .star-group--primary .star__name{align-self:start}.ziwei-app .star-group--primary .star__state{display:block;grid-row:2;height:10px;line-height:10px;font-size:9px;margin:0}.ziwei-app .star-group--primary .mutagen{grid-row:3;align-self:start;display:flex;align-items:center;justify-content:center;width:16px;height:18px;min-width:16px;padding:0;font-size:12px;line-height:1;font-weight:700;margin:0}.ziwei-app .palace__stars{grid-template-rows:auto minmax(0,1fr)}@media(max-height:780px) and (min-width:761px){.ziwei-app .palace{padding:3px;grid-template-rows:minmax(0,1fr) 32px;gap:2px}}.ziwei-app .star-group--primary button.star{flex:1 1 0;width:0;flex:0 1 18px;width:18px;min-width:0;row-gap:0}.ziwei-app .palace__stars{gap:1px}@media(max-height:780px) and (min-width:761px){.ziwei-app .palace{grid-template-rows:minmax(0,1fr) 36px}}.ziwei-app{--brand:#5d0079;--ink:#29252d;--muted:#8b858e;--line:#e5dfe7;color:var(--ink);min-width:0}.ziwei-app *{box-sizing:border-box}.ziwei-app button,.ziwei-app input{font:inherit}.ziwei-app button{cursor:pointer}.birth-page{width:min(960px,calc(100vw - 64px));height:calc(100svh - 112px);min-height:620px;margin:0 auto;padding:18px 0;display:flex;flex-direction:column;justify-content:center}.birth-title{display:flex;align-items:end;justify-content:space-between;margin:0 0 14px}.birth-title span{font-size:13px;letter-spacing:.12em;color:var(--muted)}.birth-title h1{margin:5px 0 0;font-size:32px;line-height:1.12;color:var(--brand)}.mode-chip{border:1px solid #dbcde0;border-radius:999px;padding:8px 14px;color:var(--brand)!important;letter-spacing:0!important;font-size:13px!important}.birth-form{border:1px solid var(--line);border-radius:16px;padding:26px 30px;display:grid;gap:18px}.birth-form fieldset{border:0;padding:0;margin:0}.birth-form legend,.birth-form>div>label{font-size:15px;font-weight:600}.birth-form small{font-size:12px;color:var(--muted);font-weight:400;margin-left:5px}.birth-row{display:grid;grid-template-columns:1fr;gap:16px}.birth-row:first-child{grid-template-columns:minmax(0,1fr) 220px;align-items:end}.birth-form input:not([type=radio]){width:100%;height:44px;margin-top:7px;border:1px solid var(--line);border-radius:9px;padding:0 13px;background:#fff;color:inherit;outline:none;font-size:15px}.birth-form input::placeholder{font-size:14px;color:#aaa3ac;font-weight:400}.birth-form input:focus{border-color:#b99cc4;box-shadow:0 0 0 2px #f5eff7}.numeric-date,.numeric-time{display:grid;gap:12px}.numeric-date{grid-template-columns:repeat(3,1fr)}.numeric-time{grid-template-columns:repeat(2,1fr)}.numeric-date label,.numeric-time label{font-size:12px;color:var(--muted)}.gender-options{display:flex;gap:10px;margin-top:7px}.gender-options label{height:44px;min-width:94px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer}.gender-options input{display:none}.gender-options .selected{border-color:#c8b0d0;background:#f7f2f9;color:var(--brand)}.place-combo{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:10px}.place-search{position:relative}.place-results{position:absolute;z-index:20;top:54px;left:0;right:0;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 12px 30px #2d17331a;overflow:hidden}.place-results button{width:100%;border:0;border-bottom:1px solid #f0ecf1;background:#fff;padding:10px 12px;display:flex;justify-content:space-between;text-align:left;font-size:13px}.place-results button:hover{background:#faf7fb}.place-results small{margin:0}.longitude-inline{font-size:12px;color:var(--muted)}.birth-hint,.time-hint{font-size:11px;line-height:1.55;color:var(--muted);margin:5px 0 0}.birth-actions{display:flex;align-items:center;gap:18px}.primary-button{border:0;border-radius:9px;background:var(--brand);color:#fff;height:44px;padding:0 34px;font-size:15px;font-weight:600}.birth-actions>span{font-size:11px;color:#aaa2ab;letter-spacing:.08em}.form-error{font-size:12px;color:#a72d2d;margin:0}.chart-page{width:100%;height:calc(100svh - 96px);min-height:650px;max-width:none;overflow:hidden}.workspace-nav{height:46px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:12px}.workspace-actions,.workspace-period{display:flex;align-items:center;gap:9px}.workspace-period>*{border:0;background:transparent;padding:7px 10px;color:#6f6971}.workspace-period b{background:#f5f2f6;border-radius:7px;color:var(--ink)}.workspace-actions button{border:0;background:transparent;padding:7px 10px;color:#5e5861}.workspace-actions .pro-button{border:1px solid #dfd1e4;border-radius:7px;color:var(--brand);background:#f9f5fa}.workspace{height:calc(100% - 46px);display:grid;grid-template-columns:minmax(720px,64%) minmax(320px,36%);overflow:hidden}.workspace-chart{height:100%;padding:8px 12px;min-width:0;overflow:hidden;display:flex;justify-content:center;align-items:center}.workspace-notes{height:100%;border-left:1px solid var(--line);padding:22px 28px;overflow:auto}.workspace-notes header{border-bottom:1px solid var(--line);padding-bottom:12px}.workspace-notes header small{font-size:10px;color:var(--brand);letter-spacing:.16em}.workspace-notes h2{font-size:19px;margin:5px 0 0}.note-empty{height:70%;display:grid;place-content:center;text-align:center;color:#aaa3ac}.note-empty p{font-size:13px;margin:0 0 6px}.note-empty span{font-size:10px}.note-placeholder{padding-top:24px}.note-placeholder h3{font-size:23px;margin:0 0 12px}.note-placeholder p{font-size:12px;line-height:1.8;color:#625c65}.note-placeholder button{border:0;background:transparent;color:var(--brand);padding:8px 0}.chart-shell{height:min(calc(100% - 2px),900px);aspect-ratio:.92;max-width:100%;position:relative;padding:20px 24px}.direction{position:absolute;font-size:10px;color:#6f6971;white-space:nowrap}.direction--top{top:1px}.direction--bottom,.direction--top{left:50%;transform:translateX(-50%)}.direction--bottom{bottom:1px}.direction--left{left:2px}.direction--left,.direction--right{top:50%;transform:translateY(-50%);writing-mode:vertical-rl}.direction--right{right:2px}.direction--tl{left:5px}.direction--tl,.direction--tr{top:22px;writing-mode:vertical-rl}.direction--tr{right:5px}.direction--bl{left:5px}.direction--bl,.direction--br{bottom:22px;writing-mode:vertical-rl}.direction--br{right:5px}.chart-grid{height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));grid-template-areas:"si wu wei shen" "chen center center you" "mao center center xu" "yin chou zi hai";border-top:1px solid #99929b;border-left:1px solid #99929b}.palace{padding:6px 5px 4px;border-right:1px solid #99929b;border-bottom:1px solid #99929b;flex-direction:column;overflow:hidden}.palace,.palace__stars{min-width:0;min-height:0;display:flex}.palace__stars{align-items:flex-start;gap:3px;overflow:visible;white-space:nowrap}.star{flex:0 0 auto;min-width:15px;border:0;background:transparent;padding:0;display:grid;grid-template-rows:auto auto auto;justify-items:center;align-content:start;gap:3px;line-height:1;color:inherit}.star__name{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:0;white-space:nowrap}.star:hover .star__name{text-decoration:underline;text-underline-offset:2px}.star--major{font-size:17px;font-weight:700;color:#cf3030}.star--support{font-size:14px;font-weight:600;color:#356b89}.star--minor{font-size:11px;font-weight:400;color:#99929b;opacity:1}.star small{font-size:9px;line-height:1;color:#5f5961;white-space:nowrap}.mutagen,.star small{writing-mode:horizontal-tb}.mutagen{font-size:10px;line-height:1.15;font-weight:700;color:#fff;border-radius:3px;padding:2px 3px;min-width:15px;text-align:center}.mutagen--禄{background:#278547}.mutagen--权{background:#7c258d}.mutagen--科{background:#2876b4}.mutagen--忌{background:#c33c3c}.palace__meta{margin-top:auto;display:flex;justify-content:space-between;align-items:end;font-size:9px;color:#6f6971}.palace__meta strong{font-size:10px;font-weight:500}.palace__heading{display:flex;align-items:center;gap:4px;margin-top:3px;font-size:10px}.palace__heading>strong{font-size:12px}.palace__stem-branch{margin-left:auto;color:#5f5961;font-size:10px}.body-tag{border:1px solid #d9c3df;color:var(--brand);border-radius:2px;font-size:8px;padding:1px 2px}.chart-center{grid-area:center;border-right:1px solid #99929b;border-bottom:1px solid #99929b;padding:15px 17px;display:flex;flex-direction:column;justify-content:center;background:#fefcfe;overflow:hidden}.chart-brand{font-size:9px;letter-spacing:.15em;color:var(--brand)}.chart-center h2{font-size:21px;margin:7px 0 3px}.chart-center>p{font-size:11px;margin:0 0 9px;color:#6f6971}.chart-center dl{font-size:10px;margin:0}.chart-center dl div{display:grid;grid-template-columns:66px minmax(0,1fr);padding:2px 0}.chart-center dt{color:#8e8790}.chart-center dd{margin:0;white-space:nowrap}.center-shift{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px}.center-shift button{height:27px;border:1px solid #ded7e0;border-radius:4px;background:#fff;color:#665e68;font-size:9px}.solar-note{font-size:9px;color:#99919b;margin-top:5px}@media(max-width:1100px){.workspace{grid-template-columns:1fr}.workspace-notes{display:none}.workspace-chart{padding:8px}.birth-page{width:min(900px,calc(100vw - 32px))}}@media(max-height:760px){.birth-page{height:calc(100svh - 86px);min-height:560px;padding:8px 0}.birth-title{margin-bottom:8px}.birth-title h1{font-size:28px}.birth-form{padding:18px 24px;gap:11px}.birth-form input:not([type=radio]),.gender-options label,.primary-button{height:38px}.chart-shell{height:100%;padding:18px 22px}.star--major{font-size:15px}.star--support{font-size:12px}.star--minor{font-size:10px}.star small{font-size:8px}.mutagen{font-size:9px}}@media print{body>*{display:none!important}body main.wrap,body main.wrap *{display:block!important}.workspace-nav,.workspace-notes{display:none!important}.chart-page,.workspace,.workspace-chart{height:auto!important;width:100%!important;display:block!important}.chart-shell{width:760px;height:840px;margin:auto;padding:20px}.chart-grid{display:grid!important}.chart-center,.palace,.palace__stars{display:flex!important}.star{display:grid!important}}