:root{--paper:#faf9f5;--ink:#1a1a1a;--green:#009640;--green-deep:#00742f;--red:#c0281c;--white:#fff;--accent:var(--green-deep);--accent-strong:var(--green);--serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", SimSun, serif;--sans:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--display:"Abril Fatface", "Playfair Display", Didot, "Bodoni 72", serif;--latin:"Libre Caslon Text", "Century Schoolbook", "Times New Roman", serif;--brush:"Ma Shan Zheng", KaiTi, STKaiti, serif}.theme-green{--accent:var(--green-deep);--accent-strong:var(--green)}.theme-red{--accent:var(--red);--accent-strong:var(--red)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans)}button,input,select{font:inherit}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{background:var(--paper);min-height:100vh;color:var(--ink)}.shell{width:min(1280px,100%);margin:0 auto;padding:0 24px 48px}.top-nav{border-bottom:1px solid var(--accent);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.brand-mark{min-height:44px;font-family:var(--serif);color:var(--accent);align-items:center;font-size:24px;font-weight:900;text-decoration:none;display:inline-flex}.nav-links{gap:16px;display:flex}.nav-link{border-bottom:1px solid #0000;align-items:center;min-height:44px;padding:0 2px;font-size:14px;text-decoration:none;display:inline-flex}.nav-link.active{color:var(--accent);border-bottom-color:var(--accent)}.date-bar{flex-wrap:wrap;align-items:center;gap:8px;padding:16px 0;font-size:14px;display:flex}.date-bar button,.date-bar input{border:1px solid var(--accent);min-height:44px;color:var(--accent);background:0 0;padding:0 12px}.date-bar button:disabled{opacity:.4}.date-label{font-family:var(--latin);letter-spacing:1px;font-weight:700}.text-button{color:var(--accent);text-underline-offset:4px;text-decoration:underline;border:0!important}.primary-button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;margin:16px auto;padding:12px 20px;text-decoration:none;display:inline-block}.primary-button:hover{background:var(--accent);color:var(--white)}.cta-row{text-align:center}.almanac-header{border-bottom:3px double var(--accent)}.brand{font-family:var(--serif);text-align:center;color:var(--accent);margin:0;padding:12px 20px 0;font-size:80px;font-weight:900;line-height:1.15}.year-row{border-bottom:1px solid var(--accent);justify-content:space-between;align-items:baseline;padding:4px 20px 8px;display:flex}.year,.month-en{font-family:var(--latin);font-size:44px;font-weight:700}.month-en{letter-spacing:8px}.month-zh{font-family:var(--serif);color:var(--accent);font-size:44px;font-weight:900}.hero{border-bottom:3px double var(--accent);justify-content:center;align-items:center;min-height:460px;display:flex;position:relative}.big-day{font-family:var(--display);color:var(--accent-strong);font-size:500px;line-height:.9}.vertical{writing-mode:vertical-rl;font-family:var(--brush);letter-spacing:6px;color:var(--accent);font-size:20px;font-weight:900;position:absolute;top:20px}.vertical.left{left:20px}.vertical.right{right:20px}.hijri{position:absolute;bottom:16px;left:20px}.hijri-latin{font-family:var(--latin);letter-spacing:2px;font-size:15px;font-weight:700}.lunar-line{border-bottom:1px solid var(--accent);flex-wrap:wrap;justify-content:center;gap:12px;padding:12px 20px;font-size:14px;display:flex}.weekday-en{font-family:var(--latin);letter-spacing:2px}.fate-grid{border-bottom:3px double var(--accent);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.fate-cell{border:1px solid var(--accent);padding:12px}.fate-label{letter-spacing:4px;color:var(--accent);font-size:13px}.fate-name{color:var(--accent);margin-top:6px;font-size:20px;font-weight:900}.fate-counsel{color:var(--accent);margin-top:6px;font-size:13px}.yi-ji-grid{border-bottom:3px double var(--accent);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.yi-ji-panel{border:1px solid var(--accent);outline:1px solid var(--accent);outline-offset:-5px;color:var(--accent);align-items:flex-start;gap:16px;padding:20px;display:flex}.yi-ji-panel.ji{border-color:var(--ink);outline-color:var(--ink);color:var(--ink)}.yi-ji-char{font-family:var(--serif);flex:none;font-size:96px;font-weight:900;line-height:1}.yi-ji-model{letter-spacing:1px;opacity:.75;font-size:13px}.yi-ji-items{font-family:var(--serif);letter-spacing:2px;flex-wrap:wrap;gap:4px 18px;margin-top:10px;font-size:24px;font-weight:900;line-height:1.4;display:flex}.fortune-grid{border-bottom:3px double var(--accent);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.fortune-cell{border:1px solid var(--accent);padding:12px}.fortune-label{font-size:13px}.fortune-stars{letter-spacing:3px;color:var(--accent);font-size:24px}.fortune-note{font-size:14px}.aphorism{font-family:var(--brush);text-align:center;color:var(--accent);padding:16px;font-size:30px;font-weight:900}.disclaimer{text-align:center;color:var(--ink);border-top:1px solid #1a1a1a33;padding:24px 16px;font-size:12px}.page-head{border-bottom:1px solid var(--accent);justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0;display:flex}.page-head h1{font-family:var(--serif);margin:0;font-size:32px}.page-head a{min-height:44px;color:var(--accent);text-underline-offset:4px;align-items:center;padding:0 4px;display:inline-flex}.query-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:20px 0;display:flex}.field{flex-direction:column;gap:6px;font-size:13px;display:flex}.field select{border:1px solid var(--accent);background:var(--paper);min-width:260px;min-height:44px;color:var(--ink);padding:0 12px}.result{border:1px solid var(--accent);outline:1px solid var(--accent);outline-offset:-5px;min-height:520px;padding:24px;position:relative}@keyframes seal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.seal{border:1px solid var(--ink);width:96px;height:96px;font-family:var(--serif);justify-content:center;align-items:center;font-size:64px;font-weight:900;line-height:1;animation:.18s ease-out seal-in;display:inline-flex}.seal[data-verdict=宜]{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:-5px;color:var(--accent)}.seal[data-verdict=忌]{outline:1px solid var(--ink);outline-offset:-5px}.result h2{font-family:var(--serif);margin:16px 0 4px;font-size:32px}.model-meta{color:var(--accent);margin:0;font-size:13px}.verdict-text{color:var(--accent);margin:16px 0 4px;font-size:20px;font-weight:900}.judgment{margin:0 0 16px;font-size:15px;line-height:1.7}.category-grid{border:1px solid var(--accent);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.category-cell{border-right:1px solid var(--accent);justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.category-cell:last-child{border-right:0}.category-cell strong{color:var(--accent)}.alternative-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.alternative-card{border:1px solid var(--accent);flex-direction:column;gap:6px;padding:12px;font-size:14px;display:flex}.alternative-card em{border:1px solid var(--accent);align-self:flex-start;padding:1px 6px;font-size:11px;font-style:normal}.preview-note{color:var(--ink);margin:16px 0 0;font-size:12px}.activity-section{border-bottom:1px solid var(--accent);padding:20px 0}.activity-section h2{font-family:var(--serif);margin:0 0 12px;font-size:24px}.activity-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--accent);min-height:44px;color:var(--accent);cursor:pointer;background:0 0;padding:0 14px}.chip.active{background:var(--accent);color:var(--white)}.pick-overview{border-bottom:3px double var(--accent);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pick-overview article{border:1px solid var(--accent);padding:16px}.pick-overview h3{letter-spacing:4px;color:var(--accent);margin:0 0 8px;font-size:14px}.hour-grid{border-bottom:3px double var(--accent);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.hour-cell{border:1px solid var(--ink);flex-direction:column;gap:4px;min-height:120px;padding:12px;display:flex}.hour-cell[data-verdict=吉]{border-color:var(--accent);background:var(--accent);color:var(--white)}.hour-cell[data-verdict=平]{background:var(--paper);color:var(--ink)}.hour-cell[data-verdict=凶]{background:var(--ink);color:var(--white)}.hour-branch{font-family:var(--serif);font-size:32px;line-height:1}.hour-verdict{letter-spacing:4px;font-size:13px}.hour-time{font-size:12px}.hour-advice{margin:auto 0 0;font-size:12px;line-height:1.5}.pick-summary{color:var(--accent);padding:16px 0;font-size:16px;font-weight:700}.pick-checklist{border-top:1px solid var(--accent);padding-top:12px;font-size:14px;line-height:1.8}.date-hint{letter-spacing:1px;color:var(--ink);margin:-8px 0 12px;font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=1023px){.shell{padding:0 16px 32px}.brand{font-size:56px}.year,.month-en,.month-zh{font-size:30px}.month-en{letter-spacing:4px}.big-day{font-size:360px}.yi-ji-char{font-size:72px}.fortune-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-cell:nth-child(2n){border-right:0}.category-cell:nth-child(n+3){border-top:1px solid var(--accent)}.alternative-grid{grid-template-columns:1fr}}@media (width<=639px){.top-nav{gap:8px}.brand-mark{font-size:18px}.nav-links{gap:10px}.nav-link{font-size:13px}.brand{font-size:40px}.year-row{flex-wrap:wrap;gap:4px 12px}.year,.month-en,.month-zh{font-size:24px}.hero{flex-direction:column;min-height:300px}.big-day{font-size:240px}.vertical{display:none}.hijri{text-align:center;margin:12px auto 0;position:static}.yi-ji-grid,.pick-overview{grid-template-columns:1fr}.yi-ji-char{font-size:64px}.fortune-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hour-cell{min-height:110px;padding:8px}.hour-branch{font-size:24px}.field select{width:100%;min-width:0}.query-controls{flex-direction:column;align-items:stretch}.date-bar{align-items:center}}
