.thai-wheel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 10px}
.thai-wheel-heading{font-size:1.05rem;font-weight:600;line-height:1.6;margin:0;color:#302321}
.thai-wheel-date{font-size:.8rem;color:#76675e;margin:3px 0 0;overflow-wrap:anywhere}
.thai-wheel-expand{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #e8ddcb;border-radius:9px;background:#fffdf9;color:#65090d;font:inherit;font-size:.85rem;cursor:pointer}
.thai-wheel-expand[hidden]{display:none}
.thai-wheel-expand:hover{background:#faf3e7}
.thai-wheel-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.8rem;color:#625b56;margin-bottom:4px}
.thai-wheel-legend>span{display:inline-flex;align-items:center;gap:7px}
.thai-wheel-key{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}
.thai-wheel-key.is-natal{background:#1455c5}.thai-wheel-key.is-transit{background:#ff762d}
.thai-wheel.thai-transit-wheel{width:100%;max-width:1100px;height:auto;display:block;margin:0 auto;background:#fff;aspect-ratio:1}
.thai-transit-wheel text{font-family:Sarabun,sans-serif;font-weight:400;letter-spacing:0;text-anchor:middle;dominant-baseline:central}
.wheel-paper{fill:#fff;stroke:none}.wheel-ring{fill:none;stroke:#4f4f4f;stroke-width:1.25}
.wheel-tick{stroke:#686868;stroke-width:.7}.wheel-tick.is-major{stroke:#d47479;stroke-width:1}
.wheel-division{stroke:#707070;stroke-width:.85}.wheel-sign-divider{stroke:#858585;stroke-width:1.15}
.wheel-sign-tick{stroke:#e94c4c;stroke-width:1.8}
.wheel-navamsa{fill:#424242;font-size:16px}.wheel-nakshatra{fill:#5f5f5f;font-size:12px}
.wheel-ruek{fill:#3c3c3c;font-size:17px}.wheel-nakshatra-number{fill:#575757;font-size:14px}
.wheel-decan{fill:#3d3d3d;font-size:18px}.wheel-sign-name{font-size:23px}
.wheel-natal{--wheel-planet-color:#1455c5}.wheel-transit{--wheel-planet-color:#ff762d}
.wheel-leaders polyline{fill:none;stroke:var(--wheel-planet-color);stroke-width:1.5;stroke-opacity:.72}
.wheel-leaders circle{fill:var(--wheel-planet-color)}
.wheel-transit-cell{fill:#4c4c4c}.wheel-house-circle{fill:#fff;stroke:#202020;stroke-width:2.5}
.wheel-house-line{stroke:#282828;stroke-width:1.8}.wheel-natal-cell{fill:#252525}.wheel-node{fill:#ce414a}
.wheel-asc-degree{fill:#6c6c6c;font-size:17px}
.wheel-marker-disc{fill:var(--wheel-planet-color);stroke:#fff;stroke-width:1}
.thai-transit-wheel .wheel-marker-glyph{fill:#fff;font-size:24px;font-weight:400}
.wheel-retrograde{fill:#c9444d;font-size:18px}
.thai-wheel-caption{font-size:.75rem;color:#76675e;text-align:center;line-height:1.8;margin:8px 0 0}
.chart-zoom-dialog{width:calc(100vw - 32px);max-width:1200px;height:calc(100dvh - 32px);max-height:none;box-sizing:border-box;padding:0;border:1px solid #e8ddcb;border-radius:16px;background:#fffdf9;color:#302321;overflow:hidden}
.chart-zoom-dialog[open]{display:flex;flex-direction:column}
.chart-zoom-dialog::backdrop{background:#241310b3;backdrop-filter:blur(3px)}
.chart-zoom-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e8ddcb;flex-shrink:0}
.chart-zoom-header h2{font-size:1.1rem;margin:0;line-height:1.5}
.chart-zoom-dialog button{min-width:44px;min-height:44px;border:1px solid #e8ddcb;background:#fff;color:#65090d;border-radius:9px;padding:6px 12px;font:inherit;cursor:pointer}
.chart-zoom-dialog button:disabled{opacity:.4;cursor:default}
.chart-zoom-dialog button:focus-visible,.chart-zoom-canvas:focus-visible,.thai-wheel-expand:focus-visible{outline:2px solid #886225;outline-offset:2px}
.chart-zoom-header button{font-size:26px;line-height:1}
.chart-zoom-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:10px 12px;flex-shrink:0}
.chart-zoom-controls output{min-width:45px;font-size:14px;text-align:center}
.chart-zoom-controls span{font-size:12px;color:#76675e}
.chart-zoom-canvas{min-width:0;min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;background:#fff;touch-action:pan-x pan-y pinch-zoom;padding:16px;box-sizing:border-box}
.chart-zoom-stage{margin-inline:auto;flex-shrink:0}
.chart-zoom-stage .thai-transit-wheel{max-width:none;width:100%;height:100%;margin:0}
@media(max-width:600px){.thai-wheel-toolbar{align-items:flex-start}.thai-wheel-expand{font-size:.8rem}.thai-wheel-legend{gap:7px 14px}.chart-zoom-dialog{width:100%;max-width:100%;height:100dvh;margin:0;border:0;border-radius:0}.chart-zoom-header{padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top))}.chart-zoom-controls span{flex-basis:100%;text-align:center}.chart-zoom-canvas{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
@media print{.thai-wheel-expand,.chart-zoom-dialog{display:none!important}}
