:root{--navy:#111b2d;--gold:#ccae77;--cream:#faf6ec;--muted:#a9b4c7;--line:#ccae7740}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--cream);font:16px/1.6 system-ui,-apple-system,sans-serif}header,main,footer{max-width:1240px;margin:auto}header{padding:25px 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{letter-spacing:.15em;text-decoration:none;color:var(--gold);font-family:Georgia,serif;font-size:22px}.brand span{font-size:13px;letter-spacing:.22em}.edition,.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:600}.hero{padding:65px 65px 70px;display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center;background:radial-gradient(ellipse at right,#26334a88,transparent 65%)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(44px,5.5vw,76px);letter-spacing:-.045em;margin:20px 0 26px}h1 em{color:var(--gold);font-weight:400}.intro{max-width:480px;color:#c5ccda;font-size:18px}.hero img{width:100%;height:auto;max-width:330px;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 90px #ccae7710}.text-link{display:inline-block;color:var(--gold);margin-top:18px;text-underline-offset:7px}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--line);margin:0 30px;background:#162237;border-radius:8px;overflow:hidden}aside{padding:30px;border-right:1px solid var(--line)}h2{font-size:32px;margin:15px 0 25px}label{display:block;font-size:13px;margin:18px 0 7px}small{font-weight:400;color:var(--muted);display:block}input{width:100%;min-width:0;background:#101a2b;border:1px solid #506077;color:var(--cream);border-radius:4px;padding:12px;font:inherit;color-scheme:dark}input:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.hint,.privacy{font-size:12px;color:var(--muted);line-height:1.65}.privacy{border-top:1px solid var(--line);padding-top:20px}.hint a{color:inherit}details{margin:24px 0;font-size:12px}summary{cursor:pointer;color:var(--gold)}button,.button{cursor:pointer;border:1px solid var(--gold);background:var(--gold);color:var(--navy);padding:13px 17px;border-radius:4px;font:600 13px system-ui;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.6;cursor:wait}form button{width:100%;margin-top:12px}button span{float:right}.secondary{background:transparent;color:var(--gold)}.results{padding:35px;min-width:0}#empty{padding:28px 5px;color:var(--muted)}#empty h2{font-size:46px;color:var(--cream)}.empty-symbols{font-size:40px;letter-spacing:.16em;color:var(--gold);padding:25px 0;border-block:1px solid var(--line);margin:30px 0}.result-head{display:flex;align-items:start;justify-content:space-between;gap:15px}.result-head h2{font-size:27px;margin:10px 0}.result-head p{font-size:12px;color:var(--muted)}.result-head .eyebrow{color:var(--gold)}.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:25px 0}.pillar{border:1px solid var(--line);border-radius:5px;padding:14px 8px;text-align:center;background:#111b2d}.pillar.day{border-color:var(--gold)}.pillar .title{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.han{font:36px/1.5 'Songti SC','SimSun',serif;color:var(--gold)}.pillar p{font-size:12px;margin:5px 0}.pillar small{font-size:10px}h3{font-size:23px;margin:30px 0 12px}.hidden-row{display:grid;grid-template-columns:45px 1fr;gap:15px;font-size:12px;border-bottom:1px solid var(--line);padding:12px 0}.hidden-row strong{color:var(--gold)}.bar-row{display:grid;grid-template-columns:65px 1fr 65px;gap:12px;align-items:center;font-size:12px;margin:12px 0}.bar{height:9px;background:#ffffff0d;border-radius:9px;overflow:hidden}.bar span{display:block;height:100%;background:var(--gold)}.warning{font-size:13px;padding:14px;background:#ccae7712;border-left:3px solid var(--gold);margin-top:20px}.method{padding:70px 65px}.method h2{font-size:38px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;color:#b9c3d1;font-size:14px}.cta{text-align:center;border-block:1px solid var(--line);padding:55px 25px;background:#1b2940}.cta h2{font-size:35px}.cta p:last-child{font-size:12px;color:var(--muted);margin-top:24px}footer{padding:30px 36px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}#error{color:#ffb6a5;font-size:13px}[hidden]{display:none!important}@media(max-width:850px){.hero{padding:40px 25px;gap:25px}.hero img{max-width:220px}.workspace{grid-template-columns:1fr;margin:0 16px}aside{border-right:0;border-bottom:1px solid var(--line)}.method{padding:45px 25px}.method-grid{grid-template-columns:1fr;gap:0}.edition{display:none}}@media(max-width:500px){header{padding:20px}.hero{grid-template-columns:1fr}.hero img{display:none}.results{padding:22px 14px}.result-head{flex-direction:column}.pillars{gap:5px}.pillar{padding:12px 3px}.pillar small{font-size:9px}.han{font-size:30px}.empty-symbols{font-size:30px}.cta h2{font-size:28px}footer{display:block}footer span{display:block;margin-top:10px}}

/* Element colors and traditional visual order: hour, day, month, year. */
.element-box{border-radius:4px;margin:12px 0;padding:8px 3px;min-height:143px}.element-box .han,.element-box small{color:inherit}.pillar .title,.hidden-column .title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}#hidden-stems{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hidden-column{min-width:0}.hidden-column .title{text-align:center;margin-bottom:10px}.hidden-chip{border-radius:4px;padding:9px 5px;text-align:center;margin-bottom:8px}.hidden-han{font:27px/1.4 'Songti SC',serif;display:block}.hidden-chip strong{font-size:12px}.hidden-chip small{color:inherit;font-size:10px;line-height:1.45;margin-top:3px}@media(max-width:500px){#hidden-stems{gap:5px}.hidden-chip{padding:8px 3px}.hidden-chip small{font-size:9px}.element-box{min-height:136px}.pillar p{font-size:11px}}

select{width:100%;padding:12px;border:1px solid #8b96a8;border-radius:8px;background:#fff;color:#111b2d;font:inherit;margin-bottom:16px}#family{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#family p{padding:10px;border:1px solid #777;border-radius:6px;margin:0}

.unknown-time{display:flex;align-items:center;gap:10px;margin:18px 0 8px;cursor:pointer}.unknown-time input{width:20px;height:20px;min-height:20px;margin:0;flex-shrink:0;accent-color:#ccae77}#time:disabled{opacity:.45;cursor:not-allowed}
