@charset "UTF-8";
:root{--bg:#f5f5f5;--paper:#ffffff;--ink:#242424;--muted:#757575;--line:#dedede;--purple:#1b1b1b;--purple-soft:#ededed;--dark:#111111;--accent:#666666;--green:#447463;--red:#a45c65;--gold:#a7863f;--hua-lu:#3c7957;--hua-quan:#79558f;--hua-ke:#386f9b;--hua-ji:#ae4e50;--sans:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--serif:"Noto Serif SC","Songti SC","SimSun",serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--purple);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #d4d4d4;border-color:var(--purple)}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:30px;letter-spacing:1px;line-height:1.4;font-weight:600}h2{font-size:19px;font-weight:600}h3{font-size:15px;font-weight:600}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:#f0ede7;border-right:1px solid var(--line);padding:31px 20px 22px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:40px}.brand-icon{width:42px;height:44px;border-radius:13px;background:var(--dark);color:#f2e2c9;font-size:35px;line-height:40px;text-align:center}.brand strong{font-family:var(--serif);font-size:21px;letter-spacing:3px;font-weight:600}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:1px}.side-label{font-size:10px;letter-spacing:2px;color:#929292;margin:0 12px 13px}.nav-item{width:100%;background:transparent;display:flex;gap:13px;align-items:center;text-align:left;padding:11px 13px;margin-bottom:7px;border-radius:8px;color:#6d6d6d;font-size:13px;transition:.18s}.nav-item>span:first-child{width:18px;font-size:20px;line-height:1}.nav-item.active{background:var(--dark);color:#fff8ed;box-shadow:0 3px 9px #3b3b3b14}.nav-item:hover:not(.active){background:#e4e4e4;color:var(--ink)}.count{font-size:10px;background:#d8d8d8;padding:0 6px;border-radius:4px;margin-left:auto}.nav-item.active .count{background:#5b5b5b}.saved-label{margin-top:33px;display:flex;justify-content:space-between}.saved-label button{background:transparent;color:var(--muted);font-size:17px}.saved-list{font-size:12px;max-height:260px;overflow:auto}.saved-empty{padding:4px 12px;color:#aba3a4;font-size:11px}.saved-row{display:flex;gap:3px}.saved-row .saved-open{flex:1;background:transparent;padding:7px 10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-row:hover{background:#e8e4df;border-radius:5px}.saved-delete{background:transparent;color:#aaa;opacity:0}.saved-row:hover .saved-delete,.saved-delete:focus{opacity:1}.side-note{margin-top:auto;padding:35px 12px 0;color:#868686;font-size:11px}.side-note strong{display:block;font-weight:500;color:#676767;margin-top:10px}.side-note p{margin-top:6px;line-height:1.9}.tiny-star{color:var(--accent);font-size:25px}.version{font-size:9px;display:block;margin-top:21px;letter-spacing:1px}.main-shell{margin-left:220px;width:calc(100% - 220px)}.topbar{height:77px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:#fffefa91;font-size:12px;color:#868686}.topbar #breadcrumb span{padding:0 14px;color:#bbbbbb}.top-actions{display:flex;align-items:center;gap:17px}.quiet{background:transparent;font-size:12px;color:#727272}.quiet kbd{border:1px solid #d9d9d9;padding:0 4px;border-radius:3px;margin-left:13px;font-size:10px}.btn{background:var(--dark);color:#fff9ef;padding:11px 19px;border-radius:7px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.6}.btn:hover{background:#4f4f4f}.btn.small{padding:8px 13px;font-size:12px}.btn.secondary{background:#fffdf8;border:1px solid #d9d9d9;color:var(--ink)}.btn.secondary:hover{background:#efefef}.btn.ghost{background:#f1f1f1;color:var(--purple)}.btn.full{width:100%}main{max-width:1560px;margin:auto;padding:33px 38px 26px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px;gap:20px}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:8px}.page-heading p{color:var(--muted);font-size:12px;margin-top:10px}.page-heading .helper{font-size:11px;color:#878787;max-width:215px;text-align:right;border-left:1px solid #d4d4d4;padding-left:18px;line-height:1.8}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat{display:flex;gap:13px;align-items:center;border:1px solid var(--line);background:#fffefa9e;padding:12px 16px;border-radius:9px}.stat-num{font-family:var(--serif);font-size:25px;color:#535353}.stat-name{font-size:11px;color:#7c7c7c}.stat-name small{display:block;color:#a3a3a3;font-size:9px}.workspace{display:grid;grid-template-columns:315px minmax(0,1fr);gap:22px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:15px}.panel-head small{font-size:10px;color:var(--muted)}.panel-body{padding:20px}.segmented{display:flex;background:#eeeeee;padding:4px;border-radius:7px;margin-bottom:18px}.segmented button{flex:1;font-size:12px;background:transparent;color:var(--muted);padding:6px 5px;border-radius:5px}.segmented button.active{background:#fffefb;color:var(--ink);box-shadow:0 2px 4px #2e2e2e0b}.field{margin-bottom:15px}.field label{font-size:11px;color:#676767;display:block;margin-bottom:6px}.field input,.field select,.field textarea,select.control,input.control{width:100%;border:1px solid #dadada;background:#fffefa;border-radius:6px;height:38px;padding:7px 10px;color:var(--ink);font-size:12px;min-width:0}.field textarea{height:80px;resize:vertical}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.subhead{font-size:11px;color:#6c6c6c;font-weight:600;margin:17px 0 11px;display:flex;justify-content:space-between}.subhead span{font-size:10px;color:#9c9c9c;font-weight:400}.checklabel{font-size:10px!important;display:flex!important;align-items:center;gap:5px;margin:6px 0 0!important;color:#929292!important}.checklabel input{width:13px;height:13px;margin:0;accent-color:var(--purple)}.hint{font-size:10px;color:#949494;line-height:1.8;margin-top:6px}.hua-row{display:grid;grid-template-columns:31px 1fr 1fr;gap:6px;align-items:center;margin-bottom:9px}.hua-pill{border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;padding:1px 6px;border:1px solid transparent;line-height:1.8;font-weight:600}.hua-pill.lu{color:var(--hua-lu);background:#eaf2ee}.hua-pill.quan{color:var(--hua-quan);background:#eee7f5}.hua-pill.ke{color:var(--hua-ke);background:#eaf0f7}.hua-pill.ji{color:var(--hua-ji);background:#f7e9ea}.hua-row .hua-pill{font-size:12px;height:33px;padding:0}.hua-row select{font-size:10px;height:33px;padding:4px 3px}.form-divider{border-top:1px solid var(--line);margin:18px -20px 16px}.form-actions{display:flex;gap:8px;margin-top:13px}.form-actions .btn{flex:1;font-size:11px;padding:8px 5px}.form-foot{display:flex;justify-content:center;gap:17px;margin-top:13px}.text-btn{background:transparent;color:var(--purple);font-size:11px;padding:2px 0;border-bottom:1px solid transparent}.text-btn:hover{border-color:var(--purple)}.workspace-right{min-width:0}.chart-panel{padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:12px}.section-title small{font-size:10px;color:var(--muted)}.legend{display:flex;gap:10px;font-size:9px;color:var(--muted)}.legend i{width:5px;height:5px;border-radius:50%;display:inline-block;background:#5f5f5f;margin-right:3px}.legend .unknown-dot{background:#c6c6c6}.chart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(116px,auto));border:1px solid #dcdcdc;border-radius:8px;overflow:hidden;gap:1px;background:#dcdcdc;position:relative}.palace-tile{background:#fffefa;padding:9px 11px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;transition:.18s;position:relative;overflow:hidden;min-width:0;min-height:116px}.palace-tile:hover{background:#f2f2f2}.palace-tile.selected{background:#ececec;box-shadow:inset 0 0 0 1.5px #777777}.palace-tile.related{background:#f9f6ef}.tile-top{display:flex;justify-content:space-between;gap:8px;width:100%;font-size:10px;color:#a3a3a3}.tile-star{font-family:var(--serif);font-size:17px;margin:5px 0 3px;color:#474747;letter-spacing:.5px}.tile-star.unknown{font-family:var(--sans);font-size:11px;color:#a9a9a9}.tile-aux{font-size:9px;color:#949494;line-height:1.5;min-height:14px}.tile-bottom{display:flex;align-items:center;gap:3px;margin-top:auto;width:100%;padding-top:6px;font-size:10px;color:#6b6b6b;flex-wrap:wrap}.tile-bottom .palace-name{margin-right:auto}.tile-status{position:absolute;right:7px;bottom:7px;opacity:.5;font-size:8px}.body-mark{font-size:8px;border:1px solid #bbbbbb;padding:0 3px;border-radius:3px}.chart-center{grid-row:2/4;grid-column:2/4;background:#f2f2f2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;position:relative}.center-star{font-size:37px;color:#989898;line-height:1.4}.chart-center h3{font-family:var(--serif);font-size:19px;margin:7px 0;letter-spacing:1px}.chart-center p{font-size:10px;color:#929292;line-height:2}.center-line{height:1px;background:#d2d2d2;width:40px;margin:12px auto}.center-count{font-size:11px;color:#6b6b6b}.chart-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.chart-tools .text-btn{font-size:10px}.empty-chart .chart-center{background:#f4f4f4}.status-box{padding:12px 14px;border-radius:7px;background:#efefef;color:#6f6f6f;font-size:11px;margin-top:13px;border:1px solid #dfdfdf}.status-box.error{background:#faf0eb;color:#9b6b55;border-color:#ead8cd}.status-box.success{background:#edf4ef;color:#65816d;border-color:#dfe8e0}.candidate-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;max-height:150px;overflow:auto}.candidate-list button{background:white;border:1px solid #d2d2d2;border-radius:4px;padding:3px 7px;font-size:10px;color:#696969}.detail-panel{margin-top:20px}.detail-panel .panel-body{padding:20px 23px}.detail-title{display:flex;align-items:center;gap:12px}.detail-title h2{font-family:var(--serif);font-size:22px;letter-spacing:1px}.detail-title span{color:#a0a0a0;font-size:11px}.badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#ededed;color:var(--purple);font-size:10px}.detail-topic{font-size:12px;color:#888888;margin:10px 0 18px}.detail-row{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.detail-row>.label{font-size:10px;color:#979797;padding-top:2px;letter-spacing:1px}.evidence-snippet{font-size:12px;line-height:1.9;margin-bottom:13px;color:#5a5a5a}.evidence-snippet:last-child{margin-bottom:0}.evidence-snippet strong{font-size:12px;color:#484848;font-weight:600}.source-link{font-size:9px;color:#8a8a8a;margin-left:5px;padding:0;background:transparent;white-space:nowrap}.condition-list{font-size:10px;color:#939393;margin:0;padding-left:14px;line-height:1.9}.trine-list{display:flex;gap:7px;flex-wrap:wrap}.trine-card{padding:7px 10px;border:1px solid #e2e2e2;border-radius:5px;background:#f8f8f8;flex:1;min-width:110px;font-size:10px;color:#8b8b8b}.trine-card strong{display:block;color:#5e5e5e;font-weight:500;font-size:11px}.report-panel{margin-top:20px}.report-lead{padding:17px 22px;background:#f0f0f0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center}.report-lead .report-icon{font-size:25px;color:#898989}.report-lead p{font-size:11px;color:#8d8d8d}.report-content{padding:19px 22px;font-size:12px}.report-content p{margin:8px 0;color:#6e6e6e}.report-content strong{color:#4e4e4e;font-weight:600}.axis-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:9px;font-size:11px}.axis-row .hua-pill{flex-shrink:0}.all-palaces{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:18px}.summary-card{background:#fffefa;border:1px solid var(--line);border-radius:8px;padding:14px 15px;text-align:left;min-height:139px;display:flex;flex-direction:column}.summary-card:hover{border-color:#aaaaaa}.summary-card h3{font-family:var(--serif);font-size:17px;color:#636363}.summary-card .summary-stars{font-size:11px;color:#999999;margin:5px 0}.summary-card p{font-size:10px;color:#949494;line-height:1.8}.summary-card .read-more{font-size:9px;color:#9e9e9e;margin-top:auto;padding-top:8px}.library-layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:24px;align-items:start}.filter-panel{padding:23px}.filter-label{font-size:10px;color:#909090;letter-spacing:1px;margin-bottom:12px}.chip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:24px}.chip{background:#f4f4f4;color:#7b7b7b;font-size:11px;padding:7px 3px;border:1px solid transparent;border-radius:5px}.chip.active{background:var(--purple-soft);color:var(--purple);box-shadow:inset 0 0 0 1px #9a9a9a;font-weight:600}.chip:hover:not(.active){border-color:#bebebe}.chip-grid.palace-chips{grid-template-columns:repeat(2,1fr)}.lookup-search{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:10px 14px;font-size:12px;margin-bottom:17px}.lookup-card{padding:25px 27px;margin-bottom:16px}.star-name{font-family:var(--serif);font-size:35px;letter-spacing:3px;color:#4f4f4f}.star-properties{font-size:11px;color:#9d9d9d;margin-top:3px}.tag-row{display:flex;gap:6px;margin-top:13px;flex-wrap:wrap}.tag{padding:2px 8px;border:1px solid #dadada;border-radius:4px;color:#8c8c8c;font-size:9px;background:#f8f8f8}.lookup-card .section-subtitle{font-family:var(--serif);font-size:22px;margin-bottom:13px}.raw-text{white-space:pre-wrap;font-size:13px;line-height:2;color:#5f5f5f;overflow-wrap:anywhere}.raw-block{margin-top:17px;padding-top:19px;border-top:1px solid var(--line)}.raw-block h3{color:#5a5a5a;font-size:12px;margin-bottom:9px}.card-meta{display:flex;justify-content:space-between;gap:10px;color:#a0a0a0;font-size:9px;margin-top:17px}.source-kind{font-size:9px;color:#929292;letter-spacing:1px}.issue-notice{background:#fcf2e8;color:#a78361;border:1px solid #efdfce;border-radius:6px;padding:10px 13px;font-size:11px;line-height:1.9;margin:13px 0}.corrected-label{display:inline-flex;border-radius:4px;background:#eaf2ed;color:#5d806a;padding:2px 8px;font-size:9px}.position-card{padding:19px 23px;margin-bottom:12px}.position-card h3{font-family:var(--serif);font-size:17px;color:#5b5b5b;margin-bottom:9px}.position-card p{font-size:12px;color:#868686;line-height:1.9}.hua-tabs{display:flex;gap:11px;margin-bottom:22px}.hua-tab{flex:1;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:16px 20px;position:relative}.hua-tab strong{font-family:var(--serif);font-size:23px;display:block}.hua-tab small{font-size:10px;color:#999999}.hua-tab.active{border-color:#9a9a9a;background:#ececec}.rule-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:25px}.rule-table{width:100%;border-collapse:collapse;font-size:11px}.rule-table th,.rule-table td{border:1px solid var(--line);text-align:center;padding:8px}.rule-table th{color:#8b8b8b;font-weight:500;background:#f1f1f1}.rule-table td{color:#808080}.rule-table td.hot{background:#e2e2e2;color:#4f4f4f;font-weight:600}.rule-form{padding:22px}.rule-note{font-size:11px;color:#868686;margin-top:16px;line-height:1.9}.rule-summary{font-size:12px;color:#6a6a6a;margin:14px 0;padding:13px;border:1px solid #dadada;border-radius:6px;background:#f4f4f4}.review-intro{background:var(--dark);padding:27px 30px;border-radius:12px;color:#e7e7e7;margin-bottom:24px;display:flex;gap:25px;align-items:center}.review-intro h2{font-family:var(--serif);font-size:26px;letter-spacing:1px}.review-intro p{font-size:12px;color:#b4b4b4;margin-top:7px}.review-intro .big-num{font-size:54px;font-family:var(--serif);color:#e4caaa;line-height:1.2}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.issue-card{padding:23px}.issue-card h3{font-family:var(--serif);font-size:21px;margin:8px 0 13px}.issue-card p{font-size:12px;color:#8d8d8d}.issue-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.stats-list{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:25px}.stats-list>div{padding:13px 16px;background:var(--paper);border-radius:7px;border:1px solid var(--line);font-size:10px;color:#898989}.stats-list strong{font-family:var(--serif);font-size:23px;display:block;color:#636363}.review-bottom{font-size:12px;color:#8c8c8c;margin-top:25px}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.dialog{width:min(620px,calc(100% - 30px));max-height:85vh;border:1px solid #d8d8d8;border-radius:14px;padding:26px 29px;background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #29292938}.dialog::backdrop{background:#23232370;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-head .eyebrow{margin:0}.icon-btn{width:25px;height:25px;border-radius:5px;background:#ececec;color:#8f8f8f;font-size:21px;line-height:20px}.dialog h2{font-family:var(--serif);font-size:24px;letter-spacing:1px;margin-bottom:12px}.record-dialog .raw-text{font-size:13px}.source-location{font-size:10px;color:#949494;margin:10px 0 15px}.correction-editor{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.correction-editor label{font-size:11px;color:#7d7d7d;display:block}.correction-editor textarea{width:100%;height:120px;border:1px solid #d5d5d5;border-radius:7px;padding:11px;margin-top:8px;background:#fdfdfd;font-size:12px;resize:vertical}.correction-editor .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.dialog .choice-stars{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}.choice-stars label{font-size:11px;color:#888888;padding:4px;background:#f4f4f4;border-radius:4px}.choice-stars input{accent-color:var(--purple);margin:0 4px 0 0}.search-dialog{width:min(720px,calc(100% - 30px))}.search-input{width:100%;padding:12px 16px;border:1px solid #d4d4d4;border-radius:7px;background:white;font-size:13px}#search-results{margin-top:17px}.search-result{padding:14px 0;text-align:left;display:block;background:transparent;border-bottom:1px solid var(--line);width:100%}.search-result strong{font-family:var(--serif);font-size:17px;color:#656565}.search-result p{font-size:11px;color:#8e8e8e;margin-top:4px}.search-result small{font-size:9px;color:#adadad}#toast{position:fixed;bottom:26px;left:calc(50% + 90px);transform:translateX(-50%);padding:11px 23px;border-radius:8px;background:#373737;color:#f9f9f9;box-shadow:0 5px 25px #4040402b;font-size:12px;z-index:200;opacity:0;pointer-events:none;transition:.2s;max-width:85vw}#toast.show{opacity:1}footer{padding:22px 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:#a2a2a2;gap:16px}.empty-box{text-align:center;padding:50px 20px;color:#969696}.empty-box .big{font-family:var(--serif);font-size:26px;color:#999999;margin-bottom:8px}.empty-box p{font-size:11px}.muted{color:var(--muted)}.mobile-menu{display:none}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
@media(min-width:1440px){.workspace{grid-template-columns:340px minmax(0,1fr)}.chart-grid{grid-template-rows:repeat(4,minmax(134px,auto))}.palace-tile{min-height:134px}.tile-star{font-size:20px}.chart-center h3{font-size:23px}.chart-center p{font-size:11px}}
@media(max-width:1120px){.sidebar{width:188px;padding:26px 14px}.main-shell{margin-left:188px;width:calc(100% - 188px)}.brand strong{font-size:19px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:1.2px}.brand{gap:8px}.brand-icon{width:36px}.topbar{padding:0 23px}.top-actions{gap:10px}main{padding:28px 23px}.workspace{grid-template-columns:276px minmax(0,1fr);gap:16px}.panel-body{padding:16px}.form-divider{margin-left:-16px;margin-right:-16px}.chart-panel{padding:16px}.chart-grid{grid-template-rows:repeat(4,116px)}.palace-tile{padding:7px 8px}.tile-star{font-size:15px}.tile-aux{font-size:8px}.all-palaces{grid-template-columns:repeat(2,1fr)}.library-layout{grid-template-columns:230px 1fr}.rule-layout{grid-template-columns:245px 1fr}.page-heading .helper{display:none}.stat{padding:10px 12px;gap:8px}.stat-num{font-size:23px}}
@media(max-width:900px){.sidebar{width:165px;padding:24px 10px}.main-shell{margin-left:165px;width:calc(100% - 165px)}.brand-icon{display:none}.brand{padding-left:9px}.nav-item{font-size:12px;gap:7px}.topbar{padding:0 19px}.top-actions #global-search span,.quiet kbd{display:none}.top-actions{gap:8px}.workspace{grid-template-columns:1fr}.input-panel .panel-body{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.input-panel .segmented,.input-panel .form-actions,.input-panel .form-divider,.input-panel .form-foot,.input-panel .submit-block{grid-column:1/-1}.input-panel .subhead{grid-column:1/-1}.hua-row{grid-column:1/-1;grid-template-columns:35px 1fr 1fr}.workspace-right .chart-grid{grid-template-rows:repeat(4,125px)}.workspace-right .palace-tile{min-height:125px}.chart-center h3{font-size:22px}.tile-star{font-size:19px}.library-layout,.rule-layout{grid-template-columns:1fr}.filter-panel{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.filter-panel .filter-label{margin-bottom:2px}.filter-panel .chip-grid{grid-column:auto;margin-bottom:8px}.filter-panel .filter-group{min-width:0}.review-grid{grid-template-columns:1fr}.stats-list{grid-template-columns:repeat(2,1fr)}footer{padding:20px;font-size:8px}}
@media(max-width:640px){.app-shell{display:block}.sidebar{position:static;width:100%;padding:14px 15px 0;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{margin:0 0 13px;padding:0;gap:9px}.brand-icon{display:block;width:31px;height:33px;font-size:29px;line-height:30px;border-radius:9px}.brand strong{font-size:19px}.brand small{font-size:7px}.sidebar nav{display:flex;gap:3px;overflow-x:auto;white-space:nowrap;padding-bottom:8px}.nav-item{width:auto;flex-shrink:0;font-size:10px;padding:7px 9px;margin:0;border-radius:5px;gap:4px}.nav-item>span:first-child{font-size:14px;width:auto}.count{display:none}.side-label,.side-note,.saved-list{display:none}.main-shell{margin:0;width:100%}.topbar{height:57px;padding:0 16px}#breadcrumb{font-size:10px}.topbar #breadcrumb span{padding:0 7px}.top-actions{gap:10px}#download-offline{font-size:10px}.top-actions .btn{font-size:9px;padding:6px 8px}.quiet{font-size:16px}main{padding:25px 16px 20px}.page-heading{margin-bottom:20px}h1{font-size:26px}.page-heading p{font-size:11px;margin-top:7px}.stat-strip{gap:7px;grid-template-columns:repeat(4,1fr);margin-bottom:19px}.stat{display:block;padding:7px 11px}.stat-num{font-size:20px}.stat-name{font-size:8px}.stat-name small{display:none}.workspace{gap:18px}.input-panel .panel-body{gap:0 12px}.panel-head{padding:16px}.chart-grid{grid-template-rows:repeat(4,minmax(110px,auto))!important}.palace-tile{min-height:110px!important;padding:7px 6px}.tile-top{font-size:8px}.tile-star{font-size:15px!important;letter-spacing:0;margin-top:7px}.tile-aux{font-size:7px}.tile-bottom{font-size:9px;gap:2px}.tile-bottom .hua-pill{font-size:8px;padding:0 4px}.tile-status{display:none}.chart-center{padding:12px}.chart-center h3{font-size:17px}.chart-center p{font-size:8px}.center-star{font-size:29px}.center-count{font-size:9px}.section-title{align-items:flex-start}.section-title h2{font-size:14px}.legend{font-size:8px}.chart-tools{justify-content:flex-end;gap:9px}.detail-panel .panel-body{padding:17px}.detail-row{grid-template-columns:45px 1fr;gap:10px}.evidence-snippet{font-size:11px}.evidence-snippet strong{font-size:11px}.all-palaces{gap:9px}.summary-card{padding:12px;min-height:147px}.summary-card h3{font-size:16px}.summary-card p{font-size:9px}.filter-panel{display:block;padding:19px}.filter-panel .chip-grid{grid-template-columns:repeat(5,1fr);margin:10px 0 20px;gap:5px}.filter-panel .palace-chips{grid-template-columns:repeat(4,1fr)}.chip{font-size:10px;padding:6px 2px}.lookup-card{padding:22px}.star-name{font-size:31px}.raw-text{font-size:12px}.hua-tabs{gap:6px}.hua-tab{padding:11px 12px}.hua-tab strong{font-size:21px}.hua-tab small{font-size:8px}.review-intro{padding:23px;gap:16px}.review-intro .big-num{font-size:43px}.review-intro h2{font-size:22px}.review-intro p{font-size:10px}.dialog{padding:23px}.dialog .choice-stars{grid-template-columns:repeat(3,1fr)}.rule-table th,.rule-table td{padding:6px}.rule-table{font-size:10px}.top-actions .quiet kbd{display:none}#toast{left:50%;width:max-content;max-width:90%}footer{display:block;font-size:8px}footer span{display:block}.report-content{padding:17px}.stats-list{gap:8px}.stats-list>div{padding:10px 13px}.topbar #breadcrumb{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media print{.sidebar,.topbar,footer,.input-panel,.chart-tools,.form-actions,.text-btn,.source-link,#toast{display:none!important}.main-shell{margin:0;width:100%}main{padding:0}.workspace{display:block}.panel{break-inside:avoid}.chart-panel{margin-bottom:20px}.all-palaces{display:block}.summary-card{display:block;break-inside:avoid;margin-bottom:10px}.dialog{display:none}.page-heading{margin-bottom:15px}.chart-grid{grid-template-rows:repeat(4,125px)!important}.palace-tile{min-height:125px!important}body{background:white}.report-panel,.detail-panel{break-inside:avoid}.stat-strip{display:none}}
.offline-status{border:1px solid var(--line);border-radius:20px;padding:6px 10px;background:transparent;color:#8d7665;font-size:11px;white-space:nowrap}.offline-status[data-ready=true]{color:#47715a;background:#edf3ed}.mobile-form-toggle{display:none}.install-brand{display:flex;align-items:center;gap:15px;margin:15px 0 24px}.install-star{font-size:45px;color:#696969}.install-brand h2{font-size:22px}.install-brand p,.install-copy{font-size:13px;line-height:1.8;color:#787878}.offline-health{display:flex;gap:12px;background:#f7efdf;padding:16px;border-radius:12px;margin:18px 0}.offline-health.ready{background:#edf3ed}.health-dot{width:9px;height:9px;border-radius:50%;background:#ad874a;margin-top:6px;flex-shrink:0}.ready .health-dot{background:#47715a}.offline-health p{font-size:13px;line-height:1.7;margin-top:5px}.install-steps li{font-size:14px;line-height:1.9;margin:9px 0}.install-steps ol{padding-left:22px}.install-actions{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0 16px}.install-version{font-size:11px;color:#8d8d8d;margin-top:12px}#cases-content .saved-row{border-bottom:1px solid var(--line);padding:8px 0}#cases-content .saved-open{font-size:15px;min-height:44px}#cases-content .saved-delete{min-width:44px;min-height:44px}.topbar{flex-wrap:wrap;min-height:65px;height:auto;padding-top:10px;padding-bottom:10px}
@media(max-width:640px){.sidebar{padding-top:max(12px,env(safe-area-inset-top))}.sidebar nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:#f7f5f0;border-top:1px solid var(--line);overflow:visible;gap:2px}.sidebar .nav-item{width:100%;min-width:0;min-height:52px;display:flex;flex-direction:column;justify-content:center;font-size:10px;padding:4px 1px;gap:4px;white-space:normal}.sidebar .nav-item>span:first-child{font-size:20px}.brand{margin-bottom:12px}.topbar{padding:7px 12px}.topbar #breadcrumb,#download-offline{display:none}.top-actions{width:100%;justify-content:space-between;gap:5px}.top-actions button{min-height:42px}.top-actions .btn{font-size:12px;padding:8px}.top-actions .quiet{font-size:12px}#global-search{font-size:22px}.offline-status{padding:5px 7px;font-size:11px}.mobile-form-toggle{display:block}.input-panel.is-collapsed #chart-form{display:none}.panel-head{gap:8px;flex-wrap:wrap}.panel-head .text-btn{font-size:12px;min-height:40px}.field input,.field select,.hua-row select,.dialog input,.dialog select,.dialog textarea{font-size:16px;min-height:44px}.btn,.chip,.text-btn,.icon-btn{min-height:44px}.chip{font-size:12px}.raw-text,.evidence-snippet,.summary-card p{font-size:13px;line-height:1.9}.hint,.page-heading p{font-size:12px}.tile-star{font-size:15px!important;white-space:normal;overflow-wrap:anywhere;line-height:1.5}.tile-top{font-size:10px}.tile-aux{font-size:9px}.tile-bottom{font-size:10px}.chart-panel{padding:10px}.chart-grid{grid-template-rows:repeat(4,minmax(125px,auto))!important}.palace-tile{min-height:125px!important}.all-palaces{grid-template-columns:1fr}.dialog{max-height:calc(90dvh - env(safe-area-inset-bottom));overflow:auto;padding:20px;width:calc(100% - 24px)}footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}#toast{bottom:calc(85px + env(safe-area-inset-bottom))}.install-actions .btn{flex:1 1 100%}.install-brand h2{font-size:20px}main{padding-left:12px;padding-right:12px}}

/* 四化字色在标签、宫名、解析与原文中保持一致。 */
.hua-char.lu,select.hua-control-lu,option.hua-control-lu{color:var(--hua-lu)}
.hua-char.quan,select.hua-control-quan,option.hua-control-quan{color:var(--hua-quan)}
.hua-char.ke,select.hua-control-ke,option.hua-control-ke{color:var(--hua-ke)}
.hua-char.ji,select.hua-control-ji,option.hua-control-ji{color:var(--hua-ji)}
.tile-top .tile-branch{font-size:12px;font-weight:600;color:#777777}
.tile-reference{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;width:100%;font-size:10px;line-height:1.5;color:#838383;margin-top:3px}
.tile-reference>span{white-space:nowrap}
.tile-reference .tile-organ{color:#71645d;padding:0 4px;border-radius:3px;background:#f3efe7}
.palace-tile:focus-visible{outline:2px solid var(--purple);outline-offset:-3px;z-index:1}
.workspace-right .chart-grid{grid-template-rows:repeat(4,minmax(150px,auto))}
.workspace-right .palace-tile{min-height:150px}
.detail-title{flex-wrap:wrap;gap:7px 12px;min-width:0}
.detail-panel .section-title{align-items:flex-start}
.detail-panel .section-title>.text-btn{flex-shrink:0}
.branch-detail{display:flex;flex-wrap:wrap;gap:8px 22px;padding:11px 14px;background:#f7f4ed;border:1px solid #ece5da;border-radius:7px;margin:-3px 0 20px;font-size:11px;color:#7f7f7f}
.branch-detail strong{font-weight:500;color:#575757;margin-left:5px}
.branch-detail small{flex-basis:100%;font-size:10px;color:#9a8b90}
.year-hua-panel{padding:23px 26px;margin-bottom:24px}
.year-hua-panel .section-title{margin-bottom:17px}
.year-hua-panel h2{font-family:var(--serif);font-size:21px;letter-spacing:1px}
.year-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.year-hua-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:16px}
.year-hua-table th,.year-hua-table td{padding:10px 6px;border-bottom:1px solid var(--line);border-right:1px solid #e8e4dd;text-align:center;line-height:1.5}
.year-hua-table tr>:last-child{border-right:0}
.year-hua-table tbody tr:last-child>*{border-bottom:0}
.year-hua-table thead th{font-family:var(--serif);font-size:19px;font-weight:600}
.year-hua-table thead th:first-child{width:23%;font-family:var(--sans);font-size:12px;color:#727272;background:#f7f4ee}
.year-hua-table thead th:first-child small{display:block;font-size:10px;font-weight:400;color:#9a8b90;margin-top:3px}
.year-hua-table tbody th{font-weight:500;background:#fffcf6;font-size:16px}
.year-digit{font-family:var(--sans);font-size:11px;color:#9a8b90}
.year-hua-table .lu{color:var(--hua-lu);background:#eef4ec}
.year-hua-table .quan{color:var(--hua-quan);background:#efefef}
.year-hua-table .ke{color:var(--hua-ke);background:#edf3f8}
.year-hua-table .ji{color:var(--hua-ji);background:#f9efec}
.year-hua-table tbody tr:hover td{box-shadow:inset 0 0 0 999px #ffffff38}
@media(max-width:640px){
 .workspace-right .chart-grid{grid-template-rows:repeat(4,minmax(145px,auto))!important}
 .workspace-right .palace-tile{min-height:145px!important}
 .tile-reference{font-size:9.5px;gap:2px 3px;letter-spacing:0}
 .tile-reference .tile-organ{padding:0 2px}
 .tile-star{margin-top:5px!important}
 .detail-title .badge{font-size:11px}
 .branch-detail{font-size:12px;gap:7px 15px;padding:11px 12px}
 .branch-detail small{font-size:10px;line-height:1.7}
 .year-hua-panel{padding:17px 12px;margin-bottom:20px}
 .year-hua-panel h2{font-size:19px}
 .year-hua-panel .badge{font-size:9px;padding:3px 5px}
 .year-hua-table{font-size:14px}
 .year-hua-table th,.year-hua-table td{padding:8px 2px}
 .year-hua-table thead th{font-size:16px}
 .year-hua-table tbody th{font-size:14px}
 .year-hua-table thead th:first-child{font-size:11px}
 .year-hua-table thead th:first-child small,.year-digit{font-size:9px}
}

.workbench-note{margin-bottom:23px;padding:0 2px}
.workbench-guidance{margin-top:8px;font-size:13px;line-height:1.9;color:#686868;max-width:900px}
.evidence-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.95;margin-top:7px;color:#6d6d6d}
.evidence-snippet>strong{font-size:14px;line-height:1.8}
.evidence-snippet .corrected-label{margin-left:8px}
.form-actions>.full{width:100%}
.top-actions #offline-status{display:inline-flex;align-items:center}
@media(max-width:640px){
 .sidebar nav{grid-template-columns:repeat(4,1fr)}
 .workbench-note{margin-bottom:19px}
 .workbench-description{font-size:12px}
 .workbench-guidance{font-size:12px}
 .evidence-text{font-size:13px;line-height:1.95}
 .top-actions{justify-content:flex-end;gap:15px}
 .topbar{min-height:54px}
}

.submit-block .form-actions{grid-template-columns:1fr}
.top-actions{margin-left:auto}
[hidden]{display:none!important}
.offline-status{cursor:pointer;min-height:36px}
.offline-status::after{content:' ⓘ';font-size:12px;opacity:.8}
.offline-status:hover{border-color:var(--purple);background:var(--purple-soft)}
.offline-status:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.offline-help-dialog{width:min(470px,calc(100% - 30px))}
.offline-help-dialog>p,.offline-shortcut p{font-size:14px;line-height:1.9;color:#5e5e5e}
.offline-shortcut{padding:16px 18px;margin:19px 0;background:#f4f4f4;border:1px solid var(--line);border-radius:9px}
.offline-shortcut h3{font-size:14px;margin:0 0 8px;color:var(--purple);font-weight:600}
.offline-help-dialog .offline-help-note{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.dialog .choice-stars label{color:#686868;font-size:12px}
footer{justify-content:flex-end}

.author-panel{max-width:660px;margin:20px auto 40px;padding:36px 28px;text-align:center}
.author-heading h1{margin:0 0 17px;font-family:var(--serif);font-size:27px;letter-spacing:2px;color:var(--dark)}
.author-phone{margin:0;font-size:17px;color:var(--ink)}
.author-phone a{color:var(--purple);text-decoration:none;white-space:nowrap;font-weight:500}
.author-phone a:focus-visible{outline:2px solid var(--purple);outline-offset:4px}
.author-qr-wrap{max-width:340px;margin:27px auto 0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px}
.author-qr{display:block;width:100%;height:auto;object-fit:contain;pointer-events:auto;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;touch-action:auto}
.author-caption{margin:17px 0 0;font-size:12px;line-height:1.8;color:var(--muted)}
@media(max-width:640px){
 .author-panel{margin:10px auto 25px;padding:28px 18px}
 .author-heading h1{font-size:24px}
 .author-phone{font-size:16px}
 .author-qr-wrap{max-width:320px;margin-top:23px;padding:13px}
}

/* 品牌紫取自用户上传图标；四化的四种字色继续独立保留。 */
.sidebar{background:#ececec}
.brand-icon{display:block;flex-shrink:0;width:42px;height:42px;border-radius:12px;object-fit:contain;background:var(--dark)}
.brand strong{color:var(--dark)}
.brand small,.side-label{color:var(--muted)}
.nav-item{color:#5c5c5c}
.nav-item:hover:not(.active){background:#e2e2e2}
.nav-item.active{color:#fff;background:var(--dark);box-shadow:0 3px 9px #30303018}
.topbar{background:#ffffffb8;color:var(--muted)}
.quiet{color:var(--purple)}
.btn{color:#fff}
.btn:hover{background:#404040}
.btn.secondary{background:#fff;border-color:var(--line)}
.btn.secondary:hover,.btn.ghost{background:var(--purple-soft)}
.field input,.field select,.field textarea,select.control,input.control{background:#fff;border-color:var(--line)}
.field label{color:#5c5c5c}
.panel-head{background:#fff}
.palace-tile{background:#fff}
.palace-tile:hover{background:#fff}
.palace-tile.related{background:#fff}
.palace-tile.selected{background:#fff;box-shadow:inset 0 0 0 1.5px var(--purple)}
.tile-top .tile-branch{color:var(--purple)}
.tile-reference{color:#666666;align-items:flex-start;gap:3px}
.tile-reference>span:first-child{flex-basis:100%}
.tile-reference .tile-organ{display:flex;flex-wrap:wrap;align-items:center;gap:0 3px;max-width:100%;padding:1px 0;background:transparent;color:#5a5a5a;white-space:normal}
.tile-organ>span{white-space:nowrap}
.tile-time{font-size:9.5px;font-variant-numeric:tabular-nums;letter-spacing:-.15px}
.tile-organ>.tile-time{white-space:normal;overflow-wrap:anywhere}
.tile-star{color:#383838}
.tile-aux,.tile-bottom{color:#6c6c6c}
.chart-center,.empty-chart .chart-center{background:#ededed}
.chart-center .center-star{display:block;width:48px;height:48px;border-radius:13px;object-fit:contain;margin-bottom:12px}
.chart-center p,.center-count{color:#6a6a6a}
.center-line{background:#cecece}
.badge{background:var(--purple-soft)}
.branch-detail{background:#f4f4f4;border-color:var(--line);color:#6d6d6d}
.branch-detail strong{color:#404040}
.workbench-guidance{margin-top:0;color:#5f5f5f}
.detail-topic,.detail-title span{color:#707070}
.detail-row>.label{color:#616161}
.evidence-text,.raw-text,.position-card p{color:#5e5e5e}
.detail-disclaimer{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:11px;line-height:1.9;color:var(--muted)}
.chip{background:#f2f2f2;color:#5d5d5d}
.chip.active{color:var(--purple);background:var(--purple-soft);box-shadow:inset 0 0 0 1px #a3a3a3}
.chip:hover:not(.active){border-color:#c3c3c3}
.star-name,.position-card h3{color:var(--purple)}
.source-kind{color:#767676}
.hua-tab.active{border-color:#a3a3a3;background:#eeeeee}
.hua-tab small{color:#757575}
.year-hua-table th,.year-hua-table td{border-color:var(--line)}
.year-hua-table thead th:first-child,.year-hua-table tbody th{background:#f8f8f8;color:#5d5d5d}
.rule-table th,.rule-summary{background:#f1f1f1;color:#616161}
.rule-table td{color:#686868}
.rule-table td.hot{background:var(--purple-soft);color:var(--purple)}
.rule-summary{border-color:var(--line)}
@media(max-width:640px){
 .brand-icon{width:33px;height:33px;border-radius:9px}
 .tile-reference .tile-organ{padding:1px 0;gap:0 2px}
 .tile-time{font-size:9px}
 .detail-disclaimer{font-size:11px}
}

/* 让润色后的完整段落与补充说明按原有换行展示。 */
.star-properties,.position-card p{white-space:pre-wrap;overflow-wrap:anywhere}

/* The fixed mobile menu occupies real reading space, including the home indicator. */
.nav-contact-icon{width:1em;height:1em;display:block}
.chart-copy-btn{margin-top:12px;padding:9px 12px;max-width:100%;border:1px solid #a3a3a3;border-radius:7px;background:#fff;color:var(--purple);font-size:12px;line-height:1.5;white-space:normal;cursor:pointer}
.chart-copy-btn:hover{background:var(--purple-soft)}
.chart-copy-btn:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.chart-copy-btn:disabled{opacity:.65;cursor:wait}
.copy-help-dialog>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:14px}
#copy-text{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;font-size:16px;line-height:1.7;color:var(--ink);background:#fff;resize:vertical;margin-bottom:16px;user-select:text;-webkit-user-select:text}
@media(max-width:640px){
 html{scroll-padding-bottom:calc(var(--mobile-nav-height,calc(67px + env(safe-area-inset-bottom))) + 24px)}
 main{padding-bottom:calc(var(--mobile-nav-height,calc(67px + env(safe-area-inset-bottom))) + 24px)}
 #toast{bottom:calc(var(--mobile-nav-height,calc(67px + env(safe-area-inset-bottom))) + 12px)}
 .chart-center{padding:10px 5px}
 .chart-center .center-star{width:40px;height:40px;margin-bottom:3px}
 .chart-center h3{margin:5px 0}
 .chart-center .center-line{margin:7px auto}
 .chart-copy-btn{margin-top:8px;padding:8px 7px;font-size:11px;min-height:36px}
}
/* 2.0: physical palaces remain fixed; stars read in vertical columns. */
.brand strong{font-size:18px;letter-spacing:1px}.brand em{font:10px var(--sans);padding:3px 5px;background:#dadada;border-radius:4px;vertical-align:middle}
.workbench-note{display:flex;gap:18px;align-items:center;justify-content:space-between}
.v2-workspace{grid-template-columns:230px minmax(0,1fr)}.version-badge{font-size:10px;color:var(--purple);white-space:nowrap}.case-actions{display:flex;gap:6px;margin-bottom:10px}.case-actions .btn{flex:1;padding:8px 4px}.save-case-btn{font-size:12px;margin-bottom:20px}.btn:disabled{opacity:.45;cursor:default}.case-panel .filter-label{display:block;margin-bottom:7px}.birth-summary{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.birth-summary strong{font-size:18px;font-family:var(--serif)}.birth-summary p{font-size:12px;margin-top:12px;color:var(--muted)}.case-save-state{display:block;font-size:10px;color:var(--purple);margin:4px 0}.birth-private{display:contents}.birth-hidden-note{font-size:10px!important;color:var(--muted)}
.rules-summary{margin-top:18px;font-size:11px;color:var(--muted)}.rules-summary summary{cursor:pointer;color:var(--purple)}.rules-summary ul{margin:10px 0 0;padding-left:17px}.rules-summary li{margin:5px 0}
.cycle-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.scope-tabs{margin-bottom:0;min-width:250px}.scope-tabs button{min-height:36px;padding:5px 13px}.year-navigation{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px}.year-navigation input{width:83px;font-variant-numeric:tabular-nums}.year-navigation button{background:var(--purple-soft);border-radius:6px;width:30px;height:34px;font-size:20px;color:var(--purple)}
.cycle-status{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:12px 0}.cycle-pick{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;font-size:11px;margin-bottom:10px;max-width:310px}.cycle-pick select{font-size:11px;height:34px}
.chart-frame{--ring-x:18px;--ring-y:22px;position:relative;padding:var(--ring-y) var(--ring-x)}.palace-direction{position:absolute;color:#818181;font-size:9px;line-height:1.3;pointer-events:none;white-space:nowrap}.direction-north,.direction-south{left:calc(var(--ring-x) + (100% - var(--ring-x) * 2) * var(--direction-position) / 4);transform:translateX(-50%)}.direction-north{top:5px}.direction-south{bottom:5px}.direction-west,.direction-east{top:calc(var(--ring-y) + (100% - var(--ring-y) * 2) * var(--direction-position) / 4);writing-mode:vertical-rl;text-orientation:upright;transform:translateY(-50%);letter-spacing:1px}.direction-west{left:2px}.direction-east{right:2px}
.workspace-right .v2-chart-grid{grid-template-rows:repeat(4,minmax(235px,1fr))!important;border-radius:5px}.workspace-right .v2-chart-grid .palace-tile{min-height:235px!important;padding:13px 9px 7px;transition:background .18s;overflow:hidden}.v2-chart-grid .palace-tile.selected{background:#efefef;box-shadow:inset 0 0 0 1.5px #747474}.v2-chart-grid .palace-tile.related{background:#fbfbfb}
.star-columns{--star-name-height:52px;display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:flex-start;gap:5px 2px;width:100%;margin:0 0 auto;padding:0 3px 10px 0}.star-column{display:flex;flex-direction:column;align-items:center;width:16px;flex:0 0 auto;font-family:var(--serif);line-height:1.1;letter-spacing:0}.star-main{width:18px;color:#b4384b;font-size:16px}.star-good{color:#7c429e;font-size:14px}.star-bad{color:#222222;font-size:14px}.star-misc{width:14px;color:#898989;font-size:12px}.vertical-star-name{display:block;writing-mode:vertical-rl;text-orientation:upright;height:var(--star-name-height);white-space:nowrap;line-height:1;letter-spacing:1px}.vertical-star-name .hua-char{color:inherit}.star-brightness{font:10px/1.3 var(--sans);min-height:13px;display:block;color:#6b6b6b;padding:0}.star-transformations{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:2px}.star-hua-row{display:flex;align-items:center;gap:0;white-space:nowrap}.hua-scope{font:7px var(--sans);color:var(--muted)}.star-hua-row .hua-pill{font:9px/1.3 var(--sans);border-radius:2px;padding:0 2px}
.self-edge{position:absolute;display:flex;gap:1px;pointer-events:none;z-index:2}.self-edge-north{top:1px;right:4px}.self-edge-south{bottom:1px;right:4px}.self-edge-west{left:1px;top:3px;flex-direction:column}.self-edge-east{right:1px;top:3px;flex-direction:column}.self-arrow{width:13px;height:12px;display:block;margin:0}.self-edge-north .self-arrow{transform:rotate(-90deg)}.self-edge-south .self-arrow{transform:rotate(90deg)}.self-edge-west .self-arrow{transform:rotate(180deg)}.self-arrow.lu{color:var(--hua-lu)}.self-arrow.quan{color:var(--hua-quan)}.self-arrow.ke{color:var(--hua-ke)}.self-arrow.ji{color:var(--hua-ji)}
.v2-chart-grid .tile-top{width:100%;font-size:10px;line-height:1.5;gap:4px}.v2-chart-grid .tile-reference{font-size:9px;line-height:1.4;display:block;white-space:normal;margin:3px 0}.v2-chart-grid .tile-age{font-size:8px;line-height:1.5;color:var(--muted);display:flex;flex-direction:column;overflow-wrap:anywhere;letter-spacing:0}.v2-chart-grid .tile-bottom{margin-top:7px;padding:0 14px 0 0;display:flex;align-items:flex-end;gap:3px;flex-wrap:wrap;width:100%}.palace-label-stack{display:flex;flex-direction:column;line-height:1.5;margin-right:auto;align-items:flex-start}.v2-chart-grid .palace-name{font-size:12px;color:#4a4a4a;font-weight:600;white-space:nowrap;margin:0}.overlay-name{font-size:10px;white-space:nowrap}.year-name{color:#526ea0}.decadal-name{color:#6e6e6e}.v2-chart-grid .decadal-range{font-size:9px!important;white-space:nowrap;color:#707070}.v2-chart-grid .body-mark{position:absolute;right:3px;bottom:7px;writing-mode:vertical-rl;text-orientation:upright;color:#b4384b;border:1px solid #d9a0a8;border-radius:3px;padding:3px 1px;font:10px/1.1 var(--serif);letter-spacing:1px}.small-limit-mark{position:absolute;right:4px;bottom:54px;font:9px/1.3 var(--sans);color:#686868;border:1px solid #c5c5c5;border-radius:3px;padding:2px 3px;background:#f9f9f9}
.chart-center{padding:10px 5px;min-width:0;overflow:hidden}.center-content{position:relative;z-index:1;width:min(88%,330px);display:flex;align-items:center;flex-direction:column;gap:5px;background:#edededf2;border-radius:14px;padding:16px 7px}.chart-center .center-star{width:36px;height:36px;margin:0}.center-name{display:flex;gap:5px;align-items:center;justify-content:center;max-width:100%}.chart-center h3{margin:3px 0;font-size:20px;overflow-wrap:anywhere;min-width:0}.birth-eye{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;color:#6c6c6c;min-width:32px;min-height:34px;border-radius:6px;padding:5px;cursor:pointer}.birth-eye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.birth-eye:hover{background:#dddddd}.birth-eye:focus-visible{outline:2px solid var(--purple);outline-offset:1px}.chart-center p{font-size:11px;line-height:1.8}.center-pillars{display:flex;justify-content:center;gap:13px;font-size:18px;color:var(--dark);margin:9px 0}.pillar-column{display:flex;flex-direction:column;white-space:nowrap;align-items:center;gap:4px}.pillar-column b{font-weight:500;line-height:1}.pillar-column small{font:9px var(--sans);color:var(--muted);margin-bottom:2px}.center-caption{font-size:9px;color:var(--muted)}.center-legend{font-size:9px!important;color:#8a8a8a!important}.chart-copy-btn{margin-top:7px;font-size:11px;padding:8px 11px}
.trine-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.4;color:#7f7f7f}.trine-lines .trine-triangle{fill:none;stroke:currentColor;stroke-width:.35;stroke-linejoin:round}.trine-lines .opposition-line{stroke:currentColor;stroke-width:.28;stroke-dasharray:1.5 1.3}.trine-lines circle{fill:currentColor}
.birth-dialog{max-width:590px;max-height:90vh;max-height:90dvh;overflow:auto}.birth-dialog h2{margin-bottom:20px}.three-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.four-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.solar-check{display:flex;align-items:center;gap:8px;font-size:12px;margin:5px 0 17px}.solar-check input{accent-color:var(--purple);width:16px;height:16px}.solar-check-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:17px}.solar-check-row .solar-check{flex:0 0 auto;margin:5px 0 0}.birth-dialog .solar-check-row .hint{margin:4px 0 0;line-height:1.55}.birth-dialog .hint{font-size:11px;margin:0 0 16px}.form-error{font-size:12px;color:var(--hua-ji);margin:12px 0;min-height:20px}.star-configuration{font-size:12px;color:var(--purple);margin:12px 0;line-height:1.9}.star-configuration p{font-size:11px;color:var(--muted);margin-top:5px}.hua-layer-list{font-size:12px;color:var(--purple);margin-bottom:13px}.license-detail{margin-top:28px;text-align:left;font-size:11px;color:var(--muted)}.license-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.7 var(--sans);max-height:300px;overflow:auto}
@media(max-width:1200px){.v2-workspace{grid-template-columns:1fr}.case-panel .panel-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0 20px}.case-actions{grid-row:1;margin:0;align-self:center}.save-case-btn{grid-column:1;grid-row:2;margin:7px 0 0}.case-panel .filter-label{grid-column:2;grid-row:1;margin:0;align-self:end}.case-panel .control{grid-column:2;grid-row:2}.case-panel .birth-summary{grid-column:1/-1;display:flex;gap:13px 24px;flex-wrap:wrap;align-items:center}.case-panel .birth-summary p{margin-top:0}.case-panel .birth-summary strong{font-size:15px}.case-save-state{margin:0}.case-panel .hint,.case-panel .rules-summary{grid-column:1/-1}.case-panel .rules-summary{margin-top:10px}.cycle-toolbar{gap:10px}}
@media(max-width:640px){.brand strong{font-size:18px}.workbench-note{align-items:flex-start;gap:8px;flex-direction:column}.v2-workspace{gap:16px}.case-panel .panel-body{display:block;padding:15px}.case-actions{margin-bottom:8px}.save-case-btn{margin:0 0 17px}.case-panel .filter-label{margin-bottom:6px}.case-panel .birth-summary{display:flex;gap:10px 17px}.case-panel .birth-summary p{font-size:11px}.chart-panel{padding:12px 3px}.chart-panel>.section-title{padding:0 7px}.cycle-toolbar{display:block}.scope-tabs{min-width:0;margin:0 8px 12px}.scope-tabs button{padding:5px 7px}.year-navigation{justify-content:center}.cycle-status{gap:4px 13px;padding:0 9px;font-size:10px}.cycle-pick{gap:6px;margin:0 9px 8px;max-width:240px}.cycle-pick label,.cycle-pick select{font-size:10px}.chart-frame{--ring-x:12px;--ring-y:19px}.palace-direction{font-size:8px;letter-spacing:0}.direction-north{top:4px}.direction-south{bottom:4px}.direction-west{left:0}.direction-east{right:0}.workspace-right .v2-chart-grid{grid-template-rows:repeat(4,minmax(230px,1fr))!important}.workspace-right .v2-chart-grid .palace-tile{min-height:230px!important;padding:12px 4px 5px}.star-columns{--star-name-height:36px;gap:4px 1px;padding:0 2px 7px 0}.star-column{width:11px;font-size:10px}.star-main{width:13px;font-size:12px}.star-misc{width:9px;font-size:9px}.vertical-star-name{letter-spacing:0}.star-brightness{font-size:7px;line-height:1.3;min-height:10px}.star-transformations{gap:1px;margin-top:1px}.hua-scope{font-size:5px}.star-hua-row .hua-pill{font-size:7px;line-height:1.4;padding:0 1px}.self-arrow{width:10px;height:10px}.v2-chart-grid .tile-top{font-size:9px;gap:2px}.v2-chart-grid .tile-reference{font-size:7px;margin:2px 0}.v2-chart-grid .tile-age{font-size:7px;line-height:1.45;letter-spacing:-.15px}.v2-chart-grid .tile-bottom{margin-top:5px;padding-right:10px;gap:2px}.v2-chart-grid .palace-name{font-size:10px}.overlay-name{font-size:8px}.v2-chart-grid .decadal-range{font-size:8px!important}.v2-chart-grid .body-mark{right:1px;bottom:6px;font-size:8px;padding:2px 1px}.small-limit-mark{right:2px;bottom:50px;font-size:7px;padding:1px 2px}.chart-center{padding:6px 2px}.center-content{width:92%;gap:4px;padding:11px 4px;border-radius:9px}.chart-center h3{font-size:16px;letter-spacing:0}.chart-center p{font-size:9px;line-height:1.6}.chart-center .center-star{width:30px;height:30px}.birth-eye{min-width:28px;min-height:32px;padding:4px}.birth-eye svg{width:18px;height:18px}.center-name{gap:1px}.center-pillars{font-size:15px;gap:8px;margin:7px 0}.pillar-column{gap:4px}.pillar-column small,.center-caption,.center-legend{font-size:8px!important}.chart-copy-btn{font-size:10px;min-height:40px;max-width:145px;padding:7px}.birth-dialog{width:calc(100% - 22px);padding:20px 16px;max-height:88vh;max-height:88dvh}.birth-dialog .field input,.birth-dialog .field select{font-size:16px;height:43px}.four-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.three-fields{gap:7px}.detail-title{gap:6px;flex-wrap:wrap}}
@media(max-width:360px){.v2-chart-grid .tile-age{font-size:6.5px}.star-column{width:10px}.star-main{width:12px}.star-misc{width:8px;font-size:8px}.center-pillars{font-size:13px;gap:6px}.v2-chart-grid .palace-name{font-size:9px}.chart-center h3{font-size:14px}}
/* Palace-stem flights are solid white-on-colour blocks, separate from layer badges. */
.fly-hua{display:inline-flex;align-items:center;justify-content:center;border-radius:2px;min-width:15px;min-height:16px;padding:1px 3px;font:11px/1.2 var(--sans);color:#fff!important;font-weight:600}.fly-hua.lu{background:var(--hua-lu)}.fly-hua.quan{background:var(--hua-quan)}.fly-hua.ke{background:var(--hua-ke)}.fly-hua.ji{background:var(--hua-ji)}.fly-hua .hua-char{color:inherit!important}.star-fly-row{display:flex;align-items:center;justify-content:center;margin-top:2px}.star-fly-row .fly-hua{min-width:13px;min-height:15px;padding:1px 2px;font-size:10px}.flight-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.flight-detail-list p{display:flex;align-items:center;gap:8px;font-size:12px;color:#5e5e5e;line-height:1.7}
.center-content{background:transparent}.trine-lines .trine-triangle,.trine-lines .opposition-line{stroke-dasharray:1.5 1.3;stroke-width:.35}.element-water{color:#222222}.element-fire{color:#ba3544}.element-wood{color:#34835a}.element-earth{color:#93633e}.element-metal{color:#bc8b00}.pillar-column .element-water,.pillar-column .element-fire,.pillar-column .element-wood,.pillar-column .element-earth,.pillar-column .element-metal{font-weight:600}
.v2-chart-grid .tile-bottom{padding-right:24px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.v2-chart-grid .decadal-range{padding:2px 3px;border:1px solid transparent;border-radius:3px;margin-left:-3px;line-height:1.3}.v2-chart-grid .decadal-range.current-decadal{border-color:currentColor}.palace-ganzhi{position:absolute;right:5px;bottom:7px;display:flex;flex-direction:column;align-items:center;font:19px/1.15 var(--serif);color:#4a4a4a;gap:3px}.v2-chart-grid .body-mark{right:6px;bottom:58px}.tile-flags{display:flex;flex-wrap:wrap;gap:3px;margin:5px 22px 0 0;min-height:15px}.small-limit-mark,.original-mark{position:static;font:9px/1.3 var(--sans);color:#686868;border:1px solid #c5c5c5;border-radius:3px;padding:1px 3px;background:transparent}.original-mark{border-color:#9a9a9a;color:#616161}
.quick-menu{position:relative;margin-bottom:10px;font-size:12px;grid-column:1/-1}.quick-menu summary{list-style:none;cursor:pointer;border:1px solid #cecece;border-radius:6px;padding:10px 12px;color:var(--purple);display:flex;align-items:center;justify-content:space-between;min-height:40px;background:#f8f8f8}.quick-menu summary::-webkit-details-marker{display:none}.quick-menu-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 0}.quick-menu-options button{border:1px solid var(--line);border-radius:5px;background:#fff;color:#5e5e5e;min-height:38px;font-size:12px}.quick-menu-options button:hover{background:var(--purple-soft)}.quick-menu-options p{grid-column:1/-1;font-size:10px;line-height:1.7;color:var(--muted);margin:3px 0 5px}
.cycle-board{border:1px solid var(--line);border-radius:7px;margin:12px 0 0;overflow:hidden;background:#fff;min-width:0}.cycle-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;background:#fff;flex-wrap:wrap}.cycle-home{padding:7px 12px;border:1px solid #cecece;border-radius:5px;background:#fff;color:#6a6a6a;font-size:12px}.cycle-home.active{background:#e7e7e7;color:#3f3f3f}.cycle-row{display:grid;grid-template-columns:56px minmax(0,1fr);border-top:1px solid var(--line);min-width:0}.cycle-row-label{font-size:12px;line-height:1.6;letter-spacing:1px;background:#fff;color:#6f6f6f;padding:7px 4px;border-right:1px solid var(--line);cursor:pointer}.cycle-row-label.active{background:#fff;color:#414141}.cycle-cells{display:flex;overflow-x:auto;min-width:0;scrollbar-width:thin;scroll-snap-type:x proximity}.cycle-cell{flex:0 0 80px;min-width:0;padding:8px 5px;border-right:1px solid var(--line);background:transparent;color:#727272;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.5;scroll-snap-align:start}.cycle-cell strong{font-size:12px;font-weight:500;white-space:nowrap}.cycle-cell span{font-size:11px}.cycle-cell small{font-size:9px;color:#949494}.cycle-cell.active{background:#fff;box-shadow:inset 0 0 0 1.5px #242424;color:#242424}.cycle-cell:hover{background:#fff}.cycle-board .year-navigation{font-size:11px}.cycle-board .year-navigation input{width:75px}
@media(max-width:1200px){.case-panel .quick-menu{margin-top:12px}.case-panel .quick-menu summary{max-width:100%}}
@media(max-width:640px){.star-fly-row .fly-hua{min-width:10px;min-height:12px;padding:1px;font-size:8px}.flight-detail-list{gap:7px;grid-template-columns:1fr}.flight-detail-list p{font-size:12px}.v2-chart-grid .tile-bottom{padding-right:16px;gap:3px}.palace-ganzhi{right:3px;bottom:6px;font-size:15px;gap:2px}.v2-chart-grid .body-mark{right:4px;bottom:45px}.tile-flags{gap:2px;margin:4px 12px 0 0;min-height:12px}.small-limit-mark,.original-mark{font-size:7px;padding:1px 2px}.cycle-board{margin:9px 5px 0}.cycle-board-head{padding:8px;gap:8px}.cycle-home{font-size:11px;padding:6px 8px;min-height:34px}.cycle-row{grid-template-columns:45px minmax(0,1fr)}.cycle-row-label{font-size:10px;padding:7px 2px;letter-spacing:0}.cycle-cell{flex-basis:64px;padding:7px 3px;gap:2px}.cycle-cell strong{font-size:10px}.cycle-cell span{font-size:10px}.cycle-cell small{font-size:8px}.cycle-board .year-navigation{gap:5px;font-size:10px}.cycle-board .year-navigation input{font-size:12px;width:68px;height:34px}.cycle-board .year-navigation button{width:26px;height:32px}.case-panel .quick-menu{margin-top:0;margin-bottom:8px}.quick-menu summary{min-height:42px}.quick-menu-options button{min-height:43px}.quick-menu-options p{font-size:11px}}
/* 卦课页与本轮命盘排布 */
.flying-star{display:inline-block;color:#fff!important;padding:2px 0;border:1px solid transparent;border-radius:1px;line-height:1.1;letter-spacing:0}.flying-star.lu{background:#31824f;border-color:#31824f}.flying-star.quan{background:var(--hua-quan);border-color:var(--hua-quan)}.flying-star.ke{background:#3277bc;border-color:#3277bc}.flying-star.ji{background:#c74450;border-color:#c74450}.flying-star .hua-char{color:inherit!important}.quick-picker-wrap{margin:12px 0;grid-column:1/-1;min-width:0}.quick-picker-wrap .hint{margin:6px 0 0;font-size:10px}.palace-changsheng{font:10px/1.3 var(--sans);color:var(--muted);white-space:nowrap;letter-spacing:0;margin-bottom:2px}.v2-chart-grid .body-mark{bottom:78px}.center-birth{width:100%;text-align:center}.center-birth .center-solar-date,.center-birth .center-lunar-date{margin:5px 0;line-height:1.6}.cycle-board .cycle-row:first-child{border-top:0}.cycle-row-label{display:flex;align-items:center;justify-content:center;cursor:default}
.oracle-heading{margin:8px 0 23px}.oracle-heading h1{font:32px/1.4 var(--serif);color:var(--purple);margin:0 0 7px}.oracle-heading p{font-size:13px;color:var(--muted)}.oracle-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.oracle-form-panel{padding:22px;position:sticky;top:22px}.oracle-form-panel .field{margin-bottom:18px}.oracle-form-panel .field input,.oracle-form-panel .field select{width:100%;min-width:0}.oracle-now-btn{color:var(--purple);font-size:11px;background:transparent;text-decoration:underline;text-underline-offset:3px;margin-top:7px;min-height:28px}.oracle-method-hint{font-size:12px;line-height:1.8;color:var(--muted);margin:5px 0 16px}.oracle-rules{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.9}.oracle-rules summary{cursor:pointer;color:var(--purple)}.oracle-rules p{margin-top:9px}.oracle-result{min-width:0}.oracle-empty{text-align:center;padding:70px 25px}.oracle-empty>span{font:50px/1.2 var(--serif);color:#a6a6a6}.oracle-empty h2{font:20px/1.5 var(--serif);color:var(--purple);margin:17px 0 12px}.oracle-empty p{font-size:13px;line-height:1.9;color:var(--muted);max-width:300px;margin:auto}.oracle-info{padding:10px 22px;margin-bottom:18px}.oracle-info-row{display:grid;grid-template-columns:47px minmax(0,1fr);gap:17px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.8}.oracle-info-row:last-child{border:0}.oracle-info-row>span{color:#868686;font-size:12px;letter-spacing:1px}.oracle-info-row p{margin:0}.oracle-info-row strong{font-weight:500;overflow-wrap:anywhere}.oracle-info-row .hint{display:block;margin-top:4px;font-size:10px}.oracle-pillars{display:flex;flex-wrap:wrap;gap:6px 16px}.oracle-pillars>span{display:flex;gap:5px}.oracle-pillars>span small{font-size:10px;color:var(--muted)}.oracle-pillars b{font-weight:500}.oracle-pillars>.hint{flex-basis:100%;margin:0}.oracle-gods{margin-top:5px;font-size:12px}.oracle-gods summary{color:var(--purple);cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:3px;min-height:30px}.oracle-gods[open] summary{display:list-item}.oracle-gods p{margin:6px 0}.meihua-chart{padding:20px;margin-bottom:18px}.meihua-chart .section-title{margin-bottom:19px;gap:10px}.meihua-chart h2{font-size:19px}.hex-scroll-hint{font-size:10px;color:var(--muted);white-space:nowrap}.hexagram-scroll{overflow-x:auto;scrollbar-width:thin;min-width:0;padding-bottom:8px}.hexagram-board{display:grid;grid-template-columns:24px repeat(5,minmax(0,1fr));gap:12px;min-width:520px}.hexagram-column{text-align:center;min-width:0}.hexagram-column h3{font-size:13px;color:var(--muted);font-weight:400;margin:0 0 14px}.hexagram-column>small{font-size:11px;color:var(--muted)}.hexagram-lines{display:flex;flex-direction:column;gap:8px;margin:9px auto 10px;width:64px}.hex-line{display:flex;justify-content:space-between;height:7px;color:#4a4a4a;gap:10px}.hex-line i{background:currentColor;height:7px;flex:1}.hex-line.hex-half-gap{margin-top:6px}.hex-line.moving{color:#ca414d}.hexagram-name{display:block;margin-top:13px;font:15px/1.7 var(--serif);white-space:nowrap;color:var(--purple)}.hexagram-number{font-size:10px;color:var(--muted)}.body-use-labels{display:flex;flex-direction:column;justify-content:space-between;padding-top:59px;padding-bottom:78px;font:14px/1.5 var(--serif);color:var(--purple);text-align:center}.body-use-summary{border-top:1px solid var(--line);margin-top:16px;padding-top:13px;color:#606060;font-size:12px;line-height:1.9}.body-use-summary p{margin:0}.oracle-text-stack{display:grid;gap:16px}.hex-text-card{padding:22px}.hex-text-card h2{font-size:19px}.hex-text-card h3{font-size:12px;letter-spacing:1px;color:#8d8d8d;font-weight:400;margin:19px 0 9px}.hex-text-card p{font-size:13px;line-height:1.95;margin:0;white-space:pre-line}.hex-interpretations{display:grid;gap:8px}.hex-interpretations p{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;padding:10px 0;border-top:1px solid #ececec}.hex-interpretations strong{font-size:12px;color:#6b6b6b;font-weight:500}.hex-interpretations .moving-interpretation{background:#fff4f5;border-radius:5px;padding:10px 9px;color:#9b3443}.hex-interpretations .moving-interpretation strong{color:#b63848}.oracle-note{font-size:11px;color:var(--muted);margin:19px 0 8px;line-height:1.8}.xiao-chart{padding:22px;margin-bottom:18px}.xiao-chart .section-title h2{font-size:20px}.xiao-chart .section-title small{font-size:10px;color:var(--muted)}.xiao-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #c7c7c7;border-radius:6px;overflow:hidden;margin:18px 0 12px}.xiao-cell{padding:17px 12px;min-width:0;background:#fff;border-right:1px solid #dddddd;border-bottom:1px solid #dddddd}.xiao-cell:nth-child(3n){border-right:0}.xiao-cell:nth-child(n+4){border-bottom:0}.xiao-cell.xiao-self{background:#ebebeb;box-shadow:inset 0 0 0 1px #9e9e9e}.xiao-star-god,.xiao-branch-kin{display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:center}.xiao-star-god{font-size:11px;color:#909090;margin-bottom:14px}.xiao-branch-kin b{font:24px/1.4 var(--serif);font-weight:400}.xiao-branch-kin strong{font:16px/1.4 var(--serif);font-weight:400;color:#636363}.xiao-palace-name{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:7px}.xiao-palace-name h3{font:22px/1.4 var(--serif);color:var(--purple);letter-spacing:3px;margin:0}.xiao-palace-name span{font-size:10px;color:#898989}.xiao-overview,.xiao-explanations{padding:22px;margin-bottom:18px}.xiao-overview h2,.xiao-explanations h2{font-size:20px;margin:0 0 12px;color:var(--purple)}.xiao-overview article,.xiao-explanations article{padding:14px 0;border-top:1px solid var(--line)}.xiao-overview h3,.xiao-explanations h3{font-size:13px;font-weight:500;color:#6c6c6c;margin:0 0 8px}.xiao-overview p,.xiao-explanations p{font-size:13px;line-height:1.9;margin:6px 0}.xiao-explanations small{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.oracle-layout{grid-template-columns:240px minmax(0,1fr);gap:16px}.oracle-form-panel{padding:18px}.hexagram-board{gap:8px}.oracle-info{padding:10px 18px}}
@media(max-width:800px){.oracle-layout{grid-template-columns:1fr}.oracle-form-panel{position:static}.oracle-form-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.oracle-form-panel .oracle-method-hint,.oracle-form-panel .oracle-rules,.oracle-form-panel .form-error,.oracle-form-panel .btn{grid-column:1/-1}.oracle-empty{padding:40px 20px}}
@media(max-width:640px){.quick-picker-wrap .hint{font-size:11px}.palace-changsheng{font-size:8px;margin-bottom:1px}.v2-chart-grid .body-mark{bottom:62px}.center-birth .center-solar-date,.center-birth .center-lunar-date{font-size:8px;line-height:1.55;margin:3px 0}.oracle-heading{margin:6px 0 18px}.oracle-heading h1{font-size:27px}.oracle-heading p{font-size:12px}.oracle-form-panel{padding:19px 16px}.oracle-form-panel form{display:block}.oracle-form-panel .field input,.oracle-form-panel .field select{font-size:16px;min-height:44px}.oracle-now-btn{min-height:36px;font-size:12px}.oracle-info{padding:8px 16px}.oracle-info-row{gap:11px;grid-template-columns:38px minmax(0,1fr);font-size:12px}.oracle-info-row>span{font-size:11px}.oracle-gods summary{min-height:36px}.meihua-chart{padding:17px 12px}.meihua-chart h2{font-size:16px}.hex-scroll-hint{font-size:9px}.hexagram-board{min-width:520px}.hex-text-card{padding:19px 16px}.hex-text-card h2{font-size:18px}.hex-interpretations p{grid-template-columns:46px minmax(0,1fr);gap:10px;font-size:12px}.xiao-chart{padding:17px 12px}.xiao-chart .section-title h2{font-size:17px}.xiao-cell{padding:13px 7px}.xiao-star-god,.xiao-branch-kin{grid-template-columns:26px 1fr;gap:5px}.xiao-star-god{font-size:9px;margin-bottom:10px}.xiao-branch-kin b{font-size:21px}.xiao-branch-kin strong{font-size:13px}.xiao-palace-name{margin-top:14px;flex-wrap:wrap;gap:3px}.xiao-palace-name h3{font-size:18px;letter-spacing:2px}.xiao-palace-name span{font-size:8px}.xiao-overview,.xiao-explanations{padding:19px 16px}.xiao-overview p,.xiao-explanations p{font-size:12px}.oracle-rules{font-size:12px}}
@media(max-width:640px){.hexagram-board{grid-template-columns:16px repeat(5,minmax(0,1fr));min-width:300px;gap:4px}.hexagram-lines{width:40px;gap:7px}.hex-line,.hex-line i{height:5px}.hex-line{gap:7px}.hex-line.hex-half-gap{margin-top:5px}.hexagram-column h3{font-size:11px}.hexagram-column>small{font-size:9px}.hexagram-name{font-size:11px}.body-use-labels{font-size:12px;padding-top:56px;padding-bottom:71px}}

/* 森森有数 1.0: manual hexagrams, relative balance and six-palace layout. */
.nav-symbol-icon{display:block;width:1em;height:1em}
.brand strong{white-space:nowrap;letter-spacing:2px}
.manual-editor{margin:0 0 16px;padding:0;border:0;min-width:0;grid-column:1/-1}
.manual-editor legend{font-size:11px;color:#676767;margin-bottom:9px}
.manual-line-row{display:grid;grid-template-columns:30px minmax(0,1fr) 64px;align-items:center;gap:7px;margin-bottom:8px;font-size:11px}
.manual-line-row>label{color:#5c5c5c;white-space:nowrap}
.manual-line-row select{width:100%;min-width:0;height:38px;padding:6px;border:1px solid #dadada;background:#fffefa;color:var(--ink);border-radius:6px;font-size:12px}
.manual-moving{display:flex;align-items:center;gap:4px;min-height:38px;cursor:pointer}
.manual-moving input{width:16px;height:16px;margin:0;accent-color:var(--purple)}
.meihua-balance{margin-top:16px;padding-top:17px;border-top:1px solid var(--line)}
.meihua-balance h3{font-size:12px;font-weight:500;color:var(--muted)}
.balance-numbers{display:flex;align-items:center;gap:17px;margin:9px 0;font-size:13px}
.balance-numbers b{font:28px/1.3 var(--serif);margin-left:6px;font-variant-numeric:tabular-nums}
.balance-good{color:#487858}.balance-bad{color:#b84758}.balance-colon{color:#a9a9a9;font-size:20px}
.balance-bar{display:flex;height:6px;border-radius:6px;overflow:hidden;background:#e9e9e9;max-width:360px}
.balance-bar i{height:100%;display:block}.balance-good-bar{background:#6f9d7f}.balance-bad-bar{background:#cc7481}
.meihua-balance>small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:9px}
.xiao-cell{padding:0;display:flex;flex-direction:column}
.xiao-cell-content{padding:18px 13px;flex:1}
.xiao-star-god{display:flex;justify-content:space-between;gap:4px;font-size:14px;color:#4b4b4b;margin:0}
.xiao-branch-kin{display:flex;justify-content:space-between;gap:5px;align-items:flex-end;margin:24px 0 0;min-height:42px}
.xiao-branch-kin b{font:25px/1.4 var(--serif);font-weight:400;white-space:nowrap}
.xiao-branch-kin b small{font:13px/1.4 var(--sans)}
.xiao-branch-kin strong{font:18px/1.4 var(--serif);color:#4b4b4b;font-weight:400;white-space:nowrap}
.xiao-palace-name{flex-wrap:nowrap;margin-top:20px;gap:4px}
.xiao-palace-name h3{font-size:25px;letter-spacing:1px;color:#4b4b4b;white-space:nowrap}
.xiao-palace-name span{font-size:12px;color:#5d5d5d;text-align:right}
.xiao-element-band{text-align:center;font:22px/1.5 var(--serif);color:#fff!important}
.xiao-cell .element-wood{color:#4f8b3b}.xiao-cell .element-fire{color:#cc404b}.xiao-cell .element-earth{color:#9d6130}.xiao-cell .element-metal{color:#ab7a20}.xiao-cell .element-water{color:#397cce}
.xiao-element-band.element-wood{background:#72a25c}.xiao-element-band.element-fire{background:#cf676b}.xiao-element-band.element-earth{background:#ad7449}.xiao-element-band.element-metal{background:#be9449}.xiao-element-band.element-water{background:#638ec6}
@media(max-width:640px){
 .manual-line-row{grid-template-columns:32px minmax(0,1fr) 78px;gap:8px;font-size:13px}
 .manual-line-row select{min-height:44px;font-size:16px;padding:7px}.manual-moving{min-height:44px;gap:6px}.manual-moving input{width:18px;height:18px}
 .manual-editor legend{font-size:12px}.balance-numbers b{font-size:26px}.meihua-balance>small{font-size:11px}
 .xiao-cell-content{padding:14px 7px}.xiao-star-god{font-size:11px}
 .xiao-branch-kin{min-height:35px;margin-top:18px;gap:3px}.xiao-branch-kin b{font-size:20px}.xiao-branch-kin b small{font-size:9px}.xiao-branch-kin strong{font-size:12px}
 .xiao-palace-name{margin-top:18px}.xiao-palace-name h3{font-size:21px;letter-spacing:0}.xiao-palace-name span{font-size:10px}.xiao-element-band{font-size:20px}
}

/* Four transformations below stars, with white glyphs on their own tone. */
.star-hua-row .hua-pill{color:#fff!important;border:0;border-radius:3px;min-width:15px;min-height:17px;padding:1px 2px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}
.star-hua-row .hua-pill.lu{background:var(--hua-lu)}.star-hua-row .hua-pill.quan{background:var(--hua-quan)}.star-hua-row .hua-pill.ke{background:var(--hua-ke)}.star-hua-row .hua-pill.ji{background:var(--hua-ji)}
.star-hua-row .hua-pill .hua-char{color:inherit!important}
.oracle-pillars b{display:inline-flex;gap:0;font-weight:600}
.oracle-pillar-character{font-weight:600}
@media(max-width:640px){.star-hua-row .hua-pill{min-width:10px;min-height:12px;padding:1px;font-size:8px;border-radius:2px}}
.meihua-images{margin-top:18px;padding:22px}.meihua-images .section-title{margin-bottom:8px}.meihua-images h2{font-size:19px}.meihua-images-intro{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 20px}.trigram-images-list{display:grid;gap:24px}.trigram-image-card{min-width:0;border-top:1px solid var(--line);padding-top:20px}.trigram-image-heading{display:flex;align-items:center;gap:14px}.trigram-image-heading h3{font:20px/1.5 var(--serif);margin:0}.trigram-image-heading p{font-size:11px;color:var(--muted);margin:3px 0 0}.trigram-image-symbol{width:44px;flex:0 0 44px;display:grid;gap:6px}.trigram-image-symbol .hex-line{height:5px;gap:7px}.trigram-image-symbol .hex-line i{height:5px}.trigram-image-locations{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.trigram-image-locations span{font-size:10px;line-height:1.7;background:#f1f1f1;color:#6a6a6a;padding:2px 7px;border-radius:4px}.trigram-image-details{margin:0}.trigram-image-details>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #ececec;line-height:1.95}.trigram-image-details>div:last-child{border:0;padding-bottom:0}.trigram-image-details dt{font-size:12px;color:#6b6b6b}.trigram-image-details dd{margin:0;font-size:13px;overflow-wrap:anywhere;min-width:0}
@media(max-width:600px){.meihua-images{padding:19px 16px}.trigram-image-details>div{grid-template-columns:52px minmax(0,1fr);gap:10px}.trigram-image-details dt{font-size:11px}}

/* 手机命盘使用固定四行比例，内容不再撑高宫格。 */
.workspace-right .v2-chart-grid{aspect-ratio:1 / 1.16;grid-template-rows:repeat(4,minmax(0,1fr))!important;min-height:0}
.workspace-right .v2-chart-grid .palace-tile{min-height:0!important;height:100%;padding:9px 6px 27px}
.star-columns{display:flex;flex-flow:row nowrap;align-items:flex-start;gap:1px;margin-bottom:auto;padding:0;min-width:0}
.star-core,.star-misc-group{display:flex;flex-flow:row nowrap;align-items:flex-start;flex:0 0 auto;min-width:0}
.star-core{gap:calc(1px * var(--core-scale,1))}
.star-misc-group{gap:0}
.star-column{width:calc(16px * var(--core-scale,1));font-size:calc(14px * var(--core-scale,1) * var(--star-height-scale,1))}
.star-main{width:calc(18px * var(--core-scale,1));font-size:calc(16px * var(--core-scale,1) * var(--star-height-scale,1))}
.star-misc{width:calc(14px * var(--misc-scale,1));font-size:calc(12px * var(--misc-scale,1) * var(--star-height-scale,1))}
.vertical-star-name{height:auto;min-height:0;line-height:1;letter-spacing:0}
.star-brightness{font-size:calc(10px * var(--core-scale,1) * var(--star-height-scale,1));line-height:1.1;min-height:0;margin-top:1px}
.star-misc .star-brightness{font-size:calc(10px * var(--misc-scale,1) * var(--star-height-scale,1))}
.star-transformations{margin-top:1px;gap:1px}
.star-hua-row{line-height:1;gap:1px;min-height:0}
.star-transformations .hua-pill{min-width:0;min-height:0;font-size:calc(9px * var(--star-height-scale,1));padding:1px 2px;line-height:1}
.star-transformations .hua-scope{font-size:calc(8px * var(--star-height-scale,1));line-height:1}
.v2-chart-grid .tile-age{font-size:8px;line-height:1.25;margin-top:2px}
.v2-chart-grid .tile-flags{margin:2px 18px 0 0;min-height:0;gap:2px}
.v2-chart-grid .tile-bottom{margin-top:2px;gap:1px;padding-right:19px}
.v2-chart-grid .palace-label-stack{line-height:1.2}
.v2-chart-grid .palace-name{color:#b4384b}
.v2-chart-grid .decadal-range{padding:1px 2px;line-height:1.1}
.near-overlay-names{display:flex;gap:2px;flex-wrap:nowrap;white-space:nowrap}
.near-overlay-names .overlay-name{font-size:9px;color:#6b6b6b}
.v2-chart-grid .tile-reference{position:absolute;bottom:3px;left:4px;right:4px;font-size:8px;line-height:1.35;margin:0;min-height:0;width:auto}
.palace-ganzhi{bottom:25px;font-size:16px;gap:1px}
.v2-chart-grid .body-mark{bottom:69px}
/* 离线状态与文化用途说明放在品牌栏。 */
.brand-block{margin-bottom:24px}
.brand-row{display:flex;align-items:center;gap:6px;min-width:0}
.brand-row .brand{margin:0;gap:6px;flex:1;min-width:0;padding:0}
.brand-row .brand-icon{width:30px;height:30px;border-radius:8px;flex-shrink:0}
.brand-row .brand strong{font-size:15px;letter-spacing:0}
.brand-row .brand em{font-size:8px;padding:2px 3px}
.brand-row .brand small{font-size:6px;letter-spacing:.7px}
.brand-row .offline-status{font-size:9px;padding:3px 4px;min-height:30px;white-space:nowrap;flex-shrink:0}
.brand-row .offline-status::after{font-size:9px}
.brand-disclaimer{font-size:9px;line-height:1.6;color:var(--muted);margin-top:9px}
@media(min-width:641px) and (max-width:1100px){.brand-row .brand-icon{display:none}}
/* 起卦信息与图盘合并为一张紧凑结果卡片。 */
.oracle-form-wrap{min-width:0}
.oracle-form-wrap>summary{display:none}
.oracle-cast .oracle-info{padding:0 0 8px;margin:0;border-bottom:1px solid var(--line)}
.oracle-cast .oracle-info-row{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:5px 0;font-size:12px;line-height:1.5}
.oracle-cast .oracle-info-row>span{font-size:11px;letter-spacing:0}
.oracle-cast .oracle-info-row .hint{font-size:9px;line-height:1.35;margin-top:2px}
.oracle-cast .oracle-pillars{gap:2px 10px}
.oracle-cast .oracle-pillars>span{gap:3px}
.oracle-cast .oracle-pillars>span small{font-size:9px}
.oracle-cast>.section-title{margin:12px 0 10px}
.meihua-balance{margin-top:8px;padding-top:8px}
.balance-numbers{margin:3px 0;gap:12px}
.balance-numbers b{font-size:26px;line-height:1.2}
.balance-bar{height:6px}
.meihua-balance>small{margin-top:4px;font-size:9px;line-height:1.4}
.xiao-chart .xiao-grid{margin:10px 0 7px}
.xiao-cell-content{padding:12px 10px}
.xiao-star-god{margin-bottom:6px}
.xiao-palace-name{margin-top:8px}
.xiao-element-band{padding:3px 0;line-height:1.2}
@media(max-width:640px){
 .topbar{display:none}
 .brand-block{margin-bottom:10px}
 .brand-row .brand{gap:9px}
 .brand-row .brand-icon{display:block;width:33px;height:33px}
 .brand-row .brand strong{font-size:19px;letter-spacing:1px}
 .brand-row .brand em{font-size:9px}
 .brand-row .brand small{font-size:7px;letter-spacing:1px}
 .brand-row .offline-status{font-size:10px;padding:5px 7px;min-height:32px}
 .brand-disclaimer{font-size:9px;line-height:1.45;margin-top:7px}
 .chart-frame{--ring-x:10px;--ring-y:18px}
 .workspace-right .v2-chart-grid{aspect-ratio:2 / 3;grid-template-rows:repeat(4,minmax(0,1fr))!important}
 .workspace-right .v2-chart-grid .palace-tile{padding:5px 3px 21px;min-height:0!important}
 .star-columns{gap:.5px}
 .star-core{gap:calc(.5px * var(--core-scale,1))}
 .star-column{width:calc(11px * var(--core-scale,1));font-size:calc(10px * var(--core-scale,1) * var(--star-height-scale,1))}
 .star-main{width:calc(13px * var(--core-scale,1));font-size:calc(12px * var(--core-scale,1) * var(--star-height-scale,1))}
 .star-misc{width:calc(9px * var(--misc-scale,1));font-size:calc(9px * var(--misc-scale,1) * var(--star-height-scale,1))}
 .star-brightness{font-size:calc(7px * var(--core-scale,1) * var(--star-height-scale,1))}
 .star-misc .star-brightness{font-size:calc(7px * var(--misc-scale,1) * var(--star-height-scale,1))}
 .star-transformations{gap:0}
 .star-transformations .hua-pill{font-size:calc(7px * var(--star-height-scale,1));padding:1px;min-width:0;min-height:0}
 .star-transformations .hua-scope{font-size:calc(6px * var(--star-height-scale,1))}
 .v2-chart-grid .tile-age{font-size:6px;line-height:1.3;letter-spacing:-.1px}
 .v2-chart-grid .tile-flags{margin:1px 10px 0 0}
 .tile-flags>span{font-size:6.5px;padding:0 2px;line-height:1.2}
 .v2-chart-grid .tile-bottom{padding-right:14px;gap:1px}
 .v2-chart-grid .palace-name{font-size:9px}
 .v2-chart-grid .overlay-name,.near-overlay-names .overlay-name{font-size:6.5px}
 .v2-chart-grid .decadal-range{font-size:7px!important;padding:1px 2px}
 .v2-chart-grid .tile-reference{font-size:6px;line-height:1.25;left:3px;right:3px;bottom:2px}
 .palace-ganzhi{font-size:11px;bottom:20px;right:3px;gap:1px}
 .palace-changsheng{font-size:6px}
 .v2-chart-grid .body-mark{bottom:51px;right:3px;font-size:7px;padding:2px 1px}
 .chart-center{padding:3px 1px}
 .center-content{width:98%;padding:2px;gap:2px}
 .chart-center .center-star{width:21px;height:21px}
 .chart-center h3{font-size:13px;line-height:1.2;margin:2px 0}
 .chart-center p{font-size:8px;line-height:1.3}
 .center-birth{margin:2px 0;gap:2px}
 .center-birth p{font-size:8px;line-height:1.3}
 .center-pillars{gap:8px;margin:3px 0}
 .pillar-column{gap:1px}
 .pillar-column small{font-size:6px}
 .pillar-column b{font-size:14px;line-height:1.1}
 .center-caption{font-size:6px}
 .chart-copy-btn{font-size:8px;padding:4px 2px;min-height:25px;margin-top:3px}
 .cycle-cell{padding:5px 3px;gap:1px}
 .hourly-cell{flex-basis:73px}
 .hourly-cell small{font-size:7px}
 .oracle-heading{margin:0 0 8px}
 .oracle-heading h1{font-size:23px;line-height:1.4}
 .oracle-heading p{display:none}
 .oracle-layout{gap:10px}
 .oracle-form-wrap>summary{display:block;cursor:pointer;padding:8px 12px;border:1px solid var(--line);border-radius:7px;color:var(--purple);font-size:11px;background:#fff}
 .oracle-form-wrap[open]>summary{margin-bottom:8px}
 .oracle-form-wrap:not([open])>.oracle-form-panel{display:none}
 .oracle-cast{padding:12px;margin-bottom:12px;scroll-margin-top:8px}
 .oracle-cast .oracle-info{padding-bottom:5px}
 .oracle-cast .oracle-info-row{grid-template-columns:30px minmax(0,1fr);gap:7px;padding:3px 0;font-size:11px;line-height:1.35}
 .oracle-cast .oracle-info-row>span{font-size:10px}
 .oracle-cast .oracle-info-row .hint{font-size:8px;line-height:1.3;margin-top:1px}
 .oracle-cast .oracle-pillars{gap:1px 8px}
 .oracle-cast .oracle-pillars>span small{font-size:8px}
 .oracle-cast .oracle-pillars>.hint{font-size:8px}
 .oracle-cast>.section-title{margin:8px 0}
 .oracle-cast>.section-title h2{font-size:15px;line-height:1.3}
 .hexagram-scroll{padding-bottom:0;overflow-x:visible}
 .hexagram-board{min-width:0;grid-template-columns:12px repeat(5,minmax(0,1fr));gap:4px}
 .hexagram-column h3{font-size:10px;line-height:1.3;margin:0 0 5px}
 .hexagram-column>small{font-size:9px;line-height:1.3}
 .hexagram-lines{width:min(100%,43px);gap:5px;margin:5px auto}
 .hex-line,.hex-line i{height:5px}
 .hex-line{gap:6px}
 .hex-line.hex-half-gap{margin-top:3px}
 .hexagram-name{font-size:10px;line-height:1.4;margin-top:5px}
 .hexagram-number{font-size:8px;line-height:1.3}
 .body-use-labels{font-size:11px;padding-top:35px;padding-bottom:46px}
 .meihua-balance{margin-top:6px;padding-top:6px}
 .meihua-balance h3{font-size:11px}
 .balance-numbers{font-size:11px;margin:2px 0;gap:10px}
 .balance-numbers b{font-size:23px;line-height:1.1;margin-left:4px}
 .meihua-balance>small{font-size:8px;line-height:1.35;margin-top:3px}
 .xiao-chart .xiao-grid{margin:8px 0 5px}
 .xiao-cell-content{padding:8px 7px}
 .xiao-star-god{margin-bottom:4px;font-size:10px}
 .xiao-branch-kin{gap:4px}
 .xiao-branch-kin b{font-size:22px;line-height:1.2}
 .xiao-branch-kin b small{font-size:8px}
 .xiao-branch-kin strong{font-size:12px}
 .xiao-palace-name{margin-top:5px}
 .xiao-palace-name h3{font-size:18px;line-height:1.2}
 .xiao-palace-name span{font-size:8px}
 .xiao-element-band{padding:2px 0;font-size:10px;line-height:1.2}
 .xiao-chart>p.hint{font-size:8px;line-height:1.35;margin:4px 0 0}
}
@media(max-width:360px){.near-overlay-names{gap:1px}.chart-center p,.center-birth p{font-size:7px}.center-pillars{gap:6px}.chart-center h3{font-size:12px}}
@media(max-width:640px) and (max-height:740px){.oracle-cast{padding:9px}.oracle-cast .oracle-info-row{font-size:10px;padding:2px 0}.oracle-cast .oracle-info-row>span{font-size:9px}.oracle-cast>.section-title{margin:6px 0}.hexagram-lines{gap:4px}.hex-line,.hex-line i{height:4px}.hexagram-column h3{margin-bottom:3px}.meihua-balance{margin-top:4px;padding-top:4px}.balance-numbers b{font-size:21px}}

@media(max-width:360px){.center-content{gap:1px}.chart-center .center-star{width:18px;height:18px}.pillar-column b{font-size:12px}.center-pillars{margin:2px 0}.chart-copy-btn{font-size:7px;min-height:22px;padding:3px 1px}.chart-center h3{font-size:11px}}
/* 中宫分区排布并保留四周留白，生辰每种历法各占一整行。 */
.chart-center{padding:14px 12px;min-height:0;justify-content:center}
.center-content{--center-fit:1;--center-date-scale:1;--center-date-font:12px;--center-icon-size:32px;--center-button-height:32px;width:100%;max-width:100%;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(6px * var(--center-fit)) 10px;align-content:center;align-items:center;border-radius:0}
.center-header{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:8px;min-width:0}
.center-brand{display:flex;flex-direction:column;align-items:center;gap:calc(3px * var(--center-fit));min-width:0}
.chart-center .center-star{width:calc(var(--center-icon-size) * var(--center-fit));height:calc(var(--center-icon-size) * var(--center-fit));margin:0;border-radius:8px}
.center-brand-name{font:calc(12px * var(--center-fit))/1.3 var(--serif);font-weight:600;color:var(--purple);white-space:nowrap;letter-spacing:1px}
.center-person{min-width:0;text-align:center}
.chart-center .center-name{width:100%;gap:3px;justify-content:center}
.chart-center .center-name h3{font-size:calc(19px * var(--center-fit));line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;margin:0}
.chart-center .center-profile{font-size:calc(11px * var(--center-fit));line-height:1.4;margin-top:2px;white-space:nowrap}
.center-birth{grid-column:1/-1;margin:0;display:grid;gap:calc(3px * var(--center-fit));width:100%;min-width:0}
.center-dates{width:100%;min-width:0;display:grid;gap:calc(2px * var(--center-fit))}
.chart-center .center-birth .center-date{display:block;width:100%;font-size:calc(var(--center-date-font) * var(--center-fit) * var(--center-date-scale));line-height:1.45;margin:0;white-space:nowrap;overflow:visible;text-align:center}
.center-content .center-pillars{margin:calc(3px * var(--center-fit)) 0;gap:calc(12px * var(--center-fit))}
.center-content .pillar-column{gap:calc(2px * var(--center-fit))}
.center-content .pillar-column b{font-size:calc(20px * var(--center-fit));line-height:1.05}
.center-content .pillar-column small,.center-content .center-caption{font-size:calc(9px * var(--center-fit))!important;line-height:1.3;margin:0}
.center-content .center-rulers{grid-column:1/-1;font-size:calc(11px * var(--center-fit));line-height:1.35;white-space:nowrap}
.center-content .birth-hidden-note{grid-column:1/-1}
.center-cycle{grid-column:1/-1;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:space-between;gap:2px 8px;padding:0 3px;font-size:calc(11px * var(--center-fit));color:#6a6a6a;line-height:1.35}
.center-cycle p{grid-column:1/-1;text-align:center;font-size:calc(10px * var(--center-fit));line-height:1.35}
.center-content .chart-copy-btn{grid-column:1/-1;justify-self:center;width:94%;max-width:100%;min-height:calc(var(--center-button-height) * var(--center-fit));padding:calc(6px * var(--center-fit)) 4px;font-size:calc(11px * var(--center-fit));line-height:1.3;margin:calc(3px * var(--center-fit)) 0 0;white-space:nowrap}
.tile-period-age>span{white-space:nowrap}
@media(max-width:640px){
 .chart-center{padding:11px 8px}
 .center-content{--center-date-font:8px;--center-icon-size:22px;--center-button-height:26px;gap:calc(4px * var(--center-fit)) 6px}
 .center-header{gap:4px}
 .center-brand-name{font-size:calc(9px * var(--center-fit));letter-spacing:.5px}
 .chart-center .center-name h3{font-size:calc(13px * var(--center-fit))}
 .chart-center .center-profile{font-size:calc(8px * var(--center-fit))}
 .center-name .birth-eye{width:22px;height:22px;flex-shrink:0;padding:2px}
 .center-content .center-pillars{gap:calc(10px * var(--center-fit));margin:calc(2px * var(--center-fit)) 0}
 .center-content .pillar-column b{font-size:calc(14px * var(--center-fit))}
 .center-content .pillar-column small,.center-content .center-caption{font-size:calc(7px * var(--center-fit))!important}
 .center-content .center-rulers{font-size:calc(8px * var(--center-fit))}
 .center-cycle{font-size:calc(8px * var(--center-fit));gap:1px 5px;padding:0}
 .center-cycle p{font-size:calc(7px * var(--center-fit))}
 .center-content .chart-copy-btn{font-size:calc(8px * var(--center-fit));padding:calc(5px * var(--center-fit)) 2px;width:98%}
 .v2-chart-grid .tile-period-age{font-size:5.5px;letter-spacing:-.2px}
}
@media(max-width:360px){.chart-center{padding:10px 7px}.center-content{--center-date-font:7px;--center-icon-size:20px;gap:calc(3px * var(--center-fit)) 4px}.center-content .pillar-column b{font-size:calc(12px * var(--center-fit))}.center-brand-name{font-size:calc(8px * var(--center-fit))}}
/* 单个分数与默认折叠的详解。 */
.meihua-score{display:flex;align-items:baseline;gap:4px;color:var(--purple);margin:3px 0 0;font-size:13px;line-height:1.2}
.meihua-score b{font:32px/1.2 var(--serif);font-variant-numeric:tabular-nums;font-weight:600}
.oracle-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;color:var(--purple);min-height:42px;outline-offset:-3px}
.oracle-fold>summary::-webkit-details-marker{display:none}
.oracle-fold>summary::marker{content:''}
.oracle-fold>summary:focus-visible{outline:2px solid var(--purple)}
.fold-chevron{width:17px;height:17px;flex:0 0 17px;transition:transform .18s;color:#898989}
.oracle-fold[open]>summary .fold-chevron{transform:rotate(90deg)}
.oracle-fold:not([open])>.fold-content{display:none}
.hex-text-card>.section-title{margin-bottom:10px}
.hex-lines-fold{margin-top:12px;border-top:1px solid var(--line)}
.hex-lines-fold>summary{font-size:12px;padding:8px 0}
.hex-lines-fold>.fold-content{padding-top:3px}
.hex-lines-fold .hex-interpretations p:first-child{border-top:0}
.oracle-fold.meihua-images,.oracle-fold.xiao-explanations{padding:0}
.oracle-fold.meihua-images>summary,.oracle-fold.xiao-explanations>summary{padding:15px 22px}
.oracle-fold>summary h2{font-size:19px;margin:0;line-height:1.5}
.oracle-fold.meihua-images>.fold-content,.oracle-fold.xiao-explanations>.fold-content{padding:0 22px 22px}
@media(max-width:640px){.meihua-score b{font-size:26px}.meihua-score{font-size:11px}.oracle-fold.meihua-images>summary,.oracle-fold.xiao-explanations>summary{padding:12px 16px}.oracle-fold.meihua-images>.fold-content,.oracle-fold.xiao-explanations>.fold-content{padding:0 16px 16px}.oracle-fold>summary h2{font-size:17px}.fold-chevron{width:16px;height:16px;flex-basis:16px}.hex-lines-fold{margin-top:10px}}
/* 中宫品牌居中，姓名与性别左右排列，底部提供时间步进。 */
.center-content{--center-date-font:13px;grid-template-columns:1fr;gap:calc(4px * var(--center-fit))}
.center-content>.center-brand{grid-column:1/-1;justify-self:center}
.center-person-row{display:flex;align-items:center;justify-content:space-between;gap:6px;grid-column:1/-1;min-width:0;width:100%}
.center-person-row .center-name{width:auto;flex:1;justify-content:flex-start;min-width:0}
.chart-center .center-name h3,.chart-center .center-profile{font-size:calc(var(--center-date-font) * var(--center-fit) * var(--center-date-scale));line-height:1.35;font-family:var(--sans);margin:0}
.center-person-row .center-profile{flex-shrink:0;text-align:right}
.center-meta{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:8px;width:100%;grid-column:1/-1}
.center-meta .center-rulers{grid-column:auto;text-align:left;font-size:calc(10px * var(--center-fit));line-height:1.4}
.center-meta .center-cycle{grid-column:auto;padding:0}
.center-content .chart-copy-btn{margin:0;min-height:calc(28px * var(--center-fit));padding:calc(4px * var(--center-fit)) 3px}
.center-time-controls{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr 1fr;gap:2px;width:100%;grid-column:1/-1;margin-top:calc(3px * var(--center-fit))}
.center-time-controls button{min-width:0;min-height:calc(28px * var(--center-fit));background:#fff;border:1px solid #d6d6d6;border-radius:3px;color:var(--purple);font-size:calc(10px * var(--center-fit));padding:3px 0;line-height:1.2;white-space:nowrap}
.center-self-legend{display:flex;align-items:center;justify-content:center;gap:5px;grid-column:1/-1;margin-top:2px;white-space:nowrap}
.center-self-legend>small{font-size:calc(9px * var(--center-fit));color:var(--muted)}
.center-self-legend>span{display:inline-flex;align-items:center;gap:1px}
.center-self-legend .hua-pill{font-size:calc(8px * var(--center-fit));min-width:0;min-height:0;padding:1px 2px;line-height:1.2}
.center-self-legend .self-arrow{width:calc(12px * var(--center-fit));height:calc(9px * var(--center-fit))}
.palace-tile{cursor:pointer}
.palace-detail-btn{position:absolute;bottom:3px;right:3px;z-index:3;border:1px solid #cccccc;border-radius:3px;background:#f0f0f0;color:var(--purple);font-size:9px;line-height:1.3;min-height:22px;padding:2px 5px}
.v2-chart-grid .tile-reference{right:42px;bottom:6px}
.palace-detail-dialog,.oracle-detail-dialog{width:min(690px,calc(100% - 24px));max-height:85vh;padding:20px}
.palace-detail-dialog .detail-panel{border:0;border-radius:0;background:transparent}
.palace-detail-dialog .panel-body{padding:0}
.oracle-detail-dialog .hex-text-card{padding:0}
.oracle-detail-dialog .trigram-image-card{padding-top:0;border-top:0}
.lunar-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lunar-fields .field select{width:100%;min-width:0}
.hexagram-column>.trigram-hit{font-size:11px;line-height:1.3;color:var(--muted);background:transparent;min-height:22px;padding:2px 0;width:100%;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.hexagram-column>button.hexagram-name{background:transparent;padding:0;width:100%;text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
/* 排盘信息可收起，规则设置始终可见。 */
.case-heading{display:flex;align-items:center;gap:7px}
.case-settings-btn,.case-fold-btn{display:grid;place-items:center;background:transparent;color:var(--purple);padding:4px;min-width:32px;min-height:32px;border-radius:5px}
.case-settings-btn svg{width:18px;height:18px}
.case-fold-btn svg{width:21px;height:21px;transition:transform .18s}
.case-fold-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.case-panel>.panel-body[hidden]{display:none!important}
.case-panel:has(>.panel-body[hidden])>.panel-head{border-bottom:0}
.chart-settings-dialog{width:min(440px,calc(100% - 24px))}
.chart-settings-dialog .dialog-head h2{font-size:18px}
.chart-settings-dialog .field{margin-bottom:19px}
.chart-settings-dialog>.btn{margin-top:15px}
/* 命主、身主同排居中，保持中宫时间不换行。 */
.center-meta{grid-template-columns:1fr;gap:2px}
.center-meta .center-rulers{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px;text-align:center}
.center-rulers>span{white-space:nowrap}
.center-meta .center-scope{text-align:center;color:var(--muted);font-size:calc(9px * var(--center-fit));line-height:1.2}
/* 宫外离心、宫内侧向心：参考图中的斜向细箭头。 */
.workspace-right .v2-chart-grid{overflow:visible}
.workspace-right .v2-chart-grid .palace-tile{overflow:visible}
.self-edge{display:flex;align-items:center;justify-content:center;gap:1px;z-index:4}
.self-edge .self-arrow{width:18px;height:22px;transform:none}
.self-outward.self-edge-north{left:50%;right:auto;top:-22px;bottom:auto;transform:translateX(-50%)}
.self-outward.self-edge-south{left:50%;right:auto;bottom:-22px;top:auto;transform:translateX(-50%)}
.self-outward.self-edge-west{left:-19px;right:auto;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column}
.self-outward.self-edge-east{right:-19px;left:auto;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column}
.self-outward.self-outer-column.self-corner-nw{left:-17px;top:-22px;right:auto;transform:none}
.self-outward.self-outer-column.self-corner-ne{right:-17px;top:-22px;left:auto;transform:none}
.self-outward.self-outer-column.self-corner-sw{left:-17px;bottom:-22px;top:auto;right:auto;transform:none}
.self-outward.self-outer-column.self-corner-se{right:-17px;bottom:-22px;top:auto;left:auto;transform:none}
.self-edge.self-inward{left:auto;right:auto;top:auto;bottom:auto;transform:none;flex-direction:row}
.self-inward.self-edge-north{bottom:1px;left:50%;transform:translate(-50%,50%)}
.self-inward.self-edge-south{top:1px;left:50%;transform:translate(-50%,-50%)}
.self-inward.self-edge-west{right:1px;top:50%;transform:translate(50%,-50%);flex-direction:column}
.self-inward.self-edge-east{left:1px;top:50%;transform:translate(-50%,-50%);flex-direction:column}
.self-outward.self-corner-nw .self-arrow,.self-inward.self-corner-se .self-arrow{transform:rotate(-90deg)}
.self-outward.self-corner-ne .self-arrow,.self-inward.self-corner-sw .self-arrow{transform:none}
.self-outward.self-corner-sw .self-arrow,.self-inward.self-corner-ne .self-arrow{transform:rotate(180deg)}
.self-outward.self-corner-se .self-arrow,.self-inward.self-corner-nw .self-arrow{transform:rotate(90deg)}
/* 五行标识延续中宫的黑、红、绿、褐、金配色。 */
.hexagram-column>.trigram-hit.element-wood,.body-use-labels>.element-wood{color:#438345}
.hexagram-column>.trigram-hit.element-fire,.body-use-labels>.element-fire{color:#cb414a}
.hexagram-column>.trigram-hit.element-earth,.body-use-labels>.element-earth{color:#9b6236}
.hexagram-column>.trigram-hit.element-metal,.body-use-labels>.element-metal{color:#b48b16}
.hexagram-column>.trigram-hit.element-water,.body-use-labels>.element-water{color:#252525}
.meihua-stage-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:5px}
.meihua-stage{min-width:0;text-align:center;border-left:1px solid var(--line)}
.meihua-stage:first-child{border-left:0}
.meihua-stage>span{font-size:11px;color:var(--muted)}
.meihua-stage .meihua-score{justify-content:center}
.phase-score-rules{font-size:10px;color:var(--muted);margin-top:6px}
.phase-score-rules summary{cursor:pointer;line-height:1.4;min-height:20px}
.phase-score-rules p{padding-top:6px;line-height:1.7}
.phase-score-note{font-size:10px;color:#888;line-height:1.65;margin-top:8px}
.v2-chart-grid .chart-center{background:#fff}
.body-use-labels>span{color:#222222}
.score-gain .meihua-score b{color:#34835a}
.score-loss .meihua-score b{color:#ba3544}
.score-neutral .meihua-score b{color:#222222}
.oracle-mobile-back{display:none}
.oracle-subject-row>strong{min-width:0;overflow-wrap:anywhere}
@media(max-width:640px){
 .center-content{--center-date-font:9px;gap:calc(2px * var(--center-fit))}
 .center-brand-name{font-size:calc(9px * var(--center-fit))}
 .center-content .chart-copy-btn{min-height:calc(22px * var(--center-fit));font-size:calc(8px * var(--center-fit));padding:calc(3px * var(--center-fit)) 2px}
 .center-person-row{gap:3px}
 .center-person-row .birth-eye{width:18px;height:18px;padding:1px;flex-shrink:0}
 .center-meta{gap:5px}
 .center-meta .center-rulers{font-size:calc(7px * var(--center-fit))}
 .center-meta .center-cycle{font-size:calc(7px * var(--center-fit))}
 .center-meta .center-cycle p{font-size:calc(6.5px * var(--center-fit))}
 .center-time-controls{gap:1px}
 .center-time-controls button{font-size:calc(6px * var(--center-fit));padding:2px 0;min-height:calc(20px * var(--center-fit))}
 .center-self-legend{gap:3px}
 .center-self-legend>small{font-size:calc(6px * var(--center-fit))}
 .center-self-legend .hua-pill{font-size:calc(6px * var(--center-fit));padding:0 1px}
 .center-self-legend .self-arrow{width:calc(9px * var(--center-fit));height:calc(7px * var(--center-fit))}
 .palace-detail-btn{font-size:6.5px;min-height:18px;padding:1px 2px;bottom:2px;right:2px}
 .v2-chart-grid .tile-reference{right:25px;bottom:6px}
 .palace-detail-dialog,.oracle-detail-dialog{padding:16px;max-height:86vh}
 .lunar-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .hexagram-column>.trigram-hit{font-size:9px;min-height:18px;line-height:1.3;padding:1px 0}
 .case-panel .panel-head{padding:10px 14px}
 .chart-settings-dialog select.control{font-size:16px;min-height:43px}
 .center-meta .center-scope{font-size:calc(6.5px * var(--center-fit))}
 .self-edge .self-arrow{width:11px;height:14px}
 .self-outward.self-edge-north{top:-15px}
 .self-outward.self-edge-south{bottom:-15px}
 .self-outward.self-edge-west{left:-11px}
 .self-outward.self-edge-east{right:-11px}
 .self-outward.self-outer-column.self-corner-nw{left:-9px;top:-15px}
 .self-outward.self-outer-column.self-corner-ne{right:-9px;top:-15px}
 .self-outward.self-outer-column.self-corner-sw{left:-9px;bottom:-15px}
 .self-outward.self-outer-column.self-corner-se{right:-9px;bottom:-15px}
 .meihua-stage>span{font-size:9px}
 .meihua-stage .meihua-score b{font-size:23px}
 .oracle-cast .oracle-subject-row{grid-template-columns:30px minmax(0,1fr) auto;align-items:start}
 .oracle-mobile-back{display:inline-flex;align-items:center;gap:3px;align-self:start;background:transparent;color:var(--purple);font-size:11px;line-height:1.2;min-height:28px;margin:-3px 0;padding:3px 2px;white-space:nowrap;border-radius:3px}
 .oracle-mobile-back svg{width:15px;height:15px;flex-shrink:0}
}

/* 黑灰界面；品牌图形用滤镜保留原有轮廓与反白，语义色继续用于星曜、四化与五行。 */
.brand-icon,.chart-center .center-star{filter:grayscale(1) contrast(2)}
.more-heading{margin:4px 0 20px}.more-heading h1{font-size:28px}
.more-menu{max-width:760px;padding:0}
.more-entry{display:flex;align-items:center;gap:15px;width:100%;min-height:78px;text-align:left;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);color:var(--ink);font-size:17px}
.more-entry:last-child{border-bottom:0}.more-entry:hover{background:#f1f1f1}
.more-entry>svg{width:24px;height:24px;flex-shrink:0}.more-entry>span{flex:1}.more-entry .more-entry-chevron{width:18px;color:#777}
.ni-money-page{max-width:1000px}.ni-heading{margin-bottom:18px}.ni-cast-panel{padding:20px}.ni-mode{max-width:380px;margin:0 auto 20px}.ni-random,.ni-manual{text-align:center}.ni-random p,.ni-manual>p{color:var(--muted);font-size:12px;margin:8px auto 18px}.ni-cast-button{min-width:148px;margin-top:18px}.ni-coin-stack{width:min(330px,100%);display:grid;grid-template-columns:1fr;gap:7px;margin:16px auto}.ni-coin{width:100%;min-height:54px;border:1.5px solid #aaa;border-radius:9px;background:#f8f6f1;color:#3b3b3b;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:7px 14px;text-align:center}.ni-coin strong{font-family:var(--serif);font-size:21px;line-height:1.2}.ni-coin span{font-size:10px;color:#777}.ni-coin small{font-size:10px;color:#999}.ni-coin.yin{background:#e9e9e9;border-color:#aaa}.ni-coin.yang{background:#f8f6f1;border-color:#666}.ni-coin.pending{border-style:dashed;color:#aaa}.ni-result-slot{margin-top:18px}.ni-empty{border:1px dashed #cecece;border-radius:12px;text-align:center;color:#999;padding:34px 20px;background:#f5f4f1}.ni-empty span{display:block;font-size:54px;line-height:1.1;color:#b0ada6}.ni-empty p{font-size:12px;margin-top:9px}.ni-result{padding:26px}.ni-result-head{display:flex;align-items:center;justify-content:center;gap:28px;padding:4px 0 24px;border-bottom:1px solid var(--line)}.ni-result-head h2{font-family:var(--serif);font-size:31px;letter-spacing:3px}.ni-result-head p{font-size:11px;color:var(--muted);margin-top:5px}.ni-result-symbol{width:104px;display:flex;flex-direction:column;gap:8px}.ni-result-symbol>i{display:flex;height:9px}.ni-yang{background:#1f1f1f;border-radius:1px}.ni-yin{justify-content:space-between}.ni-yin b{width:43%;height:100%;background:#1f1f1f;border-radius:1px}.ni-guide{max-width:760px;margin:0 auto;padding:24px 0 8px}.ni-guide-title{display:flex;align-items:baseline;gap:13px;margin-bottom:12px}.ni-guide-title span{font-size:11px;color:#8d8d8d;letter-spacing:2px}.ni-guide-title strong{font-family:var(--serif);font-size:20px}.ni-guide>p{font-size:14px;line-height:2;color:#525252;margin:7px 0}.ni-illustration{margin:22px 0 15px}.ni-illustration-svg{display:block;width:100%;height:auto;border:1px solid #d8d2c7;border-radius:12px;color:#34312d}.ni-illustration figcaption{text-align:center;color:#999;font-size:9px;margin-top:5px}.ni-symbol-list{margin:20px 0;padding-left:25px}.ni-symbol-list li{padding:0 0 15px 5px;color:#555;font-size:13px;line-height:1.85}.ni-symbol-list strong{font-weight:600;color:#3f3f3f}.ni-symbol-list p{margin-top:4px;color:#737373}.ni-image-reading{display:grid;grid-template-columns:42px 1fr;gap:11px;margin-top:18px;padding:15px 17px;background:#f2f1ed;border-radius:8px}.ni-image-reading>span{font-size:10px;color:#888;letter-spacing:2px}.ni-image-reading p{font-size:12px;color:#696969;line-height:1.9}.ni-source-link{margin:18px auto 0;width:max-content;max-width:100%}.ni-disclaimer{text-align:center;font-size:9px;color:#aaa;border-top:1px solid var(--line);padding-top:13px}
.more-back-row{margin-bottom:14px}.more-back{display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--ink);min-height:36px;padding:4px 0;font-size:12px}
.more-back svg{width:18px;height:18px}.more-note-panel,.dayou-panel{padding:22px;max-width:1000px}
.more-note-panel h1{font-size:25px;margin-bottom:12px}.more-note-panel>.hint{font-size:13px}
.dayou-panel h1{font-size:25px}.dayou-panel .section-title{margin-bottom:15px}
.dayou-legend{display:inline-flex;gap:5px;align-items:center;font-size:11px;color:var(--muted);white-space:nowrap}
.dayou-legend i{width:5px;height:5px;border-radius:50%;background:#b9424d}
.dayou-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));aspect-ratio:1/1;min-height:0;border:1px solid #414646;background:#414646;gap:1px;color:#303635;font-family:var(--serif)}
.dayou-cell{min-width:0;min-height:0;aspect-ratio:1/1;overflow:hidden;padding:24px 12px 18px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}
.dayou-cell-heading{display:flex;align-items:center;gap:5px;width:100%}
.dayou-trigram{font-size:clamp(38px,5vw,72px);line-height:1.15;font-weight:600}
.dayou-location{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.dayou-direction-row{display:flex;align-items:center;gap:3px}
.dayou-element{font-size:clamp(18px,2.5vw,32px);line-height:1.2}
.dayou-direction{border:1px solid currentColor;border-radius:3px;padding:0 3px;font-size:clamp(12px,1.7vw,23px);line-height:1.35;white-space:nowrap}
.dayou-intake,.dayou-family{writing-mode:vertical-rl;text-orientation:upright;line-height:1.2;white-space:nowrap}
.dayou-intake{font-size:clamp(10px,1.4vw,16px)}
.dayou-family{margin-left:auto;font-size:clamp(17px,2.8vw,38px)}
.dayou-rhyme{display:flex;justify-content:space-between;white-space:nowrap;font-size:clamp(14px,2.3vw,30px);line-height:1.4;font-weight:600;margin-top:25px}
.dayou-auspicious{color:#b9424d}
.dayou-center{padding:6px 8px;gap:4px;justify-content:flex-start}
.dayou-center-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.dayou-reading-btn{display:flex;align-items:center;justify-content:space-between;gap:3px;background:#fff;color:var(--ink);font-size:11px;line-height:1.4;padding:2px 0;border-bottom:1px solid var(--line);min-height:22px;flex:0 0 auto}
.dayou-reading-btn svg{width:12px;height:12px;flex:0 0 auto}
.dayou-meanings-dialog{width:min(600px,calc(100% - 24px))}
.dayou-meanings-dialog p{font-size:15px;line-height:1.9;margin:14px 0}
.dayou-center p{font-size:clamp(10px,1.5vw,16px);line-height:1.45;margin:0 0 3px;overflow-wrap:anywhere}
.dayou-center p:last-child{margin-bottom:0}.dayou-center strong{font-weight:600}
/* The glyph keeps its previous narrowed width but shares the text's center.
   Relationship arrows are absolutely positioned and reserve no asymmetric padding. */
.hexagram-figure{position:relative;width:min(100%,74px);padding:0;margin:0 auto}
.hexagram-figure .hexagram-lines{width:calc(75% - 9px);margin:5px auto}
.hex-pair-arrow{position:absolute;right:1px;top:5px;width:8px;height:calc(100% - 10px);pointer-events:none;overflow:visible}
.relation-generate{color:#34835a}.relation-control{color:#ba3544}.relation-equal{color:#386f9b}
.hex-relation-legend{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap;flex-shrink:0}
.hex-relation-legend>span{display:inline-flex;align-items:center;gap:2px}
.hex-relation-legend svg{width:15px;height:8px}.hex-relation-legend small{font-size:9px;color:#757575}
@media(max-width:640px){.more-heading{margin-bottom:14px}.more-heading h1{font-size:24px}.more-entry{font-size:15px;min-height:65px;padding:14px 18px;gap:12px}.more-entry>svg{width:22px;height:22px}.more-note-panel,.dayou-panel{padding:14px}.dayou-panel h1{font-size:20px}.dayou-panel .section-title{gap:8px}.dayou-panel .section-title .hint{font-size:9px}.hex-relation-legend{gap:4px}.hex-relation-legend small{font-size:8px}.hex-relation-legend svg{width:12px}.hexagram-figure .hexagram-lines{width:calc(75% - 7.5px)}.hex-pair-arrow{right:0;width:7px}}
@media(max-width:640px){.ni-heading h1{font-size:25px}.ni-heading p{font-size:11px}.ni-cast-panel{padding:14px}.ni-coin-stack{width:100%;gap:6px}.ni-coin{min-height:49px;padding:6px 10px}.ni-result{padding:18px 14px}.ni-result-head{gap:19px;padding-bottom:18px}.ni-result-symbol{width:82px;gap:6px}.ni-result-symbol>i{height:7px}.ni-result-head h2{font-size:25px}.ni-guide{padding-top:18px}.ni-guide>p{font-size:13px;line-height:1.85}.ni-symbol-list{padding-left:22px}.ni-symbol-list li{font-size:12px}.ni-image-reading{grid-template-columns:34px 1fr;padding:12px}.ni-empty{padding:26px 14px}}
@media(max-width:640px){.dayou-legend{font-size:8px;gap:3px}.dayou-cell{padding:9px 4px 7px}.dayou-cell-heading{gap:2px}.dayou-trigram{font-size:clamp(24px,7vw,42px)}.dayou-element{font-size:clamp(12px,3.6vw,18px)}.dayou-direction-row{gap:2px}.dayou-direction{font-size:clamp(9px,2.7vw,13px);padding:0 2px}.dayou-intake{font-size:clamp(7px,2.2vw,10px)}.dayou-family{font-size:clamp(12px,3.6vw,16px)}.dayou-rhyme{font-size:clamp(9px,2.65vw,15px);margin-top:6px}.dayou-center{padding:5px;gap:3px}.dayou-center p{font-size:clamp(9px,2.35vw,13px);line-height:1.5;margin-bottom:3px}.dayou-reading-btn{font-size:9px;min-height:19px}.dayou-reading-btn svg{width:10px;height:10px}}

/* White reading surfaces; selection remains visible through the existing outlines. */
.case-panel,.chart-panel,.oracle-form-panel,.oracle-cast,.xiao-overview,.xiao-explanations{background:#fff}
.v2-chart-grid .palace-tile,.v2-chart-grid .palace-tile:hover,.v2-chart-grid .palace-tile.related,.v2-chart-grid .palace-tile.selected{background:#fff}
.cycle-board,.cycle-row-label,.cycle-row-label.active,.cycle-cell,.cycle-cell.active,.cycle-cell:hover{background:#fff}
.cycle-row-label.active{box-shadow:inset 0 0 0 1px #a0a0a0}
.cycle-cell{-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:none;background:#fff}
.cycle-cell[aria-pressed="false"],.cycle-cell[aria-pressed="false"]:hover,.cycle-cell[aria-pressed="false"]:focus,.cycle-cell[aria-pressed="false"]:active{background:#fff;box-shadow:none}
.cycle-cell[aria-pressed="true"]{background:#fff;box-shadow:inset 0 0 0 1.5px #242424;color:#242424}
.cycle-cell[aria-pressed="true"] strong{font-weight:600}
.xiao-cell,.xiao-cell.xiao-self,.manual-line-row select,.palace-detail-btn{background:#fff}
.memo-reading{max-width:760px;margin:0 auto}
.memo-section{padding:22px 0;border-top:1px solid var(--line)}
.memo-section:first-child{border-top:0;padding-top:12px}
.memo-section:last-child{padding-bottom:0}
.memo-section h2{font:20px/1.6 var(--serif);margin:0 0 10px;color:var(--ink)}
.memo-section p{font-size:16px;line-height:2.1;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:640px){.memo-section{padding:18px 0}.memo-section h2{font-size:18px;margin-bottom:7px}.memo-section p{font-size:15px;line-height:2}}
/* 更多工具：离线计算，紧凑白底 */
.extra-panel{padding:24px;margin-top:16px;background:#fff}.extra-panel h1{font-size:23px;margin:0 0 20px}.extra-input>summary{cursor:pointer;font-weight:600;padding:12px 0}.extra-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.extra-field{display:flex;flex-direction:column;gap:7px;min-width:0}.extra-field select,.extra-field input{max-width:100%}.extra-result{padding-top:20px}.extra-meta p{margin:4px 0;font-size:14px}.extra-panel details:not(.extra-input){margin-top:20px;font-size:13px}.extra-panel summary{cursor:pointer}.extra-record{display:flex;gap:8px;margin:10px 0}.qimen-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ccc;border-left:1px solid #ccc;margin:16px 0}.qimen-cell{aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-around;gap:5px;padding:10px;border-bottom:1px solid #ccc;border-right:1px solid #ccc;font-size:14px;text-align:center;overflow:hidden}.qimen-cell small{font-size:10px;text-align:left;color:#777}.qimen-cell b{color:#5c5376;font-weight:500}.muted{color:#888}.liuyao-titles{display:flex;justify-content:space-between;font-size:14px;margin:18px 0}.liuyao-line{display:grid;grid-template-columns:70px 1fr 70px 60px 1fr;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #eee;font-size:13px}.liuyao-line small{font-size:11px}.liuyao-line>span:nth-child(3){display:flex;align-items:center;gap:4px}.liuyao-line.moving>span:nth-child(3){color:#b83333}.compass-dial{display:block;max-width:480px;width:100%;margin:15px auto}.compass-dial text{font-size:16px;font-family:serif}#compass-reading{text-align:center;font-size:23px;font-weight:600}#compass-status{text-align:center}.compass-intake{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.compass-intake>div{border:1px solid #ddd;padding:12px;display:flex;flex-direction:column;gap:8px}.intake-good{color:#ad3636}.compass-intake small{color:#888}
@media(max-width:600px){.extra-panel{padding:14px}.extra-form-grid{gap:10px}.extra-field{font-size:13px}.qimen-cell{padding:5px;font-size:11px;gap:2px;aspect-ratio:1}.liuyao-line{grid-template-columns:42px 1fr 52px 38px 1fr;gap:3px;font-size:10px;padding:11px 0}.liuyao-line svg{width:36px}.liuyao-line small{font-size:9px}.liuyao-titles{font-size:12px}.compass-intake{grid-template-columns:repeat(2,1fr)}.extra-meta p{font-size:12px}.extra-record .btn{font-size:11px}}
/* 参考图的行内单选及逐爻编辑 */
.qimen-options,.extra-full,.extra-manual,.liuyao-name-editor{grid-column:1/-1}.extra-choice{border:0;border-bottom:1px solid #eee;margin:0;padding:14px 0;min-width:0}.extra-choice legend{float:left;padding:0;width:96px;font-size:14px;font-weight:500}.extra-choice>div{margin-left:98px;display:flex;justify-content:flex-end;gap:14px;flex-wrap:wrap}.extra-choice label,.extra-check,.bazi-checks label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.extra-choice input,.extra-check input,.manual-moving input,.bazi-checks input{accent-color:#171717;width:17px;height:17px;flex-shrink:0}.extra-manual .manual-line-row{grid-template-columns:48px minmax(0,1fr) 88px}.liuyao-name-editor{display:grid;grid-template-columns:1fr 1fr;gap:14px}.liuyao-name-editor fieldset{padding:12px;border:1px solid #ddd;border-radius:8px;min-width:0}.liuyao-move-options{display:flex;flex-direction:column;gap:12px;margin-top:15px}.liuyao-name-editor>p{grid-column:1/-1}.liuyao-line{grid-template-columns:70px 1fr 60px 32px 60px 1fr}.liuyao-line>.liuyao-symbol{display:flex;align-items:center;justify-content:center}.liuyao-line svg{flex-shrink:0;vertical-align:middle}.liuyao-marks{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px}.liuyao-moving-mark{color:#b83333}.liuyao-line.moving .liuyao-symbol:first-of-type{color:#b83333}.compass-dial text.intake-direction{font-size:23px;font-family:sans-serif}.compass-dial text.intake-trigram{font-size:14px;font-family:sans-serif}.compass-dial text.intake-boundary{font-size:11px;font-family:sans-serif}
/* 八字：四柱、运年日月同表，限流条独立横向滑动 */
.bazi-input>summary{font-weight:600;padding:12px 0;cursor:pointer}.bazi-form-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #eee;padding:15px 0}.bazi-form-row>label{width:90px;flex-shrink:0;font-size:14px}.bazi-form-row>input,.bazi-birth-input,.bazi-regions{flex:1;min-width:0}.bazi-birth-input,.bazi-regions{display:flex;gap:8px}.bazi-birth-input input,.bazi-regions select{width:0;flex:1;min-width:0}.bazi-longitude{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;color:#888;margin:12px 0}.bazi-longitude input{width:150px}.bazi-checks{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:20px 0;font-size:13px}.bazi-reverse{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 0}.bazi-reverse p,.bazi-reverse button,.bazi-reverse>label:last-child{grid-column:1/-1}.bazi-reverse label{font-size:12px}.bazi-result{margin:22px 0}.bazi-result-heading{text-align:center;border:1px solid #ddd;border-bottom:0;padding:12px}.bazi-result-heading p{margin:4px 0;font-size:14px}.bazi-result-heading small{color:#777}.bazi-chart{border:1px solid #ddd}.bazi-table-main,.bazi-table-hidden{display:grid;grid-template-columns:30px repeat(8,minmax(0,1fr));border-bottom:1px solid #ddd}.bazi-row-label{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;letter-spacing:5px;font-size:14px;padding:12px 0;border-right:1px solid #ddd;color:#666}.bazi-column{display:flex;align-items:center;flex-direction:column;gap:12px;padding:15px 1px}.bazi-column small{color:#888;font-size:12px}.bazi-column.flow-start{border-left:1px solid #ddd}.bazi-god{font-size:16px}.bazi-pillar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:27px;line-height:1.2}.bazi-table-hidden>div{padding:8px 1px;text-align:center}.bazi-table-hidden p{margin:6px 0;font-size:16px;white-space:nowrap}.bazi-table-hidden small{font-size:11px;color:#888;margin-left:2px}.bazi-relations{display:grid;grid-template-columns:30px minmax(0,1fr);border-bottom:1px solid #ddd}.bazi-relations>div{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:15px 8px;font-size:13px}.bazi-he{color:#34835a}.bazi-conflict{color:#bb3544}.bazi-flow{display:flex;border-bottom:1px solid #ddd}.bazi-flow:last-child{border:0}.bazi-flow>.bazi-row-label{width:30px;flex-shrink:0}.bazi-flow-items{display:flex;overflow-x:auto;flex:1;min-width:0;overscroll-behavior-x:contain}.bazi-flow-item{flex:1 0 55px;display:flex;flex-direction:column;align-items:center;padding:10px 5px;border:0;border-right:1px solid #ddd;background:white;cursor:pointer;color:#444;gap:8px}.bazi-flow-item:last-child{border-right:0}.bazi-flow-item small{font-size:11px;white-space:nowrap;color:#888}.bazi-flow-item .bazi-pillar{font-size:23px}.bazi-flow-item.selected{font-weight:700}.bazi-flow-item.selected small,.bazi-flow-item.selected .bazi-pillar span{font-weight:700}.bazi-extra-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));font-size:12px}
@media(max-width:600px){.extra-choice legend{font-size:12px;width:78px}.extra-choice>div{margin-left:80px;gap:8px;font-size:12px}.extra-choice input{width:15px;height:15px}.extra-manual .manual-line-row{grid-template-columns:38px minmax(0,1fr) 85px}.liuyao-line{grid-template-columns:42px minmax(0,1fr) 36px 27px 36px minmax(0,1fr);font-size:10px;min-height:55px}.liuyao-symbol svg{width:36px;height:10px}.liuyao-marks{font-size:9px}.liuyao-titles{gap:12px;font-size:11px}.bazi-form-row{gap:8px}.bazi-form-row>label{font-size:12px;width:65px}.bazi-regions{flex-wrap:wrap}.bazi-regions select{font-size:11px;padding:6px 2px}.bazi-birth-input{gap:4px}.bazi-birth-input input{font-size:12px;padding:6px}.bazi-checks{gap:10px;font-size:12px}.bazi-result-heading p{font-size:12px}.bazi-table-main,.bazi-table-hidden{grid-template-columns:22px repeat(8,minmax(0,1fr))}.bazi-row-label{font-size:12px}.bazi-column{gap:10px;padding:12px 0}.bazi-column small{font-size:10px}.bazi-god{font-size:12px}.bazi-column .bazi-pillar{font-size:23px}.bazi-table-hidden p{font-size:13px;margin:6px 0}.bazi-table-hidden small{font-size:9px;margin-left:1px}.bazi-relations{grid-template-columns:22px minmax(0,1fr)}.bazi-relations>div{font-size:11px}.bazi-flow>.bazi-row-label{width:22px}.bazi-flow-item{flex-basis:43px;padding:9px 3px}.bazi-flow-item .bazi-pillar{font-size:20px}.bazi-flow-item small{font-size:10px}}
/* 五列时间、三列地区共用滚动选择器 */
.rolling-trigger{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;width:100%;cursor:pointer;background:#fff}.rolling-trigger svg{width:18px;height:18px;flex-shrink:0}.rolling-trigger span{flex:1;min-width:0;line-height:1.6}.rolling-dialog{padding:0;width:min(640px,calc(100% - 32px));max-width:none;border:1px solid #ddd;border-radius:18px;background:#fff;position:fixed;inset:auto 0 24px;margin:auto;max-height:calc(100dvh - 40px);overflow:hidden}.rolling-dialog::backdrop{background:#0007}.rolling-dialog h2{margin:0;padding:20px 16px;border-bottom:1px solid #e5e5e5;text-align:center;font-size:17px;line-height:1.6}.rolling-tabs{display:flex;margin:16px auto;width:70%;border:1px solid #222;border-radius:7px;overflow:hidden}.rolling-tabs:empty{display:none}.rolling-tabs button{flex:1;padding:10px;border:0;background:#fff;cursor:pointer;font-size:16px}.rolling-tabs button.selected{color:#fff;background:#171717}.rolling-region-search{padding:14px 16px 0}.rolling-region-search[hidden]{display:none}.rolling-region-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.rolling-region-search input{min-width:0;height:42px;padding:0 13px;border:1px solid #d7d7d7;border-radius:8px;background:#fafafa}.rolling-region-search button{min-width:70px;padding:0 16px;border-radius:8px;background:#171717;color:#fff}.rolling-region-search p{min-height:20px;margin-top:5px;color:#777;font-size:11px;line-height:20px}.rolling-wheel-wrap{position:relative;margin:22px 12px}.rolling-wheels{display:grid;grid-template-columns:repeat(var(--wheel-count,5),minmax(0,1fr));gap:2px;height:168px;position:relative}.rolling-band{position:absolute;top:56px;height:56px;left:0;right:0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;background:#f6f6f6;pointer-events:none}.rolling-wheel{overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none;height:168px;padding-block:56px;touch-action:pan-y;-webkit-mask-image:linear-gradient(transparent,#000 33%,#000 66%,transparent);mask-image:linear-gradient(transparent,#000 33%,#000 66%,transparent)}.rolling-wheel::-webkit-scrollbar{display:none}.rolling-item{display:block;width:100%;height:56px;min-height:56px;margin:0;padding:0 2px;scroll-snap-align:center;border:0;background:transparent;color:#999;font-size:18px;line-height:22px;cursor:pointer}.rolling-item.chosen{color:#151515;font-weight:600}.rolling-actions{display:flex;border-top:1px solid #ddd}.rolling-actions button{flex:1;border:0;background:#fff;font-size:17px;padding:17px;cursor:pointer}.rolling-actions button+button{border-left:1px solid #ddd;font-weight:600}.qimen-options .extra-choice>div{justify-content:flex-start;margin-left:100px}.bazi-birth-input .rolling-trigger,.bazi-regions .rolling-trigger{flex:1;min-width:0}.bazi-birth-input{display:block}.memo-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.memo-title-row h2{margin:0}.memo-speak-btn{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ddd;border-radius:50%;width:38px;height:38px;flex-shrink:0;color:#222;cursor:pointer}.memo-speak-btn svg{width:20px;height:20px}.memo-speak-btn.speaking{background:#171717;color:#fff;border-color:#171717}.memo-speech-note{font-size:12px}.liuyao-lines,.liuyao-titles{--liuyao-cols:124px 106px 60px 34px 60px 106px;--liuyao-gap:8px;max-width:660px;margin-left:auto;margin-right:auto}.liuyao-line,.liuyao-titles{display:grid;grid-template-columns:var(--liuyao-cols);gap:var(--liuyao-gap);justify-content:center}.liuyao-titles{align-items:end;margin-top:18px;margin-bottom:4px}.liuyao-main-title{grid-column:3;text-align:center;display:flex;flex-direction:column;gap:5px}.liuyao-changed-title{grid-column:5;text-align:center;display:flex;flex-direction:column;gap:5px}.liuyao-titles strong{font-size:13px;white-space:nowrap}.liuyao-titles small{font-size:10px;color:#777}.liuyao-line>span:nth-child(2){justify-self:end;white-space:nowrap}.liuyao-line>span:last-child{justify-self:start;white-space:nowrap}.liuyao-hidden{display:inline-block;white-space:nowrap;font-size:10px}.liuyao-line>small{text-align:right}.liuyao-marks{align-items:center}.rolling-dialog button:focus-visible{outline:2px solid #555;outline-offset:-3px}
@media(max-width:640px){.rolling-dialog{width:100%;inset:auto 0 0;border-radius:18px 18px 0 0;max-height:calc(100dvh - 20px);padding-bottom:env(safe-area-inset-bottom,0px)}.rolling-dialog h2{font-size:15px;padding:14px 10px}.rolling-item{font-size:15px}.rolling-wheel-wrap{margin:20px 5px}.rolling-tabs{margin:14px auto}.rolling-tabs button{font-size:15px;padding:8px}.rolling-actions button{font-size:16px;padding:15px}.qimen-options .extra-choice>div{margin-left:80px;justify-content:flex-start}.liuyao-lines,.liuyao-titles{--liuyao-cols:76px 52px 32px 22px 32px 52px;--liuyao-gap:3px}.liuyao-symbol svg{width:32px!important}.liuyao-hidden{font-size:8px}.liuyao-titles strong{font-size:10px}.liuyao-titles small{font-size:8px}.liuyao-line{font-size:9px}.liuyao-line>small{font-size:9px}.rolling-trigger{font-size:12px}.rolling-trigger svg{width:15px;height:15px}}
@media(max-width:360px){.liuyao-lines,.liuyao-titles{--liuyao-cols:68px 48px 30px 20px 30px 48px;--liuyao-gap:2px}.liuyao-symbol svg{width:30px!important}.liuyao-hidden{font-size:7px}}
.extra-choice.extra-choice-inline{display:flex;align-items:center;gap:12px}.extra-choice-inline .extra-choice-title{flex-shrink:0;font-size:14px;font-weight:500}.extra-choice.extra-choice-inline>div{margin-left:0!important;justify-content:flex-start;flex:1}.bazi-reverse>.rolling-trigger{grid-column:1/-1}
@media(max-width:640px){.extra-choice-inline .extra-choice-title{font-size:12px}.extra-choice.extra-choice-inline{gap:10px}}
/* 白色内容区保持浅色，避免容器透明与浏览器自动深色映射。 */
:root{--bg:#fff;--paper:#fff;color-scheme:light;color-scheme:only light}html,body,.app-shell,.main-shell,main{background:#fff;color-scheme:light;color-scheme:only light}.panel,.panel-head,.panel-body,.case-panel,.chart-panel,#chart-container,.v2-chart-grid,.v2-chart-grid .chart-center,.v2-chart-grid .palace-tile,.v2-chart-grid .palace-tile:hover,.v2-chart-grid .palace-tile.selected,.v2-chart-grid .palace-tile.related,.extra-panel,.oracle-form-panel,.oracle-cast,.xiao-overview,.xiao-cell,.memo-reading,.author-panel,.dayou-panel{background-color:#fff}.sidebar,.topbar,.sidebar nav{background:#fff}.field input,.field select,.field textarea,select.control,input.control,.btn.secondary{background:#fff}.memo-speak-btn.speech-paused{background:#ededed;color:#242424}.result-input-summary{display:flex;align-items:center;gap:7px;min-height:34px}.result-input-summary::before{content:'›';font-size:18px;line-height:1;transition:transform .15s}.extra-input[open]>.result-input-summary::before,.bazi-input[open]>.result-input-summary::before{transform:rotate(90deg)}.result-input-summary .result-return-btn{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;font-weight:400;font-size:12px;line-height:1.4;cursor:pointer}.result-return-btn svg{width:17px;height:17px}.compass-actions{justify-content:center;max-width:460px;margin:16px auto 12px}.compass-actions .btn{min-height:38px}#compass-manual svg{width:18px;height:18px}#compass-manual.manual-active,#compass-sensor[aria-pressed="true"]{background:#171717;color:#fff;border-color:#171717}.compass-manual-panel{max-width:460px;margin:12px auto}.compass-manual-panel[hidden]{display:none!important}.compass-range-labels{display:flex;justify-content:space-between;color:#888;font-size:11px}.compass-manual-panel input[type="range"]{accent-color:#222;width:100%}
/* 六爻连续六行，不使用分割线或逐行卡片。 */
.liuyao-line{border:0;padding:4px 0;min-height:36px;line-height:1.3}.liuyao-line>small{line-height:1.3}.liuyao-lines{padding:4px 0}.liuyao-titles{margin:14px auto 7px}.liuyao-main-title,.liuyao-changed-title{gap:3px}.liuyao-marks{gap:1px}.liuyao-hidden{margin-top:2px}.bazi-result{margin:10px 0;line-height:1.3}.bazi-result-heading{padding:7px 4px}.bazi-result-heading p{margin:2px 0;line-height:1.35}.bazi-column{gap:5px;padding:8px 1px;line-height:1.2}.bazi-pillar{gap:3px;line-height:1.1}.bazi-table-hidden>div{padding:4px 1px}.bazi-table-hidden p{margin:2px 0;line-height:1.25}.bazi-row-label{padding:5px 0;letter-spacing:3px}.bazi-relations>div{padding:7px 4px;gap:6px}.bazi-flow-item{padding:5px 3px;gap:3px;line-height:1.2}.bazi-flow-item .bazi-pillar{gap:1px;line-height:1.1}.bazi-result>.hint{line-height:1.4;margin:7px 0;font-size:11px}.bazi-result>details{margin:7px 0;font-size:11px}.bazi-result-actions{margin:8px 0 0}.bazi-result-actions .btn{padding:7px 6px}
@media(max-width:640px){.liuyao-line{min-height:30px;padding:4px 0;border:0}.liuyao-titles{margin-top:10px;margin-bottom:4px}.liuyao-line>small,.liuyao-hidden{line-height:1.2}.bazi-panel.has-result{padding:10px 10px 55px}.bazi-panel.has-result h1{font-size:20px;margin-bottom:5px;line-height:1.2}.bazi-panel.has-result .bazi-input>summary{padding:5px 0;min-height:32px}.bazi-result{margin:6px 0}.bazi-result-heading{padding:5px 2px}.bazi-result-heading p{font-size:11px;margin:1px 0;line-height:1.3}.bazi-result-heading small{font-size:9px;line-height:1.25}.bazi-column{padding:4px 0;gap:3px}.bazi-column .bazi-pillar{font-size:22px;gap:1px;line-height:1.05}.bazi-column small{font-size:9px;line-height:1.2}.bazi-god{font-size:11px;line-height:1.2}.bazi-table-hidden>div{padding:3px 0}.bazi-table-hidden p{font-size:12px;line-height:1.2;margin:1px 0}.bazi-table-hidden small{font-size:8px}.bazi-relations>div{padding:4px 2px;gap:4px;font-size:10px;line-height:1.2}.bazi-row-label{font-size:11px;letter-spacing:2px;padding:4px 0}.bazi-flow-item{padding:3px 2px;gap:2px;flex-basis:33px}.bazi-flow-item small{font-size:9px;line-height:1.2}.bazi-flow-item .bazi-pillar{font-size:18px;gap:0;line-height:1.05}.bazi-result>.hint{font-size:9px;line-height:1.3;margin:5px 0}.bazi-result>details{margin:4px 0;font-size:10px}.bazi-result-actions{position:fixed;bottom:calc(var(--mobile-nav-height,calc(67px + env(safe-area-inset-bottom))) + 6px);left:12px;right:12px;z-index:19;padding:5px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 -2px 10px #00000008;margin:0;display:flex;gap:5px}.bazi-result-actions .btn{font-size:11px;padding:7px 3px;flex:1;min-height:32px}.bazi-panel.has-result~button{margin-top:5px}}
@media(hover:none){.compass-actions .btn.secondary[aria-pressed="false"]:hover{background:#fff;color:#242424}}
.brand-row .brand-wordmark{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}.brand-row .brand-wordmark>strong{position:relative;white-space:nowrap}.brand-row .brand-wordmark em{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:3px}.brand-row .brand .brand-motto{display:block;font-family:var(--sans);font-size:8px;letter-spacing:0;line-height:1.5;margin-top:2px;white-space:nowrap;text-align:center}.opening-splash{position:fixed;inset:0;z-index:9999;background:#000;overflow:hidden;pointer-events:auto;touch-action:none;isolation:isolate}.opening-splash[hidden]{display:none!important}.opening-logo,.opening-copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0}.opening-logo{object-fit:contain;filter:grayscale(1) contrast(2);border-radius:0}.opening-pixels{position:absolute;inset:0;width:100%;height:100%}.opening-copy{width:100%;padding:0 12px;text-align:center;white-space:nowrap;color:#fff;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-weight:600;line-height:1;letter-spacing:0;pointer-events:none}
@media(max-width:640px){.brand-row .brand .brand-motto{font-size:9px;letter-spacing:0;margin-top:3px}.brand-row .brand-wordmark em{font-size:8px}}
@media(prefers-reduced-motion:reduce){.opening-splash{display:none!important}}
main>.extra-panel:first-child{margin-top:0}

.opening-pixels{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);max-width:100%;max-height:100%}
/* 四化语义色独立于黑灰品牌色；宫界使用实线，不再依赖底色间隙。 */
.workspace-right .v2-chart-grid{gap:0;border:1px solid #aeb3b8;background:#fff}
.workspace-right .v2-chart-grid .palace-tile{border:0;border-right:1px solid #b8bdc2;border-bottom:1px solid #b8bdc2}
.workspace-right .v2-chart-grid .palace-tile[data-grid-column="4"]{border-right:0}
.workspace-right .v2-chart-grid .palace-tile[data-grid-row="4"]{border-bottom:0}
.workspace-right .v2-chart-grid .chart-center{border-right:1px solid #b8bdc2;border-bottom:1px solid #b8bdc2}
.memo-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.memo-speed-btn{min-width:52px;min-height:38px;padding:4px 8px;border:1px solid #ddd;border-radius:7px;background:#fff;color:#222;font-size:13px;font-variant-numeric:tabular-nums}.memo-speed-btn:active{background:#eee}.memo-voice-settings{margin:10px 0 18px}.memo-voice-settings label{display:block;margin:8px 0 4px;font-size:12px;color:#666}.memo-voice-settings select{max-width:360px;height:38px}.memo-voice-settings .hint{max-width:550px}
/* 六爻输入按内容定宽，主变卦共用列宽与标题基线。 */
.liuyao-panel .liuyao-method-select{width:auto;max-width:100%;justify-self:start;align-self:flex-start;padding-right:26px}
.liuyao-panel .extra-manual{width:max-content;max-width:100%}.liuyao-panel .extra-manual .manual-line-row{grid-template-columns:38px max-content 85px;gap:8px;margin-bottom:6px}.liuyao-panel .extra-manual select{width:auto;max-width:100%;padding:6px 24px 6px 8px;font-size:13px;min-height:38px}.liuyao-panel .extra-manual .hint{font-size:10px}
.liuyao-lines,.liuyao-titles{--liuyao-cols:34px 102px 66px 28px 66px 102px;--liuyao-gap:4px;max-width:440px}.liuyao-titles{align-items:start;margin-top:4px;margin-bottom:6px}.liuyao-main-title,.liuyao-changed-title{gap:3px;align-items:center;justify-content:start}.liuyao-titles strong{font-size:13px;line-height:1.3}.liuyao-palace-note{font-size:11px;color:#777;text-align:center;margin:10px 0 4px}.liuyao-line{align-items:center;min-height:29px;padding:3px 0;line-height:1.2;overflow:visible}.liuyao-line.has-hidden{min-height:38px;padding-bottom:10px}.liuyao-symbol svg{width:66px!important;height:16px}.liuyao-line>.liuyao-relative{position:relative;justify-self:end;white-space:nowrap}.liuyao-hidden{display:block;position:absolute;right:0;top:100%;margin-top:2px;white-space:nowrap;font-size:10px;line-height:1.1;font-weight:400}.liuyao-marks{font-size:10px;line-height:1.1}.liuyao-line>.liuyao-god{font-size:11px;white-space:nowrap;text-align:center}
/* 奇门：左上空亡、右上驿马，中轴神星门，右列上天下地。 */
.qimen-cell{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 40px;align-items:center;padding:26px 8px 20px;gap:4px;font-size:15px;line-height:1.4;overflow:hidden}.qimen-center{grid-column:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.qimen-cell .qimen-god{font-weight:400;color:#555}.qimen-star{white-space:nowrap;font-size:14px}.qimen-door{font-weight:600}.qimen-lodged-star{font-size:10px}.qimen-stems{grid-column:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:20px;line-height:1.2}.qimen-heaven{min-height:24px;white-space:nowrap}.qimen-heaven span{font-weight:400}.qimen-heaven .qimen-queried-stem{font-weight:800}.qimen-heaven span:empty{display:none}.qimen-hidden{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px}.qimen-void{position:absolute;top:5px;left:8px;font-size:22px;line-height:1;font-family:Arial,sans-serif;color:#333}.qimen-horse{position:absolute;top:5px;right:8px;width:22px;height:22px;color:#333}.qimen-horse svg{width:100%;height:100%}.qimen-cell .qimen-palace-number{position:absolute;bottom:5px;left:8px;font-size:10px;color:#999;line-height:1}
@media(max-width:640px){.memo-controls{gap:6px}.memo-title-row{gap:8px}.memo-title-row h2{font-size:16px}.memo-speed-btn{min-width:46px;font-size:12px}.liuyao-lines,.liuyao-titles{--liuyao-cols:24px 64px 46px 22px 46px 58px;--liuyao-gap:3px;max-width:100%}.liuyao-titles strong{font-size:11px}.liuyao-titles small{font-size:9px}.liuyao-symbol svg{width:46px!important;height:13px}.liuyao-line{font-size:10px;min-height:27px;padding:2px 0}.liuyao-line.has-hidden{min-height:33px;padding-bottom:8px}.liuyao-line>.liuyao-god{font-size:9px}.liuyao-hidden{font-size:8px;margin-top:2px}.liuyao-marks{font-size:8px}.liuyao-panel .extra-manual .manual-line-row{grid-template-columns:32px max-content 76px;gap:5px}.liuyao-panel .extra-manual select{font-size:12px;padding-right:22px}.qimen-cell{grid-template-columns:13px minmax(0,1fr) 24px;padding:19px 4px 14px;gap:2px;font-size:12px}.qimen-center{gap:5px}.qimen-star{font-size:10px;white-space:normal;line-height:1.2}.qimen-lodged-star{font-size:8px}.qimen-stems{font-size:16px;gap:8px}.qimen-heaven{min-height:20px}.qimen-hidden{left:5px;font-size:10px}.qimen-void{top:3px;left:5px;font-size:17px}.qimen-horse{top:3px;right:5px;width:17px;height:17px}.qimen-cell .qimen-palace-number{left:5px;bottom:3px;font-size:8px}}
@media(max-width:360px){.liuyao-lines,.liuyao-titles{--liuyao-cols:22px 57px 40px 20px 40px 54px;--liuyao-gap:2px}.liuyao-symbol svg{width:40px!important;height:12px}.liuyao-line{font-size:9px}.liuyao-hidden{font-size:7.5px}.qimen-cell{grid-template-columns:10px minmax(0,1fr) 23px}.qimen-star{font-size:9px}}

.liuyao-line.moving>.liuyao-symbol:nth-child(3){color:#b83333}.qimen-heaven .qimen-lodged-stem{font-size:12px;margin-left:2px}.qimen-star .qimen-lodged-star{display:block;font-size:11px;line-height:1.2}
@media(max-width:640px){.qimen-cell{grid-template-columns:13px minmax(0,1fr) 28px}.qimen-heaven .qimen-lodged-stem{font-size:10px;margin-left:1px}.qimen-star .qimen-lodged-star{font-size:8px}.qimen-star{white-space:nowrap}}
/* 恢复黑白灰的界面层次：灰底、白卡片、浅灰标题与关联宫位。 */
:root{--bg:#f3f3f3;--paper:#fff;--line:#dedede}
html,body,.app-shell,.main-shell,main{background:#f3f3f3}
.sidebar,.sidebar nav{background:#ebebeb}.topbar{background:#f7f7f7}.panel{background:#fff}.panel-head{background:#f6f6f6}.panel-body{background:#fff}
.case-panel,.oracle-form-panel{background:#fafafa}.case-panel .panel-head{background:#efefef}.case-panel .panel-body{background:#fafafa}
.extra-input,.bazi-input{background:#f7f7f7;border:1px solid #e3e3e3;border-radius:8px;padding:8px 10px;margin-bottom:12px}
.extra-input[open],.bazi-input[open]{background:#fafafa}.extra-input[open]>summary,.bazi-input[open]>summary{margin-bottom:10px}
.oracle-cast .oracle-info,.extra-meta{background:#f7f7f7;border-radius:6px}.oracle-cast .oracle-info{padding:7px 9px}.extra-meta{padding:6px 0}
.memo-section:nth-child(even){background:#f7f7f7}.memo-section{padding-left:12px;padding-right:12px;border-radius:7px}.xiao-cell.xiao-self{background:#ededed}.dayou-center{background:#f5f5f5}.more-entry:hover{background:#f1f1f1}
.workspace-right .v2-chart-grid .palace-tile{background:#fff}.workspace-right .v2-chart-grid .palace-tile.related{background:#f0f0f0}.workspace-right .v2-chart-grid .palace-tile.selected{background:#e4e4e4}.workspace-right .v2-chart-grid .chart-center{background:#fff}
.center-content .chart-copy-btn{width:auto;max-width:100%;padding-left:8px;padding-right:8px;justify-self:center}
.center-person-row{flex-direction:column;justify-content:center;align-items:center;gap:2px}
.chart-center .center-person-row .center-name{position:relative;flex:none;width:auto;max-width:calc(100% - 44px);justify-content:center}
.center-person-row .birth-eye{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:2px}
.center-person-row .center-profile{text-align:center;align-self:center}
.center-meta .center-rulers{display:flex;justify-content:center;gap:12px;width:auto}
.liuyao-lines,.liuyao-titles{margin-left:0;margin-right:auto;justify-content:start}.liuyao-palace-note{text-align:left}.liuyao-line{justify-content:start}.liuyao-line>.liuyao-god{text-align:left}
.bazi-flow-item.selected{box-shadow:inset 0 0 0 2px #333;font-weight:700}
@media(max-width:640px){.center-content .chart-copy-btn{width:auto;padding-left:6px;padding-right:6px}.center-meta .center-rulers{gap:8px}.oracle-cast .oracle-info{padding:5px 6px}.extra-input,.bazi-input{padding:5px 7px}.sidebar nav{background:#ebebeb}}

.chart-center .center-person-row .center-name{min-height:22px}.center-person-row .birth-eye{min-width:20px;min-height:20px;width:20px;height:20px}
@media(hover:hover) and (pointer:fine){.workspace-right .v2-chart-grid .palace-tile:hover:not(.selected):not(.related){background:#f8f8f8}}
@media(max-width:640px){.chart-center .center-person-row .center-name{min-height:18px}.center-person-row .birth-eye{min-width:18px;min-height:18px;width:18px;height:18px}}

/* 神、星、门放大至原字号的 1.5 倍，寄星仍独立一行，角标保留空间。 */
.qimen-cell{min-height:154px}
.qimen-center{gap:4px;line-height:1.2}
.qimen-god,.qimen-door{font-size:22.5px;white-space:nowrap}
.qimen-star{font-size:21px;line-height:1.2}
.qimen-star .qimen-lodged-star{font-size:16.5px}
.qimen-horse{width:24px;height:24px}
.qimen-cell .qimen-palace-number{white-space:nowrap}

/* 主变卦共用响应式列宽：扩大爻符号、缩短行距，伏神另留一行且不折行。 */
.liuyao-lines,.liuyao-titles{--liuyao-cols:34px 100px minmax(0,1fr) 28px minmax(0,1fr) 100px;--liuyao-gap:4px;width:100%;max-width:470px}
.liuyao-titles{margin-bottom:4px}
.liuyao-titles strong{font-size:15px;line-height:1.2}
.liuyao-titles small{font-size:11px}
.liuyao-line{font-size:15px;min-height:26px;padding:1px 0}
.liuyao-line.has-hidden{min-height:35px;padding-bottom:11px}
.liuyao-line>.liuyao-god{font-size:12px}
.liuyao-symbol{min-width:0;width:100%}
.liuyao-symbol svg{width:100%!important;height:18px}
.liuyao-relative .liuyao-hidden{font-size:11px;margin-top:1px}
.liuyao-marks{font-size:11px}
@media(max-width:640px){
 .qimen-cell{grid-template-columns:8px minmax(0,1fr) 28px;min-height:114px;padding-top:19px;padding-bottom:14px}
 .qimen-center{gap:2px}
 .qimen-god,.qimen-door{font-size:18px}
 .qimen-star{font-size:15px}
 .qimen-star .qimen-lodged-star{font-size:12px}
 .qimen-horse{width:19px;height:19px;top:2px}
 .liuyao-panel{padding:14px}
 .liuyao-lines,.liuyao-titles{--liuyao-cols:24px 65px minmax(0,1fr) 22px minmax(0,1fr) 65px;--liuyao-gap:2px;max-width:390px}
 .liuyao-titles strong{font-size:12px}
 .liuyao-titles small{font-size:10px}
 .liuyao-line{font-size:12px;min-height:24px;padding:1px 0}
 .liuyao-line.has-hidden{min-height:31px;padding-bottom:10px}
 .liuyao-line>.liuyao-god{font-size:10px}
 .liuyao-relative .liuyao-hidden{font-size:9px}
 .liuyao-marks{font-size:9.5px}
}
@media(max-width:359px){
 .liuyao-lines,.liuyao-titles{--liuyao-cols:22px 57px minmax(0,1fr) 20px minmax(0,1fr) 57px}
 .liuyao-line{font-size:10.5px}
 .liuyao-titles strong{font-size:11px}
 .liuyao-line>.liuyao-god{font-size:9.5px}
 .liuyao-relative .liuyao-hidden{font-size:8.5px}
 .liuyao-marks{font-size:9px}
}

/* 静卦只保留本卦四列；保持与双卦时相同的爻宽及左侧对齐。 */
.liuyao-lines.liuyao-static,.liuyao-titles.liuyao-static{--liuyao-cols:34px 100px minmax(0,1fr) 28px;width:calc((min(100%,470px) + 66px)/2);max-width:268px}
@media(max-width:640px){.liuyao-lines.liuyao-static,.liuyao-titles.liuyao-static{--liuyao-cols:24px 65px minmax(0,1fr) 22px;width:calc((min(100%,390px) + 48px)/2);max-width:219px}}
@media(max-width:359px){.liuyao-lines.liuyao-static,.liuyao-titles.liuyao-static{--liuyao-cols:22px 57px minmax(0,1fr) 20px;width:calc((min(100%,390px) + 44px)/2);max-width:217px}}

/* 动爻符号、世应各占固定一列，与爻线同一水平中心。 */
.liuyao-marks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;gap:1px;line-height:1;width:100%;min-width:0;white-space:nowrap}
.liuyao-marks .liuyao-moving-mark{grid-column:1;grid-row:1}
.liuyao-marks .liuyao-role-mark{grid-column:2;grid-row:1}
.liuyao-kin{font-weight:700}
.liuyao-relative .liuyao-hidden{font-size:9.5px;line-height:1.15}
@media(max-width:640px){.liuyao-relative .liuyao-hidden{font-size:8px}}
@media(max-width:359px){.liuyao-relative .liuyao-hidden{font-size:7.5px}}
/* 桌面九宫格限制盘面宽度，保持所有文字字号。 */
@media(min-width:641px){.qimen-board{width:min(100%,480px)}}

/* 万年历：七列月历与当日详情；移动端逐块排列，不横向溢出。 */
.calendar-page{max-width:1080px;margin:0 auto}
.calendar-page-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 18px}
.calendar-page-heading h1{font-size:24px;font-weight:600;margin:0}
.calendar-page-heading>span{font-size:12px;color:var(--muted)}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}
.calendar-month,.calendar-detail{min-width:0;padding:20px;background:var(--paper)}
.calendar-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:16px}
.calendar-page button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.calendar-arrow,.calendar-month-picker,.calendar-today,.calendar-clock,.calendar-now{background:transparent;color:var(--ink);border:0}
.calendar-arrow{display:grid;place-items:center;width:36px;height:40px;padding:7px;flex-shrink:0;border-radius:6px}
.calendar-arrow svg{width:22px;height:22px}
.calendar-month-picker{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 3px;font-size:18px;white-space:nowrap}
.calendar-month-picker strong{font-weight:600}.calendar-month-picker>span{font-size:16px;color:var(--muted)}
.calendar-today{margin-left:auto;border:1px solid var(--line);border-radius:6px;padding:8px 12px;white-space:nowrap;font-size:13px}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-weekdays{padding-bottom:10px;text-align:center;color:var(--muted);font-size:12px}
.calendar-cell{min-width:0;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid transparent;border-radius:7px;padding:6px 1px;background:transparent;color:var(--ink);line-height:1.2}
.calendar-cell>strong{font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}
.calendar-lunar{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.calendar-cell>small{font-size:10px;color:var(--muted)}
.calendar-cell.calendar-outside{color:#9a9a9a}.calendar-outside>small{color:#aaa}
.calendar-special{color:#ae4e50}
.calendar-cell.calendar-is-today{border-color:#8e8e8e}
.calendar-cell.calendar-selected{background:#202020;border-color:#202020;color:#fff}
.calendar-selected .calendar-lunar,.calendar-selected>small{color:#fff}
.calendar-page button:disabled{opacity:.3;cursor:default}
.calendar-page button:focus-visible{outline:2px solid #777;outline-offset:2px}
.calendar-month-foot{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}
.calendar-detail-heading p{margin:0}.calendar-solar{color:var(--muted);font-size:12px;line-height:1.5}
.calendar-detail-heading h2{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:1px;margin:8px 0 5px}
.calendar-lunar-year{font-size:12px;color:var(--muted);line-height:1.6}
.calendar-clock-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 12px;padding:7px 9px;background:var(--bg);border-radius:7px}
.calendar-clock{display:flex;align-items:center;gap:7px;padding:3px 0;font-size:12px;white-space:nowrap;min-height:30px}
.calendar-clock>svg{width:16px;height:16px}.calendar-clock>svg:last-child{width:12px;height:12px;color:var(--muted)}
.calendar-clock strong{font-weight:500;font-variant-numeric:tabular-nums}
.calendar-now{padding:5px 0;font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.calendar-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px 0 18px;border-bottom:1px solid var(--line)}
.calendar-pillar{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.2}
.calendar-pillar>small{font-size:11px;color:var(--muted);margin-bottom:5px}
.calendar-pillar>b{font-family:var(--serif);font-size:24px;font-weight:600}
.calendar-almanac{padding:6px 0}
.calendar-activities{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;margin:14px 0;align-items:start}
.calendar-activities>strong{display:grid;place-items:center;width:27px;height:27px;font-size:15px;font-weight:500;border-radius:50%}
.calendar-yi>strong{color:#3c7957;background:#edf4ef}.calendar-ji>strong{color:#ae4e50;background:#f8eeee}
.calendar-activities>ul{display:flex;flex-wrap:wrap;gap:5px 12px;list-style:none;margin:0;padding:3px 0;font-size:13px;line-height:1.6}
.calendar-activities li{white-space:nowrap}
.calendar-rules{border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:11px;line-height:1.8}
.calendar-rules summary{cursor:pointer}.calendar-rules p{margin:8px 0 0}
.calendar-heading-actions{display:flex;align-items:center;gap:12px}
.calendar-heading-actions>span{font-size:11px;color:var(--muted)}
.calendar-find{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 12px;border:1px solid #202020;border-radius:7px;background:#202020;color:#fff;font-size:13px}
.calendar-find svg{width:17px;height:17px}
.calendar-filter-summary{background:#f0f7f1;border:1px solid #d9e8dc;border-radius:7px;margin:0 0 14px;padding:10px 12px;color:#386348}
.calendar-filter-summary>div{display:flex;align-items:center;gap:10px;font-size:12px}.calendar-filter-summary strong{font-weight:600}
.calendar-filter-summary button{margin-left:auto;padding:2px 0;background:none;border:0;color:#497057;font-size:11px;min-height:24px}
.calendar-filter-summary p{font-size:10px;line-height:1.6;margin:5px 0 0;color:#64766a}
.calendar-grid .calendar-cell.calendar-favorable{background:#e4f1e6;color:#234a30;border-color:#d2e7d5}
.calendar-favorable .calendar-lunar,.calendar-favorable>small{color:#4d7457}
.calendar-grid .calendar-favorable.calendar-selected{border:2px solid #264f33;background:#dfefe2;box-shadow:inset 0 0 0 1px #dfefe2}
.calendar-favorable.calendar-is-today:not(.calendar-selected){border-color:#72997c}
.calendar-filter-dialog{width:min(500px,calc(100vw - 28px));max-height:calc(100dvh - 36px);padding:22px;overflow:auto;overscroll-behavior:contain}
.calendar-filter-intro{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 17px}
.calendar-filter-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.calendar-filter-options.calendar-ganzhi-options{display:block}
.calendar-ganzhi-group{border:0;padding:0;margin:0 0 18px;min-width:0}
.calendar-ganzhi-group:last-child{margin-bottom:0}
.calendar-ganzhi-group legend{padding:0;margin-bottom:9px;font-size:12px;color:var(--muted)}
.calendar-ganzhi-group>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.calendar-ganzhi-group.calendar-branches>div{grid-template-columns:repeat(6,minmax(0,1fr))}
.calendar-filter-options .calendar-ganzhi-group button{font-size:18px}
.calendar-filter-options button{min-height:43px;padding:9px 4px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--ink);font-size:14px;cursor:pointer}
.calendar-filter-options button.selected{background:#e4f1e6;border-color:#8aaf94;color:#234a30}
.calendar-filter-reset{width:100%;min-height:40px;margin-top:18px;border:0;border-radius:6px;background:#f1f1f1;color:#555;font-size:12px;cursor:pointer}
@media(hover:hover){.calendar-arrow:hover,.calendar-today:hover,.calendar-cell:not(.calendar-selected):not(:disabled):hover{background:#ededed}}
@media(hover:hover){.calendar-grid .calendar-favorable:not(.calendar-selected):hover{background:#d6e9da}.calendar-filter-options button:hover{border-color:#777}}
@media(max-width:1000px){.calendar-layout{grid-template-columns:minmax(0,1fr);gap:16px}.calendar-page{max-width:630px}.calendar-cell{min-height:70px}}
@media(max-width:640px){
 .calendar-page-heading{margin:0 0 12px}.calendar-page-heading h1{font-size:21px}.calendar-page-heading>span{font-size:11px}
 .calendar-heading-actions{gap:8px}.calendar-heading-actions>span{display:none}.calendar-find{padding:6px 10px;font-size:12px}
 .calendar-filter-dialog{padding:18px 15px}.calendar-filter-options{gap:7px}.calendar-filter-options button{font-size:13px;min-height:42px}
 .calendar-month,.calendar-detail{padding:15px 12px}.calendar-layout{gap:12px}
 .calendar-toolbar{margin-bottom:12px;gap:2px}.calendar-month-picker{font-size:17px;gap:6px}.calendar-arrow{width:30px;padding:5px}.calendar-today{padding:7px 10px}
 .calendar-weekdays,.calendar-grid{gap:2px}.calendar-cell{min-height:66px;padding:5px 0;gap:4px}.calendar-cell>strong{font-size:20px}.calendar-lunar{font-size:10px}.calendar-cell>small{font-size:9px}
 .calendar-detail-heading h2{font-size:25px}.calendar-clock-row{margin-top:12px}.calendar-pillar>b{font-size:25px}
 .calendar-month-foot{font-size:9px;margin-top:10px;padding-top:10px}.calendar-activities{gap:10px}.calendar-activities>ul{gap:4px 12px}
}

/* 八字结果：个人信息与本命分析并列，八列纳音/长生同轴。 */
.bazi-result-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;padding:13px 15px;text-align:left;align-items:start}
.bazi-personal,.bazi-reading{min-width:0;text-align:left}
.bazi-personal p{overflow-wrap:anywhere;line-height:1.5;margin:0 0 4px}
.bazi-person-name strong{font-weight:600}.bazi-birth-date{display:flex;flex-direction:column;gap:1px}.bazi-birth-date>span:first-child{color:var(--muted);font-size:11px;margin-top:4px}.bazi-birth-date time{font-variant-numeric:tabular-nums}
.bazi-personal>small{display:block;margin-top:5px;line-height:1.5}
.bazi-reading{border-left:1px solid var(--line);padding-left:15px;font-size:12px;line-height:1.5}
.bazi-reading-row{display:grid;grid-template-columns:55px minmax(0,1fr);gap:8px;margin-bottom:4px;align-items:baseline}
.bazi-reading-row>span,.bazi-reading-stars>span{color:var(--muted);font-size:11px}
.bazi-reading-row strong{font-weight:600}.bazi-reading-row small{display:inline-block;margin-left:7px;font-size:10px;color:var(--muted)}
.bazi-reading-stars{display:grid;grid-template-columns:55px minmax(0,1fr);gap:8px;margin-top:5px}
.bazi-reading-stars dl{margin:0;min-width:0}.bazi-reading-stars dl>div{display:grid;grid-template-columns:15px minmax(0,1fr);gap:3px;margin-bottom:2px}.bazi-reading-stars dt{color:var(--muted)}.bazi-reading-stars dd{margin:0;overflow-wrap:anywhere}
.bazi-metadata-row{display:grid;grid-template-columns:30px repeat(8,minmax(0,1fr));border-bottom:1px solid #ddd;align-items:stretch}
.bazi-metadata-row .bazi-row-label{padding:4px 0;letter-spacing:2px;font-size:11px;writing-mode:horizontal-tb;letter-spacing:0}
.bazi-metadata-cell{display:flex;align-items:center;justify-content:center;min-width:0;padding:5px 0;white-space:nowrap;font-size:11px;line-height:1.3;color:#555}
.bazi-nayin-row{background:#f7f7f7}.bazi-growth-row{background:#fff}.bazi-metadata-cell.flow-start{border-left:1px solid #ddd}
.bazi-child-period{font-size:12px;writing-mode:vertical-rl;color:var(--muted);line-height:1.5}
.bazi-calculation-notes{line-height:1.7}.bazi-calculation-notes summary{cursor:pointer}.bazi-calculation-notes h3{font-size:12px;font-weight:600;margin:12px 0 5px}.bazi-calculation-notes p{margin:5px 0}
@media(max-width:640px){
 .bazi-result-heading{gap:9px;padding:8px 7px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
 .bazi-personal p{font-size:11px;line-height:1.45;margin:0 0 3px}.bazi-personal>small{font-size:9px;line-height:1.45}.bazi-birth-date>span:first-child{font-size:9px;margin-top:2px}
 .bazi-reading{padding-left:8px;font-size:10px;line-height:1.5}.bazi-reading-row{grid-template-columns:38px minmax(0,1fr);gap:3px;margin-bottom:3px}
 .bazi-reading-row>span,.bazi-reading-stars>span{font-size:9px}.bazi-reading-row small{display:block;margin-left:0;font-size:8px;line-height:1.4}
 .bazi-reading-stars{display:block;margin-top:4px}.bazi-reading-stars>span{display:block;margin-bottom:2px}.bazi-reading-stars dl>div{grid-template-columns:12px minmax(0,1fr);gap:2px;margin-bottom:1px}
 .bazi-table-main,.bazi-table-hidden,.bazi-metadata-row{grid-template-columns:22px repeat(8,minmax(0,1fr))}.bazi-relations{grid-template-columns:22px minmax(0,1fr)}.bazi-flow>.bazi-row-label{width:22px}.bazi-metadata-row .bazi-row-label{font-size:9px}.bazi-metadata-cell{font-size:clamp(7px,2.2vw,10px);padding:4px 0}.bazi-child-period{font-size:10px}
}

/* 星性速查沿用本地正文，选择器与长文均可在窄屏使用。 */
.star-lookup-panel{padding:28px;max-width:1000px;margin:0 auto}
.lookup-heading{margin-bottom:22px}.lookup-heading p{font-size:12px;color:var(--muted);margin-top:6px}
.lookup-tabs{display:flex;background:#eee;padding:4px;gap:4px;border-radius:9px;max-width:400px;margin-bottom:20px}
.lookup-tabs button{flex:1;min-height:39px;padding:8px 15px;border-radius:6px;background:transparent;color:#666;font-size:13px}
.lookup-tabs button.selected{background:#202020;color:#fff}
.lookup-huas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:17px}
.lookup-hua{min-height:40px;border:1px solid #dedede;border-radius:7px;background:#fff;font-size:14px}
.lookup-hua.lu{--lookup-tone:var(--hua-lu);--lookup-tint:#edf5ef}.lookup-hua.quan{--lookup-tone:var(--hua-quan);--lookup-tint:#f2edf7}.lookup-hua.ke{--lookup-tone:var(--hua-ke);--lookup-tint:#edf2f8}.lookup-hua.ji{--lookup-tone:var(--hua-ji);--lookup-tint:#faeeee}
.lookup-hua{color:var(--lookup-tone)}.lookup-hua.selected{background:var(--lookup-tint);border-color:var(--lookup-tone);box-shadow:inset 0 0 0 1px var(--lookup-tone);font-weight:600}
.lookup-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:25px}
.lookup-filters label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:11px;color:var(--muted)}
.lookup-filters select.control{width:100%;background:#fff;height:42px;font-size:14px}
.lookup-result-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}.lookup-result-heading h2{font-size:18px}.lookup-result-heading>span{color:var(--muted);font-size:11px;text-align:right;max-width:55%}
.lookup-overview{background:#f5f5f5;border:1px solid var(--line);border-radius:8px;margin-bottom:15px;padding:12px 16px}.lookup-overview summary{cursor:pointer;font-size:12px;font-weight:500}.lookup-overview[open] summary{margin-bottom:10px}
.lookup-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.lookup-article{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px}.lookup-article:only-child{grid-column:1/-1}
.lookup-article h3{font-size:14px;font-weight:600;margin-bottom:11px}.lookup-prose{font-size:13px;line-height:1.95;overflow-wrap:anywhere}.lookup-prose p+p{margin-top:11px}
.lookup-transformations{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.lookup-transformations>h2{font-size:15px;margin-bottom:12px}.lookup-transformations>.lookup-article+.lookup-article{margin-top:12px}
.lookup-context,.lookup-empty,.lookup-footnote{color:var(--muted);font-size:11px;line-height:1.8}.lookup-context{margin-bottom:12px}.lookup-footnote{margin-top:21px}.lookup-empty{padding:15px 0}
@media(max-width:640px){
 .star-lookup-panel{padding:18px 14px}.lookup-heading{margin-bottom:17px}.lookup-heading h1{font-size:24px}.lookup-heading p{font-size:10px}
 .lookup-tabs{max-width:none;margin-bottom:16px}.lookup-tabs button{font-size:12px;min-height:36px}
 .lookup-huas{gap:7px;margin-bottom:15px}.lookup-hua{min-height:39px;font-size:13px}
 .lookup-filters{gap:10px;margin-bottom:20px}.lookup-filters label{font-size:10px}.lookup-filters select.control{height:40px;font-size:13px;padding:7px 8px}
 .lookup-result-heading{display:block;margin-bottom:12px}.lookup-result-heading h2{font-size:16px}.lookup-result-heading>span{display:block;max-width:none;text-align:left;margin-top:4px;font-size:10px}
 .lookup-overview{padding:11px 12px}.lookup-articles{grid-template-columns:minmax(0,1fr);gap:12px}.lookup-article{padding:14px}.lookup-article h3{font-size:14px;margin-bottom:8px}.lookup-prose{font-size:13px;line-height:1.9}.lookup-transformations{margin-top:20px;padding-top:17px}
}

/* 命盘操作直接展示为两行，不再使用旧的折叠排盘卡片。 */
.ziwei-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.ziwei-case-toolbar{width:100%;max-width:620px;min-width:0}
.ziwei-case-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ziwei-case-actions>.btn{width:100%;min-width:0;min-height:42px;margin:0;padding:9px 5px;font-size:13px;white-space:nowrap;justify-content:center}
.ziwei-case-selectors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:8px;margin-top:8px;align-items:center}
.ziwei-case-selectors select.control{width:100%;min-width:0;height:42px;margin:0;padding:8px 26px 8px 10px;font-size:13px;text-overflow:ellipsis}
.ziwei-case-selectors .case-settings-btn{width:42px;height:42px;padding:8px;border:1px solid var(--line);background:var(--wash,#f4f4f4);color:var(--ink,#222)}
.ziwei-case-selectors .case-settings-btn svg{width:21px;height:21px}
.case-backup-settings{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.case-backup-settings h3{font-size:15px;margin-bottom:9px}.case-backup-settings>p{font-size:12px;line-height:1.7;margin:8px 0}
.case-backup-settings>.hint{font-size:11px;color:var(--muted)}
.case-backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.case-backup-actions .btn{justify-content:center;min-height:40px}
#case-transfer-status{color:var(--hua-lu)}
/* 生年四化比限流四化更醒目，同时服从星列的缩放。 */
.star-transformations .star-hua-row[data-hua-scope="natal"] .hua-pill{font-size:calc(11px * var(--core-scale,1) * var(--star-height-scale,1));min-width:calc(15px * var(--core-scale,1));min-height:calc(17px * var(--star-height-scale,1));padding:2px 1px;line-height:1;font-weight:700}
@media(max-width:640px){
 .ziwei-workspace{gap:12px}.ziwei-case-actions,.ziwei-case-selectors{gap:6px}
 .ziwei-case-actions>.btn{font-size:12px;min-height:40px;padding:8px 3px}
 .ziwei-case-selectors{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;margin-top:6px}
 .ziwei-case-selectors select.control{height:40px;font-size:12px;padding-left:8px}
 .ziwei-case-selectors .case-settings-btn{width:40px;height:40px}
 .star-transformations .star-hua-row[data-hua-scope="natal"] .hua-pill{font-size:calc(9px * var(--core-scale,1) * var(--star-height-scale,1));min-width:calc(12px * var(--core-scale,1));min-height:calc(14px * var(--star-height-scale,1));padding:2px 1px}
 .self-edge .self-arrow{width:12px;height:15px}
}

/* 身宫跟随宫干支列排在长生上方，避免固定坐标造成叠字。 */
.v2-chart-grid .palace-ganzhi>.body-mark{position:static;inset:auto;flex:none;display:block;margin:0 0 6px;align-self:center}
@media(max-width:640px){.v2-chart-grid .palace-ganzhi>.body-mark{margin-bottom:5px}}
/* 同一图标框承载太极与品牌，保持旋转和转换前后的位置、尺寸一致。 */
.opening-mark{position:absolute;left:50%;top:calc(50% - 27px);width:148px;height:148px;transform:translate(-50%,-50%)}
.opening-mark>.opening-taiji,.opening-mark>.opening-logo{position:absolute;inset:0;width:100%;height:100%;display:block;transform:none;transform-origin:50% 50%;opacity:0;will-change:transform,opacity}
.opening-mark>.opening-taiji{overflow:visible}

/* 八字星神可直接查看释义，修正按本盘保存。 */
.bazi-star-link{display:inline;padding:0;background:transparent;border-radius:0;border-bottom:1px dotted #aaa;color:inherit;font:inherit;line-height:inherit;text-align:left;vertical-align:baseline}
.bazi-correct-btn{display:inline-block;padding:1px 5px;margin-left:6px;border:1px solid var(--line);border-radius:4px;background:#f5f5f5;color:var(--ink);font-size:10px;line-height:1.6}
.bazi-preference-values{display:inline-flex;flex-wrap:wrap;gap:1px 8px}.bazi-preference-values>span{white-space:nowrap}
.bazi-preference-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}
.bazi-preference-grid label{font-size:12px;display:flex;flex-direction:column;gap:5px}.bazi-preference-grid select{min-height:40px;width:100%}
.bazi-preference-dialog{width:min(460px,calc(100% - 24px))}.bazi-preference-dialog .hint{margin:10px 0;font-size:11px;line-height:1.7}
.bazi-star-dialog{width:min(480px,calc(100% - 24px))}.bazi-star-dialog h3{font-size:13px;margin:18px 0 6px}.bazi-star-dialog p{font-size:13px;line-height:1.9}.bazi-star-dialog .bazi-star-location{color:var(--muted);margin-bottom:12px}.bazi-star-dialog .hint{font-size:11px;color:var(--muted);margin-top:12px}
.bazi-flow-item .bazi-flow-gods{font-size:10px;line-height:1.1;color:#555;letter-spacing:1px;margin-top:1px}.bazi-child-note{font-size:11px;color:var(--muted)}
@media(max-width:640px){.bazi-correct-btn{font-size:9px;padding:0 4px;margin-left:3px}.bazi-preference-values{gap:0 6px}.bazi-flow-item .bazi-flow-gods{font-size:8px;letter-spacing:0}.bazi-star-link{padding:1px 0}}

.bazi-star-explanation{margin-top:17px}.bazi-star-explanation h3{margin:0 0 7px;font-size:13px;font-weight:650;color:var(--ink)}.bazi-star-explanation p{font-size:13px;line-height:1.95;text-align:justify}.bazi-star-dialog .bazi-star-location{margin-bottom:3px}
.bazi-preference-values>span{line-height:1.6}

/* 子平逐层计算依据：保留现有盘面比例，只在折叠说明内展开。 */
.bazi-analysis-steps{padding-left:22px;margin:10px 0}.bazi-analysis-steps>li{padding:10px 0 11px 3px;border-bottom:1px solid var(--line,#e4e4e4)}.bazi-analysis-steps>li::marker{font-size:11px;color:var(--muted)}.bazi-step-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.bazi-step-heading h4{margin:0;font-size:12px;font-weight:650}.bazi-step-heading small{font-size:10px;color:var(--muted)}.bazi-analysis-steps p{overflow-wrap:anywhere}.bazi-manual-note{padding:9px 11px;background:var(--bg,#f5f5f5);border:1px solid var(--line,#e4e4e4);border-radius:6px}.bazi-pattern-caption{white-space:normal}
@media(max-width:640px){.bazi-analysis-steps{padding-left:18px}.bazi-analysis-steps>li{padding:8px 0 9px 1px}.bazi-step-heading{gap:6px}.bazi-step-heading h4{font-size:11px}.bazi-step-heading small{font-size:9px}}

/* 倪师金钱卦：随机起卦只保留动作按钮，手动排卦维持上爻至初爻竖排。 */
.ni-random{padding:6px 0 8px}
.ni-source-illustration{width:min(665px,100%);margin-left:auto;margin-right:auto}
.ni-source-illustration img{display:block;width:100%;height:auto;border:1px solid #d7d7d7;border-radius:10px;background:#fff}
@media(max-width:640px){.ni-source-illustration{margin-top:17px}}

/* Public beta uses the existing visual system and the supplied vector wordmark. */
.public-beta .brand-wordmark-image{display:block;object-fit:contain;height:auto;max-width:100%}
.public-beta .brand-row .brand{gap:8px}
.public-beta .brand-row .brand-icon{width:32px;height:32px;flex:none}
.public-beta .brand-row .brand-wordmark{width:65.1px;flex:none}
.public-beta .brand-row .brand-wordmark>strong{display:block;position:relative;width:100%;line-height:1}
.public-beta .brand-row .brand-wordmark>strong>.brand-wordmark-image{width:65.1px;max-width:none}
.public-beta .brand-row .brand-wordmark em{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin:0 0 0 4px;letter-spacing:0;white-space:nowrap;font-size:8px;font-style:normal}
.public-beta .brand-row .brand .brand-motto{width:100%;margin-top:4px;font-size:8px;letter-spacing:-.5px;line-height:1.5;text-align:center}
.public-beta .center-content .center-brand-name{width:calc(71.4px * var(--center-fit));height:auto;max-width:100%;margin:1px 0}
.public-beta .birth-dialog .eyebrow{display:flex;align-items:center;gap:8px}
.public-beta .birth-dialog .eyebrow>.brand-wordmark-image{width:74.2px}
.public-beta .opening-copy .brand-wordmark-image{width:133px;max-width:45.5vw;margin:0 auto 11px;filter:brightness(0) invert(1)}
.public-beta .opening-copy .opening-motto{display:block;width:133px;max-width:45.5vw;margin:0 auto;font-size:12px;line-height:1.5;letter-spacing:1px;text-align:center}
.public-beta .palace-ganzhi{bottom:3px;right:5px}
.public-beta .v2-chart-grid .tile-reference{bottom:6px;right:42px}
.public-beta .website-brand{display:block;width:112px;height:auto;margin-bottom:12px}
@media(max-width:640px){
 .public-beta .brand-row .brand-icon{width:34px;height:34px}
 .public-beta .brand-row .brand-wordmark{width:78.4px}
 .public-beta .brand-row .brand-wordmark>strong>.brand-wordmark-image{width:78.4px}
 .public-beta .brand-row .brand-wordmark em{font-size:9px}
 .public-beta .brand-row .brand .brand-motto{font-size:9px;letter-spacing:0}
 .public-beta .center-content .center-brand-name{width:calc(53.2px * var(--center-fit))}
 .public-beta .palace-ganzhi{bottom:2px;right:3px}
 .public-beta .v2-chart-grid .tile-reference{right:25px}
}
