.q-page{font-size:16px}.q-intro{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:28px 0}.q-intro h2{font-family:'Songti TC',serif;font-size:clamp(24px,3vw,36px);font-weight:500;letter-spacing:.05em;margin:5px 0}.q-intro>p{text-align:right}.q-input>summary{font-size:19px;color:var(--ink)}.q-input form{margin-top:18px}.q-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.q-wide{grid-column:1/-1}.q-fields>*{min-width:0}.q-fields input,.q-fields select{width:100%;max-width:100%;min-width:0;height:50px;min-height:50px;line-height:1.5;font-size:16px;box-sizing:border-box}.q-fields input[type=date],.q-fields input[type=time]{-webkit-appearance:none;appearance:none;overflow:hidden}.q-fields input::-webkit-date-and-time-value{min-width:0;text-align:left;margin:0;padding:0;line-height:26px}.q-fields input::-webkit-datetime-edit{padding:0;min-width:0}.q-settings{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.q-actions{display:flex;gap:12px;margin-top:15px}.q-actions .primary{margin:0;width:auto;flex:1}.q-actions button{min-height:50px}.q-result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}.q-result-head h2{margin:3px 0;font-size:23px}.q-result-head>button{white-space:nowrap}.q-note{padding:14px 16px;border-left:3px solid var(--gold);background:var(--tint);overflow-wrap:anywhere}.q-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.q-summary>div{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.q-summary small{display:block;color:var(--muted)}.q-summary strong{display:block;font-size:22px;font-weight:500;color:var(--gold)}.q-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--tint);padding:5px;border-radius:11px;margin-bottom:20px}.q-tabs button{background:transparent;border:0}.q-tabs button[aria-pressed=true]{background:var(--card);color:var(--gold)}.q-chart-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}.q-wheel-card{background:radial-gradient(ellipse at center,var(--tint),var(--card) 75%)}.q-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.q-section-head h3{margin:0}.q-section-head span{font-size:12px}.q-wheel{width:100%;height:auto;display:block;max-height:75svh;margin:auto;overflow:visible}.q-wheel text{font-family:inherit;fill:var(--ink);text-anchor:middle;dominant-baseline:middle}.q-wheel .q-ring{fill:none;stroke:var(--line);stroke-width:1}.q-wheel .q-line{stroke:var(--line);stroke-width:1}.q-wheel .q-branch{fill:var(--gold);font-size:19px}.q-wheel .q-house{fill:var(--muted);font-size:15px}.q-wheel .q-star circle{fill:var(--card);stroke:var(--tech);stroke-width:1.5}.q-wheel .q-star text{fill:var(--tech);font-size:20px}.q-wheel .q-star[aria-pressed=true] circle{fill:var(--ink);stroke:var(--gold);stroke-width:3}.q-wheel .q-star[aria-pressed=true] text{fill:var(--card)}.q-wheel .q-star{cursor:pointer}.q-wheel .q-star:focus{outline:none}.q-wheel .q-star:focus-visible circle{stroke-width:4;stroke:var(--gold)}.q-wheel .q-core{font-family:'Songti TC',serif;font-size:27px;fill:var(--gold)}.q-wheel .q-small{font-size:13px;fill:var(--muted)}.q-wheel .q-leader{stroke:var(--tech);opacity:.45;fill:none}.q-center{text-align:center;font-size:12px}.q-star-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:14px}.q-star-buttons button{padding:8px 2px;min-height:44px;font-size:14px}.q-star-buttons button[aria-pressed=true],.q-house-buttons button[aria-pressed=true]{border-color:var(--gold);background:var(--tint);color:var(--gold)}.q-star-detail{padding:clamp(20px,3vw,36px)}.q-star-detail h2{font-family:'Songti TC',serif;font-size:30px;font-weight:500}.q-star-detail h3{font-size:16px;color:var(--gold);margin-top:24px}.q-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.q-reading-grid article+article{border-left:1px solid var(--line);padding-left:20px}.q-reading-grid h4{font-size:18px;font-weight:500;margin:8px 0}.q-reading-grid p{font-size:15px}.q-house-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:20px}.q-house-buttons button{padding:10px 3px;font-size:15px}.q-house-buttons small{display:block;font-size:11px;color:var(--muted)}.q-detail-line{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.q-detail-line h4{font-size:17px;margin:5px 0;color:var(--gold)}.q-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:15px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-weight:500;color:var(--muted)}td:first-child{color:var(--gold)}.q-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.q-compare article{background:var(--tint);border:1px solid var(--line);padding:16px;border-radius:10px}.q-compare article.active{border-color:var(--gold)}.q-compare h4{margin:0;font-size:17px}.q-compare p{font-size:14px}.q-sources{margin-top:28px}.q-sources h3{margin-top:24px;font-size:17px}.q-sources li{margin:12px 0;font-size:14px}.q-sources a{overflow-wrap:anywhere}#result{scroll-margin-top:20px}#houseDetail h3{margin-top:22px;font-size:18px}#aspects .q-detail-line:first-child{border:0;margin:0;padding:0}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--tech);outline-offset:3px}
@media(min-width:1200px){.q-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.q-intro{margin:36px 0}.q-wheel-card{padding:28px}.q-wheel{max-height:850px}.q-star-detail p{font-size:18px;line-height:1.9}}
@media(max-width:767px){.q-intro{display:block;margin:24px 0}.q-intro>p{text-align:left}.q-intro>p br{display:none}.q-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}#cityField{grid-column:1/-1}.q-chart-layout{grid-template-columns:1fr;gap:0}.q-summary{gap:6px}.q-summary>div{padding:10px 6px;text-align:center}.q-summary strong{font-size:19px}.q-summary small{font-size:12px}.q-house-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.q-wheel-card{padding:16px 10px}.q-wheel{max-height:none}.q-tabs button{font-size:15px;padding:10px 4px}.q-compare{grid-template-columns:1fr}.q-reading-grid{grid-template-columns:1fr;gap:10px}.q-reading-grid article+article{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}.q-result-head h2{font-size:19px}.q-result-head>button{font-size:13px;padding:9px}.q-star-buttons{grid-template-columns:repeat(6,minmax(0,1fr))}.q-section-head{padding:0 5px}}
@media(prefers-reduced-motion:no-preference){.q-star-detail{animation:q-reveal .2s ease-out}@keyframes q-reveal{from{opacity:.5}to{opacity:1}}}
/* v129: mansion ring and evidence-based whole-chart readings. */
.q-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.q-ring-toggle{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;min-height:44px;color:var(--muted)}.q-ring-toggle input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--tech)}.q-mansion path{fill:var(--card);stroke:var(--line);stroke-width:.7}.q-mansion text{fill:var(--muted);font-size:16px;pointer-events:none}.q-mansion{cursor:pointer}.q-mansion[aria-pressed=true] path{fill:var(--tint);stroke:var(--gold);stroke-width:2}.q-mansion[aria-pressed=true] text{fill:var(--gold);font-weight:600}.q-mansion:focus-visible path{stroke:var(--tech);stroke-width:3}.q-mansion-focus{border-top:1px solid var(--line);padding:14px 6px 0;margin-top:16px}.q-mansion-focus h4{margin:0;color:var(--gold);font-size:17px}.q-mansion-focus p{font-size:14px;color:var(--muted)}.q-synthesis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.q-synthesis-grid article{padding:18px;background:var(--tint);border-radius:12px}.q-synthesis-grid h3{font-size:19px}.q-synthesis-grid p{font-size:16px}.q-evidence{font-size:13px!important;border-left:2px solid var(--gold);padding-left:12px}.q-topic summary{color:var(--ink)}.q-topic summary strong{font-size:22px;font-weight:500}.q-topic summary span{display:block;color:var(--muted);font-size:14px;margin:3px 0}.q-topic p{font-size:16px;line-height:1.85}.q-topic h3{font-size:18px;color:var(--gold);margin-top:24px}.q-topic .hint{font-size:13px}.q-topic .q-note{font-size:15px}.q-fields #methodField{grid-column:1/-1}
@media(max-width:1100px){.q-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.q-synthesis-grid{grid-template-columns:1fr}.q-synthesis-grid article{padding:20px}.q-topic summary strong{font-size:21px}}
@media(max-width:767px){.q-mansion text{font-size:18px}.q-summary strong{font-size:20px}.q-summary>div{padding:12px 6px}.q-ring-toggle{font-size:12px}.q-topic p{font-size:16px}}

/* v130: readable ruler paths at every viewport width */
.q-trace{margin-block:1.4rem;padding-top:.7rem;border-top:1px solid var(--line)}.q-trace ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.q-trace li{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:14px;min-width:0}.q-trace li>div{min-width:0}.q-trace-num{opacity:.65;font-variant-numeric:tabular-nums}.q-trace button{min-height:44px;padding:.3rem .6rem;font-size:inherit}.q-trace li p{margin:.5rem 0;overflow-wrap:anywhere}@media(max-width:650px){.q-trace ol{grid-template-columns:1fr}}

/* v131 — natal/transit twin wheel */
.qt-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:1rem;align-items:end}.qt-controls label{min-width:0}.qt-controls input,.qt-controls select{width:100%;min-width:0;box-sizing:border-box}.qt-transport{display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.qt-transport button{flex:1;min-height:44px}.qt-slider{display:block}.qt-slider input{width:100%;min-height:44px;padding:0;accent-color:var(--gold)}.qt-stamp{text-align:center;font-variant-numeric:tabular-nums;color:var(--gold)}.qt-wheel{display:block;width:100%;height:auto;overflow:visible}.qt-wheel text{text-anchor:middle;dominant-baseline:middle;fill:var(--ink);font-family:inherit}.qt-house{font-size:17px}.qt-branch{font-size:13px;opacity:.65}.qt-centre{font-size:19px}.qt-sub{font-size:12px}.qt-leader{stroke:var(--muted);opacity:.45;stroke-width:1}.qt-anchor{fill:var(--tech)}.qt-marker{cursor:pointer}.qt-marker circle{fill:var(--card);stroke:var(--tech);stroke-width:2}.qt-marker text{font-size:23px}.qt-marker.qt-sky circle{stroke:var(--gold);stroke-dasharray:3 2}.qt-marker[aria-pressed="true"] circle,.qt-marker:focus circle{stroke-width:4;fill:var(--tint)}.qt-legend{display:flex;justify-content:space-between;gap:1rem}.qt-legend span:first-child{color:var(--tech)}.qt-legend span:last-child{color:var(--gold)}#transitError{color:var(--ink)}@media(max-width:650px){.qt-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.qt-controls>button{grid-column:1/-1}.qt-transport{gap:.3rem}.qt-transport button{padding:.6rem .3rem;font-size:14px}.qt-house{font-size:18px}}

/* v132: explicit sample changes, readable without colour */
#sensitivitySpan{min-width:0;width:100%}#sensitivityDetail{margin-block:1rem}#sensitivityTable table{min-width:600px}#sensitivityTable th{white-space:nowrap}#sensitivityTable .qs-changed{background:var(--tint)}#sensitivityTable td strong{color:var(--gold)}@media(max-width:600px){#tab-check .q-section-head{align-items:stretch;flex-direction:column;gap:.8rem}}

/* v133: compact optional guided reading */
.q-guide{margin-bottom:1.2rem}.q-guide>summary{font-size:18px;color:var(--gold);cursor:pointer}.q-guide-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.q-guide-steps button{min-height:44px;font-size:14px;padding:.6rem .4rem}.q-guide-steps [aria-pressed=true]{color:var(--gold);border-color:var(--gold);background:var(--tint)}#guideContent{margin-block:1.2rem}#guideContent h3{font-size:22px}#guideContent p{line-height:1.85}.q-guide-controls{display:flex;gap:.6rem}.q-guide-controls button{flex:1;min-height:44px}.qt-wheel .q-ring{fill:none;stroke:var(--line);stroke-width:1}.qt-wheel .q-line{stroke:var(--line);stroke-width:1}@media(max-width:600px){.q-guide-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.q-guide-controls button{padding:.6rem .3rem;font-size:14px}}

/* v134: opt-in profiles, consistent with Bazi/Ziwei */
.q-profiles{padding:1rem;background:var(--tint);border-radius:12px;margin-top:1rem}.q-profile-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;margin-top:.8rem}.q-profile-row select{width:100%;min-width:0}.q-profile-row button{min-height:44px}.q-actions{flex-wrap:wrap}#profileDialog{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:85dvh;overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:24px}#profileDialog::backdrop{background:rgba(0,0,0,.6)}#localRecordLabel{border:1px solid var(--line);border-radius:8px;min-height:48px;padding:10px;font-size:18px;overflow-wrap:anywhere;box-sizing:border-box}#localRecordLabel:focus{outline:2px solid var(--tech)}.q-profile-dialog-actions{display:flex;gap:.5rem;flex-wrap:wrap}.q-profile-dialog-actions button{min-height:44px;flex:1}@media(max-width:500px){.q-profile-row{grid-template-columns:1fr 1fr}.q-profile-row select{grid-column:1/-1}}

/* v180: visible readings with a compact subject index. */
.q-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.q-reading-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;scroll-margin-top:20px}.q-reading-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:var(--card);text-decoration:none;color:var(--ink)}.q-reading-nav a:hover,.q-reading-nav a:focus-visible{border-color:var(--gold)}.q-topic{scroll-margin-top:20px}.q-topic>h2{margin:0;font-size:25px}.q-question{color:var(--gold);margin-top:8px}.q-topic .q-detail-line{padding-top:14px}.q-topic h4{font-size:18px}.q-back-top{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:14px;color:var(--muted)}.q-evidence{color:var(--muted);line-height:1.7}.q-trace>summary{font-size:17px;color:var(--gold)}.q-cultural{font-size:13px}#all-houses{scroll-margin-top:20px}.q-topic p,.q-star-detail p,#houseDetail p{overflow-wrap:anywhere;line-height:1.9}@media(max-width:390px){.q-tabs button{font-size:14px;padding-inline:2px}.q-reading-nav a{padding-inline:12px}.q-result-head{flex-wrap:wrap}}

/* v220: keep the six natal facts together beneath the interactive wheel. */
.q-wheel-card .q-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.q-wheel-card .q-summary>div{text-align:center}.q-tabs{margin-top:16px}
