:root{--bg: #f2efe6;--paper: #fffdf8;--paper-2: #fdfaf1;--line: #e3ddcb;--line-soft: #f0ebdd;--ink: #23211d;--ink-2: #3b3630;--ink-3: #6f685c;--muted: #9a9184;--faint: #b4ad9b;--green: #2f4739;--green-2: #40604b;--green-soft: #e6efe8;--gold: #c9a227;--gold-2: #7a6a3f;--gold-soft: #f4ead2;--danger: #a83a26;--danger-soft: #fbeeea;--wood: #2f6b47;--fire: #b23a26;--earth: #96692a;--metal: #cca400;--water: #2c5a86;--radius-lg: 22px;--radius: 18px;--radius-sm: 12px;--shadow: 0 10px 30px rgba(96, 84, 56, .1);--shadow-sm: 0 4px 14px rgba(96, 84, 56, .07);--header-h: 60px;--tabbar-h: 58px;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-serif: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 50% -200px,#fbf7ec,#fbf7ec00 70%),var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--green);text-decoration:none}a.btn{text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}::selection{background:#c9a22740}:focus-visible{outline:2px solid rgba(47,71,57,.45);outline-offset:2px}#app{display:flex;min-height:100vh;flex-direction:column}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}.app-header{position:sticky;top:0;z-index:40;height:var(--header-h);border-bottom:1px solid rgba(227,221,203,.75);background:#f7f3e9e0;backdrop-filter:saturate(150%) blur(12px);-webkit-backdrop-filter:saturate(150%) blur(12px)}.app-header .wrap{display:flex;height:100%;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;min-width:0;color:var(--ink)}.brand-mark{display:block;width:34px;height:34px;flex:0 0 auto;border-radius:8px;background:linear-gradient(150deg,#3a5948,#314b3d 55%,#2b4335);box-shadow:inset 0 0 0 1px #edecdb14,inset 0 1px #ffffff1f,0 2px 7px #1e1b1733}.brand-mark:before{display:block;width:24px;height:24px;margin:5px;background:#edecdb;content:"";-webkit-mask:url(./logo-mark-DVeKFn48.png) center / contain no-repeat;mask:url(./logo-mark-DVeKFn48.png) center / contain no-repeat}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-family:var(--font-serif);font-size:19px;font-weight:700;letter-spacing:2px}.app-nav{display:none;align-items:center;gap:4px}.app-nav a{position:relative;padding:8px 14px;border-radius:999px;color:var(--ink-3);font-size:14px;letter-spacing:1px;transition:background .15s ease,color .15s ease}.app-nav a:hover{background:#2f47390f;color:var(--green)}.app-nav a[aria-current=page]{background:#2f473917;color:var(--green);font-weight:600}.app-main{flex:1 0 auto;padding:10px 0 calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom));animation:page-in .28s ease both}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tabbar{position:fixed;z-index:50;right:0;bottom:0;left:0;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid rgba(227,221,203,.9);background:#fbf8f0f7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tabbar-inner{display:flex;height:var(--tabbar-h);max-width:640px;margin:0 auto}.tab{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:var(--muted);font-size:11px;letter-spacing:.5px}.tab svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tab[aria-current=page]{color:var(--green);font-weight:600}.tab[aria-current=page] svg{stroke-width:2}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.page-title{margin-top:6px;font-family:var(--font-serif);font-size:clamp(28px,7vw,40px);font-weight:700;letter-spacing:4px;line-height:1.2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:14px;font-size:15px;font-weight:600;letter-spacing:1px;transition:transform .12s ease,background .15s ease,opacity .15s ease;user-select:none}.btn:active{transform:scale(.985)}.btn[disabled]{cursor:default;opacity:.55}.btn-primary{background:var(--green);color:#f7f4e8;box-shadow:0 8px 20px #2f47392e}.btn-primary:hover:not([disabled]){background:#27402f}.btn-ghost{border:1px solid #d8cdb8;background:transparent;color:var(--ink-3)}.btn-ghost:hover{background:#2f47390a}.btn-block{width:100%}.btn-sm{min-height:36px;padding:0 14px;border-radius:10px;font-size:13px;letter-spacing:.5px}.icon-btn{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;color:var(--ink-3)}.icon-btn:hover{background:#2f47390f}.field{display:flex;min-height:58px;align-items:center;gap:12px}.field+.field,.field-divider{border-top:1px solid var(--line-soft)}.field-label{width:96px;flex:0 0 auto;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:1px}.field-value{display:flex;flex:1;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.field-hint{padding:0 0 12px;color:var(--muted);font-size:12px;line-height:1.65}.text-input,.date-input,.time-input,.select-input{min-width:0;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);font-size:15px}.text-input:hover,.date-input:hover,.time-input:hover,.select-input:hover{background:#2f47390a}.text-input:focus,.date-input:focus,.time-input:focus,.select-input:focus{border-color:#cdbf9c;background:#fffefa;outline:none}.text-input{flex:1;text-align:right}.text-input::placeholder{color:var(--faint)}.date-input,.time-input,.select-input{font-variant-numeric:tabular-nums}.select-input{max-width:190px;background-color:#fbf8ef;border-color:var(--line);font-size:13px}.arrow{color:#c6bfae;font-size:18px;line-height:1}.segmented{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:#fbf8ef;gap:2px}.segmented button{padding:5px 12px;border-radius:999px;color:var(--ink-3);font-size:12.5px;line-height:1.5;white-space:nowrap;transition:background .15s ease,color .15s ease}.segmented button[aria-pressed=true]{background:var(--gold-soft);color:#6f551f;font-weight:600;box-shadow:inset 0 0 0 1px #b9a06a8c}.switch{position:relative;display:inline-flex;width:46px;height:27px;padding:3px;border:none;border-radius:999px;background:#dcd5c4;flex:0 0 auto;transition:background .18s ease}.switch:after{width:21px;height:21px;border-radius:50%;background:#fffdf7;box-shadow:0 1px 3px #23211d40;content:"";transition:transform .18s ease}.switch[aria-checked=true]{background:var(--green)}.switch[aria-checked=true]:after{transform:translate(19px)}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11px;line-height:1.6}.badge-green{background:var(--green-soft);color:var(--green)}.badge-gold{background:var(--gold-soft);color:#7a5f26}.error-banner{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:13px;line-height:1.6}.empty{display:flex;padding:44px 24px;align-items:center;flex-direction:column;border:1px dashed #ddd5c1;border-radius:var(--radius-lg);background:#fffdf899;text-align:center}.empty-title{color:#5f594e;font-size:15px;font-weight:600}.empty-desc{max-width:300px;margin-top:8px;color:var(--muted);font-size:13px;line-height:1.7}.empty .btn{margin-top:18px}.home-page{max-width:780px;margin:0 auto}.home-about{margin-top:18px}.form-card{padding:10px 20px 20px}.preview{margin-top:6px;padding:14px 16px;border-radius:12px;background:#f5f1e5}.preview-main{color:var(--green);font-size:16px;font-weight:700;letter-spacing:1px}.preview-hint{margin-top:5px;color:#8c8676;font-size:12px;line-height:1.65}.now-line{display:flex;justify-content:flex-end;padding:0 4px 2px}.now-link{color:var(--green);font-size:12.5px;text-decoration:underline;text-underline-offset:3px}.sub-block{margin-top:8px;padding-top:14px;border-top:1px dashed #ece5d4}.sub-head{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:12px}.sub-title{font-size:14px;font-weight:600;letter-spacing:1px}.sub-action{padding:4px 12px;border:1px solid #d8cfb8;border-radius:999px;color:var(--gold-2);font-size:12px;line-height:1.4}.sub-action:hover{background:#c9a22714}.sub-hint{display:block;margin-top:2px;color:var(--muted);font-size:11.5px;line-height:1.65}.solar-preview-text{display:block;margin-top:6px;color:var(--ink-3);font-size:12px;line-height:1.6}.solar-preview-text.is-error{color:var(--danger)}.locate-line{display:flex;margin-top:8px;align-items:baseline;justify-content:space-between;gap:12px}.locate-text{flex:1;color:var(--ink-3);font-size:12px;line-height:1.6}.locate-text.is-error{color:var(--danger)}.locate-action{color:var(--gold-2);font-size:12px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.side-card{padding:20px}.side-card+.side-card{margin-top:16px}.side-title{font-size:14px;font-weight:700;letter-spacing:1px}.side-list{display:grid;margin-top:12px;gap:10px}.side-list div{display:flex;gap:10px;color:var(--ink-3);font-size:12.5px;line-height:1.7}.side-list b{color:var(--gold-2);font-weight:600;flex:0 0 auto}.side-note{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-soft);color:var(--muted);font-size:11.5px;line-height:1.7}.chart-layout{display:flex;flex-direction:column;gap:16px}.chart-main,.chart-side{display:contents}.pan-head{order:1}.info-card{order:2}.quick-bar{order:3}.grid-wrap{order:4}.actions{order:5}.help-card{order:6}.pan-head{padding:2px 2px 16px}.pan-head-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px}.ju-text{font-family:var(--font-serif);font-size:clamp(26px,6.5vw,40px);font-weight:700;letter-spacing:3px;line-height:1.2}.tag-method{padding:1px 7px;border:1px solid #ddd3b9;border-radius:5px;color:#8a7b56;font-size:11px;letter-spacing:1px}.head-tag{color:var(--gold-2);font-size:12px}.head-note{margin-top:6px;color:#8a7b56;font-size:12px;letter-spacing:.5px}.head-solar{display:block;margin-top:4px;color:var(--muted);font-size:11.5px;line-height:1.6}.info-card{padding:14px 18px 16px}.info-row{display:flex;padding:6px 0;align-items:baseline;gap:12px}.info-label{width:66px;flex:0 0 auto;color:var(--muted);font-size:12px}.info-value{flex:1;min-width:0;color:var(--ink-2);font-size:13.5px;line-height:1.65;overflow-wrap:anywhere}.info-value .lunar{color:var(--ink-2);white-space:nowrap}.matter-edit{flex:0 0 auto;color:var(--muted);font-size:11.5px}.matter-edit:hover{color:var(--green);text-decoration:underline}.quick-bar{display:flex;padding:10px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-sm)}.quick-item{display:flex;flex:1;min-width:0;align-items:center;flex-direction:column;gap:2px}.quick-item+.quick-item{border-left:1px solid var(--line-soft)}.quick-label{color:var(--muted);font-size:11px}.quick-value{color:var(--ink-2);font-size:13px}.grid-wrap{padding:8px;border:1px solid #e2dac4;border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffefb,#fbf7ec);box-shadow:0 10px 28px #6054381f,0 2px 6px #6054380f}.grid{display:grid;overflow:hidden;border:1px solid #dcd4bd;border-radius:10px;box-shadow:inset 0 2px 10px #6e603e1a,inset 0 -1px 4px #6e603e0d;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}.cell{position:relative;display:flex;min-height:clamp(116px,30.5vw,190px);padding:clamp(6px,1.8vw,11px);border:1px solid transparent;border-top-color:#fffffdbf;border-left-color:#fffffd99;border-right-color:#7666424d;border-bottom-color:#76664261;flex-direction:column;box-shadow:inset 0 1px #ffffff8c,inset 0 -1px #78643c12}.cell-line{display:flex;align-items:baseline;justify-content:flex-start;gap:6px}.cell-line .star{margin-left:auto}.god{padding:0 4px;border:1px solid rgba(92,82,62,.24);border-radius:4px;background:#fff;color:#3a352f;font-size:clamp(10px,3vw,15px);font-weight:600;line-height:1.45;letter-spacing:.5px;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.65);box-shadow:0 1px 2px #3c301824,inset 0 1px #ffffffe6}.star,.door{padding:0 4px;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;font-size:clamp(10px,3vw,15px);font-weight:600;line-height:1.45;letter-spacing:.5px;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.22);box-shadow:0 1px 2px #3c30182e,inset 0 1px #ffffff3d}.star.is-zf,.door.is-zs{border-color:#d97a1f;box-shadow:0 0 0 1px #ffffffd9,0 0 0 3px #d97a1f,0 3px 8px #3c301838}.cell-core{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:2px}.gan-row{position:relative;display:flex;align-items:center;justify-content:center}.gan-row>.cs{position:absolute;top:50%;left:100%;margin-left:3px;transform:translateY(-50%)}.gan{font-size:clamp(17px,5.3vw,27px);font-weight:700;line-height:1.15;text-shadow:0 2px 2px rgba(255,255,255,.65)}.cs{padding:0 4px;border-radius:4px;font-size:clamp(8px,2.4vw,11px);font-weight:600;line-height:1.5;white-space:nowrap;box-shadow:0 1px 3px #6054381a}.gan-row>.ming-tag{position:absolute;top:50%;right:100%;margin-right:4px;transform:translateY(-50%)}.ming-tag{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border-radius:50%;background:var(--water);color:#fffdf7;font-size:10px;font-weight:600;line-height:1;flex:0 0 auto}.cell-core.is-dual{display:grid;grid-template-columns:auto auto;align-content:center;align-items:center;justify-content:center;column-gap:8px;row-gap:2px}.dual-row{display:flex;align-items:center;justify-content:flex-start;gap:2px;white-space:nowrap}.dual-row .ming-tag{margin-right:2px}.cell-foot{display:flex;margin-top:4px;align-items:flex-end;justify-content:space-between;gap:4px}.foot-left{display:flex;align-items:baseline;gap:5px;min-width:0}.rel{padding:0 5px;border-radius:4px;font-size:clamp(8px,2.4vw,11px);font-weight:600;line-height:1.55;box-shadow:0 1px 3px #6054381a}.an{color:var(--muted);font-size:clamp(9px,2.6vw,12px);line-height:1.4}.marks{display:flex;min-height:15px;margin-top:3px;align-items:center;gap:3px;flex-wrap:wrap}.mark{padding:0 4px;border-radius:4px;font-size:clamp(8px,2.3vw,10.5px);font-weight:600;line-height:1.5;box-shadow:0 1px 3px #6054381a}.cell-corner{position:absolute;right:7px;bottom:4px;color:#877d6e;font-size:clamp(8px,2.3vw,11px);line-height:1;letter-spacing:1px}.cell.is-center .cell-core{gap:4px}.center-note{color:#a49b8c;font-size:clamp(8px,2.2vw,11px);letter-spacing:.5px}.cell-foot.is-empty{min-height:20px}.help-card{padding:16px 18px 18px}.help-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.help-title{font-size:14px;font-weight:600;letter-spacing:1.5px}.help-sub{color:var(--faint);font-size:11px}.help-sec{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.help-label{color:var(--muted);font-size:11px;letter-spacing:1px}.help-item{display:flex;margin-top:7px;align-items:flex-start;gap:9px}.help-chip{width:22px;flex:0 0 auto;border-radius:4px;font-size:11px;font-weight:600;line-height:19px;text-align:center}.help-text{flex:1;color:var(--ink-3);font-size:11.5px;line-height:1.65}.help-note{display:block;margin-top:8px;color:var(--faint);font-size:11px;line-height:1.6}.legend{display:flex;margin-top:8px;align-items:center;flex-wrap:wrap;gap:12px}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:9px;height:9px;border-radius:50%}.legend-name{font-size:11.5px;font-weight:600}.cs-chips{display:flex;margin-top:8px;flex-wrap:wrap;gap:4px}.cs-chip{padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;line-height:21px}.actions{display:flex;margin-top:16px;flex-wrap:wrap;gap:10px}.actions #save-slot{display:flex;flex:1 1 100%}.actions .btn{flex:1 1 0}.saved-tip{display:flex;flex:1;height:46px;align-items:center;justify-content:center;border:1px dashed #d8cdb8;border-radius:14px;color:var(--gold-2);font-size:13px}.list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 2px 16px}.history-head{align-items:center}.history-title{display:flex;min-width:0;align-items:center;gap:2px}.back-btn{width:34px;height:34px;margin-left:-6px;color:var(--ink-3);font-size:22px}.record-list{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.record{display:flex;padding:16px 18px;align-items:center;gap:12px}.record+.record{border-top:1px solid var(--line-soft)}.record-main{display:flex;flex:1;min-width:0;color:inherit;flex-direction:column;gap:3px;text-align:left}.record:hover{background:#fbf8ef}.record-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.record-time{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums}.record-ju{color:var(--green);font-size:12px;font-weight:600;white-space:nowrap}.record-matter{color:var(--ink-2);font-size:12.5px;font-weight:600}.record-term,.record-meta{color:#8c8676;font-size:11.5px}.record-pillars{color:var(--ink-2);font-size:13px;letter-spacing:2px}.record-delete{flex:0 0 auto;padding:6px 8px;border-radius:8px;color:#a5442f;font-size:12px}.record-delete:hover{background:#a5442f14}.clear-row{display:flex;margin-top:16px;justify-content:center}.clear-link{color:#a5442f;font-size:12.5px;text-decoration:underline;text-underline-offset:3px}.modal-mask{position:fixed;z-index:90;inset:0;display:flex;padding:20px;align-items:center;justify-content:center;background:#23211d6b;backdrop-filter:blur(2px);animation:fade-in .18s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:360px;padding:22px;border-radius:20px;background:var(--paper);box-shadow:0 24px 60px #23211d47;animation:pop-in .2s ease both}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.modal-title{font-size:16px;font-weight:700;letter-spacing:1px}.modal-desc{margin-top:6px;color:var(--ink-3);font-size:13px;line-height:1.7}.modal-input{width:100%;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fffefa;font-size:14px}.modal-input:focus{border-color:#cdbf9c;outline:none}.modal-actions{display:flex;margin-top:18px;gap:10px}.modal-actions .btn{flex:1;min-height:42px;font-size:14px}.toast{position:fixed;z-index:100;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;max-width:82vw;padding:10px 18px;border-radius:999px;background:#23211de6;color:#f7f4e8;font-size:13px;line-height:1.5;text-align:center;transform:translate(-50%);animation:toast-in .22s ease both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toast.is-out{opacity:0;transform:translate(-50%,6px);transition:opacity .2s ease,transform .2s ease}@media(min-width:760px){.wrap{padding:0 28px}.app-main{padding:26px 0 40px}.tabbar{display:none}.app-nav{display:flex}.form-card{padding:12px 26px 24px}.field-label{width:104px}.cell{min-height:186px}}@media(min-width:960px){.chart-layout{display:grid;align-items:start;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.chart-main,.chart-side{display:flex;min-width:0;flex-direction:column;gap:16px}.pan-head,.info-card,.quick-bar,.grid-wrap,.actions,.help-card{order:0}.chart-side{min-width:0}.grid-wrap{width:100%;max-width:720px;margin:0 auto;padding:12px}.pan-head,.quick-bar,.actions{width:100%;max-width:720px;margin-right:auto;margin-left:auto}.cell{min-height:184px}.actions #save-slot{flex:1 1 0}.god,.star,.door{font-size:16px}.gan{font-size:28px}.cs{font-size:11.5px}.rel,.mark{font-size:11px}.an{font-size:12.5px}.cell-corner{font-size:11px}.list-page{max-width:760px;margin:0 auto}}@media(max-width:420px){.field-label{width:84px;font-size:13.5px}.date-input,.time-input{padding:8px 6px;font-size:14px}.segmented button{padding:5px 9px;font-size:12px}.pan-head-top{gap:6px 8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:350px){.cell-core.is-dual{grid-template-columns:1fr}}.landing{width:100%;max-width:680px;margin:clamp(8px,2vh,18px) auto 0}.entry-grid{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.entry-card{position:relative;display:flex;overflow:hidden;min-height:clamp(160px,24vw,190px);padding:20px 18px;align-items:flex-start;border:1px solid rgba(30,27,23,.34);border-radius:3px;background:#f1e2c4;color:#1e1b17;flex-direction:column;font-family:var(--font-serif);box-shadow:0 1px #fff9 inset;transition:border-color .2s ease,background .2s ease}.entry-card:before{position:absolute;inset:5px;border:1px solid rgba(30,27,23,.12);border-radius:1px;content:"";pointer-events:none}.entry-huangli,.entry-qimen{background:#f1e2c4}.entry-huangli:hover,.entry-qimen:hover{border-color:#9e3b2e80;background:#f5e8cf}.entry-seal{position:absolute;top:18px;right:18px;display:grid;width:24px;height:24px;place-items:center;border-radius:2px;background:#9e3b2e;color:#f8f2e4;font-family:var(--font-serif);font-size:13px;line-height:1;opacity:.92}.entry-icon{display:grid;width:48px;height:48px;margin-bottom:14px;place-items:center;border:1px solid rgba(30,27,23,.22);border-radius:2px;background:#9c6c26;box-shadow:inset 0 1px #ffffff3d,0 3px 8px #1e1b1729}.entry-icon svg{display:block;width:38px;height:38px}.entry-huangli .entry-icon{background:linear-gradient(160deg,#b5843a,#9a6a24)}.entry-qimen .entry-icon{background:linear-gradient(160deg,#3d5b4a,#28402f)}.entry-card:hover .entry-icon{filter:brightness(1.06)}.entry-title{font-size:clamp(19px,5.2vw,28px);font-weight:600;letter-spacing:clamp(2px,.7vw,5px);line-height:1.3}.entry-desc{margin-top:6px;color:#1e1b178f;font-size:11px;letter-spacing:1.4px;line-height:1.9}@media(min-width:760px){.landing{display:flex;min-height:calc(100vh - var(--header-h) - 150px);margin:0 auto;align-items:center}.entry-card{min-height:190px;padding:22px 22px 20px}.entry-icon{width:52px;height:52px;margin-bottom:22px}.entry-icon svg{width:30px;height:30px}.entry-desc{font-size:12.5px;letter-spacing:2px}}.almanac-page,.calendar-page{max-width:780px;margin:0 auto}.almanac-loading{padding:90px 0;color:var(--muted);font-size:13px;text-align:center}.almanac-top{position:relative;display:flex;min-height:68px;padding:2px 50px 8px;align-items:center;justify-content:center}.almanac-arrow{position:absolute;top:50%;z-index:1;display:grid;width:48px;height:48px;place-items:center;color:var(--ink-3);font-size:30px;line-height:1;transform:translateY(-50%)}.almanac-arrow-prev{left:-8px}.almanac-arrow-next{right:-8px}.almanac-title{text-align:center}.almanac-title b{display:block;font-family:var(--font-serif);font-size:clamp(21px,6.6vw,30px);font-weight:600;letter-spacing:1px;line-height:1.3;white-space:nowrap}.almanac-tools{display:flex;margin-bottom:14px;justify-content:center;gap:8px}.almanac-hero{padding:26px 20px 22px;background:radial-gradient(circle at 50% 0%,#fffdf7,#fbf6ea 70%);text-align:center}.hero-lunar{color:#8c2f24;font-family:var(--font-serif);font-size:clamp(34px,10vw,46px);font-weight:700;letter-spacing:6px;line-height:1.15}.hero-ganzhi{margin-top:8px;color:var(--ink-2);font-size:14px;letter-spacing:1px}.hero-zodiac{margin-left:6px;color:var(--gold-2);font-size:12px}.hero-meta{margin-top:6px;color:var(--muted);font-size:12px}.hero-festivals{display:flex;margin-top:10px;justify-content:center;flex-wrap:wrap;gap:6px}.hero-festival{padding:2px 10px;border-radius:999px;background:var(--danger-soft);color:var(--danger);font-size:11px}.yiji{margin-top:14px;padding:6px 18px}.yiji-row{display:flex;padding:12px 0;align-items:flex-start;gap:12px}.yiji-row+.yiji-row{border-top:1px solid var(--line-soft)}.yiji-badge{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:50%;color:#fffdf7;font-size:15px;font-weight:700}.yiji-yi{background:#b23a26}.yiji-ji{background:#3b3630}.yiji-list{display:flex;padding-top:4px;flex-wrap:wrap;gap:4px 12px}.yiji-item{color:var(--ink-2);font-size:13px}.chip-empty{color:var(--faint);font-size:13px}.almanac-grid{display:grid;margin-top:14px;align-items:start;gap:14px}.detail-card{padding:16px 18px}.detail-title{margin-bottom:8px;color:var(--gold-2);font-size:12px;letter-spacing:2px}.pos-grid{display:grid;gap:10px 16px;grid-template-columns:1fr 1fr}.pos-item{display:flex;padding-bottom:6px;align-items:baseline;justify-content:space-between;border-bottom:1px dashed var(--line-soft);font-size:13px}.pos-item span{color:var(--muted);font-size:12px}.pos-item b{font-weight:600}.detail-row{display:flex;padding:6px 0;align-items:baseline;border-bottom:1px dashed var(--line-soft);font-size:13px;gap:12px}.detail-row:last-child{border-bottom:none}.detail-row span{width:64px;flex:0 0 auto;color:var(--muted);font-size:12px}.detail-row b{flex:1;font-weight:600;line-height:1.6}.god-list{display:flex;flex-wrap:wrap;gap:6px}.god-item{padding:2px 10px;border-radius:999px;font-size:12px}.god-good{background:var(--green-soft);color:var(--green)}.god-bad{background:#f7e1da;color:#a83a26}.pengzu{font-size:13px;line-height:1.95}.cal-head{display:flex;padding:2px 0 10px;align-items:center;justify-content:space-between;gap:10px}.cal-arrow{width:38px;height:38px;font-size:22px}.cal-title{display:flex;align-items:center;flex-direction:column;gap:2px}.cal-title b{font-family:var(--font-serif);font-size:clamp(20px,6vw,24px);letter-spacing:2px}.cal-title span{color:var(--muted);font-size:12px}.cal-week{display:grid;padding:6px 0;color:var(--muted);font-size:12px;grid-template-columns:repeat(7,1fr);text-align:center}.cal-week .is-weekend{color:var(--danger)}.cal-grid{display:grid;padding:6px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow-sm);gap:3px;grid-template-columns:repeat(7,1fr)}.cal-cell{display:flex;min-height:clamp(52px,12vw,64px);padding:7px 2px 5px;align-items:center;border-radius:10px;color:inherit;flex-direction:column;gap:2px}.cal-cell:hover{background:#faf5e8}.cal-solar{font-size:clamp(15px,4.4vw,18px);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.cal-lunar{overflow:hidden;max-width:100%;color:var(--muted);font-size:clamp(9px,2.6vw,11px);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.cal-cell.is-weekend .cal-solar{color:var(--danger)}.cal-cell.is-other .cal-solar,.cal-cell.is-other .cal-lunar{color:var(--muted);opacity:.32}.cal-cell.is-today{background:var(--green)}.cal-cell.is-today .cal-solar{color:#f7f4e8}.cal-cell.is-today .cal-lunar{color:#f7f4e8d9}.cal-lunar.cal-term{color:var(--danger)}.cal-lunar.cal-festival{color:var(--green-2)}.cal-lunar.cal-month{color:var(--gold-2)}.cal-hint{margin-top:12px;color:var(--faint);font-size:11.5px;text-align:center}.cal-foot{display:flex;margin-top:14px;justify-content:center;gap:10px}@media(min-width:760px){.landing{display:flex;min-height:calc(100vh - var(--header-h) - 150px);margin:0 auto;align-items:center}.almanac-grid{grid-template-columns:1fr 1fr}.detail-wide{grid-column:1 / -1}.cal-cell{min-height:66px}}.mine-page{max-width:780px;margin:0 auto}.menu-card{overflow:hidden;margin-top:4px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.menu-row{display:flex;width:100%;min-height:62px;padding:0 18px;align-items:center;color:inherit;gap:12px;text-align:left}.menu-row:hover{background:#fbf8ef}.menu-row svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:#b08a3e;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.menu-label{flex:1;font-size:15px}.menu-value{color:var(--muted);font-size:12px}.menu-arrow{color:#c9c0ae;font-size:16px}@media(min-width:760px){.mine-page{max-width:760px}}@media(max-width:360px){.entry-grid{gap:14px}.entry-card{padding:20px 16px 38px}.entry-title{font-size:19px;letter-spacing:2px}.entry-icon{width:48px;height:48px;margin-bottom:14px}.entry-icon svg{width:30px;height:30px}.field-wrap{padding:10px 0;align-items:flex-start;flex-wrap:wrap}.field-wrap .field-label{width:100%;padding-bottom:2px}.field-wrap .field-value{flex:1 1 100%;justify-content:space-between}}:root{--paper-line: rgba(30, 27, 23, .3);--paper-line-soft: rgba(30, 27, 23, .11);--paper-wash: linear-gradient(180deg, #fbf7ec 0%, #f6efdf 100%);--seal: #9e3b2e}.card{position:relative;border:1px solid var(--paper-line);border-radius:4px;background:var(--paper-wash);box-shadow:0 1px #fff9 inset}.card:before{position:absolute;z-index:0;inset:4px;border:1px solid var(--paper-line-soft);border-radius:1px;content:"";pointer-events:none}.page-title,.section-title,.side-title,.help-title,.detail-title,.cal-title b,.almanac-title b,.entry-title{font-family:var(--font-serif)}.section-title,.side-title,.help-title,.detail-title{letter-spacing:3px}.section-title:before,.side-title:before,.help-title:before,.detail-title:before{display:inline-block;width:6px;height:6px;margin-right:8px;background:var(--seal);content:"";opacity:.9;vertical-align:2px}.field-label,.sub-title,.setting-label,.info-label,.detail-row span,.pos-item span{font-family:var(--font-serif);letter-spacing:1px}.btn{border-radius:3px;font-family:var(--font-serif);letter-spacing:3px}.btn-primary{background:#2f4739;color:#f7f4e8;box-shadow:inset 0 1px #ffffff24}.btn-ghost{border:1px solid var(--paper-line);border-radius:3px;background:transparent;color:#3b3630}.btn-sm{border-radius:2px;letter-spacing:2px}.segmented{padding:0;border:1px solid var(--paper-line);border-radius:3px;background:transparent;gap:0}.segmented button{border-radius:0;font-family:var(--font-serif);letter-spacing:1px}.segmented button+button{border-left:1px solid var(--paper-line-soft)}.segmented button[aria-pressed=true]{background:#2f4739;color:#f7f4e8;box-shadow:none}.badge{border:1px solid transparent;border-radius:2px;font-family:var(--font-serif);letter-spacing:1px}.badge-green{border-color:#2f473938;background:#2f473912;color:#2f4739}.badge-gold{border-color:#c9a22759;background:#c9a22717;color:#7a5f26}.text-input,.date-input,.time-input,.select-input,.modal-input{border-radius:2px}.modal{border:1px solid var(--paper-line);border-radius:4px;background:var(--paper-wash)}.toast{border-radius:3px;font-family:var(--font-serif);letter-spacing:1px}.app-nav a{border-radius:2px;font-family:var(--font-serif);letter-spacing:2px}.tab span{font-family:var(--font-serif);letter-spacing:1px}.almanac-hero{background:radial-gradient(circle at 50% 0%,#fdf9ef,#f7f0e0 75%)}.yiji-badge{border-radius:2px}.yiji-yi{background:#9e3b2e}.yiji-ji{background:#2b2722}.hero-festival{border:1px solid rgba(158,59,46,.22);border-radius:2px;background:#9e3b2e12}.god-item{border-radius:2px}.cal-grid{position:relative;border-radius:4px;background:var(--paper-wash)}.cal-grid:before{position:absolute;z-index:0;inset:4px;border:1px solid var(--paper-line-soft);border-radius:1px;content:"";pointer-events:none}.cal-cell{border-radius:2px}.cal-cell.is-today{border-radius:2px;background:#2f4739}.cal-week{font-family:var(--font-serif);letter-spacing:2px}.grid-wrap{border:1px solid var(--paper-line);border-radius:4px;background:var(--paper-wash);box-shadow:0 1px #fff9 inset}.grid{border-radius:2px}.quick-bar{border:1px solid var(--paper-line);border-radius:4px;background:var(--paper-wash);box-shadow:0 1px #fff9 inset}.star,.door,.god,.rel,.mark,.cs,.tag-method,.ming-tag,.help-chip,.cs-chip,.saved-tip,.record-delete,.menu-card,.record-list,.empty{border-radius:2px}.record-list,.empty{border-color:var(--paper-line);background:var(--paper-wash);box-shadow:none}.sub-action{border-radius:2px;font-family:var(--font-serif);letter-spacing:1px}.preview{border:1px solid var(--paper-line-soft);border-radius:2px;background:#1e1b1709}.preview-main{font-family:var(--font-serif);letter-spacing:2px}.menu-card{border-color:var(--paper-line);background:var(--paper-wash);box-shadow:none}.almanac-page .detail-row b,.almanac-page .pos-item b,.almanac-page .hero-lunar,.almanac-page .yiji-badge,.almanac-page .btn{font-weight:400}.almanac-top{display:grid;min-height:52px;padding:0;align-items:center;grid-template-columns:52px minmax(0,1fr) 52px}.almanac-arrow{position:static;display:grid;width:52px;height:52px;place-items:center;border-radius:50%;color:var(--ink-3);transform:none;transition:background .15s ease,color .15s ease}.almanac-arrow svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.9}.almanac-arrow:hover{background:#2f473912;color:var(--green)}.almanac-arrow-prev{left:auto;justify-self:start}.almanac-arrow-next{right:auto;justify-self:end}.almanac-title b{font-size:clamp(19px,6vw,26px)}.almanac-tools{margin:1px 0 3px}.almanac-tools .btn{min-height:32px;padding:0 12px;font-size:12px}.almanac-hero{padding:10px 14px 8px}.hero-lunar{font-size:clamp(27px,7.8vw,34px);letter-spacing:4px}.hero-ganzhi{margin-top:3px;font-size:13px}.hero-meta{margin-top:2px;font-size:11px}.hero-festivals{margin-top:4px}.yiji{margin-top:6px;padding:0 14px}.yiji-row{padding:6px 0;gap:9px}.yiji-badge{width:24px;height:24px;font-size:13px}.yiji-list{padding-top:1px;gap:1px 9px}.yiji-item{font-size:12px;line-height:1.7}.almanac-grid{margin-top:6px;align-items:stretch;gap:5px;grid-template-columns:1fr 1fr}.almanac-grid>.detail-shensha,.almanac-grid>.detail-fangwei{grid-column:1 / -1}.almanac-grid>.detail-shensha{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.almanac-grid>.detail-shensha .detail-title{grid-column:1 / -1}.almanac-grid>.detail-fangwei .pos-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.almanac-grid>.detail-fangwei .pos-item{gap:6px}.detail-card{padding:6px 12px}.detail-title{margin-bottom:4px;font-size:11px;letter-spacing:1.5px}.detail-title:before{width:5px;height:5px;margin-right:6px}.detail-row{padding:3px 0;font-size:11.5px;gap:8px}.detail-row span{width:44px;font-size:10.5px}.pos-grid{gap:2px}.pos-item{padding-bottom:2px;font-size:11.5px}.pos-item span{font-size:10.5px}.god-list{gap:4px}.god-item{padding:1px 7px;font-size:10.5px}.pengzu{font-size:11.5px;line-height:1.55}.detail-wide{grid-column:1 / -1}@media(max-width:360px){.almanac-grid>.detail-shensha{grid-template-columns:1fr}}.hours-card{margin-top:6px;padding:0 12px}.hours-details summary{display:flex;padding:7px 0;align-items:center;gap:8px;cursor:pointer;list-style:none}.hours-details summary::-webkit-details-marker{display:none}.hours-summary .detail-title{margin:0}.hours-tally{margin-left:auto;color:var(--muted);font-size:10.5px}.hours-arrow{color:var(--muted);font-size:14px;line-height:1;transition:transform .18s ease}.hours-details[open] .hours-arrow{transform:rotate(90deg)}.hours-grid{display:grid;padding-bottom:8px;gap:4px;grid-template-columns:repeat(6,minmax(0,1fr))}.hour-cell{display:flex;padding:4px 1px;align-items:center;border-radius:2px;background:#2f47390d;flex-direction:column;gap:1px}.hour-cell.is-bad{background:#9e3b2e0f}.hour-zhi{font-size:11px;line-height:1.2}.hour-ganzhi{color:var(--muted);font-size:9px;line-height:1.2}.hour-luck{color:var(--green);font-size:9px;line-height:1.2}.hour-cell.is-bad .hour-luck{color:#9e3b2e}.hours-card{margin-top:4px}.hours-details summary{padding:5px 0}.almanac-page .detail-card{padding:5px 12px}.almanac-grid{gap:3px}.yiji-row{padding:5px 0}.almanac-hero{padding:9px 14px 7px}@media(max-width:430px){.almanac-page .detail-row{padding:2px 0}.almanac-top{min-height:50px}}.almanac-grid>.hours-card{margin-top:0;grid-column:1 / -1}.zheri{margin-top:10px;padding:12px 14px;border:1px solid var(--paper-line);border-radius:4px;background:var(--paper-wash)}.zheri[hidden]{display:none}.zheri-head{display:flex;margin-bottom:8px;flex-direction:column;gap:2px}.zheri-title{font-family:var(--font-serif);font-size:13px;letter-spacing:2px}.zheri-hint{color:var(--muted);font-size:11px;line-height:1.5}.zheri-chips{display:flex;flex-wrap:wrap;gap:6px}.zheri-chip{padding:3px 10px;border:1px solid var(--paper-line);border-radius:2px;background:transparent;font-family:var(--font-serif);font-size:12px;letter-spacing:1px;transition:background .15s ease,color .15s ease}.zheri-chip[aria-pressed=true]{border-color:#2f4739;background:#2f4739;color:#f7f4e8}.zheri-result{min-height:16px;margin-top:8px;color:var(--green);font-size:11.5px}.cal-cell{position:relative}.cal-cell.is-picked{background:#2f6b471a;box-shadow:inset 0 0 0 1.5px #2f6b4773}.cal-cell.is-picked:after{position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:#2f6b47;content:""}.cal-cell.is-today.is-picked{box-shadow:inset 0 0 0 2px #d9b45b}.cal-cell.is-today.is-picked:after{background:#d9b45b}.landing-stack{display:flex;width:100%;flex-direction:column;gap:14px}.today-card{display:flex;padding:12px 18px;align-items:center;justify-content:space-between;border:1px solid rgba(30,27,23,.3);border-radius:4px;background:#f7efdd;color:#1e1b17;gap:16px;text-decoration:none;transition:border-color .15s ease,background .15s ease}.today-card:hover{border-color:#9e3b2e73;background:#faf3e4}.today-left{display:flex;min-width:0;flex-direction:column;gap:2px}.today-badge{color:#2f7d63;font-family:var(--font-serif);font-size:20px;font-weight:700;letter-spacing:3px;line-height:1.2}.today-main{display:flex;align-items:center;gap:14px}.today-day{font-family:var(--font-serif);font-size:46px;font-weight:600;letter-spacing:0;line-height:1}.today-meta{display:flex;flex-direction:column;gap:1px;font-size:11.5px;line-height:1.45}.today-date{font-size:12px;font-weight:600}.today-lunar{color:#3b3630}.today-week{color:var(--muted)}.today-pillars{display:flex;flex:0 0 auto;gap:10px}.today-pillar{display:flex;align-items:center;flex-direction:column;line-height:1.15}.today-pillar b{font-family:var(--font-serif);font-size:17px;font-weight:600}.today-pillar em{margin-top:2px;color:var(--muted);font-size:9px;font-style:normal}@media(min-width:760px){.today-day{font-size:54px}.today-badge{font-size:22px}.today-pillar b{font-size:19px}.today-pillars{gap:14px}}.mine-about{margin-top:16px;padding:0 18px;text-align:center}.mine-about-summary{display:flex;padding:16px 0;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.mine-about-summary::-webkit-details-marker{display:none}.mine-about-arrow{color:var(--muted);font-size:16px;line-height:1;transition:transform .18s ease}.mine-about[open] .mine-about-arrow{transform:rotate(90deg)}.mine-about-body{padding-bottom:18px}.mine-about-title{display:flex;align-items:center;justify-content:flex-start;font-family:var(--font-serif);font-size:14px;letter-spacing:3px}.mine-about-title:before{width:6px;height:6px;margin-right:8px;background:var(--seal);content:""}.mine-about-text{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.7}.mine-qr{width:168px;margin:14px auto 0;padding:10px;border:1px solid var(--paper-line);border-radius:2px;background:#fff}.mine-qr img{display:block;width:100%;height:auto}.mine-about-hint{margin-top:8px;color:var(--faint);font-size:11px}.menu-details{border-top:1px solid var(--line-soft)}.menu-details summary{cursor:pointer;list-style:none}.menu-details summary::-webkit-details-marker{display:none}.menu-arrow-toggle{transition:transform .18s ease}.menu-details[open] .menu-arrow-toggle{transform:rotate(90deg)}.menu-details-body{padding:0 18px 18px;text-align:center}.menu-details-body .mine-about-text{margin-top:2px}.menu-details-body .mine-qr{margin-top:12px}.entry-wide{min-height:0;padding:14px 18px;align-items:center;flex-direction:row;gap:14px;grid-column:1 / -1}.entry-wide .entry-icon{width:48px;height:48px;margin:0;flex:0 0 auto}.entry-wide .entry-icon svg{width:30px;height:30px}.entry-wide .entry-body{display:flex;min-width:0;flex-direction:column;gap:2px}.entry-wide .entry-title{font-size:clamp(19px,5vw,24px)}.entry-wide .entry-desc{margin:0;font-size:11.5px;letter-spacing:1.5px;line-height:1.7}.entry-coin .entry-icon{background:linear-gradient(160deg,#c9a24a,#8d6a2a)}.coin-page{max-width:780px;margin:0 auto}.coin-head{padding:4px 2px 14px}.coin-guide{margin-bottom:16px;padding:12px 16px}.coin-guide-head{cursor:pointer;list-style:none;font-family:var(--font-serif);font-size:14px;letter-spacing:2px}.coin-guide-head::-webkit-details-marker{display:none}.coin-guide-body p{margin-top:8px;color:var(--ink-3);font-size:12px;line-height:1.8}.coin-rows{display:flex;flex-direction:column;gap:8px}.coin-row{display:flex;align-items:center;gap:12px}.coin-index{width:56px;flex:0 0 auto;color:var(--muted);font-size:12px}.coin-select-wrap{position:relative;flex:1}.coin-select{width:100%;padding:9px 32px 9px 12px;border:1px solid var(--line);border-radius:2px;background:#fbf8ef;font-size:13px;appearance:none}.coin-select-wrap:after{position:absolute;top:50%;right:12px;color:var(--muted);font-size:11px;pointer-events:none;transform:translateY(-50%);content:"▾"}.coin-check{display:flex;margin-top:14px;align-items:center;gap:8px;color:var(--ink-3);font-size:12.5px}.coin-check input{width:16px;height:16px;accent-color:#2f4739}.hex-pair{display:flex;padding:18px 16px;align-items:center;justify-content:space-between;gap:8px}.hex-item{display:flex;align-items:center;flex:1;flex-direction:column;gap:6px}.hex-role{color:var(--muted);font-size:10px;letter-spacing:2px}.hex-figure{display:flex;padding:6px 0;flex-direction:column;gap:5px}.hex-row{display:flex;height:8px;align-items:center;gap:6px}.hex-line{display:block;width:70px;height:7px;background:var(--ink)}.hex-line.is-yin{background:linear-gradient(to right,var(--ink) 0 42%,transparent 42% 58%,var(--ink) 58% 100%)}.hex-line.is-moving{background:var(--seal)}.hex-line.is-yin.is-moving{background:linear-gradient(to right,var(--seal) 0 42%,transparent 42% 58%,var(--seal) 58% 100%)}.hex-mark{width:10px;color:var(--seal);font-size:10px;text-align:center}.hex-name{font-family:var(--font-serif);font-size:16px;letter-spacing:1px}.hex-image{color:var(--muted);font-size:10.5px}.hex-shift{padding:0 2px;color:var(--muted);font-family:var(--font-serif);font-size:15px}@media(max-width:360px){.hex-line{width:56px}}.coin-rule{margin-top:8px;padding:14px 16px}.coin-rule-text{margin-top:6px;color:var(--ink-2);font-size:12.5px;line-height:1.8}.coin-moves{display:flex;margin-top:10px;flex-wrap:wrap;gap:6px}.coin-moves span{padding:1px 8px;border:1px solid rgba(158,59,46,.35);border-radius:2px;color:var(--seal);font-size:11px}.coin-texts{margin-top:8px;padding:14px 16px}.coin-block{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line-soft)}.coin-block:first-of-type{margin-top:6px;padding-top:0;border-top:none}.coin-block b{display:block;color:var(--gold-2);font-family:var(--font-serif);font-size:12.5px;font-weight:400;letter-spacing:1px}.coin-text{margin-top:5px;color:var(--ink);font-size:13px;line-height:1.9}.coin-xiang{margin-top:4px;color:var(--muted);font-size:11.5px;line-height:1.8}.coin-hex-block{margin-top:16px}.coin-hex-block:first-of-type{margin-top:6px}.coin-hex-title{display:block;color:var(--gold-2);font-family:var(--font-serif);font-size:13px;font-weight:400;letter-spacing:1px}.coin-line-list{display:flex;margin-top:10px;flex-direction:column;gap:2px}.coin-line{padding:7px 9px;border-left:2px solid transparent}.coin-line b{display:flex;align-items:center;color:var(--muted);font-family:var(--font-serif);font-size:11px;font-weight:400;letter-spacing:1px;gap:6px}.coin-line p{margin-top:3px;color:var(--ink-2);font-size:12.5px;line-height:1.8}.coin-line .coin-xiang{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.7}.coin-line.is-moving{border-left-color:#9e3b2e59;background:#9e3b2e09}.coin-line.is-primary{border-left-color:var(--seal);background:#9e3b2e12}.coin-tag{padding:0 4px;border:1px solid rgba(158,59,46,.45);border-radius:2px;color:var(--seal);font-size:9px;font-style:normal;letter-spacing:0;line-height:1.5}.coin-tag.is-moving{border-color:transparent;background:#9e3b2e1f}.coin-bai{margin-top:5px;color:var(--ink-2);font-size:12px;line-height:1.85}.coin-bai em{display:inline-block;margin-right:6px;padding:0 4px;border:1px solid var(--line-soft);border-radius:2px;color:var(--faint);font-size:9.5px;font-style:normal;line-height:1.6;vertical-align:1px}.hex-pair{gap:2px}.hex-arrow{flex:0 0 auto;color:var(--faint);font-size:13px}.hex-note{color:var(--faint);font-size:9.5px;letter-spacing:0}.coin-hex-note{margin-top:6px;color:var(--faint);font-size:11px;line-height:1.7}@media(max-width:360px){.hex-role{font-size:9px;letter-spacing:1px}.hex-name{font-size:14px}.hex-image{font-size:9.5px}}.hex-caption{margin-top:2px;padding:0 16px 10px;color:var(--faint);font-size:10.5px;letter-spacing:1px;text-align:center}.entry-hexagrams .entry-icon{background:linear-gradient(160deg,#7d8f9a,#465b66)}.hex-all-link{color:var(--gold-2);text-decoration:none}.hexagrams-page{max-width:980px;margin:0 auto}.hexagrams-head{padding:4px 2px}.hex-section{margin-top:16px}.hex-section-head{display:flex;padding:0 2px;align-items:baseline;gap:8px;margin-bottom:8px}.hex-section-head span{font-family:var(--font-serif);font-size:15px;letter-spacing:2px}.hex-section-head em{color:var(--muted);font-size:10.5px;font-style:normal}.hex-cards{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.hex-card{display:flex;padding:10px 4px 9px;align-items:center;border:1px solid var(--paper-line);border-radius:4px;background:var(--paper-wash);color:inherit;flex-direction:column;gap:4px;text-align:center;transition:border-color .15s ease,background .15s ease}.hex-card:hover{border-color:#9e3b2e66;background:#faf1df}.hex-mini{display:flex;padding:2px 0;flex-direction:column;gap:2px}.hex-mini-line{display:block;width:30px;height:3px;background:var(--ink)}.hex-mini-line.is-yin{background:linear-gradient(to right,var(--ink) 0 40%,transparent 40% 60%,var(--ink) 60% 100%)}.hex-card-name{font-family:var(--font-serif);font-size:15px;line-height:1.2}.hex-card-image{color:var(--muted);font-size:9.5px;line-height:1.3}@media(min-width:760px){.hex-cards{grid-template-columns:repeat(8,minmax(0,1fr))}}.hexagram-page{max-width:780px;margin:0 auto}.hexagram-back{display:inline-block;margin-bottom:8px;color:var(--muted);font-size:12px;text-decoration:none}.hexagram-head{padding:0 2px 12px}.hexagram-figure-card{display:flex;padding:20px;align-items:center;flex-direction:column;gap:10px}.hexagram-figure-card .hex-line{width:110px;height:9px}.hexagram-figure-name{color:var(--muted);font-size:11px;letter-spacing:2px}.hexagram-hu{display:block;margin-top:8px;padding:10px 14px;border:1px dashed var(--line-soft);border-radius:4px;color:var(--gold-2);font-size:12px;text-align:center;text-decoration:none}.hexagram-info{margin-top:8px;padding:6px 16px}.hexagram-info-row{display:flex;padding:8px 0;align-items:baseline;font-size:13px;gap:12px}.hexagram-info-row span{width:68px;flex:0 0 auto;color:var(--muted);font-size:11.5px}.hexagram-info-row b{flex:1;color:var(--ink);font-family:var(--font-serif);font-weight:400;letter-spacing:1px}.hex-card-pinyin{color:var(--muted);font-size:10px;letter-spacing:.3px;line-height:1.1}.hexagram-figure-card{flex-direction:row;justify-content:space-between;gap:6px}.hexagram-figure-main{display:flex;align-items:center;flex:1;flex-direction:column;gap:10px}.hexagram-arrow{display:flex;width:38px;height:38px;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--line-soft);border-radius:50%;color:var(--muted);font-size:20px;line-height:1;text-decoration:none;transition:border-color .15s ease,color .15s ease}.hexagram-arrow:hover{border-color:var(--seal);color:var(--seal)}.hexagram-arrow{color:var(--ink-3);border-color:#1e1b1738}a.hex-item{padding:6px 4px;border-radius:4px;color:inherit;text-decoration:none;transition:background .15s ease}a.hex-item:hover{background:#2f47390d}.hexagram-nav{display:flex;margin-bottom:10px;align-items:center;justify-content:space-between;gap:8px}.hexagram-back{display:inline-flex;min-height:40px;padding:0 14px;align-items:center;border:1px solid var(--line);border-radius:3px;background:var(--paper-wash);color:var(--ink);font-size:13.5px;text-decoration:none}.hexagram-back:hover{border-color:#9e3b2e66}.hexagram-all{padding:8px 4px;color:var(--muted);font-size:12px;text-decoration:none}.home-records{min-height:38px;margin-top:8px;padding:8px 0 0;border-top:1px dashed var(--line-soft);font-size:13px}.home-records svg{width:18px;height:18px}.home-records .menu-value{font-size:12px}.help-tip{position:relative;display:inline-flex;margin-left:6px;flex:0 0 auto}.help-dot{display:inline-flex;width:18px;height:18px;padding:0;align-items:center;justify-content:center;border:1px solid rgba(30,27,23,.28);border-radius:50%;background:transparent;color:var(--muted);font-family:var(--font-serif);font-size:11px;line-height:1;cursor:help}.help-dot:hover,.help-dot:focus{border-color:var(--seal);color:var(--seal);outline:none}.help-bubble{position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:232px;max-width:74vw;padding:9px 11px;border-radius:3px;background:#2f2a24;box-shadow:0 6px 18px #0000002e;color:#f7f4e8;font-family:var(--font-serif);font-size:11.5px;line-height:1.75;opacity:0;pointer-events:none;transform:translateY(-3px);transition:opacity .15s ease,transform .15s ease;visibility:hidden}.help-bubble:before{position:absolute;top:-5px;right:9px;border:5px solid transparent;border-top:0;border-bottom-color:#2f2a24;content:""}.help-tip:hover .help-bubble,.help-tip:focus-within .help-bubble{opacity:1;transform:none;visibility:visible}.quick-bar{margin-bottom:-16px;border-radius:10px 10px 0 0;border-bottom:none;box-shadow:none}.grid-wrap{border-radius:0 0 10px 10px}.coin-rows{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line-soft)}.actions #coin-save-slot{display:flex;flex:1 1 100%}
