.vastu-zones-section{background:linear-gradient(125deg,#fff9ec,#f0eef8 60%,#edf2e9);border-radius:32px;margin-top:30px;margin-bottom:30px}
.zones-explorer{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:36px;align-items:center;margin-top:28px}
.zones-chart{min-width:0;text-align:center}
.zones-circle{display:block;width:100%;height:auto;max-width:560px;margin:auto;font-family:Arial,sans-serif;overflow:visible}
.zone-segment{transition:filter .18s,stroke-width .18s}
.zone-piece[role=button]{cursor:pointer;outline:none}
.zone-piece[role=button]:hover .zone-segment{filter:brightness(1.15)}
.zone-piece[aria-pressed=true] .zone-segment{stroke:#f7d15e;stroke-width:6;filter:brightness(1.15)}
.zone-piece:focus-visible .zone-segment{stroke:#fff;stroke-width:7;filter:brightness(1.25)}
.zones-panel{min-width:0;display:grid;gap:20px}
.zones-controls label{display:block;font-weight:600;margin-bottom:8px}
.zones-controls select,.zones-controls input{width:100%;min-width:0;padding:13px 14px;border:1px solid #b5a7bb;border-radius:16px;background:#fffdf7;color:#30143f;font:inherit}
.zones-controls select:focus-visible,.zones-controls input:focus-visible{outline:3px solid #957e38;outline-offset:3px}
.zones-controls form{margin-top:20px}
.zone-bearing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.zone-bearing-row .button{padding:12px 18px;font-size:14px;min-height:48px;white-space:normal}
.zone-detail{padding:24px;background:linear-gradient(130deg,#fffdf6,#e5dfeb);border:1px solid #b9a6bd;border-radius:24px}
.zone-detail h3{font-size:clamp(22px,2.8vw,30px);line-height:1.25;margin:12px 0}
.zone-detail p{margin:8px 0}
#zone-range{font-size:25px;font-weight:600;color:#5c3c65}
#zone-status:empty{display:none}
.zone-caption{margin:12px 0 0}
.zones-reference{margin-top:22px;padding:16px 20px;border:1px solid #cabecb;border-radius:20px;background:#fffdf7}
.zones-reference summary{cursor:pointer;font-weight:600}
.zone-table-wrap{margin-top:20px;max-width:100%;overflow:auto;border:1px solid #ded2df;border-radius:18px;background:#fffdf7}
.zone-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.5}
.zone-table caption{text-align:left;padding:16px;font-weight:600;color:#30143f}
.zone-table th,.zone-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #e6dce7;overflow-wrap:anywhere}
.zone-table th:first-child{width:15%}
.zone-table th:last-child{width:34%}
.zone-table thead{background:#ede4ef;color:#30143f}
.zone-table tbody tr:last-child th,.zone-table tbody tr:last-child td{border-bottom:0}
.zones-page{max-width:1120px;margin:auto}
.zones-page>h1{font-size:clamp(32px,4.5vw,54px);line-height:1.12;margin:22px 0}
.zones-page>h2{margin-top:38px;font-size:28px}
.zones-page>p{max-width:850px}
@media(max-width:750px){.zones-explorer{grid-template-columns:1fr;gap:20px}.vastu-zones-section{border-radius:24px}.zones-circle{max-width:430px}.zones-panel{gap:16px}.zone-detail{padding:20px}.zone-table{font-size:13px}.zone-table th,.zone-table td{padding:10px 8px}.zone-bearing-row{gap:8px}.zones-reference{padding:14px}.zone-table th:last-child{width:36%}}
@media(prefers-reduced-motion:reduce){.zone-segment{transition:none}}
.motion-paused .zone-segment{transition:none}
