/* [INPUT]: 页面语义结构。[OUTPUT]: 桌面与移动端统一的六爻视觉。
 * [POS]: 只控制呈现，不参与起卦或报告。
 * [PROTOCOL]: 变更时更新此头部，然后检查 CLAUDE.md */
:root{--paper:#f7f5ef;--card:#fffefa;--ink:#292f2b;--sub:#74796e;--line:#e1e2d8;--accent:#365a46;--red:#9b4b35;--serif:"Songti SC","Noto Serif CJK SC",serif;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #93ab87;outline-offset:4px}[hidden]{display:none!important}header{max-width:1180px;margin:auto;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;display:flex;gap:13px;align-items:center;font-family:var(--serif);font-size:25px;letter-spacing:4px}.seal{background:var(--red);color:white;font-size:13px;line-height:1.05;padding:7px 6px;border-radius:3px;letter-spacing:0}.header-note{font-size:13px;color:var(--sub)}main{max-width:1180px;margin:auto;padding:0 32px}.intro{padding:42px 0 27px}.intro h1{font-family:var(--serif);font-size:36px;letter-spacing:2px;font-weight:500;margin:0 0 10px}.intro p{margin:0;color:var(--sub);font-size:15px}.modes{display:flex;gap:8px;margin-bottom:25px;max-width:490px}.modes button{border:1px solid var(--line);border-radius:8px;background:transparent;text-align:left;flex:1;padding:13px 18px;color:var(--sub)}.modes button.active{border-color:var(--accent);background:var(--accent);color:white}.modes b{display:block;font-size:16px;font-weight:500}.modes span{font-size:12px;opacity:.8}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:28px;align-items:start}.form-panel{padding:26px;background:var(--card);border:1px solid var(--line);border-radius:10px}h2{font-size:19px;font-weight:500;margin:0 0 9px}.muted{color:var(--sub);font-size:13px;margin:0 0 23px}label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.date-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px}input,select,textarea{width:100%;min-width:0;border:1px solid #d9dcd1;background:#fff;color:var(--ink);border-radius:5px;padding:10px;font-size:14px}input:focus,textarea:focus,select:focus{outline:2px solid #96ad8d;outline-offset:1px}textarea{min-height:96px;resize:vertical}.hint{font-size:12px;color:var(--sub);margin:10px 0 22px;line-height:1.65}.primary,.secondary{border-radius:5px;padding:12px 17px;font-size:14px}.primary{border:1px solid var(--accent);background:var(--accent);color:white;display:flex;justify-content:space-between;align-items:center}.secondary{border:1px solid var(--line);background:var(--card);color:var(--accent)}.wide{width:100%}.privacy{border-top:1px solid var(--line);padding-top:18px;font-size:11px;color:var(--sub);margin:22px 0 0}.result-panel{min-height:450px;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.empty{padding:75px 25px 60px;text-align:center}.empty h2{font-family:var(--serif);font-size:23px;letter-spacing:1px}.empty p{font-size:13px;color:var(--sub)}.hex-mark{width:66px;margin:0 auto 30px;display:grid;gap:7px}.hex-mark i{height:5px;background:#9ca792}.hex-mark i:nth-child(2n){background:linear-gradient(to right,#9ca792 42%,transparent 42%,transparent 58%,#9ca792 58%)}.steps{display:flex;justify-content:center;gap:20px;border-top:1px solid var(--line);margin-top:35px;padding-top:24px;font-size:11px;color:var(--sub)}footer{font-size:11px;color:var(--sub);padding:26px 0 35px}footer #about-text{max-width:800px;margin-top:16px}.text-button{border:0;background:none;color:var(--accent);font-size:12px;padding:5px 0;margin-left:8px;text-decoration:underline;text-underline-offset:4px}.coins{display:flex;gap:18px;justify-content:center;margin:23px 0}.coins i{font-family:var(--serif);font-style:normal;width:48px;height:48px;border:2px solid #b99c5d;border-radius:50%;display:grid;place-items:center;color:#8e763e;box-shadow:inset 0 0 0 3px #f5efdf}.manual-row{display:flex;align-items:center;gap:12px;margin-top:9px;font-size:13px}.manual-row label{margin:0;min-width:40px}.error{font-size:13px;color:var(--red)}.report-head{padding:27px 28px 19px;border-bottom:1px solid var(--line)}.report-head h2{font-family:var(--serif);font-size:28px;letter-spacing:2px}.report-head p{font-size:12px;color:var(--sub);margin:8px 0 0}.report-body{padding:22px 28px}.chart{width:100%;border-collapse:collapse;font-size:12px;margin:0 0 24px}.chart th{font-weight:400;font-size:11px;color:var(--sub);padding:7px 3px;text-align:left}.chart td{padding:10px 3px;border-top:1px solid var(--line)}.chart tr.moving{background:#f4f0e4}.yao{display:inline-flex;width:45px;gap:7px;align-items:center;vertical-align:middle}.yao i{height:4px;background:var(--ink);flex:1}.yang i:last-child{display:none}.mark{color:var(--red);font-size:11px;margin-left:5px}.entry{margin:0;padding:16px 0;border-bottom:1px solid var(--line)}.entry h3{font-size:13px;font-weight:500;margin:0 0 6px;color:var(--accent)}.entry p{font-size:14px;margin:0;white-space:pre-wrap}.entry small{display:block;font-size:10px;color:var(--sub);margin-top:7px;overflow-wrap:anywhere}.report-body details{border-top:1px solid var(--line);padding:16px 0;font-size:13px}summary{cursor:pointer;color:var(--accent)}.rules{white-space:pre-wrap;font-size:13px;line-height:1.9}.boundary{font-size:12px;color:var(--sub);line-height:1.9;margin:20px 0}.actions{display:flex;gap:10px;margin:24px 0 16px}.ai-status{font-size:12px;color:var(--sub)}.highlights{border-left:3px solid var(--accent);padding-left:16px;margin:18px 0}.highlights .entry:last-child{border-bottom:0}.technical{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.print-title{display:none}@media(max-width:800px){header{padding:18px 20px}main{padding:0 20px}.intro{padding-top:28px}.intro h1{font-size:28px}.workspace{grid-template-columns:1fr;gap:20px}.form-panel{padding:22px}.result-panel{min-height:0}.empty{padding:38px 18px}.modes{max-width:none}.report-head,.report-body{padding:22px 18px}.header-note{font-size:11px}.chart{font-size:10px}.chart th{font-size:10px}.chart td{padding:10px 2px}.yao{width:30px;gap:5px}.steps{gap:12px}.actions{flex-wrap:wrap}.report-head h2{font-size:25px}}@media print{header,.intro,.modes,.form-panel,footer,.actions,#ai-status{display:none}main{max-width:none;padding:0}.workspace{display:block}.result-panel{border:0}.report-body details{display:block}.entry{break-inside:avoid}body{background:white}.report-body{padding:0}.report-head{padding:0 0 20px}.boundary{color:#444}}
