:root{color-scheme:light;--ink:#292a24;--muted:#838278;--accent:#8c5943;--line:#d9d5cb}*{box-sizing:border-box}body{margin:0;background:#eeebe3;color:var(--ink);font-family:'Helemate Noto Serif SC','Songti SC',serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.brandbar{max-width:1140px;margin:auto;padding:30px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:26px;font-weight:650;letter-spacing:.1em}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.24em;margin-top:4px;color:var(--muted)}.brandbar>a:last-child{font-size:14px}main{max-width:1050px;margin:64px auto 72px;display:grid;grid-template-columns:1fr 1.15fr;gap:80px;padding:0 28px}.kicker,.result-kicker{color:var(--muted);font-size:12px;letter-spacing:.15em}.intro h1{font-size:70px;line-height:1.2;letter-spacing:.08em;font-weight:500;margin:36px 0 26px;position:relative;width:max-content}.seal{position:absolute;right:-49px;bottom:9px;font-size:13px;writing-mode:vertical-rl;letter-spacing:.15em;border:1px solid #a46d57;color:#a46d57;padding:7px 4px}.lead{font-size:17px;line-height:2}.balance{width:230px;stroke:#8c8065;stroke-width:1.2;display:block;margin:26px 0 16px}.aside-note{font-size:12px;color:var(--muted);line-height:1.9}.paper{align-self:start;position:relative;background:#faf9f5;padding:32px 38px 24px;box-shadow:0 8px 25px #39332608;border:1px solid #e3e0d6}.paper:before{content:'';position:absolute;left:7px;right:7px;bottom:-6px;border-bottom:1px solid #dedacf;z-index:-1}.paper-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px;font-size:17px}.folio{font-size:11px;color:var(--muted);writing-mode:vertical-rl;letter-spacing:.2em}label{display:block;font-size:14px;margin:25px 0 10px}label small{font-size:12px;color:var(--muted);margin-left:8px}input,select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;padding:12px 3px;border:0;border-bottom:1px solid #bfbdb2;border-radius:0;background:transparent;font-size:18px;outline-offset:3px}input:focus,select:focus{outline:1px solid var(--accent)}.hint{font-size:12px;line-height:1.9;color:var(--muted)}.submit{margin:28px 0 16px;width:100%;display:flex;justify-content:space-between;padding:16px 20px;background:#303a33;border:0;color:#f4efdf;font-size:18px;cursor:pointer}.submit:hover{background:#424c43}.submit:active{transform:translateY(1px)}details{margin-top:24px;border-top:1px solid var(--line);padding-top:17px;font-size:12px;line-height:1.9;color:var(--muted)}summary{cursor:pointer;color:var(--ink)}details a{color:var(--accent)}#error{color:#9c4636;font-size:13px}#result{text-align:center;outline:none}#lunar-date{font-size:13px;color:var(--muted)}#weight{font-size:44px;letter-spacing:.05em;color:var(--accent);font-weight:500;margin:22px 0}.poem{font-size:20px;line-height:2.1;letter-spacing:.12em}.poem p{margin:0}.traditional-note{font-size:11px;color:var(--muted);margin:20px 0 25px}dl{margin:0;padding-top:12px;border-top:1px solid var(--line);text-align:left}dl>div{display:grid;grid-template-columns:45px 1fr auto;align-items:baseline;padding:10px 0;font-size:13px}dt{color:var(--muted)}dd{margin:0}.text-button{background:none;border:0;border-bottom:1px solid var(--accent);padding:8px 0;color:var(--accent);cursor:pointer;margin-top:12px}footer{max-width:1084px;padding:22px 28px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:700px){.brandbar{padding:19px 22px}.brand{font-size:23px}main{margin:26px auto 36px;display:block;padding:0 22px}.intro .kicker{font-size:11px}.intro h1{font-size:40px;line-height:1.25;margin:14px 0;letter-spacing:.08em}.intro h1 br{display:none}.seal{font-size:10px;right:-35px;bottom:3px;padding:4px 3px}.lead{font-size:13px;line-height:1.8;margin:0 0 24px}.lead br{display:none}.balance,.aside-note{display:none}.paper{padding:22px 24px}.paper-head{margin-bottom:18px;font-size:16px}label{margin-top:19px}input,select{font-size:16px}.submit{margin-top:23px}#weight{font-size:36px}.poem{font-size:18px;letter-spacing:.08em}footer{margin:0 22px;padding:20px 0;flex-direction:column;gap:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.profile-entry{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.profile-entry .text-button{margin:0;font-size:13px}#tool-dialog{width:min(620px,calc(100vw - 32px));max-height:85dvh;padding:0;border:1px solid var(--line);background:#faf9f5;color:var(--ink)}#tool-dialog::backdrop{background:#292a2466}#tool-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}#tool-dialog h2{font-size:21px;font-weight:500;margin:0}#close-tool-dialog{border:0;background:none;font-size:28px;width:44px;height:44px}#tool-dialog-body{padding:20px 24px;max-height:calc(85dvh - 85px);overflow:auto} .profile-choice{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:15px 0;cursor:pointer}.profile-choice strong,.profile-choice small{display:block}.profile-choice strong{font-weight:500;font-size:18px}.profile-choice small{font-size:12px;color:var(--muted);margin-top:8px}.reference-tabs{display:flex;gap:20px}.reference-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;cursor:pointer}.reference-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.reference-poem{text-align:center;font-size:18px;line-height:2;margin:26px 0}.weight-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.weight-table>div{display:flex;justify-content:space-between;font-size:12px;gap:4px}#tool-dialog-body h3{font-weight:500;font-size:16px;margin-top:26px}
