:root{color-scheme:light;--ink:#203f3a;--muted:#63716a;--gold:#a47b2f;--line:#dcd8c6;--green:#225b4d;--paper:#fffdf6;--shadow:0 18px 50px #31514314;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:radial-gradient(ellipse at 15% 0%,#fff5cf99,transparent 35%),linear-gradient(135deg,#f6f6ee,#f0f6f1 50%,#fcf7ea);color:var(--ink);font:16px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd9743;outline-offset:3px}[hidden]{display:none!important}.topbar{min-height:80px;padding:14px max(24px,calc((100% - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d8c79880;background:#fffdf4e8}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:800;letter-spacing:2px;line-height:1.3;font-size:17px}.brand-sub{display:block;font-size:10px;letter-spacing:5px;color:var(--gold)}nav{display:flex;gap:10px;align-items:center}.topbar nav a{text-decoration:none;padding:9px 15px;border:1px solid transparent;border-radius:99px;font-weight:650;font-size:14px}.topbar nav a:hover{background:#e8efdf}.topbar .account{border-color:#ba9a53;background:#fff9e6}main{max-width:1440px;margin:auto;padding:30px 24px 70px}.hero{position:relative;display:grid;grid-template-columns:1.2fr 1fr;min-height:350px;overflow:hidden;border:1px solid #c5b77d;border-radius:24px;background:linear-gradient(115deg,#fdf9e7,#eaf1e3);box-shadow:var(--shadow),inset 0 1px 0 #fff}.hero-content{padding:42px 38px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:750;color:#927033;margin:0 0 12px}h1{font:700 clamp(42px,5vw,68px)/1.18 var(--serif);letter-spacing:-1.8px;margin:0 0 18px}h1 span{color:#9a762e}h2{font:700 29px/1.3 var(--serif);margin:0 0 15px}h3{font-size:19px;line-height:1.45}p{margin:0 0 14px}.intro{font-size:18px;color:#4d6456}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.chips span,.pill{font-size:12px;border:1px solid #c8bd9580;background:#fffaf0d9;border-radius:999px;padding:5px 10px}.hero-cta{font-weight:750;text-decoration:none;display:inline-flex;gap:24px;color:#365b42;border-bottom:1px solid #b99b4c;padding-bottom:5px}.hero-art{position:relative;min-height:350px}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eaf1e3,transparent 24%);z-index:1}.hero-art img{width:100%;height:100%;object-fit:cover;position:absolute}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:25px;align-items:start;margin-top:32px}.form-panel{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.muted{color:var(--muted);font-size:14px}.form-panel h2{font-size:26px}label{display:block;font-size:13px;font-weight:700;margin:15px 0 0}.optional{font-weight:400;color:var(--muted)}input,select{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid #bbc7b7;border-radius:8px;padding:10px;background:#fffefa;color:#243f38;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}small,.hint{font-size:12px;color:#6c7569}.checkline{display:flex;gap:8px;align-items:center}.checkline input{width:18px;height:18px;min-height:0;margin:0}.settings{border-top:1px solid var(--line);margin:21px 0;padding-top:17px}.settings summary{cursor:pointer;font-size:14px;font-weight:700}.settings summary span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin:5px 0 0 17px}.hint{margin-top:8px}.primary{background:linear-gradient(145deg,#36785e,#174b40);border:1px solid #527d58;box-shadow:inset 0 1px 0 #ffffff42,0 5px 12px #214e3e20;color:#fff9df;border-radius:10px;padding:13px 16px;font-weight:750;transition:transform .16s,box-shadow .16s}.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff42,0 8px 20px #214e3e33}#calculate{width:100%;margin-top:2px}#calculate span{color:#f6db7b;margin-right:4px;font-size:20px}.privacy-note{font-size:11px;color:#778072;line-height:1.65;margin:14px 0}.file-label{font-size:12px;text-decoration:underline;cursor:pointer;color:#446854}#import-file{font-size:11px;max-width:100%;padding:6px}.result-panel{min-width:0}#status{font-size:14px;color:#566e5c;padding:11px 15px;border:1px solid #d3decc;background:#f7faf1;border-radius:10px}#status.error{color:#9f3329;background:#fff3ef;border-color:#edc5b7}.empty-state{padding:45px 34px 40px;text-align:center;border:1px solid #c6cdb9;border-radius:18px;background:radial-gradient(circle at 50% 30%,#fff6d8,#fafdf7 50%,#edf3e9);box-shadow:var(--shadow);min-height:530px}.empty-state p{max-width:520px;margin:12px auto 20px;color:#607361}.orb{width:142px;height:142px;margin:0 auto 30px;display:grid;place-items:center;font-family:var(--serif);font-size:34px;color:#8a6b30;background:radial-gradient(circle at 35% 25%,#fffef3,#f0dfa4 53%,#b59746);border:5px double #bbaa6b;border-radius:50%;box-shadow:inset -8px -12px 24px #7a6b4240,0 18px 25px #6b754625,0 0 0 15px #ceb36610,0 0 0 30px #ceb36609}.empty-features{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:36px;color:#69806e;font-size:12px}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 14px}.result-heading h2{margin:0;font-size:30px;overflow-wrap:anywhere}.summary{background:#eaf1e5;border-left:3px solid #91ac80;padding:15px 18px;border-radius:8px;font-size:14px}.summary p{margin:0 0 4px}.warnings{margin:12px 0;padding:12px 16px;border:1px solid #e2c577;border-radius:10px;background:#fff6db;font-size:13px}.export-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 8px}.export-bar button,.dialog-toolbar button{padding:9px 12px;border:1px solid #bac6b0;border-radius:8px;background:#fffaf0;color:#335a45;font-weight:650;font-size:13px}.export-bar .primary{background:linear-gradient(140deg,#3b775a,#1c5142);color:#fff6d6}.quality{font-size:11px;margin:0;display:flex;gap:7px;align-items:center}.quality select{margin:0;font-size:12px;min-height:38px;padding:5px;width:auto}.chart-preview{margin:15px 0 22px;padding:10px;background:#fffef7;border-radius:14px;border:1px solid #ccbd8d;box-shadow:var(--shadow)}.chart-preview img{display:block;width:100%;height:auto;cursor:zoom-in}.chart-preview figcaption{text-align:center;font-size:11px;color:var(--muted);padding:8px 0 0}.section-nav{flex-wrap:wrap;border-top:1px solid #c8ceb9;border-bottom:1px solid #c8ceb9;padding:13px 0;gap:20px;margin:20px 0}.section-nav a{font-size:14px;font-weight:700;text-decoration:none;color:#416549}.reading-section{margin:25px 0;padding:25px 27px;border:1px solid var(--line);background:#fffdf7;border-radius:14px;overflow-wrap:anywhere}.reading-section p{font-size:15px}.palace-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.palace-tabs button{padding:9px 12px;border:1px solid #c6cbb8;background:#f3f6ed;border-radius:8px;color:#45624c;font-size:13px;font-weight:650}.palace-tabs [aria-selected=true]{background:#285b49;color:#fff7d8;border-color:#285b49}.palace-header{padding:16px 19px;background:linear-gradient(120deg,#eef2e3,#faf3db);border-radius:10px;margin:20px 0}.palace-header h3{margin:0 0 5px}.palace-header p{margin:0;font-size:13px}.rule{border-top:1px solid #e4e7d9;padding:17px 0 0;margin-top:16px}.rule h4{font-size:15px;margin:0 0 7px;color:#426747}.rule p{margin-bottom:8px}.evidence{font-size:12px!important;color:#7b775f!important}.star-details{margin-top:22px;border:1px solid #d2d8c3;border-radius:10px;padding:15px}.star-details summary{font-weight:700;cursor:pointer}.star-list{list-style:none;padding:0;margin-bottom:0}.star-list li{padding:10px 0;border-top:1px solid #e4e6d8;font-size:14px}.star-list b{display:block;color:#4e704e}.table-wrap{max-width:100%;overflow:auto;margin-top:15px;border:1px solid #d6dbc8;border-radius:8px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #e3e7d9}th{background:#e9eedf;color:#37563e}tr.active td{background:#fff1c6;font-weight:700}footer{max-width:850px;text-align:center;margin:auto;padding:35px 25px 40px;border-top:1px solid #d2d6c3;color:#77806b;font-size:13px}footer p{margin:14px 0}.brand-link{color:#8c702f;font-weight:750;text-decoration:none}dialog{padding:0;max-width:96vw;max-height:94vh;border:1px solid #b5a05c;border-radius:14px;background:#f9f6e9;color:#244739}dialog::backdrop{background:#0e221be0}.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px}.zoom-scroll{overflow:auto;max-height:calc(94vh - 70px)}.zoom-scroll img{display:block;max-width:none;width:1800px}.reading-section li{margin-bottom:8px}@media(max-width:1050px){.workspace{grid-template-columns:300px minmax(0,1fr);gap:18px}.form-panel{padding:20px}.hero-content{padding:34px 28px}.hero .eyebrow{font-size:10px}.chips span{font-size:10px}.reading-section{padding:22px 18px}}@media(max-width:760px){main{padding:18px 14px 42px}.topbar{padding:13px 15px;gap:10px;flex-wrap:wrap}.brand{font-size:14px}.brand img{width:32px;height:32px}.topbar nav{gap:1px}.topbar nav a{padding:7px 9px;font-size:12px}.hero{grid-template-columns:1fr;min-height:0;border-radius:17px}.hero-content{padding:30px 25px 33px;background:linear-gradient(100deg,#faf8e8,#eff2e2e6);z-index:2}.hero-art{position:absolute;inset:0;opacity:.15;min-height:0}.hero-art:before{display:none}h1{font-size:49px}.intro{font-size:16px}.workspace{grid-template-columns:1fr;margin-top:22px}.form-panel{padding:23px}.form-row{gap:13px}.result-heading h2{font-size:25px}.reading-section{padding:23px 18px}.empty-state{min-height:380px;padding:36px 24px}.orb{width:115px;height:115px;font-size:28px}.section-nav{gap:19px}.section-nav a{font-size:13px}.export-bar button{flex:1 0 auto}.chart-preview{padding:4px}.summary{font-size:13px}.zoom-scroll img{width:1400px}.privacy-note{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.lunar-fields{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px}.lunar-fields input{padding:10px 7px}
