/* Shared interface for the four Phuc Quang tools. Chart geometry has its own styles. */
@font-face{font-family:'Phuc Quang Sans';src:url('/fonts/phuc-quang-sans-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Phuc Quang Sans';src:url('/fonts/phuc-quang-sans-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
:root{--pq-ui-font:'Phuc Quang Sans',Arial,sans-serif;--pq-tool-ink:#183d2b;--pq-tool-border:#dbe5df}
.pq-tool-header{max-width:1480px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--pq-tool-border);font-family:var(--pq-ui-font)}
.pq-tool-brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:#175d3e;min-width:0}
.pq-tool-brand strong{font:700 22px/1.4 var(--pq-ui-font);letter-spacing:0}
.pq-tool-brand .pq-original-mark{position:relative;display:block;overflow:hidden;flex:none;width:57px;height:57px;border-radius:50%;background:#ffe869}
.pq-tool-brand .pq-original-mark img{position:absolute;width:148px!important;max-width:none;height:auto;left:-18px;top:-4px}
.pq-tool-header>nav{display:flex;gap:24px;align-items:center;font-size:14px}
.pq-tool-header>nav a{color:#42594b;text-decoration:none}
.pq-tool-header>nav a:hover{text-decoration:underline}
.pq-calc-nav.pq-wrap{width:auto;max-width:1424px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:0;border-bottom:1px solid var(--pq-tool-border);overflow:visible;font-family:var(--pq-ui-font)}
.pq-calc-nav.pq-wrap a{display:flex;align-items:center;gap:12px;min-height:74px;padding:14px 20px;text-decoration:none;font-size:15px;line-height:1.5;white-space:normal;font-weight:700;color:#4a5b50;border-bottom:3px solid transparent;letter-spacing:0}
.pq-calc-nav.pq-wrap a:hover{background:#f7faf8;color:#175d3e}
.pq-calc-nav.pq-wrap a[aria-current=page]{color:#175d3e;background:#f1f7f3;border-bottom-color:#175d3e}
.pq-tool-number{font-size:13px;font-weight:400;color:#847647;flex:none;font-variant-numeric:tabular-nums}
.pq-tool-footer{max-width:1424px;margin:40px auto 0;padding:22px 24px;border-top:1px solid var(--pq-tool-border);display:flex;gap:24px;flex-wrap:wrap;font:400 13px/1.6 var(--pq-ui-font);color:#526458}
.pq-tool-footer span{margin-right:auto}.pq-tool-footer a{text-decoration:none}
.pq-calculator{font-family:var(--pq-ui-font);padding-top:28px}
.pq-calculator h1,.pq-calculator h2,.pq-calculator h3{font-family:var(--pq-ui-font);letter-spacing:0;line-height:1.45}
.pq-calculator h1{font-size:32px;font-weight:700;color:var(--pq-tool-ink)}
.pq-calculator .pq-calc-heading{padding-bottom:22px;margin-bottom:0;align-items:flex-start}
.pq-calculator .pq-calc-heading p{font-size:15px;line-height:1.75;max-width:68ch}
.pq-calculator .pq-calc-layout{grid-template-columns:300px minmax(0,1fr);gap:28px}
.pq-calculator .pq-calc-input{background:#fff;border:1px solid var(--pq-tool-border);border-radius:10px;padding:24px}
.pq-calculator .pq-calc-input label,.pq-calculator .pq-birth-fields legend{font-size:14px;line-height:1.65}
.pq-calculator input,.pq-calculator select{font-family:var(--pq-ui-font);font-size:16px;min-height:46px}
.pq-calculator .pq-calc-note,.pq-calculator .pq-calc-privacy,.pq-calculator .pq-calc-source-note,.pq-calculator .pq-hex-line small{font-size:13px;line-height:1.7}
.pq-calculator .pq-calc-empty{background:#f7faf8;border:1px solid var(--pq-tool-border);border-radius:10px;padding:32px;min-height:280px}
.pq-calculator .pq-calc-empty h2{font-size:23px}.pq-calculator .pq-calc-empty p,.pq-calculator .pq-calc-empty li{font-size:15px;line-height:1.8}
.pq-calculator .pq-hex h3{font-family:var(--pq-ui-font);font-size:21px;line-height:1.6}
.pq-secondary-tool{border-top:1px solid var(--pq-tool-border);padding:18px 0;font:400 15px/1.8 var(--pq-ui-font)}
.pq-secondary-tool summary{cursor:pointer;font-weight:700}.pq-secondary-tool p{margin:14px 0}.pq-secondary-tool a{color:#175d3e;text-decoration:underline}
/* The migrated Bazi/hex workspace shares the same visual hierarchy. */
body:has(.pq-bazi-sections){font:400 16px/1.75 var(--pq-ui-font);color:#233d2e;background:#fff}
.workspace .page-heading{margin-bottom:18px;align-items:flex-start}.workspace .page-heading h1{font:700 32px/1.45 var(--pq-ui-font);letter-spacing:0;color:var(--pq-tool-ink)}
.workspace .page-heading p{font-family:var(--pq-ui-font);font-size:15px;line-height:1.75}
.workspace main{max-width:1480px;padding:28px}
.workspace .app-grid{grid-template-columns:300px minmax(0,1fr);gap:28px}
.pq-bazi-sections{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 24px;padding:0;border-bottom:1px solid var(--pq-tool-border)}
.pq-bazi-sections button{font:400 14px/1.5 var(--pq-ui-font);padding:12px 17px;min-height:46px;border:0;border-bottom:2px solid transparent;border-radius:0;background:white;color:#536559}
.pq-bazi-sections button[aria-current=page]{font-weight:700;color:#175d3e;border-bottom-color:#175d3e}
.pq-bazi-sections[hidden],.workspace [hidden]{display:none!important}
.workspace button,.workspace select,.workspace input,.workspace textarea{font-family:var(--pq-ui-font)}
.workspace .birth-panel label,.workspace .birth-panel legend,.workspace .birth-clock legend,.workspace .clock-selects label,.workspace .display-panel label{font-size:14px;line-height:1.6;letter-spacing:0}
.workspace .birth-panel input:not([type=checkbox]):not([type=radio]),.workspace .birth-panel select{font-size:16px;min-height:46px;line-height:1.5}
.workspace .birth-clock small,.workspace .panel-caption,.workspace .birth-footnote,.workspace .optional,.workspace .note,.workspace .local-processing,.workspace .sample-note{font-size:13px;line-height:1.75;letter-spacing:0}
.workspace .birth-summary,.workspace .display-panel>summary{font:700 16px/1.6 var(--pq-ui-font)}
.workspace .button{font-size:14px;line-height:1.5;min-height:44px;padding:11px 16px;font-weight:700;letter-spacing:0}
.workspace .document-actions{display:flex;gap:8px;align-items:flex-start;max-width:none}
.pq-export-more{position:relative}.pq-export-more summary{cursor:pointer;list-style:none}.pq-export-more summary::-webkit-details-marker{display:none}
.pq-export-menu{position:absolute;right:0;top:50px;z-index:20;min-width:195px;padding:8px;display:grid;gap:5px;background:#fff;border:1px solid var(--pq-tool-border);border-radius:8px;box-shadow:0 10px 30px #12342116}
.pq-export-menu button{text-align:left;white-space:nowrap;justify-content:flex-start}
.workspace .preset-controls button,.workspace .text-button{font-size:14px;line-height:1.6}
.workspace .card{border-color:var(--pq-tool-border);box-shadow:none;border-radius:10px}
.workspace .workspace-toolbar{background:#fff;box-shadow:none;border-color:var(--pq-tool-border)}
.workspace .year-switch label,.workspace .workspace-context{font-size:14px}.workspace .year-switch input{font-size:16px}
.workspace .board-identity h2,.workspace .ly-profile h2{font-family:var(--pq-ui-font);font-size:28px;line-height:1.4;letter-spacing:0}
.workspace .board-brand,.workspace .ly-identity strong{font-family:var(--pq-ui-font);font-size:16px;letter-spacing:0}
.workspace .board-profile,.workspace .ly-sheet{font-family:var(--pq-ui-font)}
.workspace .board-profile{font-size:14px;line-height:1.7}
.workspace .board-name,.workspace .board-profile .board-name{font-size:17px}
.workspace .board-identity h2 br{display:block!important}
.workspace .board-pillar strong,.workspace .ly-kicker{letter-spacing:0}
.workspace .consultation p,.workspace .knowledge-article p,.workspace .ly-line-readings p,.workspace .text-content p{font-size:16px;line-height:1.9;max-width:78ch}
.workspace .consultation h2,.workspace .knowledge-article h2,.workspace .ly-line-readings h2{font-family:var(--pq-ui-font);font-size:23px;line-height:1.55;letter-spacing:0}
.workspace .consultation h3,.workspace .knowledge-article h3,.workspace .ly-line-readings h3{font-size:18px;line-height:1.6;letter-spacing:0}
.workspace .ly-line-readings summary,.workspace .technical-reading summary{font-size:15px;line-height:1.7}
.pq-context-links{display:flex;gap:20px;margin-bottom:16px;flex-wrap:wrap}.pq-context-links button{background:none;border:0;padding:6px 0;color:#315b43;font-size:14px;text-decoration:underline}
.pq-hex-options{margin-bottom:20px;border:1px solid var(--pq-tool-border);border-radius:8px;padding:14px 18px}.pq-hex-options>summary{cursor:pointer;font-size:14px;font-weight:700}.pq-hex-options .ly-controls{border:0;padding:16px 0 0;margin:0}
body[data-tool=iching] .display-panel .preset-controls,body[data-tool=iching] .display-panel .layer-controls,body[data-tool=iching] .display-panel label:has(#display-script){display:none}
body[data-view=knowledge] .control-column,body[data-view=method] .control-column{display:none}
body[data-view=knowledge] .app-grid,body[data-view=method] .app-grid{display:block}
body[data-view=knowledge] .result-area,body[data-view=method] .result-area{max-width:1050px;margin:0 auto}
body[data-view=knowledge] .profile-strip,body[data-view=method] .profile-strip{display:none}
body[data-view=knowledge] .sample-note,body[data-view=method] .sample-note{display:none}
@media(max-width:900px){.pq-tool-header{padding:18px 20px}.pq-tool-brand strong{font-size:20px}.pq-calc-nav.pq-wrap{margin:0 20px}.pq-calc-nav.pq-wrap a{padding:13px 12px;font-size:14px;gap:8px}.pq-tool-number{display:none}.workspace .app-grid,.pq-calculator .pq-calc-layout{display:block}.workspace main{padding:24px 20px}.workspace .control-column{margin-bottom:24px}.pq-calculator .pq-calc-input{margin-bottom:24px}.workspace .display-panel{margin-top:16px}.workspace .page-heading{flex-wrap:wrap;gap:16px}.workspace .document-actions{width:100%;justify-content:flex-start}.pq-export-menu{left:0;right:auto}}
@media(max-width:600px){.pq-tool-header{padding:16px;gap:12px}.pq-tool-brand{gap:10px}.pq-tool-brand strong{font-size:16px}.pq-tool-brand .pq-original-mark{width:45px;height:45px}.pq-tool-brand .pq-original-mark img{width:117px!important;left:-14px;top:-3px}.pq-tool-header>nav{gap:12px;font-size:12px}.pq-tool-header>nav a:first-child{display:none}.pq-calc-nav.pq-wrap{margin:0 16px;grid-template-columns:1fr 1fr;gap:0}.pq-calc-nav.pq-wrap a{padding:13px 10px;min-height:58px;font-size:14px;line-height:1.5}.pq-calculator{padding-top:22px}.workspace main{padding:22px 16px}.workspace .page-heading h1,.pq-calculator h1{font-size:27px}.pq-bazi-sections{display:grid;grid-template-columns:1fr 1fr;gap:0}.pq-bazi-sections button{padding:10px;font-size:13px;min-height:45px}.workspace .document-actions .button{padding:10px 12px;font-size:13px}.workspace .board-identity h2{font-size:25px}.workspace .board-profile>div{grid-template-columns:105px 1fr;gap:10px}.pq-calculator .pq-hex-pair{grid-template-columns:1fr;gap:20px}.pq-calculator .pq-hex h3{font-size:22px}.pq-calculator .pq-hex-line small{font-size:12px}.pq-calculator .pq-calc-empty{padding:24px}.pq-tool-footer{margin-top:24px;padding:20px 16px;gap:16px}.pq-tool-footer span{flex-basis:100%}}
@media print{.pq-tool-header,.pq-calc-nav,.pq-bazi-sections,.pq-context-links,.pq-export-more,.pq-tool-footer{display:none!important}}

@media(max-width:600px){.pq-calculator .pq-hex-arrow{display:none}.pq-calculator .pq-line-no{font-size:12px}}

@media(max-width:900px){.workspace .control-column{grid-template-columns:1fr}}

.workspace .profile-strip h2,.workspace .lead,.workspace .viet,.workspace .luck-item strong,.workspace .hex-card h3{font-family:var(--pq-ui-font);letter-spacing:0}
.pq-tool-brand .pq-original-mark img{position:static;width:100%!important;height:100%;object-fit:cover;object-position:22% 50%}

/* V16: quiet controls around the unchanged chart geometry. */
.pq-tool-number{display:none}
.pq-calc-nav.pq-wrap a{min-height:58px;padding:12px 20px;font-size:14px;justify-content:center}
.pq-calc-nav.pq-wrap a[aria-current=page]{background:#fff}
.pq-context-disclosure{border-top:1px solid var(--pq-tool-border);padding-top:16px;margin:18px 0}
.pq-context-disclosure>summary{font-size:14px;font-weight:700;cursor:pointer;color:#315b43}
.pq-context-disclosure .pq-check{margin:16px 0}
.pq-context-disclosure .pq-birth-fields{margin-top:20px}
.pq-calculator .pq-calc-empty{min-height:190px;padding:30px;background:#fafcfb;border:1px solid #e2e9e4}
.pq-calculator .pq-calc-empty h2{font-size:21px}
.pq-calculator .pq-calc-results{scroll-margin-top:24px}
.workspace .pq-result-actions{display:flex;justify-content:flex-end;margin-bottom:14px;min-width:0}
.workspace .pq-bazi-sections{margin-bottom:16px}
.workspace .birth-summary span{display:block;font-size:13px;font-weight:400;color:#176442}
.workspace .birth-panel[open] .birth-summary span{display:none}
.workspace .birth-panel:not([open]) .birth-summary:after{display:none}
.workspace .result-area{scroll-margin-top:24px}
.workspace .sample-note{border:0;background:none;padding:0;margin:0 0 22px;color:#667668}
@media screen{
 .workspace .board-header{grid-template-columns:1fr;gap:14px;padding:22px 24px}
 .workspace .board-identity{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
 .workspace .board-identity .board-logo,.workspace .board-identity h2{display:none}
 .workspace .board-identity .element-key{margin:0}
 .workspace .board-brand{font-size:13px;color:#24654d}
 .workspace .board-profile{display:grid;grid-template-columns:1fr 1fr;gap:5px 24px}
 .workspace .board-profile>div{display:block;font-size:13px}
 .workspace .board-profile dt{display:inline;margin-right:8px;font-size:12px}
 .workspace .board-profile dd{display:inline;font-size:13px}
 .workspace .board-profile .board-name{font-size:14px}
 body[data-tool=iching] .profile-strip{display:none}
 .workspace .ly-header{grid-template-columns:1fr;gap:10px;padding:12px}
 .workspace .ly-identity{align-items:flex-start}
 .workspace .ly-identity .board-logo,.workspace .ly-identity>span,.workspace .ly-profile h2{display:none}
 .workspace .ly-identity>strong{font-size:13px;color:#24654d}
}
@media(max-width:600px){
 .pq-calc-nav.pq-wrap a{justify-content:flex-start;min-height:50px;padding:10px;font-size:13px}
 .workspace .board-header{padding:18px}
 .workspace .board-profile{grid-template-columns:1fr;gap:5px}
 .workspace .pq-bazi-sections{display:flex;flex-wrap:nowrap;overflow-x:auto}
 .workspace .pq-bazi-sections button{flex:none;padding:10px 12px;font-size:13px}
 .workspace .pq-result-actions{justify-content:flex-start}
 .workspace .document-actions{flex-wrap:wrap}
}
@media print{.pq-result-actions{display:none!important}}

.pq-calculator .pq-download{background:#fff;border:0;border-bottom:1px solid var(--pq-tool-border);border-radius:0;padding:0 0 18px;margin-bottom:24px}
.pq-calculator .pq-download h2{font-size:15px;margin:0;color:#5a6b60;font-weight:400}
.pq-calculator .pq-download-head{gap:12px}
.pq-calculator .pq-hex-lines{max-width:218px}
.pq-calculator .pq-hex-line{padding-left:26px;padding-right:48px}
.pq-calculator .pq-hex-line small{right:0;top:auto;width:42px;text-align:left;line-height:1.2}
@media(max-width:600px){.pq-calculator .pq-download-buttons{gap:6px}.pq-calculator .pq-download-buttons button{font-size:13px;padding-inline:10px}.pq-calculator .pq-hex h3{min-height:0}.pq-calculator .pq-hex .pq-kicker{font-size:12px}}

/* Number reading starts with a confirmed natal profile, then an identifier. */
.pq-number-workspace .pq-number-steps{display:flex;gap:24px;list-style:none;padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--pq-tool-border);font-size:15px;flex-wrap:wrap}
.pq-number-steps li{display:flex;gap:10px;align-items:center;color:#64736b}.pq-number-steps b{display:grid;place-items:center;width:28px;height:28px;border:1px solid #c9d7cf;border-radius:50%;font-size:14px}.pq-number-steps [aria-current=step]{color:#175d3e;font-weight:700}.pq-number-steps [aria-current=step] b{background:#175d3e;border-color:#175d3e;color:white}
.pq-number-workspace .pq-calc-layout{grid-template-columns:330px minmax(0,1fr)}
.pq-number-workspace .pq-calc-input{align-self:start;position:static}
.pq-number-workspace .pq-calc-heading p,.pq-number-workspace .pq-calc-results p,.pq-number-workspace .pq-calc-results li{font-size:16px;line-height:1.8}
.pq-number-workspace .pq-calc-note,.pq-number-workspace .pq-calc-privacy{font-size:14px;line-height:1.75}
.pq-number-entry{border:1px solid var(--pq-tool-border);padding:24px;margin:0 0 28px;border-radius:10px;background:#f7faf8}
.pq-number-entry h2,.pq-number-natal>h2{font-size:23px;margin:0 0 16px}
.pq-number-entry-fields{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px}.pq-number-entry-fields label{display:flex;flex-direction:column;gap:8px;font-size:14px;min-width:0}.pq-number-entry-fields [data-slot=native-select-wrapper]{width:100%}.pq-number-entry>button{margin-top:14px}
.pq-number-applied p{font-size:15px;line-height:1.8;margin:8px 0}.pq-number-applied button{margin:12px 0}
.pq-number-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--pq-tool-border);border:1px solid var(--pq-tool-border);margin:20px 0}.pq-number-pillars>div{display:flex;flex-direction:column;gap:8px;padding:16px 12px;background:white}.pq-number-pillars span,.pq-number-pillars small{font-size:14px}.pq-number-pillars strong{font-size:21px;line-height:1.5}.pq-number-pillars>div:nth-child(3){background:#f1f7f3}
.pq-number-result-head h2,.pq-number-digits{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.pq-number-result-head h2{font-size:clamp(24px,3vw,32px);margin:8px 0;letter-spacing:.02em;line-height:1.5}
.pq-number-workspace .pq-formula li{overflow-wrap:anywhere}
.pq-number-boundary{border-left:3px solid #a58a43;padding:16px 20px;background:#faf8f0;margin:22px 0}.pq-number-boundary h3{font-size:18px;margin:0 0 8px}.pq-number-boundary p{margin:0}
@media(max-width:1100px){.pq-number-entry-fields{grid-template-columns:1fr}.pq-number-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.pq-number-workspace .pq-calc-layout{grid-template-columns:1fr}.pq-number-steps{gap:12px!important}.pq-number-entry{padding:20px}.pq-number-workspace h1{font-size:28px}.pq-number-workspace .pq-calc-heading{gap:16px;flex-wrap:wrap}.pq-number-workspace .pq-calc-input{padding:20px}}
/* Original learning documents, kept alongside the edited illustrated lesson. */
.pq-star-source{display:block;padding:12px 0 14px;margin-top:4px;border-top:1px solid var(--line,#dce4de);color:var(--green,#175d3e);font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.pq-star-source:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.pq-article-source-download{margin:32px 0 24px}
.pq-article-source-download .pq-doc{border:1px solid var(--line,#dce4de);padding:20px}
