:root{--ink:#1d2721;--muted:#68746c;--line:#cfd7d1;--line-strong:#8f9d93;--paper:#fffef9;--canvas:#edf1ec;--panel:#f8faf7;--birth:#168247;--flow:#183f92;--danger:#b52b2b;--accent:#245e3b;--shadow:0 18px 50px #22342717}.lease-gate{background:var(--paper);place-items:center;min-height:100svh;padding:24px;display:grid}.lease-card{border:1px solid var(--line);background:#ffffffb8;width:min(560px,100%);padding:clamp(28px,7vw,56px);box-shadow:0 20px 70px #19362617}.lease-card__eyebrow{color:var(--accent);letter-spacing:.2em;font:700 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.lease-card h1{margin:22px 0 14px;font-size:clamp(28px,7vw,46px);font-weight:500}.lease-card p{color:var(--muted);line-height:1.75}.lease-card__note{font-size:13px}.lease-card button{background:var(--accent);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:0;margin-top:12px;padding:0 22px}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink)}body{text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;min-width:320px;margin:0;font-family:Songti SC,STSong,Noto Serif CJK SC,Source Han Serif SC,SimSun,serif}button,input{font:inherit}button{color:inherit}.site-shell{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(clamp(16px, 3vw, 48px), env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(clamp(16px, 3vw, 48px), env(safe-area-inset-left))}.site-header,.site-footer,.input-card,.workbench{width:min(1840px,100%);margin-inline:auto}.site-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.site-header h1{letter-spacing:.13em;margin:3px 0 4px;font-size:clamp(28px,3vw,46px);font-weight:700}.site-header p{color:var(--muted);margin:0;font-size:14px}.eyebrow{color:var(--accent);letter-spacing:.18em;font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.header-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.header-badges span{border:1px solid var(--line);color:var(--muted);background:#ffffffa6;padding:7px 10px;font-size:12px}.input-card{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--panel);box-shadow:var(--shadow);grid-template-columns:minmax(230px,.7fr) minmax(0,2fr);align-items:end;gap:12px 26px;margin-bottom:18px;padding:16px 18px;display:grid}.input-card__heading{grid-row:span 2;align-self:center}.input-card__heading h2{margin:5px 0 3px;font-size:20px}.input-card__heading p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.input-card form{grid-template-columns:repeat(2,minmax(280px,1fr));align-items:end;gap:10px;display:grid}.input-card form>label,.calculate-button{grid-column:span 1}.input-card .date-time-fields{grid-column:1/-1}.birth-conditions{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.birth-conditions legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:11px}.birth-conditions>div{grid-template-columns:.65fr 1fr 1fr;gap:7px;display:grid}.birth-conditions>small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.input-card label{color:var(--muted);gap:6px;font-size:11px;display:grid}.date-time-fields{border:0;min-width:0;margin:0;padding:0}.date-time-fields legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:11px}.date-time-fields__controls{grid-template-columns:1.25fr repeat(5,minmax(58px,.72fr));gap:5px;display:grid}.date-time-fields__controls label{gap:0;position:relative}.date-time-fields__controls label>span{z-index:1;color:#819087;pointer-events:none;font:600 8px/1 system-ui,sans-serif;position:absolute;top:3px;left:8px}.input-card .date-time-fields__controls input,.input-card .date-time-fields__controls select{min-width:0;padding:14px 7px 5px;font-size:12px}.date-time-fields>small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.input-card input,.input-card select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:0;padding:9px 11px;font:500 14px/1.2 system-ui,-apple-system,sans-serif}.input-card input:focus,.input-card select:focus{border-color:var(--accent);outline:2px solid #245e3b40}.calculate-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;min-height:44px;padding:9px 20px;font:700 13px/1 system-ui,-apple-system,sans-serif}.calculate-button:disabled{cursor:wait;opacity:.55}.calculation-status{min-height:18px;color:var(--accent);flex-wrap:wrap;gap:5px 12px;font-size:11px;display:flex}.calculation-status span,.calculation-status--error{color:var(--danger)}.workbench{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:18px;display:grid}.chart-panel,.inspection-panel>section{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.chart-panel{min-width:0;overflow:hidden}.chart-toolbar,.chart-footer{background:#f7f9f6;justify-content:space-between;align-items:center;gap:18px;padding:12px 15px;display:flex}.chart-toolbar{border-bottom:1px solid var(--line)}.chart-footer{border-top:1px solid var(--line)}.chart-toolbar>div:first-child{gap:2px;display:grid}.chart-toolbar b{font-size:14px}.chart-toolbar span{color:var(--muted);font-size:11px}.toolbar-actions,.export-actions,.legend{align-items:center;gap:7px;display:flex}.quiet-button,.zoom-reset{border:1px solid var(--line);cursor:pointer;background:#fff;min-height:32px}.quiet-button{min-width:34px;font-weight:800}.zoom-reset{min-width:56px;color:var(--muted);padding-inline:8px;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.quiet-button:hover,.zoom-reset:hover{border-color:var(--accent);color:var(--accent)}.wheel-viewport{background:var(--paper);touch-action:pan-x pan-y;overscroll-behavior:contain;padding:14px;overflow:auto}.wheel-scaler{width:min(100%,1200px);margin-inline:auto}.guolao-wheel{width:100%;height:auto;display:block;overflow:visible}.wheel-background{fill:#fff}.ring-line,.sector-line,.mansion-boundary,.degree-tick{vector-effect:non-scaling-stroke;shape-rendering:geometricprecision}.ring-line{fill:none;stroke:#111;stroke-width:1px}.ring-line--3,.ring-line--8,.ring-line--11{stroke-width:1.35px}.sector-line{stroke:#6f776f;stroke-width:.75px}.mansion-boundary{stroke:#4f5b51;stroke-width:.75px}.degree-tick{stroke:#333;stroke-width:.48px}.ring-label{text-anchor:middle;dominant-baseline:central;fill:var(--ink);font-weight:600}.ring-label--twelve-sign text{text-anchor:middle;dominant-baseline:central;fill:var(--ink);font-size:16px;font-weight:600}.palace-reality-marker{text-anchor:middle;dominant-baseline:central;font:800 13px/1 system-ui,sans-serif}.palace-reality-marker--weak{fill:#d00000}.palace-reality-marker--solid{fill:green}.ring-label--zodiac{font:600 15px/1 Georgia,serif}.ring-label--mansion{font-size:17px}.ring-label--year-palace text{text-anchor:middle;dominant-baseline:central;fill:green;font-size:14px;font-weight:600}.ring-label--life-palace text{font-weight:800}.life-master-bar{stroke:green;stroke-width:5px;vector-effect:non-scaling-stroke}.life-degree-marker{fill:#fff;stroke:green;stroke-width:2px;vector-effect:non-scaling-stroke}.life-degree-tick{stroke:#d00000;stroke-width:2px;vector-effect:non-scaling-stroke}.life-degree-hotspot{cursor:help}.life-center-label text{text-anchor:middle;dominant-baseline:central;fill:green;font-size:13px;font-weight:700}.body-connector{stroke:#111;stroke-width:.8px;vector-effect:non-scaling-stroke}.body-label{text-anchor:middle;dominant-baseline:central;font-size:17px;font-weight:700}.body-layer--birth .body-mark--direct .body-label{fill:green}.body-layer--flow .body-mark--direct .body-label{fill:navy}.body-mark--retrograde .body-label{fill:#d00000}.body-layer--flow line{stroke:#111}.body-layer--flow text{fill:var(--flow)}.star-label text{text-anchor:middle;dominant-baseline:central;font-size:13px;font-weight:600}.star-layer--birth .star-label text{fill:green}.star-layer--flow .star-label text{fill:navy}.wheel-hotspot{cursor:help;outline:none}.limit-year-hotspot{cursor:pointer}.limit-year-hotspot:hover text,.limit-year-hotspot:focus text{fill:var(--accent);font-weight:900}.center-hotspot__target{fill:#0000;stroke:none}.wheel-hotspot:focus text,.wheel-hotspot:hover text{filter:drop-shadow(0 0 1px #fffffff2);font-weight:800}.wheel-tooltip{filter:drop-shadow(0 3px 7px #00000038)}.wheel-tooltip rect{fill:#fffef9f7;stroke:var(--accent);stroke-width:1px;vector-effect:non-scaling-stroke}.wheel-tooltip__title{fill:var(--accent);font:700 12px/1.2 system-ui,-apple-system,sans-serif}.wheel-tooltip__detail{fill:var(--ink);font:500 10px/1.35 system-ui,-apple-system,sans-serif}.current-year-arc{fill:none;stroke:#bfdbfeb8;stroke-linecap:butt}.year-tick{stroke:green;stroke-width:.8px;vector-effect:non-scaling-stroke}.year-tick--birth{stroke-width:1.5px}.limit-age-label{text-anchor:middle;dominant-baseline:central;fill:green;font:600 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.limit-year-label{text-anchor:middle;dominant-baseline:central;fill:#111;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.render-hd .guolao-wheel{text-rendering:geometricprecision}.legend{color:var(--muted);flex-wrap:wrap;font-size:12px}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i,.body-table i{border-radius:50%;width:8px;height:8px;display:inline-block}.birth-dot,.body-table i.seven{background:var(--birth)}.flow-dot{background:var(--flow)}.boundary-dot{background:#555}.body-table i.remainder{background:#a53b87}.export-actions button{border:1px solid var(--line);background:#fff;font-size:12px}.export-actions button:hover,.quiet-button:hover{border-color:var(--accent);color:var(--accent)}.inspection-panel{gap:12px;display:grid}.inspection-panel>section{box-shadow:none;padding:17px}.status-card--primary{border-top:3px solid var(--accent)!important}.status-card>span,.requirement-card>span{color:var(--accent);letter-spacing:.14em;font:700 10px/1 ui-monospace,monospace}.status-card h2{margin:9px 0 7px;font-size:22px}.status-card p,.requirement-card li{color:var(--muted);font-size:12px;line-height:1.7}.control-card header,.data-card header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.control-card h2,.data-card h2{margin:0;font-size:15px}.control-card header span,.data-card header span{color:var(--muted);font-size:10px}.control-card label{border-top:1px solid #e2e7e2;justify-content:space-between;align-items:center;gap:18px;padding:11px 0;display:flex}.control-card label span{gap:3px;display:grid}.control-card small{color:var(--muted);font-size:10px}.control-card input{accent-color:var(--accent);width:17px;height:17px}.data-card dl{margin:0 0 10px}.data-card dl div{border-bottom:1px solid #e5e9e5;grid-template-columns:70px 1fr;gap:10px;padding:6px 0;font-size:11px;display:grid}.data-card dt{color:var(--muted)}.data-card dd{text-align:right;margin:0}.pillar-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0;display:grid}.pillar-groups section{border:1px solid var(--line);background:#fff}.pillar-groups h3{color:var(--accent);background:#f3f6f3;margin:0;padding:5px 7px;font-size:10px}.pillar-groups section>div{grid-template-columns:repeat(4,1fr);display:grid}.pillar-groups span{border-right:1px solid #edf0ed;place-items:center;gap:2px;padding:6px 2px;display:grid}.pillar-groups span:last-child{border-right:0}.pillar-groups small{color:var(--muted);font-size:8px}.pillar-groups b{font-size:12px}.body-table{border:1px solid var(--line);background:#fff;max-height:245px;overflow:auto}.body-table section+section{border-top:2px solid var(--line-strong)}.body-table h3{z-index:1;color:var(--accent);letter-spacing:.12em;background:#f3f6f3;margin:0;padding:6px 9px;font-size:10px;position:sticky;top:0}.body-table div{border-bottom:1px solid #edf0ed;grid-template-columns:10px 22px 1fr auto;align-items:center;gap:7px;padding:7px 9px;font-size:11px;display:grid}.body-table div:last-child{border-bottom:0}.body-table code{color:var(--muted);font-size:10px}.requirement-card ul{margin:9px 0 0;padding-left:18px}.site-footer{color:var(--muted);justify-content:space-between;gap:16px;padding-top:15px;font-size:11px;display:flex}@media (width>=1081px){.chart-panel{grid-template-rows:auto minmax(0,1fr) auto;height:calc(100dvh - 4px);scroll-margin-top:2px;display:grid}.wheel-viewport{place-items:center;min-height:0;padding:2px;display:grid}.chart-toolbar{padding-block:8px}.chart-footer{padding-block:6px}}@media (width<=1080px){.input-card{grid-template-columns:1fr;align-items:start}.input-card__heading{grid-row:auto}.workbench{grid-template-columns:1fr}.inspection-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.data-card{grid-row:span 2}}@media (width<=720px){.site-shell{padding:max(12px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.site-header,.chart-toolbar,.chart-footer{flex-direction:column;align-items:flex-start}.site-header{margin-bottom:12px}.site-header h1{font-size:30px}.header-badges{justify-content:flex-start}.input-card{margin-bottom:10px;padding:14px 12px}.input-card form{grid-template-columns:1fr;width:100%}.date-time-fields__controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.calculate-button{width:100%}.toolbar-actions{flex-wrap:wrap;width:100%}.quiet-button,.zoom-reset,.export-actions button{min-height:44px}.wheel-viewport{padding:4px}.wheel-scaler{margin-inline:auto}.inspection-panel{grid-template-columns:1fr}.inspection-panel>section{padding:14px}.chart-footer,.export-actions{width:100%}.export-actions button{flex:1}.body-table{max-height:none}.site-footer{flex-direction:column}}@media print{.site-shell{padding:0}.site-header,.inspection-panel,.chart-toolbar,.chart-footer,.site-footer{display:none!important}.workbench,.chart-panel{box-shadow:none;border:0;display:block}.wheel-viewport{min-height:0;padding:0}.wheel-scaler{width:100%!important;max-width:none!important}}
