/* V15 - 八字独立页面：水墨视觉、出生资料、报告称呼。只做呈现，不修改四柱算法。 */
#bazi.v15-bazi{background:#f6f2e8;color:#1d3d34;scroll-margin-top:73px;padding:0 0 66px!important;position:relative}
#bazi .v15-bazi-banner{background:linear-gradient(90deg,#f9f6ed 0%,#f9f6ede9 35%,#f9f6ed52 58%,#f9f6ed0b 89%),url('ink-bazi.webp') right center/auto 112% no-repeat,#e6e7dc;position:relative;min-height:280px;overflow:hidden;border-bottom:1px solid #d4c29f;box-shadow:0 5px 18px #2a3b2910}
#bazi .v15-bazi-banner:after{content:' ';height:3px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(90deg,#987a49,transparent 50%)}
#bazi .v15-banner-content{height:280px;display:flex;align-items:center;position:relative;z-index:1}
#bazi .v15-banner-copy{width:60%;max-width:650px}
#bazi .v15-kicker{display:block;font:600 11px/1.8 var(--sans);letter-spacing:3px;color:#9b7848}
#bazi .v15-banner-copy h2{font:700 clamp(33px,3.3vw,48px)/1.38 var(--serif);margin:12px 0;color:#123b30;letter-spacing:1.5px}
#bazi .v15-banner-copy h2 i{font-style:normal;color:#ad8a57}
#bazi .v15-banner-copy p{font-size:13px;color:#586c61;line-height:2;max-width:460px;margin:0 0 17px}
#bazi .v15-banner-pills{display:flex;flex-wrap:wrap;gap:7px}
#bazi .v15-banner-pills span{display:inline-block;color:#725d3d;background:#f8f2e8d4;border:1px solid #d6bf92;border-radius:20px;font-size:11px;padding:3px 11px}
#bazi .v15-bazi-content{padding-top:23px;padding-bottom:28px}
#bazi .v15-path{border:1px solid #ddcfb3;background:#fffcf6;border-radius:12px;min-height:64px;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:770px;margin:0 auto 30px;box-shadow:0 6px 20px #1e3d2f0b}
#bazi .v15-step{display:flex;align-items:center;gap:8px;font-size:12px;color:#728175;white-space:nowrap}
#bazi .v15-step>b{height:32px;width:32px;border:1px solid #d6c4a3;display:grid;place-items:center;background:#f2ebde;border-radius:50%;color:#997a44;font-size:12px}
#bazi .v15-step.current{color:#134839;font-weight:700}#bazi .v15-step.current b{background:#1d4b3d;color:#f5e4b6;border-color:#1d4b3d}
#bazi .v15-path-line{height:1px;background:linear-gradient(90deg,#dacaaa,#bfa77c);flex:1;min-width:12px;max-width:75px}
#bazi .v15-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 22px}
#bazi .v15-section-tag{font-size:11px;letter-spacing:2px;color:#987345}
#bazi .v15-heading h3{font:700 clamp(27px,2.6vw,35px)/1.5 var(--serif);margin:6px 0;color:#143e33}
#bazi .v15-heading p{color:#718075;font-size:13px;margin:0;line-height:1.9}
#bazi .v15-title-seal{flex:0 0 auto;border:2px solid #bd8b6a;color:#a26b47;font:22px/1.08 var(--serif);padding:8px;transform:rotate(8deg)}
#bazi .tool-layout.v15-tool-layout{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;gap:18px}
#bazi .v15-form-panel{position:static!important;padding:0!important;border:1px solid #cfbc95!important;border-radius:15px!important;overflow:hidden;background:#fffdf7!important;box-shadow:0 13px 35px #1e3d2a12}
#bazi .v15-form-head{padding:21px 23px;background:linear-gradient(110deg,#173e34,#2d6351);display:flex;align-items:center;gap:15px;color:#fff;position:relative;overflow:hidden}
#bazi .v15-form-head:after{content:'☯';position:absolute;right:-9px;bottom:-58px;font-size:150px;opacity:.055;line-height:1}
#bazi .v15-form-icon{height:49px;width:49px;flex-shrink:0;display:grid;place-items:center;border:1px solid #d0b478;border-radius:50%;font:29px var(--serif);color:#e2c890;background:#1c4b3b}
#bazi .v15-form-head h3{font:700 23px/1.3 var(--serif);margin:3px 0 4px;color:#fff8e9}
#bazi .v15-form-head p{font-size:12px;color:#d0dccf;margin:0}
#bazi .v15-small-en{font-size:9px;letter-spacing:2.2px;color:#c9b182}
#bazi form#baziForm{padding:20px 22px 22px}
#bazi .v15-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 11px}
#bazi .v15-field{min-width:0}
#bazi .v15-field-wide{grid-column:1/-1}
#bazi .v15-field .input-label{font-size:12px;font-weight:650;color:#375347;margin:0 0 8px;display:block}
#bazi .v15-field .input-label em{font-size:10px;font-style:normal;color:#978870;font-weight:400;margin-left:4px}
#bazi .v15-field .input-label b{font-size:12px;color:#bd7d4e}
#bazi .v15-field input,#bazi .v15-field select{width:100%;min-width:0;border:1px solid #ded3bf;background:#fffefa;color:#193a30;border-radius:7px;min-height:44px;height:44px;padding:0 12px;margin:0;font-size:14px}
#bazi .v15-field input:focus,#bazi .v15-field select:focus,#bazi .v15-advanced select:focus{outline:2px solid #c5ad79;outline-offset:1px;border-color:#c5ad79}
#bazi .v15-field input::placeholder{color:#abb0a6}
#bazi .v15-field small{display:block;color:#9d9485;font-size:10px;line-height:1.7;margin:4px 1px 0}
#bazi .v15-advanced{border:1px solid #e3d8c3;border-radius:9px;overflow:hidden;margin:20px 0 18px;background:#f7f3eb}
#bazi .v15-advanced summary{padding:12px 14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:12px;font-weight:650;color:#38584b}
#bazi .v15-advanced summary small{font-size:10px;font-weight:400;color:#9c8b6c}
#bazi .v15-advanced-body{padding:0 14px 13px}
#bazi .v15-advanced-body label{font-size:11px;display:block;margin-bottom:6px;color:#58695c}
#bazi .v15-advanced-body select{background:#fffefa;border:1px solid #daceb6;color:#375044;border-radius:5px;padding:8px;width:100%;font-size:12px;min-height:39px}
#bazi .v15-advanced-body p{font-size:10px;line-height:1.8;color:#837c6c;margin:8px 0 0}
#bazi .v15-advanced-body p strong{color:#816642}
#bazi .v15-submit-well{border-top:1px solid #e6dbcb;padding-top:13px}
#bazi .v15-privacy-line{text-align:center;font-size:11px;color:#668274;margin:0 0 12px}
#bazi .v15-privacy-line span{color:#b39356;margin-right:4px}
#bazi .v15-submit{width:100%;background:linear-gradient(115deg,#194b3d,#286e58)!important;color:#fff8e7!important;border:1px solid #bc9f62!important;min-height:52px;border-radius:8px;font-size:15px;letter-spacing:1px}
#bazi .v15-demo-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;margin-top:12px;color:#9f9583;font-size:10px}
#bazi .v15-demo-actions button{border:0;background:none;color:#936e36;text-decoration:underline;padding:5px 0;font-size:11px}
#bazi .v15-result-panel{padding:22px!important;border:1px solid #d7c49e!important;border-radius:15px!important;background:linear-gradient(145deg,#fffefa,#f8f4e8)!important;min-width:0;overflow:hidden;box-shadow:0 13px 35px #1e3d2a0b}
#bazi .v15-empty-art{text-align:center;min-height:600px;background:linear-gradient(180deg,#f8f6eed9,#fff9eaba),url('ink-bazi.webp') center top/auto 290px no-repeat;padding:27px 20px 30px;border-radius:10px;border:1px solid #e4d5b8;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
#bazi .v15-empty-kicker{font:600 11px Georgia,serif;letter-spacing:4px;color:#8b734e}
#bazi .v15-empty-luopan{border:2px solid #c6a877;border-radius:50%;height:74px;width:74px;display:grid;place-items:center;background:#1d493c;color:#e4c58e;font-size:45px;box-shadow:0 0 0 7px #e0d5b55a;margin:15px 0 10px}
#bazi .v15-empty-art h3{font:700 26px var(--serif);color:#183f35;margin:4px 0 8px}
#bazi .v15-empty-art p{font-size:12px;color:#748276;max-width:360px;line-height:1.9;margin:0 0 24px}
#bazi .v15-empty-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;width:100%;max-width:405px}
#bazi .v15-empty-pillars>div{background:#fffcf5a6;border:1px solid #d9c9ad;border-radius:6px;padding:12px 4px}
#bazi .v15-empty-pillars small{display:block;font-size:11px;color:#9a8d75}
#bazi .v15-empty-pillars b{font:29px var(--serif);color:#295b49}
#bazi .v15-empty-motto{margin-top:30px;font-size:11px;color:#9e8560;letter-spacing:1px}
#bazi .v15-report-welcome{margin-bottom:19px;padding:18px 19px;border-radius:10px;border:1px solid #c2a974;background:linear-gradient(120deg,#173f34,#275a49);color:#f4ead5;position:relative;overflow:hidden}
#bazi .v15-report-welcome:before{content:'命';position:absolute;top:-50px;right:0;font:160px/1 var(--serif);color:#f1dfb3;opacity:.065}
#bazi .v15-report-welcome .v15-welcome-kicker{font-size:10px;letter-spacing:2px;color:#d1b784}
#bazi .v15-report-welcome h3{margin:7px 0 4px;color:#fff8e9;font:700 clamp(20px,2vw,27px)/1.5 var(--serif)}
#bazi .v15-report-welcome p{margin:6px 0 12px;color:#cad8ce;font-size:12px;line-height:1.85}
#bazi .v15-welcome-meta{display:flex;flex-wrap:wrap;gap:7px}
#bazi .v15-welcome-meta span{border:1px solid #789a85;background:#f2f5e90b;border-radius:20px;color:#f3e4be;padding:3px 9px;font-size:10px}
#bazi .v15-welcome-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
#bazi .v15-welcome-actions button{border:1px solid #c7b282;background:#fffbf1;color:#255444;border-radius:20px;padding:6px 10px;font-size:11px}
#bazi .v15-info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:24px}
#bazi .v15-info-cards article{display:flex;gap:12px;background:#fffcf5;border:1px solid #deceb1;border-radius:9px;padding:15px 14px;min-width:0}
#bazi .v15-info-icon{width:33px;height:33px;border:1px solid #c7ab73;background:#f4e9d7;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;color:#93703f;font:18px var(--serif)}
#bazi .v15-info-cards h4{margin:0 0 5px;font:700 15px var(--serif);color:#245143}
#bazi .v15-info-cards p{font-size:11px;line-height:1.85;margin:0;color:#748277}
#bazi .v15-method{line-height:1.9;font-size:11px;color:#879083;margin-top:23px}
@media(max-width:1000px){#bazi .tool-layout.v15-tool-layout{grid-template-columns:minmax(0,1fr)}#bazi .v15-empty-art{min-height:420px}#bazi .v15-form-panel{max-width:none}}
@media(max-width:760px){
 #bazi.v15-bazi{padding-bottom:60px!important}
 #bazi .v15-bazi-banner{min-height:260px;background:linear-gradient(180deg,#f7f3eae8 0%,#f7f3eaf1 45%,#f7f3ea63 76%,#f7f3ea26 100%),url('ink-bazi.webp') center bottom/auto 72% no-repeat,#f6f1e4}
 #bazi .v15-banner-content{height:260px;align-items:flex-start;padding-top:20px}
 #bazi .v15-banner-copy{width:100%}
 #bazi .v15-kicker{font-size:9px;letter-spacing:2px}
 #bazi .v15-banner-copy h2{font-size:clamp(26px,7vw,34px);margin:10px 0 9px;letter-spacing:.4px}
 #bazi .v15-banner-copy p{max-width:340px;font-size:11px;line-height:1.7;margin:0 0 11px}
 #bazi .v15-banner-pills span{font-size:10px;padding:2px 9px}
 #bazi .v15-bazi-content{padding-top:16px}
 #bazi .v15-path{gap:6px;margin-bottom:21px;padding:8px 10px;min-height:52px}
 #bazi .v15-step{gap:4px;font-size:10px}
 #bazi .v15-step>b{height:27px;width:27px;font-size:10px}
 #bazi .v15-path-line{min-width:3px}
 #bazi .v15-heading{margin:0 0 16px}
 #bazi .v15-heading h3{font-size:25px}
 #bazi .v15-heading p{font-size:11px}
 #bazi .v15-title-seal{display:none}
 #bazi .v15-form-head{padding:16px 16px;gap:10px}
 #bazi .v15-form-head h3{font-size:21px}
 #bazi .v15-form-head p{font-size:10px}
 #bazi form#baziForm{padding:17px 15px 20px}
 #bazi .v15-form-grid{gap:14px 9px}
 #bazi .v15-field .input-label{font-size:11px}
 #bazi .v15-field input,#bazi .v15-field select{font-size:13px;padding:0 8px;height:43px;min-height:43px}
 #bazi .v15-field small{font-size:9px}
 #bazi .v15-result-panel{padding:13px!important}
 #bazi .v15-empty-art{min-height:390px;background-size:auto 220px;padding:19px 12px}
 #bazi .v15-empty-art h3{font-size:22px}
 #bazi .v15-info-cards{grid-template-columns:1fr;gap:8px;margin-top:16px}
 #bazi .v15-info-cards article{padding:12px 14px}
 #bazi .v15-report-welcome{padding:15px 13px}
}
@media(max-width:370px){#bazi .v15-step{font-size:9px}#bazi .v15-step>b{height:24px;width:24px}#bazi .v15-form-grid{grid-template-columns:1fr 1fr;gap:13px 7px}#bazi .v15-field input,#bazi .v15-field select{font-size:12px;padding:0 6px}#bazi .v15-banner-copy h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){#bazi .v15-result-panel{scroll-behavior:auto}}

#bazi .v15-demo-tip{background:#f4efe3;border-left:3px solid #bd9858;padding:8px 10px;margin:0 0 16px;font-size:11px;color:#88764f;line-height:1.7}

/* Emphasize requested optional personal-name field without treating it as a calculation input */
#bazi .v15-form-grid > .v15-field:first-child input{border-color:#bdad8c;background:#fffdf6}
#bazi .v15-form-grid > .v15-field:first-child .input-label{color:#1e5743}
