@font-face{font-family:BZCJK;src:url(fonts/BaziCJK.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:BZThai;src:url(fonts/NotoSansThai.ttf) format('truetype');font-weight:100 900;font-display:swap}
.bzfp{--bzfp-accent:#8b6224;--bzfp-soft:#faf7f0;--bzfp-line:#e4dac9;font-family:BZThai,BZCJK,system-ui,sans-serif;font-size:16px;line-height:1.8;color:#282622;max-width:1220px;margin:30px auto;container-type:inline-size;overflow-wrap:anywhere}.bzfp,.bzfp *{box-sizing:border-box}.bzfp [hidden]{display:none!important}.bzfp h2,.bzfp h3,.bzfp h4{font-family:inherit;line-height:1.5;margin:0 0 14px;color:#282622}.bzfp h2{font-size:clamp(28px,3vw,38px)}.bzfp h3{font-size:23px}.bzfp h4{font-size:17px}.bzfp p{margin:0 0 14px}.bzfp-hero{padding:30px;background:var(--bzfp-soft);border:1px solid var(--bzfp-line);border-radius:16px}.bzfp-eyebrow{font-size:12px;letter-spacing:.12em;color:var(--bzfp-accent);font-weight:700}.bzfp-status{padding:16px 20px;margin:22px 0!important;border-left:4px solid #36805d;border-radius:6px;background:#edf5f1}.bzfp-error{border-color:#a95c22;background:#fff2e8;color:#703d1c}.bzfp-controls{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:22px 0}.bzfp-controls label{flex:1 1 120px;font-weight:600}.bzfp-controls .bzfp-wide{flex:3 1 280px}.bzfp input,.bzfp select{display:block;width:100%;max-width:100%;min-height:48px;font:inherit;padding:10px 12px;color:#282622;background:#fff;border:1px solid #bdb3a4;border-radius:8px;margin-top:6px}.bzfp .bzfp-button{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:14px;font-weight:600;line-height:1.6;min-height:46px;padding:10px 18px;border:1px solid var(--bzfp-accent);border-radius:8px;background:var(--bzfp-accent);color:#fff;cursor:pointer;text-decoration:none}.bzfp .bzfp-secondary{background:#fff;color:var(--bzfp-accent)}.bzfp button:disabled{opacity:.55;cursor:wait}.bzfp button:focus-visible,.bzfp input:focus-visible,.bzfp select:focus-visible,.bzfp summary:focus-visible,.bzfp a:focus-visible{outline:3px solid #1475b3;outline-offset:3px}.bzfp-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.bzfp-login{font-size:14px;color:var(--bzfp-accent);padding:10px 0}.bzfp-note{font-size:13px;color:#6c655a}.bzfp-options{padding:18px 22px;background:var(--bzfp-soft);border:1px solid var(--bzfp-line);border-radius:10px}.bzfp summary{cursor:pointer;font-weight:600}.bzfp-summary{padding:25px;border:1px solid var(--bzfp-line);background:var(--bzfp-soft);border-radius:12px;margin:25px 0}.bzfp-dm{font-size:22px;font-weight:600;color:var(--bzfp-accent)}.bzfp-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:25px 0}.bzfp-pillar{border:1px solid var(--bzfp-line);border-top:3px solid var(--bzfp-accent);border-radius:12px;padding:22px 15px;text-align:center;background:#fff}.bzfp-pillar h3{font-size:18px}.bzfp-char{font-family:BZCJK,sans-serif;font-size:54px;line-height:1.4;font-weight:400}.bzfp-roman{font-size:13px}.bzfp-god{border-top:1px solid var(--bzfp-line);padding-top:14px;margin-top:14px!important;font-size:12px}.bzfp-wood{color:#2b724a}.bzfp-fire{color:#ac4235}.bzfp-earth{color:#947030}.bzfp-metal{color:#596b7c}.bzfp-water{color:#285e94}.bzfp-bg-wood{background:#2b724a}.bzfp-bg-fire{background:#ac4235}.bzfp-bg-earth{background:#947030}.bzfp-bg-metal{background:#596b7c}.bzfp-bg-water{background:#285e94}.bzfp-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bzfp-panel{padding:25px;border:1px solid var(--bzfp-line);border-radius:12px;margin:22px 0;background:#fff}.bzfp-result-grid .bzfp-panel{margin:0}.bzfp-element-row{display:grid;grid-template-columns:65px minmax(0,1fr) 48px;gap:12px;align-items:center;margin:14px 0;font-size:14px}.bzfp-bar{height:12px;background:#eee9df;border-radius:8px;overflow:hidden}.bzfp-fill{display:block;height:100%;border-radius:8px}.bzfp-hidden-row{border-bottom:1px solid var(--bzfp-line);padding:18px 0}.bzfp-hidden-row ul{padding-left:22px;font-size:14px}.bzfp-hidden-row li{margin:8px 0}.bzfp-method p{margin-top:16px}.bzfp-boundary-note{padding:14px;border-left:3px solid #ac6a26;background:#fff7eb;font-size:13px}
@container(max-width:800px){.bzfp-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.bzfp-result-grid{grid-template-columns:1fr}}@container(max-width:500px){.bzfp-hero,.bzfp-panel,.bzfp-summary{padding:21px}.bzfp-controls{gap:12px}.bzfp-controls label{flex:1 1 calc(50% - 12px)}.bzfp-options .bzfp-controls label{flex-basis:100%}.bzfp-pillars{gap:10px}.bzfp-pillar{padding:18px 10px}.bzfp-pillar h3{font-size:16px}.bzfp-char{font-size:46px}.bzfp-actions .bzfp-button{flex:1 1 150px}.bzfp-controls .bzfp-wide{flex-basis:100%}}
