:root{font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;color:#202a2a;background:#f5f6f3;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#202a2a;--muted:#6e7975;--line:#dce2dc;--green:#24584c;--light-green:#e7efea;--red:#b45742;--paper:#fff}
*{box-sizing:border-box}body{margin:0;min-width:320px}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1180px)/2));background:#fafbf9}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-family:"Noto Serif SC",serif;font-size:16px;font-weight:600}.brand small{display:block;color:var(--muted);font:11px "Noto Sans SC",sans-serif;margin-top:3px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--green);color:var(--green);font-size:18px}.edition,.eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--muted)}main{max-width:1180px;padding:0 24px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:49px 0 40px;border-bottom:1px solid var(--line)}.intro-copy{max-width:720px}.intro .eyebrow{color:var(--green);margin:0 0 12px}.intro h1{font:500 34px/1.4 "Noto Serif SC",serif;margin:0 0 10px}.intro h1 span{color:var(--green)}.intro-copy>p:last-child{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.intro-seal{width:95px;height:95px;border:1px solid #a3b9ad;border-radius:50%;color:var(--green);display:grid;place-content:center;text-align:center;font-family:"Noto Serif SC",serif;transform:rotate(-9deg);position:relative}.intro-seal span{font-size:22px}.intro-seal i{font-style:normal;font-size:10px;letter-spacing:4px;margin:3px}.intro-seal b{font-size:9px;font-weight:400;letter-spacing:3px}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);border-bottom:1px solid var(--line);min-height:570px}.input-panel{padding:29px 28px 25px 0;border-right:1px solid var(--line)}.panel-head,.result-top{display:flex;align-items:center;justify-content:space-between}.panel-head{margin-bottom:25px}.panel-head .eyebrow,.result-top .eyebrow{color:var(--green)}h2{font:500 20px "Noto Serif SC",serif;margin:6px 0 0}.step-number{font:12px Georgia;color:#a3ada7}.field-label,legend,.form-fields>label{font-size:12px;color:#394541}.field-label{display:block;margin-bottom:8px}textarea,input,select{font:13px inherit;color:var(--ink)}textarea{width:100%;resize:vertical;min-height:76px;border:1px solid var(--line);background:var(--paper);padding:11px 12px;line-height:1.7;outline:none}textarea:focus,input:focus,select:focus{border-color:#6e9885}.method-switch{border:0;padding:0;margin:22px 0 18px;display:flex;gap:8px}.method-switch legend{margin-bottom:9px}.method-switch label{cursor:pointer}.method-switch input{position:absolute;opacity:0}.method-switch span{display:block;border:1px solid var(--line);padding:9px 14px;font-size:12px;color:var(--muted);background:#fafbf9}.method-switch input:checked+span{border-color:var(--green);background:var(--light-green);color:var(--green)}.field-note{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 12px}.field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}.field-row label,.form-fields>label{display:block;font-size:11px;color:var(--muted)}input,select{display:block;width:100%;height:37px;border:1px solid var(--line);background:var(--paper);padding:0 9px;margin-top:6px;border-radius:0}.number-row{grid-template-columns:1fr 1fr}.optional{font-size:10px;color:#9aa39e;margin-left:5px}.cast-button{width:100%;height:46px;border:0;background:var(--green);color:white;display:flex;justify-content:space-between;align-items:center;padding:0 15px;margin-top:21px;font-size:13px;cursor:pointer}.cast-button:hover{background:#19473d}.cast-button span:last-child{font-size:18px}.privacy-note{font-size:10px;color:var(--muted);margin:13px 0}.privacy-dot{display:inline-block;width:6px;height:6px;background:#589172;border-radius:50%;margin:0 6px 1px 0}.result-panel{padding:30px 0 30px 34px;min-width:0}.empty-state{height:100%;min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-glyph{font:54px/1 "Noto Serif SC",serif;color:#789183;position:relative;margin-bottom:27px}.empty-glyph span{font-size:25px;position:absolute;right:-17px;bottom:-8px;color:#b45742}.empty-state .eyebrow{color:var(--green)}.empty-state h2{font-size:22px;margin:8px 0}.empty-state>p:last-child{font-size:12px;color:var(--muted);margin:0}.result-top{margin-bottom:12px}.icon-button{width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--green);font-size:18px;cursor:pointer}.question-echo{margin:0 0 18px;font-size:12px;color:var(--muted);border-left:2px solid #91aa9b;padding:5px 10px}.hexagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:white}.hex-card{padding:16px;border-right:1px solid var(--line);min-width:0}.hex-card:last-child{border:0}.hex-label{font-size:10px;color:var(--muted)}.hex-name{font:500 17px "Noto Serif SC",serif;margin:7px 0 12px}.hex-name small{display:block;font:11px "Noto Sans SC",sans-serif;color:var(--muted);margin-top:5px}.lines{display:flex;flex-direction:column-reverse;gap:5px;width:48px}.hex-card .lines{margin:0 auto}.line{height:5px;width:48px;background:var(--ink);position:relative}.line.broken{background:linear-gradient(90deg,var(--ink) 0 42%,transparent 42% 58%,var(--ink) 58%)}.line.moving:after{content:"";position:absolute;width:7px;height:7px;border:1px solid var(--red);border-radius:50%;right:-12px;top:-2px;background:white}.reading-section{margin-top:23px}.section-heading{display:flex;align-items:center;gap:12px;font:500 13px "Noto Serif SC",serif}.section-rule{height:1px;background:var(--line);flex:1}.audit-list{list-style:none;padding:0;margin:12px 0 0;counter-reset:steps}.audit-list li{counter-increment:steps;display:grid;grid-template-columns:24px 1fr;gap:8px;font-size:12px;line-height:1.8;margin:7px 0;color:#48534e}.audit-list li:before{content:counter(steps,decimal-leading-zero);font:10px Georgia;color:var(--green);padding-top:3px}.relation-block{padding:12px 14px;background:#edf3ef;font-size:12px;line-height:1.8;color:#344c42;margin-top:12px}.relation-block strong{color:var(--green)}.interpretation{font-size:12px;line-height:1.9;color:#48534e;margin-top:10px}.interpretation p{margin:7px 0}.caution{border-left:2px solid #c88b55;padding-left:10px;color:#776047}.result-footer{border-top:1px solid var(--line);margin-top:22px;padding-top:11px;display:flex;justify-content:space-between;font-size:10px;color:#89938e}.knowledge-strip{display:grid;grid-template-columns:1fr 1.3fr auto;gap:20px;align-items:center;padding:22px 0 35px}.knowledge-strip .eyebrow{color:var(--green)}.knowledge-strip h2{font-size:16px}.knowledge-strip>p{font-size:11px;color:var(--muted);line-height:1.8}.knowledge-strip>a{font-size:11px;color:var(--green);text-decoration:none;border-bottom:1px solid #a5b8ad;padding-bottom:5px;white-space:nowrap}.knowledge-strip>a span{margin-left:6px} [hidden]{display:none!important}
@media(max-width:760px){.topbar{height:62px;padding:0 18px}.edition{font-size:9px}main{padding:0 18px}.intro{padding:35px 0 28px}.intro h1{font-size:26px}.intro-copy>p:last-child{max-width:440px;font-size:12px}.intro-seal{width:70px;height:70px;flex:none;margin-left:12px}.intro-seal span{font-size:18px}.intro-seal b{font-size:8px}.workspace{display:block}.input-panel{padding:24px 0 17px;border-right:0;border-bottom:1px solid var(--line)}.result-panel{padding:24px 0}.empty-state{min-height:300px}.knowledge-strip{grid-template-columns:1fr auto;gap:5px 15px;padding:20px 0 28px}.knowledge-strip>p{grid-column:1;grid-row:2;margin:4px 0}.knowledge-strip>a{grid-column:2;grid-row:1/3}.hex-card{padding:12px 8px}.hex-name{font-size:14px}.hex-name small{font-size:10px}.result-footer{gap:12px;flex-wrap:wrap}}
@media(max-width:420px){.intro-seal{display:none}.intro h1{font-size:24px}.field-row{gap:6px}.hex-card{padding:10px 5px}.hex-name{font-size:12px}.hex-label{font-size:9px}.result-panel{padding-top:20px}.section-heading{font-size:12px}}
