@import "https://fonts.googleapis.com/css2?family=Zhi+Mang+Xing&family=ZCOOL+QingKe+HuangYou&family=Noto+Serif+SC:wght@300;400;500;600&family=Noto+Sans+SC:wght@300;400;500&family=JetBrains+Mono:wght@400;500&display=swap";.app-shell{flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}.topnav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);height:62px;box-shadow:0 1px 0 var(--border), 0 10px 32px #0003;z-index:100;background:linear-gradient(90deg,#070a13f2,#131622d4,#070a13f2);flex-shrink:0;align-items:center;gap:0;padding:0 2rem;display:flex;position:relative}.topnav:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--cyan) 10%, var(--accent) 31%, var(--accent-light) 50%, var(--accent) 68%, var(--cyan) 90%, transparent 100%);opacity:.72;height:2px;position:absolute;bottom:0;left:0;right:0}.topnav-brand{border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:.7rem;margin-right:2rem;padding-right:2rem;text-decoration:none;display:flex}.brand-glyph{background:linear-gradient(135deg, var(--accent-b) 0%, var(--orange-b) 50%, var(--cyan-b) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 3px #b5361e33);-webkit-background-clip:text;background-clip:text;font-size:1.9rem;line-height:1}.brand-text{flex-direction:column;gap:0;line-height:1;display:flex}.brand-name{font-family:var(--font-title);letter-spacing:.14em;color:var(--accent-light);font-size:1.25rem;line-height:1.1}.brand-tagline{font-size:var(--text-xs);color:var(--text-faint);letter-spacing:.05em;font-family:var(--font-mono);margin-top:1px}.topnav-links{flex:1;align-items:center;gap:2px;display:flex}.tnav-item{border-radius:var(--r-md);color:var(--text-muted);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--t-fast);white-space:nowrap;border:1px solid #0000;align-items:center;gap:.35rem;padding:.42rem .75rem;font-weight:500;text-decoration:none;display:flex;position:relative}.tnav-item:hover{color:var(--accent-light);background:#e1b45e14;border-color:#e1b45e38}.tnav-item.active{color:var(--accent-light);border-color:var(--accent-dim);background:linear-gradient(145deg,#e1b45e29,#e1b45e0b);box-shadow:inset 0 1px #fff0c614,0 0 18px #e1b45e0f}.tnav-item.active:after{content:"";background:var(--accent);opacity:.85;border-radius:2px;width:65%;height:2px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.tnav-icon{opacity:.75;font-size:.88rem;line-height:1}.tnav-item.active .tnav-icon{opacity:1}.topnav-right{flex-shrink:0;align-items:center;gap:.75rem;margin-left:1.5rem;display:flex}.api-status{border-radius:var(--r-xl);background:var(--bg-subtle);border:1px solid var(--border);align-items:center;gap:.4rem;padding:.3rem .65rem;display:flex}.status-dot{width:7px;height:7px;transition:all var(--t-mid);border-radius:50%;flex-shrink:0}.status-dot.online{background:var(--jade);box-shadow:0 0 6px #1a7a528c}.status-dot.offline{background:var(--red-light);box-shadow:0 0 6px #960f0f8c}.status-dot.checking{background:var(--cyan-b);animation:1.2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.22}}.status-text{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.settings-btn{border-radius:var(--r-md);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--text-muted);border:1px solid var(--border);transition:all var(--t-fast);background:var(--surface);align-items:center;gap:.3rem;padding:.4rem .8rem;font-weight:500;text-decoration:none;display:flex}.settings-btn:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.settings-btn.active{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-bg)}.mobile-toggle{display:none}.mobile-drawer{z-index:200;background:#1e0a004d;animation:.18s fadeIn;position:fixed;inset:62px 0 0}.mobile-nav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:2px;width:240px;height:100%;padding:.75rem .5rem;display:flex;box-shadow:4px 0 20px #3c14001f}.mnav-item{border-radius:var(--r-md);color:var(--text-muted);font-size:var(--text-sm);transition:all var(--t-fast);align-items:center;gap:.65rem;padding:.65rem .85rem;font-weight:500;text-decoration:none;display:flex}.mnav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.mnav-item.active{background:var(--accent-bg);color:var(--accent)}.mnav-en{font-size:var(--text-xs);color:var(--text-faint);font-family:var(--font-mono);margin-left:auto}.main-area{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.main-area:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 82% 22%,#0000 0 8%,#e1b45e12 8.2% 8.35%,#0000 8.6%),radial-gradient(circle at 82% 22%,#0000 0 13%,#e1b45e09 13.2% 13.35%,#0000 13.6%);position:absolute;inset:0}.main-area>*{z-index:1;position:relative}@media (width<=1100px){.tnav-label{display:none}.topnav-links{gap:0}.tnav-item{padding:.42rem .55rem}.tnav-icon{opacity:1;font-size:1rem}.brand-tagline{display:none}.topnav-brand{margin-right:1.5rem;padding-right:1.5rem}}@media (width<=768px){.topnav-links,.topnav-right{display:none}.topnav{padding:0 1.2rem}.topnav-brand{border-right:none;margin-right:auto;padding-right:0}.mobile-toggle{border-radius:var(--r-sm);border:1px solid var(--border);cursor:pointer;width:38px;height:38px;color:var(--text-primary);transition:all var(--t-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.mobile-toggle:hover{background:var(--bg-hover)}}.tarot-root{color:#e0d5c8;background-color:#0a0a12;background-image:radial-gradient(at 20%,#3c1e504d 0%,#0000 60%),radial-gradient(at 80% 20%,#64321e33 0%,#0000 50%),radial-gradient(at 50% 100%,#28143c4d 0%,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;display:flex;overflow:hidden auto}.tarot-root,.tarot-root *,.tarot-root :before,.tarot-root :after{box-sizing:border-box}.tarot-root h1,.tarot-root h3,.tarot-root p{margin:0;padding:0}.tarot-root .t-container{flex-direction:column;align-items:center;width:100%;max-width:720px;min-height:100%;padding:40px 20px;display:flex}.tarot-root .t-title{background:linear-gradient(135deg,#c9a84c,#e8d48b,#c9a84c);-webkit-text-fill-color:transparent;text-align:center;letter-spacing:4px;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:36px;font-weight:700}.tarot-root .t-subtitle{color:#a09078;text-align:center;letter-spacing:2px;margin-bottom:40px;font-size:15px;line-height:1.8}.tarot-root .t-card{background:linear-gradient(135deg,#14121cf2,#1e1928f2);border:1px solid #c9a84c33;border-radius:16px;width:100%;padding:32px 24px}.tarot-root .t-form-group{flex-direction:column;gap:16px;display:flex}.tarot-root label{color:#a09078;letter-spacing:1px;margin-bottom:4px;font-size:13px;display:block}.tarot-root select,.tarot-root textarea{color:#e0d5c8;background:#0a0a12cc;border:1px solid #c9a84c26;border-radius:10px;width:100%;padding:14px 16px;font-family:inherit;font-size:15px;line-height:1.6}.tarot-root select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a09078' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.tarot-root select:focus,.tarot-root textarea:focus{border-color:#c9a84c80;outline:none}.tarot-root textarea{resize:vertical;min-height:56px}.tarot-root textarea::placeholder{color:#5a4a3a}.tarot-root option{color:#e0d5c8;background:#1a1520}.tarot-root .t-btn-divine{color:#0a0a12;letter-spacing:4px;cursor:pointer;background:linear-gradient(135deg,#8a6a2e,#c9a84c);border:none;border-radius:10px;width:100%;padding:14px;font-family:inherit;font-size:17px;font-weight:700;transition:all .3s}.tarot-root .t-btn-divine:hover{box-shadow:0 8px 24px #c9a84c33}.tarot-root .t-btn-divine:disabled{opacity:.5;cursor:not-allowed}.tarot-root .t-spinner{border:2px solid #0a0a124d;border-top-color:#0a0a12;border-radius:50%;width:18px;height:18px;margin:0 auto;animation:.8s linear infinite t-spin;display:none}.tarot-root .t-btn-divine.loading .t-btn-text{display:none}.tarot-root .t-btn-divine.loading .t-spinner{display:block}@keyframes t-spin{to{transform:rotate(360deg)}}.tarot-root .t-result-area{width:100%;margin-top:32px}.tarot-root .t-spread-info{text-align:center;border-bottom:1px solid #c9a84c1a;margin-bottom:28px;padding-bottom:20px}.tarot-root .t-spread-name{color:#c9a84c;margin-bottom:8px;font-size:22px;font-weight:700}.tarot-root .t-spread-desc{color:#8a7a68;font-size:13px;line-height:1.6}.tarot-root .t-cards-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.tarot-root .t-tarot-card{background:linear-gradient(135deg,#191423f2,#231c30f2);border:1px solid #c9a84c1f;border-radius:12px;padding:20px;transition:all .3s}.tarot-root .t-tarot-card:hover{border-color:#c9a84c4d;transform:translateY(-2px)}.tarot-root .t-card-position{color:#8a7a68;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px}.tarot-root .t-card-name{color:#e8d48b;margin-bottom:4px;font-size:18px;font-weight:700}.tarot-root .t-card-orientation{border-radius:4px;margin-bottom:10px;padding:2px 8px;font-size:11px;display:inline-block}.tarot-root .t-card-orientation.upright{color:#81c784;background:#4caf5026}.tarot-root .t-card-orientation.reversed{color:#e57373;background:#f4433626}.tarot-root .t-card-keywords{color:#a09078;margin-bottom:8px;font-size:12px;line-height:1.5}.tarot-root .t-card-meaning{color:#b0a090;font-size:13px;line-height:1.6}.tarot-root .t-card-meta{color:#6a5a48;border-top:1px solid #c9a84c14;margin-top:10px;padding-top:10px;font-size:11px}.tarot-root .t-interpretation{background:linear-gradient(135deg,#14121cf2,#1e1928f2);border:1px solid #c9a84c26;border-radius:16px;padding:28px 24px}.tarot-root .t-interpretation-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.tarot-root .t-interpretation h3{color:#c9a84c;text-align:center;flex:1;font-size:18px}.tarot-root .t-btn-download{color:#c9a84c;cursor:pointer;white-space:nowrap;background:#c9a84c1f;border:1px solid #c9a84c4d;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;transition:all .3s}.tarot-root .t-btn-download:hover{background:#c9a84c40;box-shadow:0 4px 12px #c9a84c26}.tarot-root .t-interpretation-body{color:#d0c5b0;white-space:pre-wrap;word-wrap:break-word;font-size:15px;line-height:2}.tarot-root .t-loading-text{text-align:center;color:#a09078;letter-spacing:2px;padding:40px;font-size:15px}.tarot-root .t-error-box{text-align:center;color:#e57373;background:#f4433614;border:1px solid #f4433633;border-radius:12px;padding:20px;font-size:14px}@media (width<=480px){.tarot-root{padding:12px}.tarot-root .t-container{padding:24px 8px}.tarot-root .t-title{font-size:28px}.tarot-root .t-card{padding:24px 16px}.tarot-root .t-cards-grid{grid-template-columns:1fr}.tarot-root .t-interpretation{padding:20px 16px}}.bp-page{background:var(--base);flex-direction:column;height:100%;display:flex}.bp-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.15rem 2rem .95rem;display:flex;position:relative}.bp-header:after{content:"";background:linear-gradient(90deg, transparent, var(--accent) 15%, var(--accent-b) 40%, var(--accent-c) 70%, transparent);opacity:.3;height:2px;position:absolute;bottom:0;left:0;right:0}.bp-title-lg{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);letter-spacing:.06em;line-height:1}.bp-tagline{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.bp-toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 2rem;display:flex}.bp-cats{flex-wrap:wrap;gap:.4rem;display:flex}.bp-cat-btn{border:1px solid var(--border);background:var(--surface);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;transition:all var(--t-fast);border-radius:99px;padding:.35rem .9rem;font-weight:600}.bp-cat-btn:hover{border-color:var(--accent);color:var(--accent)}.bp-cat-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.bp-search-wrap{position:relative}.bp-search{border:1px solid var(--border);background:var(--base);width:200px;color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--t-fast);border-radius:6px;outline:none;padding:.45rem .7rem .45rem 2.1rem}.bp-search:focus{border-color:var(--accent)}.bp-search-icon{font-size:var(--text-sm);pointer-events:none;opacity:.5;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.bp-cart-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.45rem .95rem;display:flex;position:relative}.bp-cart-btn:hover{border-color:var(--accent)}.bp-cart-btn>span{background:var(--accent);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.bp-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.1rem;padding:1.5rem 2rem 2.5rem;display:grid;overflow-y:auto}.bp-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-fast);border-radius:10px;display:flex;overflow:hidden}.bp-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.bp-card-cover{background:var(--accent-bg);justify-content:center;align-items:center;width:110px;display:flex;position:relative}.bp-card-cover img{object-fit:cover;width:100%;height:100%}.bp-cover-placeholder{opacity:.35;font-size:2.2rem}.bp-card-body{flex-direction:column;flex:1;padding:.8rem .9rem .85rem;display:flex}.bp-card-meta{align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}.bp-cat{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem;font-weight:700}.bp-tag{border-radius:99px;padding:.12rem .45rem;font-size:.6rem;font-weight:600;line-height:1.2}.bp-tag-ebook{background:var(--accent-bg);color:var(--accent)}.bp-tag-physical{color:#1a7a52;background:#1a7a5214}.bp-tag-off{color:var(--text-muted);background:#96969626}.bp-tag-kb{color:var(--accent);background:#6a3d8a1f;font-weight:700}.bp-title{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-primary);-webkit-box-orient:vertical;margin:.15rem 0;line-height:1.28;display:-webkit-box;overflow:hidden}.bp-subtitle{color:var(--text-muted);-webkit-box-orient:vertical;margin:0;font-size:.7rem;display:-webkit-box;overflow:hidden}.bp-author{color:var(--text-muted);margin:.25rem 0 0;font-size:.7rem}.bp-price-row{align-items:baseline;gap:.4rem;margin-top:auto;display:flex}.bp-price{font-family:var(--font-mono);color:var(--accent);font-size:1rem;font-weight:700}.bp-original{color:var(--text-muted);font-size:.72rem;text-decoration:line-through}.bp-desc{color:var(--text-secondary);margin:.45rem 0 0;font-size:.7rem;line-height:1.4}.bp-actions{gap:.4rem;margin-top:.5rem;display:flex}.bp-btn{cursor:pointer;transition:background var(--t-fast);border:none;border-radius:5px;flex:1;padding:.35rem 0;font-size:.72rem;font-weight:600}.bp-btn-buy{background:var(--accent);color:#fff}.bp-btn-buy:hover{background:var(--accent-b)}.bp-btn-detail{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.bp-btn-detail:hover{background:var(--base)}.bp-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000061;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bp-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:720px;max-width:94vw;max-height:86vh;display:flex;overflow:hidden;box-shadow:0 12px 48px #0000002e}.bp-modal-cart{width:420px}.bp-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.bp-modal-header h3{font-family:var(--font-display);font-size:var(--text-md);margin:0}.bp-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.1rem}.bp-close:hover{color:var(--accent)}.bp-modal-body{flex:1;gap:1.25rem;padding:1.25rem;display:flex;overflow-y:auto}.bp-modal-cover{background:var(--accent-bg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:180px;display:flex}.bp-modal-cover img{border-radius:8px;width:100%;height:auto}.bp-cover-placeholder-lg{opacity:.3;font-size:3rem}.bp-modal-info{flex:1;min-width:0}.bp-modal-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);margin:0 0 .2rem;line-height:1.25}.bp-modal-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 .5rem}.bp-modal-meta{font-size:var(--text-xs);color:var(--text-muted);margin:0 0 .6rem;line-height:1.5}.bp-modal-price{margin:.5rem 0}.bp-price-lg{font-family:var(--font-mono);color:var(--accent);font-size:1.5rem;font-weight:700}.bp-original-lg{color:var(--text-muted);margin-left:.5rem;font-size:1rem;text-decoration:line-through}.bp-tags{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.bp-tag-key{background:var(--accent-bg);color:var(--accent);border-radius:99px;padding:.15rem .55rem;font-size:.68rem}.bp-modal-actions{gap:.6rem;margin-top:.8rem;display:flex}.bp-btn-buy-lg{background:var(--accent);color:#fff;font-size:var(--text-sm);cursor:pointer;border:none;border-radius:6px;flex:1;padding:.55rem;font-weight:600}.bp-btn-buy-lg:hover{background:var(--accent-b)}.bp-btn-cancel{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);font-size:var(--text-sm);cursor:pointer;border-radius:6px;flex:1;padding:.55rem;font-weight:600}.bp-btn-cancel:hover{background:var(--base)}.bp-cart-list{max-height:260px;margin:.8rem 0;overflow-y:auto}.bp-cart-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.55rem 0;display:flex}.bp-cart-item:last-child{border-bottom:none}.bp-cart-title{font-size:var(--text-sm);color:var(--text-primary)}.bp-cart-price{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);font-weight:600}.bp-cart-total{border-top:1px solid var(--border);font-size:var(--text-md);color:var(--text-primary);padding:.7rem 0;font-weight:600}.bp-order-status{font-size:var(--text-md);color:#1a7a52;margin:0 0 .6rem;font-weight:600}.bp-order-meta{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 1rem}.bp-downloads h4{font-size:var(--text-sm);color:var(--text-primary);margin:0 0 .5rem}.bp-dl-link{border:1px solid var(--border);color:var(--accent);font-size:var(--text-sm);background:var(--accent-bg);border-radius:6px;margin-bottom:.3rem;padding:.5rem .7rem;text-decoration:none;display:block}.bp-dl-link:hover{border-color:var(--accent);text-decoration:underline}.bp-dl-title{font-size:var(--text-sm);color:var(--text-primary);margin:.5rem 0}.bp-modal-desc-scroll{background:var(--bg-subtle);border-radius:var(--r-sm);border-left:2px solid var(--accent-dim);max-height:150px;padding:.5rem .75rem;overflow-y:auto}.bp-modal-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.65}.bp-pay-link{text-align:center;font-size:var(--text-sm);color:var(--accent);cursor:pointer;margin:1rem 0;padding:.5rem 0;font-weight:700;text-decoration:underline;display:block}.bp-pay-link:hover{opacity:.7}.bp-pay-error{color:var(--red);font-size:var(--text-xs);text-align:center;margin:.4rem 0 0}.bp-order-id{font-family:var(--font-mono);font-size:var(--text-xs)}.bp-loading{text-align:center;color:var(--text-muted);font-size:var(--text-sm);padding:3rem 2rem}.bp-empty{text-align:center;flex-direction:column;gap:.6rem;padding:3.5rem 2rem;display:flex}.bp-empty-icon{opacity:.2;font-size:2.5rem}.bp-empty-text{color:var(--text-muted);font-family:var(--font-serif);font-size:var(--text-base)}.bp-empty-error .bp-empty-icon{opacity:.55}.bp-empty-error .bp-empty-text{color:var(--accent);font-weight:700}.bp-empty-hint{font-size:var(--text-xs);color:var(--text-muted);max-width:460px;margin-top:.2rem;line-height:1.7}.bp-empty-hint code{font-family:var(--font-mono);background:var(--bg-subtle);color:var(--accent);border-radius:4px;padding:.1rem .35rem}.bp-retry-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:var(--text-sm);cursor:pointer;transition:opacity var(--t-fast);border-radius:6px;margin-top:.6rem;padding:.45rem 1.2rem;font-weight:600}.bp-retry-btn:hover{opacity:.85}@media (width<=640px){.bp-header{padding:.9rem 1rem}.bp-toolbar{padding:.7rem 1rem}.bp-grid{grid-template-columns:1fr;gap:.8rem;padding:.8rem 1rem 2rem}.bp-card{flex-direction:column}.bp-card-cover{width:100%;height:150px}.bp-modal-body{flex-direction:column}.bp-modal-cover{width:100%;height:180px}}.landing-page{isolation:isolate;background:#05070d;flex:1;grid-template-columns:minmax(290px,.8fr) minmax(540px,1.1fr);align-items:center;gap:clamp(2rem,6vw,8rem);min-height:0;padding:clamp(4.3rem,8vh,7rem) clamp(1.5rem,8vw,10rem) 4rem;display:grid;position:relative;overflow:auto}.landing-scene{z-index:-4;background:url(/shop/hero-observatory.webp) 50%/cover no-repeat;animation:18s ease-in-out infinite alternate scene-drift;position:absolute;inset:0;transform:scale(1.025)}.landing-vignette{z-index:-3;background:linear-gradient(90deg,#03050bf5 0%,#04070dc9 35%,#04070d47 74%,#03050a9e),linear-gradient(#02030852,#0000 57%,#020308cc);position:absolute;inset:0}.landing-stars{z-index:-2;opacity:.75;pointer-events:none;background-image:radial-gradient(circle at 18% 24%,#fff1be 0 1px,#0000 1.7px),radial-gradient(circle at 48% 12%,#fff1be 0 1px,#0000 1.6px),radial-gradient(circle at 68% 34%,#dbedee 0 1px,#0000 1.5px),radial-gradient(circle at 82% 18%,#fff1be 0 1.4px,#0000 2px),radial-gradient(circle at 92% 62%,#fff1be 0 1px,#0000 1.5px),radial-gradient(circle at 23% 76%,#dbedee 0 1px,#0000 1.6px);animation:5s ease-in-out infinite alternate star-breathe;position:absolute;inset:0}.landing-topline{color:#e9dab2a3;font:500 .63rem var(--font-mono);letter-spacing:.15em;justify-content:space-between;gap:1rem;display:flex;position:absolute;top:1.45rem;left:clamp(1.5rem,8vw,10rem);right:clamp(1.5rem,8vw,10rem)}.landing-live-dot{background:#a9dec7;border-radius:50%;width:6px;height:6px;margin-right:.5rem;animation:1.8s infinite live-pulse;display:inline-block;box-shadow:0 0 12px #a9dec7}.landing-copy{align-self:center;padding-bottom:1.2rem}.landing-kicker{color:#a8d4d3;font:500 .68rem var(--font-mono);letter-spacing:.24em;margin-bottom:1.35rem}.landing-copy h1{color:#f7efd9;font:clamp(3.5rem,6vw,6.3rem)/.98 var(--font-title);letter-spacing:.1em;text-shadow:0 8px 36px #0000008c}.landing-copy h1 em{color:#e4bd6b;font-family:var(--font-display);letter-spacing:.04em;font-size:1.12em;font-weight:400}.landing-intro{color:#eee5d0bd;font:1rem/2.05 var(--font-serif);letter-spacing:.04em;margin-top:2rem}.landing-arts{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#0c121de3,#050911d6);border:1px solid #e8c77861;border-radius:7px;justify-self:end;width:min(100%,650px);padding:1.15rem;box-shadow:0 26px 80px #0000007a,inset 0 1px #fff5d51f,0 0 0 7px #e5be6b06}.arts-heading{border-bottom:1px solid #e8c7782e;grid-template-columns:1fr auto;align-items:end;gap:.2rem 1rem;padding:.15rem .35rem 1rem;display:grid}.arts-heading span{color:#9fd0cd;font:.57rem var(--font-mono);letter-spacing:.24em;grid-column:1/-1}.arts-heading strong{color:#f0e1c0;font:1.26rem var(--font-title);letter-spacing:.15em}.arts-heading i{color:#d0d5c894;font:.62rem var(--font-serif);font-style:normal}.arts-grid{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:1rem;display:grid}.art-card{color:#e8dfce;cursor:pointer;text-align:left;background:#e0c57709;border:1px solid #e6cc8e30;grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;align-items:center;gap:0 .65rem;min-height:88px;padding:.8rem .65rem;transition:all .25s;display:grid;position:relative;overflow:hidden}.art-card:before{content:"";background:var(--art-color,#d8b56c);transform-origin:0;height:2px;transition:all .25s;position:absolute;inset:auto 0 0;transform:scaleX(.25)}.art-card:hover{color:#fff2cf;border-color:color-mix(in srgb,var(--art-color,#e8c271) 75%,transparent);background:color-mix(in srgb,var(--art-color,#e8c271) 10%,transparent);transform:translateY(-3px);box-shadow:0 10px 24px #00000038}.art-card:hover:before{transform:scaleX(1)}.art-index{color:#c8d3c759;font:.53rem var(--font-mono);align-self:start}.art-icon{width:31px;height:31px;color:var(--art-color);border:1px solid color-mix(in srgb,var(--art-color) 55%,transparent);grid-row:1/3;place-items:center;font-size:1rem;display:grid}.art-copy{gap:.15rem;display:grid}.art-copy b{font:.87rem var(--font-serif);letter-spacing:.08em}.art-copy small{color:var(--art-color);font:.51rem var(--font-mono);letter-spacing:.1em}.art-copy em{color:#cfd3c794;font:.62rem var(--font-serif);font-style:normal}.art-mark{color:#f4e2b521;font:1.5rem var(--font-title);align-self:start}.art-arrow{color:var(--art-color);opacity:0;transition:all .2s;position:absolute;bottom:.48rem;right:.7rem;transform:translate(-4px,4px)}.art-card:hover .art-arrow{opacity:1;transform:none}.gold{--art-color:#e7c271}.vermilion{--art-color:#e39b79}.jade{--art-color:#9ecfc2}.cyan{--art-color:#9bc7d8}.amber{--art-color:#e8ba70}.violet{--art-color:#c8aedc}.landing-footnote{color:#d3ccb87a;white-space:nowrap;font:.59rem var(--font-mono);letter-spacing:.1em;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}@keyframes scene-drift{0%{transform:scale(1.025)translate(0,0)}to{transform:scale(1.08)translate(-.5%,-.6%)}}@keyframes star-breathe{to{opacity:1}}@keyframes live-pulse{50%{opacity:.35;box-shadow:0 0 3px #a9dec7}}@media (width<=1050px){.landing-page{grid-template-columns:1fr;align-content:center;gap:1.8rem;padding:4rem 1.4rem 3.5rem}.landing-copy{text-align:center;padding:0}.landing-copy h1{font-size:clamp(3.3rem,13vw,5rem)}.landing-intro{margin-top:1rem}.landing-arts{justify-self:center}.landing-vignette{background:linear-gradient(#03050b66,#03050be6),linear-gradient(90deg,#03050bc2,#03050b78)}.landing-footnote{display:none}}@media (width<=540px){.landing-topline span:last-child{display:none}.landing-copy h1{font-size:3.1rem}.landing-arts{padding:.8rem}.arts-grid{grid-template-columns:1fr}.art-card{min-height:72px}.art-copy em,.arts-heading i{display:none}}.sp-page{background:var(--base)}.sp-body{flex:1;min-height:0;display:flex;overflow:hidden}.sp-tabs{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:3px;width:168px;padding:1rem .6rem;display:flex}.sp-tab-btn{border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;transition:all var(--t-fast);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:.55rem;width:100%;padding:.65rem .75rem;font-weight:500;display:flex}.sp-tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sp-tab-btn.active{background:var(--accent-bg);border-color:var(--accent-dim);color:var(--accent)}.sp-content{flex:1;padding:1.75rem 2rem;overflow-y:auto}.sp-section{max-width:600px}.sp-section-title{font-family:var(--font-title);font-size:var(--text-lg);color:var(--text-primary);letter-spacing:.05em;margin-bottom:.3rem}.sp-section-desc{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-serif);margin-bottom:1.5rem}.sp-field-group{margin-bottom:1.35rem}.sp-field-group>label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.4rem;font-weight:600;display:block}.sp-input-row{align-items:stretch;gap:.5rem;display:flex}.sp-input-row input{flex:1}.sp-hint{font-size:var(--text-xs);color:var(--text-faint);font-family:var(--font-mono);margin-top:.35rem}.sp-hint a{color:var(--cyan);text-decoration:none}.sp-hint a:hover{text-decoration:underline}.sp-hint code{color:var(--accent)}.sp-status{border-radius:var(--r-sm);font-size:var(--text-xs);margin-top:.4rem;padding:.42rem .75rem;font-weight:600}.sp-status.ok{background:var(--jade-glow);color:var(--jade);border:1px solid var(--jade-dim)}.sp-status.fail{background:var(--accent-bg);color:var(--accent-b);border:1px solid var(--accent-dim)}.sp-provider-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.sp-provider-card{border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;transition:all var(--t-fast);text-align:left;font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:.55rem;padding:.65rem .85rem;display:flex;position:relative}.sp-provider-card:hover{border-color:var(--border-hover);color:var(--text-primary)}.sp-provider-card.active{border-color:var(--pc);background:color-mix(in srgb, var(--pc) 7%, transparent);color:var(--text-primary)}.sp-prov-icon{color:var(--pc);flex-shrink:0;font-size:1.2rem}.sp-prov-name{font-weight:600;font-size:var(--text-xs);flex:1}.sp-prov-check{color:var(--pc);font-size:10px;font-weight:700;position:absolute;top:6px;right:8px}.sp-config-preview{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:.35rem;margin-top:.75rem;padding:.85rem 1rem;display:flex}.sp-cfg-row{font-size:var(--text-xs);align-items:center;gap:.75rem;display:flex}.sp-cfg-row span{color:var(--text-muted);flex-shrink:0;width:40px}.sp-cfg-row code{color:var(--accent);font-family:var(--font-mono);font-size:11px}.sp-accent-grid{flex-direction:column;gap:.4rem;display:flex}.sp-accent-card{border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;transition:all var(--t-fast);text-align:left;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:relative}.sp-accent-card:hover{border-color:var(--border-hover)}.sp-accent-card.active{border-color:var(--ac);background:color-mix(in srgb, var(--ac) 7%, transparent)}.sp-accent-dot{background:var(--ac);width:20px;height:20px;box-shadow:0 2px 8px color-mix(in srgb, var(--ac) 40%, transparent);border-radius:50%;flex-shrink:0}.sp-accent-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:700;line-height:1.2}.sp-accent-desc{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-serif)}.sp-accent-check{font-size:var(--text-sm);color:var(--ac);font-weight:700;position:absolute;right:1rem}.sp-theme-toggle{flex-wrap:wrap;gap:.4rem;display:flex}.sp-theme-btn{border-radius:var(--r-sm);border:1.5px solid var(--border);background:var(--surface);font-size:var(--text-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--t-fast);padding:.45rem 1rem;font-weight:500}.sp-theme-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.sp-theme-btn.active{border-color:var(--accent-dim);background:var(--accent-bg);color:var(--accent)}@media (width<=640px){.sp-body{flex-direction:column}.sp-tabs{flex-direction:row;width:100%;padding:.5rem;overflow-x:auto}.sp-content{padding:1rem}.sp-provider-grid{grid-template-columns:1fr}}:root{--base:#f0f5f7;--base-warm:#e8f0f3;--surface:#fff;--bg-subtle:#f5f9fb;--bg-hover:#e4eff4;--bg-raised:#fafcfd;--bg-section:#edf5f8;--bg-base:var(--base);--bg-surface:var(--surface);--bg-card:var(--surface);--bg-overlay:var(--bg-subtle);--bg-glass:#fffffff0;--bg-primary:var(--bg-hover);--bg-secondary:var(--bg-subtle);--accent:#b5361e;--accent-b:#cc4428;--accent-c:#e05535;--accent-dark:#7c1e0c;--accent-light:#ee7858;--accent-bg:#b5361e12;--accent-glow:#b5361e24;--accent-glow2:#b5361e12;--accent-dim:#b5361e4d;--orange:#b85c00;--orange-b:#d47010;--orange-light:#e89040;--orange-glow:#b85c001f;--orange-dim:#b85c0047;--cyan:#1e5c96;--cyan-b:#2878c0;--cyan-c:#4a9ee0;--cyan-glow:#1e5c961f;--cyan-dim:#1e5c9647;--jade:#1a7a52;--jade-b:#24a070;--jade-light:#38c888;--jade-glow:#1a7a521f;--jade-dim:#1a7a5247;--red:#960f0f;--red-light:#c02020;--red-bright:#e84040;--red-glow:#960f0f1f;--text-primary:#162028;--text-secondary:#344a5a;--text-muted:#607080;--text-faint:#96aabb;--border:#50789624;--border-hover:#50789647;--border-active:#b5361e73;--border-card:#5078961c;--border-strong:#50789638;--shadow-xs:0 1px 2px #3c14000f;--shadow-sm:0 1px 4px #3c140014, 0 1px 2px #3c14000d;--shadow-card:0 2px 10px #3c140012, 0 1px 3px #3c14000d;--shadow-lift:0 6px 28px #3c14001a, 0 2px 8px #3c140012;--shadow-deep:0 16px 56px #3c140024, 0 4px 12px #3c140014;--text-xs:.75rem;--text-sm:.875rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.6rem;--text-2xl:2.2rem;--r-xs:3px;--r-sm:7px;--r-md:12px;--r-lg:18px;--r-xl:28px;--radius-sm:7px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--t-fast:.11s ease;--t-mid:.21s cubic-bezier(.4,0,.2,1);--t-slow:.38s cubic-bezier(.4,0,.2,1);--topnav-h:62px;--sidebar-w:0px;--font-display:"Zhi Mang Xing", serif;--font-title:"ZCOOL QingKe HuangYou", serif;--font-serif:"Noto Serif SC", serif;--font-sans:"Noto Sans SC", sans-serif;--font-mono:"JetBrains Mono", monospace}[data-accent=gold]{--accent:#b85c00;--accent-b:#d47010;--accent-c:#e89040;--accent-dark:#7a3600;--accent-light:#f0a050;--accent-bg:#b85c0012;--accent-glow:#b85c0024;--accent-glow2:#b85c0012;--accent-dim:#b85c004d}[data-accent=jade]{--accent:#1a7a52;--accent-b:#24a070;--accent-c:#38c888;--accent-dark:#0a4c2c;--accent-light:#50e0a0;--accent-bg:#1a7a5212;--accent-glow:#1a7a5224;--accent-glow2:#1a7a5212;--accent-dim:#1a7a524d}[data-theme=dark]{--base:#070a13;--base-warm:#090d19;--surface:#0e121ee0;--bg-subtle:#171d2db3;--bg-hover:#262b3cd1;--bg-raised:#101624eb;--bg-section:#0a0e19c2;--bg-card:#0e121ee6;--bg-overlay:#182036;--bg-glass:#0c101bd1;--bg-primary:#192237;--bg-secondary:#242d42;--accent:#c9903b;--accent-b:#e1b45e;--accent-c:#f3d486;--accent-dark:#80511e;--accent-light:#ffd987;--accent-bg:#c9903b1a;--accent-glow:#e1b45e29;--accent-glow2:#e1b45e0f;--accent-dim:#e1b45e6b;--orange:#c9762e;--orange-b:#e3a253;--orange-light:#f4c57e;--orange-glow:#e3a2531f;--orange-dim:#e3a25352;--cyan:#5f9cb3;--cyan-b:#8cc2d0;--cyan-c:#b3e3e7;--cyan-glow:#8cc2d01f;--cyan-dim:#8cc2d04d;--jade:#5cae8b;--jade-b:#82c9a7;--jade-light:#aae5c8;--jade-glow:#82c9a71f;--jade-dim:#82c9a752;--text-primary:#f3ede1;--text-secondary:#c4bdad;--text-muted:#918a7d;--text-faint:#585b62;--border:#e2bd7129;--border-hover:#eecc8466;--border-card:#e2bd7126;--shadow-card:0 14px 38px #00000052, inset 0 1px #ffebbd06;--shadow-lift:0 22px 55px #00000075, 0 0 26px #c9903b12}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:16px}body{background-color:var(--base);height:100%;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(75% 65% at 88% 0,#d9ad5529 0%,#0000 58%),radial-gradient(55% 65% at 0 85%,#486d8a24 0%,#0000 62%),linear-gradient(130deg,#04070eed,#060912bd 48%,#070910e0),url(/shop/cosmic-ink-bg.webp);background-size:cover;background-attachment:fixed;line-height:1.75;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:.72;background-image:linear-gradient(#deb96b09 1px,#0000 1px),linear-gradient(90deg,#deb96b09 1px,#0000 1px),radial-gradient(circle at 18% 22%,#ffe7a6c2 0 1px,#0000 1.5px),radial-gradient(circle at 77% 31%,#ffe7a685 0 1px,#0000 1.5px),radial-gradient(circle at 53% 76%,#ffe7a675 0 1px,#0000 1.5px);background-size:72px 72px,72px 72px,auto,auto,auto;position:fixed;inset:0}#root{z-index:1;flex-direction:column;height:100%;display:flex;position:relative}h1,h2{font-family:var(--font-display);letter-spacing:.04em;color:var(--text-primary);font-weight:400;line-height:1.2}h3{font-family:var(--font-title);letter-spacing:.04em;color:var(--text-primary);font-weight:400;line-height:1.25}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{color:var(--text-secondary);line-height:1.82;font-size:var(--text-base);font-family:var(--font-sans)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#5078960d;border-radius:99px}::-webkit-scrollbar-thumb{background:#50789638;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#50789666}.card{border:1px solid var(--border-card);transition:box-shadow var(--t-mid), border-color var(--t-mid), transform var(--t-mid);background:linear-gradient(145deg,#1b1f2cd6,#0a0e19e0);border-radius:16px;padding:1.4rem 1.6rem;position:relative;box-shadow:0 1px 8px #1e3c5a12,0 0 1px #1e3c5a1a}.card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 6px 28px #1e3c5a1c,0 1px 6px #1e3c5a14}.card:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent-dim) 35%, var(--accent-light) 50%, var(--accent-dim) 65%, transparent 100%);opacity:.55;border-radius:0 0 2px 2px;height:1.5px;position:absolute;top:0;left:12%;right:12%}.card-title{font-family:var(--font-title);font-size:var(--text-md);color:var(--accent);border-bottom:1px solid var(--border);letter-spacing:.09em;align-items:center;gap:.5rem;margin-bottom:1.1rem;padding-bottom:.65rem;font-weight:400;display:flex}.card-title:before{content:"▎";color:var(--accent-dim);flex-shrink:0;font-size:.82rem}.card-glow{border-color:var(--accent-dim);box-shadow:var(--shadow-lift), 0 0 0 1px var(--accent-bg), inset 0 0 30px #b5361e05}.card-danger{background:#b5361e06;border-color:#b5361e4d}.card-cyan{border-color:var(--cyan-dim);background:#1e5c9606}.card-jade{border-color:var(--jade-dim);background:#1a7a5206}.btn{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:all var(--t-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:.02em;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.2rem;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-hover);box-shadow:var(--shadow-card)}.btn:active{box-shadow:var(--shadow-xs);transform:scale(.985)}.btn-primary{background:linear-gradient(160deg, var(--accent-b) 0%, var(--accent) 100%);border:1px solid var(--accent-dark);color:#fff;letter-spacing:.03em;text-shadow:0 1px 2px #00000040;font-weight:600;box-shadow:0 2px 10px #b5361e47,inset 0 1px #ffffff1a}.btn-primary:hover{background:linear-gradient(160deg, var(--accent-c) 0%, var(--accent-b) 100%);color:#fff;transform:translateY(-1px);box-shadow:0 4px 18px #b5361e66,inset 0 1px #ffffff1f}.btn-cyan{background:linear-gradient(160deg, var(--cyan-b) 0%, var(--cyan) 100%);border:1px solid var(--cyan-dim);color:#fff;font-weight:600;box-shadow:0 2px 10px #1e5c9640}.btn-cyan:hover{background:linear-gradient(160deg,var(--cyan-c),var(--cyan-b));color:#fff}.btn-jade{background:linear-gradient(160deg, var(--jade-b) 0%, var(--jade) 100%);border:1px solid var(--jade-dim);color:#fff;font-weight:600;box-shadow:0 2px 10px #1a7a5240}.btn-jade:hover{background:linear-gradient(160deg,var(--jade-light),var(--jade-b));color:#fff}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover);box-shadow:none;border-color:#0000}.btn-danger{color:var(--accent);border-color:#b5361e4d}.btn-danger:hover{background:var(--accent-bg);border-color:var(--accent-dim)}.btn-sm{font-size:var(--text-xs);padding:.3rem .72rem}.btn-lg{font-size:var(--text-base);letter-spacing:.03em;padding:.78rem 1.8rem;font-weight:600}.btn-full{width:100%}.btn-icon{aspect-ratio:1;min-width:0;padding:.5rem}.btn:disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.form-group{flex-direction:column;gap:.3rem;display:flex}label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600}input,select,textarea{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);width:100%;transition:all var(--t-fast);box-shadow:var(--shadow-xs) inset;outline:none;padding:.55rem .9rem}input:focus,select:focus,textarea:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow), var(--shadow-xs) inset;background:var(--surface)}select{cursor:pointer}textarea{resize:vertical;min-height:78px}.form-row{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;display:grid}.form-row-2{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:.65rem;display:grid}.toggle{cursor:pointer;align-items:center;width:44px;height:24px;display:inline-flex;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{background:var(--bg-hover);border:1.5px solid var(--border);transition:all var(--t-mid);border-radius:24px;position:absolute;inset:0}.toggle-slider:after{content:"";background:var(--text-faint);width:16px;height:16px;transition:all var(--t-mid);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.toggle input:checked+.toggle-slider{background:var(--accent-bg);border-color:var(--accent-dim)}.toggle input:checked+.toggle-slider:after{background:var(--accent);transform:translate(20px);box-shadow:0 1px 3px #b5361e47}.badge{border-radius:var(--r-xl);font-size:var(--text-xs);letter-spacing:.03em;white-space:nowrap;border:1px solid;align-items:center;padding:.18rem .52rem;font-weight:600;display:inline-flex}.badge-gold{color:var(--orange);border-color:var(--orange-dim);background:var(--orange-glow)}.badge-red{color:var(--accent-b);border-color:var(--accent-dim);background:var(--accent-bg)}.badge-jade{color:var(--jade);border-color:var(--jade-dim);background:var(--jade-glow)}.badge-cyan{color:var(--cyan-b);border-color:var(--cyan-dim);background:var(--cyan-glow)}.badge-muted{color:var(--text-muted);border-color:var(--border);background:var(--bg-subtle)}.badge-glow{color:var(--accent-b);border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 2px var(--accent-glow)}.loading{min-height:220px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;display:flex}.spinner{width:42px;height:42px;position:relative}.spinner:before,.spinner:after{content:"";border-radius:50%;position:absolute}.spinner:before{border:2px solid var(--border);border-top-color:var(--accent-b);animation:.8s linear infinite spin;inset:0}.spinner:after{border:1.5px solid #0000;border-bottom-color:var(--cyan-dim);animation:1.3s linear infinite reverse spin;inset:8px}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:var(--accent-bg);border:1px solid var(--accent-dim);border-radius:var(--r-md);color:var(--accent-b);font-size:var(--text-sm);align-items:flex-start;gap:.5rem;padding:.9rem 1.1rem;display:flex}.page{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.page-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--border), var(--shadow-xs);background:linear-gradient(90deg,#0a0e19db,#1418249e);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.15rem 2rem .95rem;display:flex;position:relative}.page-header:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent) 15%, var(--orange-b) 40%, var(--cyan-b) 65%, transparent 100%);opacity:.3;height:2px;position:absolute;bottom:0;left:0;right:0}.page-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--accent-light);letter-spacing:.1em;line-height:1.1}.page-subtitle{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.05em;margin-top:.28rem}.page-body{flex:1;padding:1.75rem 2rem;overflow-y:auto}.page-cols{grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.page-cols>div:last-child{min-width:0}.page-cols-3{grid-template-columns:1fr 1fr 1fr;gap:1.3rem;display:grid}.result-section{flex-direction:column;gap:1.1rem;animation:.26s fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.kv-grid{font-size:var(--text-sm);grid-template-columns:auto 1fr;gap:.42rem 1.1rem;display:grid}.kv-label{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;padding-top:.12em;font-weight:600}.kv-value{color:var(--text-primary);font-family:var(--font-serif)}.kv-value.accent{color:var(--accent)}.kv-value.cyan{color:var(--cyan)}.gz-pill{background:linear-gradient(170deg, var(--bg-subtle) 0%, var(--surface) 100%);border:1px solid var(--border);border-radius:var(--r-md);min-width:70px;transition:all var(--t-mid);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.06rem;padding:.85rem 1.25rem .75rem;display:inline-flex;position:relative}.gz-pill:hover{box-shadow:var(--shadow-card);border-color:var(--border-hover)}.gz-pill:before{content:"";background:var(--accent-dim);opacity:.65;border-radius:2px;height:2px;position:absolute;top:0;left:15%;right:15%}.gz-label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.22rem;font-weight:600}.gz-gan{font-family:var(--font-display);color:var(--accent);font-size:2.1rem;line-height:1}.gz-zhi{font-family:var(--font-display);color:var(--text-primary);font-size:2.1rem;line-height:1}.gz-nayin{font-size:var(--text-xs);color:var(--orange-dim);margin-top:.14rem}.pillar-row{flex-wrap:wrap;justify-content:center;gap:.9rem;display:flex}.tab-bar{border-bottom:1.5px solid var(--border);background:0 0;gap:0;margin-bottom:1.4rem;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{height:2px}.tab{color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--t-fast);font-weight:500;font-family:var(--font-sans);white-space:nowrap;letter-spacing:.02em;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1.5px;padding:.6rem 1.1rem}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.palace-grid{aspect-ratio:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:4px;max-width:440px;margin:0 auto;display:grid}.palace-cell{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-xs);transition:all var(--t-mid);text-align:center;cursor:pointer;box-shadow:var(--shadow-xs);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.55rem .4rem;display:flex}.palace-cell:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.palace-cell.auspicious{border-color:var(--jade-dim);background:#1a7a520d}.palace-name{font-family:var(--font-title);font-size:var(--text-sm);color:var(--accent)}.palace-star,.palace-door,.palace-deity{color:var(--text-secondary);font-size:var(--text-xs)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-day{aspect-ratio:.9;border-radius:var(--r-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--t-fast);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:.2rem;display:flex}.cal-day:hover{border-color:var(--border);background:var(--bg-subtle)}.cal-day.auspicious{border-color:var(--jade-dim);background:#1a7a5212}.cal-day.inauspicious{opacity:.36}.cal-day.best{border-color:var(--accent-dim);background:var(--accent-bg);box-shadow:0 0 0 2px var(--accent-glow)}.cal-date{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.cal-gz{font-size:var(--text-xs);color:var(--text-muted)}.notifications{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1.2rem;right:1.4rem}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);max-width:310px;box-shadow:var(--shadow-lift);padding:.78rem 1.15rem;animation:.2s slideIn,.28s 3.7s forwards fadeOut}.toast.success{border-color:var(--jade-dim);color:var(--jade)}.toast.error{border-color:var(--accent-dim);color:var(--accent-b)}@keyframes slideIn{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}@keyframes fadeOut{to{opacity:0;transform:translate(12px)}}.ornament-divider{color:var(--text-faint);font-size:var(--text-xs);letter-spacing:.1em;align-items:center;gap:.65rem;display:flex}.ornament-divider:before,.ornament-divider:after{content:"";background:linear-gradient(90deg,transparent,var(--border));flex:1;height:1px}.ornament-divider:after{background:linear-gradient(90deg,var(--border),transparent)}.section-tag{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.3rem;margin-bottom:.55rem;font-weight:600;display:inline-flex}.section-tag:before{content:"";background:var(--accent-dim);border-radius:1px;width:14px;height:2px;display:inline-block}.info-row{font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border);align-items:flex-start;gap:.55rem;padding:.52rem 0;display:flex}.info-row:last-child{border-bottom:none}.info-row-icon{color:var(--accent);font-size:var(--text-xs);flex-shrink:0;padding-top:.44em}.stat-pill{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);min-width:76px;transition:all var(--t-mid);box-shadow:var(--shadow-xs);flex-direction:column;align-items:center;gap:.09rem;padding:.75rem 1.1rem;display:flex}.stat-pill:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.stat-pill-label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.stat-pill-value{font-family:var(--font-display);color:var(--accent);font-size:1.75rem;line-height:1}.stat-pill-sub{font-size:var(--text-xs);color:var(--text-muted)}.progress-bar{background:var(--bg-hover);border:1px solid var(--border);border-radius:99px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-dark), var(--accent-b));border-radius:99px;height:100%;transition:width .52s cubic-bezier(.4,0,.2,1)}.hexagram-symbol{color:var(--accent);font-size:4.5rem;line-height:1}@media (width<=1024px){.page-cols{grid-template-columns:minmax(240px,280px) minmax(0,1fr)}.page-body{padding:1.4rem 1.5rem}}@media (width<=900px){.page-cols{grid-template-columns:1fr}.page-cols-3{grid-template-columns:1fr 1fr}.page-body{padding:1.1rem 1.2rem}.page-header{padding:.9rem 1.2rem}}@media (width<=640px){.page-cols-3{grid-template-columns:1fr}.page-body{padding:1rem}}.page:not(.agent-page) .page-body{background:linear-gradient(90deg,#080b1438,#0000 36%,#080b1433);padding:1.15rem 1.4rem 1.5rem}.page:not(.agent-page) .page-cols{gap:1.1rem}.page:not(.agent-page) .page-cols>div:last-child{width:100%;min-width:0}.page:not(.agent-page) .page-cols>div:first-child:not(:last-child){position:relative}.page:not(.agent-page) .page-cols>div:first-child:not(:last-child):after{content:"";background:linear-gradient(#0000,#e1b45e4d,#0000);width:1px;position:absolute;top:5%;bottom:5%;right:-.56rem}.page:not(.agent-page) .page-cols>div:first-child>.card{background:linear-gradient(155deg,#161b29eb,#090d18d6)}.page:not(.agent-page) .page-cols>div:last-child>.card,.page:not(.agent-page) .page-cols>div:last-child .result-section>.card{background:linear-gradient(145deg,#191d2bdb,#090d18de)}.result-ai-panel{z-index:1;width:100%;margin:0 0 .7rem;position:relative}.result-ai-panel textarea{min-height:42px}.result-ai-panel .btn{min-height:38px}.page:not(.agent-page) .result-section{gap:.7rem}.page:not(.agent-page) .page-cols>div:last-child .card{padding:.8rem .9rem}.page:not(.agent-page) .card-title{margin-bottom:.6rem}.page:not(.agent-page) .pillar-row{gap:.45rem}.page:not(.agent-page) .gz-pill{min-width:58px;padding:.45rem .65rem}.page:not(.agent-page) .gz-gan,.page:not(.agent-page) .gz-zhi{font-size:1.65rem}.page:not(.agent-page) .gz-label{margin-bottom:.1rem}.page:not(.agent-page) .gz-nayin{margin-top:2px}.page:not(.agent-page) .card-title{color:var(--accent-light);text-shadow:0 0 20px #e1b45e1a}.page:not(.agent-page) .btn-primary{color:#211303;background:linear-gradient(135deg,#f3d486,#c9903b 55%,#8d571f);border-color:#ffe1978c;min-height:44px;box-shadow:0 8px 22px #c9903b33,inset 0 1px #ffffff52}.page:not(.agent-page) .btn-primary:hover{background:linear-gradient(135deg,#fff0bd,#dfad4d 55%,#a46728);box-shadow:0 11px 28px #e1b45e52,inset 0 1px #fff6}.page:not(.agent-page) .tab-bar{border-color:#e1b45e2e}.page:not(.agent-page) .tab.active{color:var(--accent-light);border-bottom-color:var(--accent-light)}.result-placeholder,.page:not(.agent-page) .page-cols>div:last-child>.card[style*="text-align: center"]{border-color:#e1b45e3d;min-height:360px;position:relative;overflow:hidden;background:radial-gradient(circle,#e1b45e1c,#0000 34%),repeating-radial-gradient(circle,#0000 0 43px,#e1b45e0e 44px 45px,#0000 46px 87px),linear-gradient(145deg,#141825db,#080c16e8)!important}.result-placeholder>*,.page:not(.agent-page) .page-cols>div:last-child>.card[style*="text-align: center"]>*{z-index:1;position:relative}.result-placeholder-text,.page:not(.agent-page) .page-cols>div:last-child>.card[style*="text-align: center"] p{background:#05091175;border:1px solid #e1b45e2e;border-radius:12px;max-width:440px;padding:.8rem 1.15rem;box-shadow:0 10px 28px #0003;color:var(--text-secondary)!important}.result-placeholder:after,.page:not(.agent-page) .page-cols>div:last-child>.card[style*="text-align: center"]:after{content:"观天时 · 察地利 · 明人事";color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.22em;font-size:.65rem;position:absolute;bottom:1.25rem;left:0;right:0}.result-placeholder-icon{color:var(--accent-light);opacity:.9;text-shadow:0 0 28px #e1b45e57}.page:not(.agent-page) input,.page:not(.agent-page) select,.page:not(.agent-page) textarea{background:#05091199;border-color:#e1b45e2e}.page:not(.agent-page) input:hover,.page:not(.agent-page) select:hover,.page:not(.agent-page) textarea:hover{border-color:#e1b45e57}.page:not(.agent-page) input:focus,.page:not(.agent-page) select:focus,.page:not(.agent-page) textarea:focus{border-color:var(--accent-light);background:#090d18f0;box-shadow:0 0 0 3px #e1b45e1a,0 0 22px #e1b45e14}.pillar-row>*{animation:.42s both rise-in}.pillar-row>:nth-child(2){animation-delay:55ms}.pillar-row>:nth-child(3){animation-delay:.11s}.pillar-row>:nth-child(4){animation-delay:.165s}.gz-pill,.bazi-pillar{background:linear-gradient(165deg,#1f2536eb,#0a0e19eb);border-color:#e1b45e3d}.gz-pill:hover,.bazi-pillar:hover{border-color:var(--accent-dim);transform:translateY(-4px);box-shadow:0 12px 26px #0000004d,0 0 16px #e1b45e1a}.palace-grid,.fs-compass,.qm-mini-grid{filter:drop-shadow(0 12px 24px #00000047)}.palace-cell,.fs-compass-cell,.qm-mini-cell{background:linear-gradient(145deg,#1b2130e6,#0a0f1beb);border-color:#e1b45e2e}.palace-cell:hover,.fs-compass-cell:hover{border-color:var(--accent-light);z-index:2;transform:scale(1.035)}.date-cal-day,.cal-day{border-radius:10px}.date-cal-day.best,.cal-day.best{box-shadow:0 0 0 1px var(--accent-light), 0 0 18px #e1b45e2e}.hexagram-symbol{color:var(--accent-light);text-shadow:0 0 28px #e1b45e52}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.page:not(.agent-page) .page-body{padding:.8rem}.page:not(.agent-page) .page-cols>div:first-child:not(:last-child):after{display:none}}@media (width<=560px){.result-ai-input{flex-wrap:wrap;align-items:stretch!important}.result-ai-input textarea{flex-basis:100%}.page:not(.agent-page) .page-cols>div:last-child .card{padding:.7rem}.page:not(.agent-page) .gz-pill{min-width:52px;padding:.4rem .5rem}.page:not(.agent-page) .gz-gan,.page:not(.agent-page) .gz-zhi{font-size:1.45rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.module-section-head{align-items:center;gap:.55rem;margin-top:.2rem;margin-bottom:.85rem;display:flex}.module-section-line{background:linear-gradient(90deg, var(--border) 0%, transparent 100%);flex:1;height:1px}.module-section-title{font-family:var(--font-title);font-size:var(--text-md);color:var(--accent);letter-spacing:.08em;white-space:nowrap}.module-section-badge{background:var(--accent-bg);border:1px solid var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;font-family:var(--font-mono);letter-spacing:.05em;border-radius:99px;padding:.12rem .5rem}.verdict-banner{background:linear-gradient(135deg, var(--accent-bg) 0%, var(--bg-subtle) 100%);border:1.5px solid var(--accent-dim);border-radius:var(--r-lg);font-family:var(--font-serif);font-size:var(--text-base);color:var(--text-primary);padding:1rem 1.25rem;line-height:1.9}.verdict-banner strong{color:var(--accent)}.classical-quote{border-radius:var(--r-md);background:var(--bg-subtle);border-left:3px solid var(--accent-dim);font-family:var(--font-serif);font-size:var(--text-sm);color:var(--text-secondary);padding:.75rem 1rem;font-style:italic;line-height:1.82}.classical-quote cite{font-size:var(--text-xs);color:var(--text-faint);font-style:normal;font-family:var(--font-mono);margin-top:.4rem;display:block}.info-list{flex-direction:column;gap:.3rem;display:flex}.info-list-item{font-size:var(--text-sm);color:var(--text-secondary);font-family:var(--font-serif);align-items:flex-start;gap:.5rem;padding:.3rem 0;line-height:1.75;display:flex}.info-list-item:before{content:"◆";color:var(--accent-dim);flex-shrink:0;margin-top:.45em;font-size:.6rem}.data-row{border-bottom:1px solid var(--border);font-size:var(--text-sm);justify-content:space-between;align-items:baseline;padding:.42rem 0;display:flex}.data-row:last-child{border-bottom:none}.data-row-label{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.04em}.data-row-value{color:var(--text-primary);font-family:var(--font-serif);font-weight:500}.data-row-value.accent{color:var(--accent)}.score-bar-wrap{flex-direction:column;gap:.3rem;display:flex}.score-bar-label{font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;display:flex}.score-bar-track{background:var(--bg-hover);border:1px solid var(--border);border-radius:99px;height:6px;overflow:hidden}.score-bar-fill{background:linear-gradient(90deg, var(--accent-dark), var(--accent-b));border-radius:99px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.score-bar-fill.jade{background:linear-gradient(90deg, var(--jade), var(--jade-b))}.score-bar-fill.cyan{background:linear-gradient(90deg, var(--cyan), var(--cyan-b))}.score-bar-fill.orange{background:linear-gradient(90deg, var(--orange), var(--orange-light))}.metric-chips{flex-wrap:wrap;gap:.4rem;display:flex}.metric-chip{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-subtle);min-width:64px;transition:all var(--t-fast);flex-direction:column;align-items:center;padding:.55rem .85rem;display:flex}.metric-chip:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.metric-chip-val{font-family:var(--font-display);color:var(--accent);font-size:1.5rem;line-height:1}.metric-chip-label{color:var(--text-faint);letter-spacing:.04em;margin-top:2px;font-size:10px}.metric-chip.jade .metric-chip-val{color:var(--jade)}.metric-chip.cyan .metric-chip-val{color:var(--cyan)}.metric-chip.red .metric-chip-val{color:var(--accent-b)}.result-two-col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.result-three-col{grid-template-columns:1fr 1fr 1fr;gap:.85rem;display:grid}@media (width<=680px){.result-two-col{grid-template-columns:1fr}.result-three-col{grid-template-columns:1fr 1fr}}.result-placeholder{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3.5rem 2rem;display:flex}.result-placeholder-icon{opacity:.22;margin-bottom:1rem;font-size:3.5rem}.result-placeholder-text{font-family:var(--font-serif);font-size:var(--text-base);line-height:1.75}.bazi-pillar-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:.5rem 0;display:flex}.bazi-pillar{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);min-width:72px;box-shadow:var(--shadow-xs);transition:all var(--t-mid);flex-direction:column;align-items:center;padding:.85rem 1.2rem .75rem;display:flex;position:relative}.bazi-pillar:hover{box-shadow:var(--shadow-sm);border-color:var(--border-hover)}.bazi-pillar:before{content:"";background:var(--accent-dim);border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:16%;right:16%}.bazi-pillar-label{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:10px;font-weight:700}.bazi-pillar-gan{font-family:var(--font-display);color:var(--accent);font-size:2.1rem;line-height:1}.bazi-pillar-zhi{font-family:var(--font-display);color:var(--text-primary);font-size:2.1rem;line-height:1}.bazi-pillar-sub{color:var(--text-faint);font-size:10px;font-family:var(--font-mono);margin-top:4px}.qm-mini-grid{aspect-ratio:1;grid-template-columns:repeat(3,1fr);gap:3px;max-width:280px;display:grid}.qm-mini-cell{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-sm);text-align:center;flex-direction:column;gap:1px;padding:.35rem;font-size:10px;display:flex}.fs-compass{aspect-ratio:1;grid-template-columns:repeat(3,1fr);gap:4px;max-width:360px;margin:0 auto;display:grid}.fs-compass-cell{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-fast);text-align:center;font-size:var(--text-xs);flex-direction:column;align-items:center;gap:2px;padding:.55rem .4rem;display:flex}.fs-compass-cell:hover{border-color:var(--border-hover);box-shadow:var(--shadow-xs)}.fs-compass-cell.auspicious{border-color:var(--jade-dim);background:#1a7a520f}.fs-compass-cell.center{background:var(--bg-hover)}.fs-compass-dir{color:var(--accent);font-weight:700;font-size:var(--text-sm)}.fs-compass-star{color:var(--text-primary);font-size:var(--text-xs);font-weight:600}.fs-compass-nature{color:var(--text-muted);font-size:10px}.date-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.date-cal-day{aspect-ratio:.85;border-radius:var(--r-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--t-fast);background:0 0;border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:.15rem;display:flex}.date-cal-day:hover{border-color:var(--border);background:var(--bg-subtle)}.date-cal-day.auspicious{border-color:var(--jade-dim);background:#1a7a5212}.date-cal-day.inauspicious{opacity:.32}.date-cal-day.best{border-color:var(--accent-dim);background:var(--accent-bg);box-shadow:0 0 0 2px var(--accent-glow)}.date-cal-num{font-size:var(--text-sm);color:var(--text-primary);font-weight:700}.date-cal-gz{color:var(--text-muted);font-size:10px}
